22 ноября 2016 г.

jarvis

Итак, настал великий день, и Яша вскипятил мне утром чайник. Я уже писал, что найти чайник с REST API не удалось. И даже Xiaomi не помог. Всем хорош их чайник кроме отсутствия хоть какого-то API и полной невозможности его удалённо включить (китайцы как всегда, короче). Зато TP-Link выпускает умные розетки. Их есть два вида: HS-100 и HS-110. HS-110 умеет мониторить потребление. Поскольку мне наплевать на экологию вообще и экономию электроэнергии в частности, то я сначала купил HS-100. Но потом понял, что экология – великая вещь, а мониторинг потребления позволяет не только включить чайник, но и сообщить, когда он вскипел – просто по пропаже двух, сука, киловатт нагрузки. И полностью перешел на HS-110, которые на 300 рублей дороже. Перед покупкой меня волновали две вещи: 1) можно ли включать/выключать розетку вручную кнопкой? Да, можно, видите кнопочку с Wi-Fi и Power? Это оно. 2) API. Тут всё смешно. Розетки довольно популярны, и энтузиасты быстро сдампили UDP траффик на 9999 порт и выяснили, что посылка строки “AAAAKtDygfiL/5r31e+UtsWg1Iv5nPCR6LfEsNGlwOLYo4HyhueT9tTu36Lfog==” включает розетку, а строка “AAAAKtDygfiL/5r31e+UtsWg1Iv5nPCR6LfEsNGlwOLYo4HyhueT9tTu3qPeow==” – выключает. В принципе, этого достаточно, но мысль человеческая на этом не остановилась, и расшифровала эту магию. Выяснилось, что розетка разговаривает на JSON! И после декодирования это превращается в ’{“system”:{“set_relay_state”:{“state”:1}}}’ или {“state”:0}, соответственно. И если [“emeter”][“get_realtime”][“power”] > 1500, то чайник включился и работает. А если нет, то «Чайник не включился. Вставай и иди». А чтобы не забыть вечером «зарядить» чайник, Яша проверяет перед сном, что розетка чайника выключена. Это хорошая примета, обещающая утром вскипевший чайник #Jarvis

2 комментария: