mdzio / ccu-historian

Der CCU-Historian erfasst die Betriebsdaten des Hausautomations-Systems HomeMatic der Firma eQ-3.
http://www.ccu-historian.de
GNU General Public License v3.0
121 stars 14 forks source link

JSON-RPC #411

Closed wakr70 closed 7 months ago

wakr70 commented 7 months ago

Hallo Mathias,

ich teste derzeit die Expression und verwende da gerne auch die methode "executeScript" über die JSON-RPC Schnittstelle. Leider bekommt man da nur für Result immer einen String.

Gibt es auch die Möglichkeit, hier eine json zubekommen wie bei methode "getTimeSeriesRaw" ?

{"id":"1109_1711821635351","result":{"timestamps":[1711216999000,1711217723000,],"values":[145.0,143.0,],"states":[6,6],"dataPoint": ...}

{"id":123,"result":"2024-03-23 20:00:00.000, 6386.27, 2\n2024-03-23 21:00:00.000, 6916.036568055555, 2\n"}

LG wak

mdzio commented 7 months ago

Dafür gibt es bereits die neue Methode calculateTimeSeries. Die Dokumentation ist hier zu finden.

executeScript kann immer nur Text zurückgeben.

wakr70 commented 7 months ago

Danke für den Tip, hab ich noch nicht gekannt, Doku lesen hilft ! Muß ich mal testen, ob das auch so funktioniert mit längeren Formeln, wie execute Script!

wakr70 commented 7 months ago

Hallo Mathias, habe es jetzt einwenig getestet und funktioniert super!

Eines konnte ich aber nicht lösen, da ja der .READ(...) jetzt automatisch am Ende ist, kann ich die Zeitreihe nicht mehr bearbeiten.

Oder gibt es eine Möglichkeit bei einem Counter den Delta von einem Tag auf den anderen zu ermitteln, um daraus Tagesverbräuche zu ermitteln?

mdzio commented 7 months ago

Das kannst Du so folgendermaßen erreichen:

Insgesamt also: (dataPoint(xy).counter().minimum(daily()).differentiate()*24).read(begin, end)

Getestet habe ich es nochn nicht.

wakr70 commented 7 months ago

Danke für den Hinweis, mit differentiate konnte ich bisher noch nix anfangen, das sieht schon elegander aus, wie meine Lösung :-)