Seriell Skript

Hallo alle Zusammen,
ich möchte wenn ich eine 1 an den Seriellen Port des IPS Servers Sende, dass dann Ein HomeMatic Aktor Eingeschaltet wird. Wenn es eine 0 Sende soll er wieder ausgeschaltet werden.

Habe hier mal ein Skript geschrieben:

<?php
ist
if ($IPS_SENDER == "RegisterVariable")
{
  
  $data = $IPS_VALUE;

  IPS_LogMessage( "Von Geraet",$data);
}


if ($data = "0")
{
HM_WriteValueBoolean(18821 /*[SWITCH]*/, "STATE", false);
}
if ($data = "1")
{
HM_WriteValueBoolean(18821 /*[SWITCH]*/, "STATE", true);
}

?>

Soweit so gut, aber irgendwie macht er nicht was ich will.
Er wechselt im Unregelmäßigen abstand den Status, obwohl ich keine 1 oder 0 gesendet habe.

Kann mir wer weiterhelfen?

Gruß

Dennis

Vergleiche werden mit == gemacht :slight_smile:
Außerdem würde ich die if’s mit in den if($IPS_SENDER …) Block tun.

paresy

Dankeschön jetzt Funktioniert es auch :smiley:

Nochmal eine Kleine Frage von mir :slight_smile:

Ich möchte jetzt einen String über die Serielle Schnittstelle versenden.

<?
$GarbionenundCypressen = GetValue(38720 /*[Garten\Garbionen und Cypressen\STATE]*/);

COMPort_SendText(34215 /*[Serial Port]*/,$GarbionenundCypressen);


?>

Soweit klappt das auch. Da er mir True oder False sendet. Nur wie kann ich jetzt vor True oder False zum Beispiel immer „Lampe1“ Davorschreiben ?

Also z.B. Lampe1 True

Gruß

Dennis

COMPort_SendText(34215 /*[Serial Port]*/,"Lampe 1 ".$GarbionenundCypressen);