fun:energie-funk-mess-system_em_1000

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
fun:energie-funk-mess-system_em_1000 [07.10.2020 20:34. ] – [Paketfilter iptables] djangofun:energie-funk-mess-system_em_1000 [08.10.2020 07:01. ] – [systemd-Startscript] django
Zeile 167: Zeile 167:
    # vim /etc/fhem.cfg     # vim /etc/fhem.cfg 
  
-<file bash /etc/fhem.cfg># FHEM Arbeits-Verzeichnis+<file bash /etc/fhem.cfg># Logdatei mit vollständigem Pfad 
 +attr global logfile /var/log/fhem/fhem-%Y-%m.log 
 +# FHEM Arbeits-Verzeichnis
 attr global modpath /usr/local/src/fhem/ attr global modpath /usr/local/src/fhem/
 # "normal" verbosity (min 1, max 5) # "normal" verbosity (min 1, max 5)
 attr global verbose 3 attr global verbose 3
-# Logdatei mit vollständigem Pfad 
-attr global logfile /var/log/fhem/fhem-%Y-%m.log 
 # statefile in dem die Stati der Geräte gesichert werden # statefile in dem die Stati der Geräte gesichert werden
 attr global statefile /var/log/fhem/fhem.save attr global statefile /var/log/fhem/fhem.save
Zeile 230: Zeile 230:
 ===== Programmstart ===== ===== Programmstart =====
 Wir starten nunmehr zum ersten mal **FHEM**. Wir starten nunmehr zum ersten mal **FHEM**.
-   # fhem.pl /etc/fhem.cfg+   # perl /usr/local/src/fhem/fhem.pl /etc/fhem.cfg
  
-Im Logfile **/var/log/fhem/fhem-2009-01.log** wird uns der Start entsprechend quittiert: +Im Logfile **/var/log/fhem/fhem-2020-10.log** wird uns der Start entsprechend quittiert: 
-<file bash /var/log/fhem/fhem-2009-01.log> +<file /var/log/fhem/fhem-2020-10.log>2020.10.07 22:37:17 1Including /etc/fhem.cfg 
-2012.07.27 14:20:26 2Telnet port 7072 opened +2020.10.07 22:37:18 3: WEB: port 8083 opened 
-2012.07.27 14:20:26 2FHEMWEB port 8083 opened +2020.10.07 22:37:18 1define Logfile FileLog ./log/fhem-%Y-%m.log fakelog: Can't open ./log/fhem-2020-10.log: Permission denied 
-2012.07.27 14:20:26 2FHEMWEB port 8084 opened +2020.10.07 22:37:18 2: eventTypes: loaded 0 events from ./log/eventTypes.txt 
-2012.07.27 14:20:26 2: FHEMWEB port 8085 opened +2020.10.07 22:37:18 3: EM opening device /dev/ttyUSB0 
-2012.07.27 14:20:26 3: EM opening device /dev/ttyUSB0 +2020.10.07 22:37:18 3: EM opened device /dev/ttyUSB0
-2012.07.27 14:20:26 3: EM opened device /dev/ttyUSB0+
 </file> </file>
  
Zeile 245: Zeile 244:
    # ps aux | grep fhem    # ps aux | grep fhem
  
-   root      4463  0. 1.1 150568 11716 pts/1    S    14:20   0:00 /usr/bin/perl /usr/bin/fhem.pl /etc/fhem.cfg+  fhem     12347  0. 1.1 180008 21296 pts/1    S    22:37   0:00 perl /usr/local/src/fhem/fhem.pl /etc/fhem.cfg
  
 Mit dem Befehl **netstat -tulpen** können wir auch noch überprüfen, ob die Ports 8083, 8084 und 8085 auch geöffnet wurden. Mit dem Befehl **netstat -tulpen** können wir auch noch überprüfen, ob die Ports 8083, 8084 und 8085 auch geöffnet wurden.
    # netstat -tulpen | grep 808    # netstat -tulpen | grep 808
  
