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. Visualisierung
  4. Jarvis - Schalter via MQTT

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    311

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Jarvis - Schalter via MQTT

Geplant Angeheftet Gesperrt Verschoben Visualisierung
14 Beiträge 4 Kommentatoren 1.1k Aufrufe 4 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.
  • S Offline
    S Offline
    Sineos
    schrieb am zuletzt editiert von
    #1

    Ich würde gerne in Jarvis einen Schalter einrichten, der über MQTT geschaltet wird, allerdings ist der Schaltpunkt ein JSON string:

    • An: {"STATE": "ON"}
    • Aus: {"STATE": "OFF"}

    Der einzige Weg, wie ich es hinbekommen habe, ist über einen "Hilfs-DP" und ein Java-Script, welches den Wert entsprechend hinbiegt:

    on({id: '0_userdata.0.test', change: 'any', ack: false}, function (obj) {
        if (obj.state.val) {
            setState("mqtt.0.zigbee2mqtt.RelayLightHallEG.set", "{\"state\": \"ON\"}");
        } else {
            setState("mqtt.0.zigbee2mqtt.RelayLightHallEG.set", "{\"state\": \"OFF\"}");
        }
    });
    

    Das kann aber doch nicht die Lösung sein, oder?

    paul53P 1 Antwort Letzte Antwort
    0
    • S Sineos

      Ich würde gerne in Jarvis einen Schalter einrichten, der über MQTT geschaltet wird, allerdings ist der Schaltpunkt ein JSON string:

      • An: {"STATE": "ON"}
      • Aus: {"STATE": "OFF"}

      Der einzige Weg, wie ich es hinbekommen habe, ist über einen "Hilfs-DP" und ein Java-Script, welches den Wert entsprechend hinbiegt:

      on({id: '0_userdata.0.test', change: 'any', ack: false}, function (obj) {
          if (obj.state.val) {
              setState("mqtt.0.zigbee2mqtt.RelayLightHallEG.set", "{\"state\": \"ON\"}");
          } else {
              setState("mqtt.0.zigbee2mqtt.RelayLightHallEG.set", "{\"state\": \"OFF\"}");
          }
      });
      

      Das kann aber doch nicht die Lösung sein, oder?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @sineos sagte: Das kann aber doch nicht die Lösung sein, oder?

      Nein, es geht auch mit einem Alias vom Typ "boolean" ohne Skript mit
      common.alias.write = "JSON.stringify({state: val ? 'ON' : 'OFF'})"

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #3

        @sineos

        Nach ziemlich viel rumprobieren habe ich es denke ich hinbekommen - es entsprechend zu setzen - allerdings ist der Status ja ein anderer Datenpunkt:

        37893b6a-f5bf-479f-a15d-f245a3a4ef9c-image.png

        Im Prinzip wirst Du beim zigbee2mqtt um einen Alias nicht drum rumkommen, da du ja unterschiedliche Werte zum Setzen und Lesen brauchst.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        paul53P 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @sineos

          Nach ziemlich viel rumprobieren habe ich es denke ich hinbekommen - es entsprechend zu setzen - allerdings ist der Status ja ein anderer Datenpunkt:

          37893b6a-f5bf-479f-a15d-f245a3a4ef9c-image.png

          Im Prinzip wirst Du beim zigbee2mqtt um einen Alias nicht drum rumkommen, da du ja unterschiedliche Werte zum Setzen und Lesen brauchst.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @mickym sagte: unterschiedliche Werte zum Setzen und Lesen brauchst.

          Wenn der Wert zum Lesen das gleiche JSON-Format hat:
          common.alias.read = "JSON.parse(val).state == 'ON'"

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #5

            @paul53 sagte in Jarvis - Schalter via MQTT:

            JSON.parse(val).state == 'ON'

            Danke schön - nein ist nicht ganz gleich - aber hat dieselbe Eigenschaft. Ich habs mal aus meinen Datenpunkten kopiert und mit Deinen Funktionen müsste dass der entsprechende Alias so konfiguriert werden - das muss man dann natürlich noch auf die richtigen mqtt Datenpunkte mappen.

            635ed647-29cb-462e-9ef4-425f66f70187-image.png

            Ich habs nur auf dem Testsystem mal simuliert im Prodsystem ist das natürlich unter dem mqtt Adapter aber da habe ich kein Jarvis drauf:

            2c4d30bf-8716-402e-9661-2d8ee1109bc8-image.png

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            S 1 Antwort Letzte Antwort
            1
            • M Online
              M Online
              MCU
              schrieb am zuletzt editiert von MCU
              #6

              @sineos Probier mal in die Datenpunkt-Eigenschaften JSON.parse direkt einzutragen.
              https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/besonderheiten-v3/geraet/datenpunkt-eigenschaft/json-parse

              Klappt nicht, nur als Anzeige.

              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

              1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @paul53 sagte in Jarvis - Schalter via MQTT:

                JSON.parse(val).state == 'ON'

                Danke schön - nein ist nicht ganz gleich - aber hat dieselbe Eigenschaft. Ich habs mal aus meinen Datenpunkten kopiert und mit Deinen Funktionen müsste dass der entsprechende Alias so konfiguriert werden - das muss man dann natürlich noch auf die richtigen mqtt Datenpunkte mappen.

                635ed647-29cb-462e-9ef4-425f66f70187-image.png

                Ich habs nur auf dem Testsystem mal simuliert im Prodsystem ist das natürlich unter dem mqtt Adapter aber da habe ich kein Jarvis drauf:

                2c4d30bf-8716-402e-9661-2d8ee1109bc8-image.png

                S Offline
                S Offline
                Sineos
                schrieb am zuletzt editiert von
                #7

                Vielen Dank an alle für den Input.

                @mickym Deine Lösung klappt. Hatt vor dem JS script auch schon mit den Alises experimentiert, aber übersehen, das JSON richtig zu konvertieren. Vielen Dank.

                @mickym said in Jarvis - Schalter via MQTT:

                Im Prinzip wirst Du beim zigbee2mqtt um einen Alias nicht drum rumkommen, da du ja unterschiedliche Werte zum Setzen und Lesen brauchst.

                Ja, ist es schade, dass Jarvis hier keine flexible interne Lösung kennt, eine entsprechenden Payload zu generieren und zwischen CMD und STATUS Kanälen zu unterscheiden.
                Ich habs in Jarvis auch mit {"setOn":"{\"state\": \"ON\"}","setOff":"{\"state\": \"OFF\"}"} versucht, aber das funktioniert genau einmal und dann hängt der Switch.

                Aber trotzdem ist Jarvis eine tolle Sache. Vorallem für so Vis-Deppen wie mich. Brauch das nur um den WAF zu gewährleisten.

                mickymM 1 Antwort Letzte Antwort
                0
                • S Sineos

                  Vielen Dank an alle für den Input.

                  @mickym Deine Lösung klappt. Hatt vor dem JS script auch schon mit den Alises experimentiert, aber übersehen, das JSON richtig zu konvertieren. Vielen Dank.

                  @mickym said in Jarvis - Schalter via MQTT:

                  Im Prinzip wirst Du beim zigbee2mqtt um einen Alias nicht drum rumkommen, da du ja unterschiedliche Werte zum Setzen und Lesen brauchst.

                  Ja, ist es schade, dass Jarvis hier keine flexible interne Lösung kennt, eine entsprechenden Payload zu generieren und zwischen CMD und STATUS Kanälen zu unterscheiden.
                  Ich habs in Jarvis auch mit {"setOn":"{\"state\": \"ON\"}","setOff":"{\"state\": \"OFF\"}"} versucht, aber das funktioniert genau einmal und dann hängt der Switch.

                  Aber trotzdem ist Jarvis eine tolle Sache. Vorallem für so Vis-Deppen wie mich. Brauch das nur um den WAF zu gewährleisten.

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #8

                  @sineos wenn es nur ein Datenpunkt wäre hätte der String mit on: anstelle von setOn: funktioniert- siehe mein Screenshot. Aber das hilft ja nichts. MQTT verwendet bzw. muss für den State und das Schalten 2 unterschiedliche Punkte verwenden, da MQTT ja nicht mit einem ACK-Flag arbeitet bzw. arbeiten kann

                  Ich nutze ja auch das NodeRed Dashboard - finde aber Jarvis durchaus interessant, da man ebenfalls schnell zu Ergebnissen kommt, aber mit dem fixen Design so eine Zwischenlösung zwischen vis und dem responsive Design des NodeRed Dashboards darstellt..

                  Vielleicht eine Idee an die Jarvis Entwickler für eine Version 4.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  0
                  • M Online
                    M Online
                    MCU
                    schrieb am zuletzt editiert von MCU
                    #9

                    @sineos Versuch mal:
                    In den Datenpunkt-Eigenschaften vom Gerät

                    {"on":"{\"state\": \"ON\"}","off":"{\"state\": \"OFF\"}"}
                    

                    Funktioniert mit v3.1.0-alpha.35, auch mit v3.0.11
                    99d98e41-484d-4e8f-be55-e47e6fc5a425-image.png
                    bbc1bb5e-5f0d-4a97-9094-56f11583b61d-image.png

                    Nur das Setzen vom Schalter (jarvis) ausgehend, nicht, wenn es als DP (ioBroker) geändert wird.

                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • M MCU

                      @sineos Versuch mal:
                      In den Datenpunkt-Eigenschaften vom Gerät

                      {"on":"{\"state\": \"ON\"}","off":"{\"state\": \"OFF\"}"}
                      

                      Funktioniert mit v3.1.0-alpha.35, auch mit v3.0.11
                      99d98e41-484d-4e8f-be55-e47e6fc5a425-image.png
                      bbc1bb5e-5f0d-4a97-9094-56f11583b61d-image.png

                      Nur das Setzen vom Schalter (jarvis) ausgehend, nicht, wenn es als DP (ioBroker) geändert wird.

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #10

                      @mcu das hab ich doch schon gemacht - siehe unten. Das funktioniert- hilft ihm aber nicht, da er unterschiedliche Datenpunkte für das Setzen und als trigger braucht, die geparst werden müssen.Schau mal mein Screenshot

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      M 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @mcu das hab ich doch schon gemacht - siehe unten. Das funktioniert- hilft ihm aber nicht, da er unterschiedliche Datenpunkte für das Setzen und als trigger braucht, die geparst werden müssen.Schau mal mein Screenshot

                        M Online
                        M Online
                        MCU
                        schrieb am zuletzt editiert von
                        #11

                        @mickym Wenn ich es richtig überblicke, hast du es im alias gemacht? Es soll aber in die Datenpunkt Eigenschaften vom Gerät (jarvis).

                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • M MCU

                          @mickym Wenn ich es richtig überblicke, hast du es im alias gemacht? Es soll aber in die Datenpunkt Eigenschaften vom Gerät (jarvis).

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von mickym
                          #12

                          @mcu sagte in Jarvis - Schalter via MQTT:

                          @mickym Wenn ich es richtig überblicke, hast du es im alias gemacht? Es soll aber in die Datenpunkt Eigenschaften vom Gerät (jarvis).

                          Hab ich doch gerade erklärt, dass man wahrscheinlich nicht um einen Alias kommt, weil man unterschiedliche Punkte zum Setzen des States und des Status benötigt.

                          Schau mal mein 1. Posting in diesem Thread: https://forum.iobroker.net/topic/57483/jarvis-schalter-via-mqtt/11

                          und den Screenshot:

                          926fba0e-bd1d-441b-9006-89c9f5bd4078-image.png

                          Außerdem habe ich in meinem vorletzten Post ja geschrieben, dass er on: und off: anstelle von setOn: und setOff: benutzen soll.

                          Wie gesagt das hilft alles nichts - ich hab auch bei Trigger und Anzeige schon mit unterschiedlichen Punkten versucht - aber man brauch eben 2 verschiedene Konvertierungsfunktionen und das bietet momentan anscheinend nur der Alias.

                          Aber scheint, als ob Du meine Posts in dem Thread gar nicht liest.

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            Sineos
                            schrieb am zuletzt editiert von Sineos
                            #13

                            @mickym said in Jarvis - Schalter via MQTT:

                            Ich nutze ja auch das NodeRed Dashboard - finde aber Jarvis durchaus interessant, da man ebenfalls schnell zu Ergebnissen kommt, aber mit dem fixen Design so eine Zwischenlösung zwischen vis und dem responsive Design des NodeRed Dashboards darstellt..

                            Absolut an diesem Punkt bin ich auch gerade. 99% meiner Logik ist in NR untergebracht und dort auch mit den (etwas deprimierenden) Dashboard-Funktionen umgesezt.
                            Wegen einem Gerätedefekt hab ich aber die Struktur jetzt an vielen Stellen geändert

                            • Homematic von dediziertem Pi auf Proxmox
                            • ioBroker, Grafana und Influx auch auf Proxmox
                            • NR vorher via Redmatic in homematic integriert, jetzt komplett in iob NR umgezogen. Hier wäre mir aber eine dedizierte Installation die mit iob sprechen kann immer noch am liebsten (bin aber zu faul alles über MQTT zu machen). Komme immer mehr von den zu hoch verdichteten Lösungen weg, da ich mir jetzt schon mehrfach damit die Finger verbrannt habe. Deswegen bleibt es auch bei zigbee2mqtt und kein Umzug in den iob Adapter
                            • Aus Interesse mal alles noch in eine homeassistant Installation gepackt. Auch sehr schick, aber bei Konfigurationen / Logiken über YAML und Jinja bekomme ich Herzrhythmusstörungen.

                            Wie @mickym beschrieben hat:

                            • Speziell bei zigbee2mqtt, aber generell auch bei MQTT ist oft den Kommando-Kanal ein anderer als der Status-Kanal
                            • Zustände sollen nicht "optimistisch" gesetzt werden, also setzen und hoffen, dass es geklappt hat
                            • Die Anzeige soll sich nach dem tatsächlichen Resultat richten
                            • Jarvis kennt momentan keine Unterscheidung zwischen Kommando und Status-Kanal

                            --> Damit bleibt nur die beiden Kanäle über ein Alias zu koppeln:

                            5e696a31-6dfd-43f9-8e9d-45c4248686da-grafik.png
                            a13225d5-6859-49ca-a348-0b42fc9e6b99-grafik.png
                            f8929904-5d74-4c28-810b-5a4ec7276466-grafik.png

                            M 1 Antwort Letzte Antwort
                            0
                            • S Sineos

                              @mickym said in Jarvis - Schalter via MQTT:

                              Ich nutze ja auch das NodeRed Dashboard - finde aber Jarvis durchaus interessant, da man ebenfalls schnell zu Ergebnissen kommt, aber mit dem fixen Design so eine Zwischenlösung zwischen vis und dem responsive Design des NodeRed Dashboards darstellt..

                              Absolut an diesem Punkt bin ich auch gerade. 99% meiner Logik ist in NR untergebracht und dort auch mit den (etwas deprimierenden) Dashboard-Funktionen umgesezt.
                              Wegen einem Gerätedefekt hab ich aber die Struktur jetzt an vielen Stellen geändert

                              • Homematic von dediziertem Pi auf Proxmox
                              • ioBroker, Grafana und Influx auch auf Proxmox
                              • NR vorher via Redmatic in homematic integriert, jetzt komplett in iob NR umgezogen. Hier wäre mir aber eine dedizierte Installation die mit iob sprechen kann immer noch am liebsten (bin aber zu faul alles über MQTT zu machen). Komme immer mehr von den zu hoch verdichteten Lösungen weg, da ich mir jetzt schon mehrfach damit die Finger verbrannt habe. Deswegen bleibt es auch bei zigbee2mqtt und kein Umzug in den iob Adapter
                              • Aus Interesse mal alles noch in eine homeassistant Installation gepackt. Auch sehr schick, aber bei Konfigurationen / Logiken über YAML und Jinja bekomme ich Herzrhythmusstörungen.

                              Wie @mickym beschrieben hat:

                              • Speziell bei zigbee2mqtt, aber generell auch bei MQTT ist oft den Kommando-Kanal ein anderer als der Status-Kanal
                              • Zustände sollen nicht "optimistisch" gesetzt werden, also setzen und hoffen, dass es geklappt hat
                              • Die Anzeige soll sich nach dem tatsächlichen Resultat richten
                              • Jarvis kennt momentan keine Unterscheidung zwischen Kommando und Status-Kanal

                              --> Damit bleibt nur die beiden Kanäle über ein Alias zu koppeln:

                              5e696a31-6dfd-43f9-8e9d-45c4248686da-grafik.png
                              a13225d5-6859-49ca-a348-0b42fc9e6b99-grafik.png
                              f8929904-5d74-4c28-810b-5a4ec7276466-grafik.png

                              M Online
                              M Online
                              MCU
                              schrieb am zuletzt editiert von
                              #14

                              @sineos Wer möchte kann v3.1.0-alpha.45 testen?
                              jarvis v3 - alpha.44 JSONparse Switch.gif

                              Datenpunkt-Eigenschaften

                              {"on":"{\"STATE\":\"ON\"}","off":"{\"STATE\":\"OFF\"}"}
                              

                              cf6215c3-03d0-4ae1-a72a-df22fa06d496-image.png

                              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              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

                              334

                              Online

                              32.5k

                              Benutzer

                              81.7k

                              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