Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Steckdose schalten bei Einspeisung von PV

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    442

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    367

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    964

Steckdose schalten bei Einspeisung von PV

Geplant Angeheftet Gesperrt Verschoben Blockly
13 Beiträge 5 Kommentatoren 1.0k Aufrufe 4 Beobachtet
  • Ä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.
  • A AndreMiBa

    Hallo zusammen,

    augrund der Neuanschaffung einer PV bin ich ich erst auf den iobroker aufmerksam geworden.
    Das bietet ja tatsächlich so viele Möglichkeiten, klasse :-)

    Nun beschäftige ich mich mit dem Skripten.

    Von meiner PV bekomme ich u.a. die Werte:

    PV-Total-Power (Wie viel Strom kommt gerade vom Dach
    GRID-Total-Power (Wieviel Strom wird gerade ins Hausnetz bzw in den Akku abgegeben. Wenn dieser Wert negativ ist, wird eingespeist)
    Battery (Ladezustand des Akkus)

    Ich möchte erreichen, dass

    WENN PV-Total-Power > 1500

    UND

    GRID-Total-Power < -800

    UND

    Battery 100%

    eine Hue Steckdose angeschaltet wird. Die soll dann auch wieder ausgehen, wenn eine der drei Optionen nicht mehr zutrifft.

    Das kann ja eigentlich nicht so schwer sein.. Über diese WENN, DANN-RULES habe ich es hinbekommen, möchte aber eher Blockly soweit verstehen, dass ich es damit hinbekomme und dann zukünftig nutzen kann.

    Blockly umgewandelt in Javascript sieht so aus:

    on({id: "0_userdata.0.Alpha-ESS.PV_Total_Power"/0_userdata.0.Alpha-ESS.PV_Total_Power/, change: "any"}, async function (obj) {
    var value = obj.state.val;
    var oldValue = obj.oldState.val;
    if (parseFloat('0_userdata.0.Alpha-ESS.PV_Total_Power') > 1500 && parseFloat('0_userdata.0.Alpha-ESS.Grid_Total_Power') < -800 && parseFloat('alpha-ess.0.Realtime.Battery_SOC') == 100) {
    setState("hue.0.Steckdose.on"/Steckdose.on/, true);
    console.log('Lampe an');
    } else {
    setState("hue.0.Steckdose.on"/Steckdose.on/, false);
    console.log('Lampe aus');
    }
    });

    Blocky_Steckdose.png

    Im Log steht übrigens auch immer "Lampe aus".

    Vielen Dank

    André

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

    @andremiba
    Wozu sollen 3 Kriterien gut sein, wenn die wesentliche Information die Einspeiseleistung ist? Beispiel: Wenn der Akku voll geladen ist, schaltet die Ladung ab und der PV-Überschuss wird größer.
    Außerdem muss man immer eine Hysterese vorsehen, damit nicht im Grenzbereich ständig geschaltet wird. Bei der Einspeiseleistung muss die Hysterese etwas größer sein als die Leistungsaufnahme des geschalteten Verbrauchers, denn der Verbraucher verändert die Einspeiseleistung.

    Vorschlag:

    Blockly_temp.JPG

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

    T A 2 Antworten Letzte Antwort
    0
    • paul53P paul53

      @andremiba
      Wozu sollen 3 Kriterien gut sein, wenn die wesentliche Information die Einspeiseleistung ist? Beispiel: Wenn der Akku voll geladen ist, schaltet die Ladung ab und der PV-Überschuss wird größer.
      Außerdem muss man immer eine Hysterese vorsehen, damit nicht im Grenzbereich ständig geschaltet wird. Bei der Einspeiseleistung muss die Hysterese etwas größer sein als die Leistungsaufnahme des geschalteten Verbrauchers, denn der Verbraucher verändert die Einspeiseleistung.

      Vorschlag:

      Blockly_temp.JPG

      T Offline
      T Offline
      TT-Tom
      schrieb am zuletzt editiert von TT-Tom
      #3

      @paul53 muss bei kleiner 100 nicht false / falsch

      Gruß Tom
      https://github.com/tt-tom17
      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

      NSPanel Script Wiki
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      NSPanel Adapter Wiki
      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

      paul53P 1 Antwort Letzte Antwort
      0
      • T TT-Tom

        @paul53 muss bei kleiner 100 nicht false / falsch

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

        @tt-tom sagte: muss bei kleiner 100 nicht false / falsch

        Danke. Habe korrigiert.

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

        1 Antwort Letzte Antwort
        1
        • A AndreMiBa

          Hallo zusammen,

          augrund der Neuanschaffung einer PV bin ich ich erst auf den iobroker aufmerksam geworden.
          Das bietet ja tatsächlich so viele Möglichkeiten, klasse :-)

          Nun beschäftige ich mich mit dem Skripten.

          Von meiner PV bekomme ich u.a. die Werte:

          PV-Total-Power (Wie viel Strom kommt gerade vom Dach
          GRID-Total-Power (Wieviel Strom wird gerade ins Hausnetz bzw in den Akku abgegeben. Wenn dieser Wert negativ ist, wird eingespeist)
          Battery (Ladezustand des Akkus)

          Ich möchte erreichen, dass

          WENN PV-Total-Power > 1500

          UND

          GRID-Total-Power < -800

          UND

          Battery 100%

          eine Hue Steckdose angeschaltet wird. Die soll dann auch wieder ausgehen, wenn eine der drei Optionen nicht mehr zutrifft.

          Das kann ja eigentlich nicht so schwer sein.. Über diese WENN, DANN-RULES habe ich es hinbekommen, möchte aber eher Blockly soweit verstehen, dass ich es damit hinbekomme und dann zukünftig nutzen kann.

          Blockly umgewandelt in Javascript sieht so aus:

          on({id: "0_userdata.0.Alpha-ESS.PV_Total_Power"/0_userdata.0.Alpha-ESS.PV_Total_Power/, change: "any"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (parseFloat('0_userdata.0.Alpha-ESS.PV_Total_Power') > 1500 && parseFloat('0_userdata.0.Alpha-ESS.Grid_Total_Power') < -800 && parseFloat('alpha-ess.0.Realtime.Battery_SOC') == 100) {
          setState("hue.0.Steckdose.on"/Steckdose.on/, true);
          console.log('Lampe an');
          } else {
          setState("hue.0.Steckdose.on"/Steckdose.on/, false);
          console.log('Lampe aus');
          }
          });

          Blocky_Steckdose.png

          Im Log steht übrigens auch immer "Lampe aus".

          Vielen Dank

          André

          MartinPM Online
          MartinPM Online
          MartinP
          schrieb am zuletzt editiert von
          #5

          @andremiba Eine Anmerkung am Rande: Hast Du bei der zu schaltenden Last die begrenzte Schaltleistung der Hue-Dosen im Blick - maximal 2300 Watt?
          Einen Heizstab direkt mit der Dose anzusteuern ist ggfs. nicht besonders ratsam ...

          Anmerkung 2: Habe noch nie eine so einsilbige Technische Beschreibung gesehen - https://www.philips-hue.com/de-de/p/hue-smart-plug/8719514342309#specifications

          Immerhin Abmessungen in cm mit drei(!) Nachkommastellen ;-)

          Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.9) * Linux pve 6.17.13-4 * 6 GByte RAM für den iobroker Container * Fritzbox 6591 FW 8.21 (Vodafone Leih-Box) * Remote-Access über Wireguard der Fritzbox

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @andremiba
            Wozu sollen 3 Kriterien gut sein, wenn die wesentliche Information die Einspeiseleistung ist? Beispiel: Wenn der Akku voll geladen ist, schaltet die Ladung ab und der PV-Überschuss wird größer.
            Außerdem muss man immer eine Hysterese vorsehen, damit nicht im Grenzbereich ständig geschaltet wird. Bei der Einspeiseleistung muss die Hysterese etwas größer sein als die Leistungsaufnahme des geschalteten Verbrauchers, denn der Verbraucher verändert die Einspeiseleistung.

            Vorschlag:

            Blockly_temp.JPG

            A Offline
            A Offline
            AndreMiBa
            schrieb am zuletzt editiert von
            #6

            @paul53 Hi, tatsächlich hast du recht, dass die 800 Einspeiseleistung als Auslöser reichen, ich verstehe auch, wie dein Beispiel abläuft. Vielen Dank. Da ich gerne auch selbst meinen Fehler finden möchte, hier das umgebaute Beispiel. Das sieht ja eigentlich total easy aus, funktioniert aber nicht und ich verstehe nicht, wieso :-)

            Blocky_Steckdose_2.png
            Vielleicht kannst du mir ja sagen was ich hier am Prinzip von Blockly falsch gemacht habe?

            @MartinP Das ist ein sehr guter Einwand, ich möchte diese Schaltungen grundlegend erstmal nur für das Laden des E-Bikes und die kleine Poolpumpe nutzen. Die Waschmaschine mit WLAN will ich dann auch mal direkt ansprechen, das wird dann aber die nächste Baustelle :-)

            paul53P MartinPM 2 Antworten Letzte Antwort
            0
            • A AndreMiBa

              @paul53 Hi, tatsächlich hast du recht, dass die 800 Einspeiseleistung als Auslöser reichen, ich verstehe auch, wie dein Beispiel abläuft. Vielen Dank. Da ich gerne auch selbst meinen Fehler finden möchte, hier das umgebaute Beispiel. Das sieht ja eigentlich total easy aus, funktioniert aber nicht und ich verstehe nicht, wieso :-)

              Blocky_Steckdose_2.png
              Vielleicht kannst du mir ja sagen was ich hier am Prinzip von Blockly falsch gemacht habe?

              @MartinP Das ist ein sehr guter Einwand, ich möchte diese Schaltungen grundlegend erstmal nur für das Laden des E-Bikes und die kleine Poolpumpe nutzen. Die Waschmaschine mit WLAN will ich dann auch mal direkt ansprechen, das wird dann aber die nächste Baustelle :-)

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

              @andremiba
              Wenn "Grid_Total_Power" zum Vergleich herangezogen wird, sollte dieser DP auch als Trigger dienen. Um zu sehen, weshalb der Vergleich nicht so funktioniert wie erwartet, logge den Wert von "Grid_Total_Power".

              Blockly_temp.JPG

              Das Skript wurde hoffentlich nicht unter der Gruppe "global" erstellt?

              EDIT: Weshalb befindet sich "Grid_Total_Power" unter "0_userdata.0" (eigener Datenpunkt)?

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

              A 1 Antwort Letzte Antwort
              0
              • A AndreMiBa

                @paul53 Hi, tatsächlich hast du recht, dass die 800 Einspeiseleistung als Auslöser reichen, ich verstehe auch, wie dein Beispiel abläuft. Vielen Dank. Da ich gerne auch selbst meinen Fehler finden möchte, hier das umgebaute Beispiel. Das sieht ja eigentlich total easy aus, funktioniert aber nicht und ich verstehe nicht, wieso :-)

                Blocky_Steckdose_2.png
                Vielleicht kannst du mir ja sagen was ich hier am Prinzip von Blockly falsch gemacht habe?

                @MartinP Das ist ein sehr guter Einwand, ich möchte diese Schaltungen grundlegend erstmal nur für das Laden des E-Bikes und die kleine Poolpumpe nutzen. Die Waschmaschine mit WLAN will ich dann auch mal direkt ansprechen, das wird dann aber die nächste Baustelle :-)

                MartinPM Online
                MartinPM Online
                MartinP
                schrieb am zuletzt editiert von
                #8

                @andremiba Spätestens bei der Waschmaschine ist da Obacht geboten, die haben teilweise deutlich mehr als 2300 Watt. An die Grenzen der Schaltleistung des Plug würde ich auch nicht gehen - dann hält das Relais darin womöglich nicht lange ...

                Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.9) * Linux pve 6.17.13-4 * 6 GByte RAM für den iobroker Container * Fritzbox 6591 FW 8.21 (Vodafone Leih-Box) * Remote-Access über Wireguard der Fritzbox

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @andremiba
                  Wenn "Grid_Total_Power" zum Vergleich herangezogen wird, sollte dieser DP auch als Trigger dienen. Um zu sehen, weshalb der Vergleich nicht so funktioniert wie erwartet, logge den Wert von "Grid_Total_Power".

                  Blockly_temp.JPG

                  Das Skript wurde hoffentlich nicht unter der Gruppe "global" erstellt?

                  EDIT: Weshalb befindet sich "Grid_Total_Power" unter "0_userdata.0" (eigener Datenpunkt)?

                  A Offline
                  A Offline
                  AndreMiBa
                  schrieb am zuletzt editiert von
                  #9

                  @paul53 Ich habe nun Grid-Total-Power als Trigger benutzt. Macht natürlich Sinn, wenn man sich eh auf den Wert bezieht, klar.
                  Blocky_Steckdose_3.png
                  Das Skript liegt in einer Untergruppe PV und die Werte auf die ich mich beziehe liegen in eigenen Datenpunkten, weil vom Adapter der PV die Werte der einzelnen Phasen nicht summiert ausgegeben werden.
                  Diese werden durch ein anderes Skript dann summiert als eigener Datenpunkt ausgegeben.

                  @MartinP Das hab ich mich wohl missverständlich ausgedrückt.
                  Die Wasschmaschine ist eine LG Waschmaschine, die ebenfalls über einen Adapter angesprochen werden kann.
                  Das Skript möchte ich dann gerne so erweitern:
                  Wenn 2500 Einspeisung, dann schalte Waschmaschine ein, falls diese auf den Befehl wartet :)
                  wenn dann Anschließend noch mehr als 800 W eingespeist wird, wird Steckdose 1 eingeschaltet (Poolpumpe, für 3 Stunden
                  )
                  und wenn dann noch mehr als 800 W eingespeist werden, der Fahrrad-Akku geladen. So irgendwie :-)

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • A AndreMiBa

                    @paul53 Ich habe nun Grid-Total-Power als Trigger benutzt. Macht natürlich Sinn, wenn man sich eh auf den Wert bezieht, klar.
                    Blocky_Steckdose_3.png
                    Das Skript liegt in einer Untergruppe PV und die Werte auf die ich mich beziehe liegen in eigenen Datenpunkten, weil vom Adapter der PV die Werte der einzelnen Phasen nicht summiert ausgegeben werden.
                    Diese werden durch ein anderes Skript dann summiert als eigener Datenpunkt ausgegeben.

                    @MartinP Das hab ich mich wohl missverständlich ausgedrückt.
                    Die Wasschmaschine ist eine LG Waschmaschine, die ebenfalls über einen Adapter angesprochen werden kann.
                    Das Skript möchte ich dann gerne so erweitern:
                    Wenn 2500 Einspeisung, dann schalte Waschmaschine ein, falls diese auf den Befehl wartet :)
                    wenn dann Anschließend noch mehr als 800 W eingespeist wird, wird Steckdose 1 eingeschaltet (Poolpumpe, für 3 Stunden
                    )
                    und wenn dann noch mehr als 800 W eingespeist werden, der Fahrrad-Akku geladen. So irgendwie :-)

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

                    @andremiba sagte: Grid-Total-Power als Trigger

                    Eine Objekt ID ist immer ein String und lässt sich nicht in eine Zahl wandeln.
                    Der Wert (unter "Trigger" wie beim Debug-Block) enthält den Wert des Trigger-Datenpunktes und muss nicht gewandelt werden.

                    Blockly_temp.JPG

                    @andremiba sagte in Steckdose schalten bei Einspeisung von PV:

                    durch ein anderes Skript dann summiert als eigener Datenpunkt ausgegeben.

                    Skript bitte zeigen!

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

                    A 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @andremiba sagte: Grid-Total-Power als Trigger

                      Eine Objekt ID ist immer ein String und lässt sich nicht in eine Zahl wandeln.
                      Der Wert (unter "Trigger" wie beim Debug-Block) enthält den Wert des Trigger-Datenpunktes und muss nicht gewandelt werden.

                      Blockly_temp.JPG

                      @andremiba sagte in Steckdose schalten bei Einspeisung von PV:

                      durch ein anderes Skript dann summiert als eigener Datenpunkt ausgegeben.

                      Skript bitte zeigen!

                      A Offline
                      A Offline
                      AndreMiBa
                      schrieb am zuletzt editiert von
                      #11

                      @paul53 Ja, klasse. So funktionierts. :-)
                      Blocky_Steckdose_4.png

                      Dann weiß ich jetzt wo mein Fehler war und kann das in künftigen Skripts gleich so machen.
                      Vielen Dank!

                      Das Skript zum Summieren kommt von einem anderen User aus einem anderen Forum.
                      Möchte das ungerne hier einfach posten.

                      paul53P F 2 Antworten Letzte Antwort
                      0
                      • A AndreMiBa

                        @paul53 Ja, klasse. So funktionierts. :-)
                        Blocky_Steckdose_4.png

                        Dann weiß ich jetzt wo mein Fehler war und kann das in künftigen Skripts gleich so machen.
                        Vielen Dank!

                        Das Skript zum Summieren kommt von einem anderen User aus einem anderen Forum.
                        Möchte das ungerne hier einfach posten.

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

                        @andremiba sagte: Möchte das ungerne hier einfach posten.

                        Weshalb? Ist es geheim?
                        Ich befürchte, dass evtl. nicht berücksichtigt wurde, dass die 3 Phasen-Leistungen unmittelbar nacheinander triggern und deshalb der Summen-DP 3 mal hintereinander aktualisiert wird - die ersten beiden Male mit einem falschen Wert.

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

                        1 Antwort Letzte Antwort
                        0
                        • A AndreMiBa

                          @paul53 Ja, klasse. So funktionierts. :-)
                          Blocky_Steckdose_4.png

                          Dann weiß ich jetzt wo mein Fehler war und kann das in künftigen Skripts gleich so machen.
                          Vielen Dank!

                          Das Skript zum Summieren kommt von einem anderen User aus einem anderen Forum.
                          Möchte das ungerne hier einfach posten.

                          F Offline
                          F Offline
                          FloX
                          schrieb am zuletzt editiert von
                          #13

                          @andremiba
                          Kann eigentlich so nicht funktionieren, oder? Warum triggerst Du auf PV-Leistung und nicht die Einspeiseleistung wie @paul53 vorschlägt? Das Ziel ist doch primär, Netzbezug zu vermeiden? Hysterese auch wichtig, sonst kauft man mit der Einsparung durch PV-Nutzung neue Relais/Geräte. Größere Lasten würde ich mit einem Schütz schalten und weil da eine Verbrauchsmessung nicht möglich ist ggf. über Leitung*Zeit berechnen lassen (falls gewünscht).
                          Gruß
                          Flo
                          PS. Sitze an ähnlichem Problem und bekomme es nicht hin

                          1 Antwort Letzte Antwort
                          0

                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                          Registrieren Anmelden
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          269

                          Online

                          32.8k

                          Benutzer

                          82.8k

                          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