FHEM-Fehler: Notify funktioniert nicht mehr

Begonnen von DocCyber, 23 August 2022, 16:45:43

Vorheriges Thema - Nächstes Thema

DocCyber

Hallo zusammen.

Seltsam: Notify ruft neuerdings eine sub nicht auf.
Das ist insofern merkwürdig, weil ich etliche notifys definiert habe, die alle laufen.

Kurze Beschreibung:
Es gibt einen Dummy (testdummy), ein Notify (n_testdummyChanged), welches bei Änderungen von testdummy reagiert ( testdummy:.*) und dann sub tdc() aufruft.

Problem: Bei manuellen Wertänderungen (set testdummy ...) wird das Event korrekt ausgelöst (s. Listing!), aber die sub wird nicht aufgerufen. Dabei liefert {tdc();;} auf der fhem-Kommandozeile das korrekte Ergebnis; an der sub kann es also nicht liegen.

Hier das Listing vom Notify:

DEF        testdummy:.* {tdc()}
   FUUID      6304c7a6-f33f-8be1-7ba7-d99ed2e5f4e9a5b1
   NAME       n_testdummyChanged
   NOTIFYDEV  testdummy
   NR         990
   NTFY_ORDER 50-n_testdummyChanged
   REGEXP     testdummy:.*
   STATE      2022-08-23 16:10:38
   TRIGGERTIME 1661263838.63973
   TYPE       notify
   eventCount 7
   READINGS:
     2022-08-23 15:50:50   state           active
     2022-08-23 16:10:38   triggeredByDev  testdummy
     2022-08-23 16:10:38   triggeredByEvent 47


Zugleich sind im Logfile seit Neuem solche Meldungen, die immer dann auftauchen, wenn die sub aufgerufen werden soll.

...
...
2022.08.23 16:13:02 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4261) line 1, <GEN858> line 6900.
2022.08.23 16:13:02 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4263) line 1, <GEN858> line 6904.
2022.08.23 16:13:02 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4265) line 1, <GEN858> line 6908.
2022.08.23 16:13:02 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4266) line 1, <GEN858> line 6909.
2022.08.23 16:20:26 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4419) line 1, <GEN932> line 6899.
2022.08.23 16:20:26 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4420) line 1, <GEN932> line 6900.
2022.08.23 16:20:26 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4422) line 1, <GEN932> line 6904.
2022.08.23 16:20:26 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4424) line 1, <GEN932> line 6908.
2022.08.23 16:20:26 1: PERL WARNING: Argument "0;" isn't numeric in division (/) at (eval 4425) line 1, <GEN932> line 6909.



Vielleicht bin ich betriebsblind, aber ich komme seit Stunden nicht weiter - weiß jemand Rat?
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

DocCyber

Nachdem ich den Dummy und das Notify gelöscht und unter neuen Namen wieder angelegt habe, funktioniert jetzt wieder alles wie gewohnt.
Es scheint ein Fehler in fhem zu sein!

Möglicher Hinweis:
Zuvor hatte ich das Dummy und das Notify durch entsprechende Kopien bestehender devices erzeugt und dann nur angepasst.

Jetzt habe ich wieder den Standardweg über define ... gewählt und es geht.
Allerdings habe ich auch schon früher Devices durch Kopien erzeugt und nie Probleme gehabt.

An wen soll/muss/kann ich mich wenden, um das Problem zu untersuchen? Mit Sicherheit ist hier etwas faul.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

betateilchen

Da ist nix faul.

Zitat von: DocCyber am 23 August 2022, 18:15:10
Möglicher Hinweis:
Zuvor hatte ich das Dummy und das Notify durch entsprechende Kopien bestehender devices erzeugt und dann nur angepasst.

Wenn man das tut (devices durch kopieren erzeugen), sollte man danach einen FHEM Neustart durchführen.
Das hätte Dein Problem mit ziemlicher Sicherheit schon gelöst.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DocCyber

Das habe ich sogar mehrfach gemacht und später sogar den RasPi neu gebootet.
Hat aber alles nichts genutzt - das Problem blieb bestehen.

Wie gesagt: auch schon vorher habe ich Kopien erzeugt, und es gab nie Probleme.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

Prof. Dr. Peter Henning

ZitatMit Sicherheit ist hier etwas faul.
Nö.

LG

pah

Elektrolurch

Zitat
Mit Sicherheit ist hier etwas faul.
Nö.

LG

pah
Hilfreich?
configDB und Windows befreite Zone!

DocCyber

Zitat von: Prof. Dr. Peter Henning am 24 August 2022, 22:12:54
Nö.

LG

pah

Meiner Meinung nach ist es wie beim TÜV: Es müssen nicht alle Extras eingebaut worden sein, aber wenn, dann müssen sie reibungslos funktionieren.

Auf fhem im hier geschilderten Kontext  übertragen:
Es mag ja sein, dass man bei Problemen fhem neustarten sollte (hat hier aber auch nicht geklappt). Aber das ist dann eben nicht reibungslos.
Ich bin der Auffassung, dass das, was eingebaut worden ist, auch funktionieren muss.

Ich will hier auch nicht meckern, dafür ist fhem viel zu gut.
Aber ich will darauf hinweisen, dass hier sehr wohl etwas faul ist. Andernfalls würde es eben reibungslos funktionieren.
Wenn ich in Perl gut genug wäre, würde ich selbst versuchen, den Fehler zu finden.

Nix für ungut...
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

DetlefR

@DocCyber
Etwas mehr Info ist schon hilfreich.

Wenn es kein Geheimnis ist, stell doch mal tdc() hier rein.
In der Zwischenzeit kannst du ja mal das Notify erweitern.

{
Log 1, "Klappt ".$EVENT;
tdc();
}

Nur um zu sehen, ob es wirklich nicht funktioniert.

DocCyber

#8
Zitat von: DetlefR am 25 August 2022, 12:41:34
Etwas mehr Info ist schon hilfreich.

Etwas gründlicher lesen hilft noch viel mehr: Es steht alles ausführlich oben beschrieben.
Ich habe auch erwähnt, unter welchen Umständen es schließlich wieder funktioniert.

Solange mir niemand belegen kann, was ich eventuell falsch gemacht haben soll, bleibe ich dabei, dass es irgendwo klemmen muss.
Das Thema ist für mich abgeschlossen.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox