FHEM Absturz nach DOIF Änderung und checkall

Begonnen von Morgennebel, 20 September 2019, 17:08:19

Vorheriges Thema - Nächstes Thema

Damian

Dann teste mal mit: trigger TasterLichtGarage Longpress: on

Bei mir kommt dann:

Internals:
   CFGFN     
   DEF        ([TasterLichtGarage:"Longpress:.on"]) (set bla on)DOELSE
   MODEL      FHEM
   NAME       Licht_Garage
   NOTIFYDEV  global,TasterLichtGarage
   NR         732
   NTFY_ORDER 50-Licht_Garage
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2019-09-21 22:33:02   Device          TasterLichtGarage
     2019-09-21 22:33:02   cmd             1
     2019-09-21 22:33:02   cmd_event       TasterLichtGarage
     2019-09-21 22:33:02   cmd_nr          1
     2019-09-21 22:33:02   e_TasterLichtGarage_events Longpress: on
     2019-09-21 22:31:33   mode            enabled
     2019-09-21 22:33:02   state           cmd_1
...


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hackepeter

Zitat von: Damian am 21 September 2019, 22:35:08
Dann teste mal mit: trigger TasterLichtGarage Longpress: on

Bei mir kommt dann:

Internals:
   CFGFN     
   DEF        ([TasterLichtGarage:"Longpress:.on"]) (set bla on)DOELSE
   MODEL      FHEM
   NAME       Licht_Garage
   NOTIFYDEV  global,TasterLichtGarage
   NR         732
   NTFY_ORDER 50-Licht_Garage
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2019-09-21 22:33:02   Device          TasterLichtGarage
     2019-09-21 22:33:02   cmd             1
     2019-09-21 22:33:02   cmd_event       TasterLichtGarage
     2019-09-21 22:33:02   cmd_nr          1
     2019-09-21 22:33:02   e_TasterLichtGarage_events Longpress: on
     2019-09-21 22:31:33   mode            enabled
     2019-09-21 22:33:02   state           cmd_1
...


Das geht leider nicht, da es dieses device nicht gibt:

Please define TasterLichtGarage first

Wie gesagt, ich nutze Fhem2Fhem.
Fhem2Fhem greift nur die Events von den entfernten hosts ab und reicht diese dann an die lokale FHEM Instanz zur Weiterverarbeitung weiter.
Vor ein paar Jahren, als es doif noch nicht gab, hatte ich diese Regeln mit notify gelöst. Später hab ich fast alle notify's durch doif's ersetzt.

Damian

Zitat von: hackepeter am 21 September 2019, 22:51:24
Das geht leider nicht, da es dieses device nicht gibt:

Please define TasterLichtGarage first

Wie gesagt, ich nutze Fhem2Fhem.
Fhem2Fhem greift nur die Events von den entfernten hosts ab und reicht diese dann an die lokale FHEM Instanz zur Weiterverarbeitung weiter.
Vor ein paar Jahren, als es doif noch nicht gab, hatte ich diese Regeln mit notify gelöst. Später hab ich fast alle notify's durch doif's ersetzt.

Was vorher ging, muss auch jetzt gehen. DOIF kennt nur Events, Readings und Status des eigenen Systems. Dein angegebenes Device heißt doch GaragentorState, dann musst du natürlich mit deinem testen, also 

trigger GaragentorState Longpress: on
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

PatrickR

Guten Abend,

ich habe leider auch ein ähnliches Problem: https://forum.fhem.de/index.php/topic,103904.0.html
Allerdings mit "echten" Devices ohne FHEM2FHEM etc.

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

Wiesenfreund

Zitat von: Damian am 20 September 2019, 19:26:08
Das ist aber leider keine dauerhafte Lösung.

Teste bitte die angehängte Version.

