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. Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard

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

      Nein komplett verkehrt - da unten haben die switch Nodes gar nichts verloren und Du filterst eins nach dem anderen.

      Also welchen Status muss EVCS haben?
      Welchen Status muss der SoC haben?

      Beides machst Du in eine eigene Switch Node und schiebst die als Filter vor Deine mqtt Node. In dem Du die beiden Switch Nodes in Serie schaltest müssen ja beide Bedingungen erfüllt sein.

      2e06e8c4-e3b2-4f46-b4a3-7a589e6c05b0-image.png

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

        @mickym

        EVCS hat folgende Statusausgaben:

        0 = Bedingung KEINE Ausregelung gegen 0
        1 = Bedingung KEINE Ausregelung gegen 0
        2 = Bedingung KEINE Ausregelung gegen 0
        4 = Bedingung KEINE Ausregelung gegen 0
        6 = Bedingung KEINE Ausregelung gegen 0
        7 = Bedingung KEINE Ausregelung gegen 0

        3 = Bedingung Ausregelung gegen 0

        Batterie SOC
        Ausgabe als Wert in %

        D.h. =/> 99% = Ausregelung gegen 0

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

          @hape1 Damit kann ich nichts anfangen, versetze Dich doch mal in das Nachrichtenobjekt. Aus der Range Node kommt ein Wert zwischen 0 und 1600. Muss dieser Wert irgendwas überprüft werden oder soll der EVCS überprüft werden.

          Sag genau wie Deine Bedingung aussehen soll.

          Wenn der Wert 300 kommt und EVCS Status ungleich 3 und SOC < 80 ist, dann soll geregelt werden. Versuche mal Deinen Flow in eine Logik zu formulieren. Ich kenne mich damit NICHT aus - DU musst die Logik schon selbst formulieren - ich kann Dir nur vorschlagen, wie man es umsetzen kann.

          Ich kenne mich nicht mit Batterien etc. aus - das musst Du schon selbst formulieren.

          Du weißt doch, dass aus der range Node ein Wert zwischen 0 und 1600 rauskommt, was soll also als nächstes überprüft werden? oder von mir aus verzweigt sich Dein Flow - weil die Bedingungen bei unterschiedlichen Werten unterschiedlich aussehen. Du musst halt Schritt für Schritt überlegen, wie und was geprüft werden soll.

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

            @mickym

            Kein Problem, ich bin ja froh, das Du nicht alles weißt 😀

            Ok, ich formuliere das jetzt mal so:

            Wenn die Bedingung Batterie SOC =/> 99% UND der EVCS Status den Wert 3 ausgibt dann soll der Flow arbeiten und den Wechselrichter runterregeln.

            Im Umkehrschluss wird daraus, das beim EVCS-Status 0;1;2;4;6;7 und alles SOC-Werten <98% KEINE Ausregelung erfolgen soll.

            Dh. ich würde das mal mit meinem Wissen so ausbilden:

            Bildschirmfoto 2024-04-02 um 21.01.33.png

            Bildschirmfoto 2024-04-02 um 21.05.01.png Bildschirmfoto 2024-04-02 um 21.04.51.png

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

              @hape1

              1a591ef9-7c38-491f-b24b-3be13134bb57-image.png

              So was macht in der Regel keinen Sinn, weil dann brauche ich keine Abprüfung.

              Also wenn wir das umsetzen wollen: Wenn die Bedingung Batterie SOC =/> 99% UND der EVCS Status den Wert 3 ausgibt dann müssen wir dafür sorgen, dass nur das durchgelassen wird - alles andere wird ja automatisch blockiert.

              Also zeig wie du Deinen State of Charge überprüftst?

              e691b52c-501b-4d71-9d37-459df3a768ee-image.png

              Das ist schon mal verkehrt - also Name würde ich eine geben "Batterie_SOC > 99%" - das beschriftet Dir die Node nur.
              In der Eigenschaft steht der Wert den du überprüfen willst und das ist NICHT die payload - da diese ja den Wert 0-1600 aus Deiner Summierung enthält. Du willst doch den Wert Deiner Flowvariablen Batterie_SOC überprüfen und nicht die payload. Also stelle das erst mal richtig.

              Das mit der Überprüfung der Variablen EVCS ist natürlich auch Quatsch. Hier überprüfst Du ja wieder Deine payload - die Deine Werte aus der range Node enthält:

              4a04eb78-31cd-4b75-af0a-fdc75d9205b4-image.png

              Dann macht es in der Regel (es gibt Ausnahmen) KEINEN Sinn wenn beide Ausgänge GLEICH behandelt werden - sprich alle in die gleiche Node münden ohne dass dazwischen das Nachrichtenobjekt unterschiedlich bearbeitet wird.

              Auch hier dient der Name nur der Beschriftung der Node - das kann man dafür nutzen - da wir nur die Nachricht durchlassen wollen, wenn EVCS gleich 3 ist. Dann schreibst Du als Name am Besten "EVCS = 3"

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

                @mickym ... Du bist zu schnell für mich 🙂 :

                Bildschirmfoto 2024-04-02 um 21.14.51.png

                Bildschirmfoto 2024-04-02 um 21.15.14.png Bildschirmfoto 2024-04-02 um 21.15.01.png

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

                  @hape1 ##6493ec46-33d1-4b5f-8118-9f74caf982f0-image.png

                  wenn du das ist true wegmachst, dann passt es - ES wird grundsätzlich die Nachricht nur an den Ausgang weitergeleitet wenn die Bedingug erfüllt ist.

                  Und wie gesagt Du kannst das alles überprüfen indem Du mit Inject Nodes die Werte simulierst und änderst.

                  Wenn Du hinter jede Switch Node eine Debug Node machst, dann kannst Du genau nachvollziehen, welche Node die Nachricht wegfiltert oder durchlässt.

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

                    @mickym

                    Ok, "alles klar" 🙂 ... ich werde den Flow testen und melde mich einem Ergebnis zurück ...

                    Ps. Dein Tempo ist mir ein wenig unheimlich 🙂 VIELEN DANK!

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

                      @hape1 sagte in Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard:

                      @mickym

                      Ok, "alles klar" 🙂 ... ich werde den Flow testen und melde mich einem Ergebnis zurück ...

                      Ps. Dein Tempo ist mir ein wenig unheimlich 🙂 VIELEN DANK!

                      Na ich dachte eigentlich, dass ich Dir das Schritt für Schritt erkläre. Ich hätte ja auch einfach den Flow fertig machen können. Es geht mir aber darum, dass Du verstehst was passiert und welchen Vorteil Du mit dieser grafischen Programmierung hast und eben nicht Text und Text formulierst sondern die Macht der Knoten nutzt. 😉

                      Ich würde es auch mal schön machen und in eine Linie zeichnen, also die Nodes NICHT so untereinander zu quetschen - dann sieht man schöner wie der Flow von Anfang (links) also dem Trigger - zur Steuerung ganz nach rechts läuft.

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

                        @mickym

                        ... nein, nein, Missverständnis ... die Erklärungen waren sehr hilfreich, aber ich musste erstmal nachdenken, bis ich das erklärte verstanden hatte ... Alles gut, ich freue mich, wenn ich was lernen kann!

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

                          @hape1 trotzdem musst du Dir halt deine Logik überlegen. Im Moment würde halt alles blockiert, sobald der Ladezustand der Batterie unter 99% sinkt. Ich weiß nicht, ob das gewünscht ist - aber wie gesagt, das musst Du wissen.

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

                            @mickym sagte in Node-Red - Shelly PlusPlugS - Mqtt Node-Red Dashboard:

                            @hape1 trotzdem musst du Dir halt deine Logik überlegen. Im Moment würde halt alles blockiert, sobald der Ladezustand der Batterie unter 99% sinkt. Ich weiß nicht, ob das gewünscht ist - aber wie gesagt, dass musst Du wissen.

                            Das soll natürlich nicht sein!

                            Bei unter 99% soll der Wechselrichter seine volle Leistung bringen!

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

                              @hape1 Ja wie gesagt, das musst Du wissen. Momentan blockiert die 1. Switch Node alles wenn der SOC kleiner 99 ist.

                              Und vielleicht bringt ja der Wechselrichter seine volle Leistung wenn nichts an den mqtt-Switch geschickt wird. Ansonsten musst Du halt nun auch dafür sorgen, was soll passieren, wenn der SOC unter 99% ist. Dann machst Du da einen 2. Ausgang hin und formulierst die Bedingungen.

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

                                @mickym

                                ok, aber das würde ja sinngemäß auch für den EVCS_Status gelten:

                                Denn bei allen Werten die NICHT 3 sind, soll der Wechselrichter voll laufen ...

                                ok, ich denke noch mal darüber nach.

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

                                  @hape1 Vielleicht solltest Du dann auch die Reihenfolgen der Switch Nodes ändern und einen 2. Ausgang bei der EVCS Filter Node machen - wo der Status ungleich (also != 3) ist.

                                  Am Besten ist halt Du formulierst die Bedingung in Sätzen:

                                  1. Wenn SoC => 99 und EVCS = 3
                                  2. Wenn SoC <99 und EVCS !=3 usw.

                                  Denn bei allen Werten die NICHT 3 sind, soll der Wechselrichter voll laufen ...

                                  Sowas sagt mir nichts.

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

                                    @mickym

                                    Bildschirmfoto 2024-04-02 um 21.48.04.png Bildschirmfoto 2024-04-02 um 21.47.56.png Bildschirmfoto 2024-04-02 um 21.47.44.png ?

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

                                      @hape1 NEIN - nochmal 2 Ausgänge in die gleiche Node sind unsinnig.

                                      Wenn Du folgendes machen willst:

                                      1. Soc => 99 und EVCS = 3
                                        Soc <99 und nicht <= 98 (ist einfach eindeutiger)

                                      fa4d2985-7ad9-4f13-ad88-c11ad3272a43-image.png

                                      1. Ausgang (nicht 2 mal = - die Bedingungen sollen ja EINDEUTIG sein)

                                      An den 2. Ausgang machst Du dann eine 3. Switch Node hin - in der Du EVCS !=3 prüfst.
                                      a366130a-8997-4c3f-8794-3973195576d2-image.png

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

                                        107c31fa-bb63-49e9-ab56-08902c7fbc67-image.png

                                        So schaut der Flow korrekt aus. Hier zum Import:

                                        [{"id":"c4c40945afdc6a5c","type":"switch","z":"289f539dcc33814e","name":"batterie_SOC >= 99?","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"99","vt":"num"},{"t":"lt","v":"99","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":440,"y":4920,"wires":[["ad05fef3c6162b83"],["3c358c83e23a5c47"]]},{"id":"ad05fef3c6162b83","type":"switch","z":"289f539dcc33814e","name":"EVCS_Status == 3","property":"EVCS_Status","propertyType":"flow","rules":[{"t":"eq","v":"3","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":670,"y":4900,"wires":[["b184583f91d48f03"]]},{"id":"3c358c83e23a5c47","type":"switch","z":"289f539dcc33814e","name":"EVCS_Status != 3","property":"EVCS_Status","propertyType":"flow","rules":[{"t":"neq","v":"3","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":670,"y":4940,"wires":[["b184583f91d48f03"]]},{"id":"b184583f91d48f03","type":"junction","z":"289f539dcc33814e","x":840,"y":4920,"wires":[[]]}]
                                        

                                        Du musst Dir einfach vorstellen, Du bist ein Nachrichtenobjekt und Du kommst bei den verschiedenen Nodes an, die Dich entweder passieren lassen, Dir den richtigen Ausgang zeigen oder Deine Weiterreise unterbinden.

                                        Wenn Du übrigens mit der Maus über die entsprechenden Ausgänge fährst wird Dir die Bedingung für den Ausgang angezeigt:

                                        845ebaba-adbf-4294-aafb-ca98cbc7f6f5-image.png

                                        Wenn Du sowas machst:
                                        4f51b1fc-253a-48e4-a396-5d3aa6b2bf90-image.png

                                        dann kannst Du Dir auch die Bedingungen sparen - das macht nur Sinn, wenn es dann noch Fälle gibt, die weder in den Ausgang 1 noch in den Ausgang 2 gehen. Wenn aber die Nachrichten immer entweder in Ausgang 1 oder in den Ausgang 2 gehen - dann kann ich mir den Node auch sparen.

                                        Hier wieder das Gleiche:
                                        ef0997fd-d5c8-4dbd-9e91-f4a4e1a370b6-image.png

                                        Egal ob der EVCS Status 3 oder ungleich 3 ist - alle Nachrichten werden in die mqtt Node weitergeleitet. Dann kann ich die Node auch weglassen.

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

                                          @mickym

                                          hmm, irgendetwas stimmt noch nicht ...Bildschirmfoto 2024-04-02 um 22.33.34.png

                                          Aus den debug-notes 6 und 7 kommt nix ...

                                          Aus 4 und 5 schon ...

                                          Bildschirmfoto 2024-04-02 um 22.35.45.png

                                          Will sagen es gibt zwar keinen Netzbezug, weil noch aus der Batterie gespeist wird, aber die Bedingung Batt <98 und EVCS-Status !=3 sind erfüllt, es sollte also keine Runterregelung des Wechselrichters stattfinden ...

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

                                            @hape1 Na das aus 6 nichts kommt ist ja richtig - da der SOC unter 99 liegt. Also müsste es ja aus 7 rauskommen, da unter 99 % und ungleich 3. Also prüfe nochmal beide Ausgänge der 1. Switch Node

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            993
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            187
                                            12785
                                            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