Hallo Funkmaus
Die Anweisungen innerhalb eines WENN-Blocks werden nur dann ausgeführt, wenn die Bedingung zutrifft. Das gilt für alle Anweisungen, die dort stehen; also auch für SENDEWERT(). Das kannst du mit deinem Makro auch sehr gut überprüfen, wenn du die LED der FHZ-Schnittstelle beobachtest. - Es wird nur im Moment des Ausschaltens gesendet werden! - 2 mal!
Dass die Syntax in deinem Beispiel nicht korrekt ist, weisst du bestimmt?
Es gibt übrigens noch eine andere Möglichkeit, sicherzustellen, dass in einem periodisch ablaufenden Makro mit SENDEWERT() nicht zu häufig gesendet wird:
Code: Alles auswählen
wenn Uhrzeit zwischen Sonnenuntergang und Sonnenaufgang dann
Licht einschalten
sonst
Licht ausschalten
endewenn
wenn geschaltet(Licht) dann
warte("00:00:01")
Sendewert(Licht)
warte("00:00:01")
Sendewert(Licht)
warte("00:00:01")
Sendewert(Licht)
erledigt(Licht)
endewenn
Das ERLEDIGT() ist in diesem Fall sehr wichtig. - Lies dazu mal die Beschreibung in der Homeputer-Hilfe.
Viele Grüsse
Bümpi