Hallo zusammen,
ich möchte eine „spezielle“ Nachricht vom Child (Device) zum Parent (Splitter) senden und habe dafür eine eigene Funktion geschrieben:
private function SendForceRefresh()
{
$result = parent::SendDataToParent(json_encode(Array(
"DataID" => "{D608631B-BABA-4D08-ADB0-5364DD6A2526}",
"Buffer" => utf8_encode("ForceRefresh")
)));
IPS_LogMessage("DuoFernDevice", "SendForceRefresh()");
return $result;
}
Die DataID wird vom Parent korrekt implementiert, funktioniert bei der Methode SendDataToParent() welche ich für den „normalen Nachrichtenaustausch“ überschreibe ja auch.
Es wird aber irgendwie nichts gesendet bzw. es kommt beim Parent (Splitter) nichts an.
Im Parent (Splitter) versuche ich es so abzufangen:
public function ReceiveData($JSONString)
{
// decode data
$data = json_decode($JSONString);
IPS_LogMessage("DuoFernGateway", "ReceiveData()");
if (utf8_decode($data->Buffer) == "ForceRefresh") {
IPS_LogMessage("DuoFernGateway", "Got ForceRefresh from a child");
$this->ForceRefresh();
return;
}
// ... (Hier gehts für den "normalen Nachrichtenaustausch" weiter)
}
Es wird weder „ReceiveData()“ noch „Got ForceRefresh from a child“ ausgegeben.
Vielen Dank!
Gruß baba