Hallo gleich die nächste Dumme Frage von mir:
Ich möchte meine Rolläden anch Sonnenuntergang herunterfahren. Dazu setze ich ein digitalen Ausgang am Rasprerry. Ich muss ihn aber nach dem Setzen muss ich den Port auch wieder auf 0 setzten.
Dazu hab ich versucht die Funktion folgendermasen zu verwenden:
define RollerClose_0 at *{sunset(20,"17:30","22:00")} "gpio -g write 17 0"
Allerdings werden die 20 Sekunden nicht hinzugefügt wenn der Sonnenuntergang vor 17:30 liegt. Was kann ich da tun?
Weil der Event auf 17:30 begrenzt wird. Die Konstruktion ist so nicht geeignet.
Du musst so etwas wie einen on-for-timer machen. Oder einfach mit sleep warten, also Rollo ein, sleep 20, Rollo aus.
Gruß Otto
Probier es mit DOIF und wait
Ungetester Code
define DI_rolladen DOIF ({sunset("17:30","22:00")})
("gpio -g write 17 1")("gpio -g write 17 0")
attr DI_rolladen wait 0,20
attr DI_rolladen do always
Der zweite Befehl ("gpio -g write 17 0") wird nun 20s nach dem ersten abgesetzt.