1

Тема: Raspberry Pi + openHAB + RM Pro

Бюджетный вариант "Умного дома" с использованием оборудования Broadlink.
В качестве центрального элемента системы используетя одноплатный компьютер Raspberry Pi 3 с платформой автоматизации openHAB.
Передачу управляющих сигналов обеспечивает контроллер Broadlink RM Pro, с его помощью организована передача сигналов через инфракрасный порт
и радиоканал на частоте 433 MHz. Исполнительным устройством системы освещения выступает сенсорный выключатель производства компании Livolo с возможностью
управления по радиоканалу.

Взаимодействие между Raspberry и Pi RM Pro реализовано при помощи библиотеки python, которая
обеспечивает простой интерфейс взаимодействия с различным оборудованием Broadlink. Возможность создавать свои скрипты это удобная альтернатива e-Control.
При помощи скриптов и библиотеки можно из коммандной строки Linux:
- Получать и передавать данные RM2.
- Получать данные датчиков A1.
- Управлять состоянием SmartPlug SP2/SP3/MP1

Подробная инструкция по настройке связки Raspberry Pi + openHAB + RM Pro для управления выключателем Livolo приведена на сайте sh.sameak.ru

2

Re: Raspberry Pi + openHAB + RM Pro

Состоялся релиз openHAB 2.0
Добавлен пример настройки https://sh.sameak.ru/ru/configuration_openhab2/

3 (23-03-2017 09:50:16 отредактировано Rise)

Re: Raspberry Pi + openHAB + RM Pro

Добрый день!
Я новичок во всем этом. Объясните пожалуйста, зачем в этой схеме нужен Raspberry Pi + openHAB? вроде же RM Pro итак всё умеет?

4 (05-04-2017 07:04:20 отредактировано info_sameak)

Re: Raspberry Pi + openHAB + RM Pro

RM Pro - это по своей сути просто приемник/передатчик сигналов. Он не занимается обработкой логики и не хранит каких либо кодов.
Фирменное приложение обеспечивает сохранение кодов на телефоне (планшете, облаке), но при этом работает с ограниченным набором оборудования. Иногда этого функционала вполне достаточно.

Raspberry Pi + openHAB - позволяет решать больше задач. Простой пример: RM Pro не имеет возможности контролировать состояние приборов. Вот отправили мы код на выключатель, а включился свет или нет мы не можем сказать с уверенностью. Но мы можем подключить в систему сторонний прибор с фоторезистором (ESP8266, Arduino...) и с помощью его показаний обеспечить логическую обработку. Проще говоря написать инструкцию для openHAB (если отправлен сигнал на выключатель, но свет не включился то отправить сигнал повторно через 5 секунд)

Система openHAB позволяет интегрировать множество различных устройств, настраивать различные сценарии взаимодействия и создавать удобные пользовательские интерфейсы для различных устройств (телефонов, планшетов, компьютеров).
В новой версии openHAB 2 появился удобный интерфейс HABPanel, с его помощью довольно просто создавать интерфейсы пользователя для различных платформ.

5

Re: Raspberry Pi + openHAB + RM Pro

info_sameak
Спасибо за информацию, на её основе пытаюсь сделать управление обогревателем на даче. Обогреватель подклчен через розетку SP2.
Однако есть вопрос, ответ на который не могу пока найти. При работе умной розетки (SP2), если я использую параметр interval=0, то не обновляется актуальный статус розетки (вкл/выкл, если её включать и выключать вручную, а не через openhab). Если ставлю параметр 5-10 секунд, то статус отображается, но часто в логах возникает ошибка:
Traceback (most recent call last):
  File "/opt/broadlink/sp2read.py", line 14, in <module>
    devices.auth()
  File "/usr/local/lib/python2.7/dist-packages/broadlink-0.3-py2.7.egg/broadlink/__init__.py", line 175, in auth
    response = self.send_packet(0x65, payload)
  File "/usr/local/lib/python2.7/dist-packages/broadlink-0.3-py2.7.egg/broadlink/__init__.py", line 250, in send_packet
    response = self.cs.recvfrom(1024)
socket.timeout: timed out

sp2read.py - это простейшая функция, которая считывает статус розетки и возвращает True или False.

6

Re: Raspberry Pi + openHAB + RM Pro

otherman2011 пишет:

info_sameak
но часто в логах возникает ошибка:
Traceback (most recent call last):
  File "/opt/broadlink/sp2read.py", line 14, in <module>
    devices.auth()

Ошибка связана с тем что функции не удалось получить ключ аутентификации, необходимый для дальнейшего обмена данными.
В моем случае используется два устройства Broadlink поэтому в скриптах я обращаюсь к устройствам используя ip и mac, но иногда действительно не происходит обмен данными.

Пример:
devices = broadlink.rm(host=("10.0.1.30",80), mac=bytearray.fromhex("B4430DEEED15"))
devices.auth()

Иногда лучше использовать
devices = broadlink.discover(timeout=5)
devices[0].auth()

В любом случае мои инструкции лишь задают возможное направление, а конкретная реализация за вами. Успехов.

7

Re: Raspberry Pi + openHAB + RM Pro

info_sameak
Подскажите, вам удалось решить проблему устойчивого считывания состояния переключателя или в вашей задаче это не требовалось? Дело в том, что при interval=0 обновления состояния в интерфейсе не происходит. При всех остальных разумных значениях (до 10), в лог валятся ошибки таймаута, как описано выше. Чем меньше интервал, тем чаще ошибки в логах.

8

Re: Raspberry Pi + openHAB + RM Pro

otherman2011 пишет:

info_sameak
Подскажите, вам удалось решить проблему устойчивого считывания состояния переключателя или в вашей задаче это не требовалось?

В своем решении использую только RM Pro для передачи ИК и Радио сигналов. С остальным оборудованием Broadlink не работал.

9

Re: Raspberry Pi + openHAB + RM Pro

а с помощью openhub можно управлять broadlinkом с помощью url ссылок? если да, то потенциально можно прикрутить сири с помощью "команд" ios 12. и еще вопрос, реально этот openhub установить на простенький NAS qnap d1?