NEWS
Bosswerk MI600 Adapter
-
danke!
-
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? -
@tege0 Es werden alle 5 min updates von deinem Wechselrichter an die Solarman Seite geschickt.
Deswegen habe ich 300s als default. -
@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.
-
Hier gibt es endlich ein einfaches Bash-Tool zum Lesen und für Scripts:
https://github.com/dr-ni/mi600
-
@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 -
@barger
Das geht nur über die Kommando Zeile.
Wo man das Verzeichnis anlegt ist egal.
Ich habe es im Home directory von root liegen. -
@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.
-
@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.pdfDie sonstigen Informationen befinden sich in den inverter Attributes und logger Attributes.
Diese Attributes kann man nicht schön archiveren. -
@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.
-
@silversurfer-0 Naja, ich dachte an soetwas. Hab mal die ersten Schritte gewagt. Übrigens, Danke für die API-Beschreibung.
-
@rene55
Schau dir die Änderungen an, die ich am 19. Mai gepostet habe, dann bekommst du die Werte separat. -
@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.
-
@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 ?
-
@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!
-
@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. -
@rene55
Schau mal unter https://github.com/ioBroker/ioBroker.template-ts -
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.
-
@rene55 sagte in Bosswerk MI600 Adapter:
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!
Geht zB. mittels "dnsmasq" oder dem "pi-hole". Nutze (bzw. erst demnächst) ich für meine Heizung. Die überträgt alles an den Hersteller und ich darf/soll dann für den Abruf meiner Daten wieder zahlen...
...oder bei den Wetterstationen ohne WS-View[+]Man trägt dann die Ziel-(China)IP ein und "verbiegt" die Adresse auf den heimischen Rechner. Schon landen alle Daten/Abfragen auf dem heimischen PC. Dort muss man sie nur noch abgreifen.
-
@sborg Dann muss ich mal schauen, ob ich die cn-IP herausbekomme. Aktuell muss ich fürs Abrufen per App oder API nichts zahlen. Aber man weiß ja nie . . .