Probleme mit notify-IF-dummy variable

Begonnen von SGS, 08 Mai 2014, 20:54:05

Vorheriges Thema - Nächstes Thema

SGS

Hallo,

ich habe eine Frage zur richtigen Anwendung des notify. Ein Homematic Dimmermodul soll beim Überschreiten eines Dimmewertes einen anderen Aktor einschalten und ihn beim Unterschreiten wieder abschalten. Der folgende Code erfüllt diese Funktion:

define Reg_R20 notify Dimmer1.* {if (ReadingsVal("Dimmer1_Sw","pct","unbekannt") > 55) {fhem("set Aktor2_Sw on")} else {fhem("set Aktor2_Sw off")} }

Der nachfolgende Code unter Verwendung des neuen IF-Befehls funktioniert nicht:

define Reg_R20 notify Dimmer1.* IF (Dimmer1_Sw:pct > 55) (set Aktor2_Sw on) ELSE (set Aktor2_Sw off)

Wo liegt der Fehler?

Auch ein anderer Ansatz unter Anwendung einer Dummy-Variablen funktioniert ebenfalls nicht (die Variable zeigt aber immer den richtigen Wert):

define Dimmer dummy
attr Dimmer room Zimmer
define Reg_Dimmer notify Dimmer1_Sw {my $var= ReadingsVal("Dimmer1_Sw","pct","unbekannt");; fhem("set Dimmer $var");;}
define Reg_R20 notify Dimmer.* {if (Dimmer > 55) {fhem("set #Aktor2_Sw on")} else {fhem("set Aktor2_Sw off")} }


Gruß

SGS

Puschel74

Hallo,

Anfängerfrage oder bezogen auf das Modul?
Wenn es auf das Modul bezogen ist sollte eher der Bereich Automatisierung http://forum.fhem.de/index.php/topic,17895.0.html
der richtige sein.

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.

Damian

#2
Zitat von: SGS am 08 Mai 2014, 20:54:05
Hallo,
Der nachfolgende Code unter Verwendung des neuen IF-Befehls funktioniert nicht:

define Reg_R20 notify Dimmer1.* IF (Dimmer1_Sw:pct > 55) (set Aktor2_Sw on) ELSE (set Aktor2_Sw off)

Wo liegt der Fehler?

Wenn du hier: http://fhem.de/commandref_DE.html#IF aufmerksam liest, dann wirst du feststellen, dass in allen 11! Beispielen Readings in eckigen Klammern stehen, also:

define Reg_R20 notify Dimmer1.* IF ([Dimmer1_Sw:pct] > 55) (set Aktor2_Sw on) ELSE (set Aktor2_Sw off)

Gruß

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

SGS

Hallo,

ich habe es mit define Reg_R20 notify Dimmer1.* IF ([Dimmer1_Sw:pct] > 55) (set Aktor2_Sw on) versucht, aber es funktioniert immer noch nicht?

Gruß

SGS

Damian

Zitat von: SGS am 11 Mai 2014, 22:29:41
ich habe es mit define Reg_R20 notify Dimmer1.* IF ([Dimmer1_Sw:pct] > 55) (set Aktor2_Sw on) versucht, aber es funktioniert immer noch nicht?

Was steht im Log?
Was passiert, wenn du in der Kommandozeile eingibst: IF ([Dimmer1_Sw:pct] > 55) (set Aktor2_Sw on) ELSE (set Aktor2_Sw off)

Hast du ein aktuelles Update von FHEM mit dem IF-Befehl?

Gruß

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

Puschel74

Hallo,

und wieder kommen die Standartnachfragen die sich vermeiden liesen wenn die angepinnten Beiträge gelesen worden wären.

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.

SGS

Hallo,

bei direkter Eingabe des IF kommt eine Fehlermeldung "Unknown command IF, try help." und bei der Versionsabfrage taucht das IF-Modul nicht auf:

Zitat# $Id: fhem.pl 5238 2014-03-16 16:23:31Z rudolfkoenig $
# $Id: 00_CUL.pm 5213 2014-03-13 14:36:21Z rudolfkoenig $
# $Id: 10_CUL_HM.pm 5246 2014-03-17 19:15:05Z martinp876 $
# $Id: 10_EnOcean.pm 5249 2014-03-17 21:06:41Z klaus-schauer $
# $Id: 01_FHEMWEB.pm 5233 2014-03-16 12:31:19Z rudolfkoenig $
# $Id: 92_FileLog.pm 5068 2014-02-28 07:15:18Z rudolfkoenig $
# $Id: 00_HMLAN.pm 5246 2014-03-17 19:15:05Z martinp876 $
# $Id: 99_SUNRISE_EL.pm 4537 2014-01-03 08:28:59Z rudolfkoenig $
# $Id: 00_TCM.pm 5040 2014-02-24 16:29:01Z klaus-schauer $
# $Id: 99_Utils.pm 3595 2013-08-05 05:38:48Z tobiasfaust $
# $Id: 98_autocreate.pm 5015 2014-02-21 20:38:59Z rudolfkoenig $
# $Id: 98_dummy.pm 4934 2014-02-15 08:23:12Z rudolfkoenig $
# $Id: 91_eventTypes.pm 2982 2013-03-24 17:47:28Z rudolfkoenig $
# $Id: 98_fheminfo.pm 4936 2014-02-15 08:45:47Z rudolfkoenig $
# $Id: 91_notify.pm 5179 2014-03-09 17:43:56Z rudolfkoenig $
# $Id: 98_telnet.pm 4844 2014-02-08 07:54:03Z rudolfkoenig $

Dies legt die Vermutung nahe, dass IF gar nicht installiert ist. Die letzte installierte Version von FHEM ist fhem-tgz.cvs vom 07.05.2014. Die Update-Funktion von FHEM funtioniert bei nicht, nur ein direktes Download. Insoweit werde ich mir mit dem kleine if weiterbehelfen ...

Gruß

SGS