|
![]() |
![]() |
![]() |
![]() |
Mit diesem PHP Skript können Sie direkt einen Wert dem Datenpunkt zuweisen:
Nach dem ersten auslösen dieses Skriptes muss der Benutzer "PHP_Control" im Server freigegeben werden.
<?php
$dp_Name = "2:RGB Wifi"; // Name aus "Konfiguration" - "Datenpunkte" - erste Spalte $dp_Type = "RGB_LIGTH"; // Type aus "Konfiguration" - "Datenpunkte" - Spalte "Type" $Attribute = "STATE"; // Attribute - unter "System" - "Manuellen Steuerung" unter dem DP sichtbar $Attribute_Value = "1.0"; // Wert $command = "Set_Attribute"; // nicht ändern
$service_port = 2425; $address = gethostbyname('localhost'); $socket = fsockopen("tcp://".$address, $service_port, $errno, $errstr, 2); stream_set_timeout($socket, 5);
if ($socket) {
$message = fread($socket, 1024);
$reader = new XMLReader(); $reader->xml($message);
while ( $reader->read() ) { if ( $reader->nodeType ==XMLReader::ELEMENT ) { if($reader->name == 'res:security'){ $Random = $reader->readString() ; } } }
$Random_Key_Server = rand(0,100); (int) $ValueKey = substr($Random, 3, 1).substr($Random, 1, 1).substr($Random, 6, 1).substr($Random, 7, 1).substr($Random, 0, 1); $Response_Generated_Key = ((int)$ValueKey) * $Random_Key_Server; $Key = '<request xsi:schemaLocation="/de/xsolution/xmladapter/extern/request file:/request.xsd" xmlns:mcom="/de/xsolution/xmladapter/extern/common" xmlns="/de/xsolution/xmladapter/extern/request" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><prefix>'.$Random_Key_Server.'</prefix><suffix>'.$Response_Generated_Key.'</suffix><user>PHP_Control</user><uuid>PHP_Control</uuid><noinit>true</noinit><getRequest_after_command>true</getRequest_after_command></request>'; $length=pack("n",strlen($Key));
fwrite($socket,$length.$Key,strlen($Key)+2);
$message = fread($socket, 1024);
$Kommando = '<request xsi:schemaLocation="/de/xsolution/xmladapter/extern/request file:/request.xsd" xmlns:mcom="/de/xsolution/xmladapter/extern/common" xmlns="/de/xsolution/xmladapter/extern/request" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><timestamp>2011-09-29T21:59:11</timestamp><command><id>'.$Attribute.'</id><dataPoint><mcom:name>'.$dp_Name.'</mcom:name><mcom:type>'.$dp_Type.'</mcom:type></dataPoint><command>'.$command.'</command><parameter>'.$Attribute_Value.'</parameter></command><close_after_command>true</close_after_command><noinit>true</noinit></request>';
$length=pack("n",strlen($Kommando)); fwrite($socket,$length.$Kommando,strlen($Kommando)+2);
}
?>
|