-   tcp        0      0 0.0.0.0:8083                0.0.0.0:                  LISTEN      0          410542     4463/perl            +   tcp        0      0 0.0.0.0:8083            0.0.0.0:              LISTEN      977        161400     12347/perl63/perl
-   tcp        0      0 0.0.0.0:8084                0.0.0.0:                  LISTEN      0          410543     4463/perl            +
-   tcp        0      0 0.0.0.0:8085                0.0.0.0:                  LISTEN      0          410544     4463/perl+
  
 Nun rufen wir die Statusseite von **//FHEM//** in unserem bevorzugten Browser auf. Nun rufen wir die Statusseite von **//FHEM//** in unserem bevorzugten Browser auf.
-   $ firefox http://10.0.0.20:8083/fhem+   $ firefox http://10.0.0.27:8083/fhem
  
 {{ :fun:fhem-1.png?direct&500 |FHEM Statusanzeige}} {{ :fun:fhem-1.png?direct&500 |FHEM Statusanzeige}}
Zeile 268: Zeile 265:
  
 Im Logfile wird uns dies entsprechend quittiert: Im Logfile wird uns dies entsprechend quittiert:
-   2012.07.27 14:31:44 0: Server shutdown+   2020.10.07 22:47:46 0: Server shutdown
  
 Der status unseres FHEM-Gerätes wurde in der Logdatei //**/var/log/fhem/fhem.save**// gesichert. Der status unseres FHEM-Gerätes wurde in der Logdatei //**/var/log/fhem/fhem.save**// gesichert.
    # cat /var/log/fhem/fhem.save    # cat /var/log/fhem/fhem.save
  
