Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wert über MQTT publishen mit js

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Wert über MQTT publishen mit js

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hartwigm last edited by hartwigm

      Hallo,

      ich versuche mich an meinem ersten Javascript und frage ab, ob die Restmülltonne Heute oder Morgen rausgestellt werden muss.

      Soweit funktioniert das auch. Mit Sicherheit geht das eleganter, aber ich bin ja noch am Anfang.

      Das Ergebnis will ich an den mqtt-Broker senden.

      ich gebe dies mit SetState an den sonst funktionierenden mqtt-client

      setState('mqtt-client.0.from_io.Restmuell',RestMuell_in);
      

      im Debug bekomme ich

      20:04:00.005	warn	javascript.0 (2066) at Object.Restmuell (script.js.Muelltermin:18:5)
      

      und das Logfile wirft folgendes heraus.

      javascript.0	2020-01-03 20:04:00.006	warn	(2066) at Timer.processTimers (timers.js:223:10)
      javascript.0	2020-01-03 20:04:00.006	warn	(2066) at listOnTimeout (timers.js:263:5)
      javascript.0	2020-01-03 20:04:00.006	warn	(2066) at tryOnTimeout (timers.js:300:5)
      javascript.0	2020-01-03 20:04:00.006	warn	(2066) at ontimeout (timers.js:436:11)
      javascript.0	2020-01-03 20:04:00.005	warn	(2066) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
      javascript.0	2020-01-03 20:04:00.005	warn	(2066) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
      javascript.0	2020-01-03 20:04:00.005	warn	(2066) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
      javascript.0	2020-01-03 20:04:00.005	warn	(2066) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1181:34)
      javascript.0	2020-01-03 20:04:00.005	warn	(2066) at Object.Restmuell (script.js.Muelltermin:18:5)
      javascript.0	2020-01-03 20:04:00.003	warn	(2066) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20)
      javascript.0	2020-01-03 20:04:00.003	warn	(2066) State "mqtt-client.0.from_io.Restmuell" not found
      javascript.0	2020-01-03 20:04:00.003	info	(2066) script.js.Muelltermin: keine Termine
      

      ich habe auch schon den mqtt Client/Subscriber installiert, und dann versucht mit mqtt.0.from_io.Restmull zu senden

      Leider immer mit der gleichen Meldung

      Kann mir jemand auf die Sprünge helfen?

      Vielen Dank

      Hartwig

      1 Reply Last reply Reply Quote 0
      • T
        tl82 last edited by

        Hallo Hartwig,

        die Lösung steht eigentlich im Log in Zeile 11:

        javascript.0	2020-01-03 20:04:00.003	warn	(2066) State "mqtt-client.0.from_io.Restmuell" not found
        

        Der State existiert im mqtt-Adapter nicht. Du musst ihn also erst anlegen, dann sollte es eigentlich funktionieren.

        Am besten löst du das Problem wohl über sendTo, dann kümmert sich der mqtt-Adapter um den Rest.

        Beispiel:

        sendTo('mqtt.0', 'sendMessage2Client', {topic: 'from_io/Restmuell', message: RestMuell_in});
        

        Probier mal, ob es so funktioniert, ich kann es selber leider gerade nicht testen.

        VG
        Tobias

        1 Reply Last reply Reply Quote 0
        • H
          hartwigm last edited by

          Hallo Tobias,

          danke Dir für den Hinweise, hat aber leider nicht funktioniert.

          Ich habe das mal so probiert, der MQTT-fx sieht aber keine Meldung.

          Da ich den mqtt-client nutze habe ich mqtt.0 auch mal mit mqtt-client.0 ersetzt, aber auch hier keine Fahlermeldung im Log und auch keine Meldung zum Broker.

          Wenn ich in eine Variable schreibe, das mit dem mqtt-Client verbunden ist geht es (meistens) allerdings, ist das etwas kontraproduktiv, da ich viele Topics dynamisch generiere und ich da nicht jedes Objekt anlegen will.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          943
          Online

          31.6k
          Users

          79.5k
          Topics

          1.3m
          Posts

          javascript
          2
          3
          323
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo