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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Shelly addon über Node Red auf einer NAS mit iobroker

NEWS

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

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

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

Shelly addon über Node Red auf einer NAS mit iobroker

Geplant Angeheftet Gesperrt Verschoben Node-Red
74 Beiträge 6 Kommentatoren 13.8k Aufrufe 7 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.
  • HF_SPSlerH HF_SPSler

    Hallo zusammen,

    das Thema ist zwar schon etwas älter, aber aus aktuellem Anlass hole ich den Faden noch mal hoch und hoffe das mein Anliegen hier richtig ist ohne ein neues Thema dazu zu eröffnen.

    Ich möchte einen Shelly Mini1PMG3 über den Iobroker bzw. Iqontrol ein- und ausschalten. Mit einem Nous A1 über Tasmota funktioniert das auch soweit, aber am Shelly beiße ich mir gerade die Zähne aus. Das Thema hier hab ich aufmerksam und mehrfach gelesen aber irgendwo hakt es bei mir immer noch.

    Es wird der mqtt Adapter verwendet und ich habe die Einstellungen für Topic usw. aus der Empfehlung hier aus dem Faden übernommen:

    02f6ad32-01af-4489-a0e5-54927d855967-grafik.png

    In Iqontrol habe ich (wie für den Tasmota Nous A1 auch) einen Knopf angelegt der auf einen DP alias.0.SmartHome.Esszimer.Licht.Haupt zugreift. Unter SET_VALUE ist als Konstante "on" und OFF_SET_VALUE "off" (ohne Anführungszeichen) eingetragen.

    Der Alias sieht so aus:

    {
      "type": "state",
      "common": {
        "name": "Haupt",
        "role": "state",
        "type": "string",
        "read": true,
        "write": true,
        "alias": {
          "id": {
            "read": "mqtt.0.shellys.Esszimmer_Licht_Haupt.status.switch:0",
            "write": "mqtt.0.shellys.Esszimmer_Licht_Haupt.command.switch:0"
          },
          "read": "JSON.parse(val).output"
        }
      },
      "_id": "alias.0.SmartHome.Esszimer.Licht.Haupt",
      "native": {},
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1733998910262
    }
    

    Der Baum unter Alias ist wie folgt aufgebaut:

    42de7a99-1fd5-4d5d-8947-4f1236e84e9b-grafik.png

    Unter dem mqtt Adapter sieht es so aus:

    {
      "_id": "mqtt.0.shellys.Esszimmer_Licht_Haupt.command.switch:0",
      "common": {
        "name": "shellys/Esszimmer_Licht_Haupt/command/switch:0",
        "write": true,
        "read": true,
        "role": "variable",
        "desc": "mqtt server variable",
        "type": "string"
      },
      "native": {
        "topic": "shellys/Esszimmer_Licht_Haupt/command/switch:0"
      },
      "type": "state",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1733948893920
    }
    

    Mit setzen von "on" oder "off" direkt im mqtt Adapter kann ich den Shelly ein- und ausschalten.

    Das Verhalten des Shellys treibt mich noch in den Wahnsinn. Wenn ich in Iqontrol in den Einstellungen des Knopfes unter "Gerätespezifische Optionen" die Rückstellzeit auf z.B. 1000ms stelle und dann in der Weboberfläche den Knopf drücke schaltet sich der Shelly ein und wie erwartet nach 1s wieder aus. Da er aber nicht als Impulsgeber fungieren soll sondern als Schalter, soll ja statt den 1000ms dort eine 0 stehen (0=nie, umschalten). Steht dort jedoch eine 0, dann kann ich genau einmal einschalten und danach wird jegliches bedienen des Knopfes ignoriert.

    Trage ich nichts ein, also weder 1000ms noch eine 0 dann fungiert der Knopf als Taster und sein "Ausgangssignal" toggelt sofort mit Betätigen und wieder loslassen. Der Shelly reagiert auch hier richtig. Knopf betätigt >> Shelly = true, Knopf losgelassen >> Shelly = false.

    Was kann ich hier bloß übersehen haben?

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

    @hf_spsler Keine Ahnung was für Verrenkungen Du machst - nichts mit Rückstellen usw.

    Du hast einen Alias der auf true und false reagiert. Den Zustand dieses Alias holst Du Dir über den Status und das command setzt Du darüber ab. Im iqontrol nimmst Du einen normalen Schalter der den Alias mit true und false schaltet.

    08e7c8b5-410e-4899-a9f5-09c85166439f-image.png

    Dann solltest Du den Shelly ganz normal im Alias mit true und false schalten können und damit auch über iqontrol .Den Pfad zum status (lesen) und command (schreiben) musst Du halt anpassen. Also angelegt schaut Dein Alias ja richtig aus, nur die Konvertierungsfunktion fehlt bzw. steht da Unsinn drin, wenn man mit "on" oder "off" schaltet.

    Wenn in den mqtt Datenpunkten on oder off steht, dann hat das doch nichts mit einem JSON zu tun.

    Was soll das denn? JSON.parse(val).output - und wie gesagt im iqontrol schaltest Du mit true und false den Alias - und der übersetzt das dann für mqtt.

    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
    • HF_SPSlerH Offline
      HF_SPSlerH Offline
      HF_SPSler
      schrieb am zuletzt editiert von
      #58

      @mickym Danke für deine schnelle Antwort. Ich habe anscheinend noch so gar nicht geblickt wie das Ganze von Statten geht, würde es aber gern blicken.

      Der Wert der mqtt Variablen mqtt.0.shellys.Esszimmer_Licht_Haupt.status.switch:0 ist doch ein JSON oder nicht? Um an den Wert von "output", also den Status des Relais, zu kommen muss der Wert von mqtt.0.shellys.Esszimmer_Licht_Haupt.status.switch:0 doch geparst werden oder? Deswegen das JSON.parse(val).output - was in Iqontrol ja auch zuverlässig den aktuellen Status des Relais angezeigt hat.

      Inhalt von mqtt.0.shellys.Esszimmer_Licht_Haupt.status.switch:0:

      {"id":0, "source":"WS_in", "output":false, "apower":0.0, "voltage":234.8, "freq":49.9, "current":0.000, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1734013740}, "ret_aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1734013740},"temperature":{"tC":56.0, "tF":132.7}}
      

      "output" muss hier doch extrahiert werden und kann nicht einfach als "on" oder "off" ausgelesen werden.... ich blick das nicht.

      S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

      mickymM 1 Antwort Letzte Antwort
      0
      • HF_SPSlerH HF_SPSler

        @mickym Danke für deine schnelle Antwort. Ich habe anscheinend noch so gar nicht geblickt wie das Ganze von Statten geht, würde es aber gern blicken.

        Der Wert der mqtt Variablen mqtt.0.shellys.Esszimmer_Licht_Haupt.status.switch:0 ist doch ein JSON oder nicht? Um an den Wert von "output", also den Status des Relais, zu kommen muss der Wert von mqtt.0.shellys.Esszimmer_Licht_Haupt.status.switch:0 doch geparst werden oder? Deswegen das JSON.parse(val).output - was in Iqontrol ja auch zuverlässig den aktuellen Status des Relais angezeigt hat.

        Inhalt von mqtt.0.shellys.Esszimmer_Licht_Haupt.status.switch:0:

        {"id":0, "source":"WS_in", "output":false, "apower":0.0, "voltage":234.8, "freq":49.9, "current":0.000, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1734013740}, "ret_aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1734013740},"temperature":{"tC":56.0, "tF":132.7}}
        

        "output" muss hier doch extrahiert werden und kann nicht einfach als "on" oder "off" ausgelesen werden.... ich blick das nicht.

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

        @hf_spsler Ok - wenn das so drin steht, dann hast Du Recht und dann ist es aber nicht on, off.

        Sprich bei Lesen nimmst Du

        JSON.parse(val).output
        

        aber bei dem command schreibst Du doch on, off so wie ich das verstanden habe. Dieses Ermitteln von Zuständen machst DU nur in Deinem Alias. Das iqontrol kann nicht mit unterschiedlichen Datenpunkten zum Lesen und Schreiben umgehen.

        Für das iqontrol hast Du nur einen Datenpunkt - den Alias mit true und false.

        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.

        HF_SPSlerH 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @hf_spsler Ok - wenn das so drin steht, dann hast Du Recht und dann ist es aber nicht on, off.

          Sprich bei Lesen nimmst Du

          JSON.parse(val).output
          

          aber bei dem command schreibst Du doch on, off so wie ich das verstanden habe. Dieses Ermitteln von Zuständen machst DU nur in Deinem Alias. Das iqontrol kann nicht mit unterschiedlichen Datenpunkten zum Lesen und Schreiben umgehen.

          Für das iqontrol hast Du nur einen Datenpunkt - den Alias mit true und false.

          HF_SPSlerH Offline
          HF_SPSlerH Offline
          HF_SPSler
          schrieb am zuletzt editiert von HF_SPSler
          #60

          @mickym sagte

          Sprich bei Lesen nimmst Du

          JSON.parse(val).output
          

          Nun, genauso hatte ich es in meinem ersten Post ja geschrieben und der Status des Relais wird ja auch zuverlässig in Iqontrol angezeigt. Nur das Schreiben in den command klappt genau einmal und dann passiert bei erneutem Betätigen des Widgets nix mehr.

          Ich weiß nicht ob ich mich unglücklich ausdrücke oder wir einfach aneinander vorbei reden.

          Das "on" oder "off" gesendet werden sollen hab ja nicht ich mir ausgedacht, das scheint ja der command zu erwarten.

          Der Knopf in Iqontrol sieht so aus:

          da558515-1787-4eb1-8570-05f580562142-grafik.png

          Und ganz unten in den gerätespezifischen Optionen ist aktuell eine 0 eingetragen damit der Knopf schaltet und nicht toggelt:

          8b7aadd3-a443-47ec-a02f-c7bfeed33353-grafik.png

          Würde ich anstelle der 0 z.B. 1000 eintragen, dann würde beim Betätigen des Widgets das Relais anziehen und nach genau 1sec wieder abfallen. Das suggeriert mir, die grundsätzliche Ansteuerung scheint zu klappen. Nur nicht dann wenn der Knopf schalten statt toggeln soll....

          Schreibe ich z.B. direkt über Iobroker hier ein "on" oder "off" rein kann ich den Shelly schalten:

          f275a7a0-88bb-4140-bf9f-f5a6dfbf1770-grafik.png

          S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

          mickymM 1 Antwort Letzte Antwort
          0
          • HF_SPSlerH HF_SPSler

            @mickym sagte

            Sprich bei Lesen nimmst Du

            JSON.parse(val).output
            

            Nun, genauso hatte ich es in meinem ersten Post ja geschrieben und der Status des Relais wird ja auch zuverlässig in Iqontrol angezeigt. Nur das Schreiben in den command klappt genau einmal und dann passiert bei erneutem Betätigen des Widgets nix mehr.

            Ich weiß nicht ob ich mich unglücklich ausdrücke oder wir einfach aneinander vorbei reden.

            Das "on" oder "off" gesendet werden sollen hab ja nicht ich mir ausgedacht, das scheint ja der command zu erwarten.

            Der Knopf in Iqontrol sieht so aus:

            da558515-1787-4eb1-8570-05f580562142-grafik.png

            Und ganz unten in den gerätespezifischen Optionen ist aktuell eine 0 eingetragen damit der Knopf schaltet und nicht toggelt:

            8b7aadd3-a443-47ec-a02f-c7bfeed33353-grafik.png

            Würde ich anstelle der 0 z.B. 1000 eintragen, dann würde beim Betätigen des Widgets das Relais anziehen und nach genau 1sec wieder abfallen. Das suggeriert mir, die grundsätzliche Ansteuerung scheint zu klappen. Nur nicht dann wenn der Knopf schalten statt toggeln soll....

            Schreibe ich z.B. direkt über Iobroker hier ein "on" oder "off" rein kann ich den Shelly schalten:

            f275a7a0-88bb-4140-bf9f-f5a6dfbf1770-grafik.png

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

            @hf_spsler Ich hab Dir doch die Konvertierungsfunktion zum Schreiben in dem Screenshot des Alias geschickt. Kein Zurückstellen - im jqontrol machst Du nichts. Aus dem jqontrol schickst Du true und false - sonst nichts.

            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
            • HF_SPSlerH Offline
              HF_SPSlerH Offline
              HF_SPSler
              schrieb am zuletzt editiert von
              #62

              @mickym Erstmal vielen Dank für deine schnelle Unterstützung :+1: . Jetz läuft es wie gewünscht. Ich hatte zwischenzeitlich mal den Shelly-Adapter ausprobiert allerdings gefiel es mir nicht, dass dort die Client ID nicht geändert werden darf und man beim Einsatz von zig Shellys dann m.E. kaum eine Klartextzuordnung, welcher Shelly was macht, erhält. Daher bin ich wieder zurück zu deiner, wirklich guten, Lösung über den MQTT-Adapter da dort eben die Zuordnung und Strukturierung über das MQTT prefix sauber möglich ist.

              Allerdings, es funktioniert mit den Konvertierungsfunktionen wie folgt:

              f52b157b-f34c-4da9-8d09-b1776eed5da8-grafik.png

              In Iqontrol ist das Widget auf "Schalter" eingestellt.

              PS: In welcher Doku kann man nachlesen wie die Konvertierungsfunktionen anzuwenden sind? Man muss ja quasi erst mal wissen dass es mit derartigen Konvertierungen zu lösen geht

              S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

              mickymM 1 Antwort Letzte Antwort
              0
              • HF_SPSlerH HF_SPSler

                @mickym Erstmal vielen Dank für deine schnelle Unterstützung :+1: . Jetz läuft es wie gewünscht. Ich hatte zwischenzeitlich mal den Shelly-Adapter ausprobiert allerdings gefiel es mir nicht, dass dort die Client ID nicht geändert werden darf und man beim Einsatz von zig Shellys dann m.E. kaum eine Klartextzuordnung, welcher Shelly was macht, erhält. Daher bin ich wieder zurück zu deiner, wirklich guten, Lösung über den MQTT-Adapter da dort eben die Zuordnung und Strukturierung über das MQTT prefix sauber möglich ist.

                Allerdings, es funktioniert mit den Konvertierungsfunktionen wie folgt:

                f52b157b-f34c-4da9-8d09-b1776eed5da8-grafik.png

                In Iqontrol ist das Widget auf "Schalter" eingestellt.

                PS: In welcher Doku kann man nachlesen wie die Konvertierungsfunktionen anzuwenden sind? Man muss ja quasi erst mal wissen dass es mit derartigen Konvertierungen zu lösen geht

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

                @hf_spsler sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                PS: In welcher Doku kann man nachlesen wie die Konvertierungsfunktionen anzuwenden sind? Man muss ja quasi erst mal wissen dass es mit derartigen Konvertierungen zu lösen geht

                Die Einzige Doku sind die Beispiele meines Erachtens unter der Konvertierung:

                f54153cc-ccf6-402e-a365-b944ac514c40-image.png

                Gibt ja auch nicht viel - da es ja reines Javascript ist.
                Beim Lesen steht im val Dein kompleter JSON string, denn Du über JSON.parse in ein Objekt wandelst und dann im Objekt die Eigenschaft selektierst.
                Also:
                https://www.w3schools.com/js/js_json_parse.asp

                Bei Schreiben liest Du ja aus dem Alias quasi true/false und willst das in "on" "off"konvertieren. Also steht in val true oder false und du übersetzt das in "on" und "off". Dazu nimmst Du die conditional Schreibweise, da Du keinen mehrzeiligen JS Code schreiben kannst.

                https://www.w3schools.com/js/js_comparisons.asp

                993a1aac-51c5-49ba-bbad-5d4c540283c0-image.png

                Ggf. ist das hier noch die offiziele Doku: https://www.iobroker.net/#de/documentation/dev/aliases.md

                Fazit: In welcher Doku kann man nachlesen wie die Konvertierungsfunktionen anzuwenden sind?
                Reines Javascript solang es in eine Zeile passt.

                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
                • HF_SPSlerH Offline
                  HF_SPSlerH Offline
                  HF_SPSler
                  schrieb am zuletzt editiert von
                  #64

                  @mickym Danke dir für die Links :+1:

                  Aber, so langsam geh ich am Stock. Jetzt funzt es schon wieder nicht mehr und mir gehen die Ideen aus was sich da ständig ändert dass es plötzlich nicht mehr funktioniert.

                  Seit ca. zwei Stunden tut sich nichts mehr wenn der Schalter in Iqontrol betätigt wird. Kann es eventuell an den Einstellungen im MQTT Adapter liegen?

                  572fd461-23b9-438a-b8af-243460daefd7-grafik.png

                  8641c39e-5ae8-4385-949f-a5f03aa22294-grafik.png

                  Der MQTT Adapter steht auf grün und verursacht keine warnenden Logeinträge. Die derzeit verbundenen MQTT Geräte werden auch alle aufgelistet:

                  4478d18c-963c-495d-9c37-cb951507f767-grafik.png

                  Aber wenn ich den Schalter betätige tut sich nichts, nur der drehende Kreis ist zu sehen:

                  9e20a349-cf38-4637-98a1-a33e8493542d-grafik.png

                  Die Konvertierungsfunktionen sind nach wie vor so, wie sie heute Morgen noch einwandfrei funktioniert haben:

                  5fabf5d0-f8c7-43f1-8ff7-3135c0dc5b91-grafik.png

                  88411cab-067e-4f38-a0cc-fd6dadbc959a-grafik.png

                  Hier die Ansicht aus dem MQTT Adapter-Baum, die Werte sind offensichtlich auch nicht bestätigt (rot):

                  ea0ccda1-36c6-44ae-8d85-7bd24aa2b64e-grafik.png

                  Aber offensichtlich werden aus Iqontrol, also dem definierten Schalter, weder "ON" noch "OFF" herausgeschickt und ich kann mir einfach nicht mehr erklären warum dies nicht geschieht :disappointed:

                  Des kann doch nicht so schwer sein ein simples Relais per MQTT ein- und aus zu schalten - mit dem Tasmota-Dingen gehts ja auch... langsam macht sich Verzweifelung breit.

                  S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

                  mickymM 2 Antworten Letzte Antwort
                  0
                  • HF_SPSlerH HF_SPSler

                    @mickym Danke dir für die Links :+1:

                    Aber, so langsam geh ich am Stock. Jetzt funzt es schon wieder nicht mehr und mir gehen die Ideen aus was sich da ständig ändert dass es plötzlich nicht mehr funktioniert.

                    Seit ca. zwei Stunden tut sich nichts mehr wenn der Schalter in Iqontrol betätigt wird. Kann es eventuell an den Einstellungen im MQTT Adapter liegen?

                    572fd461-23b9-438a-b8af-243460daefd7-grafik.png

                    8641c39e-5ae8-4385-949f-a5f03aa22294-grafik.png

                    Der MQTT Adapter steht auf grün und verursacht keine warnenden Logeinträge. Die derzeit verbundenen MQTT Geräte werden auch alle aufgelistet:

                    4478d18c-963c-495d-9c37-cb951507f767-grafik.png

                    Aber wenn ich den Schalter betätige tut sich nichts, nur der drehende Kreis ist zu sehen:

                    9e20a349-cf38-4637-98a1-a33e8493542d-grafik.png

                    Die Konvertierungsfunktionen sind nach wie vor so, wie sie heute Morgen noch einwandfrei funktioniert haben:

                    5fabf5d0-f8c7-43f1-8ff7-3135c0dc5b91-grafik.png

                    88411cab-067e-4f38-a0cc-fd6dadbc959a-grafik.png

                    Hier die Ansicht aus dem MQTT Adapter-Baum, die Werte sind offensichtlich auch nicht bestätigt (rot):

                    ea0ccda1-36c6-44ae-8d85-7bd24aa2b64e-grafik.png

                    Aber offensichtlich werden aus Iqontrol, also dem definierten Schalter, weder "ON" noch "OFF" herausgeschickt und ich kann mir einfach nicht mehr erklären warum dies nicht geschieht :disappointed:

                    Des kann doch nicht so schwer sein ein simples Relais per MQTT ein- und aus zu schalten - mit dem Tasmota-Dingen gehts ja auch... langsam macht sich Verzweifelung breit.

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

                    @hf_spsler Die mqtt Einstellungen sind am Besten - wenn Du alle Haken raus nimmst.

                    Den Alias hast Du verkehrt definiert.

                    00a3b80f-25b6-49ae-af37-5aaf1e19546e-image.png

                    Dein Alias ist doch ein Boolean - also Logikwert und keine Zeichenkette. In dem Alias wird doch alles von und nach true/false konvertiert. Das dürfte das Hauptproblem sein.

                    11897e7d-ac9c-4a32-9f69-18d0944671d6-image.png

                    Und Rolle - lass mal auf state.

                    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.

                    HF_SPSlerH 1 Antwort Letzte Antwort
                    0
                    • HF_SPSlerH HF_SPSler

                      @mickym Danke dir für die Links :+1:

                      Aber, so langsam geh ich am Stock. Jetzt funzt es schon wieder nicht mehr und mir gehen die Ideen aus was sich da ständig ändert dass es plötzlich nicht mehr funktioniert.

                      Seit ca. zwei Stunden tut sich nichts mehr wenn der Schalter in Iqontrol betätigt wird. Kann es eventuell an den Einstellungen im MQTT Adapter liegen?

                      572fd461-23b9-438a-b8af-243460daefd7-grafik.png

                      8641c39e-5ae8-4385-949f-a5f03aa22294-grafik.png

                      Der MQTT Adapter steht auf grün und verursacht keine warnenden Logeinträge. Die derzeit verbundenen MQTT Geräte werden auch alle aufgelistet:

                      4478d18c-963c-495d-9c37-cb951507f767-grafik.png

                      Aber wenn ich den Schalter betätige tut sich nichts, nur der drehende Kreis ist zu sehen:

                      9e20a349-cf38-4637-98a1-a33e8493542d-grafik.png

                      Die Konvertierungsfunktionen sind nach wie vor so, wie sie heute Morgen noch einwandfrei funktioniert haben:

                      5fabf5d0-f8c7-43f1-8ff7-3135c0dc5b91-grafik.png

                      88411cab-067e-4f38-a0cc-fd6dadbc959a-grafik.png

                      Hier die Ansicht aus dem MQTT Adapter-Baum, die Werte sind offensichtlich auch nicht bestätigt (rot):

                      ea0ccda1-36c6-44ae-8d85-7bd24aa2b64e-grafik.png

                      Aber offensichtlich werden aus Iqontrol, also dem definierten Schalter, weder "ON" noch "OFF" herausgeschickt und ich kann mir einfach nicht mehr erklären warum dies nicht geschieht :disappointed:

                      Des kann doch nicht so schwer sein ein simples Relais per MQTT ein- und aus zu schalten - mit dem Tasmota-Dingen gehts ja auch... langsam macht sich Verzweifelung breit.

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

                      @hf_spsler sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                      Aber offensichtlich werden aus Iqontrol, also dem definierten Schalter, weder "ON" noch "OFF" herausgeschickt und ich kann mir einfach nicht mehr erklären warum dies nicht geschieht

                      Und nochmal das iqontrol darf nur true/false an den Alias schicken. Dein iqontrol kennt kein on und off. Die Konvertierungsfunktion im Alias wandelt true/false in on/off um und sonst nirgends!!! - Wenn Du mehrfach irgendwo das Gleiche machst, ist es immer verkehrt. Wie gesagt dein iqontrol schickt true/false und sonst NICHTS.

                      Am Besten den Schalter nochmal neu definieren - der steht glaub standardmäßig auf true/false.

                      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
                      • mickymM mickym

                        @hf_spsler Die mqtt Einstellungen sind am Besten - wenn Du alle Haken raus nimmst.

                        Den Alias hast Du verkehrt definiert.

                        00a3b80f-25b6-49ae-af37-5aaf1e19546e-image.png

                        Dein Alias ist doch ein Boolean - also Logikwert und keine Zeichenkette. In dem Alias wird doch alles von und nach true/false konvertiert. Das dürfte das Hauptproblem sein.

                        11897e7d-ac9c-4a32-9f69-18d0944671d6-image.png

                        Und Rolle - lass mal auf state.

                        HF_SPSlerH Offline
                        HF_SPSlerH Offline
                        HF_SPSler
                        schrieb am zuletzt editiert von HF_SPSler
                        #67

                        @mickym sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                        Am Besten den Schalter nochmal neu definieren - der steht glaub standardmäßig auf true/false.

                        Am Schalter habe ich nichts verändert. Ich denke wie ich mich ausgedrückt habe führte zu Irritationen bezüglich "on" / "off" und true und false. Wie gesagt, am Schalter oder seinen Eigenschaften habe ich nichts verändert. Wenn ich "on" oder "off" erwähnt habe war das immer auf den Ausgangswert/Schreibwert des Alias bezogen, also mit Hilfe der Konvertierung.

                        @mickym sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                        Dein Alias ist doch ein Boolean - also Logikwert und keine Zeichenkette. In dem Alias wird doch alles von und nach true/false konvertiert. Das dürfte das Hauptproblem sein.

                        Okay, ich hab den Alias von Zeichenkette auf Boolean geändert, alle Haken beim MQTT Adapter raus genommen und das Schalten über Iqontrol - Widget klappt wieder. Jedoch meldet der Admin Adapter jetzt eine Warnung:

                        2024-12-13 18:05:18.190 - warn: admin.0 (184712) Object alias.0.SmartHome.Esszimer.Licht.Haupt is invalid: Default value has to be type "boolean" but received type "string" This will throw an error up from js-controller version 7.0.0! 
                        

                        Die kann ich in soweit auch nachvollziehen als das zwar die zu schreibenden Werte von Boolean auf "on" : "off" zu konvertieren sind, jedoch die Lesewerte aus einer Zeichenkette:

                        {"id":0, "source":"mqtt", "output":false, "apower":0.0, "voltage":231.7, "freq":49.9, "current":0.000, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1734110100}, "ret_aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1734110100},"temperature":{"tC":56.7, "tF":134.0}}
                        

                        stammen. Oder kann man dort noch eine weitere Konvertierung innerhalb des Alias definieren? Das sieht für mich so aus als wenn es in diesem Fall nicht möglich ist nur einen Alias zum Lesen und Schreiben zu verwenden, richtig? Also eher zwei Aliase, da der Shelly command und status in unterschiedlichen Typen liefert? Bzw. der Alias lesend einen anderen Typen verwenden muss als schreibend?

                        S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • HF_SPSlerH HF_SPSler

                          @mickym sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                          Am Besten den Schalter nochmal neu definieren - der steht glaub standardmäßig auf true/false.

                          Am Schalter habe ich nichts verändert. Ich denke wie ich mich ausgedrückt habe führte zu Irritationen bezüglich "on" / "off" und true und false. Wie gesagt, am Schalter oder seinen Eigenschaften habe ich nichts verändert. Wenn ich "on" oder "off" erwähnt habe war das immer auf den Ausgangswert/Schreibwert des Alias bezogen, also mit Hilfe der Konvertierung.

                          @mickym sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                          Dein Alias ist doch ein Boolean - also Logikwert und keine Zeichenkette. In dem Alias wird doch alles von und nach true/false konvertiert. Das dürfte das Hauptproblem sein.

                          Okay, ich hab den Alias von Zeichenkette auf Boolean geändert, alle Haken beim MQTT Adapter raus genommen und das Schalten über Iqontrol - Widget klappt wieder. Jedoch meldet der Admin Adapter jetzt eine Warnung:

                          2024-12-13 18:05:18.190 - warn: admin.0 (184712) Object alias.0.SmartHome.Esszimer.Licht.Haupt is invalid: Default value has to be type "boolean" but received type "string" This will throw an error up from js-controller version 7.0.0! 
                          

                          Die kann ich in soweit auch nachvollziehen als das zwar die zu schreibenden Werte von Boolean auf "on" : "off" zu konvertieren sind, jedoch die Lesewerte aus einer Zeichenkette:

                          {"id":0, "source":"mqtt", "output":false, "apower":0.0, "voltage":231.7, "freq":49.9, "current":0.000, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1734110100}, "ret_aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1734110100},"temperature":{"tC":56.7, "tF":134.0}}
                          

                          stammen. Oder kann man dort noch eine weitere Konvertierung innerhalb des Alias definieren? Das sieht für mich so aus als wenn es in diesem Fall nicht möglich ist nur einen Alias zum Lesen und Schreiben zu verwenden, richtig? Also eher zwei Aliase, da der Shelly command und status in unterschiedlichen Typen liefert? Bzw. der Alias lesend einen anderen Typen verwenden muss als schreibend?

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

                          @hf_spsler Nein - das geht mit einem Alias. Schau mal ob Du irgendwo einen Defaultwert festgelegt hast. Schau nochmal in dem common Objekt was da drin steht, ansonsten nochmal einen neuen Alias anlegen. Da ist irgendein Mist von vorher drin. Bei mir geht das ja auch.

                          Und dann schau lieber in deinem iqontrol ob Du da auch Booleans und keine Zeichenketten "true" und "false" schickst.

                          Bei mir ist bei def eine leere Zeichenkette drin. Ansonsten mach da halt true oder false als default rein.

                          Sonst schmeiss das einfach raus:
                          59dac9a2-faf4-4232-8b94-c1add3617676-image.png

                          42cf70ad-9095-4098-ba24-6f1ecf4202e0-image.png

                          Also Zeile mit def löschen oder leeren String oder boolean eintragen.

                          Solche Fehler kommen einfach dadurch, dass man vorher halt irgendwas "verkonfiguriert" hat. Normalerweise ist kein Standardwert definiert.

                          So sieht normalerweise die Standardwerte eines Switch aus - steht auf false.

                          7eadc029-f5a9-4802-a6c8-6232f7421903-image.png

                          Booleans OHNE Gänsefüsschen.

                          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.

                          HF_SPSlerH 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @hf_spsler Nein - das geht mit einem Alias. Schau mal ob Du irgendwo einen Defaultwert festgelegt hast. Schau nochmal in dem common Objekt was da drin steht, ansonsten nochmal einen neuen Alias anlegen. Da ist irgendein Mist von vorher drin. Bei mir geht das ja auch.

                            Und dann schau lieber in deinem iqontrol ob Du da auch Booleans und keine Zeichenketten "true" und "false" schickst.

                            Bei mir ist bei def eine leere Zeichenkette drin. Ansonsten mach da halt true oder false als default rein.

                            Sonst schmeiss das einfach raus:
                            59dac9a2-faf4-4232-8b94-c1add3617676-image.png

                            42cf70ad-9095-4098-ba24-6f1ecf4202e0-image.png

                            Also Zeile mit def löschen oder leeren String oder boolean eintragen.

                            Solche Fehler kommen einfach dadurch, dass man vorher halt irgendwas "verkonfiguriert" hat. Normalerweise ist kein Standardwert definiert.

                            So sieht normalerweise die Standardwerte eines Switch aus - steht auf false.

                            7eadc029-f5a9-4802-a6c8-6232f7421903-image.png

                            Booleans OHNE Gänsefüsschen.

                            HF_SPSlerH Offline
                            HF_SPSlerH Offline
                            HF_SPSler
                            schrieb am zuletzt editiert von
                            #69

                            @mickym sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                            Und dann schau lieber in deinem iqontrol ob Du da auch Booleans und keine Zeichenketten "true" und "false" schickst.

                            Bei einem Schalter kann ich nach meiner Kenntnis nicht beeinflussen was er beim Betätigen schickt. Ich kann nur bei einem "Knopf" die zu schickenden Werte für ACTIVE oder INACTIVE beeinflussen - verwendet wird aber seit deiner Empfehlung der Schalter.

                            Im common Objekt habe ich die Zeile "def": "", entfernt.

                            S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

                            mickymM 2 Antworten Letzte Antwort
                            0
                            • HF_SPSlerH HF_SPSler

                              @mickym sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                              Und dann schau lieber in deinem iqontrol ob Du da auch Booleans und keine Zeichenketten "true" und "false" schickst.

                              Bei einem Schalter kann ich nach meiner Kenntnis nicht beeinflussen was er beim Betätigen schickt. Ich kann nur bei einem "Knopf" die zu schickenden Werte für ACTIVE oder INACTIVE beeinflussen - verwendet wird aber seit deiner Empfehlung der Schalter.

                              Im common Objekt habe ich die Zeile "def": "", entfernt.

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

                              @hf_spsler Na dann sollte der Fehler weg sein?

                              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.

                              HF_SPSlerH 1 Antwort Letzte Antwort
                              0
                              • HF_SPSlerH HF_SPSler

                                @mickym sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                                Und dann schau lieber in deinem iqontrol ob Du da auch Booleans und keine Zeichenketten "true" und "false" schickst.

                                Bei einem Schalter kann ich nach meiner Kenntnis nicht beeinflussen was er beim Betätigen schickt. Ich kann nur bei einem "Knopf" die zu schickenden Werte für ACTIVE oder INACTIVE beeinflussen - verwendet wird aber seit deiner Empfehlung der Schalter.

                                Im common Objekt habe ich die Zeile "def": "", entfernt.

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

                                @hf_spsler sagte in Shelly addon über Node Red auf einer NAS mit iobroker:

                                Bei einem Schalter kann ich nach meiner Kenntnis nicht beeinflussen was er beim Betätigen schickt. Ich kann nur bei einem "Knopf" die zu schickenden Werte für ACTIVE oder INACTIVE beeinflussen - verwendet wird aber seit deiner Empfehlung der Schalter.

                                Gut wahrscheinlich ist es schon gut. Aber ACTIVE = true und INACTIVE = false - aber ich kenn mich mit der Visualisierung nicht aus. Ich nutze ja NodeRed - Aber wahrscheinlich ist alles gut. Sonst musst halt noch Leute fragen, die sich mit dieser Visualisierung auskennen.

                                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
                                • mickymM mickym

                                  @hf_spsler Na dann sollte der Fehler weg sein?

                                  HF_SPSlerH Offline
                                  HF_SPSlerH Offline
                                  HF_SPSler
                                  schrieb am zuletzt editiert von
                                  #72

                                  @mickym Ich hab keine Ahnung wie ich ihn provozieren könnte.... aktuell wird er im Log nicht mehr abgelegt.

                                  Aber eines würde ich noch interessieren, sofern ich dir damit nicht auf den Keks gehe...

                                  Du bist ja ziemlich firm beim MQTT Adapter. Kannst du mir eventuell erklären warum er bei meiner Tasmota-Steckdose den Typ des command innerhalb des Objektbaums unter immer wieder von selbst auf "Number" umstellt obwohl Tasmota dort definitiv einen String erwartet?

                                  {
                                    "_id": "mqtt.0.tasmota.Kueche_Unterschrank_Licht.cmnd.POWER",
                                    "common": {
                                      "name": "tasmota/Kueche_Unterschrank_Licht/cmnd/POWER",
                                      "write": true,
                                      "read": true,
                                      "role": "variable",
                                      "desc": "mqtt server variable",
                                      "type": "number"  // hier sollte eigentlich 'string' stehen?! Er ändert es aber immer wieder selbstständig auf 'number'
                                    },
                                    "native": {
                                      "topic": "tasmota/Kueche_Unterschrank_Licht/cmnd/POWER"
                                    },
                                    "type": "state",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1734084459909
                                  }
                                  

                                  S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

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

                                    @hf_spsler Den Typ legt der Adapter oft selbst fest - anhand der Daten, die ankommen. Wenn das zu Fehlern führt, dann stell das manuell auf den Typ "mixed" um.

                                    45ea2d0b-e57a-4a54-95fa-09aa98684ad5-image.png

                                    Sprich wenn sich das selbstständig ändert, dann macht das der Adapter - hat mit Deinen Geräten oder Tasmota nichts zu tun.

                                    Generell wenn Du mit dem Adapter als Broker Probleme hast, dann empfehle ich mosquitto als externen Broker zu verwenden und den Adapter als Client zu betreiben. Das mache ich seit Jahren und kann ich nur empfehlen.

                                    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.

                                    HF_SPSlerH 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @hf_spsler Den Typ legt der Adapter oft selbst fest - anhand der Daten, die ankommen. Wenn das zu Fehlern führt, dann stell das manuell auf den Typ "mixed" um.

                                      45ea2d0b-e57a-4a54-95fa-09aa98684ad5-image.png

                                      Sprich wenn sich das selbstständig ändert, dann macht das der Adapter - hat mit Deinen Geräten oder Tasmota nichts zu tun.

                                      Generell wenn Du mit dem Adapter als Broker Probleme hast, dann empfehle ich mosquitto als externen Broker zu verwenden und den Adapter als Client zu betreiben. Das mache ich seit Jahren und kann ich nur empfehlen.

                                      HF_SPSlerH Offline
                                      HF_SPSlerH Offline
                                      HF_SPSler
                                      schrieb am zuletzt editiert von
                                      #74

                                      @mickym Ich danke dir vielmals für die tatkräftige Unterstützung!! :+1: :+1:

                                      S7 1214 (Master) + Logo!8(Slave Erdgeschoss) + Logo!8 (Slave Obergeschoss) + S7 1214 (Slave Garage/Nebengebäude)

                                      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

                                      475

                                      Online

                                      32.4k

                                      Benutzer

                                      81.4k

                                      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