-<file bash /var/log/fhem/fhem.save>#Fri Jul 27 14:31:44 2012 +<file /var/log/fhem/fhem.save>setstate EDV_Schrank 0.29 kW 
-setstate EDV_Schrank 0.37 kW +setstate EDV_Schrank 2020-10-07 22:44:10 5min_pulses 29 
-setstate EDV_Schrank 2012-07-27 14:26:44 5min_pulses 37 +setstate EDV_Schrank 2020-10-07 22:44:10 5min_pulses_max 32 
-setstate EDV_Schrank 2012-07-27 14:26:44 5min_pulses_max 43 +setstate EDV_Schrank 2020-10-07 22:44:10 alarm_PA_W 0 
-setstate EDV_Schrank 2012-07-27 14:26:44 alarm_PA_W 0 +setstate EDV_Schrank 2020-10-07 22:44:10 energy_kWh 429.247 
-setstate EDV_Schrank 2012-07-27 14:26:44 energy_kWh 154.483 +setstate EDV_Schrank 2020-10-07 22:44:10 energy_kWh_d 7.140 
-setstate EDV_Schrank 2012-07-27 14:26:44 energy_kWh_d 9.055 +setstate EDV_Schrank 2020-10-07 22:44:10 energy_kWh_h 0.296 
-setstate EDV_Schrank 2012-07-27 14:26:44 energy_kWh_h 0.376 +setstate EDV_Schrank 2020-10-07 22:44:10 energy_kWh_w 49.657 
-setstate EDV_Schrank 2012-07-27 14:26:44 energy_kWh_w 64.873 +setstate EDV_Schrank 2020-10-07 22:44:10 power_kW 0.290 
-setstate EDV_Schrank 2012-07-27 14:26:44 power_kW 0.370 +setstate EDV_Schrank 2020-10-07 22:44:10 power_kW_max 0.320 
-setstate EDV_Schrank 2012-07-27 14:26:44 power_kW_max 0.430 +setstate EDV_Schrank 2020-10-07 22:44:10 price_CF 0.150 
-setstate EDV_Schrank 2012-07-27 14:26:44 price_CF 0.150 +setstate Gaszaehler 0 m3ph 
-setstate Gaszaehler 0.12 m3ph +setstate Gaszaehler 2020-10-07 22:44:10 5min_pulses 0 
-setstate Gaszaehler 2012-07-27 14:26:44 5min_pulses 1 +setstate Gaszaehler 2020-10-07 22:44:10 Rperm3_EC 100 
-setstate Gaszaehler 2012-07-27 14:26:44 Rperm3_EC 100 +setstate Gaszaehler 2020-10-07 22:44:10 act_flow_m3 0.000 
-setstate Gaszaehler 2012-07-27 14:26:44 act_flow_m3 0.010 +setstate Gaszaehler 2020-10-07 22:44:10 alarm_PA 0 Watt 
-setstate Gaszaehler 2012-07-27 14:26:44 alarm_PA 0 Watt +setstate Gaszaehler 2020-10-07 22:44:10 cum_m3 0.000 
-setstate Gaszaehler 2012-07-27 14:26:44 cum_m3 0.010 +setstate Gaszaehler 2020-10-07 22:44:10 m3ph 0.000 
-setstate Gaszaehler 2012-07-27 14:26:44 m3ph 0.120 +setstate Gaszaehler 2020-10-07 22:44:10 price_CF 0.630 
-setstate Gaszaehler 2012-07-27 14:26:44 price_CF 0.630 +setstate Hauptzaehler 0.56 kW 
-setstate Hauptzaehler 0.48 kW +setstate Hauptzaehler 2020-10-07 22:44:10 5min_pulses 7 
-setstate Hauptzaehler 2012-07-27 14:31:44 5min_pulses 6 +setstate Hauptzaehler 2020-10-07 22:44:10 RperKW_EC 150 
-setstate Hauptzaehler 2012-07-27 14:31:44 RperKW_EC 150 +setstate Hauptzaehler 2020-10-07 22:44:10 alarm_PA 0 Watt 
-setstate Hauptzaehler 2012-07-27 14:31:44 alarm_PA 0 Watt +setstate Hauptzaehler 2020-10-07 22:44:10 cum_kWh 0.047 
-setstate Hauptzaehler 2012-07-27 14:31:44 cum_kWh 0.206 +setstate Hauptzaehler 2020-10-07 22:44:10 energy 0.047 
-setstate Hauptzaehler 2012-07-27 14:31:44 energy 0.040 +setstate Hauptzaehler 2020-10-07 22:44:10 power 0.560 
-setstate Hauptzaehler 2012-07-27 14:31:44 power 0.480 +setstate Hauptzaehler 2020-10-07 22:44:10 price_CF 0.150 
-setstate Hauptzaehler 2012-07-27 14:31:44 price_CF 0.150 +setstate Hauptzaehler 2020-10-07 22:44:10 summary Pulses: Energy: 0.047 Power: 0.560 Cum: 0.047
-setstate Hauptzaehler 2012-07-27 14:31:44 summary Pulses: Energy: 0.040 Power: 0.480 Cum: 0.206+
 setstate Logfile active setstate Logfile active
 +setstate WEB 2020-10-07 22:44:07 state Initialized
 +setstate allowedWEB validFor:WEB,WEBphone,WEBtablet
 +setstate allowedWEB 2020-10-07 22:44:07 state validFor:WEB,WEBphone,WEBtablet
 setstate autocreate active setstate autocreate active
-setstate global <no definition>+setstate eventTypes active 
 +setstate global no definition 
 +setstate initialUsbCheck 2020-10-07 22:44:10 
 +setstate initialUsbCheck 2020-10-07 22:44:07 state active
 </file> </file>
 ===== erweiterte Konfiguration ===== ===== erweiterte Konfiguration =====
Zeile 328: Zeile 330:
    # systemctl daemon-reload    # systemctl daemon-reload
  
-Damit unser FHEM-Daemon automatisch beim Hochfahren des Rechners gestartet werden kann, legen wir uns noch ein entsprechendes Startscript an+Den **FHEM-Daemon** starten wir nun ganz einfach
-   # vim /etc/init.d/fhem+   # systemctl start fhem.service
  
