Navigation

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

    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

    Wechselrichter auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      ich will jetzt mal selber etwas basteln.

      Eine Idee, die vielleicht auch andere nutzen könnten war es einen Solar-Wechselrichter auszulesen.

      144_iobroker_nodered_04.jpg

      [{"id":"e4273c9a.1bd8c","type":"inject","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":115,"y":202,"z":"2888e452.d7771c","wires":[["1389a58.fec765a"]]},{"id":"1389a58.fec765a","type":"http request","name":"Wechselrichter auslesen","method":"GET","ret":"txt","url":"http://192.168.1.100","x":329,"y":201,"z":"2888e452.d7771c","wires":[["8463b85d.7b9c48"]]},{"id":"13ed2b68.ec12d5","type":"debug","name":"","active":true,"console":"false","complete":"false","x":807,"y":200,"z":"2888e452.d7771c","wires":[]},{"id":"8463b85d.7b9c48","type":"html","name":"HTML -> Text","tag":"*","ret":"text","as":"multi","x":594,"y":201,"z":"2888e452.d7771c","wires":[["13ed2b68.ec12d5"]]}]
      

      Um aus dem Array die richtigen Felder zu holen habe ich wegen fehlender Kenntnisse folgenden node gefunden:

      http://flows.nodered.org/node/node-red-contrib-splitter

      Kann der so was und wenn ja, wie bekomme ich ihn.

      Gruß

      Rainer

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo Homoran,

        kannst du mir die Ausgabe von msg.payload mal hier als Text/Code posten? Dann kann ich mal versuchen, die Werte zu separieren.

        Gruß

        Pix

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

          Hab es ja nicht mal hinbekommen die payload in ein textfile zu schreiben 😢

          Im debug Fenster (siehe Screenshot) wird ed anscheinend direkt zerlegt.

          Heute abend probier ich es nochmal. Ggf. bekomme ich die HTML-Ausgabe

          Danke

          Rainer

          Gesendet von meinem Cynus T7 mit Tapatalk

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Hallo,

            ich meinte es anders: Kannst du mir die Ausgabe des Nodes "Wechselrichter auslesen" mal auf debug legen. Das was da rauskommt, hätte ich gern (Copy Paste).

            Gruß

            Pix

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

              Ok, hier das cut and paste:

              ! ````
              22.4.2015, 18:33:47[26486bcb.d9b794]
              [msg.payload] : (string)
              <title>PV Webserver</title>
              ! <form method="post" action="">
              !
              | |
              | | PIKO 5.5
              Helios (255) | |
              ! /tmp/power-inverter1.values
              PHOTOVOLTAICS_DC1U=$( cat /tmp/power-inverter1.values | grep Spannung | head -1 | cut -f2 -d" " )
              PHOTOVOLTAICS_DC2U=$( cat /tmp/power-inverter1.values | grep Spannung | head -2 | tail -1 | cut -f2 -d" " )
              PHOTOVOLTAICS_DC1I=$( cat /tmp/power-inverter1.values | grep Strom | head -1 | cut -f2 -d" " | awk '{printf "%d\n",$11000}' )
              PHOTOVOLTAICS_DC2I=$( cat /tmp/power-inverter1.values | grep Strom | head -2 | tail -1 | cut -f2 -d" " | awk '{printf "%d\n",$1
              1000}' )
              PHOTOVOLTAICS_DC1P=$(( $PHOTOVOLTAICS_DC1U * $PHOTOVOLTAICS_DC1I / 1000 ))
              PHOTOVOLTAICS_DC2P=$(( $PHOTOVOLTAICS_DC2U * $PHOTOVOLTAICS_DC2I / 1000 ))
              ! PHOTOVOLTAICS_ACCURP=$( cat /tmp/power-inverter1.values | grep aktuell | cut -f2 -d" " )
              PHOTOVOLTAICS_ACTOTP=$( cat /tmp/power-inverter1.values | grep Gesamtenergie | cut -f5 -d" " )
              PHOTOVOLTAICS_DAILYP=$( cat /tmp/power-inverter1.values | grep Tagesenergie | cut -f2 -d" " )
              :

              update the system variables in the HomeMatic

              wget $COMMONWGETARGS "http://192.168.1.999/addons/db/state.cgi?item=PV.DC1&value=$PHOTOVOLTAICS_DC1P"
              wget $COMMONWGETARGS "http://192.168.1.999/addons/db/state.cgi?item=PV.DC2&value=$PHOTOVOLTAICS_DC2P"
              wget $COMMONWGETARGS "http://192.168.1.999/addons/db/state.cgi?item=PV.DAILYP&value=$PHOTOVOLTAICS_DAILYP"
              wget $COMMONWGETARGS "http://192.168.1.999/addons/db/state.cgi?item=PV.AC&value=$PHOTOVOLTAICS_ACCURP"

              notwendiges Paket: html2text

              sudo apt-get install html2text

              ! Das hab ich mir aber auch nur geklaut und modifiziert.
              ! jetzt heisst es:
              @Homoran:
              ! > ich will jetzt mal selber etwas basteln `
              ! Gruß
              ! Rainer | </form>
              ! ````

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

                Ich fürchte ich bin damit doch (noch) überfordert.

                Die ausgabe in Datei habe ich jetzt hinbekommen.

                einmal als html:

                ! ````
                ! <title>PV Webserver</title>
                ! <form method="post" action="">
                ! | |
                ! | |

                PIKO 5.5

                ! Helios (255)
                |
                |
                ! |

                ! * * *
                ! |
                ! | |
                ! |

                AC-Leistung |
                  |

                Energie |

                ! | |
                ! |

                aktuell |

                4217 |
                  W |

                Gesamtenergie |

                13106 |
                  kWh |
                  |

                ! | |
                ! |

                |

                |
                  |

                Tagesenergie |

                18.31 |
                  kWh |
                  |

                ! | |
                ! |

                Status |

                Einspeisen MPP |
                  |

                ! | |
                ! |
                ! |

                ! * * *
                ! |
                ! | |
                ! |
                ! |

                PV-Generator |
                  |

                Ausgangsleistung |
                  |
                  |

                ! | |
                ! |

                <u>String 1</u> |
                  |
                  |

                <u>L1</u> |
                  |
                  |
                  |

                ! |

                Spannung |

                284 |
                  V |

                Spannung |

                232 |
                  V |
                  |

                ! | |
                !   |

                Strom |

                7.57 |
                  A |

                Leistung |

                1402 |
                  W |
                  |

                ! | |
                ! |

                <u>String 2</u> |
                  |
                  |

                <u>L2</u> |
                  |
                  |
                  |

                ! |

                Spannung |

                313 |
                  V |

                Spannung |

                234 |
                  V |
                  |

                ! | |
                !   |

                Strom |

                7.65 |
                  A |

                Leistung |

                1417 |
                  W |
                  |

                ! | |
                ! |

                <u>String 3</u> |
                  |
                  |

                <u>L3</u> |
                  |
                  |
                  |

                ! |

                Spannung |

                0 |

                V |

                Spannung |

                231 |
                  V |
                  |

                ! | |
                !   |

                Strom |

                0.00 |

                A |

                Leistung |

                1398 |
                  W |
                  |

                ! | |
                ! |
                ! | |

                ! * * *
                ! |
                ! | |
                ! |
                ! | |
                RS485 Kommunikation |
                ! | |
                ! | |
                Wechselrichter |
                | |
                ! * * *
                ! | |
                ! | |

                Historie

                Infoseite |

                Einstellungen

                ! </form>
                ! ````

                und einmal die Ausgabe nach der Umwandlung in text:

                ! ````
                Einstellungen
                n
                n
                ! Infoseite
                e
                e
                ! Einstellungen
                !  
                kWh

                !   W
                ! Gesamtenergie
                ! 13106
                  kWh

                !  
                !

                ! Tagesenergie
                ! 18.10
                  kWh

                ! Status
                ! Einspeisen MPP

                !  
                ! ie
                ! 18.10
                  kWh

                ! Status
                ! Einspeisen MPP

                ! PV-Generator

                ! Ausgangsleistung

                ! String 1

                ! L1

                ! Spannung
                ! 287
                  V
                ! Spannung
                ! 232
                  V

                !  
                ! Strom
                ! 7.62
                  A
                ! Leistung
                ! 1428
                  W

                ! String 2

                ! L2

                ! Spannung
                ! 316
                  V
                ! Spannung
                ! 234
                  V

                !  
                ! Strom
                ! 7.69
                  A
                ! Leistung
                ! 1432
                  W

                ! String 3

                ! L3

                ! Spannung
                ! 0

                V

                ! Spannung
                ! 232
                  V

                !  
                ! Strom
                ! 0.00

                A

                ! Leistung
                ! 1421
                  W

                ! RS485 Kommunikation
                ! Wechselrichter 
                ! Historie

                Infoseite

                ! Einstellungen
                ! Einstellungen
                ! ````
                Mit dem Zerschneiden und Auslesen komme ich nicht weiter.

                Ich habe mit den Filtern im html node rumgespielt und [bgcolor="#FFFFFF"] eingegeben, dann bekomme ich alle Werte in Feldern mit weißem Hintergrund als csv Datei, aber das reicht leider nicht.

                vielleicht kann mir das doch mal jemand zeigen. :?

                Danke Rainer

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

                  Man kann mit regex rausholen:

                  [{"id":"f07e3f63.0f81c","type":"function","name":"Extract values","func":"// remove all \"new line\" und spaces\nvar text = msg.payload.replace(/\\r\\n/g, '').replace(/\\s/g, '');\n\nmsg.payload = '';\n// Klone original message um timestamp zu behalten\nvar msg1 = JSON.parse(JSON.stringify(msg));\nvar msg2 = JSON.parse(JSON.stringify(msg));\nvar msg3 = JSON.parse(JSON.stringify(msg));\nvar msg4 = JSON.parse(JSON.stringify(msg));\n\n// extract \"aktuell\"\nvar r = text.match(/aktuell<\\/td><[\\w\\d#=\"]*>([0-9.]*)<\\/td>/);\nmsg1.payload = r ? r[1] : '';\n\n// extract \"Gesamtenergie\"\nr = text.match(/Gesamtenergie<\\/td><[\\w\\d#=\"]*>([0-9.]*)<\\/td>/);\nmsg2.payload = r ? r[1] : '';\n\n// extract \"Tagesenergie\"\nr = text.match(/Tagesenergie<\\/td><[\\w\\d#=\"]*>([0-9.]*)<\\/td>/);\nmsg3.payload = r ? r[1] : '';\n\n// extract \"Spannung\" als Array.\nr = text.match(/Spannung<\\/td><[\\w\\d#=\"]*>([0-9.]*)<\\/td>/g);\n\n// Ich bin zu faul um jetzt 6 outputs zu machen, deswegen schiebe ich die alle in array\nmsg4.payload = [];\nif (r) {\n    for (var i = 0; i < r.length; i++) {\n        msg4.payload.push(r[i].match(/<\\/td><[\\w\\d#=\"]*>([0-9.]*)<\\/td>/)[1]);\n    }\n}\nmsg4.payload = JSON.stringify(msg4.payload);\n\n\nreturn [msg1, msg2, msg3, msg4];","outputs":"4","valid":true,"x":644,"y":169,"z":"13d62bc7.ec29d4","wires":[["3c7bba4c.c38446"],["3c7bba4c.c38446"],["3c7bba4c.c38446"],["3c7bba4c.c38446"]]},{"id":"3c7bba4c.c38446","type":"debug","name":"","active":true,"console":"false","complete":"false","x":866,"y":162,"z":"13d62bc7.ec29d4","wires":[]}]
                  

                  Output:

                  4217
                  13106
                  18.31
                  ["284","232","313","234","0","231"]
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • M
                    MehrCurry last edited by

                    Ich hab was ähnliches gebaut um einen Piko 5.5 auszulesen:

                    http://flows.nodered.org/flow/7424deb5bb78f48945e7

                    Funktioniert ohne externe Skripte. Allerdings kommt man nur an die Leistungswerte ran. Die Spannung- und Stromwerte kann man nicht auslesen, das die HTML Datei vom Wechselrichter nicht valide ist. Dafür bräuchte man einen HTMLTidy Node für NodeRed.

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

                      Hallo MehrCurry,

                      war so frei deinen Flow zu kopieren, doch komme ich nicht ganz klar wie ich den einrichten muss.

                      Muss ja IP anpassen und wohl auch das Kennwort irgendwo eintragen.

                      Denke mal die IP muss ich im Feld http request anpassen im Feld URL

                      Muss ich in HM# und PIKO# auch was anpassen?

                      1 Reply Last reply Reply Quote 0
                      • B
                        Beatz last edited by

                        Hallo HKF8770,

                        folgende Einstellungen musst Du anpassen, um den Flow nutzen zu können:

                        Voraussetzung ist ein laufender MQTT Broker. Diesen kannst Du in ioBroker einrichten. Die Daten gibts Du später in der Config von node-red ein.

                        • http request
                        URL > auf die IP Deines Wechselrichters einstellen
                        
                        Use basic authentication ? > Haken setzen
                        
                        Username > User des Wechselrichters (Standard beim PIKO ist pvserver)
                        
                        Password > Passwort (Standard ist pvwr)
                        
                        • MQTT Config

                          Doppelklick auf einen der MQTT-Nodes

                          es öffnet sich ein Fenster zur Konfiguration (gilt für alle 5 Nodes)

                          Du kannst den bestehenden Eintrag mit dem Stift bearbeiten

                          Trage hier die Werte des MQTT Brokers ein. Bei der Installation auf dem selben Server bei Broker "localhost" eintragen und ggf. Authentifizierung.

                        • Optional: Json deaktivieren und Zahlen verwenden

                          Ich fand die Einbindung von Json wenig hilfreich und habe daher die drei Funktionen durch folgende ersetzt, um daraus Zahlenwerte zu bekommen.

                        msg.payload = parseInt(msg.payload);
                        return msg;
                        
                        1 Reply Last reply Reply Quote 0
                        • H
                          HKF8770 last edited by

                          Danke für die supper Erklärung…da blick selbst ich es. Dann liegt es wohl am MQTT Broker, den hab ich nicht.

                          Dann mal schauen ob ich klar komme.

                          1 Reply Last reply Reply Quote 0
                          • K
                            krissi last edited by

                            Guten morgen. Hat das zufällig schon mal jemand für eine SMA Webbox gemacht?

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            605
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            7
                            12
                            5126
                            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