Ich kann es versuchen, brauche aber deine Unterstützung da ich keien Raumbedieneinheit habe und darum dort 0 angezeigt wird.
Führe bitte untenstehenden php-Script aus, nachdem du die IP und den Port deiner Wärmepumpe angepasst hast. Damit werden alle 3003-Werte gescannt. Ich brauche die ID-Nummer der Raumbedieneinheit (ist nicht derselbe wie in meinem Modul (das sind 3004-Werte).
Mach am besten folgendes:
Stelle deinen Sollwert der RBE zb auf 19 Grad, dann führst du den Script aus und schaust, unter welcher Nummer der Wert angezeigt wird. Voraussichtlich wird dort 190 angezeigt. Zur Sicherheit wiederholst du das ganze noch ein paar mal mit anderen Temperaturen, bist du sicher bist, welche ID das ist…
<?php
// connecten
$IpWwc = "192.168.178.59";
$WwcJavaPort = "8889";
$socket = socket_create(AF_INET, SOCK_STREAM,0);
$connect = socket_connect($socket, $IpWwc, $WwcJavaPort) || exit("socket_connect fehlgeschlagen");
if ($connect = 1)
echo "PASS: Verbunden mit WWC Java Console $IpWwc Port: $WwcJavaPort <br>";
else
echo "ERROR: Nicht verbunden mit WWC Java Console <br>";
printf('============================================================== <br>');
// Daten holen
$msg = pack('N*',3003);
//printf('msg:%s <br>',$msg);
$send=socket_write($socket, $msg, 4); //3003 senden
//printf('Bytes send:%d <br>',$send);
$msg = pack('N*',0);
//printf('msg:%s <br>',ord($msg));
$send=socket_write($socket, $msg, 4); //0 senden
printf('Bytes send:%d <br>',$send);
socket_recv($socket,$Test,4,MSG_WAITALL); // Lesen, sollte 3003 zurückkommen
$Test = unpack('N*',$Test);
printf('read:%s <br>',implode($Test));
socket_recv($socket,$Test,4,MSG_WAITALL); // Länge der nachfolgenden Werte
$Test = unpack('N*',$Test);
printf('Länge der nachfolgenden Werte:%s <br>',implode($Test));
$JavaWerte = implode($Test);
printf('============================================================== <br>');
for ($i = 0; $i < $JavaWerte; ++$i)//vorwärts
{
socket_recv($socket,$InBuff[$i],4,MSG_WAITALL); // Lesen, sollte 3004 zurückkommen
$daten_raw[$i] = implode(unpack('N*',$InBuff[$i]));
printf('InBuff(%d): %d <br>',$i,$daten_raw[$i]);
}
//socket wieder schliessen
socket_close($socket);
?>