Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wechselrichter auslesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Wechselrichter auslesen

Scheduled Pinned Locked Moved Skripten / Logik
12 Posts 7 Posters 5.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • HomoranH Do not disturb
    HomoranH Do not disturb
    Homoran
    Global Moderator Administrators
    wrote on last edited by
    #1

    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

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Reply Last reply
    0
    • P Offline
      P Offline
      pix
      wrote on last edited by
      #2

      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

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Reply Last reply
      0
      • HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #3

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

        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

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Reply Last reply
        0
        • P Offline
          P Offline
          pix
          wrote on last edited by
          #4

          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

          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

          1 Reply Last reply
          0
          • HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #5

            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) | Logo |
            ! /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>
            ! ````

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Reply Last reply
            0
            • HomoranH Do not disturb
              HomoranH Do not disturb
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #6

              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)
              |
              Logo |
              ! |

              ! * * *
              ! |
              ! | |
              ! |

              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

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Reply Last reply
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                wrote on last edited by
                #7

                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
                0
                • M Offline
                  M Offline
                  MehrCurry
                  wrote on last edited by
                  #8

                  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
                  0
                  • H Offline
                    H Offline
                    HKF8770
                    wrote on last edited by
                    #9

                    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?

                    Freddy

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      Beatz
                      wrote on last edited by
                      #10

                      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
                      0
                      • H Offline
                        H Offline
                        HKF8770
                        wrote on last edited by
                        #11

                        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.

                        Freddy

                        1 Reply Last reply
                        0
                        • K Offline
                          K Offline
                          krissi
                          wrote on last edited by
                          #12

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

                          ioBroker in VM (unraid) / CCU2 für IP FB-Heizungssteuerung raspi3 / 3x Echo Dot / IKEA Tradfri / zigBee mit Conbee II

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          561

                          Online

                          32.4k

                          Users

                          81.5k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe