NEWS
Hoymiles hms-800w-2t
-
@michael-6 , @hosssa
Ich finde Euren Weg über eine API deutlich eleganter als noch ein Gerät dazwischen zu schalten (auch wenn das derzeit die pragmatische und unkomplizierteste Lösung ist).Mir (und vielen ander Usern vielleicht auch) ist aber noch nicht ganz klar, wie ihr vorgegangnen seid. Könnt ihr das hier mal bitte mit ein paar Stichpunkten skizzieren? Welches Setup ist erforderlich? Welche speziellen Voraussetzungen müssen ggf. geschaffen werden? Über welchen Weg wird mit der HMS kommuniziert (WLAN, Cloud, DTU-AP?) Wie kommen die Daten am einfachsten in den iobroker?
-
@bilberry per LAN und Kommandozeile bisher (https://github.com/suaveolent/hoymiles-wifi).
Da siehst du sogar im Klartext die Passwörter von WLAN und AccessPoint.
Ich will etwas basteln um die Textausgabe in Datenpunkte zu bekommen, vielleicht hilt ChatGPT dabei... -
@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:
- Von https://github.com/suaveolent/hoymiles-wifi (Python) aud dem Raspberry installieren.
- Teste, ob erfolgreich:@ hoymiles-wifi --host 192.168.1.11 --as-json get-real-data
- Adapter installieren (Epertenmodus, Katze: Installieren aus eigener URL, Benurtzerdefiniert: ($ iobroker url /media/adapter/iobroker.hoymiles-wifi-0.0.1.tgz --host raspberrypi --debug)
- 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 -
@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. -
@bilberry Hallo gibt´s schon weitere Test`s? Kann man auch die Leistung einstellen?
-
@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:
- Den HMS aufbauen und per App konfigurieren und ins WLAN bringen.
- Von https://github.com/suaveolent/hoymiles-wifi das Programm installierne und testen
- 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. -
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.
-
@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.
-
@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. -
@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
-
@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. -
@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.... -
@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. -
@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? -
@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: 1724xxxxxxDamit geht der Wert powerLimit auf 900. Die Sicherheitsabfragen sind eine zusätzliche Herausforderung...
-
@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?
-
@drnicolas sagte in Hoymiles hms-800w-2t:
Was mache ich verkehrt?
Befehle mit
iobroker...
niemals mit sudo anfassen -
@homoran DIe Fehlermeldung war die gleiche. Das ist der Grund warum ich es dann nochmal MIT sudo probiert habe.
-
@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!
-
@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