NEWS
Zählerstand in Verbrauch umrechnen?
-
Hallo,
gibt es eine einfache Möglichkeit eine Zählervariable in Verbrauch um zu rechnen und das in den Intervallen 15m, 60m, 1d, 1w, 1m, 1y?
Schöne Grüße
ThomasD
-
In http://www.iobroker.net/?page_id=3640&lang=de solltest Du Möglichkiten zur Verbrauchserfassung für verschiedene Perioden finden.
-
gibt es eine einfache Möglichkeit eine Zählervariable in Verbrauch um zu rechnen und das in den Intervallen 15m, 60m, 1d, 1w, 1m, 1y? `
Vorschlag:var idZaehler = getIdByName('Zaehler'); var idV15min = getIdByName('Verbrauch.15min'); var idZ15min = getIdByName('Zaehler.15min'); var idVh = getIdByName('Verbrauch.Stunde'); var idZh = getIdByName('Zaehler.Stunde'); var idVd = getIdByName('Verbrauch.Tag'); var idZd = getIdByName('Zaehler.Tag'); var idVw = getIdByName('Verbrauch.Woche'); var idZw = getIdByName('Zaehler.Woche'); var idVm = getIdByName('Verbrauch.Monat'); var idZm = getIdByName('Zaehler.Monat'); var idVy = getIdByName('Verbrauch.Jahr'); var idZy = getIdByName('Zaehler.Jahr'); var count = getState(idZaehler).val; // Script start on(idZaehler, function(dp) { // Änderung Zählerstand count = dp.state.val; }); schedule('*/15 * * * *', function() { setState(idV15min, count - getState(idZ15min)); setState(idZ15min, count); }); schedule('0 * * * *', function() { setState(idVh, count - getState(idZh)); setState(idZh, count); }); schedule('0 0 * * *', function() { setState(idVd, count - getState(idZd)); setState(idZd, count); }); schedule('0 0 * * 0', function() { setState(idVw, count - getState(idZw)); setState(idZw, count); }); schedule('0 0 1 * *', function() { setState(idVm, count - getState(idZm)); setState(idZm, count); }); schedule('0 0 1 1 *', function() { setState(idVy, count - getState(idZy)); setState(idZy, count); });
-
Hallo,
Danke erst mal, ich hoffe du hast dir nicht zu viel Arbeit gemacht.
So ungefähr sieht mein Script auch aus, ich dachte es geht vielleicht ohne die Temporären Variablen.
Vielleicht schreibt ja mal jemand einen Adapter, mein Wissen über die Adapter reicht da leider nicht zu.
Schöne Grüße
ThomasD
-
ich dachte es geht vielleicht ohne die Temporären Variablen. `
Ohne Speichern der verschiedenen Zählerstände in Datenpunkt(en) geht es nicht, weil diese sonst keinen Skriptneustart / kein Reboot überstehen. Anstelle von 6 Datenpunkten für die Zählerstände kann man auch einen Datenpunkt (Objekt / Array) mit allen 6 Zählerständen verwenden.