ich nutze Homematic in Verbindung mit IP-Symcon. Nun bin ich vor kurzem von der CCU2 auf RaspberryMatic umgestiegen.
In IP-Symcon kommt ein (nicht von mir geschriebenes) Skript zum Einsatz, das über eine Socketverbindung die Systemmeldungen auf dem Homematic System bestätigt. Dies hat auch lange funktioniert. Erst seit einiger Zeit (eventuell durch den Umstieg von der CCU2 auf RaspberryMatic bedingt) funktioniert es nicht mehr, sondern liefert die besagte Fehlermeldung.
Das PHP-Skript lautet:
Code: Alles auswählen
$CCUIPAddress = HM_GetHost($homematicIntanceIdList[0]);
$HM_Script = "
string itemID;
string address;
object aldp_obj;
foreach(itemID, dom.GetObject(ID_DEVICES).EnumUsedIDs())
{
address = dom.GetObject(itemID).Address();
aldp_obj = dom.GetObject('AL-' # address # ':0.STICKY_UNREACH');
if (aldp_obj)
{
if (aldp_obj.Value())
{
aldp_obj.AlReceipt();
! dom.GetObject('Kommunikationsstörung').State(dom.GetObject(itemID).Name());
}
}
}";
// Initialisieren der Socket-Verbindung
$fp = fsockopen ($CCUIPAddress, 8181, $errno, $errstr, 2);
$res = "";
if (!$fp) {
$res = "$errstr ($errno)<br />\n";
} else {
// Zusammenstellen des Header für HTTP-Post
fputs($fp, "POST /Test.exe HTTP/1.1\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($HM_Script) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $HM_Script);
while(!feof($fp)) {
$res .= fgets($fp, 500);
}
fclose($fp);
}
return $res;
Vielen Dank schon mal für eure Unterstützung.
Burkhard