PV via MQTT

Fragen zur Nutzung, Features, usw..
electron
Beiträge: 782
Registriert: So Aug 23, 2020 5:11 am

Re: PV via MQTT

Beitrag von electron »

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
rallef63
Beiträge: 14
Registriert: Mi Jan 25, 2023 4:00 pm

Re: PV via MQTT

Beitrag von rallef63 »

Keiner ne Idee?
Gero
Beiträge: 2500
Registriert: Sa Feb 20, 2021 9:55 am

Re: PV via MQTT

Beitrag von Gero »

Hast du mal nach dem Float-Verdacht gekuckt?
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
rallef63
Beiträge: 14
Registriert: Mi Jan 25, 2023 4:00 pm

Re: PV via MQTT

Beitrag von rallef63 »

wo kann ich das ändern Float nach Integer?
Gero
Beiträge: 2500
Registriert: Sa Feb 20, 2021 9:55 am

Re: PV via MQTT

Beitrag von Gero »

Na, irgendwo im ioBroker. Bei ioBroker bin ich überfragt, den benutze ich nicht.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
rallef63
Beiträge: 14
Registriert: Mi Jan 25, 2023 4:00 pm

Re: PV via MQTT

Beitrag von rallef63 »

das wird doch im Skript gesetzt, aber ich kenne nicht den Befehl zur Umwandlung von Float to Integer
rleidner
Beiträge: 793
Registriert: Mo Nov 02, 2020 9:50 am

Re: PV via MQTT

Beitrag von rleidner »

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
in js gibt es mehrere Möglichkeiten, die Dezimalstellen loszuwerden, z.B. Math.round.
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, Smart EQ forfour
rallef63
Beiträge: 14
Registriert: Mi Jan 25, 2023 4:00 pm

Re: PV via MQTT

Beitrag von rallef63 »

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?
rleidner
Beiträge: 793
Registriert: Mo Nov 02, 2020 9:50 am

Re: PV via MQTT

Beitrag von rleidner »

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?
Schau im Status in den MQTT Log.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Smart EQ forfour
rallef63
Beiträge: 14
Registriert: Mi Jan 25, 2023 4:00 pm

Re: PV via MQTT

Beitrag von rallef63 »

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
Antworten