Hallo,
bei mir ist inzwischen ein Shelly Pro 3EM für Home Assistant verbaut.
Aktuell nutze ich als EVU noch einen optischen Messfühler auf dem Zähler mit ESPHome, der die Werte alle 10s über MQTT pushed.
Hat den Shelly Pro 3EM jemand inzwischen evtl. als EVU für OpenWB in Betrieb?
Über JSON bekommt man die einzelnen Phasen nicht berücksichtigt.
Ein eigenes Modul für OpenWB scheint es aktuell (noch?) nicht zu geben.
Gedanke wäre, ob jemand über Shelly Script die MQTT-Topics pushed, die OpenWB benötigt...
Da scheint es ja was zu geben, siehe https://shelly-api-docs.shelly.cloud/ge ... qttpublish
Hat das jemand schonmal gemacht/versucht? Über ein Shelly Script könnte man dann die OpenWB MQTT-Topics bedienen...
Weiterhin unterstützt Shelly auch inzwischen Modbus:
https://shelly-api-docs.shelly.cloud/ge ... -registers
https://shelly-api-docs.shelly.cloud/ge ... -registers
Ich habe aber in OpenWB keine Möglichkeit gefunden, ModbusTCP für das EVU zu nutzen.
Über einen Tipp/Hinweis würde ich mich freuen?
Gruß
Sebastian
SHELLY PRO 3EM als EVU
-
- Beiträge: 4447
- Registriert: Mi Nov 11, 2020 7:16 pm
- Has thanked: 5 times
- Been thanked: 27 times
Re: SHELLY PRO 3EM als EVU
Ich müsste mich arg täuschen, wenn das nicht gehen würde, über JSON. Den normalen EM3 über JSON war schon mal hier Im Forum, der Pro glaube ich auch.
VG
Det
VG
Det
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 300 (06/2024)
-
- Beiträge: 14
- Registriert: Mo Jul 12, 2021 10:11 am
Re: SHELLY PRO 3EM als EVU
Leider so nicht ganz richtig....
Mit Json kann man nur folgendes abfragen:
Hier ein Shelly Script, mit dem man alle Werte per MQTT liefern kann.
Die "8" durch die angezeigte Zähler-Nummer ersetzen.
Mit Json kann man nur folgendes abfragen:
- Abfrage für Leistung
- Abfrage für Zählerstand Bezug
- Abfrage für Zählerstand Einspeisung
Hier ein Shelly Script, mit dem man alle Werte per MQTT liefern kann.
Die "8" durch die angezeigte Zähler-Nummer ersetzen.
Code: Alles auswählen
// Shelly Script example: Use MQTT in scripting to provide switch status updates on a custom topic
let CONFIG = {
emId: 0,
baseTopic: "openWB/set/counter/8/get/",
};
Shelly.addStatusHandler(function (notification, user_data) {
if (notification.component === "em:" + JSON.stringify(CONFIG.emId)) {
MQTTAnnounceEm(notification.delta);
return;
}
if (notification.component === "emdata:" + JSON.stringify(CONFIG.emId)) {
MQTTAnnounceEmdata(notification.delta);
return;
}
});
function MQTTAnnounceEm(data) {
MQTT.publish(CONFIG.baseTopic + "currents", "[" + JSON.stringify(data.a_current) + "," + JSON.stringify(data.b_current) + "," + JSON.stringify(data.c_current) + "]", 0, false); // Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung, Beispiel: [1.2,2.3,-2.1]
MQTT.publish(CONFIG.baseTopic + "voltages", "[" + JSON.stringify(data.a_voltage) + "," + JSON.stringify(data.b_voltage) + "," + JSON.stringify(data.c_voltage) + "]", 0, false); // Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float), Beispiel: [222.2,223.3,222.3]
MQTT.publish(CONFIG.baseTopic + "power", JSON.stringify(data.total_act_power), 0, false); // Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float), Beispiel: [12.3,23.4,-12.3]
MQTT.publish(CONFIG.baseTopic + "powers", "[" + JSON.stringify(data.a_act_power) + "," + JSON.stringify(data.b_act_power) + "," + JSON.stringify(data.c_act_power) + "]", 0, false); // Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float), Beispiel: [12.3,23.4,-12.3]
MQTT.publish(CONFIG.baseTopic + "power_factors", "[" + JSON.stringify(data.a_pf) + "," + JSON.stringify(data.b_pf) + "," + JSON.stringify(data.c_pf) + "]", 0, false); // Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1,
}
function MQTTAnnounceEmdata(data) {
MQTT.publish(CONFIG.baseTopic + "imported", JSON.stringify(data.total_act), 0, false); // Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv, Beispiel: 123.45
MQTT.publish(CONFIG.baseTopic + "exported", JSON.stringify(data.total_act_ret), 0, false); // Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv, Beispiel: 123.45
}
Zuletzt geändert von SebastianLotz am So Jul 02, 2023 12:59 am, insgesamt 1-mal geändert.
-
- Beiträge: 4447
- Registriert: Mi Nov 11, 2020 7:16 pm
- Has thanked: 5 times
- Been thanked: 27 times
Re: SHELLY PRO 3EM als EVU
Ok, hab ich übersehen dass du die einzelnen Werte haben willst. Das geht in JSON nicht.
VG
Det
VG
Det
10kWp PV mit SMA Tripower 10000TL-10 (PE11 mit SDM72V2); 2,4kWp mit Solis 2.5 G6 (EE11 mit SDM120). OpenWB Standard+. EVU EM540 an einem Raspi mit Venus OS. BEV Mercedes EQA 300 (06/2024)