Умный дом: Domoticz.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 17 сен 2017.

Метки:
  1. woow

    woow Гик

    Пока что не получается у меня камеры с процессорами HI3518EV200 и HI3516CV300 . Тут есть генератор строки URL http://www.ispyconnect.com/man.aspx?n=HiSilicon может кому и поможет, для моих камер - у вы HTTP нет.
    Надо искать мене надёжный для этой задачи путь - организовать обратную связь. Воротами управляет реле на ESP8266 с ESPEasy начинкой.
    Посылаю команду по HTTP с удержанием замкнутых контактов на 1 секунду и вся логика, а как с этим Domoticz по MQTT обходится? На MQTTLens приходят сообщение о получение команды ( /gate/gpio/12 0 или 1).
    Чем ловить на Domoticz где можно видеть эту информацию.
     
    ИгорьК нравится это.
  2. ИгорьК

    ИгорьК Гуру

    Есть http - и делай http запрос.

    upload_2018-4-10_10-50-40.png



    upload_2018-4-10_10-46-4.png


    А здесь придется установить Node Red и серьезно поколдовать.

    Неужели там не настраивается http ответ? Хотя если у Domoticz адрес серый то только брокер и Node Red.

    Кратко объяснял здесь: http://forum.amperka.ru/threads/Умный-дом-domoticz.12911/page-3#post-134064
     
  3. woow

    woow Гик

    Тут понятно куда и какую команду писать, это всё работает, но когда посылаешь команду включить реле она включается и кнопка на ИмпериХоме меняет цвет с зелёного на красный, прошла секунда контакты реле разомкнулись состояние ГПИО изменилось, но виртуальная кнопка остаётся красной, это ни куда не годится, вот потому и поднял такой вопрос. ИП у меня белый (заплатил провайдеру чтоб не мучится :) )
     
  4. ИгорьК

    ИгорьК Гуру

    Дык, напишите скрипт что возвращает ее обратно через Blocky:

    upload_2018-4-10_11-41-41.png

    Это пример. Поковыряйтесь сами.
     
    woow нравится это.
  5. ИгорьК

    ИгорьК Гуру

    upload_2018-4-10_11-47-2.png
     
    woow нравится это.
  6. woow

    woow Гик

    Ок. Пойдём туда. Если найду, отпишусь.
     
  7. BuddhaZen

    BuddhaZen Нуб

    Всё это хорошо, но как же контроль текущего состояния? А если команда на выключение дана, а устройство ее пропустило? ) Или делать обмен устройства с сервером с точками подтверждения, или уже прописывать отключение в самом датчике, надежность будет выше
     
  8. ИгорьК

    ИгорьК Гуру

    Да кто мешает... Вариантов десятки. Возьмите и конкретно поработайте с товарищем, задавшим вопрос. Доведите его до электронной нирваны высшей степени надежности :)
     
  9. SergeiL

    SergeiL Оракул Модератор

    А какие проблемы, периодически, с устройства передавать состояние?
    У меня с ESP выключателей, состояние по MQTT, передается в случае изменения или раз в 3 минуты.

    При этом не разу пока не сталкивался с тем, что в агрегаторе команда дана, а на устройстве изменения не произошло.

    В случае с выключателем, у меня, приоритетом является выключенное состояние, вне зависимости от состояния клавиши, и далее приоритет клавиша выключателя.

    То есть, включили питание, - свет выключен вне зависимости от состояния клавиш и выключателей в агрегаторе.

    Если клавиша осталась в включенном состоянии - выключил / включил - зажегся свет.

    При подключении по MQTT, в первые 3 секунды после подключения, все полученные по MQTT команды игнорируются. Далее через 3 мин устройство передаст состояние выключателей в агрегатор.

    В таком варианте нет ситуаций, когда ты включаешь физический выключатель, а через секунду свет выключается. Такое было после реконнекта, так как агрегатор не знает, что включили выключатель, пока не было соединения.
     
    Последнее редактирование: 16 апр 2018
  10. ИгорьК

    ИгорьК Гуру

    Если ты пользуешься чьей-то системой сборки прошивки на сайте - это вряд-ли решаемо. Это надо писать самому.
     
  11. BuddhaZen

    BuddhaZen Нуб

    Думаю это очень не удобно, когда свет будет сам периодически выключаться если произойдет ребут ESP )). Да ладно когда свет, а если на данном реле полив или что-то более важное? Без контроля состояния - любая автоматизация это детские, ничего не стоящие игрушки, говорю как инсталлятор систем автоматизации)).

    Я с недельку всего ковыряю ESP, и не берусь даже перечить, не то что давать советы местным гуру, просто насущное - сам начал разбираться с переключателя и сразу уперся в то, что нет контроля состояния. Уверен что есть более действенные методы, но пока тестирую вариант с дополнительными переменными, которые передаются в обе стороны при переключении и сервер просто сверяет их соответствие с текущим состоянием иконки выключателя. Т.е. ESP перезапустилось и шлет на сервер - я перезапустилось (значит состояние порта выключателя у меня off по умолчанию), сервер принимает и смотрит - ага, но у меня-то состояние на данный момент - включено - значит отправить команду на включение. Конечно самый действенный - это контроль напряжения на порту, например с помощью встроенного в ESP ацп, и сравнение с текущим состоянием переключателя на сервере, там уже не ошибешься.
     
  12. ИгорьК

    ИгорьК Гуру

    Тема эта несложная. Исполнительное устройство может:
    - периодически сообщать о своем состоянии
    - отвечать на вопрос о своем состоянии

    Во всяких прошивках, широко применяемых мастерами ESP что "под заказ" - это не реализовано. Если писать самому - не вижу проблемы вообще.
     
  13. ИгорьК

    ИгорьК Гуру

    Замечу, я не "специалист" по этим прошивкам (типа Блинк и т.п.) и знаю их плохо. Просто лабаю на Lua то что мне нужно и все.

    Кроме того, в протоколе MQTT есть такая опция Retain - ей тоже прикольно пользоваться.
    Например, устройство открывает бочку для полива и засыпает: кран он открылся, чего еще надо.
    Потом просыпается и закрывает кран через час. Перед тем как уснуть, отправляет на брокер сообщение с флагом Retain. Другое устройство гарантированно его забирает, сообщение удаляет и, например, открывает кран для наполнения этой бочки.
    Вот и все взаимодействие.
     
  14. SergeiL

    SergeiL Оракул Модератор

    А с чего произойдет ребут ESP? Зачем Вам его делать? Залил прошивку и забыл. Электричество, за последние года три, выключали два раза, прошивку за последний год я заливал три раза.
    Все! OH с ESP работает с 2015-го. Первый выключатель света установил в ноябре 2016-го, за все время ни одного произвольного рестарта. Состояния контролируются:
    esp_status.png
     
  15. SergeiL

    SergeiL Оракул Модератор

    Согласен, у меня Retain включен, но тут нужно хорошо понимать, что и как работает.
    И, естественно, ставить приоритеты! :) У меня главное - выключатель на стене. :)

    В самом начале был случай, перезапускал Wi-Fi пошел в комнату, включил свет настенным выключателем. Свет загорелся, а за это время, ESP законнектилась на OH и получила Retain, что свет выключен. - ESP выключила свет. Я снова включаю свет настенным выключателем, а ESP, в этот момент переподключается, так как точка далеко, и снова получает Retain, что свет выключен. Свет снова гаснет.

    После этого считаю выключатели основными! Электричество не часто выключают, семья не видит отличия от обычной проводки.

    Поэтому и скидываю все приходящие сообщения, первые 3 сек, после подключения.
     
  16. ИгорьК

    ИгорьК Гуру

    Имхо, Retain так применять нельзя.
    Он только для случаев планового выключения клиентов, а не аварийного.
     
  17. BuddhaZen

    BuddhaZen Нуб

    Как скажете)
     
  18. SmartBoy

    SmartBoy Нерд

    Доброй ночи, тоже пытаюсь настроить регулировку громкости из Domoticz на Raspberry Pi 3
    (Raspbian GNU/Linux 9 (stretch))

    Не отрабатывает запуск скрипта "/home/pi/domoticz/scripts/bash/vol.sh" из системы Domoticz.
    Из терминала скрипт (/home/pi/domoticz/scripts/bash/vol.sh) выполняется. Права на скрипт '0777'.

    Почему не понимаю, подскажите в чем причина????

    Скрипт Lua (Volume). Пользовательские переменные 'SetVol', 'STemp' , используются только для отладки скрипта:

    Код (Text):
    local sname = 'Громкость'

    commandArray = {}

    local dd = 0;

    if(devicechanged[sname] ~='Off') then

    if(devicechanged[sname] =='On') then
      dd = 100;
    else
      dd = otherdevices_svalues[sname];
    end  
     
    else
      dd = 0;
    end  

    commandArray['Variable:SetVol'] = tostring(dd);

    runcommand = "/home/pi/domoticz/scripts/bash/vol.sh "..dd;
    commandArray['Variable:STemp'] = runcommand;

    os.execute (runcommand);
    return commandArray
    Скрипт BASH (/home/pi/domoticz/scripts/bash/vol.sh):

    Код (Bash):
    #!/bin/sh
    amixer set Master $1%
    Логи из web интерфейса Domoticz:

    upload_2018-5-19_23-26-29.png

    upload_2018-5-19_23-32-23.png

    P.S.: Начинающий пользователь Domoticz.
     
  19. Palkin81

    Palkin81 Нуб

    Здравствуйте, уважаемые.
    Подскажите пожалуйста, есть esp8266 и датчик bme280, как это подключить к domoticz посредством MQTT? Интересует формат передаваемых данных.
    пробую так:
    HTML:
     /json.htm?type=command& param=udevice&idx=23&nvalue=0&svalue=25.8;40.3;0;747.70;0
    работает. А через MQTT вообще никак - или неправильный формат, или пишет все данные одной строкой, не раскладывая по датчикам...
     
  20. ИгорьК

    ИгорьК Гуру