Плагин MQTT



  • https://www.zigbee2mqtt.io/devices/WSDCGQ11LM.html
    Описание работы с этим датчиком



  • JSON.parse(value).temperature это формула, топик пропиши свой000c2dd2-9720-4a64-a9ab-f6d4facde800-image.png
    3b500622-6927-459e-b616-173ff72b3214-image.png



  • Да. Так все заработало. Спасибо. Т,Е. нужно было из этой длинной строки выделить нужное значение?



  • Еще вопрос. Как пересчитать значение атмосферного давления. Этот датчик показывает в кПа. Как перевести это в привычные мм.рт.с. Значение нужно * на 7.5. Как это реализовать?



  • 0.75*(JSON.parse(value).pressure)
    так надо пробовать, это просто математика



  • Подскажите как с датчика температуры (устройство) передать значение по mqtt на другое устройство?



  • Подскажите как передать полученное значение с канала в сценарий который запускается при получении топика



  • @div115, добрый день
    При запуске сценария при получении топика функция start автоматически получает объект {topic, message} как входящий аргумент:

    script({
        start({topic, message}) {
            this.log('Topic '+topic+' message='+message);
        }
    


  • @intrapro
    Спасибо, - то что нужно, а я уже собирался делать виртуальные дубли устройств и их явно привязывать к каналу.



  • Добрый день!
    Настроил плагин на работу с Wiren Board 6. Все работает!
    IH стоит непосредственно на WirenBoard.
    После перезагрузки устройства IH работает корректно какое-то время, а затем перестает работать.
    Как локализовать проблему?



  • @laronov Пожалуйста, немного подробнее. Какую версию системы используете? Что значит перестает работать?



  • @IntraVM
    Использую IH4
    При нажатии на лампочку должен отключаться свет (после перезагрузки так и работает), но через некоторое время при нажатии на лампочку в интерфейсе она гаснет, а свет не отключается



  • Добрый день!, Скажите пожалуйста , какую формулу для извлечения записать .
    16.01 14:49:31 => {"Time":"2022-01-16T14:49:30","RfReceived":{"Data":"0x49C","Bits":12,"Protocol":8,"Pulse":426}}
    Нужно значение Data , а оно в 16ричном формате.
    JSON.parse(value).RfReceived. Data (вот это не понимает)



  • @thunder_d, добрый день. Вы все верно сделали, осталось перевести из 16-ричного в десятичный формат с помощью parseInt( строка, 16-система исчисления). Формула в итоге:

    parseInt(JSON.parse(value).RfReceived.Data, 16)



  • Получилось, спасибо за быстрый ответ.



  • Подключил к датчику, показывает значения нормально, теперь нужно как то включать и выключать исполнительное устройство. Ну это наверно не сюда.... в сценарии...?, спасибо еще раз.



  • Здравствуйте! Прошу помощи: какая формула входного значения должна быть?
    01:01:15 MQT: tele/sonoff_term/SENSOR = {"Time":"1970-01-01T01:01:15","DHT11-02":{"Temperature":21.3,"Humidity":64.0},"DHT11-04":{"Temperature":21.9,"Humidity":62.0},"TempUnit":"C"}

    Вот что получается с формулой: JSON.parse(value).DHT11-04.Temperature
    value: '{"Time":"1970-01-01T01:08:15","DHT11-02":{"Temperature":21.4,"Humidity":64.0},"DHT11-04":{"Temperature":21.9,"Humidity":62.0},"TempUnit":"C"}' } ]
    set { STEMP_2_2: { aval: NaN, err: 0 },



  • @konia74, добрый день.
    Ваша формула не работает из-за знака "-" в названии свойства
    Такой вариант должен работать:

    JSON.parse(value)["DHT11-04"].Temperature
    


  • @intrapro Спасибо! Заработало!



  • Подскажите формулу расчета входного значения, на окне стоит геркон топик приходит как on/off а надо как я понимаю 1/0.


Log in to reply