Hilfe - if macht nicht das was es soll (oder ich bin zu doof, was wahrscheinlicher ist)

Begonnen von ArminK, 23 November 2012, 09:49:05

Vorheriges Thema - Nächstes Thema

ArminK

                                                           

Hallo zusammen,

habe folgendes notify in fhem.cfg:
define act_k_tuer1_stat notify k_tuer1_stat {\
 if ("%" eq "on") {\
          fhem(Log 3, "Status k_tuer1_stat ist on");;\
    if ($value{sa_7} eq "off") {\
               fhem("set sa_7 on")\
        }\
    if ($value{xx_hof} eq "off") {\
               fhem("set xx_hof on")\
        }\
   }\
   else {\
          fhem(Log 3, "Status k_tuer1_stat ist off");;\
    if ($value{sa_7} eq "on") {fhem("set sa_7 off")};;\
    if ($value{k_tuer1_stat} eq "off" && $value{k_tuer2_stat} eq "off" &&
$value{g_tor_stat} eq "off") {\
          fhem(Log 3, "Summenstatus hof ist off");;\
         fhem(Log 3, "Status xx_hof ist $value{xx_hof}");;\
        if ("$value{xx_hof}" ne "off") {fhem("set xx_hof off")};;\
      }\
   }\
}

Ins Log wird aber das geschrieben:

2012.11.23 09:36:25 3: Status k_tuer1_stat ist off
2012.11.23 09:36:25 3: Summenstatus hof ist off
2012.11.23 09:36:25 3: Status xx_hof ist off
2012.11.23 09:36:25 2: dummy set xx_hof off

2012.11.23 09:36:25 2: dummy set xx_hof off

Jetzt meine Frage: warum setzt fhem xx_hof auf off obwohl xx_hof schon off
ist? Hab es anstatt mit ne auch schon mit eq "on" probiert - gleiches Spiel!

Bin mal gespannt ob jemand weiß was da bei mir quer läuft. Vielen Dank
schon mal im Vorraus!

Gruss aus Heidelberg
Armin

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry Pi 3B mit fhem 5.8;1xCUL USB, 2xCUNO, 1xCUL Raspi über Fhem2Fhem, 2xHMLAN; diverse Homematic und FS20-Komponenten; 7 x Sonos-Player; diverse Eigenbauten mittels FS20 WUE, ESPEasy, MQTT, MySensors

Guest

Originally posted by: <email address deleted>

Ich habe mit der syntax value(...) auch so meine Probleme und verwende
statt dessen ReadingsVal(...)

Letzteres finde ich "logischer" und entspricht wohl auch der zukünftigen
Vorstellung von Rudolf, wie es implementiert sein soll.

Also

  if (ReadingsVal("sa_7","state","") eq "on") {fhem("set sa_7 off")};;\


Probier mal aus... :-)
VG
Ralf

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

ArminK

                                                           

Danke für den (leider erfolglosen) Tip!
Ich habe jetzt mal alles auf ReadingsVal umgestellt also sieht das in der
fhem.cfg so aus:

define act_k_tuer1_stat notify k_tuer1_stat {\
 if ("%" eq "on") {\
          fhem(Log 3, "Status k_tuer1_stat ist on");;\
    if (ReadingsVal("sa_7","state","") eq "off") {\
               fhem("set sa_7 on")\
        }\
    if (ReadingsVal("xx_hof","state","") eq "off") {\
               fhem("set xx_hof on")\
        }\
   }\
   else {\
          fhem(Log 3, "Status k_tuer1_stat ist off");;\
    if (ReadingsVal("sa_7","state","") eq "on") {fhem("set sa_7 off")};;\
    if (ReadingsVal("k_tuer1_stat","state","") eq "off" &&
ReadingsVal("k_tuer2_stat","state","") eq "off" &&
ReadingsVal("g_tor_stat","state","") eq "off") {\
              fhem(Log 3, "Summenstatus hof ist off");;\
         fhem(Log 3, "Status xx_hof ist");;\
         fhem(Log 3, ReadingsVal("xx_hof","state",""));;\
        if (ReadingsVal("xx_hof","state","") eq "on") {fhem("set xx_hof
off")};;\
      }\
   }\
}

Effekt hat es alerdings keinen, meine Variable xx_hof wird immer noch auf
off gesetzt obwohl sie schon den state off hat (und das sogar zweimal
hintereinander (siehe log unten). Kann es damit zusammenhängen, dass XX_hof
kein echtes Gerät ist sondern nur eine Variable, also dummy?
Ich verstehe es echt nicht, Du?

Hier das Log:

2012.11.23 15:51:05 3: Status k_tuer1_stat ist off
2012.11.23 15:51:05 3: Summenstatus hof ist off
2012.11.23 15:51:05 3: Status xx_hof ist
2012.11.23 15:51:05 3: off
2012.11.23 15:51:05 2: dummy set xx_hof off
2012.11.23 15:51:05 2: dummy set xx_hof off
2012.11.23 15:53:01 2: dummy set xx_dachfenster off
2012.11.23 15:53:05 3: Status k_tuer1_stat ist off
2012.11.23 15:53:05 3: Summenstatus hof ist off
2012.11.23 15:53:05 3: Status xx_hof ist
2012.11.23 15:53:05 3: off
2012.11.23 15:53:05 2: dummy set xx_hof off
2012.11.23 15:53:06 2: dummy set xx_hof off


Grüße
Armin

Am Freitag, 23. November 2012 10:22:12 UTC+1 schrieb dou...@m1n1.de:
>
>
>
> Ich habe mit der syntax value(...) auch so meine Probleme und verwende
> statt dessen ReadingsVal(...)
>
> Letzteres finde ich "logischer" und entspricht wohl auch der zukünftigen
> Vorstellung von Rudolf, wie es implementiert sein soll.
>
> Also
>
>   if (ReadingsVal("sa_7","state","") eq "on") {fhem("set sa_7 off")};;\
>
>
> Probier mal aus... :-)
> VG
> Ralf
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Raspberry Pi 3B mit fhem 5.8;1xCUL USB, 2xCUNO, 1xCUL Raspi über Fhem2Fhem, 2xHMLAN; diverse Homematic und FS20-Komponenten; 7 x Sonos-Player; diverse Eigenbauten mittels FS20 WUE, ESPEasy, MQTT, MySensors