(GELÖST) Mit DOIF und einem Dummy zwischen 2 at Zeiten schalten?

Begonnen von misux, 16 Februar 2018, 22:14:23

Vorheriges Thema - Nächstes Thema

misux

Hi! Ich bin wieder mal am verzweifeln  ::) :-X

Ich versuche mit einen Dummy DavidFruehschicht (on:off) per DOIF DOIFFruehschicht zwischen 2 at Zeiten zu schalten (Fruehschicht und Normalschicht)

Die at Kommandos funktionieren wunderbar, aber per DOIF den einen auf active und den anderen auf inactive und andersrum, mit dem Dummy DavidFruehschicht ON:OFF, zu setzen will nicht so recht...

mein x ter code der aber auch nicht so ganz funktioniert: ([DavidFruehschicht:"on"]) (set Normalschicht inactive) DOELSE ([DavidFruehschicht:"off"]) (set Normalschicht active)

Es kann doch nicht so schwer sein?

Bei Dummy DavidFruehschicht off wird die at Fruehschicht Zeit einfach nicht auf inactive gesetzt...

Es soll in der art so gehen:

Dummy DavidFruehschicht on => at Fruehschicht inactive und at Normalschicht active
Dummy DavidFruehschicht off => at Fruehschicht active und at Normalschicht inactive

Hoffe mir kann bitte jemand wieder auf die Sprünge helfen...

die at Befehle sehe folgendermaßen aus und funktionieren auch schon mal ::)
Fruehschicht *03:00:00 { fhem("set WZEZ_WZFLed on-till 03:30:00") if(!$we) }
Normalschicht *05:00:00 { fhem("set WZEZ_WZFLed on-till 05:30:00") if(!$we) }

Vielen Dank!

Otto123

Hi misux,

Du musst anfangen Doku zu lesen, eigentlich ist doch so eine Abfrage sogar von der Sprache her logisch
Was meinst Du bedeutet DOIF?
Was bedeutet DOELSE?
Wozu gibt es DOELSEIF?
https://fhem.de/commandref_DE.html#DOIF

Und dann schaust Du Deine Codezeile noch mal genau in der Mitte an.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

misux

ALTER SCHWEEEDE..... Es ist wirklich nicht so schweer.. Aber d erstmal hinter zu kommen wenn man nur noch DIOIFDOFIDODIFODIFO sieht ;D ;D :o

Naja....

Hier nun der funktionierende Code für diejenigen die vielleicht mal vor dem selben Problem stehen werden...

([DavidFruehschicht:"on"]) (set Normalschicht inactive)(set Fruehschicht active) DOELSE ([DavidFruehschicht:"off"]) (set Fruehschicht inactive)(set Normalschicht active) DOELSE

Gruß und Vielen Dank!

Otto123

Nö läuft nicht, steht immer noch bloß die ELSE  :-X :'(

Du willst was abfragen, da muss DOELSEIF hin!
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Frank_Huber

Und das DOELSE am Ende muss weg. [emoji85][emoji86][emoji87]

Mit dem Handy online, daher kurz gefasst...


misux

Verstehe nicht warum ihr das sagt  :o Ich meine, ich nutze es jetzt aktiv und es funktioniert.... Ich kann mit meine Dummy die at Funktionen de- und aktivieren....   ;)

Otto123

Moin,

also das Konstrukt muss dann bei Dir Fehler werfen und die Bedingung ([DavidFruehschicht:"off"])  die Du hingeschrieben hast wird nicht ausgewertet.
DOELSE ([DavidFruehschicht:"off"]) (set Fruehschicht inactive)(set Normalschicht active)
Also DOELSE (set Fruehschicht inactive)(set Normalschicht active) wäre ok.

Und das leere  DOELSE am Ende (ich mag es nicht) ersetzt Dir eventuell das do always oder es tut einfach nichts.

Es wird deshalb funktionieren weil die Bedingung ([DavidFruehschicht:"on"]) wahrscheinlich für alles was Du willst ausreicht!

Aber dein Code ist syntaktisch falsch!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

misux

Hmmm... Ich teste es nachher mal und gebe bescheid.

Habe gerade ein komischen Problem mit meiner CUL...

misux

Das ja n Ding...  Wie du sagst : das letzte DOELSE gelöscht : funktioniert immernoch. Das ([DavidFruehschicht:"off"]) auch noch gelöscht: funktioniert immernoch!  ;D

Viele wege führen nach ROM... meine meisten über China...  ::)

Vielen Dank!

Otto123

Wenn DavidFruehschicht wirklich nur zwei Zustände hat ist es legitim es so zu machen. Generell ist es besser alle Zustände wirklich abzufragen.
([DavidFruehschicht:"on"]) (set Normalschicht inactive)(set Fruehschicht active) DOELSEIF ([DavidFruehschicht:"off"]) (set Fruehschicht inactive)(set Normalschicht active)
Daher meine Empfehlung weiter oben.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz