90_at - Aktuator Status nicht aktuell

Begonnen von Muffe, 30 Dezember 2018, 16:41:29

Vorheriges Thema - Nächstes Thema

Muffe

Hallo liebe Gemeinde,

fhem ("set Schalter toggle");;

  fhem ("
         define Get_Switch_State at +00:00:30
         set StateDummy ".Value("Schalter").";;         
          ");;
   


Zielstellung:
nach dem Schalten eines Aktors via toggle soll etwas zeitverzögert der Status des Aktors via "at" zurückgelesen bzw. gespeichert werden.

Problem / Verständnisproblem:

der Status welcher nach 30 Sekunden gespeichert wird, ist immernoch "set toggle" anstelle des gültigen Status "on" oder "off", welcher sich nachweislich spätestens nach 1 bis zwei sekunden eingestellt hat.

Habe ich eine falsche Erwartungshaltung an die at-Funktion? Ich würde erwarten, dass der Status erst ach 30Sekunden gerufen wird statt zum Zeitpunkt,an welchem die "at" Routine definiert wird?

viele Grüße

Byte09

#1
Hi Muffe

ZitatHabe ich eine falsche Erwartungshaltung an die at-Funktion?
ja
ZitatIch würde erwarten, dass der Status erst ach 30Sekunden gerufen wird statt zum Zeitpunkt,an welchem die "at" Routine definiert wird?
das at wird ja sofort definiert , mit dem zu diesem Zeitpunkt enthaltenen state des Schalters - , ausführungszeit des inhaltes in 30 sekunden.
zum zeitpunkt der definition hat aber der schalter nunmal den state 'toggle'

gruss Byte09


edit:da war otto schneller, ich wollte es erst ausprobieren . Wie Otto schrieb geht es , wenn du nicht auf die perlebene gehst und den state per setmagic angiebst.
dieses wird erst zum ausführungszeitpunkt ersetzt.


Otto123

#2
Hi Muffe,

so in der FHEM Kommandozeile mit vorhandenen Dummy getestet.
set Aktor01 toggle ; define Get_Switch_State at +00:00:30 set schalter [Aktor01:state]

Erklärung: Durch dein (unnötiges) Perl Konstrukt, löst Perl die Abfrage schon beim define auf.

Tipp: Mit einem list Get_Switch_State innerhalb 30 sec siehst Du genau was wirklich im at steht.

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

Muffe

Byte09 und Otto:

vielen herzlichen Dank für die super schnelle Hilfe!
Es funktioniert nun, unter Berücksichtigung eurer Tipps !!

viele Grüße

Muffe