Huawei WR und Daten aus Homeassistant

Guten Tag,
bin nicht auf den Kopf gefallen komme aber nicht weiter.

Wollte alles Ohne Hilfe erstmal ausprobieren.

Mein WR wird natürlich nicht unterstützt. Wollte daher per MQTT die Daten von Homeassistant übertragen. Fehler MQTT läuft nicht mit dem mosuitto von HA.

Dann wollte ich Rest Read Wrtite ausprobieren, aber da kann ich ein Virtual Grid nicht schreiben gibts da noch andere möglichkeiten ? Ich habe ein Tasmota Lesegerät daher alle Daten kommen von woanders und ich will OpenEMS damit einfach alle 10s damit füttern.

curl -X POST   -H “Content-Type: application/json”   -d ‘{ “value”: 1500 }’   “http://x:admin@10.0.2.16:8084/rest/channel/meter1/ActivePower”

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 500 io.openems.common.exceptions.OpenemsException: [Channel [ID=ActivePower, type=INTEGER, activeValue=UNDEFINED, access=READ_ONLY]] is not a Write Channel</title>
</head>
<body>
<h2>HTTP ERROR 500 io.openems.common.exceptions.OpenemsException: [Channel [ID=ActivePower, type=INTEGER, activeValue=UNDEFINED, access=READ_ONLY]] is not a Write Channel</h2>
<table>
<tr><th>URI:</th><td>http://10.0.2.16:8084/rest/channel/meter1/ActivePower</td></tr>
<tr><th>STATUS:</th><td>500</td></tr>
<tr><th>MESSAGE:</th><td>io.openems.common.exceptions.OpenemsException: [Channel [ID=ActivePower, type=INTEGER, activeValue=UNDEFINED, access=READ_ONLY]] is not a Write Channel</td></tr>
</table>
<hr/><a href="https://jetty.org/">Powered by Jetty:// 12.0.27</a><hr/>

</body>
</html>


Hallo Camouflagge, willkommen im Forum!

Ich verstehe deinen Ansatz, aber OpenEMS funktioniert architektonisch anders als du dir das vorstellst. Du kannst OpenEMS nicht einfach “füttern” mit externen Daten über REST POST auf beliebige Kanäle.

Wie OpenEMS funktioniert:

OpenEMS ist kein Daten-Dashboard, sondern ein Energiemanagementsystem. Die Komponenten (Meter, Wechselrichter, etc.) lesen ihre Daten selbst von der Hardware über definierte Protokolle (Modbus, SunSpec, etc.). Du brauchst eine Komponente, die deine Datenquelle versteht.

Und genau das muss OpenEMS auslesen. Ein reines “füttern” von außen ist in OpenEMS nicht vorgesehen. Denn wie du hier siehst ist es eben ein READ_ONLY Channel, den du versuchst zu schreiben:

MQTT-Hinweis:

Der OpenEMS MQTT-Controller ist nur für Ausgabe (Publishing), nicht für Eingabe. Du kannst damit Daten aus OpenEMS an Home Assistant senden, aber nicht umgekehrt.

Gibt es denn möglichkeiten den huawei WR auszulesen. Da immer nur eine verbindung zugelassen wird brauche ich einen bundle der daten via mqtt (von OpenEMS) http oder andere Schnittstellen auslesen kann. genau wie den tasmota mit SML lesekopf. ?

Hallo,

leider ist deine Fragestellung sehr inkonsistent. Was willst du genau erreichen? Was ist der Use-Case? Wie soll es funktionieren? Wie kommunizieren die Komponenten untereinander?

BTW: Es gab einen PR, der die Channels setzen lässt mit REST - eventuell kannst du ja noch ein bisschen warten, bis der Maintainer des PRs Zeit findet, diesen zu aktualisieren.

Grüße !

Also ich möchte ja OpemEMS nutzen und muss die Daten ja reinbekommen.

Wichtig ist nur das ich modbus schnittstelle nicht nutzen kann.

Gibt es schon Leute die den Huawei WR eingebunden bekommen haben und wenn ja mit welcher Komponente.

Wenn alles eingerichtet ist kann ich gewisse Daten ja auch auslesen um wenn EMS sagt laden stoppen oder jetzt laden das ich damit dann weiter arbeiten kann.

Ich habe aktuell einen Huawei Sun2000 WR und bekomme in paar Wochen ein E-Fahrzeug und wollte ein HEMS instalieren was lokal zuhause läuft. Zudem habe ich noch einen shelly der meinen Wasserspeicher steuern kann.

Das und

das
macht keinen Sinn, da OpenEMS ja den Wechselrichter per Modbus stuern müsste. Welches EMS? Home Assistant oder OpenEMS? Warum brauchst du OpenEMS, wenn du HomeAssistant nutzt?

Huawei Sun2000 ist aktuell nicht kompatibel mit OpenEMS Modbus.

Die Logik oder die Programierung die in OpenEMS steckt als HEMS ist eine wertvolle Erweiterung.

Homeassistant stellt nur die Daten bereit jetzt im Bezug auf OpenEMS.

der WR lässt nur eine aktive Modbus/TCP verbindung zu.

Nur als (ungeprüfte) Ideen: Vielleicht kann dann OpenEMS diese nutzen, und der andere Abonnent kann sich die Daten von OpenEMS/aus der Persistenz-Komponente (bspw. InfluxDB) ziehen? Oder einen Modbus-Koppler als Bridge davor setzen, der mehr als eine Verbindung zulässt?

1 Like

Ich würde einfach sagen, dass sich HASS aus dem OpenEMS Rest bedient, welches es eh schon gibt (nur die Implementierung des Huawei fehlt in OpenEMS)

dazu wäre ich gerne bereit diese zu Implementieren, allerdings stellt dann wiederrum die Hardware das Problem dar, weil ich keinen SUN2000 zur Verfügung habe.

Ich kann dir den auch einfach zu schicken :grin: , ja währe ein Gedanke dann müsste ich jede einzelne modbus Adresse studieren um das zu implementieren.

Habe ich bei meiner Heizung auch schon gemacht, da Greife ich alle Daten ab.