ich bastel gerade an einer Rolladensteuerung nach dem Vorbild aus dem Beitrag von MichaelN.
Im Sinne der "Funkhygiene" will ich nur etwas an den Aktor senden, wenn sich die Zielbehanghöhe von der Aktuellen unterscheidet. Eigentlich ganz einfach. Hat mich gestern aber "Blut, Schweiß und Tränen" gekostet und ich verstehe immer noch nicht, warum das Script so verhält...
Bei folgendem Code wird der If-Block nicht angesprochen wenn die aktuelle Höhe nicht 1 ist:
Code: Alles auswählen
real hoehe_ziel;
real hoehe_aktuell;
hoehe_aktuell = dom.GetObject("HmIP-RF.00111BE9A58AF7:3.LEVEL").Value(); !- HM-IP-BROLL
hoehe_ziel = 0;
WriteLine("aktuelle Höhe:" # hoehe_aktuell # " Zielhöhe:" # hoehe_ziel);
if (hoehe_ziel != hoehe_aktuell)
{
WriteLine("IF Block wird ausgeführt");
}
WriteLine("Script beendet");
Ausgabe:
Code: Alles auswählen
aktuelle Höhe:0.965000 Zielhöhe:0
Script beendet
Code: Alles auswählen
aktuelle Höhe:1.000000 Zielhöhe:0
IF Block wird ausgeführt
Script beendet
Code: Alles auswählen
aktuelle Höhe:0.965000 Zielhöhe:0.000000
IF Block wird ausgeführt
Script beendet
Gruß,
Yosh