NEWS
[gelöst] Zugriff per Script auf History Daten
-
Hallo Leute,
aktuell habe ich ein Script, welches 0.00 immer den aktuellen Stromzählerstand in eine variable schreibt und am nächsten Tag die Differenz bildet. So dass ich mir früh 8:00 eine Pushnachricht mit dem Stromverbrauch von gestern schicken kann.
Jetzt sind diese Daten doch aber im Adapter History vorhanden. Kann mir jemand sagen, ob es mittlerweile eine Funktion gibt, um einfach darauf zuzugreifen? Irgendwo im Forum habe ich es schon mal über einen Filezugriff auf die Dateien von History gesehen - es muss doch aber eine einfache API geben oder?
-
@Pep:es muss doch aber eine einfache API geben `
Wieso?Der History-Adapter schreibt die Daten aller historisierten Punkte in json-files (für jeden Tag eins).
flot dient der grafischen Darstellung dieser Daten und greift auf diese Dateien zu.
Es ist nicht vorgesehen (gewesen) die Rohdaten anderweitig zu verarbeiten.
Dies könntest du z.B. machen, wenn du statt des history Adapters mit SQL oder influxDB arbeitest und anschließend die Funktionen dieser Datenbanken zum Auslesen von Daten nutzst.
Gruß
Rainer
-
@Pep:Hallo Leute,
aktuell habe ich ein Script, welches 0.00 immer den aktuellen Stromzählerstand in eine variable schreibt und am nächsten Tag die Differenz bildet. So dass ich mir früh 8:00 eine Pushnachricht mit dem Stromverbrauch von gestern schicken kann.
Jetzt sind diese Daten doch aber im Adapter History vorhanden. Kann mir jemand sagen, ob es mittlerweile eine Funktion gibt, um einfach darauf zuzugreifen? Irgendwo im Forum habe ich es schon mal über einen Filezugriff auf die Dateien von History gesehen - es muss doch aber eine einfache API geben oder? `
Es gibt ein Adapter, welcher genau die Kalkulationen macht. Man muss den noch vom git installieren: https://github.com/GermanBluefox/ioBroker.statistics
Da werden 15 MIN, Day min/max, Stunde, Tag, Monat, Jahr Zähler-Werte kalkuliert.
Das Problem aber mit dem History adapter bleibt.
Und das kann man damit Lösen: https://github.com/ioBroker/ioBroker.hi … pt-adapter
`sendTo('history.0', 'getHistory', { id: 'blaBLaBLa', options: { end: new Date().getTime(), start: new Date().getTime() - 60000 * 25, // now - 25 Hours aggregate: 'none' } }, function (result) { for (var i = 0; i < result.result.length; i++) { console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString()); } });` [/i][/i]
-
Es gibt ein Adapter, welcher genau die Kalkulationen macht. Man muss den noch vom git installieren: https://github.com/GermanBluefox/ioBroker.statistics `
Danke - genau das habe ich gesucht
-
Es gibt ein Adapter, welcher genau die Kalkulationen macht. Man muss den noch vom git installieren: https://github.com/GermanBluefox/ioBroker.statistics `
kann es sein, dass hierfür nicht alle Datenpunkte genommen werden können?
Ich haben das mit Geräten aus der zwave-Struktur versucht, klappt.
Mit Datenpunkten aus der javascript-Struktur geht´s nicht.
ist die ggf. zu lang? -
Was für ein Typ haben javascript Objekte? mixed?
Ändere das auf Nummer.
-
ist "number", daran dachte ich auch erst…
{ "from": "system.adapter.javascript.1", "ts": 1535704007535, "common": { "name": "Zählerstand - in kWh", "unit": "kWh", "type": "number", "role": "javascript", "def": 0, "min": 0, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "1000", "maxLength": "960", "retention": "31536000", "changesRelogInterval": 0, "changesMinDelta": 0, "aliasId": "" }, "statistics.0": { "enabled": true, "logName": "Strom Pool", "count": false, "sumCount": false, "timeCount": false, "fiveMin": false, "groupFactor": "", "impUnit": "", "impUnitPerImpulse": "", "sumIgnoreMinus": true, "sumDelta": true, "avg": true, "sumGroup": "" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "javascript.1.Verbrauch.Strom.Zaehler_Pool.Strom_Zaehlerstand_kWh", "type": "state" }