Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. PV Überschuss berechnen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    PV Überschuss berechnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Stoffsn last edited by

      Hallo,
      Ich logge meinen Stromverbrauch mit einem Shelly 3em. Die PV Erzeugung logge ich über den Datenpunkt aus dem Huawei Fusion Solar Adapter. Ich habe also keinen extra Smartmeter. Kann ich irgendwie aus den beiden Datenpunkten, sprich PV Erzeugung minus Verbrauch, einen Datenpunkt erstellen der mir den aktuellen Überschuss ausgibt. Damit ich dann weitere Geräte bei Überschuss steuern kann. Ich möchte mir eigentlich nicht zusätzlich einen Smartmeter von Huawei kaufen.

      Danke

      mickym BananaJoe paul53 3 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @Stoffsn last edited by

        @stoffsn Mit jeder Logikmaschine - NodeRed, Blockly und Javascript kannst Du Datenpunkte analysieren und Werte in neue Datenpunkte schreiben.

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

          @mickym
          Das dachte ich mir schon fast. Aber wie funktioniert das genau? Könntest du mir nicht ein Beispiel für mein Problem schicken. Danke

          Homoran mickym 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Stoffsn last edited by

            @stoffsn sagte in PV Überschuss berechnen:

            ein Beispiel

            bei Blockly:
            Auf die beiden IDs bei Änderung triggern
            aktualisiere eigenen DP mit (Wert von a + Wert von b)

            fertig

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

              @stoffsn Das können wir gerne machen - Du solltest Dich aber nicht vorschnell für Blockly entscheiden. Wir können das gerne mit allen 3 Logikmaschinen mal an Deinem Beispiel durchspielen. Das wäre für Dich dann sowieso ein schönen Vergleich, wenn wir es mit den 3 Tools machen, dann kannst Du auch leichter entscheiden, welchen Weg Du in Zukunft gehen willst.

              Am Besten machst Du mal ein Screenshot von den beiden Datenpunkten, die Du auswerten willst.
              Dann ist es wichtig, dass Du Dir überlegst, welcher Datenpunkt triggern soll. Ich gehe mal davon aus, dass ist der Stromverbrauch und der soll dann mit dem Datenpunkt der PV Erzeungung abgeglichen werden.

              Den Pfad zu den Datenpunkten kopierst Du mal aus der Adminoberfläche:

              fc438445-62d5-44fc-a4a9-fd4f392a8f21-image.png

              Dann solltest Du dir für Blockly und Javascript den

              732147ca-90a8-4f02-b1de-3b282515f0e2-image.png

              installieren. Ja auch der Javascript Adapter ist nicht zwangsläufig, auch wenn das manche hier immer denken. 😉

              Für Node-Red den NodeRed Adapter. Ggf. brauchst Du später den einen oder anderen Adapter nicht mehr.

              7cf12765-3cca-446c-934f-da705f3c6014-image.png

              Wenn Du dann bereit bist, dann legen wir los. 😉 - Ich würde mit NodeRed anfangen, da ich das am Leichtesten finde. 😉

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @mickym last edited by

                @mickym sagte in PV Überschuss berechnen:

                Ja auch der Javascript Adapter ist nicht zwangsläufig

                den Satz verstehe ich inhaltlich nicht.
                Meinst du, dass da nicht nur js pur, sondern auch Blockly, oder noch schlichter Rules dahinter stecken?

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

                  @homoran sagte in PV Überschuss berechnen:

                  @mickym sagte in PV Überschuss berechnen:

                  Ja auch der Javascript Adapter ist nicht zwangsläufig

                  den Satz verstehe ich inhaltlich nicht.
                  Meinst du, dass da nicht nur js pur, sondern auch Blockly, oder noch schlichter Rules dahinter stecken?

                  Nein - das bedeutet (habe ich extra gerade neu gemacht) - wenn Du ein frisches iobroker System hast, das der Javascript Adapter nicht installliert ist:

                  0d0c2598-3841-42fb-93dc-ed00c326c0c1-image.png

                  Sprich Du bist völlig frei, den NodeRed Adapter oder den Javascript Adapter zu installieren oder eben beides. Es wird mir aber hier im Forum immer wieder den Eindruck erweckt, dass der Javascript Adapter Bestandteil des iobroker Systems sei und der NodeRed Adapter ein mögliches Add-ON.

                  Das heißt also - dass man ein iobroker System sehr wohl auch ohne den Javascript Adapter nutzen kann. Nichts mehr und nicht weniger.

                  Oder anders rum ausgedrückt, man muss auch den Javascript Adapter installieren, wenn man Blockly nutzen will und bislang mit Logikmaschinen nichts am Hut hatte.

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

                    @homoran sagte in PV Überschuss berechnen:

                    @mickym sagte in PV Überschuss berechnen:

                    Ja auch der Javascript Adapter ist nicht zwangsläufig

                    den Satz verstehe ich inhaltlich nicht.
                    Meinst du, dass da nicht nur js pur, sondern auch Blockly, oder noch schlichter Rules dahinter stecken?

                    Vielleicht sollte man den Thread auch in den Einsteigerbereich verschieben, dann kann man diesen Thread, wenn mehr Infos kommen - auch als kleines Tutorial dienen, wie man die Aufgabenstellung mit allen 3 Logikmaschinen umsetzt.

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @mickym last edited by

                      @mickym äähhmm, seufz... o.ä.

                      Die Idee ist gut, nicht neu, aber bisher nie glücklich umgesetzt worden.
                      Es gab mal einen vielversprechenden Thread in dem die Logikmaschinen verglichen werden sollten.

                      Dies einsteigerfreundlich, aber vollumfänglich umzusetzen, dass es verständlich bleibt und trotzdem alle möglichen Unterschiede zur Entscheidungsfindung zu sammel ist nicht wirklich möglich.

                      Insofern bleibt es für mich eigentlich bei dem Rat:
                      alles installieren, testen, probieren und dann entscheiden.
                      Wobei die Entscheidung auch in die Richtung gehen kann mehrere Maschinen parallel zu nutzen, um jeweils deren Stärken zu nutzen.

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

                        Nun bei der Fragestellung traue ich mir zu, dass mit allen 3 Logikmaschinen umsetzen so können, nur müsste halt mal der Threadersteller dann hier mal am Ball bleiben und die Datenpunkte konkret benennen - damit man das zusammen durchführen könnte. 😉

                        Soviel Blockly und Javascript beherrsche ich auch. 😉

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

                          So nachdem sich der TE wieder ewig nicht meldet - habe ich hier mal eine Beispiel gemacht.

                          50e874bc-d03f-49d8-87fa-d3435e60a1f5-image.png

                          Hier sind also 3 Datenpunkte - die können theoretisch auch irgendwo im System sein, das Ergebnis sollte unter 0_userdata.0 sein.

                          Wir gehen also von einer Subtraktion aus:

                          Minuend - Subtrahend = Ergebnis
                          

                          Der Minuend triggert und könnte in dem Fall der aktuelle Stromverbrauch Deines Shellies 3em sein. Der Subtrahend ist also das was Du abziehst in dem Fall die PV Erzeugung - umgekehrt kannst Du es ja dann selbst machen, wenn Du es anders rum brauchst. In Deinem Ergebnis steht also entweder ein Verbrauch (positiver Wert) oder ein Überschuss (negativer Wert). Wie gesagt umdrehen kannst Du es alleine. Keine Ahnung was mehr Sinn macht was triggert. Ich gehe mal vom Verbrauch aus.

                          Nun zu den 3 Logikmaschinen:

                          1. Node-Red:

                          56e66943-19f2-4ddf-a9ee-e13cbf178568-image.png

                          Du siehst der Minuend triggert (also stößt den Flow an) - im Status steht immer der aktuelle Wert des Datenpunktes. Dann wird der Subtrahend geholt, gerechnet und das Ergebnis wieder in den Datenpunkt geschrieben.

                          1. Blockly

                          2e8d1b09-c11b-42e7-9445-20a3a0c0278e-image.png

                          Auch hier triggert der Minuend - das Ergebnis wird geschrieben in dem ich den Wert des Subtrahenden hole (blaues Puzzle Wert) und vom Wert des Minuenden (rosa Puzzle Wert) abziehe.

                          1. Javascript:
                          on({id: "0_userdata.0.Test.Substraktion.Minuend", change: 'any'}, function (obj){
                              var minuend = obj.state.val;
                              var subtrahend = getState("0_userdata.0.Test.Substraktion.Subtrahend").val;
                              
                              
                              setState('0_userdata.0.Test.Substraktion.Ergebnis', minuend - subtrahend, true);
                          })
                          

                          Auch hier triggert der Minuend mit on(...), der Subtrahend wird mit getState(...) geholt und das Ergebnis mit setState(...) geschrieben.

                          So damit hast Du nun 3 Lösungen und kannst Dir überlegen, welches System Du am intuitivsten findest.

                          Homoran 1 Reply Last reply Reply Quote 1
                          • Homoran
                            Homoran Global Moderator Administrators @mickym last edited by Homoran

                            @mickym sagte in PV Überschuss berechnen:

                            Auch hier triggert der Minuend

                            es müssten beide triggern

                            @homoran sagte in PV Überschuss berechnen:

                            Auf die beiden IDs bei Änderung triggern

                            dann kannst du nicht mit '>Wert arbeiten

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

                              @homoran Na ich kann auch Lösungen bringen, wo beides triggert - kein Problem. 😉 Das Rechnen bleibt ja das Gleiche. 😉

                              Homoran 1 Reply Last reply Reply Quote 1
                              • Homoran
                                Homoran Global Moderator Administrators @mickym last edited by

                                @mickym so war das nicht gemeint!

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

                                  @homoran sagte in PV Überschuss berechnen:

                                  @mickym so war das nicht gemeint!

                                  Was meinst Du dann?

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @mickym last edited by Homoran

                                    @mickym du musst jetzt nichts neues basteln, wäre Luxus, aber das war nicht meine Intention.

                                    Da ich vorhin schrieb "auf beides triggern", wollte ich @Stoffsn nur "warnen", dass dann der rote '>Wert Baustein nicht funktioniert.

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

                                      @homoran Der rote Baustein enthält immer den Wert des triggers.

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @mickym last edited by Homoran

                                        @mickym sagte in PV Überschuss berechnen:

                                        @homoran Der rote Baustein enthält immer den Wert des triggers.

                                        korrekt!
                                        aber wenn du zwei Trigger (via Zahnrad) hast und der Subtrahend triggert.....

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

                                          So also das gleiche nochmal mit 2 Triggern - das heißt ich ignoriere den Wert und hole den in jedem Fall.

                                          1. NodeRed

                                          d8c266f5-3a9b-4452-94f0-98dc255e3847-image.png

                                          1. Blockly

                                          d839074c-f977-4753-acc4-f2013843a22a-image.png

                                          1. Javascript
                                          on({id: ["0_userdata.0.Test.Substraktion.Minuend","0_userdata.0.Test.Substraktion.Subtrahend"], change: 'any'}, function (obj){
                                              var minuend = getState("0_userdata.0.Test.Substraktion.Minuend").val;
                                              var subtrahend = getState("0_userdata.0.Test.Substraktion.Subtrahend").val;
                                              
                                              
                                              setState('0_userdata.0.Test.Substraktion.Ergebnis', minuend - subtrahend, true);
                                          })
                                          

                                          In allenFällen ignorierst Du den Wert des triggers und holst den Wert nochmal neu.

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

                                            Ich hab nochmal versucht die Entsprechungen aller 3 Systeme grafisch zu veranschaulichen - die Logik ist ja bei allen 3 Systemen die Gleiche:

                                            d44f5f37-dac6-4feb-98ed-e975294981d8-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            862
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            51
                                            3106
                                            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