Упhавление светом c Openhab

Всем привет! прошу помощи, разобраться с логикой работы)))

Пытаюсь реализовать одну идею управления освещением используя raspberry pi + openhab. Имею контроллер с RS485, 3х контактными реле и цифровыми входами до 220В.

Схема (рис)

Упhавление светом c Openhab Openhab, Raspberry pi, Освещение, Python, Логика

S1 - проходной выключатель. лампа, контроллер.


Принцип работы как в системе с 2мя проходными выключателями, только здесь вместо второго 3х контактное реле. Для контроля состояния лампы использую входы контроллера, если на них 220 то 1, если нет, то 0.


С openhab'ом взаимодействую с помощью питоновского скрипта и библиотеки openhab.

В openhab'е есть виртуальный переключатель switch (пример рис 2) с состояниями ON и OFF. который дублирует реле.

Упhавление светом c Openhab Openhab, Raspberry pi, Освещение, Python, Логика

Соответственно в скрипте могу считать цифровой вход контроллера и проверить состояние лампы, так же могу получить состояние виртуального выключателя из Openhab.


Вот только ума не приложу как постоить код управления.


Получается после включения системы свет выключен и реле и выключатель s1 и виртуальный выключатель находятся в выключенном состоянии.


Если я нажимаю S1 в комнате свет загорается...но мне так же необходимо вместе с этим, чтобы в браузере обновилось состояние выключателя по состоянию цифрового входа (что тоже могу сделать) (если был включе свет из openhab, а потом выключен с S), но как только  то в опенхабе ползунок автоматом вернется в состояние "выключено") я обновляю виртуальный выключатель,то у меня происходит событие по изменению его же состояния , а так как мне необходимо постоянно мониторить и его самого, то это вызывает обратное переключение реле в выключенное состояние...и в итоге все начинает мигать)) либо тупо не работает.


Если я не обновляю состояние виртуального выключателя, то все работает, но со стороны браузера выглядит не красиво. Так как например свет если включен , то виртуальный выключатель находится в состоянии выключено и наоборот.


Может кто подобное делал, подскажите что нибудь?

TECHNO BROTHER

1.6K поста12.4K подписчиков

Добавить пост

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины

1
Автор поста оценил этот комментарий

А зачем проходной выключатель?

1. подключи обычный выключатель от земли к контроллеру через подтяжку к питанию;

2. отслеживай изменение положения выключателя, соответственно изменяя состояние релле;

3. аналогично ожидай команды от опенлаба для управления реле;

4. реле коммутирует лампу;

5. profit

раскрыть ветку
3
Автор поста оценил этот комментарий

Только два вопроса: что это, 6лять и зачем?

раскрыть ветку
Автор поста оценил этот комментарий
Дружище! Ты с проблемой разобрался? У меня такая же ситуация. Не могу никак придумать как допилить
раскрыть ветку
Автор поста оценил этот комментарий
Вообще не бьется соотношение цена/практичность
раскрыть ветку
Автор поста оценил этот комментарий
Эммм, какой сложный выключатель, с компутером и программным обеспечением, а электронный ключ не проще? Главное, как все технически просто и логично, а еще можно два выключателя с двумя позициями взять
раскрыть ветку