PV via MQTT
-
- Beiträge: 1047
- Registriert: So Aug 23, 2020 5:11 am
- Has thanked: 1 time
- Been thanked: 52 times
Re: PV via MQTT
Die openWB erwartet die Leistung als Integer in W. In Deinem Screenshot vom ioBroker scheinen die Werte im Fliesskomma-Format zu sein. Evtl musst Du sie noch runden und in Int umwandeln, bevor Du sie an die opwnWB schickst?
openWB Serie 2 11 kW
Solaredge WR
Tesla Model 3
Solaredge WR
Tesla Model 3
Re: PV via MQTT
das wird doch im Skript gesetzt, aber ich kenne nicht den Befehl zur Umwandlung von Float to Integer
-
- Beiträge: 1324
- Registriert: Mo Nov 02, 2020 9:50 am
- Has thanked: 35 times
- Been thanked: 103 times
Re: PV via MQTT
in js gibt es mehrere Möglichkeiten, die Dezimalstellen loszuwerden, z.B. Math.round.rallef63 hat geschrieben: Mo Jan 30, 2023 4:35 pm das wird doch im Skript gesetzt, aber ich kenne nicht den Befehl zur Umwandlung von Float to Integer
Das sollte dann etwa so aussehen (ungetestet):
Code: Alles auswählen
// Gesamtwirkleistung an OpenWB
on({id: [].concat(['shelly.0.SHEM-3#E89F6D848AE9#1.Total.InstantPower']), change: "ne"}, async function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
setState("mqtt.1.openWB.set.evu.W"/*Leistung EVU*/, Math.round(getState("shelly.0.SHEM-3#E89F6D848AE9#1.Total.InstantPower").val), true);
});
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
Re: PV via MQTT
mit dem Befehl Math.round wird jetzt eine Zahl ohne Nachkommastellen geschrieben, aber trotzdem in openwb nicht erkannt. Wenn ich zB. 5 W mit dem set state schreibe funktioniert es.
Kann ich das in der openwb debuggen?
Kann ich das in der openwb debuggen?
-
- Beiträge: 1324
- Registriert: Mo Nov 02, 2020 9:50 am
- Has thanked: 35 times
- Been thanked: 103 times
Re: PV via MQTT
Schau im Status in den MQTT Log.rallef63 hat geschrieben: Mo Jan 30, 2023 6:33 pm mit dem Befehl Math.round wird jetzt eine Zahl ohne Nachkommastellen geschrieben, aber trotzdem in openwb nicht erkannt. Wenn ich zB. 5 W mit dem set state schreibe funktioniert es.
Kann ich das in der openwb debuggen?
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
Re: PV via MQTT
Es funktioniert jetzt, nachdem ich folgendes geändert habe:
setState("mqtt.1.openWB.set.evu.W"/*Leistung EVU*/, Math.round(getState("shelly.0.SHEM-3#E89F6D848AE9#1.Total.InstantPower").val), true);
nach
setState("mqtt.1.openWB.set.evu.W"/*Leistung EVU*/, Math.round(getState("shelly.0.SHEM-3#E89F6D848AE9#1.Total.InstantPower").val));
das true entfernt habe. Jetzt zeigt mir der Datenpunkt in Iobroker zwar (Null) W an der aktuelle Wert wird aber zur OpenWB übertragen.
sh screnshot
setState("mqtt.1.openWB.set.evu.W"/*Leistung EVU*/, Math.round(getState("shelly.0.SHEM-3#E89F6D848AE9#1.Total.InstantPower").val), true);
nach
setState("mqtt.1.openWB.set.evu.W"/*Leistung EVU*/, Math.round(getState("shelly.0.SHEM-3#E89F6D848AE9#1.Total.InstantPower").val));
das true entfernt habe. Jetzt zeigt mir der Datenpunkt in Iobroker zwar (Null) W an der aktuelle Wert wird aber zur OpenWB übertragen.
sh screnshot