Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Bosswerk MI600 Adapter

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Bosswerk MI600 Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tege0 last edited by

      Hallo,

      leider weiterhin ohne Erfolg.

      Siehe hierzu auch https://forum.iobroker.net/topic/50047/energymanagement-pv-solar-nulleinspeisung/24

      1 Reply Last reply Reply Quote 0
      • S
        Silversurfer 0 @tege0 last edited by Silversurfer 0

        @tege0
        Also ich habe es mit dem
        https://github.com/mpepping/solarman-mqtt
        und dem MQTT Broker/Client Adapter zum Laufen bekommen.

        Hier meine Schritte:
        IoBroker:

        1. Im IoBroker den MQTT Broker/Client Adapter installieren
        2. Unter Instances auf den MQTT Broker/client klicken und konfigurieren.
        3. Unter Authentication settings einen User mit neuem Passwort anlegen
        4. Ich verwende kein SSL

        Commandline:

        1. Beim Solarman support service@solarmanpv.com eine Solarman API appid+secret per eMail beantragen. Das hat bei mir 2 Tage gedauert.
        2. in einem neuen Verzeichnis git clone https://github.com/mpepping/solarman-mqtt.git ausführen
        3. Dem README von https://github.com/mpepping/solarman-mqtt folgen und das config.sample.json nach config.json kopieren.
        4. Den mqtt Abschnitt im config.json mit den User Daten von oben (MQTT Broker/Client) füllen.
          4.1. Broker ist die IP vom ioBroker (bei mir der Raspberry pi)
          4.2 Port bleibt bei 1883
        5. Die Curl commands aus dem README mit der Solarman appid und secret ausführen.
        6. Bei der Abfrage nach der inverterID muß man den String "INVERTER" mit "MICRO_INVERTER" ersetzen. Dann geht der call.
          6.1 stationId ist im config.json eine Zahl
          6.2 inverterId und loggerId sind im config.json Strings und müssen in Anführungszeichen gesetzt sein
          6.3. InverterId und loggerId sind nicht die deviceId in der Curl Antwort sondern die deviceSn
        7. Damit das run.py laufen kann, muß man noch 2 Packete nachinstallieren.
          7.1 sudo apt-get install python3-jsonschema
          7.2 sudo apt-get install python3-paho-mqtt
        8. Dann die Configuration checken
          8.1 python3.9 run.py --validate
        9. Testlauf
          9.1 python3.9 run.py -s
        10. Dauerlauf
          10.1 nohup python3.9 run.py -d -i300 &
          10.2 Oder wer sicher gehen will, daß es auch nach einen Neustart des RaspberryPi läuft per cronjob
          10.2.1 crontab -e
          10.2.2 /5 * * * * python3.9 /opt/solarman-mqtt/run.py -s -f /opt/solarman-mqtt/config.json

        Im IoBroker unter Objects gibt es nach erfolgreichem import einen neuen Ordner unterhalb von mqtt. Dieser enthält alle wichtigen Daten.
        Der Wert für die aktuell produzierte Menge Strom findet sich unter
        mqtt/0/solarmanpv/station/generationPower

        Noch Fragen ?
        Ich hoffe, daß es mit dieser Anleitung noch andere hinbekommen. Und vielleicht findet sich ja jemand, der daraus einen funktionierenden Adapater baut.

        ChrisNett B 2 Replies Last reply Reply Quote 1
        • ChrisNett
          ChrisNett @Silversurfer 0 last edited by

          @silversurfer-0

          danke!

          1 Reply Last reply Reply Quote 0
          • T
            tege0 last edited by

            @silversurfer-0

            Hallo und vielen Dank für die Anleitung,

            Ich hab mir mittlerweile einen Solax Wechselrichter gekauft und den alten verkauft.
            Wie offt logt Ihr über den Solarman? Also wann aktualisieren sich die Daten?

            S 1 Reply Last reply Reply Quote 0
            • S
              Silversurfer 0 @tege0 last edited by

              @tege0 Es werden alle 5 min updates von deinem Wechselrichter an die Solarman Seite geschickt.
              Deswegen habe ich 300s als default.

              1 Reply Last reply Reply Quote 0
              • B
                BarGer @Silversurfer 0 last edited by

                @silversurfer-0
                Danke für den Beitrag.
                Ich habe mir den IoBroker gerade zugelegt und möchte den MI 600 einbinden.
                Die Zugangsdaten habe ich mir geholt. Ich stolpere über Punkt 2 in der Beschreubung:
                "2. in einem neuen Verzeichnis git clone https://github.com/mpepping/solarman-mqtt.git ausführen"
                Wo soll das neue Verzeichnis erstellt werden? Im IoBroker unter Dateien oder über das Terminal auf dem Speicher.
                Was ist mit ausführen gemeint?

                Danke im Voraus.

                S 1 Reply Last reply Reply Quote 0
                • D
                  drn last edited by

                  Hier gibt es endlich ein einfaches Bash-Tool zum Lesen und für Scripts:
                  https://github.com/dr-ni/mi600
                  💣 ⚒ 👍

                  Rene55 1 Reply Last reply Reply Quote 0
                  • Rene55
                    Rene55 @drn last edited by

                    @drn Hab das mal getestet - ist ein bisschen mager. Bei mir wird nur die aktuell erzeugte Leistung angezeigt. Oder kann man da noch mehr rauskitzeln.
                    Nach dem Muster von @Silversurfer-0 kommt da schon mehr raus. Ich hätte hier aber gerne einen Adapter, der ohne separaten Container auskommt. Ich würds ja versuchen - aber mein Wissen ist noch sehr versteckt 😕

                    S 2 Replies Last reply Reply Quote 0
                    • S
                      Silversurfer 0 @BarGer last edited by

                      @barger
                      Das geht nur über die Kommando Zeile.
                      Wo man das Verzeichnis anlegt ist egal.
                      Ich habe es im Home directory von root liegen.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Silversurfer 0 @Rene55 last edited by

                        @rene55 said in Bosswerk MI600 Adapter:

                        mmt da schon mehr raus. Ich hätte hier aber gerne einen Adapter, der ohne separaten Container auskom

                        Wie schon von mir angemerkt, hätte ich auch gerne einen separaten Adapter. Ich habe nur Forschungsarbeit geleistet.

                        1 Reply Last reply Reply Quote 0
                        • S
                          Silversurfer 0 @Rene55 last edited by Silversurfer 0

                          @rene55 zu der Frage: "Kann man da noch mehr rauskitzeln?" die Gegenfrage, was hättest du denn gerne ?
                          Und die API findet sich hier: https://forum.iobroker.net/assets/uploads/files/1643107275278-solarmanopenapi-v1.1.7-en.pdf

                          Die sonstigen Informationen befinden sich in den inverter Attributes und logger Attributes.
                          Diese Attributes kann man nicht schön archiveren.

                          S Rene55 2 Replies Last reply Reply Quote 0
                          • S
                            Silversurfer 0 @Silversurfer 0 last edited by Silversurfer 0

                            @Rene55 @barger
                            Eure Überlegungen haben haben mich dazu inspiriert noch ein wenig rumzuspielen, damit alle Werte für die Archivierung zur Verfügung stehen.
                            Folgende Änderungen müssen dazu in 2 Files gemacht werden:

                            root@orangepizero2:~/opt/solarman-mqtt# git diff
                            diff --git a/solarman/__init__.py b/solarman/__init__.py
                            index 009ab65..476caed 100644
                            --- a/solarman/__init__.py
                            +++ b/solarman/__init__.py
                            @@ -89,21 +89,17 @@ def single_run(file):
                                         if inverter_data[i] and i not in discard:
                                             Mqtt(config["mqtt"], topic + "/inverter/" + i, inverter_data[i])
                                     if inverter_data_list:
                            -            Mqtt(
                            -                config["mqtt"],
                            -                topic + "/inverter/attributes",
                            -                json.dumps(inverter_data_list),
                            -            )
                            +            for j in inverter_data_list:
                            +                if inverter_data_list[j] and j not in discard:
                            +                    Mqtt(config["mqtt"], topic + "/inverter/" + j, inverter_data_list[j])
                            
                                     for i in logger_data:
                                         if logger_data[i] and i not in discard:
                                             Mqtt(config["mqtt"], topic + "/logger/" + i, logger_data[i])
                                     if logger_data_list:
                            -            Mqtt(
                            -                config["mqtt"],
                            -                topic + "/logger/attributes",
                            -                json.dumps(logger_data_list),
                            -            )
                            +            for j in logger_data_list:
                            +                if logger_data_list[j] and j not in discard:
                            +                    Mqtt(config["mqtt"], topic + "/logger/" + j, logger_data_list[j])
                                 else:
                                     Mqtt(
                                         config["mqtt"],
                            diff --git a/solarman/api.py b/solarman/api.py
                            index 33a9621..5023688 100644
                            --- a/solarman/api.py
                            +++ b/solarman/api.py
                            @@ -106,6 +106,7 @@ class ConstructData:  # pylint: disable=too-few-public-methods
                                             del i["key"]
                                             name = i["name"]
                                             name = name.replace(" ", "_")
                            +                name = name.replace("+", "")
                                             del i["name"]
                                             new_data_list[name] = i["value"]
                                         del self.data["dataList"]
                            

                            Danach steht ein für mich wichtiger Wert für die Archivierung zur Verfügung den ich bisher nicht hatte:

                            mqtt.0.solarmanpv.inverter.Daily_Production(Active)
                            

                            Den Maximalwert davon lohnt es aufzuheben.

                            1 Reply Last reply Reply Quote 0
                            • Rene55
                              Rene55 @Silversurfer 0 last edited by

                              @silversurfer-0 Naja, ich dachte an soetwas. ioB_Objekte_220518.png Hab mal die ersten Schritte gewagt. Übrigens, Danke für die API-Beschreibung.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                Silversurfer 0 @Rene55 last edited by

                                @rene55
                                Schau dir die Änderungen an, die ich am 19. Mai gepostet habe, dann bekommst du die Werte separat.

                                Rene55 1 Reply Last reply Reply Quote 0
                                • Rene55
                                  Rene55 @Silversurfer 0 last edited by

                                  @silversurfer-0 Danke für den Hinweis. Den Datenpunkt hab ich aber auch als 'DeviceData.Daily Production(Active)'. Ich versuch mich weiter in der Erstellung eines Adapters. Der ist aber noch nicht soweit, dass man ihn zum testen in die Welt lassen könnte.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    Silversurfer 0 @Rene55 last edited by Silversurfer 0

                                    @rene55 Gibt es dazu ein Github repo ?
                                    Ich kann da sicherlich was beitragen.

                                    Ganz generell gäbe es ja auch noch die Idee mit einem Reverse Proxy die Meldungen an die Solarman Webseite abzufangen ?

                                    Rene55 1 Reply Last reply Reply Quote 0
                                    • Rene55
                                      Rene55 @Silversurfer 0 last edited by Rene55

                                      @silversurfer-0 Nee noch nicht. Muss erst noch schauen, wie ich meinen Kram ins Github beame. Brauch vermutlich noch ein paar Tage.😕

                                      EDIT: von nem Reverse Proxy hab ich zwar schon gehört - habe aber keine Ahnung wie der funktionieren soll. Ohne China wäre schon reizvoll!

                                      S SBorg 3 Replies Last reply Reply Quote 0
                                      • S
                                        Silversurfer 0 @Rene55 last edited by

                                        @rene55
                                        Unter https://github.com/orgs/ioBroker/repositories sieht man alle Repos. Man kann aber nicht einfach so neue Repos anlegen. Wahrscheinlich muß man das irgendwo requestieren.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Silversurfer 0 @Rene55 last edited by

                                          @rene55
                                          Schau mal unter https://github.com/ioBroker/ioBroker.template-ts

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

                                            Naja, das sagt mir gerade nix. Bis der Adapter im ioBroker-Repository steht, müssen wohl noch ein paar Tests durchlaufen und ich glaube Apollon77 muss da noch drüber gucken. Ich werd erst mal mein eigenes Github-Repro befüllen. Dann kann es evtl. schon mal getestet werden, wenn Bedarf besteht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            814
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            75
                                            19574
                                            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