-<file bash /etc/init.d/fhem>#!/bin/sh+Der Start wird im Logfile des Datenbankservers //**/var/log/fhem/fhem-2020-10.log**// entsprechend dokumentiert. 
 +   # less /var/log/fhem/fhem-2020-10.log 
 +<code>2020.10.08 08:49:23 1: Including /etc/fhem.cfg 
 +2020.10.08 08:49:23 3: WEB: port 8083 opened 
 +2020.10.08 08:49:23 2: eventTypes: loaded 25 events from ./log/eventTypes.txt 
 +2020.10.08 08:49:23 3: EM opening device /dev/ttyUSB0 
 +2020.10.08 08:49:23 3: EM opened device /dev/ttyUSB0 
 +2020.10.08 08:49:49 1: Including /var/log/fhem/fhem.save 
 +2020.10.08 08:49:49 1: usb create starting 
 +2020.10.08 08:49:49 3: Probing CUL device /dev/ttyS0 
 +2020.10.08 08:49:49 3: Probing CUL device /dev/ttyS1 
 +2020.10.08 08:49:49 1: PERL WARNING: can't getattr: Input/output error at /usr/local/src/fhem//FHEM/DevIo.pm line 426. 
 +2020.10.08 08:49:49 1: CUL: Can't open /dev/ttyS1: Input/output error 
 +2020.10.08 08:49:49 3: Probing CUL device /dev/ttyS2 
 +2020.10.08 08:49:49 1: CUL: Can't open /dev/ttyS2: Input/output error 
 +2020.10.08 08:49:49 3: Probing CUL device /dev/ttyS3 
 +2020.10.08 08:49:49 1: CUL: Can't open /dev/ttyS3: Input/output error 
 +2020.10.08 08:49:49 1: usb create end 
 +2020.10.08 08:49:49 0: Featurelevel:
 +2020.10.08 08:49:49 0: Server started with 11 defined entities (fhem.pl:21056/2020-01-26 perl:5.016003 os:linux user:fhem pid:29810) 
 +</code>
  
-$Id: fhem 19 2012-07-27 21:33:44Z dws $ +Möchten wir überprüfen, ob der FHEM-Daemon läuft, haben wir mehrere Möglichkeiten. 
-# example init script for fhem +  - **systemctl** \\ <code> systemctl status fhem.service -l</code> <html><pre class="code"> 
-+<font style="colorrgb(0, 255, 0)"><b>● </b></font><font style="colorrgb(0, 0, 0)">fhem.service - FHEM service 
-# chkconfig2345 82 28 +   Loaded: loaded (/etc/systemd/system/fhem.service; disabled; vendor preset: disabled) 
-# descriptionFHEM Home automation+   Active: <font style="color: rgb(0, 255, 0)"><b>active (running) </b></font><font style="color: rgb(0, 0, 0)">since Thu 2020-10-08 08:49:23 CEST; 2min 19s ago 
-# +  Process29809 ExecStart=/usr/bin/perl /usr/local/src/fhem/fhem.pl /etc/fhem.cfg (code=exited, status=0/SUCCESS) 
-# processname: fhem.pl + Main PID: 29810 (perl) 
-+   CGroup/system.slice/fhem.service 
-# Written by Django+           └─29810 /usr/bin/perl /usr/local/src/fhem/fhem.pl /etc/fhem.cfg
  
