Togglen mit If funktioniert nur in eine Richtung

Hallo,

ich krieg heute nicht mal eine IF Bedingung hin.

Folgendes Problem beschäftigt mich schon den ganzen Tag:
Ich muss eine Boolean Variable für die Wago schalten. Dies möchte ich mit einem Button in dem Dashboard erledigen. Das klappt auch bedingt. Allerdings funktioniert das ganze nur in eine Richtung. Er schaltet zwar aus, aber beim nächsten Aufruf dann ebenfalls, obwohl die Variable bereits auf Aus steht.

Ich habe die ganze Sache auch schonmal umgedreht, immer das gleiche. Ich habe bereits alle Varianten im Namen ausprobiert (True, An, „True“, „An“…) Es ändert sich leider nichts.

Hab ich da einen Gedankenfehler?

2016-06-02 21_06_58-homeserver - Remotedesktopverbindung.png

2016-06-02 21_08_51-homeserver - Remotedesktopverbindung.png


<?
// 28114 /*[EG\draussen\carport\rolltor\Höhenbegrenzung Carport\Value]*/;


//Lesen der Variable ob Rolltorhöhenbegrenzung ein
$rolltorhoehe = ModBus_RequestRead(28114);

// IF Abfrage - Wenn Hoehenbegrenzung = Ein dann schalte die Variable aus
if ($rolltorhoehe ==  true)
{
       ModBus_Writecoil(28114 /*[EG\draussen\carport\rolltor\Höhenbegrenzung Carport]*/,false);
			Echo "Begrenzung ausgeschaltet";
		
}
//Sonst schalte sie ein
else
{
       ModBus_WriteCoil(28114 /*[EG\draussen\carport\rolltor\Höhenbegrenzung Carport]*/,true);
			Echo "Begrenzung ein";
}

?>

Irgendeine Idee?

RequestRead liefert nicht den Status von der Wago, sondern nur ob der Wert erfolgreich gelesen wurde… Somit hoffentlich immer true.
Du musst anschließend immer noch mit GetValue den Wert aus der Variable holen.
Siehe ModBus_RequestRead — IP-Symcon :: Automatisierungssoftware
Michael