Hi Community, ich bräuchte einen Ansatz (auch gerne fertige Lösung...)
Problem: derzeit löse ich beim Öffnen und Schließen eines SCI3-Sensors verschiedene Requests aus, die allerdings manchmal "verloren" gehen (request wird abgesetzt, aber nicht korrekt verarbeitet
define AZT_SCI3_1_closed notify AZT_SCI3_1:closed { GetHttpFile("url", "arg1") }
define AZT_SCI3_1_open notify AZT_SCI3_1:open { GetHttpFile("url", "arg2") }
Idee: Ich möchte gerne alle 5-10min den Zustand des AZT_SCI3_1 prüfen und den request einfach wiederholen - wie realisiere ich das ?
Mit einem "at"?
okay - AT ist sicherlich eine richtige Spur :-\
aber vielleicht hat ja jemand ein ähnliches Beispiel schon mal gemacht und stellt mir seinen Code zur Verfügung :D ?
Also genau Deinen Code nicht...
Hier ist ein at für "einmal alle 5 Minuten":
define MaxValveUpdate at +*00:05:00 {myUtils_maxValve()}
Der Perl-Teil findet bei mir normalerweise in der myUtils.pl statt. Man kann aber auch komplexeren Kram direkt in die geschweiften Klammern schreiben. Du brauchst wahrscheinlich sowas wie...
{if (ReadingsVal ("AZT_SCI3_1","namedesreadings","error") eq "closed"){GetHttpFile("url", "arg1")} else {GetHttpFile("url", "arg2")}}
Ich habe das nicht ausprobiert...
Gruß,
Thorsten
Hi Thorsten,
das ist eine prima Hilfe, sieht sehr vielversprechend aus und probiere ich gleich mal (das error muss sicherlich state sein)
[EDIT] okay, mit state statt namedsreadings klappt das ! Vielen lieben Dank !
Freut mich.
Such' mal nach "ReadingsVal" in der commandref, dann muesste auch klar werden, was das "error" soll.