Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Shelly addon über Node Red auf einer NAS mit iobroker

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Shelly addon über Node Red auf einer NAS mit iobroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @HF_SPSler last edited by mickym

      @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.

      1 Reply Last reply Reply Quote 0
      • HF_SPSler
        HF_SPSler last edited by

        @mickym Danke dir für die Links 👍

        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 😞

        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.

        mickym 2 Replies Last reply Reply Quote 0
        • mickym
          mickym Most Active @HF_SPSler last edited by 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_SPSler 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @HF_SPSler last edited by mickym

            @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.

            1 Reply Last reply Reply Quote 0
            • HF_SPSler
              HF_SPSler @mickym last edited by 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?

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @HF_SPSler last edited by 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_SPSler 1 Reply Last reply Reply Quote 0
                • HF_SPSler
                  HF_SPSler @mickym last edited by

                  @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.

                  mickym 2 Replies Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @HF_SPSler last edited by

                    @hf_spsler Na dann sollte der Fehler weg sein?

                    HF_SPSler 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @HF_SPSler last edited by

                      @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.

                      1 Reply Last reply Reply Quote 0
                      • HF_SPSler
                        HF_SPSler @mickym last edited by

                        @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
                        }
                        
                        1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active last edited by 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_SPSler 1 Reply Last reply Reply Quote 0
                          • HF_SPSler
                            HF_SPSler @mickym last edited by

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

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            1.1k
                            Online

                            31.7k
                            Users

                            79.7k
                            Topics

                            1.3m
                            Posts

                            6
                            74
                            6767
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo