nach DOELSE werden nicht alle Befehle erledigt

Begonnen von achim60, 26 Oktober 2017, 13:23:18

Vorheriges Thema - Nächstes Thema

achim60

Hallo zusammen,
ich habe ein Problem das (set HM_4140E2_Dim off) nicht geschaltet wird und finde den Fehler nicht  ???

Die Anweisung nach DOELSE wird nur bis zu (set Schalter_Funksteckdose_A off) ausgeführt, obwohl der dimmer_wohnzimmer auf off steht.

Schöne Grüße






Internals:
   DEF        ([alarm_scharf] eq "on" and [pflanze1:lux] < 300 ) (set Schalter_Funksteckdose_A on) (set HM_4140E2_Dim pct 30) DOELSE (set Schalter_Funksteckdose_A off) ([dimmer_wohnzimmer:"off"]) (set HM_4140E2_Dim off)



   NAME       TV_simulation
   NR         237
   NTFY_ORDER 50-TV_simulation
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2017-10-26 13:10:45   cmd             0
     2017-10-26 13:10:45   state           initialized
   condition:
     0          InternalDoIf($hash,'alarm_scharf','STATE') eq "on" and ReadingValDoIf($hash,'pflanze1','lux') < 300
   devices:
     0           alarm_scharf pflanze1
     all         alarm_scharf pflanze1
   do:
     0:
       0          set Schalter_Funksteckdose_A on
       1          set HM_4140E2_Dim pct 30
     1:
       0          set Schalter_Funksteckdose_A off
       1          [dimmer_wohnzimmer:"off"]
       2          set HM_4140E2_Dim off
   helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   internals:
     0           alarm_scharf:STATE
     all         alarm_scharf:STATE
   itimer:
   readings:
     0           pflanze1:lux
     all         pflanze1:lux
   regexp:
     all:
   state:
     STATE:
Attributes:
   do         always
   room       Alarmanlage
   webCmd     on:off



CoolTux

(set Schalter_Funksteckdose_A off) ([dimmer_wohnzimmer:"off"]) (set HM_4140E2_Dim off)

Das ist j aauch Unfug. Was genau soll das sein? Nach einem DOELSE kommt keine Bedingungsabfrage mehr. Wenn dann DOELSEIF
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

achim60

#2
Hi,
wahrscheinlich habe ich da einen Gedankenfehler  ;)

Ich dimme Glühbirnen mit dem Dimmer -HM_4140E2_Dim- wenn ich zu Hause bin, das klappt auch super.

Jetzt soll, wenn die Alarmanlage an ist, auch der Dimmer angehen wenn das Licht unter 300 Lux ist um eine Anwesenheit zu simulieren. Klappt auch  :D
Nur geht der Dimmer nicht mehr aus, wenn Lux über 300 ist bzw. die Alarmanlage aus. :(

Klappt auch mit DOELSEIF nicht ::)


([alarm_scharf] eq "on" and [pflanze1:lux] < 300 ) (set Schalter_Funksteckdose_A on) (set HM_4140E2_Dim pct 30) DOELSEIF (set Schalter_Funksteckdose_A off) ([dimmer_wohnzimmer:"off"]) (set HM_4140E2_Dim off)



CoolTux

([dimmer_wohnzimmer:"off"])

Was genau soll das machen in Verbindung mit Deinen set Befehlen nach dem DOELSE / DOELSEIF ???
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux


(["^pflanze1$:^lux:",0] < 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A on) DOELSEIF ["^pflanze1$:^lux:",0] > 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A off)


So schaltet Deine Lampe bei kleiner 300 an und bei größer 300 aus aber nur wenn alarm on ist
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

achim60

ich hatte es vorher so ..... DOELSEIF (set Schalter_Funksteckdose_A off) (set HM_4140E2_Dim off).....

Das Problem ist das das Licht dann auch ausgeht wenn ich zu hause bin und es manuell eingeschaltet habe.

Dann kam ich auf die Idee ein Dummy anzulegen.
Schalte ich das Licht manuell ein geht der Staus von dem Dummy (dimmer_wohnzimmer ) von  off auf on.



achim60

Zitat von: CoolTux am 26 Oktober 2017, 13:47:32

(["^pflanze1$:^lux:",0] < 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A on) DOELSEIF ["^pflanze1$:^lux:",0] > 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A off)


So schaltet Deine Lampe bei kleiner 300 an und bei größer 300 aus aber nur wenn alarm on ist

Das schalten funktioniert ohne Probleme, nur geht der Dimmer nicht aus.

CoolTux

Wir schalten gar kein Dimmer an? Ist der generell bei Dir an?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Damian

Zitat von: CoolTux am 26 Oktober 2017, 13:47:32

(["^pflanze1$:^lux:",0] < 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A on) DOELSEIF ["^pflanze1$:^lux:",0] > 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A off)


So schaltet Deine Lampe bei kleiner 300 an und bei größer 300 aus aber nur wenn alarm on ist
Wobei konkrete Devices besser direkt mit [<Device>:<reading>], hier also mit  [pflanze1:lux ], abgefragt werden sollten, weil es performanter ist.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

achim60

Zitat von: CoolTux am 26 Oktober 2017, 13:57:12
Wir schalten gar kein Dimmer an? Ist der generell bei Dir an?

Doch der wird angeschaltet vor dem DOELSE mit dem set HM_4140E2_Dim pct 30 ( das Licht wird mit 30 % angestellt ) was auch super klappt.


CoolTux


(["^pflanze1$:^lux:",0] < 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A on,set HM_4140E2_Dim pct 30) DOELSEIF ["^pflanze1$:^lux:",0] > 300 and [?alarm_scharf] eq "on") ((set Schalter_Funksteckdose_A,HM_4140E2_Dim off))


Und so
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux


([pflanze1:lux] < 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A on,set HM_4140E2_Dim pct 30) DOELSEIF [pflanze1:lux] > 300 and [?alarm_scharf] eq "on") ((set Schalter_Funksteckdose_A,HM_4140E2_Dim off))


Und nun noch der Tip von Damian
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

achim60

Zitat von: CoolTux am 26 Oktober 2017, 14:03:33

([pflanze1:lux] < 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A on,set HM_4140E2_Dim pct 30) DOELSEIF [pflanze1:lux] > 300 and [?alarm_scharf] eq "on") ((set Schalter_Funksteckdose_A,HM_4140E2_Dim off))


Und nun noch der Tip von Damian

jetzt geht der Dimmer erst gar nicht mehr an. :(

(["^pflanze1$:^lux:",0] < 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A on,set HM_4140E2_Dim pct 30) DOELSEIF ["^pflanze1$:^lux:",0] > 300 and [?alarm_scharf] eq "on") ((set Schalter_Funksteckdose_A,HM_4140E2_Dim off))

auch nicht so ???

achim60

ich könnte mir eine zusätzliche Abfrage bauen die unabhängig schalten würde. Aber das wäre doppelt gemoppelt, oder ?

([alarm_scharf] eq "off" and ([dimmer_wohnzimmer:"off"]) (set HM_4140E2_Dim off)


CoolTux


([pflanze1:lux] < 300 and [?alarm_scharf] eq "on") (set Schalter_Funksteckdose_A on,set HM_4140E2_Dim pct 30) DOELSEIF ([pflanze1:lux] > 300 and [?alarm_scharf] eq "on") ((set Schalter_Funksteckdose_A,HM_4140E2_Dim off))


Es fehlte doch nur ein ( bei der Zweiten Condition. So sollte es jetzt gehen, zu mindest bei mir tut es das.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net