Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Hoymiles-wifi

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter Hoymiles-wifi

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

      MOD-EDIT: Dieser Thread wurde von https://forum.iobroker.net/post/1045397 abgetrennt


      Aktuelle Test Version 0.2.3
      Veröffentlichungsdatum 28.01.2025
      Github Link https://github.com/MicHi07i/ioBroker.hoymiles-wifi

      Beschreibung des Adapters
      Auslesen von Hoymiles DTU HMS-800W-2T (und baugleiche DTU für Balkonkraftwerke mit integriertem WLAN).
      Disclaimer: This is not affiliated with Hoymiles. Any trademarks or product names mentioned are the property of their respective owners.
      Warum? Alter Adapter (AHOY DTU und OPEN DTU) funktioniert nicht mit DTUs der Baureihe, daher dieser neue Ansatz, bisher unterstützte DTUs:

      • Hoymiles HMS-400W-1T
      • Hoymiles HMS-800W-2T
      • Hoymiles DTU-WLite
      • Hoymiles DTU-Pro (S)

      Technischer Hintergrund:
      Die eigentlichen Routinen sind bisher nicht in diesem Adapter integriert, es wird die Bibliothek von suaveolent genutzt, so werden Kommandos per bash ausgeführt und gelieferte Antworten in JSON als Datenpunkte im ioBroker durch diesen Adapter zur Verfügung gestellt.
      Abhängigkeiten:

      1. Python
      2. https://github.com/suaveolent/hoymiles-wifi
      3. Für nächtliche Pause: installierter Befehl PING oder installierter Adapter PING.

      Bisheriges Hauptproblem:

      • Benutzer ioBroker findet 'Programm' hoymiles-wifi nicht in seinem Pfad.

      ToDo:

      1. Vereinfachte Installation und Konfiguration (Pfad) von https://github.com/suaveolent/hoymiles-wifi.
      2. Integration der o.g. Bibliothek in diesen Adapter.

      Vor-Installation:

      1. Python schon installiert? Beim Raspberry normaler Weise Standard, prüfbar mit Python --Version bzw. Python3 --Version.
      2. https://github.com/suaveolent/hoymiles-wifi installieren $ pip install hoymiles-wifi bzw. $ pipx install hoymiles-wifi für 64bit Bookworm.
      3. Testen: IP-Adresse der DTU aus Handy-App oder Router ablesen, z.B. 192.168.1.23 und per Kommando ausprobieren: $ hoymiles-wifi --host 192.168.1.23 get-real-data.
      4. Programm auch für Benutzer iobroker zur Verfügung stellen.
        Lösung 1(Schorsch 17.11.24): (In der $PATH - Variablen von iobroker ist das Verzeichnis /usr/local/bin enthalten. Dort habe ich einen Softlink mit dem Namen hoymiles-wifi platziert, der auf die Datei hoymiles-wifi im Verzeichnis /home/iobroker/.local/pipx/venvs/hoymiles-wifi/bin zeigt.)
        Lösung2(Schorsch 17.11.24): Installation für Benutzer ioBroker, hier mit pipx anstelle pip: sudo -H -u iobroker pipx install hoymiles-wifi
        Von einer Installation als sudo wird abgeraten.

      Installation

      1. npm über Terminalbefehl iobroker url iobroker.hoymiles-wifi.
      2. Installation im ioBroker, Adapter im Expertenmodus, über die Katze...
      • Konfiguration Instanz
        a) IP Adresse aus 3)
        b) Abfrageintervall in Sekunden
        c) Datenabfrage
        c1) immer
        c2) abhängig von Kommando PING (muss installiert sein; ist es regulär)
        c3) abhängig von Objekt im Adapter PING
        d) Befehlszeile (bitte nicht ändern)
        e) 5 Optionen zu hoymiles-wifi (bitte 'get-real-data-new' lassen, um die schreibenden Möglichkeiten der Version 0.2.x zu ermöglichen)

      MOD-EDIT: Dieser Thread wurde von https://forum.iobroker.net/post/1045397 abgetrennt


      @bilberry basierend auf https://github.com/suaveolent/hoymiles-wifi und mit Hilfe von ChatGPT und dem Studium von ein paar weiteren Seiten konnte ich einen Adapter basteln, Vor-Alpha-Status. Ich das ist nicht offiziell und ich übernehme keine Verantwortung.

      Vorteil: arbeitet im LAN (ist auch schneller als die Webseite in China), Datenpunkte in ioBroker.

      Meine Schritte:

      1. Von https://github.com/suaveolent/hoymiles-wifi (Python) aud dem Raspberry installieren.
      2. Teste, ob erfolgreich:@ hoymiles-wifi --host 192.168.1.11 --as-json get-real-data
      3. Adapter installieren (Epertenmodus, Katze: Installieren aus eigener URL, Benurtzerdefiniert: ($ iobroker url /media/adapter/iobroker.hoymiles-wifi-0.0.1.tgz --host raspberrypi --debug)
      4. Instanz hinzufügen,Adaptersettings: IP-Adresse der HMS-800W-2T anpassen.

      Hinweis:
      a) Wenn Abfragen nicht erfolgreich (z.B. nachts hat HMS keine IP), dann ist bei Instanz "Verbunden mit Gerät oder Dienst" der Status orange statt grün, Der Objektpunkt Online will noch nicht.
      b) hoymiles-wifi.0.get_real_data_new.dtuPower = 3000 entspricht 300,0 Watt. Der Punkt ist in meinen Augen der Wichtigste.

      Wie gesagt, noch absolutes Teststadium.
      iobroker.hoymiles-wifi-0.0.1.tgz

      bilberry 1 Reply Last reply Reply Quote 1
      • bilberry
        bilberry @Michael 6 last edited by

        @michael-6
        Vielen Dank! Das klingt vielversprechend und wird bei der Popularität der HMS sicher viele interessieren. Ich probiere das die Tage mal aus und gebe dann Feedback.

        T 1 Reply Last reply Reply Quote 0
        • T
          Tom_Berlin @bilberry last edited by

          @bilberry Hallo gibt´s schon weitere Test`s? Kann man auch die Leistung einstellen?

          M 1 Reply Last reply Reply Quote 0
          • M
            Michael 6 @Tom_Berlin last edited by

            @tom_berlin
            Eine Installation ist nun auch möglich per bash:

            iobroker url https://github.com/MicHi07i/ioBroker.hoymiles-wifi install MicHi07i/ioBroker.hoymiles-wifi#7190a6c4e34eb7f2e89747888ff2d65db7ee2968
            

            Kurze Zusammenfassung:

            1. Den HMS aufbauen und per App konfigurieren und ins WLAN bringen.
            2. Von https://github.com/suaveolent/hoymiles-wifi das Programm installierne und testen
            3. Den Adapter hier installieren (siehe oben) und konfigurieren.

            Prinzipiell führt dieser lediglich in Intervallen die Befehlszeile aus und schreibt die JSON-Werte als Objekte nach ioBroker.
            Per Ping kann geprüft werden ob HMS aktiv ist (nachts ohne IP-Adresse) und dann die Abfragen überspringen.

            Da man nur selten Werte schreibt, ist es wohl sicherer dies per Handy-App oder per Bash einmalig hoymiles-wifi mit den Optionen wie set-power-limit oder set-wifi. Aktuell könnte man im Adapter die Optionen darauf ändern, aber dann wird das mit jedem Intervall ausgeführt.
            Später wäre es für mich interessant über den Adapter Einzelwerte / Objekte schreibend zu machen, vorher wäre es auch reizvoll die Bibliothek von suaveolent zum implementieren und nicht auf ein installiertes Programm angewiesen zu sein.

            mcm1957 2 Replies Last reply Reply Quote 0
            • mcm1957
              mcm1957 @Michael 6 last edited by

              Da dieser Adapter zumindest derzeit noch nicht in die Repositories aufgenommen wurde und auch noch kein Review angeregt wurde die übliche WARNUNG:

              Der Vollständigkeit und als Info - NICHT als Kritik

              Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten. GitHub Versionen können sich jederzeit (auch kurzfristig) ändern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardmäßigen Umgebung erst im Zuge der Releaseerstellung geändert wird.

              Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalität - unter Inkaufnahme des erhöhten Risikos - natürlich erfolgen.

              Adapter die nur via GitHub installierbar sind sind mit erhöhter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird.

              M 1 Reply Last reply Reply Quote 1
              • mcm1957
                mcm1957 @Michael 6 last edited by

                @michael-6 said in Hoymiles hms-800w-2t:

                vorher wäre es auch reizvoll die Bibliothek von suaveolent zum implementieren und nicht auf ein installiertes Programm angewiesen zu sein.

                Ja wäre unbedingt anzuregen. Adapter die regelmäßig weitere Programm via bash aufrufen haben spätestens unter Windows ein Problem. Erfahrungsgemäß mit es auch mit Code der Python voraussetzt häufig Probleme. Reine JS Lösungen sind da eindeutig stabiler und vorzuzioehen.

                1 Reply Last reply Reply Quote 0
                • M
                  Michael 6 @mcm1957 last edited by

                  @mcm1957 Danke für den Warnhinweis.
                  Wo und wie lasse ich nun am Besten testen? Das hatte ich noch nicht richtig verstanden.
                  Ja, das mit der Integration der Bibliothek wäre nett, aber da brauche ich wohl noch etwas Zeit.

                  mcm1957 1 Reply Last reply Reply Quote 0
                  • mcm1957
                    mcm1957 @Michael 6 last edited by mcm1957

                    @michael-6
                    Der Warnhinweis bezieht sich NICHT auf dich und nicht auf alle die bewusst testen wollen. Allen jenen gebührt ein ganz ganz großes DANKE.

                    Der Hinweis bezieht sich auch Benutzer den den Adapter produktiv einsetzen wollen. Es kommt immer wieder vor dass User (negativ) überrascht sind, dass ein Adapter ggF Störungen am Gesamtsystem auslöst, dass er nicht aktualisisert wird und es auf keine Infos gibt dass es eine neue Version gibt, dass ein Adapter überraschend inkompatibel wird etc. Außerdem ist bei Installationen von GitHub die Versionsangabe nicht nachvollziehbar da der Inhalt jederzeit beliebig geändert werden kann (und normalerweise auch wird.)

                    Ergo
                    TESTEN von GitHub ist völlig OK - insbesondere im Austausch mit dem Dev.
                    Vom produktiven Einsatz von direkten GitHub Installation wird aber aus den oben genannten Gründen abgeraten. Es werden aber GitHub Installationen weder jetzt noch in Zkunft blockiert oder erschert. Jeder der will kann so fahren - auf eigenes Risiko.

                    Und da man es wahrscheinlich nicht oft genug sagen kann:
                    DANKE dass du dich des Adapters annimmst.

                    Testkommunikation hier im Forum ist völlig OK. Und GitHub oder npm TEST-Installationen sind auch völlig OK. Ev. wär das Topic im TESTER Bereich besser aufgehoben - aber das ist cosmetic. Wenn du magst kann das @Homoran verschieben. Er kann dirt auch dort Zugriffsrechte zun Anlegen neuer Topics geben. Schreib ihn einfach an (z.B. hier im Chat) oder als Kommentra und mention ihn.

                    P.S. Falls du Fragen zur Adapterentwoicklung hast meld dich im Telegramm Channel (iobroker-adapterentwicklung-starter) an. Invitelinks auf https://www.iobroker.dev

                    M 1 Reply Last reply Reply Quote 1
                    • M
                      Michael 6 @mcm1957 last edited by

                      @mcm1957
                      Ein sehr guter genereller Warnhinweis!
                      Um so wichtiger, als kurz nach meiner letzen Version mein Raspberry Probleme machte, deren Eingrenzung im Try- and Errorverfahren Tage brauchte und am Ende war es aber nur das Netzteil und ein anderes Dockupdate.
                      Leider habe ich noch keine freiwilligen Tester und Feedbacks.

                      bilberry N 2 Replies Last reply Reply Quote 1
                      • bilberry
                        bilberry @Michael 6 last edited by

                        @michael-6
                        Gerne werde ich Dich mit Tests und Feedback unterstützen. Ist gerade zeitlich etwas eng bei mir. Meine iob-dev-Instanz läuft aber "nur" im Docker-Container. Habs dort noch nicht probiert - denke aber mit der Python-Installation auf Probleme zu stoßen....

                        1 Reply Last reply Reply Quote 1
                        • S
                          saibot852 last edited by

                          @Michael-6
                          Erstmal super Arbeit ein toller Adapter. Besteht irgendwie wie die Möglichkeit das PowerLimit zu setzen? Würde gerne über NodeRed eine Nulleinspeisung Realisieren.

                          1 Reply Last reply Reply Quote 0
                          • N
                            Novi @Michael 6 last edited by Novi

                            @michael-6
                            Auch von mir ein großes Danke für Deine Arbeit! Ich hab mich an Deine Vorgehensweise gehalten und den Adapter erfolgreich installiert. Muss mich noch ein wenig durcharbeiten, welche Daten was darstellen, aber das wird sicherlich noch klappen. Aktuell habe ich irgendwie das Problem, dass entweder die Cloud oder der Adapter funktionieren. In der Cloud ist mein System zwar online, wird dort aber nicht mehr aktualisiert, wenn der Raspi und damit iOBroker läuft. Sofern ich es teilweise richtig verstanden bzw. gelesen habe, ist die Datenübertragung immer nur kurz aktiv. Kannst Du das eventuell noch mit einer asynchronen Abfrage verändern?

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              Michael 6 @Novi last edited by Michael 6

                              @novi Bei mir läuft es mit Cloud und Raspi parallel, aber du hast Recht: die Cloud wird weit seltener aktualisiert. Das hatte ich aber vorher auch schon recht verzögert, aber nie die Verzögerung gemessen.
                              Ich habe bei mir das Intervall auf 5 Minuten (also 300 Sekunden) angehoben. Der Abgleich mit der App/Cloud geht so wohl etwas besser, scheinbar werden die Tagesdaten über die historischen Daten von hoymiles-wifi.0.app_get_hist_power immer wieder nachgebessert - vermutlich sind die Server in der chinesischen Cloud nicht besonders performant.

                              hoymiles-wifi.0.get_real_data_new.dtuPower - aktuelle Einspeißung (4321 = 432,1W)
                              (=hoymiles-wifi.0.get_real_data_new.sgsData.0.activePower)
                              (hoymiles-wifi.0.get_real_data_new.pvData.0.power = Watt bei Panel0, jetzt)
                              (hoymiles-wifi.0.get_real_data_new.pvData.1.power = Watt bei Panel1, jetzt)
                              hoymiles-wifi.0.get_real_data_new.dtuDailyEnergy (1234 = 1,23 kWh heute)
                              Mit dem Adapter kommen ja recht schnell Daten, so dass man darauf reagieren könnte.
                              @saibot852 Ja, dein Szenario macht Sinn für mich, ich schaue mir
                              das in zwei Wochen an; vorher komme ich wohl leider nicht dazu.

                              hoymiles-wifi.0.get_real_data_new.sgsData.0.powerLimit (999=100% - dies wäre interessant schreibend für die Nulleinspeißung; nächstes Projekt wenn ich wieder Zeit habe) Per App ergibt 95% einen Wert von 950, per Befehlszeile:
                              $ hoymiles-wifi --host 192.168.1.2 set-power-limit
                              !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                              !!! Danger zone! This will change the power limit of the dtu. !!!
                              !!! Please be careful and make sure you know what you are doing. !!!
                              !!! Only proceed if you know what you are doing. !!!
                              !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                              Do you want to continue? (y/n): y
                              Enter the new power limit (0-100): 90
                              Setting power limit to 90%
                              Are you sure? (y/n): y
                              Set-power-limit Response:
                              dtu_sn: "414393xxxxxx"
                              time: 1724xxxxxx
                              action: 8
                              tid: 1724xxxxxx

                              Damit geht der Wert powerLimit auf 900. Die Sicherheitsabfragen sind eine zusätzliche Herausforderung...

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                drnicolas @Michael 6 last edited by Homoran

                                @michael-6 Ich habe versucht über die Bash den Adapter zu installieren:
                                Sieht erst gut aus, dann kommt aber doch eine fehlermeldung:

                                nico@iobroker:~$ sudo iobroker url https://github.com/MicHi07i/ioBroker.hoymiles-wifi install MicHi07i/ioBroker.hoymiles-wifi#7190a6c4e34eb7f2e89747888ff2d65db7ee2968
                                [sudo] password for nico:
                                install MicHi07i/ioBroker.hoymiles-wifi#7190a6c4e34eb7f2e89747888ff2d65db7ee2968
                                NPM version: 10.8.2
                                Installing MicHi07i/ioBroker.hoymiles-wifi#7190a6c4e34eb7f2e89747888ff2d65db7ee2968... (System call)
                                
                                up to date in 3s
                                
                                123 packages are looking for funding
                                  run `npm fund` for details
                                
                                host.iobroker Cannot install MicHi07i/ioBroker.hoymiles-wifi#7190a6c4e34eb7f2e89747888ff2d65db7ee2968: 0
                                

                                MOD-EDIT: Code in code-tags gesetzt!

                                Überraschenderweise taucht dann aber doch ein Adapater hoymiles-wifi auf.
                                Den konnte ich konfiguieren, der hoymiles ist dann aber nicht pingeable.

                                hoymiles-wifi --host 192.168.1.50 gibt mir aber sehr wohl Daten zurück.

                                Was mache ich verkehrt?

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

                                  @drnicolas sagte in Hoymiles hms-800w-2t:

                                  Was mache ich verkehrt?

                                  Befehle mit iobroker... niemals mit sudo anfassen

                                  D 2 Replies Last reply Reply Quote 1
                                  • D
                                    drnicolas @Homoran last edited by

                                    @homoran DIe Fehlermeldung war die gleiche. Das ist der Grund warum ich es dann nochmal MIT sudo probiert habe.

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

                                      @drnicolas hattest du schon öfter sudo iobroker.... verwendet?

                                      Dann bieg mal erst die Rechte wieder gerade

                                      iob stop
                                      iob fix
                                      iob start
                                      

                                      wenn es dann wieder alles gut ist, dann den Install Befehl mit --debug flag starten, also iob....... --debug

                                      und alles zeigen!

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        drnicolas @Homoran last edited by

                                        @homoran Neustart hat auch nichts gebracht.
                                        In iobroker kommt diue Meldung "Host 192.168.1.50 is not reachable: ping: socket: Operation not permitted ".
                                        Das hört sich für mich nach einem grundlegenden Problem an.
                                        ping kann ich ohnehin nur als sudo ausführen

                                        Homoran Thomas Braun M 3 Replies Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @drnicolas last edited by

                                          @drnicolas sagte in Hoymiles hms-800w-2t:

                                          ping kann ich ohnehin nur als sudo ausführen

                                          ping ist ja auch kein Befehl der mit iob... beginnt.

                                          @drnicolas sagte in Hoymiles hms-800w-2t:

                                          Das hört sich für mich nach einem grundlegenden Problem an.

                                          dann wäre iob diag in der Langfassung angebracht

                                          1 Reply Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @drnicolas last edited by

                                            @drnicolas sagte in Hoymiles hms-800w-2t:

                                            ping kann ich ohnehin nur als sudo ausführen

                                            Das stimmt so natürlich nicht.
                                            Man muss/kann/sollte dem user dann die Rechte dazu einräumen, wenn das für einen Standard-User erforderlich sein sollte.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            612
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            84
                                            11646
                                            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