Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Client nach Neustart nicht über vis -> MQTT steuerbar

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Client nach Neustart nicht über vis -> MQTT steuerbar

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
15 Beiträge 2 Kommentatoren 621 Aufrufe 2 Watching
  • Ä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.
  • F Falke07

    @hydrotec

    hallo,

    wenn ich aber den Schalter in vis uns auf dem Board betätige, ändert er nicht den Wert von Demo01/Taster/set, sondern den Wert von Demo01/Taster.

    Wenn ich den Wert der variable Demo01/Taster und Demo01/Taster/set ändere reagiert die vis, aber nicht die LED

    Anbei die Einstellungen vom MQTT: (Punkt 1 und 2 habe ich schon komplett kombiniert ausprobiert, gab keine Änderung bei der Problematik.

    mqtt_verb.jpg mqtt_eins.jpg

    Gruß
    Falke07

    hydrotecH Offline
    hydrotecH Offline
    hydrotec
    schrieb am zuletzt editiert von
    #4

    @falke07

    Trag mal bei "Subscribe Pattern" folgendes ein.

    Demo01/#
    

    und noch einen eindeutigen Namen bei "Client ID" (z.B. iobroker00).

    @falke07 sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

    wenn ich aber den Schalter in vis uns auf dem Board betätige, ändert er nicht den Wert von Demo01/Taster/set, sondern den Wert von Demo01/Taster.

    Das ist auch richtig.
    "Wert von Demo01/Taster" -> Status des Tasters/LED
    "Wert von Demo01/Taster/set" -> Steuerbefehl um deine LED ein/auszuschalten

    Welchen Steuerbefehl deine LED erwartet, das hast du bei deinem Sketch vom WeMos festgelegt.

    Ubuntu 22.04 LTS (LXD/LXC)
    admin: v6.3.5
    js-controller: v4.0.24
    node: v18.16.1
    npm: v9.5.1
    repository: stable

    F 1 Antwort Letzte Antwort
    0
    • hydrotecH hydrotec

      @falke07

      Trag mal bei "Subscribe Pattern" folgendes ein.

      Demo01/#
      

      und noch einen eindeutigen Namen bei "Client ID" (z.B. iobroker00).

      @falke07 sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

      wenn ich aber den Schalter in vis uns auf dem Board betätige, ändert er nicht den Wert von Demo01/Taster/set, sondern den Wert von Demo01/Taster.

      Das ist auch richtig.
      "Wert von Demo01/Taster" -> Status des Tasters/LED
      "Wert von Demo01/Taster/set" -> Steuerbefehl um deine LED ein/auszuschalten

      Welchen Steuerbefehl deine LED erwartet, das hast du bei deinem Sketch vom WeMos festgelegt.

      F Offline
      F Offline
      Falke07
      schrieb am zuletzt editiert von
      #5

      @hydrotec
      Ok,

      • Demo01/# habe ich drin. (Für was steht # (Bedeutet dies: alles was danach kommt?))
      • Client-Id habe ich auch entsprechend dem Sketch drin. Nun zeigt er in der MQTT Instanz auch an, das er mit dem Gerät verbunden ist.

      Der Sketch ist wohl momentan ausgelegt, über den Status zu steuern und nicht über den Steuerbefehl.
      Das funktioniert soweit auch mal; ändere ich nach, wenn das Hauptproblem gelöst ist.
      Der WeMos kann bei einem Neustart immer noch nicht sofort über vis gesteuert werden; erst, wenn ich 1 x die Taste drücke.
      Aber, was ich vergessen habe zu erwähnen:
      Nach einem Neustart von WeMos regiert sofort der Status in Objekten von Demo01/Taster, jedoch sendet er keinen Befehl an MQTT bzw. MQTT nicht an den WeMos, was zur folge hat, das der WeMos auch nicht reagiert.

      hydrotecH 1 Antwort Letzte Antwort
      0
      • F Falke07

        @hydrotec
        Ok,

        • Demo01/# habe ich drin. (Für was steht # (Bedeutet dies: alles was danach kommt?))
        • Client-Id habe ich auch entsprechend dem Sketch drin. Nun zeigt er in der MQTT Instanz auch an, das er mit dem Gerät verbunden ist.

        Der Sketch ist wohl momentan ausgelegt, über den Status zu steuern und nicht über den Steuerbefehl.
        Das funktioniert soweit auch mal; ändere ich nach, wenn das Hauptproblem gelöst ist.
        Der WeMos kann bei einem Neustart immer noch nicht sofort über vis gesteuert werden; erst, wenn ich 1 x die Taste drücke.
        Aber, was ich vergessen habe zu erwähnen:
        Nach einem Neustart von WeMos regiert sofort der Status in Objekten von Demo01/Taster, jedoch sendet er keinen Befehl an MQTT bzw. MQTT nicht an den WeMos, was zur folge hat, das der WeMos auch nicht reagiert.

        hydrotecH Offline
        hydrotecH Offline
        hydrotec
        schrieb am zuletzt editiert von
        #6

        @falke07 sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

        • Demo01/# habe ich drin. (Für was steht # (Bedeutet dies: alles was danach kommt?))

        Sieh mal hier nach ;-)

        • Client-Id habe ich auch entsprechend dem Sketch drin. Nun zeigt er in der MQTT Instanz auch an, das er mit dem Gerät verbunden ist.

        Client-ID darf nur einmal in deiner mqtt-Umgebung vorkommen.
        Sprich, die Client-ID aus deinem Sketch darf nicht mit der Client-ID vom ioBroker übereinstimmen.

        Der Sketch ist wohl momentan ausgelegt, über den Status zu steuern und nicht über den Steuerbefehl.
        Das funktioniert soweit auch mal; ändere ich nach, wenn das Hauptproblem gelöst ist.

        Das kannst nur du wissen, was in deinem Sketch festgelegt ist. ;-)

        Der WeMos kann bei einem Neustart immer noch nicht sofort über vis gesteuert werden; erst, wenn ich 1 x die Taste drücke.
        Aber, was ich vergessen habe zu erwähnen:
        Nach einem Neustart von WeMos regiert sofort der Status in Objekten von Demo01/Taster, jedoch sendet er keinen Befehl an MQTT bzw. MQTT nicht an den WeMos, was zur folge hat, das der WeMos auch nicht reagiert.

        Verstehe ich jetzt nicht wirklich.
        Was für einen Befehl soll denn der WeMos bei Neustart senden?
        Wenn der WeMos-Client, und der ioBroker-Client, bei mosquitto angemeldet sind, dann hört der Wemos-Client darauf, das er Befehle über den Topic vom ioBroker-Client bekommt.
        Der ioBroker-Client hört auf Meldungen die über den Topic vom WeMos-Client kommen.
        Welche Meldungen, und in welchem Interval, der WeMos-Client sendet, das legst du in dem Sketch des WeMos fest.

        Ubuntu 22.04 LTS (LXD/LXC)
        admin: v6.3.5
        js-controller: v4.0.24
        node: v18.16.1
        npm: v9.5.1
        repository: stable

        F 1 Antwort Letzte Antwort
        0
        • hydrotecH hydrotec

          @falke07 sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

          • Demo01/# habe ich drin. (Für was steht # (Bedeutet dies: alles was danach kommt?))

          Sieh mal hier nach ;-)

          • Client-Id habe ich auch entsprechend dem Sketch drin. Nun zeigt er in der MQTT Instanz auch an, das er mit dem Gerät verbunden ist.

          Client-ID darf nur einmal in deiner mqtt-Umgebung vorkommen.
          Sprich, die Client-ID aus deinem Sketch darf nicht mit der Client-ID vom ioBroker übereinstimmen.

          Der Sketch ist wohl momentan ausgelegt, über den Status zu steuern und nicht über den Steuerbefehl.
          Das funktioniert soweit auch mal; ändere ich nach, wenn das Hauptproblem gelöst ist.

          Das kannst nur du wissen, was in deinem Sketch festgelegt ist. ;-)

          Der WeMos kann bei einem Neustart immer noch nicht sofort über vis gesteuert werden; erst, wenn ich 1 x die Taste drücke.
          Aber, was ich vergessen habe zu erwähnen:
          Nach einem Neustart von WeMos regiert sofort der Status in Objekten von Demo01/Taster, jedoch sendet er keinen Befehl an MQTT bzw. MQTT nicht an den WeMos, was zur folge hat, das der WeMos auch nicht reagiert.

          Verstehe ich jetzt nicht wirklich.
          Was für einen Befehl soll denn der WeMos bei Neustart senden?
          Wenn der WeMos-Client, und der ioBroker-Client, bei mosquitto angemeldet sind, dann hört der Wemos-Client darauf, das er Befehle über den Topic vom ioBroker-Client bekommt.
          Der ioBroker-Client hört auf Meldungen die über den Topic vom WeMos-Client kommen.
          Welche Meldungen, und in welchem Interval, der WeMos-Client sendet, das legst du in dem Sketch des WeMos fest.

          F Offline
          F Offline
          Falke07
          schrieb am zuletzt editiert von
          #7

          @hydrotec

          Also es ist wie folgt:
          Ich habe in der vis einen Schalter mit LED an / aus. Dieser sendet den Steuerbefehl mit dem Inhalt entweder "LED aus" oder "LED an".
          Wenn ich nun den WeMos neu starte und den Schalter in der vis auf "LED an" stelle, passiert folgendes:

          • In Objekte MQTT.... (Punkt1) wird der Wert geändert und auf "LED an" gestellt, was auch bedeutet, das die vis dem MQTT mitteilt, das sich der Wert (Wert = "LED an") geändert hat. Soweit funktioniert es mal. Diese Änderung kommt aber beim WeMos nicht an. Am WeMos selber bleibt die LED aus. Hier findet keine Reaktion statt.
            mqtt_01.jpg

          Wenn ich den WeMos neu starte und 1 x den manuellen Taster auf dem Board vom WeMos zum einschalten der LED drücke, kann ich anschliessend über die vis die LED voll steuern und es funktioniert alles.

          Mittlerweile habe ich zur Kontrolle noch einen Ping auf den WeMos eingefügt, welcher sauber läuft und mir auch anzeigt, wann der WeMos nach einem Neustart im ioBroker erreichbar ist.

          Ich habe in meinem Sketch viele serielle Print (echo) drin, um zu sehen, was der WeMos macht. Hier kann ich erkennen, das nach dem Neustart vom ioBroker keine Nachricht an den WeMos gesendet wird. Erst nach einmaligen manuellen Tastendruck. Dann kommt der callback vom ioBroker.

          Meiner Meinung nach sieht es so aus, das der ioBroker den WeMos erst erreichen kann(callback), wenn ich die Taste am WeMos 1 x gedrückt habe, er aber sofort Daten vom WeMos beziehen kann.

          hydrotecH 1 Antwort Letzte Antwort
          0
          • F Falke07

            @hydrotec

            Also es ist wie folgt:
            Ich habe in der vis einen Schalter mit LED an / aus. Dieser sendet den Steuerbefehl mit dem Inhalt entweder "LED aus" oder "LED an".
            Wenn ich nun den WeMos neu starte und den Schalter in der vis auf "LED an" stelle, passiert folgendes:

            • In Objekte MQTT.... (Punkt1) wird der Wert geändert und auf "LED an" gestellt, was auch bedeutet, das die vis dem MQTT mitteilt, das sich der Wert (Wert = "LED an") geändert hat. Soweit funktioniert es mal. Diese Änderung kommt aber beim WeMos nicht an. Am WeMos selber bleibt die LED aus. Hier findet keine Reaktion statt.
              mqtt_01.jpg

            Wenn ich den WeMos neu starte und 1 x den manuellen Taster auf dem Board vom WeMos zum einschalten der LED drücke, kann ich anschliessend über die vis die LED voll steuern und es funktioniert alles.

            Mittlerweile habe ich zur Kontrolle noch einen Ping auf den WeMos eingefügt, welcher sauber läuft und mir auch anzeigt, wann der WeMos nach einem Neustart im ioBroker erreichbar ist.

            Ich habe in meinem Sketch viele serielle Print (echo) drin, um zu sehen, was der WeMos macht. Hier kann ich erkennen, das nach dem Neustart vom ioBroker keine Nachricht an den WeMos gesendet wird. Erst nach einmaligen manuellen Tastendruck. Dann kommt der callback vom ioBroker.

            Meiner Meinung nach sieht es so aus, das der ioBroker den WeMos erst erreichen kann(callback), wenn ich die Taste am WeMos 1 x gedrückt habe, er aber sofort Daten vom WeMos beziehen kann.

            hydrotecH Offline
            hydrotecH Offline
            hydrotec
            schrieb am zuletzt editiert von
            #8

            @falke07

            Nur für mich zum Verständnis.
            Prinzipiell funktioniert der Datenaustausch (inkl. LED schalten).
            Nur wenn der WeMos neu gestartet wird, findet keine Kommunikation mehr statt.
            Wenn der Hardware-Taster am WeMos betätigt wird, findet wieder eine Kommunikation statt.

            Hast du zur Fehlereingrenzung schon einmal mit einem Tool (mqtt.fx, mqtt-explorer, usw.) gearbeitet?
            Ich vermute das auf der ioBroker Seite alles korrekt funktioniert.
            Um das auszuschließen, wäre es mit solch einem Tool möglich den Datentransfer innerhalb des Mosquitto zu beobachten.

            Kann es sein, das der WeMos, bzw. der mqtt-client, bei einem Neustart in einen Deepsleep geht, und erst durch den Taster geweckt wird?

            Ubuntu 22.04 LTS (LXD/LXC)
            admin: v6.3.5
            js-controller: v4.0.24
            node: v18.16.1
            npm: v9.5.1
            repository: stable

            F 1 Antwort Letzte Antwort
            0
            • hydrotecH hydrotec

              @falke07

              Nur für mich zum Verständnis.
              Prinzipiell funktioniert der Datenaustausch (inkl. LED schalten).
              Nur wenn der WeMos neu gestartet wird, findet keine Kommunikation mehr statt.
              Wenn der Hardware-Taster am WeMos betätigt wird, findet wieder eine Kommunikation statt.

              Hast du zur Fehlereingrenzung schon einmal mit einem Tool (mqtt.fx, mqtt-explorer, usw.) gearbeitet?
              Ich vermute das auf der ioBroker Seite alles korrekt funktioniert.
              Um das auszuschließen, wäre es mit solch einem Tool möglich den Datentransfer innerhalb des Mosquitto zu beobachten.

              Kann es sein, das der WeMos, bzw. der mqtt-client, bei einem Neustart in einen Deepsleep geht, und erst durch den Taster geweckt wird?

              F Offline
              F Offline
              Falke07
              schrieb am zuletzt editiert von
              #9

              @hydrotec
              Hallo,
              habe nun den MQTT Explorer installiert und dort ist erkennbar, das nach einem Neustart der an/aus- Befehl von/über die vis auch vom ioBroker an den MQTT- Server übertragen wird.
              Ich denke, das es tatsächlich so ist, das der WeMos nach einem Neustart in deepSleep geht und erst einmalig geweckt werden muss. Auch eine Brücke von RST zu D0 bringt keine Verbesserung. Habe mal recherchiert und es schein auch so, das der ESP8266 nur einen Hardware- WakeUp zulässt; im Gegensatz zum ESP32. Dort gibt es wohl eine Möglichkeit zum Software- WakeUp. Da ich aber einen PIR zur dauerhaften Überwachung einsetzten will, kann ich beim WeMos- Model (Sketch) nicht mit deepSleep arbeiten. Habe ich wohl auf den falschen Chip (ESP-8266) gesetzt; sollte einen ESP-32 verwenden.

              Somit wäre glaube ich das Thema Neustart und Verfügbarkeit erledigt.
              Ich danke Dir vielmals für deine Mühe, habe als Neueinsteiger doch einiges dadurch dazugelernt.

              Ich hätte aber noch eine andere Frage, welche aus diesem Thema entstanden ist. Vielleicht kannst Du mir das kurz erklären:
              Im ioBroker/Objekte wird ja nun einmal der Status der LED (Demo01/Taster) angezeigt und der Steuerbefehl (Demo01/Taster/set). Wenn ich den Steuerbefehl sende (an oder aus), ändert er die Anzeige vom Steuerbefehl in Pbjekte, aber nicht der Status in Objekte. Muss ich diesen zusätzlich abfrage oder muss das mit dem Publish zusätzlich mit gesendet werden?

              Gruß
              Falke07

              hydrotecH 1 Antwort Letzte Antwort
              0
              • F Falke07

                @hydrotec
                Hallo,
                habe nun den MQTT Explorer installiert und dort ist erkennbar, das nach einem Neustart der an/aus- Befehl von/über die vis auch vom ioBroker an den MQTT- Server übertragen wird.
                Ich denke, das es tatsächlich so ist, das der WeMos nach einem Neustart in deepSleep geht und erst einmalig geweckt werden muss. Auch eine Brücke von RST zu D0 bringt keine Verbesserung. Habe mal recherchiert und es schein auch so, das der ESP8266 nur einen Hardware- WakeUp zulässt; im Gegensatz zum ESP32. Dort gibt es wohl eine Möglichkeit zum Software- WakeUp. Da ich aber einen PIR zur dauerhaften Überwachung einsetzten will, kann ich beim WeMos- Model (Sketch) nicht mit deepSleep arbeiten. Habe ich wohl auf den falschen Chip (ESP-8266) gesetzt; sollte einen ESP-32 verwenden.

                Somit wäre glaube ich das Thema Neustart und Verfügbarkeit erledigt.
                Ich danke Dir vielmals für deine Mühe, habe als Neueinsteiger doch einiges dadurch dazugelernt.

                Ich hätte aber noch eine andere Frage, welche aus diesem Thema entstanden ist. Vielleicht kannst Du mir das kurz erklären:
                Im ioBroker/Objekte wird ja nun einmal der Status der LED (Demo01/Taster) angezeigt und der Steuerbefehl (Demo01/Taster/set). Wenn ich den Steuerbefehl sende (an oder aus), ändert er die Anzeige vom Steuerbefehl in Pbjekte, aber nicht der Status in Objekte. Muss ich diesen zusätzlich abfrage oder muss das mit dem Publish zusätzlich mit gesendet werden?

                Gruß
                Falke07

                hydrotecH Offline
                hydrotecH Offline
                hydrotec
                schrieb am zuletzt editiert von
                #10

                @falke07 sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

                ...
                Ich denke, das es tatsächlich so ist, das der WeMos nach einem Neustart in deepSleep geht und erst einmalig geweckt werden muss.
                ...

                Bin der gleichen Meinung.
                Wenn der MQTTexplorer bei mosquitto angemeldet ist, kannst du ja den Datenverkehr beobachten.

                ...
                Somit wäre glaube ich das Thema Neustart und Verfügbarkeit erledigt.
                ...

                :+1:

                Ich danke Dir vielmals für deine Mühe, habe als Neueinsteiger doch einiges dadurch dazugelernt.

                Gerne doch :-)

                Ich hätte aber noch eine andere Frage, welche aus diesem Thema entstanden ist. Vielleicht kannst Du mir das kurz erklären:
                Im ioBroker/Objekte wird ja nun einmal der Status der LED (Demo01/Taster) angezeigt und der Steuerbefehl (Demo01/Taster/set). Wenn ich den Steuerbefehl sende (an oder aus), ändert er die Anzeige vom Steuerbefehl in Pbjekte, aber nicht der Status in Objekte. Muss ich diesen zusätzlich abfrage oder muss das mit dem Publish zusätzlich mit gesendet werden?

                Ich versuche es einmal einfach zu umschreiben.
                MQTT ist ja ein Netzwerkprotokoll, nicht mehr und auch nicht weniger.
                Damit du Daten über dieses Protokoll übermitteln kannst, benötigst du einen Broker (in deinem Fall mosquitto) und mindestens einen Client (in deinem Fall WeMos/ioBroker/MQTTexplorer).
                Der Broker sammelt erst einmal alle Topics und deren Inhalt welche von den Clients gesendet werden.
                Der Client (ioBroker) meldet sich bei dem Broker (mosquitto) an, und wartet das er auf dem Topic (Demo01/Taster) etwas empfängt (Topic abonnieren).
                Mit dem Topic (Demo01/Taster/set) sendet ioBroker einen Inhalt ("Wert von Demo01/Taster/set"), und der Broker registriert das, mehr nicht.
                Wenn jetzt ein weiterer Client (WeMos) bei dem Broker angemeldet ist, und den Topic (Demo01/Taster/set) abonniert hat,
                dann empfängt er diesen Inhalt.
                Je nachdem was in dem Inhalt steckt, reagiert der Client (WeMos) darauf (in deinem Fall LED an/aus), und führt die Anweisung aus.
                Nachdem diese Anweisung ausgeführt ist, sofern im Sketch programmiert, sendet der Client (WeMos) in dem Topic (Demo01/Taster) ein Ergebnis, bzw. einen Status an den Broker.
                Da der Client (ioBroker) ja den Topic (Demo01/Taster) abonniert hat, empfängt er dessen Inhalt.
                Dieser Inhalt wird bei dem Objekt "Demo01/Taster" als Wert hinterlegt.

                Ich hoffe es war einigermaßen verständlich.
                Sonst einfach noch einmal nachhaken.

                Ansonsten noch einen guten Rutsch :-)
                Gruß, Karsten

                Ubuntu 22.04 LTS (LXD/LXC)
                admin: v6.3.5
                js-controller: v4.0.24
                node: v18.16.1
                npm: v9.5.1
                repository: stable

                F 2 Antworten Letzte Antwort
                0
                • hydrotecH hydrotec

                  @falke07 sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

                  ...
                  Ich denke, das es tatsächlich so ist, das der WeMos nach einem Neustart in deepSleep geht und erst einmalig geweckt werden muss.
                  ...

                  Bin der gleichen Meinung.
                  Wenn der MQTTexplorer bei mosquitto angemeldet ist, kannst du ja den Datenverkehr beobachten.

                  ...
                  Somit wäre glaube ich das Thema Neustart und Verfügbarkeit erledigt.
                  ...

                  :+1:

                  Ich danke Dir vielmals für deine Mühe, habe als Neueinsteiger doch einiges dadurch dazugelernt.

                  Gerne doch :-)

                  Ich hätte aber noch eine andere Frage, welche aus diesem Thema entstanden ist. Vielleicht kannst Du mir das kurz erklären:
                  Im ioBroker/Objekte wird ja nun einmal der Status der LED (Demo01/Taster) angezeigt und der Steuerbefehl (Demo01/Taster/set). Wenn ich den Steuerbefehl sende (an oder aus), ändert er die Anzeige vom Steuerbefehl in Pbjekte, aber nicht der Status in Objekte. Muss ich diesen zusätzlich abfrage oder muss das mit dem Publish zusätzlich mit gesendet werden?

                  Ich versuche es einmal einfach zu umschreiben.
                  MQTT ist ja ein Netzwerkprotokoll, nicht mehr und auch nicht weniger.
                  Damit du Daten über dieses Protokoll übermitteln kannst, benötigst du einen Broker (in deinem Fall mosquitto) und mindestens einen Client (in deinem Fall WeMos/ioBroker/MQTTexplorer).
                  Der Broker sammelt erst einmal alle Topics und deren Inhalt welche von den Clients gesendet werden.
                  Der Client (ioBroker) meldet sich bei dem Broker (mosquitto) an, und wartet das er auf dem Topic (Demo01/Taster) etwas empfängt (Topic abonnieren).
                  Mit dem Topic (Demo01/Taster/set) sendet ioBroker einen Inhalt ("Wert von Demo01/Taster/set"), und der Broker registriert das, mehr nicht.
                  Wenn jetzt ein weiterer Client (WeMos) bei dem Broker angemeldet ist, und den Topic (Demo01/Taster/set) abonniert hat,
                  dann empfängt er diesen Inhalt.
                  Je nachdem was in dem Inhalt steckt, reagiert der Client (WeMos) darauf (in deinem Fall LED an/aus), und führt die Anweisung aus.
                  Nachdem diese Anweisung ausgeführt ist, sofern im Sketch programmiert, sendet der Client (WeMos) in dem Topic (Demo01/Taster) ein Ergebnis, bzw. einen Status an den Broker.
                  Da der Client (ioBroker) ja den Topic (Demo01/Taster) abonniert hat, empfängt er dessen Inhalt.
                  Dieser Inhalt wird bei dem Objekt "Demo01/Taster" als Wert hinterlegt.

                  Ich hoffe es war einigermaßen verständlich.
                  Sonst einfach noch einmal nachhaken.

                  Ansonsten noch einen guten Rutsch :-)
                  Gruß, Karsten

                  F Offline
                  F Offline
                  Falke07
                  schrieb am zuletzt editiert von
                  #11

                  @hydrotec
                  Hallo,
                  yep, das war verständlich. Ich danke Dir.
                  Nachgefragt habe ich deshalb, da sich der set im ioBroker entsprechend ändert, der Status aber immer unverändert bleibt.
                  Denke aber mal, dass dies aber an dem Sketch liegt (pub / sub), welcher noch nicht sauber programmiert sein dürfte.

                  Wünsch Dir ebenfalls einen guten Rutsch ins neue Jahr.

                  Gruß
                  Falke07

                  1 Antwort Letzte Antwort
                  0
                  • hydrotecH hydrotec

                    @falke07 sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

                    ...
                    Ich denke, das es tatsächlich so ist, das der WeMos nach einem Neustart in deepSleep geht und erst einmalig geweckt werden muss.
                    ...

                    Bin der gleichen Meinung.
                    Wenn der MQTTexplorer bei mosquitto angemeldet ist, kannst du ja den Datenverkehr beobachten.

                    ...
                    Somit wäre glaube ich das Thema Neustart und Verfügbarkeit erledigt.
                    ...

                    :+1:

                    Ich danke Dir vielmals für deine Mühe, habe als Neueinsteiger doch einiges dadurch dazugelernt.

                    Gerne doch :-)

                    Ich hätte aber noch eine andere Frage, welche aus diesem Thema entstanden ist. Vielleicht kannst Du mir das kurz erklären:
                    Im ioBroker/Objekte wird ja nun einmal der Status der LED (Demo01/Taster) angezeigt und der Steuerbefehl (Demo01/Taster/set). Wenn ich den Steuerbefehl sende (an oder aus), ändert er die Anzeige vom Steuerbefehl in Pbjekte, aber nicht der Status in Objekte. Muss ich diesen zusätzlich abfrage oder muss das mit dem Publish zusätzlich mit gesendet werden?

                    Ich versuche es einmal einfach zu umschreiben.
                    MQTT ist ja ein Netzwerkprotokoll, nicht mehr und auch nicht weniger.
                    Damit du Daten über dieses Protokoll übermitteln kannst, benötigst du einen Broker (in deinem Fall mosquitto) und mindestens einen Client (in deinem Fall WeMos/ioBroker/MQTTexplorer).
                    Der Broker sammelt erst einmal alle Topics und deren Inhalt welche von den Clients gesendet werden.
                    Der Client (ioBroker) meldet sich bei dem Broker (mosquitto) an, und wartet das er auf dem Topic (Demo01/Taster) etwas empfängt (Topic abonnieren).
                    Mit dem Topic (Demo01/Taster/set) sendet ioBroker einen Inhalt ("Wert von Demo01/Taster/set"), und der Broker registriert das, mehr nicht.
                    Wenn jetzt ein weiterer Client (WeMos) bei dem Broker angemeldet ist, und den Topic (Demo01/Taster/set) abonniert hat,
                    dann empfängt er diesen Inhalt.
                    Je nachdem was in dem Inhalt steckt, reagiert der Client (WeMos) darauf (in deinem Fall LED an/aus), und führt die Anweisung aus.
                    Nachdem diese Anweisung ausgeführt ist, sofern im Sketch programmiert, sendet der Client (WeMos) in dem Topic (Demo01/Taster) ein Ergebnis, bzw. einen Status an den Broker.
                    Da der Client (ioBroker) ja den Topic (Demo01/Taster) abonniert hat, empfängt er dessen Inhalt.
                    Dieser Inhalt wird bei dem Objekt "Demo01/Taster" als Wert hinterlegt.

                    Ich hoffe es war einigermaßen verständlich.
                    Sonst einfach noch einmal nachhaken.

                    Ansonsten noch einen guten Rutsch :-)
                    Gruß, Karsten

                    F Offline
                    F Offline
                    Falke07
                    schrieb am zuletzt editiert von
                    #12

                    @hydrotec

                    Hallo,
                    hoffe, Du bist gut ins neue Jahr gestartet.

                    ich war nochmal an der Thematik dran und habe ein paar Infos.

                    Der WeMos geht nach einem Neustart nicht in deepSleep.

                    Die Ursache für das "nichtfunktionieren" lag 1. an de Sketch. Da bin ich mit publish / subscripe durcheinander gekommen.

                    Das 2 war, das der MQTT Server bei einem Neustart , wenn die LED vorher in vis auf "LED an" geschaltet war, keine Daten setzt (Steuerbefehl nein, Status ja). Dies wurde erst möglich, als ich im ioBroker / Instanzen / MQTT Server => "sende auch Zustände" aktiviert habe. Dann wird bei einem Neustart auch der Steuerbefehl an den MQTT- Server gesendet und alles funktioniert.

                    Gruß
                    Falke07

                    hydrotecH 1 Antwort Letzte Antwort
                    0
                    • F Falke07

                      @hydrotec

                      Hallo,
                      hoffe, Du bist gut ins neue Jahr gestartet.

                      ich war nochmal an der Thematik dran und habe ein paar Infos.

                      Der WeMos geht nach einem Neustart nicht in deepSleep.

                      Die Ursache für das "nichtfunktionieren" lag 1. an de Sketch. Da bin ich mit publish / subscripe durcheinander gekommen.

                      Das 2 war, das der MQTT Server bei einem Neustart , wenn die LED vorher in vis auf "LED an" geschaltet war, keine Daten setzt (Steuerbefehl nein, Status ja). Dies wurde erst möglich, als ich im ioBroker / Instanzen / MQTT Server => "sende auch Zustände" aktiviert habe. Dann wird bei einem Neustart auch der Steuerbefehl an den MQTT- Server gesendet und alles funktioniert.

                      Gruß
                      Falke07

                      hydrotecH Offline
                      hydrotecH Offline
                      hydrotec
                      schrieb am zuletzt editiert von
                      #13

                      @falke07

                      Hallo Falke07,

                      Dankeschön, der Start war OK (bischen College-Football geschaut ;-) )
                      Dir auch noch ein angenehmes neues Jahr.

                      Zu 1
                      Das kann im Eifer des Gefechtes schon mal vorkommen.

                      Zu 2
                      Da hast du mich abgehängt.
                      Wenn der MQTT Server (mosquitto) neu gestartet wird, sollte eigentlich auch kein Steuerbefehl abgesetzt werden.
                      Sondern der Status der LED von Client_1 (WeMos) zu Client_2 (ioBroker) übermittelt werden.
                      So wie ich das verstehe, wird bei dir aktuell die LED, bei einem Neustart des Client_2, auf dessen Steuerbefehl gesetzt.
                      Egal wie zwischenzeitlich der Status, z.B. durch schalten über den Taster am WeMos, der LED war. :thinking_face:
                      Normalerweise wird ja der Status der LED bei einem Start/Neustart des Client_1 (in deinem Fall über den Sketch) festgelegt.
                      Client_2 empfängt diesen Status, über den MQTT Server, von Client_1, und schreibt ihn in das entsprechende Objekt.
                      (in VIS wird dieser Status dementsprechend angezeigt)
                      Darauf kann man dann mit einer Logik (blockly, js, usw.) reagieren, oder über den Steuerbefehl den Status der LED ändern.
                      (in VIS, mit klick auf den Button, den Steuerbefehl setzen)

                      Vielleicht wäre es hilfreich, wenn du mal kurz dein Ziel umschreiben würdest.

                      Gruß, Karsten

                      Ubuntu 22.04 LTS (LXD/LXC)
                      admin: v6.3.5
                      js-controller: v4.0.24
                      node: v18.16.1
                      npm: v9.5.1
                      repository: stable

                      F 1 Antwort Letzte Antwort
                      0
                      • hydrotecH hydrotec

                        @falke07

                        Hallo Falke07,

                        Dankeschön, der Start war OK (bischen College-Football geschaut ;-) )
                        Dir auch noch ein angenehmes neues Jahr.

                        Zu 1
                        Das kann im Eifer des Gefechtes schon mal vorkommen.

                        Zu 2
                        Da hast du mich abgehängt.
                        Wenn der MQTT Server (mosquitto) neu gestartet wird, sollte eigentlich auch kein Steuerbefehl abgesetzt werden.
                        Sondern der Status der LED von Client_1 (WeMos) zu Client_2 (ioBroker) übermittelt werden.
                        So wie ich das verstehe, wird bei dir aktuell die LED, bei einem Neustart des Client_2, auf dessen Steuerbefehl gesetzt.
                        Egal wie zwischenzeitlich der Status, z.B. durch schalten über den Taster am WeMos, der LED war. :thinking_face:
                        Normalerweise wird ja der Status der LED bei einem Start/Neustart des Client_1 (in deinem Fall über den Sketch) festgelegt.
                        Client_2 empfängt diesen Status, über den MQTT Server, von Client_1, und schreibt ihn in das entsprechende Objekt.
                        (in VIS wird dieser Status dementsprechend angezeigt)
                        Darauf kann man dann mit einer Logik (blockly, js, usw.) reagieren, oder über den Steuerbefehl den Status der LED ändern.
                        (in VIS, mit klick auf den Button, den Steuerbefehl setzen)

                        Vielleicht wäre es hilfreich, wenn du mal kurz dein Ziel umschreiben würdest.

                        Gruß, Karsten

                        F Offline
                        F Offline
                        Falke07
                        schrieb am zuletzt editiert von
                        #14

                        @hydrotec
                        Moin,

                        @hydrotec sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

                        Wenn der MQTT Server (mosquitto) neu gestartet wird, sollte eigentlich auch kein Steuerbefehl abgesetzt werden.
                        Sondern der Status der LED von Client_1 (WeMos) zu Client_2 (ioBroker) übermittelt werden.

                        Info: Ich starte nicht den MQTT Server neu, sondern den WeMos. Der MQTT Server sowie der ioBroker sind dauerhaft im Betrieb.

                        Bei einem Neustart (WeMos) bekommt der MQTT Server zwar den Status, setzt aber den Inhalt (im MQTT Server als value bezeichnet) nicht. Erst wenn ich 1 x irgendeinen "Schalter" (Hard-Taster oder vis-Taster) betätige, bekommt er den Steuerbefehl (jetzt vom ioBroker / MQTT-Instanz durch das setzen von "senden der Zustände"). Dann funktioniert auch alles sofort, wie es soll (zumindest mal bei der einfachen LED- Schaltung :blush: ). Anmerkung: Es geht nur um den allerersten Kontakt vom WeMos nach dem Neustart. Nach dem ersten Kontakt hat vorher (nachdem ich den ioBroker und Sketch sauber eingestellt/Programmiert hatte) alles funktioniert.

                        Kurz zum Ziel:
                        Ich möchte eine Hausüberwachung (Richtung Alarmanlage) erstellen, welche meine Anforderungen erfüllt. Bisher habe ich immer Alarmanlagen gekauft, bin aber mit den Möglichkeiten (Einstellungen/Informationsfluss) nicht einverstanden. Es ist mir bei den gekauften Modellen immer zu "steif".

                        Einstellungen/Informationsfluss:

                        • Batteriestatus, bei PIR Meldung/Info mit Bildern (evtl. mit ESP32- CAM ..), einrichten mehrerer Sicherungsobjekte, Temperatur-, Helligkeits-, Gas-, Wasser-, Rauch- Meldungen, Überwachung Status der einzelnen Geräte auf Off/Online), usw.
                          Und das alles über eine Oberfläche und nicht über verschiedene Apps für die jeweilige Anwendung.

                        Also noch ein richtiges Stück Arbeit.

                        Gruß
                        Falke07

                        hydrotecH 1 Antwort Letzte Antwort
                        0
                        • F Falke07

                          @hydrotec
                          Moin,

                          @hydrotec sagte in Client nach Neustart nicht über vis -> MQTT steuerbar:

                          Wenn der MQTT Server (mosquitto) neu gestartet wird, sollte eigentlich auch kein Steuerbefehl abgesetzt werden.
                          Sondern der Status der LED von Client_1 (WeMos) zu Client_2 (ioBroker) übermittelt werden.

                          Info: Ich starte nicht den MQTT Server neu, sondern den WeMos. Der MQTT Server sowie der ioBroker sind dauerhaft im Betrieb.

                          Bei einem Neustart (WeMos) bekommt der MQTT Server zwar den Status, setzt aber den Inhalt (im MQTT Server als value bezeichnet) nicht. Erst wenn ich 1 x irgendeinen "Schalter" (Hard-Taster oder vis-Taster) betätige, bekommt er den Steuerbefehl (jetzt vom ioBroker / MQTT-Instanz durch das setzen von "senden der Zustände"). Dann funktioniert auch alles sofort, wie es soll (zumindest mal bei der einfachen LED- Schaltung :blush: ). Anmerkung: Es geht nur um den allerersten Kontakt vom WeMos nach dem Neustart. Nach dem ersten Kontakt hat vorher (nachdem ich den ioBroker und Sketch sauber eingestellt/Programmiert hatte) alles funktioniert.

                          Kurz zum Ziel:
                          Ich möchte eine Hausüberwachung (Richtung Alarmanlage) erstellen, welche meine Anforderungen erfüllt. Bisher habe ich immer Alarmanlagen gekauft, bin aber mit den Möglichkeiten (Einstellungen/Informationsfluss) nicht einverstanden. Es ist mir bei den gekauften Modellen immer zu "steif".

                          Einstellungen/Informationsfluss:

                          • Batteriestatus, bei PIR Meldung/Info mit Bildern (evtl. mit ESP32- CAM ..), einrichten mehrerer Sicherungsobjekte, Temperatur-, Helligkeits-, Gas-, Wasser-, Rauch- Meldungen, Überwachung Status der einzelnen Geräte auf Off/Online), usw.
                            Und das alles über eine Oberfläche und nicht über verschiedene Apps für die jeweilige Anwendung.

                          Also noch ein richtiges Stück Arbeit.

                          Gruß
                          Falke07

                          hydrotecH Offline
                          hydrotecH Offline
                          hydrotec
                          schrieb am zuletzt editiert von
                          #15

                          @falke07

                          OK, wenn es, bis jetzt, so für dich funktioniert, dann passt es ja. :+1:

                          Also noch ein richtiges Stück Arbeit.

                          Da hast du wirklich noch ein Stück Arbeit vor dir.

                          Sollten noch weitere Fragen auftauchen, kannst dich ja gerne noch einmal melden.

                          Ansonsten viel Erfolg bei deinem Projekt.
                          Gruß, Karsten

                          Ubuntu 22.04 LTS (LXD/LXC)
                          admin: v6.3.5
                          js-controller: v4.0.24
                          node: v18.16.1
                          npm: v9.5.1
                          repository: stable

                          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
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          664

                          Online

                          32.7k

                          Benutzer

                          82.3k

                          Themen

                          1.3m

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

                          • Du hast noch kein Konto? Registrieren

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