-DAEMON=/usr/bin/fhem.pl +Oct 08 08:49:23 vml000027.dmz.nausch.org systemd[1]: Starting FHEM service... 
-PIDFILE=/var/run/fhem.pid +Oct 08 08:49:23 vml000027.dmz.nausch.org systemd[1]: Started FHEM service.</font> 
-OPTION="/etc/fhem.conf" +</pre></html> 
-PROG="FHEM" +  - **ps** \\ <code> # ps aux | grep fhem</code><code>fhem     29810  0.0  1.1 180392 22032 ?        S    08:49   0:00 /usr/bin/perl /usr/local/src/fhem/fhem.pl /etc/fhem.cfg 
-test -x $DAEMON || exit 0+root     30096  0.0  0.0 112812   936 pts/0    S+   08:53   0:00 grep --color=auto fhem 
 +</code> 
 +  - **netstat** \\ <code> # netstat -tulpn</code><code>Active Internet connections (only servers) 
 +Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name     
 +Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name     
 +tcp        0      0 0.0.0.0:8083            0.0.0.0:              LISTEN      29810/perl 
 +tcp        0      0 0.0.0.0:22              0.0.0.0:              LISTEN      1152/sshd 
 +... 
 +</code> 
 + 
 +==== automatisches Starten des Dienste beim Systemstart ====  
 +Damit nun unser MariaDBL-Server beim Booten automatisch gestartet wird, nehmen wir noch folgenden Konfigurationsschritt vor. 
 +   # systemctl enable fhem.service 
 + 
 +   Created symlink from /etc/systemd/system/multi-user.target.wants/fhem.service to /etc/systemd/system/fhem.service. 
 + 
 +Wollen wir überprüfen, ob der Datenbank-Daemon beim Serverstart automatisch gestartet wird, fragen wir dies mit folgendem Befehl ab. 
 +   # systemctl is-enabled fhem.service 
 + 
 +   enabled 
 + 
 +Startet der FHEM-Daemon nicht automatisch, wird ein **disabled** zurück gemeldet.
  
-. /lib/lsb/init-functions 
  
-case "$1" in 
-  start) 
-    echo -n $"Starting $PROG: " 
-    $DAEMON $OPTION 
-    echo "                                            [  OK  ]" 
-    ;; 
-  stop) 
-    pid=`ps -ef | grep "fhem.pl" | grep -v grep | awk '{ print $2}'` 
-    echo -n $"Stopping $PROG: " 
-    kill $pid 
-    echo "                                            [  OK  ]" 
-    ;; 
-  status) 
-    cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l` 
-    if [ "$cnt" -eq "0" ] ; then 
-      echo "$0 is not running" 
-    else 
-      echo "$0 is running" 
-    fi 
-    ;; 
-  *) 
-    echo "Usage: $0 {start|stop|status}" 
-  exit 1 
-esac 
  
-exit 0 
-</file> 
  
 Nun können wir bequem den **FHEM-Daemon** starten und Stoppen. Nun können wir bequem den **FHEM-Daemon** starten und Stoppen.
Zeile 475: Zeile 491:
 {{ :fun:fhem-4.png?direct&500 |FHEM Bildschirmhardcopy des abgesicherten vHOSTs}} {{ :fun:fhem-4.png?direct&500 |FHEM Bildschirmhardcopy des abgesicherten vHOSTs}}
  
-==== erweiterte iptables Paketfilterregel ==== 
-Wir haben zwar im vorgenannten Beispiel bereits über die Apache-eigenen Regeln den Zugriff auf bestimmte Hosts beschränkt. Zur Sicherheit werden wir aber nun die Paketfilterregeln noch etwas strenger auslegen. 
-   # vim /etc/sysconfig/iptables 
-<code>... 
- 
-# Django : 2012-07-27 Port 8083 von IP-Adresse 10.0.0.90 für FHEM freigeschaltet 
--A INPUT -s 10.0.0.90 -i eth1 -m tcp -p tcp --dport 8083 -j ACCEPT 
-# 
- 
-... 
-</code> 
-Zum Aktivieren der neuenRegeln führn wir nun noch einen Restart des Daemons durch. 
-   # service iptables restart 
  
 ==== Datenbank-Konfiguration ==== ==== Datenbank-Konfiguration ====
  • fun/energie-funk-mess-system_em_1000.txt
  • Zuletzt geändert: 08.10.2020 07:14.
  • von django