@paul53
Ist das so richtig?
Zeile 22 war ganz lang. Habe ich erstmal weggelassen.
var Einspeiseenergie, Erspanis;
Einspeiseenergie = getState('0_userdata.0.Photovoltaik.EVU-Einspeisung').val;
// Watt vom Shelly 3EM
on({ id: 'shelly.0.SHEM-3#3494547B6CA9#1.Total.InstantPower' /* InstantPower */, change: 'ne' }, async (obj) => {
let value = obj.state.val;
let oldValue = obj.oldState.val;
if ((obj.oldState ? obj.oldState.val : '') < 0) {
Einspeiseenergie = (typeof Einspeiseenergie === 'number' ? Einspeiseenergie : 0) + ((obj.oldState ? obj.oldState.val : '') * ((obj.oldState ? obj.oldState.lc : '') - (obj.state ? obj.state.lc : ''))) / 3600000000;
setState('0_userdata.0.Photovoltaik.EVU-Einspeisung' /* EVU-Einspeisung */, Math.round(Einspeiseenergie * 100) / 100, true);
}
});
// Gesamte PV-Produktion (kWh) AC von OpenDTU
on({ id: 'opendtu.0.total.yieldtotal' /* Total energy converted to AC since reset on specific input */, change: 'ne' }, async (obj) => {
let value = obj.state.val;
let oldValue = obj.oldState.val;
Erspanis = (obj.state ? obj.state.val : '') - Einspeiseenergie;
setState('0_userdata.0.Photovoltaik.Erspanis_(kWh)' /* Erspanis (kWh) */, Math.round(Erspanis * 100) / 100, true);
});