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.
    • 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

                          958
                          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