связь с уст-ми по ir и 433 через broadlink и usb tv dongle

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

Модератор: immortal

slavonu82
Сообщения: 9
Зарегистрирован: Чт авг 08, 2019 10:41 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение slavonu82 » Пт авг 09, 2019 6:38 pm

SrFatCat писал(а):
Пт авг 09, 2019 10:49 am
slavonu82 писал(а):
Пт авг 09, 2019 8:38 am
nick7zmail писал(а):
Пт авг 09, 2019 12:52 am
2) У устройств должен быть ID Или что то в этом роде. Надо по нему фильтровать показания.
Каким образом можно фильтровать? Я новичек и не хотелось бы изобретать велосипед.
Ну тут как раз тот случай, когда каждый изобретает свой велосипед :D Я, к примеру, сделал объект
RTL_433_MQTT, который привязал к соответствующиму топику и при поступлении новых данных в него
разбираю JSON, распихивая данные из него по объектам датчиков. В объектах-датчикаков добавил свойство
ID. К сожалению, не со всеми прилетает ID, кроме того у большинства датчиков ID генерируется по новой при
каждом сбросе/установке батареек, но у меня все датчики разные и не совпадающие по имени с соседями, так
что фильтрую по имени. Привязка сопливая, но других вариантов не нашел.
Я далеко не гуру и наверняка есть более изящные способы, тем не менее, если такой вариант устроит - могу поделиться.
Был бы очень признателен!
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Сб авг 10, 2019 4:30 pm

Я модифицировал класс SSensors добавив туда свойство mqtt_data и метод, которые вызывается при обновлении этого свойства mqttUpdated.
Создаем объект этого класса SMQTTRTL_433, и модифицируем его метод mqttUpdated на вызов Сценария mqtt2obj.
В устройствах MQTT топик rtl_433 привязываем к свойству SMQTTRTL_433.mqtt_data
Далее создаем сколько надо объектов SHumSensors и STempSensors и добавляем у каждого объекта свойство mqtt_model, записав в его значение то, что прилетает в rtl_433 (например "model":"THGR810" - прописываем THGR810).

Всё.
Текст Сценария mqtt2objПоказать

Код: Выделить всё

$jsonanswer=gg("SMQTTRTL_433.mqtt_data");
$data=json_decode($jsonanswer,true);
$objects=getObjectsByClass("STempSensors");
foreach($objects as $obj) {
  $obj_model = gg($obj['TITLE'].".mqtt_model");
  if (strcmp($obj_model, $data['model']) == 0){
   	if ($_SERVER['REQUEST_TIME'] - gg($obj['TITLE'].".updated") > 300 || gg($obj['TITLE'].".value") !=$data['temperature_C']){
    	sg($obj['TITLE'].".value", $data['temperature_C']);
    }
  }
}
$objects=getObjectsByClass("SHumSensors");
foreach($objects as $obj) {
  $obj_model = gg($obj['TITLE'].".mqtt_model");
  if (strcmp($obj_model, $data['model']) == 0 && ($_SERVER['REQUEST_TIME'] - gg($obj['TITLE'].".updated") > 300 || gg($obj['TITLE'].".value") !=$data['humidity'])){
     sg($obj['TITLE'].".value", $data['humidity']);
  }
}
За это сообщение автора SrFatCat поблагодарил:
slavonu82 (Пн авг 12, 2019 5:25 pm)
Рейтинг: 1.16%
slavonu82
Сообщения: 9
Зарегистрирован: Чт авг 08, 2019 10:41 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение slavonu82 » Вс авг 11, 2019 8:53 pm

Все сделал, только пишет что SMQTTRTL_433 не обновляется, хотя из MQTT значение приходит в mqtt_data.
Соответственно скрипт не запускается. Если скрипт запустить вручную, все нормально отрабатывает.
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Вс авг 11, 2019 10:08 pm

slavonu82 писал(а):
Вс авг 11, 2019 8:53 pm
Все сделал, только пишет что SMQTTRTL_433 не обновляется, хотя из MQTT значение приходит в mqtt_data.
Соответственно скрипт не запускается. Если скрипт запустить вручную, все нормально отрабатывает.
Это:
Opera Снимок_2019-08-11_220658_192.168.0.60.png
Opera Снимок_2019-08-11_220658_192.168.0.60.png (26.75 КБ) 4456 просмотров
Не забыли?
За это сообщение автора SrFatCat поблагодарил:
slavonu82 (Пн авг 12, 2019 5:24 pm)
Рейтинг: 1.16%
slavonu82
Сообщения: 9
Зарегистрирован: Чт авг 08, 2019 10:41 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение slavonu82 » Вс авг 11, 2019 10:29 pm

Спасибо! Все заработало!
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Пн авг 12, 2019 11:30 am

slavonu82 писал(а):
Вс авг 11, 2019 10:29 pm
Спасибо! Все заработало!
Не за что. Но "спасибо" принято выражать нажатием кнопки соответствующей... ;)
За это сообщение автора SrFatCat поблагодарил:
slavonu82 (Пн авг 12, 2019 4:44 pm)
Рейтинг: 1.16%
slavonu82
Сообщения: 9
Зарегистрирован: Чт авг 08, 2019 10:41 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение slavonu82 » Пн авг 19, 2019 8:18 am

На данный момент все датчики работают нормально.
Датчик температуры от метеостанции - работает четко, присылает данные раз в минуту.
Использую датчики 433 из комплекта inwin sc-4.
Датчик движения - срабатывает четко, но в системе видно его через раз (буду еще думать над этой проблемой)
Датчик протечки - выдает три кода: код протечки, код устранения протечки и раз в час код о своем существовании.
А вот с датчиком дыма - проблема. В нем стоит EV1527 и почему-то в MQTT ничего не приходит...
Есть ли у кого-нибудь наработки? Я так понимаю, что не работает протокол rcswitch.
В консоль RTL_433 тоже не приходит. Пробовал кнопку от звонка - тишина.
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Пн авг 19, 2019 11:22 am

Судя по всему, в RTL_433 нет поддержки протоколов от звонка и датчика дыма. Как вариант спросить в issues на гитхабе. Ну или самому снифить и мучаться что там к чему...
slavonu82
Сообщения: 9
Зарегистрирован: Чт авг 08, 2019 10:41 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение slavonu82 » Пн авг 19, 2019 12:27 pm

Там микросхема EV1527, думаю у нее один и тот же протокол во всех устройствах.
SrFatCat
Сообщения: 146
Зарегистрирован: Пн янв 07, 2019 6:55 pm
Благодарил (а): 10 раз
Поблагодарили: 9 раз

Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle

Сообщение SrFatCat » Пн авг 19, 2019 1:01 pm

slavonu82 писал(а):
Пн авг 19, 2019 12:27 pm
Там микросхема EV1527, думаю у нее один и тот же протокол во всех устройствах.
Модуляция там ООК, это единственное, что можно сказать определенно. А вот какой там протокол
из этих импульсов - есть масса вариантов.
Ответить