Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. ioBroker драйвера
  5. Драйвер Mqtt + Arduino

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Драйвер Mqtt + Arduino

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
244 Beiträge 18 Kommentatoren 76.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E Offline
    E Offline
    electric69
    schrieb am zuletzt editiert von
    #41

    @Bluefox:

    @electric69:

    2. Еще один нюанс.

    Предположим, ардуина управляет двумя лампочками, но работает тоже как MQTT-клиент.

    Для нормального управления (обр. связь чтобы была), надо делать две переменные - in и out (по примеру http://contactless.ru/wiki/index.php/MQTT в контроллере WirenBoard)

    Ардуина в out публикует состояние лампочки, а на переменную in подписывается. Как только in меняется - брокер извещает об изменении ардуину и та принимает решение - включать, отключать, ничего не делать. Для этого в брокере есть ack.. По умолчанию, всё что приходит от клиента имеет ack=true. Всё, что уходит от брокера ack=false. Таким образом можно различать команды и статусы.
    Эээ, все равно чот не понял как это работает))

    Можно чуть подробнее для особо-одаренных? :oops:

    @Bluefox:

    @electric69:

    Адаптер MQTT в ioBroker не умеет, я так понял, публиковать переменные… Как это не умеет? А для чего он тогда нужен?
    Я имел ввиду сам, т.е. без участия клиетов (ардуин)…

    @Bluefox:

    @electric69:

    P.S. Блин, засада, не могу нормально установить альтернативный MQTT-брокет на Windows-машину, у кого-ниб получилось заставить работать http://mosquitto.org/ из-под винды? Я тут бьюсь второй день с этим драйвером, а он другой ищет. :D Нет уж до конца, так до конца. :lol:
    Да не, просто хотел поиграться с этим MQTT, много не понятно.

    А адаптер мы конечно же допилим))
    48_nutzungsrechte_bergabe_vis_template.docx

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #42

      @electric69:

      @Bluefox:

      Есть новая версия. `
      Вроде скетч сработал, но в логе куча сообщений:

      mqtt-0	2015-05-14 22:26:05	info	Send to client [arduinoController] "mqttmqtt/0/arduinoController/sensors": offline
      mqtt-0	2015-05-14 22:26:05	info	Send to client [arduinoController] "mqttmqtt/0/arduinoController/status": online
      .....
      mqtt-0      2015-05-14 22:25:11 info   Send to client [arduinoController] "mqttsystem/adapter/admin/0/uptime": 38
      mqtt-0	2015-05-14 22:25:09	info	Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": offline
      mqtt-0	2015-05-14 22:25:09	info	Create state mqtt.0.arduinoController.sensors
      mqtt-0	2015-05-14 22:25:09	info	Client [arduinoController] publishes "mqtt.0.arduinoController.status": online
      mqtt-0	2015-05-14 22:25:09	info	Create state mqtt.0.arduinoController.status
      mqtt-0	2015-05-14 22:25:09	info	Client [arduinoController] connected
      host-bananapi	2015-05-14 22:23:24	info	Update repository "default" under "conf/sources-dist.json"
      
      ```` `  
      

      Столько много событий из-за того, что клиент не на что не подписывается. Тогда он получает всё.

      Брокер ждёт 2 секунды, прежде чем начать слать данные. 22:25:09 => 22:25:11

      Если убрать флаг "Выдавать собственные значения при старте:" то тогда при соединении ничего отсылаться не будет, но изменения всё равно будут все слаться.

      Надо сделать на клиенте subscribe

      1 Antwort Letzte Antwort
      0
      • E Offline
        E Offline
        electric69
        schrieb am zuletzt editiert von
        #43

        @Bluefox:

        @electric69:

        @Bluefox:

        Есть новая версия. `
        Вроде скетч сработал, но в логе куча сообщений:

        mqtt-0	2015-05-14 22:26:05	info	Send to client [arduinoController] "mqttmqtt/0/arduinoController/sensors": offline
        mqtt-0	2015-05-14 22:26:05	info	Send to client [arduinoController] "mqttmqtt/0/arduinoController/status": online
        .....
        mqtt-0      2015-05-14 22:25:11 info   Send to client [arduinoController] "mqttsystem/adapter/admin/0/uptime": 38
        mqtt-0	2015-05-14 22:25:09	info	Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": offline
        mqtt-0	2015-05-14 22:25:09	info	Create state mqtt.0.arduinoController.sensors
        mqtt-0	2015-05-14 22:25:09	info	Client [arduinoController] publishes "mqtt.0.arduinoController.status": online
        mqtt-0	2015-05-14 22:25:09	info	Create state mqtt.0.arduinoController.status
        mqtt-0	2015-05-14 22:25:09	info	Client [arduinoController] connected
        host-bananapi	2015-05-14 22:23:24	info	Update repository "default" under "conf/sources-dist.json"
        
        ```` `  
        

        Столько много событий из-за того, что клиент не на что не подписывается. Тогда он получает всё.

        Брокер ждёт 2 секунды, прежде чем начать слать данные. 22:25:09 => 22:25:11

        Если убрать флаг "Выдавать собственные значения при старте:" то тогда при соединении ничего отсылаться не будет, но изменения всё равно будут все слаться.

        Надо сделать на клиенте subscribe `
        Понятно.

        Самое интересное, что начинает слать "все" только при рестарте ардуины (при коннекте).

        Следующие паблиши идут нормально:

        ! mqtt-0 2015-05-14 23:39:53 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:39:43 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:39:33 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:39:23 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:39:13 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttmqtt/0/arduinoController/status": online mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttmqtt/0/arduinoController/sensors": offline mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/mqtt/0/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/mqtt/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/mqtt/0/memHeapUsed": 7.31 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/mqtt/0/memHeapTotal": 11.79 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/mqtt/0/memRss": 16.48 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/mqtt/0/uptime": 2 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/email/0/alive": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/email/0/connected": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/email/0/memHeapUsed": 4.99 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/email/0/memHeapTotal": 15.79 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/email/0/memRss": 17.41 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/email/0/uptime": 152 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/email/0/wakeup": undefined mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttical/0/events/Vacation": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttping/0/bananapi/192_168_69_61": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttping/0/bananapi/192_168_69_62": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/onkyo/0/alive": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/onkyo/0/connected": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/onkyo/0/memHeapUsed": 9.26 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/onkyo/0/memHeapTotal": 19.64 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/onkyo/0/memRss": 25.95 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/onkyo/0/uptime": 3724 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/simple-api/0/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/simple-api/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/simple-api/0/memHeapUsed": 7.25 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/simple-api/0/memHeapTotal": 11.79 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/simple-api/0/memRss": 16.45 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/simple-api/0/uptime": 3 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/sayit/0/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/sayit/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/sayit/0/memHeapUsed": 4.99 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/sayit/0/memHeapTotal": 15.79 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/sayit/0/memRss": 16.98 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/sayit/0/uptime": 3 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsayit/0/tts/volume": 70 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsayit/0/tts/text": mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsayit/0/tts/playing": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsayit/0/tts/mp3": undefined mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttvis/0/control/instance": a9809a3c mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttvis/0/control/command": changedView mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttvis/0/control/data": main/DemoView mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/web/0/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/web/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/web/0/memHeapUsed": 10.9 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/web/0/memHeapTotal": 18.68 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/web/0/memRss": 24.76 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/web/0/uptime": 18 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/node-red/0/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/node-red/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/node-red/0/memHeapUsed": 5.68 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/node-red/0/memHeapTotal": 15.79 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/node-red/0/memRss": 17.59 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/node-red/0/uptime": 17 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttvis/0/command": undefined mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/javascript/0/alive": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/javascript/0/connected": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/javascript/0/memHeapUsed": 17.48 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/javascript/0/memHeapTotal": 30.53 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/javascript/0/memRss": 34.31 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/javascript/0/uptime": 185 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ical/0/alive": false mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ical/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ical/0/memHeapUsed": 9.64 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ical/0/memHeapTotal": 18.68 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ical/0/memRss": 23.49 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ical/0/uptime": 3 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttical/0/data/trigger": undefined mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttical/0/data/count": 0 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttical/0/data/table": mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttical/0/data/html": mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/history/0/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/history/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/history/0/memHeapUsed": 4.98 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/history/0/memHeapTotal": 15.79 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/history/0/memRss": 17.4 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/history/0/uptime": 17 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ping/0/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ping/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ping/0/memHeapUsed": 6 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ping/0/memHeapTotal": 16.75 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ping/0/memRss": 17.73 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/ping/0/uptime": 33 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/host/bananapi/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/host/bananapi/load": 1.61 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/host/bananapi/uptime": 33 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/host/bananapi/memRss": 23.6 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/host/bananapi/memHeapTotal": 17.71 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/host/bananapi/memHeapUsed": 9.68 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/host/bananapi/mem": 77 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/admin/0/alive": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/admin/0/connected": true mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/admin/0/memHeapUsed": 14.86 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/admin/0/memHeapTotal": 31.51 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/admin/0/memRss": 31.52 mqtt-0 2015-05-14 23:39:05 info Send to client [arduinoController] "mqttsystem/adapter/admin/0/uptime": 38 mqtt-0 2015-05-14 23:39:03 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": offline mqtt-0 2015-05-14 23:39:03 info Client [arduinoController] publishes "mqtt.0.arduinoController.status": online mqtt-0 2015-05-14 23:39:03 info Client [arduinoController] connected mqtt-0 2015-05-14 23:39:02 info Client [arduinoController] closed mqtt-0 2015-05-14 23:39:02 error [arduinoController] Error: read ECONNRESET mqtt-0 2015-05-14 23:38:58 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:38:48 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:38:38 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:38:28 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 mqtt-0 2015-05-14 23:38:18 info Client [arduinoController] publishes "mqtt.0.arduinoController.sensors": 78 !

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #44

          @electric69:

          Для этого в брокере есть ack.. По умолчанию, всё что приходит от клиента имеет ack=true. Всё, что уходит от брокера ack=false. Таким образом можно различать команды и статусы.

          Эээ, все равно чот не понял как это работает))

          Можно чуть подробнее для особо-одаренных? :oops: `
          На ардуине есть 3 переменные:

          • arduino/out/temperature - актуальная температура

          • arduino/in/light - вкл/выкл света. Причем управляться может, как локально (на ардуине), так и чз ioBroker.

          • arduino/in/interval - как часто надо слать температуру

          Так вот при соединении ардуина всегда шлёт все свои данные, как in, так и out, кроме настроек (interval). Они все в брокере помечаются флагом ack=true. То есть статус подтверждён конечным устройством. Эти данные обратно к ардуине не отсылаются, т.к. флаг true. Да даже если перешлются, то ничего не случится, кроме как включится включенный свет.

          Потом ардуина подписывается на все команды in, то есть````
          subscribe("arduino/in/#")

          subscribe("arduino/in/interval")

          
          Как только в ioBroker в vis нажали кнопку, записывается статус с ack=false. mqtt сервер видит, что пришел статус с ack=false, значит это команда, а не статус и надо отослать это клиенту. Клиент тупо исполняет всё, что приходит от брокера и не надо in и out.
          
          Теперь в игру вступает установка "Выдавать собственные значения при старте:". Т.к клиент подписался в течении 2х секунд после соединения на "arduino/in/#" и "arduino/in/interval", то он получит свои собственные значения обратно и "arduino/in/interval" тоже. Причем если "arduino/in/interval" не существовал раньше на брокере, то придёт значение "null" и его нужно проигнорировать, а если существовал, то придёт нормальное значение, которое нужно принять к сведению и использовать.
          
          ~~@electric69:~~ 
          
          > Я имел ввиду сам, т.е. без участия клиетов (ардуин)… `  
          А вот здесь уже не понял я.. Я так понимаю загвоздка в слове "публиковать".
          
          Что ты подразумеваешь под этим словом?
          
          Я понимаю - "publish", то есть отсылать данные клиентам… А если это так, то как можно отсылать данные клиентам без клиентов (ардуин) ? :)
          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #45

            @electric69:

            Самое интересное, что начинает слать "все" только при рестарте ардуины (при коннекте).

            Следующие паблиши идут нормально: `
            Настройка "Выдавать собственные значения при старте:".

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

            1 Antwort Letzte Antwort
            0
            • E Offline
              E Offline
              electric69
              schrieb am zuletzt editiert von
              #46

              @Bluefox:

              Теперь в игру вступает установка "Выдавать собственные значения при старте:". Т.к клиент подписался в течении 2х секунд после соединения на "arduino/in/#" и "arduino/in/interval", то он получит свои собственные значения обратно и "arduino/in/interval" тоже. Причем если "arduino/in/interval" не существовал раньше на брокере, то придёт значение "null" и его нужно проигнорировать, а если существовал, то придёт нормальное значение, которое нужно принять к сведению и использовать. `
              Так, вот тут еще немного подробнее.

              Я понимаю так. Ардуина подписывается на переменную интервал опроса - она получит эту переменную только в случае её изменения в ioBroker, т.е. делаем на работающей системе рестарт ардуины, в её программе этот интервал сбрасывается на "по-умолчанию" - на ноль (переинициализируется) и все - труба… В зависимости от кода в ардуине - она может начать DDOS на ioBroker)))

              Если в настройках адаптера поставить галочку "Выдавать собственные значения при старте", то при рестарте ардуины, кроме сброса интервала, будет реконнект к MQTT-брокеру, который перешлет данные, на которые подписана ардуина (интервал), даже если они не поменялись - так? И интервал станет нормальным и будут все счастливы...

              1 Antwort Letzte Antwort
              0
              • I Offline
                I Offline
                instalator
                schrieb am zuletzt editiert von
                #47

                Добавить в настройки Настройка времени квантования, если тебе нужен этот интервал

                Высокий уровень Децибел вреден для здоровья!

                http://blog.instalator.ru/

                1 Antwort Letzte Antwort
                0
                • E Offline
                  E Offline
                  electric69
                  schrieb am zuletzt editiert von
                  #48

                  @instalator:

                  Добавить в настройки Настройка времени квантования, если тебе нужен этот интервал `
                  Ммм, сам протокол MQTT не подразумевает такой настройки вроде, тем более это время может быть разное для разных клиентов, для каких то вообще нет необходимости в этой настройке…

                  1 Antwort Letzte Antwort
                  0
                  • I Offline
                    I Offline
                    instalator
                    schrieb am zuletzt editiert von
                    #49

                    @electric69:

                    @instalator:

                    Добавить в настройки Настройка времени квантования, если тебе нужен этот интервал Ммм, сам протокол MQTT не подразумевает такой настройки вроде, тем более это время может быть разное для разных клиентов, для каких то вообще нет необходимости в этой настройке…

                    А причем тут протокол? Речь про драйвер, можнос делать визуальную настройку для каких id задать время квантования (опроса)

                    Высокий уровень Децибел вреден для здоровья!

                    http://blog.instalator.ru/

                    1 Antwort Letzte Antwort
                    0
                    • E Offline
                      E Offline
                      electric69
                      schrieb am zuletzt editiert von
                      #50

                      @instalator:

                      А причем тут протокол? Речь про драйвер `
                      Эээ, драйвер именно который адаптер MQTT в среде ioBroker?

                      Действительно, причем тут MQTT :?
                      @instalator:

                      можнос делать визуальную настройку для каких id задать время квантования (опроса) `
                      В каком смысле id? В MQTT есть топики, паблиши и подписки.

                      З.Ы. Я маленько не понял вашу идею))

                      1 Antwort Letzte Antwort
                      0
                      • I Offline
                        I Offline
                        instalator
                        schrieb am zuletzt editiert von
                        #51

                        @electric69:

                        @instalator:

                        можнос делать визуальную настройку для каких id задать время квантования (опроса) `
                        В каком смысле id? В MQTT есть топики, паблиши и подписки.

                        З.Ы. Я маленько не понял вашу идею)) `
                        Ну варианты разные есть, например брокер будет слать строку клинету с переменной задержки, думаю получить клиенту ее и распарсить нет проблем…

                        Высокий уровень Децибел вреден для здоровья!

                        http://blog.instalator.ru/

                        1 Antwort Letzte Antwort
                        0
                        • I Offline
                          I Offline
                          instalator
                          schrieb am zuletzt editiert von
                          #52

                          Меня вот больше беспокоит, при подключении клиента как данные актуальные передать, чтоб брокер не скидывал их в "0"

                          Высокий уровень Децибел вреден для здоровья!

                          http://blog.instalator.ru/

                          1 Antwort Letzte Antwort
                          0
                          • I Offline
                            I Offline
                            instalator
                            schrieb am zuletzt editiert von
                            #53

                            Сделал вот так себе:
                            266_44444.png
                            При перезагрузке ардуино переменные сбрасываются, надо либо с кодом помудрить либо как то отсекать такие сбросы при инициализации на стороне брокера чтобы в историю эти данные не попадали.

                            Высокий уровень Децибел вреден для здоровья!

                            http://blog.instalator.ru/

                            1 Antwort Letzte Antwort
                            0
                            • E Offline
                              E Offline
                              electric69
                              schrieb am zuletzt editiert von
                              #54

                              @instalator:

                              Ну варианты разные есть, например брокер будет слать строку клинету с переменной задержки, думаю получить клиенту ее и распарсить нет проблем… `
                              Если ioBroker как MQTT-брокер, но он отправит только в 2 вариантах:

                              1. клиент подключен, подписан на переменную и она изменилась (и при условии ack=false),

                              2. клиент только что подключился и подписан на эту переменную - брокер отправит её значение (если установлена в настройках галочка "Выдавать собственные значения при старте")

                              Если я правильно все понял. :oops:
                              @instalator:

                              При перезагрузке ардуино переменные сбрасываются, надо либо с кодом помудрить либо как то отсекать такие сбросы при инициализации на стороне брокера чтобы в историю эти данные не попадали. `
                              В скетче надо составлять условия и публиковать только достоверные данные.

                              Я сейчас занимаюсь отладкой скетча, скоро выложу…

                              1 Antwort Letzte Antwort
                              0
                              • I Offline
                                I Offline
                                instalator
                                schrieb am zuletzt editiert von
                                #55

                                @electric69:

                                В скетче надо составлять условия и публиковать только достоверные данные.

                                Я сейчас занимаюсь отладкой скетча, скоро выложу… `
                                Посмотрим на твое решение) Я уже два клиента практически допилил
                                1547_wohnung.jpg

                                Высокий уровень Децибел вреден для здоровья!

                                http://blog.instalator.ru/

                                1 Antwort Letzte Antwort
                                0
                                • I Offline
                                  I Offline
                                  instalator
                                  schrieb am zuletzt editiert von
                                  #56

                                  Как бы удалить левые данные из объектов mqtt? переменные удалил а папки немогу

                                  Высокий уровень Децибел вреден для здоровья!

                                  http://blog.instalator.ru/

                                  1 Antwort Letzte Antwort
                                  0
                                  • E Offline
                                    E Offline
                                    electric69
                                    schrieb am zuletzt editiert von
                                    #57

                                    @instalator:

                                    Как бы удалить левые данные из объектов mqtt? переменные удалил а папки немогу `
                                    Хмм, я удаляю все топики из папки и она сама исчезает)

                                    1 Antwort Letzte Antwort
                                    0
                                    • I Offline
                                      I Offline
                                      instalator
                                      schrieb am zuletzt editiert von
                                      #58

                                      @electric69:

                                      @instalator:

                                      Как бы удалить левые данные из объектов mqtt? переменные удалил а папки немогу Хмм, я удаляю все топики из папки и она сама исчезает)
                                      Точно! Спасибо.

                                      Высокий уровень Децибел вреден для здоровья!

                                      http://blog.instalator.ru/

                                      1 Antwort Letzte Antwort
                                      0
                                      • E Offline
                                        E Offline
                                        electric69
                                        schrieb am zuletzt editiert von
                                        #59

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

                                        Датчики реальные не стал подключать, просто передавал данные АЦП по портам А0, А1, А2. Вставил в них проводочки (антеннки) чтобы показания "прыгали".

                                        Настройки адаптера прикрепил.

                                        Скетч прикрепил, данные в ioBroker появятся автоматически, надо только поменять настройки в тексте программы.

                                        BlueFox, немцам там тоже закинь удочку, пускай протестируют…

                                        Сейчас хочу попробовать поуправлять дискреткой.
                                        50_pic_121.jpg
                                        50_pic_120.jpg
                                        50_plc1_sendvaluesensors.7z
                                        50_plc1_sendvaluesensors_eng.7z

                                        1 Antwort Letzte Antwort
                                        0
                                        • BluefoxB Offline
                                          BluefoxB Offline
                                          Bluefox
                                          schrieb am zuletzt editiert von
                                          #60

                                          @instalator:

                                          Меня вот больше беспокоит, при подключении клиента как данные актуальные передать, чтоб брокер не скидывал их в "0" `
                                          Можешь привести лог, когда переменные сбрасываются… Не могут они сбрасываться. Если переменная уже существует, то в неё запишется принятое от клиента значение (значит клиент сам сбрасывает на ноль). Если переменная не существует и значение клиент не передал, но подписаться на неё хочет, то создаться переменная со значением "null" как строка.

                                          Но это произойдёт только один раз и только если клиент никакого значения не предоставил.

                                          "null" можно элементарно отсечь на клиенте.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          731

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe