ESPEasy mit Volkszähler haut Fhem raus

Begonnen von Wasserwerk33, 17 Mai 2022, 21:20:55

Vorheriges Thema - Nächstes Thema

Wasserwerk33

Hallo Leute,

Ich habe nun schon alles versucht. Fhem komplett neu aufgesetzt, dann alles neu geschrieben, meinen Strompi runtergelassen, meinen Kleinen PI3 rausgeholt und dort Fhem neu installiert. Alles hat nix geholfen. Fhem startet immer wieder neu, und zwar nur wenn ich den Stromzähler (Volkszähler)  über meinen D1 Mini mit dem Volkszähler in Fhem ein binde. Es läuft erst und nach ein paar Stunden startet er neu und dann geht es auch erstmal wieder ein paar Stunden gut und dann wieder das selbe. Kann in Verbose5 nix finden. Kommt keine genau Meldung. Wenn ich den Volkszähler lösche läuft Fhem auch ohne Neustart durch.
Hat jemand eine Idee?

Internals:
   CRC_Errors 1
   DEF        192.168.x.41:23 SML
   DeviceName 192.168.x.41:23
   FD         26
   FUUID      6278c02e-f33f-5e7b-6d7b-a6aee6bdcd5db938
   MeterType  SML
   NAME       haus.stromzaehler
   NR         172
   PARTIAL   
   STATE      22057 kWh / 188 W
   TYPE       OBIS
   READINGS:
     2022-05-17 21:21:42   ManufID         ISK
     2022-05-17 21:21:42   PublicKey       95A1-36DF-6B55-2EF2-0539-613F-2471-6871-1A12-74AD-25E0-920E-D5AC-67D3-4EE2-0234-4E7B-2689-5A26-0AF5-819E-2B87-B4C3-2031-01
     2022-05-17 21:21:42   Serial          09-01-49-53-4B-00-03-F6-62-A0
     2022-05-17 21:21:42   power           188
     2022-05-17 21:21:42   power_L1        40
     2022-05-17 21:21:42   power_L2        27
     2022-05-17 21:21:42   power_L3        121
     2022-05-17 16:23:46   state           opened
     2022-05-17 21:21:42   total_consumption 22057207.9
     2022-05-17 21:21:42   total_consumption_Ch1 22057207.9
     2022-05-17 21:21:42   total_consumption_Ch2 0
   helper:
     BUFFER     
     DIRECTIONSUM >
     EoM        0
     LastPacketTime 1652815302.90527
     NETDEV     1
     SPEED      5
     TRIGGERTIME 1652797423.05436
     Channels:
     DEVICES:
       
       0
       
     RULECACHE:
       1-0:0.0.9*255 Serial
       1-0:1.8.0*255 Counter
       1-0:1.8.1*255 Counter
       1-0:1.8.2*255 Counter
       1-0:16.7.0*255 Channels
       1-0:36.7.0*255 Channels
       1-0:56.7.0*255 Channels
       1-0:76.7.0*255 Channels
       129-129:199.130.3*255 ManufID
       129-129:199.130.5*255 PublicKey
     directions:
Attributes:
   group      Strom
   pollingMode on
   room       Keller
   stateFormat {sprintf("%.0f kWh", (ReadingsVal($name,"total_consumption",0) / 1000) ) . " / ". sprintf("%.0f W", ReadingsVal($name,"power",0))}



rudolfkoenig

Vmtl. wird eine nicht vorhandene Perl-Funktion aufgerufen.
FHEM in der Konsole mit "perl fhem.pl -d fhem.cfg" starten, dann ist die Fehlermeldung beim Absturz sichtbar.

Wasserwerk33

#2
Hi Rudolfkönig,

Leider ist die datei oder Ordner nicht auffindbar.
Fhem liegt unter /opt/fhem/fhem.pl

Gesucht mit
sudo find/ -name fhem.pl

Schreibt mir mein System obwohl ich es ganz normal installiert habe.

Wasserwerk33

War mein Fehler habe nochmal im Wiki nachgeschaut. War mein Fehler.

Wasserwerk33

#4
Ich bekomme dieses dabei raus. Nur leider kommt die Fehlermeldung ja ejar unspezifisch, aber vielleicht kann ja hier schon einer was raus lesen.


Könnten die myUtils das Problem sein? Das NetDevDa ist für unser Handys.
Danke schon mal im Voraus.

rudolfkoenig

Die Fehlermeldung deutet auf einem weiteren FHEM im Hintegrund hin, vermutlich gestartet vom systemd.
Das sollte als erstes gestoppt werden, z.Bsp. mit "systemctl stop fhem", bevor man FHEM in der Konsole startet.

