Icon ist falsch. War: devStateIcon hat umgekehrte Logik

Begonnen von fhemer, 16 Mai 2016, 14:47:27

Vorheriges Thema - Nächstes Thema

igami

Das notify löst nicht aus, da da Event nicht überein stimmt. Beim Event steht ein Leerzeichen vor on, im notify wird ein Doppelpunkt erwartet. Diesen durch einen Punkt ersetzen und es sollte gehen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

fhemer

Zitat von: igami am 19 Mai 2016, 22:45:28
Das notify löst nicht aus, da da Event nicht überein stimmt. Beim Event steht ein Leerzeichen vor on, im notify wird ein Doppelpunkt erwartet. Diesen durch einen Punkt ersetzen und es sollte gehen
Aber die angeschlosse Lampe schaltet doch automatisch aus, wenn die andere eingeschaltet wird und umgekehrt. Dann müssten die notifys doch auslösen! Ich möchte das jetzt umschreiben wie folgt, erhalte aber noch Fehlermeldungen, u.a. wegen einer geschweiften Klammer. Raff das mit den Sonderzeichen noch nicht so. Der Punkt soll der Platzhalter für 1 und 2 sein:


define Schutz notify i2c20pA. { \
  {Log 1, "Schutz notify START"};;\
  if (Value("i2c20pA1") eq "on") {set PortA2 off};;\
  if (Value("i2c20pA2") eq "on") {set PortA1 off};;\
  {Log 1, "Schutz notify STOPP"};;\
}


igami

Stimmt, ich hatte mich vertan  :-[

Was für eine Fehlermeldun erhältst du denn?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

fhemer

Code ist jetzt so:
define Schutz notify i2c20pB.:on { \
  {Log 3, "Schutz notify START"};; \
  if (Value("i2c20pB1") eq "on") {fhem "set i2c20pB2 off"};; \
  if (Value("i2c20pB2") eq "on") {fhem "set i2c20pB1 off"};; \
  {Log 3, "Schutz notify STOPP"};; \
}


Im Logfile steht nun folgendes. Einen begründeten Loop kann ich aber im Code nicht erkennen (Off feuert nicht das notify on!)
Nach der Änderung (zum Test) von A auf B hab ich das Problem halt jetzt mit B1. Wieso funktioniert das nicht???
Was hat das für Konsequenzen, wenn FHEM einen Loop detected? Und was soll ich nun machen? Im Code ist ja kein Loop! (Da habe ich schon ganz andere Loops programmiert, die mit Abbruchbedingung nennen sich dann rekursiver Aufruf! :-o
Ich glaube, hier ist FHEM ein bißchen unsauber!

2016.05.21 01:27:28 3: Schutz notify START
2016.05.21 01:27:28 2: i2c20pB2: ERROR: endless loop detected
2016.05.21 01:27:28 3: set i2c20pB2 off : ERROR: endless loop detected for i2c20pB2
2016.05.21 01:27:28 3: Schutz notify STOPP
2016.05.21 01:27:39 3: Schutz notify START
2016.05.21 01:27:39 3: Schutz notify STOPP
2016.05.21 01:27:42 3: Schutz notify START
2016.05.21 01:27:42 3: Schutz notify STOPP
2016.05.21 01:27:44 3: Schutz notify START
2016.05.21 01:27:44 2: i2c20pB1: ERROR: endless loop detected
2016.05.21 01:27:44 3: set i2c20pB1 off : ERROR: endless loop detected for i2c20pB1
2016.05.21 01:27:44 3: Schutz notify STOPP
2016.05.21 01:27:46 3: Schutz notify START
2016.05.21 01:27:46 2: i2c20pB2: ERROR: endless loop detected
2016.05.21 01:27:46 3: set i2c20pB2 off : ERROR: endless loop detected for i2c20pB2
2016.05.21 01:27:46 3: Schutz notify STOPP


igami

Hast du noch anderen notify die auf die devices triggern?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

fhemer


viegener

Ich kann nur meinen Hinweis wiederholen, alles an notifies und proxies etc zu entfernen. Speichern und dann schritt für schritt einen teil hinzufügen wieder speichern und ausprobieren. Ich glaube immer noch, dass irgendetwas im zusammenspiel falsch gesetzt ist.

Sobald etwas nicht mehr geht poste doch mal den gesamten inhalt der config, der mit dem problem zu tun haben könnte.

Weiterer hinweis, in deinen notifies könntest du doch direkt den port am i2c setzen. Die readingproxies machen das debuggen eher schwieriger.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

fhemer

Hi.
Sorry für die etwas späte Antwort. D.h. die readingProxys brauche ich gar nicht und kann sie weglassen? Das wusste ich nicht. Das ist doch schonmal ein guter Tipp!  :)