[GELÖST]Dummy und Notify/If

Begonnen von Pythonf, 11 November 2014, 20:14:52

Vorheriges Thema - Nächstes Thema

Pythonf

Hab ein kleines Notify zur Feststellung ob das Badezimmer besetzt ist. Der Grundgedanke ist, dass das Licht beim betreten des Bades automatisch an und anschließend wieder automatisch aus geht. Das ganze soll über einen Tür-Sensor realisiert werden. Ein Bewegungsmelder wäre wahrscheinlich sinnvoller, aber damit kann ich mich irgendwie nicht anfreunden. Das Problem ist, das Notify wird zwar getriggert, aber der If-Else-Clause funktioniert nicht.
CUL_HM_HM_SEC_SC_2_28DBC0:open {
if(Value("Badbesetzt") eq "true"){fhem("set BadBesetzt false");;}
else{fhem("set BadBesetzt true");;}
fhem("set LEDBadezimmer on-for-timer 60");;
}


BadBesetzt ist ein Dummy device.



CUL_HM_HM_SEC_SC_2_28DBC0:closed {
if(Value("BadBesetzt") eq "false"){fhem("set LEDBadezimmer off");;}
else{fhem("set LEDBadezimmer on");;}
}

funktioniert leider genauso wenig.

Grüße
Fabian

marvin78

Du solltest heraus finden, wie dein Event wirklich aussieht. Das kannst du über den Eventmonitor machen. Hast du mal

CUL_HM_HM_SEC_SC_2_28DBC0:.open

probiert?

Mal ganz abgesehen davon: ist bei dir/euch immer nur einer im Bad? Was machst du, wenn jemand rein geht die Tür schließt und dann noch jemand folgt oder umgekehrt?

Außerdem würde ich dir andere Namen empfehlen, damit du deine Devices besser identizieren kannst. Eine clevere Namensgebung, die man gut per Regex auswerten kann, erspart dir später, wenn du forgeschrittender bist, eventuell viel Ärger.

Pythonf

Das ist nicht das Problem, dass Notify wird getriggert, daran liegt es nicht. Ja, ist noch ein Test, wenns läuft ändere ich den Namen ab, hab den Türkontakt erst vo 1h eingerichtet. Das Problem liegt am if(Value("..") eq "..") {fhem ...} denk ich.

Grüße
Fabian

marvin78

Dann bringen wir mal Struktur rein:


CUL_HM_HM_SEC_SC_2_28DBC0:open {
  if (Value("BadBesetzt") eq "true") {
    fhem("set BadBesetzt false");
  }
  else{
    fhem("set BadBesetzt true");
  }
  fhem("set LEDBadezimmer on-for-timer 60");
}


Du hast zum einen die Groß-/Kleinschreibung nicht beachtet und einmal Badbesetzt und einmal BadBesetzt geschrieben. Außerdem denke ich, dass du den DEF Bereich im Frontend bearbeitest. Da sind keine doppelten Semikola nötig. Beides habe ich oben korrigiert.

Pythonf

Vielen Dank. Werde es gleich ausprobieren.
Ich hatte es zuerst ähnlich strukturiert. Aufgrund des nicht gelingen habe ich dann sämtliche Leerzeichen, die ich löschen konnte eliminiert, weil ich mich vage erinnere, dass FHEM ein Problem mit überflüssigen Leerzeichen hat?
Mit der Änderung hat es jetzt funktioniert.

Grüße
Fabian

Puschel74

Hallo,

Zitatweil ich mich vage erinnere, dass FHEM ein Problem mit überflüssigen Leerzeichen hat?
Nein.
FHEM hat ein Problem mit sinnlosen überflüssigen Leerzeichen und Leerzeilen.
Solange die Leerzeichen sinnvoll gesetzt sind ist das für FHEM absolut kein Problem.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.