NEWS
Zählerstand in Verbrauch umrechnen?
-
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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden