Был бы очень признателен!SrFatCat писал(а): ↑Пт авг 09, 2019 10:49 amНу тут как раз тот случай, когда каждый изобретает свой велосипедslavonu82 писал(а): ↑Пт авг 09, 2019 8:38 amКаким образом можно фильтровать? Я новичек и не хотелось бы изобретать велосипед.nick7zmail писал(а): ↑Пт авг 09, 2019 12:52 am2) У устройств должен быть ID Или что то в этом роде. Надо по нему фильтровать показания.Я, к примеру, сделал объект
RTL_433_MQTT, который привязал к соответствующиму топику и при поступлении новых данных в него
разбираю JSON, распихивая данные из него по объектам датчиков. В объектах-датчикаков добавил свойство
ID. К сожалению, не со всеми прилетает ID, кроме того у большинства датчиков ID генерируется по новой при
каждом сбросе/установке батареек, но у меня все датчики разные и не совпадающие по имени с соседями, так
что фильтрую по имени. Привязка сопливая, но других вариантов не нашел.
Я далеко не гуру и наверняка есть более изящные способы, тем не менее, если такой вариант устроит - могу поделиться.
связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Модератор: immortal
-
- Сообщения: 9
- Зарегистрирован: Чт авг 08, 2019 10:41 pm
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
-
- Сообщения: 146
- Зарегистрирован: Пн янв 07, 2019 6:55 pm
- Благодарил (а): 10 раз
- Поблагодарили: 9 раз
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Я модифицировал класс SSensors добавив туда свойство mqtt_data и метод, которые вызывается при обновлении этого свойства mqttUpdated.
Создаем объект этого класса SMQTTRTL_433, и модифицируем его метод mqttUpdated на вызов Сценария mqtt2obj.
В устройствах MQTT топик rtl_433 привязываем к свойству SMQTTRTL_433.mqtt_data
Далее создаем сколько надо объектов SHumSensors и STempSensors и добавляем у каждого объекта свойство mqtt_model, записав в его значение то, что прилетает в rtl_433 (например "model":"THGR810" - прописываем THGR810).
Всё.
Создаем объект этого класса 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']);
}
}
- Рейтинг: 1.16%
-
- Сообщения: 9
- Зарегистрирован: Чт авг 08, 2019 10:41 pm
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Все сделал, только пишет что SMQTTRTL_433 не обновляется, хотя из MQTT значение приходит в mqtt_data.
Соответственно скрипт не запускается. Если скрипт запустить вручную, все нормально отрабатывает.
Соответственно скрипт не запускается. Если скрипт запустить вручную, все нормально отрабатывает.
-
- Сообщения: 146
- Зарегистрирован: Пн янв 07, 2019 6:55 pm
- Благодарил (а): 10 раз
- Поблагодарили: 9 раз
-
- Сообщения: 146
- Зарегистрирован: Пн янв 07, 2019 6:55 pm
- Благодарил (а): 10 раз
- Поблагодарили: 9 раз
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Не за что. Но "спасибо" принято выражать нажатием кнопки соответствующей...

- Рейтинг: 1.16%
-
- Сообщения: 9
- Зарегистрирован: Чт авг 08, 2019 10:41 pm
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
На данный момент все датчики работают нормально.
Датчик температуры от метеостанции - работает четко, присылает данные раз в минуту.
Использую датчики 433 из комплекта inwin sc-4.
Датчик движения - срабатывает четко, но в системе видно его через раз (буду еще думать над этой проблемой)
Датчик протечки - выдает три кода: код протечки, код устранения протечки и раз в час код о своем существовании.
А вот с датчиком дыма - проблема. В нем стоит EV1527 и почему-то в MQTT ничего не приходит...
Есть ли у кого-нибудь наработки? Я так понимаю, что не работает протокол rcswitch.
В консоль RTL_433 тоже не приходит. Пробовал кнопку от звонка - тишина.
Датчик температуры от метеостанции - работает четко, присылает данные раз в минуту.
Использую датчики 433 из комплекта inwin sc-4.
Датчик движения - срабатывает четко, но в системе видно его через раз (буду еще думать над этой проблемой)
Датчик протечки - выдает три кода: код протечки, код устранения протечки и раз в час код о своем существовании.
А вот с датчиком дыма - проблема. В нем стоит EV1527 и почему-то в MQTT ничего не приходит...
Есть ли у кого-нибудь наработки? Я так понимаю, что не работает протокол rcswitch.
В консоль RTL_433 тоже не приходит. Пробовал кнопку от звонка - тишина.
-
- Сообщения: 146
- Зарегистрирован: Пн янв 07, 2019 6:55 pm
- Благодарил (а): 10 раз
- Поблагодарили: 9 раз
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Судя по всему, в RTL_433 нет поддержки протоколов от звонка и датчика дыма. Как вариант спросить в issues на гитхабе. Ну или самому снифить и мучаться что там к чему...
-
- Сообщения: 9
- Зарегистрирован: Чт авг 08, 2019 10:41 pm
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Там микросхема EV1527, думаю у нее один и тот же протокол во всех устройствах.
-
- Сообщения: 146
- Зарегистрирован: Пн янв 07, 2019 6:55 pm
- Благодарил (а): 10 раз
- Поблагодарили: 9 раз
Re: связь с уст-ми по ir и 433 через broadlink и usb tv dongle
Модуляция там ООК, это единственное, что можно сказать определенно. А вот какой там протокол
из этих импульсов - есть масса вариантов.