private function SendDataToDevice(TXB_Command_Data $ATData) { // IPS_LogMessage('SendDataToDevice:'.$this->InstanceID, print_r($ATData,1)); $Data = $ATData->ToJSONString('{A245A1A6-2618-47B2-AF49-0EDCAB93CCD0}'); IPS_SendDataToChildren($this->InstanceID, $Data); }
private function WaitForResponse() { $ReplyATDataID = $this->GetIDForIdent('ReplyATData'); for ($i = 0; $i < 500; $i++) { if (GetValueString($ReplyATDataID) === '') { IPS_Sleep(10); } else { if ($this->lock('ReplyATData')) { $ret = GetValueString($ReplyATDataID); SetValueString($ReplyATDataID, ''); $this->unlock('ReplyATData'); $JSON = json_decode($ret); $ATData = new TXB_Command_Data(); $ATData->GetDataFromJSONObject($JSON); return $ATData; } return false; } } return false; }
public function ForwardData($JSONString) { // Prüfen und aufteilen nach ForwardDataFromChild und ForwardDataFromDevcie $Data = json_decode($JSONString); // IPS_LogMessage('ForwardDataFrom???:'.$this->InstanceID, print_r($Data,1)); switch ($Data->DataID) { case "{79827379-F36E-4ADA-8A95-5F8D1DC92FA9}": //SendText $this->ForwardDataFromChild(utf8_decode($Data->Buffer)); break; case "{C2813FBB-CBA1-4A92-8896-C8BC32A82BA4}": //CMD $ATData = new TXB_Command_Data(); $ATData->GetDataFromJSONObject($Data); $this->ForwardDataFromDevice($ATData); break; } }