Когда шил Sonoff Basic для использования с насосом циркуляции в Home Assistant, при доработке прошивки (хотел видеть уровень сигнала, так как Sonoff в подвале) наткнулся на баг: при использовании примера с https://esphome.io/components/sensor/wifi_signal.html и добавлении блока с platform: copy получал неработоспособный wifi: устройство раз в несколько минут появлялось в сети на несколько секунд с жуткими лагами. Когда словил момент и добрался до веб-интерфейса, то там был captive portal (хоть увидел, как выглядит). Если ограничиться только первым блоком (т.е., выводом уровня только в dB), то все работает. Пока не репортил. На других модулях это работает без проблем.
Архив рубрики: Программирование
Добавил подсветку для кухни и первую автоматизацию в HA
EOL для прошивок измерителей сети
На волне увлечения ESP Home и Home Assistant решил мигрировать используемые измерители для главного щитка и на инверторах солнечных панелей с самописных прошивок на ESP Home.
Модуль управления бойлером
Продолжение темы создания модулей для домашней автоматизации и “умного дома” на базе недорогих микроконтроллеров.
Примеры кода для PyXMPP и XMPPpy
Пока писал различные транспорты / сервисы для jabber’а – часто приходилось выискивать примеры кода, чтобы понять, какие блоки для чего использовать, чтобы вырисовать нужный XML. С PyXMPP было проще – под рукой было 2 проекта с неплохим объемом кода, на котором можно было учиться – наверное, поэтому мне больше PyXMPP и полюбился. С XMPPpy было сложнее, но в итоге разобрался.
В данной заметке – куски кода из моих проектов, реализующие ту или иную функцию. Код, в основном, скопирован “как есть” – разве что с удалением часто повторяющихся одинаковых блоков. Основная задача – показать последовательность действий, которая нужна для “рисования” нужного XML’а.
Google Translate Transport (service) for XMPP
Еще один проектик для jabber’а.
В конференции саппорта сервера jabbercity.ru с Lex’ом как-то зашла речь за перевод через гугл. Собственно, мне самому давно была интересна эта тема – боты переводчики, бывшие в таблице на JabberWorld, давно перестали работать, а новых не появлялось. Но я считал, что там надо будет активно изучать API гугла, создавать пары ключей и заниматься тому подобными вещами. Тут же Lex кинул пару функций, там все оказалось гораздо проще. Потом на stackoverflow нашел еще более интересный вариант (фактически – упрощенный и использующий меньше библиотек) – и завертелось.
В копилку ссылок: бридж BT-Wifi для мультиварок Redmond
Искал мультиварки-самоделки на ESP32 или чем-то таком, нашел бридж для подключения мультиварок/чайников/прочих девайсов с Bluetooth к умному дому:
- https://github.com/alutov/ESP32-R4sGate-for-Redmond
- https://petro.ws/smart-multivarka/ – просто статья в тему.
Нагрузка на базу у RSS-транспорта
На сейчас вырисовался уже график, можно сделать для себя пару заметок.
Архив сообщений в RSS-транспорте и веселый юникод-2
Да, я снова вляпался в utf8mb4.
Читать далее Архив сообщений в RSS-транспорте и веселый юникод-2
Работа над JabRSS
Одним из первых jabber-проектов в собранном архиве, который пробовал запускать у себя, стал JabRSS – бот для чтения новостных лент.
Предыстория: на начало войны хотелось получать новости в jabber'e более-менее реалтайм, но оригинальный инстанс JabRSS делал апдейты не чаще, чем раз в 45 минут, что я первым делом и исправил, после чего и решил держать свой инстанс на своем сервере.
Бот вполне успешно запустился на python2 и python3.7, но отказался запускаться на python3.9, сославшись на устаревший атрибут getchildren() в xml.etree.ElementTree.Element. Бот в итоге был запущен на сервере под python2 с пакетом библиотек под него; я подергал на эту тему H31, чтобы тот как-то помог и на том все затихло. Я увлекся работой над RSS-транспортом – в итоге на сейчас JabRSS не особо и нужен, транспорт стал более продвинутым и удобным в использовании.
Однако сейчас все же решил поставить уже какую-то точку насчет JabRSS – если там не сильно сложно его доработать – а опыт работы с Python у меня уже немного есть – то почему бы и нет?