Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten

    This topic has been deleted. Only users with topic management privileges can see it.
    • M H 0
      M H 0 @Ralla66 last edited by

      @ralla66
      nein die nonpermament Reduzierung wird nicht in das EEProm geschrieben, nur die permanente.
      Danke a200 für die Hilfe.
      Mal schauen ob ich das umsetzen kann.

      a200 1 Reply Last reply Reply Quote 0
      • a200
        a200 @M H 0 last edited by

        @m-h-0 Ich bin etwas skeptisch, was das Timing angeht. An klaren Tagen dürfe es kein Problem sein, aber beim Wolken/Sonne Wechsel. Mal sehen was dabei raus kommt.

        M H 0 1 Reply Last reply Reply Quote 0
        • M H 0
          M H 0 @a200 last edited by M H 0

          @a200

          ja stimmt das sehe ich auch so.
          es muss ja nicht immer null sein.
          aber wenn ich nun maximal 100W einspeise würde es auch reichen.
          Habe dein Script ausprobiert, er schreibt nun immer den aktuellen Wert von der Leistungsproduktion des Wechselrichters in hmLimit.

          Könnte man das Script zb nur 60Sekunnden ausführen.

          Sorry, mit script kenne ich mich null aus

          a200 1 Reply Last reply Reply Quote 0
          • a200
            a200 @M H 0 last edited by

            @m-h-0 sagte in Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten:

            @a200

            ja stimmt das sehe ich auch so.
            es muss ja nicht immer null sein.
            aber wenn ich nun maximal 100W einspeise würde es auch reichen.
            Habe dein Script ausprobiert, er schreibt nun immer den aktuellen Wert von der Leistungsproduktion des Wechselrichters in hmLimit.

            Könnte man das Script zb nur 60Sekunnden ausführen.

            Sorry, mit script kenne ich mich null aus

            zeigt mir bitte die Kopie deines Skriptes und die dazugehörigen Datenpunkte. Dann kann ich vllt. auch helfen. Vor allem den DP aus dem hervorgeht, wie viel Überproduktion du im Moment hast

            M H 0 1 Reply Last reply Reply Quote 0
            • M H 0
              M H 0 @a200 last edited by

              @a200

              var ueberprod = "mqtt.3.SHRDZM.4C7525364D1E.4C7525364D1E.sensor.2.7.0";
              var hmProd = "mqtt.4.ahoy1.HM1500.ch0.P_AC";
              var hmLimit = "mqtt.4.ahoy1.devcontrol.0.11";
              var ueprod, aktprod;
               
              on({id: ueberprod}, function (obj) {
                  ueprod = getState(ueberprod).val;
                  if (ueprod = 0)
                      setState(hmLimit, 65535, true);
                  else
                      setState(hmLimit, getState(hmProd).val - ueprod, true);
              });
              

              207.jpg

              a200 1 Reply Last reply Reply Quote 0
              • a200
                a200 @M H 0 last edited by

                @m-h-0 sagte in Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten:

                var ueberprod = "mqtt.3.SHRDZM.4C7525364D1E.4C7525364D1E.sensor.2.7.0";
                var hmProd = "mqtt.4.ahoy1.HM1500.ch0.P_AC";
                var hmLimit = "mqtt.4.ahoy1.devcontrol.0.11";
                var ueprod, aktprod;
                
                on({id: ueberprod}, function (obj) {
                    ueprod = getState(ueberprod).val;
                    aktprod = getState(hmProd).val;
                    if (ueprod = 0)
                        setState(hmLimit, 65535, true);
                    else
                        setState(hmLimit, aktprod - ueprod, true);
                    log("Überproduktion: " + ueprod + " - Produktion: " + aktprod + " - Limit: " + getState(hmLimit).val);
                });
                

                Lass mal das hier laufen. Das sollte in der Konsole die Werte anzeigen.

                M H 0 1 Reply Last reply Reply Quote 0
                • M H 0
                  M H 0 @a200 last edited by M H 0

                  @a200
                  Es wird irgendwie der 2.7.0 Wert des Smartmeters nicht übernommen.
                  270_b.jpg
                  log.jpg
                  log2.jpg

                  Weiters übernimmt ahoy den Wert nicht.
                  Man müsste einen String in hmLimit schreiben.
                  Kann auch sein, dass das Ganze zu schnell passiert. Besser wäre es man sendet nur alle 60 Sekunden einen Wert an hmLimit

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

                    @m-h-0

                    var cronRun   = "* * * * *";
                    var ueberprod = "mqtt.3.SHRDZM.4C7525364D1E.4C7525364D1E.sensor.2.7.0";
                    var hmProd    = "mqtt.4.ahoy1.HM1500.ch0.P_AC";
                    var hmLimit   = "mqtt.4.ahoy1.devcontrol.0.11";
                    var ueprod, aktprod;
                    
                    function anpassen() {
                        ueprod = getState(ueberprod).val;
                        aktprod = getState(hmProd).val;
                        if (ueprod = 0)
                            setState(hmLimit, 65535, true);
                        else
                            setState(hmLimit, paseInt(aktprod - ueprod), true);
                        log("Überproduktion: " + ueprod + " - Produktion: " + aktprod + " - Limit: " + getState(hmLimit).val);
                    }
                    
                    schedule(cronRun, function () {
                        anpassen();
                    });
                    

                    Wird minütlich ausgeführt und als Limit wird ein Integer gesetzt.

                    1 Reply Last reply Reply Quote 0
                    • M H 0
                      M H 0 last edited by

                      @a200
                      Danke dir für deine Hilfe!
                      Ich habe nun das Problem, die Überproduktion ist 0, es wird aber trotzdem ein Limit gesetzt.
                      logwert1.jpg

                      Weiters habe ich folgende Fehlermeldungen:
                      loga.jpg

                      a200 1 Reply Last reply Reply Quote 0
                      • a200
                        a200 @M H 0 last edited by a200

                        @m-h-0 sagte in Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten:

                        @a200
                        Danke dir für deine Hilfe!
                        Ich habe nun das Problem, die Überproduktion ist 0, es wird aber trotzdem ein Limit gesetzt.

                        Die Zeile 10 sollte lauten:

                        if (ueprod == 0)
                        
                        M H 0 1 Reply Last reply Reply Quote 0
                        • M H 0
                          M H 0 @a200 last edited by

                          @a200
                          Super es klappt soweit. Die Formel muss ich noch etwas verbessern. Da muss ich schauen wie es am besten praktikabel ist.
                          Problem habe ich nun noch, dass der hmLimit Wert nicht als String übergeben wird.
                          Es sollte da wohl eine ganze Zahl als String übergeben werden, ohne Komma.

                          a200 1 Reply Last reply Reply Quote 0
                          • a200
                            a200 @M H 0 last edited by a200

                            @m-h-0 sagte in Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten:

                            @a200
                            Problem habe ich nun noch, dass der hmLimit Wert nicht als String übergeben wird.
                            Es sollte da wohl eine ganze Zahl als String übergeben werden, ohne Komma.

                            Also String oder Zahl (Integer) ? Eigentlich wird in der Zeile 13 der Wert "(aktprod - ueprod)" in Integer (ganze Zahl) umgewandelt und als Integer an hmLimit übergeben.

                            Schick mir mal die DP-Definition von hmLimit, dann kann ich sehen, was rein soll. Aus meiner Sicht soll da Int rein:
                            b2fecb55-2da6-42fb-b64e-af841b2eebd5-grafik.png
                            dein Datenpunkt erwartet aber String.

                            M H 0 2 Replies Last reply Reply Quote 0
                            • M H 0
                              M H 0 @a200 last edited by

                              @a200
                              dp.jpg

                              Ist als String definiert. Ändere ich den Datenpunkt, ändert er sich automatisch wieder zurück zu string.

                              a200 1 Reply Last reply Reply Quote 0
                              • a200
                                a200 @M H 0 last edited by

                                @m-h-0 Dann versuche mal mit der Zeile 13:

                                        setState(hmLimit, paseInt(aktprod - ueprod).ToString(), true);
                                

                                Damit wird der Wert in Integer (also ohne Komma) und dann in String umgewandelt und übergeben.

                                M H 0 1 Reply Last reply Reply Quote 0
                                • M H 0
                                  M H 0 @a200 last edited by M H 0

                                  @a200
                                  bekomme ich leider noch immer den Fehler
                                  logstring.jpg

                                  Aber das ist nun der Fehler in Zeile 11.
                                  Dort muss ich das auch noch in String umwandeln.

                                  habe es hinbekommen.
                                  Super danke dir!

                                  Jetzt muss ich noch überlegen, wie man es abfängt, wenn die Überproduktion 0 ist, der Gesamtverbrauch aber nur zb. 10 ist und die momentane Limitierung zb. 800.
                                  Dann würde diese Formel die Limitierung gleich komplett aufheben und man hätte dann in diesem Fall 690W Einspeisung.

                                  Aber das sind nun Kleinigkeiten

                                  1 Reply Last reply Reply Quote 0
                                  • M H 0
                                    M H 0 @a200 last edited by

                                    @a200
                                    Du hast Recht, der Datenpunkt ist mit String falsch.
                                    Funktionierte bei mir aber bis jetzt, wenn ich im VIS einfach die Zahl auf den Datenpunkt schreibe.
                                    Jetzt habe ich den Datenpunkt auf number geändert, und das Script ohne dem toString gestartet.
                                    Es wird zwar kein Fehler im log angezeigt. Es wird auch die Zahl im mqtt Datenpunkt geschrieben, aber ahoy ignoriert das nun.
                                    Irgendwie habe ich einen Wurm mit der Formatierung drinnen 😞

                                    N 1 Reply Last reply Reply Quote 0
                                    • N
                                      netfriend @M H 0 last edited by

                                      @m-h-0
                                      @a200

                                      Ich hatte auch meine Probleme mit dem Datentyp um das Limit zu setzen. Hatte dazu auch gefragt (siehe meine Posts von 23. Aug. 2022, 14:21 ff.)
                                      aber es wurde nie richtig beantwortet.
                                      Seit ihr da inzwischen weiter gekommen? Ich habe aufgrund Urlaub seitdem nicht mehr weiter gemacht, steht aber demnächst auch wieder an.

                                      M H 0 1 Reply Last reply Reply Quote 0
                                      • M H 0
                                        M H 0 @netfriend last edited by

                                        @netfriend
                                        Mit meinem VIS kann ich die Limits setzen.
                                        Jetzt mit dem Script passt es irgendwie nicht

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

                                          Ahoy 0.5.17 / g5402e9b

                                          per JS einmal ausgeführt :

                                          sendTo('mqtt.0', 'sendMessage2Client', {topic: 'inverter/devcontrol/0/11/0', message: '100'});

                                          send to nrf 111.jpg

                                          mit Mqtt Explorer Datenpunkt erstellt, DP ist automatisch Number

                                          Topic: inverter/devcontrol/0/11/0 Payload:150

                                          send to nrf 112.jpg

                                          Reboot

                                          Test mit 100:

                                          send to nrf 114.jpg

                                          N 1 Reply Last reply Reply Quote 0
                                          • N
                                            netfriend @Ralla66 last edited by

                                            @Ralla66
                                            Ich habe mir gerade auch die 0.5.17 installiert. Läuft soweit.
                                            Mit JS das Powerlimit senden geht auch, ich sehe es auch im hterm. Soweit schon mal prima 👍

                                            Hast Du den MQTT-Datenpunkt nun selbst angelegt oder wird der inzwischen angelegt. Ich meine mich zu erinnern, dass dies kürzlich aufgrund eines Feature-Requests von @BananaJoe hinzugekommen ist.

                                            Einen devcontrol-Eintrag gibt es bei mir nach wie vor nicht nicht. Weder nach Neustart des ESP8266 noch nach dem einmaligem Senden per JS.
                                            Wie ist das bei Dir?

                                            Ralla66 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            884
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            datenpunkt leistungsmessung photovoltaik steuerung
                                            70
                                            885
                                            211195
                                            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