Edit: neue Version wurde eingecheckt
[/quote

Ich habe gestern das aktuelle Update mit "doif" übernommen und ausprobiert. Bei mir funktioniert es.

Von mir aktuell verwendetes Modul: 98_DOIF.pm 20210 2019-09-20 21:37:33Z Damian

Vielen Dank für die Mühen.



Raspberry 4 mit fhem, Raspberry 3 mit fhem (FS20-, MAX-Schnittstellen), RaspiMatic Raspberry 3B, HM und HMW-Geräte (Heizung, Wetterstation, Fensterkontakte), Shellys (Rollladen, MQTT), ESPEasy (Energiezähler, MQTT), MAX-Taster (CUL),  FS20 Taster  (CUL), Synology NAS (Mosquitto,Chat

Damian

Zitat von: PatrickR am 22 September 2019, 03:18:37
Guten Abend,

ich habe leider auch ein ähnliches Problem: https://forum.fhem.de/index.php/topic,103904.0.html
Allerdings mit "echten" Devices ohne FHEM2FHEM etc.

Patrick

Wenn es manchmal geht und manchmal nicht, dann wird ggf. intern etwas nicht zurückgesetzt.

Wichtig für mich ist eine Konfiguration zum Nachstellen, die reproduzierbar ist.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hackepeter

Golgendes konnte ich heute Morgen bei meinem Garagentor-Taster auch reproduzieren, mit dem Unterschied dass ein checkall nicht geholfen hat - aber ein initialize schon.

Aus dem Thread https://forum.fhem.de/index.php/topic,103904.0.html
Zitat
- Ein neu definiertes DOIF funktioniert nicht.
- Nach dem senden von checkall funktioniert das DOIF dauerhaft.
- Ändert man die Definition des DOIF funktioniert es wieder nicht mehr.

Damian

Ich konnte das Problem nachstellen.

Wenn nach der Definition sofort ein Event erzeugt wird, dann kommt nur das modify-Event von global beim DOIF an aber nicht das eigentliche. Erst wenn andere Events dazwischen kommen, kommen auch die eigentlichen Events an.

Ich befürchte, da muss ich in der Entwicklungsabteilung nachfragen, denn z. Zt. kann ich keine Lösung präsentieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

PatrickR

Zitat von: Damian am 22 September 2019, 09:56:16
Wichtig! für mich ist eine Konfiguration zum Nachstellen, die reproduzierbar ist.
Die Raw definition aus meinem Thread sollte Dir helfen. Direkt nach der Definition ist es bei mir immer kaputt.



Von unterwegs gesendet.
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

hackepeter

Zitat von: Damian am 22 September 2019, 11:16:45
Ich konnte das Problem nachstellen.

Wenn nach der Definition sofort ein Event erzeugt wird, dann kommt nur das modify-Event von global beim DOIF an aber nicht das eigentliche. Erst wenn andere Events dazwischen kommen, kommen auch die eigentlichen Events an.

Ich befürchte, da muss ich in der Entwicklungsabteilung nachfragen, denn z. Zt. kann ich keine Lösung präsentieren.

Sehr gut! Ich werde vorerst entweder auf notify ausweichen oder zur alten doif Version zurück wechseln.

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

PatrickR

lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

Damian

#27
Neue Version im Anhang.  Bitte testen.

Nach erfolgreichen Tests habe ich die neue Version bereits eingecheckt. Ich hoffe, dass der Update-Spuk langsam ein Ende nimmt.  >:(

Leider musste ich etwas an fhem.pl vorbei arbeiten, dafür werden im DOIF auch NOTIFDEV-Filter gesetzt, die im notify nicht gesetzt werden.  ;)

Edit: Version eingecheckt
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hackepeter

Zitat von: Damian am 22 September 2019, 20:42:15
Neue Version im Anhang.  Bitte testen.

Nach erfolgreichen Tests habe ich die neue Version bereits eingecheckt. Ich hoffe, dass der Update-Spuk langsam ein Ende nimmt.  >:(

Leider musste ich etwas an fhem.pl vorbei arbeiten, dafür werden im DOIF auch NOTIFDEV-Filter gesetzt, die im notify nicht gesetzt werden.  ;)

Die Version im Anhang funktionierte bei mir noch nicht immer :( Hier nochmal ein Video vom verhalten:
https://youtu.be/EfgveSk8ZTI

Damian

Zitat von: hackepeter am 22 September 2019, 22:59:25
Die Version im Anhang funktionierte bei mir noch nicht immer :( Hier nochmal ein Video vom verhalten:
https://youtu.be/EfgveSk8ZTI

Ich bin der Meinung, dass diese Definition nie richtig funktionieren konnte (wenn dann eher zufällig), da du einen Status abfragst, den es offenbar nicht gibt. Stell das bitte auf Eventabfrage um: [GaragentorState:"Longpress: on"]

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF