ich möchte mir eine "Miniapp" via php bzw. jquery mobile schreiben.
Das klappt auch alles soweit, sodass ich einzelne Geräte, Systemvariablen auslesen und auch setzen kann.
Nun möchte ich, dass bei den Verschlüssen angezeigt wird, wann die letzte Statusänderung war. Jedoch wird bei allen Geräten der gleiche Timestamp angezeigt. Sobald ich an irgendeinem Verschluss den Status ändere (Fenster öffnen/schließen), dann ändert sich der Timestamp bei allen Verschlüssen. Ist dort ein Bug in der API oder habe ich einen Fehler bei der Abfrage?
Bug in der API möchte ich schon ausschließen, da eine IOS-APP die per XML-API auf die HomeMatic zugreift die Zeitstempel richtig ausliest.
Code: Alles auswählen
<?php
$homematic_ip = '127.0.0.1';
$homematic = 'http://'.$homematic_ip.'/config/xmlapi/';
$state_cgi = $homematic."statelist.cgi";
$data = file_get_contents($state_cgi);
$xml_system = simplexml_load_string($data);
foreach ($xml_system->device as $device)
{
foreach($device->children() as $channel)
{
$channelname = $channel['name'];
foreach($channel->children() as $datapoint)
{
if($datapoint['type']=="STATE")
{
if($datapoint['value'] == "false")
{
$ItemStateOpenText = $ItemStateOpenText.'<tr><td>'.$channelname.'-'.date('d.m.Y H:i:s',intval($datapoint['timestamp'])).'</td></tr>';
}
else
{
$ItemStateAlertText = $ItemStateAlertText.'<tr><td>'.$channelname.'-'.date('d.m.Y H:i:s',intval($datapoint['timestamp'])).'</td></tr>';
}
}
}
}
}
Wäre klasse, wenn ihr dazu eine Idee hättet.
Mit freundlichen Grüßen
der Optimist