Супер, спасибо. Не догадался бы, что оно закодировано.odinvolk писал(а): ↑Вт май 16, 2023 6:15 pmВышел из положения таким образом
сделал свойство initiative_message
сделал метод initiative_message_decode
и привязал метод к свойству
Код метода initiative_message_decode
а вот как фотки получить пока не знаюСпойлерПоказатьКод: Выделить всё
$ot = $this->object_title; // название объекта $message = $this->getProperty('initiative_message'); // берём из свойства объекта, который привязан к модулю tuya $dop = '"]]}'; // дописываем недостающие символы иначе json получается битый sg($ot.'.initiative_message_d',base64_decode($message).$dop); // вставляем в свойство декодированное сообщение // дальше если нужно. декодируем и разбираем сообщение по параметрам и вставляем в свойства $base = base64_decode($message).$dop; // декодируем из base64 и добавляем недостающие символы // должны получить такую строку //{"v":"4.0","bucket":"ty-eu-storage30","cmd":"ipc_motion","type":"image","with":"resource","alarm":true,"time":1682386398,"files":[["/052910-12289210-szjs5ad413616ba205b3/unify/1682386398.jpeg"]]} должны получить такую строку //----------------------- Вытягиваем данные $json = json_decode($base, true); $ver = $json['v']; $bucket = $json['bucket']; $cmd = $json['cmd']; $type = $json['type']; $with = $json['with']; $alarm = $json['alarm']; $time = $json['time']; $files = $json['files'][0]['0']; //----------------------- Записываем данные в свойства объекта sg($ot.'.v',$ver); sg($ot.'.bucket',$bucket); sg($ot.'.cmd',$cmd); sg($ot.'.type',$type); sg($ot.'.alarm',intval($alarm)); sg($ot.'.time',date('H:i:s d-m-Y', $time)); sg($ot.'.file',$files); // ----------------------------------запускаем аларм метод if ($alarm) { $this->callMethod('motionDetected'); }
По поводу фоток, не думали реализовать через webrtc?
https://developer.tuya.com/en/docs/iot/ ... sd4x2hl0se