Re: [Модуль] Xiaomi miIO (xiaomimiio)
Добавлено: Ср апр 03, 2019 7:45 pm
Подскажите идею как получить от пылесоса статус "уборка окончена"?
directman66 писал(а): Вс янв 28, 2018 11:28 am Стучалка в телеграм по поводу статуса пылесоса сяоми. Может пригодится кому-то:
Есть вопрос. У меня в объекте MiVacuumCleaner нет свойства timestamp. Где его взять?SPOILERSPOILER_SHOWКод: Выделить всё
include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $luts=gg("MiVacuumCleaner.timestamp"); $diff=(gmdate('i',trim(time()-$luts))); $pattern = "|\b[0]+([1-9][\d]*)|is"; $diff2= preg_replace($pattern, "\\1", $diff); $status .= "Информация о пылесосе была обновлена " .$diff2 . " минут назад."; if (gg('MiVacuumCleaner.online')=='1') {$status =$status." Пылесос на связи, "; } else {$status=$status." Связь с пылесосом отсутсвует,";} if (gg("MiVacuumCleaner.state_text")=='Charging') {$status =$status." заряжается, установлен на базе, "; } if (gg("MiVacuumCleaner.state_text")=='Cleaning') {$status =$status." производит уборку, "; } if (gg("MiVacuumCleaner.state_text")=='Back to home') {$status =$status." едет на базу, "; } if (gg("MiVacuumCleaner.state_text")=='Sleeping') {$status =$status." отдыхает от трудовых будней, "; } if (gg("MiVacuumCleaner.state_text")=='Pause') {$status =$status." установлен на паузу, "; } //$status .= " температура двигателя ".round(gg("kia ceed.etemp"))." градусов, температура в салоне ".round(gg("kia ceed.ctemp"))." градусов."; $status .= " Заряд аккумуляторной батареи ".gg("MiVacuumCleaner.battery")." процентов. "; if (gg("MiVacuumCleaner.battery")<10) {$status = $status." Внимание, аккумулятор сильно разряжен, рекомендуется зарядить как можно скорее!";} $status .= " Последняя уборка заняла ".round(gg("MiVacuumCleaner.clean_time")/60)." минут, "; $status .= " убрано ".round(gg("MiVacuumCleaner.clean_area")/1000000,1)." метров. "; if (gg("MiVacuumCleaner.error_text")=='No error') {$status =$status." Ошибок не зафиксировано. "; } if (gg("MiVacuumCleaner.error_text")=='Clean main brush') {$status =$status." Необходимо очистить нижнюю щетку."; } ////////////////////////////////// $resurs=1800; $resursp=100-round((gg("MiVacuumCleaner.sensor_dirty_time")/60*100)/$resurs); $resursh=round(($resurs-(gg("MiVacuumCleaner.sensor_dirty_time")/60))/60); $status .= " Очистка боковых сенсоров необходима через $resursh часов."; $resurs=18000; $resursp=100-round((gg("MiVacuumCleaner.main_brush_work_time")/60*100)/$resurs); $resursh=round(($resurs-((gg("MiVacuumCleaner.main_brush_work_time")/60)))/60); if ($resursp<30) {$replacemain=1; }else{ $replacemain=0;} $status .= " Ресурс нижней щетки ".$resursp." процентов ($resursh часов)."; $resurs=12000; //$resurs=120; $resursp=100-round((gg("MiVacuumCleaner.side_brush_work_time")/60*100)/$resurs); $resursh=round(($resurs-((gg("MiVacuumCleaner.side_brush_work_time")/60)))/60); if ($resursp<30){ $replaceside=1;} else {$replaceside=0;} $status .= " Ресурс боковой щетки ".$resursp." процентов ($resursh часов)."; $resurs=9000; //$resurs=90; $resursp=100-round((gg("MiVacuumCleaner.filter_work_time")/60*100)/$resurs); $resursh=round(($resurs-((gg("MiVacuumCleaner.filter_work_time")/60)))/60); if ($resursp<30) {$replacefilter=1;} else {$replacefilter=0;} $status .= " Ресурс фильтра ".$resursp." процентов ($resursh часов)."; if (($replacefiler=='1')or ($replaceside=='1') or ($replacemian=='1')) {$status .= " Необходимо преобрести расходники: "; if ($replaceside==1) $status .= "боковую щетку " ; if ($replacefiler==1) $status .= "фильтр "; if ($replacemain==1) $status .= "главную щетку " ; $status .= "."; } $telegram_module->sendMessageToAll($status);
Код: Выделить всё
["result"1{"life":224963,"token":"1d4b25a9e6082518663967845706ab7c","mac":"7C:49:EB:5D:20:99","fw_ver":"1.2.8_0029","hw_ver":"ESP32","uid":1619459319,"model":"yeelink.light.bslamp2","mcu_fw_ver":"28","wifi_fw_ver":"854b5cd","ap":{"rssi":-62,"ssid":"dd-wrt","primary": 6,"bssid":"00:1D:7E:3B:8B:9F"},"netif":{"localIp":"192.168.1.130","mask":"255.255.255.0","gw":"192.168.1.1"},"mmfree":75064},"id":1556796497}Извиняюсь за вопрос не по теме. Как светильник?VladPTZ писал(а): Чт май 02, 2019 2:25 pm Появился у меея свитильник
1556796021736..jpg
Xiaomi Mijia Bedside Light 2
При потключении к модулю, такой светильник не выберается.
Выбрал предедущию модель Xiaomi Mijia Bedside Light
Работают режимы ночника, изменения цвета, яркости, температуры цвета, включение выключение.
Не разобрался как включать режим при котором сами меняются по очереди цвета называется "струящийся свет", в приложении mi home такой режим есть.
Как активировать этот режим с мд,в каких настройках или параметрах что надо вписать ?
Код: Выделить всё
["result"1{"life":224963,"token":"1d4b25a9e6082518663967845706ab7c","mac":"7C:49:EB:5D:20:99","fw_ver":"1.2.8_0029","hw_ver":"ESP32","uid":1619459319,"model":"yeelink.light.bslamp2","mcu_fw_ver":"28","wifi_fw_ver":"854b5cd","ap":{"rssi":-62,"ssid":"dd-wrt","primary": 6,"bssid":"00:1D:7E:3B:8B:9F"},"netif":{"localIp":"192.168.1.130","mask":"255.255.255.0","gw":"192.168.1.1"},"mmfree":75064},"id":1556796497}
Вписывать никуда и ничего не надо. Для начала нужно выяснить какие API-команды отвечают за активацию/деактивацию этого режима и проверить их через окно "Тестирование API-команд".VladPTZ писал(а): Чт май 02, 2019 2:25 pm Не разобрался как включать режим при котором сами меняются по очереди цвета называется "струящийся свет", в приложении mi home такой режим есть. Как активировать этот режим с мд,в каких настройках или параметрах что надо вписать ?