Wasserwerk33

Habe ich gemacht.

Nun läuft es so als ob ich den Logfile aus Global nehme.

Mal sehen wann fhem wieder neu startet.

rudolfkoenig

Einen Neustart wird es nicht geben, da systemd das erst wieder nach dem reboot uebernimmt.
Aber es steht hoffentlich die Ursache als Letztes in der Konsole.

Beta-User

#8
@Rudi:
Sicher, dass deine Annahme mit der "undefined subroutine" paßt?

@wasserwerk33: Du hattest doch das Log durchgesehen. Steht da was drin, was in diese Richtung geht? Steht da irgendwo vor dem jeweiligen "server started with ..." (kann schon viele Zeilen vorher sein) irgendwas ungewöhnliches drin?

Zitat von: Wasserwerk33 am 17 Mai 2022, 21:20:55
Fhem startet immer wieder neu, und zwar nur wenn ich den Stromzähler (Volkszähler)  über meinen D1 Mini mit dem Volkszähler in Fhem ein binde.
Wenn man sich diese Beschreibung so ansieht, klingt das für mich eher wieder nach "da hat was das Fass (auf einem Pi3) zum Überlaufen gebracht".
Diese Stromzähler-Geschichten liefern teilweise sehr viele Events in kurzer Zeit, und der hier läuft auch noch über eine Netzwerkverbindung zu einem ESP8266...

Vielleicht ist der Pi auch einfach aus systemd-Sicht zu lange "tot"?

Dann müßten sich eigentlich was im syslog finden, oder?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

ZitatSicher, dass deine Annahme mit der "undefined subroutine" paßt?
Nein, das ist nur eine Hypothese, die wir mit dem "fhem.pl -d" Experiment bestaetigen wollen.

ZitatVielleicht ist der Pi auch einfach aus systemd-Sicht zu lange "tot"?
Meine Hypothese beinhaltet auch, dass systemd sowas nicht prueft.
Wenn ich mich irren sollte: wie wird das gemacht?

Beta-User

#10
Zitat von: rudolfkoenig am 18 Mai 2022, 13:00:29
Meine Hypothese beinhaltet auch, dass systemd sowas nicht prueft.
Wenn ich mich irren sollte: wie wird das gemacht?
Die Beschreibung sollte in https://www.freedesktop.org/software/systemd/man/systemd.service.html#WatchdogSec= zu finden sein. Soweit ich das im Kopf habe, steht in fhem.service per default die restart-Option auf "on-failure", so dass der wd aktiv sein sollte.

OT: Bei der Recherche bin ich auch über https://forum.fhem.de/index.php/topic,123835.0.html gestolpert - da war initialUsbCheck/autocreate (iVm. USB-Geräten) mit der Verursacher für den Reboot, wenn ich das auf die Schnelle richtig erfasst habe...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Wasserwerk33

@BeateUser

Ich schaue das mal heute Abend nach. Ja hatte schon gedacht das es vielleicht eine Möglichkeit gibt wie bei einem gassensor die Daten nur alle paar Minuten zu senden. Habe aber leider keine Einstellung gefunden.

Ich schau mal nach wo er schreibt System Neustart und dann noch weiter oben.

Ich bin ja froh das ich es schon eingrenzen woran es liegt.
Dachte schon mein pi wäre Schrott.


rudolfkoenig

ZitatDie Beschreibung sollte in https://www.freedesktop.org/software/systemd/man/systemd.service.html#WatchdogSec= zu finden sein.
Das wuerde bedeuten, dass man zwingend eine systemd_watchdog Instanz braucht (huch, wieder ein FHEM-Modul entdeckt). Ist das hier der Fall? Wenn ja, dann ziehe ich meine Hypothese offiziell zurueck :)

Wasserwerk33

Also ich kann aufjedenfall sagen das meine Konsole (Pi)sich aufgehangen hat. Musste ihn komplett neu starten. Dann wollte fhem nicht mehr anspringen, selbst mit .... Start fhem wollte er nicht mehr starten. Hat jetzt aber geklappt. Ich lasse das Logfile mal über Nacht laufen. Und dann schaue ich morgen rein.

Ich habe mir extra einen D1 Mini geholt da mein pi im Wohnzimmer steht und derStromzähler im Keller ist. Mir würde ja auch reichen wenn er nur alle 10 min Daten senden würde. Wie mein gaszähler.

Schönen Abend noch
Stefan

Stelaku

Hallo Stefan

Vielleicht hilft Dir das weiter wenn Du im obis Device das Attribut Intervall auf einen für Dich aktzeptabelen Wert einstellst und Event-on-change-reading reduziert auch nochmal die Events.

Gruß Stephan