ccu-historian-3.2 Manuelle Eingabe von Wertepaaren (Zeit/Wert) möglich?

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
webtv
Beiträge: 21
Registriert: 31.07.2022, 20:44
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

ccu-historian-3.2 Manuelle Eingabe von Wertepaaren (Zeit/Wert) möglich?

Beitrag von webtv » 17.09.2022, 18:02

Hallo,

ist es möglich über den ccu-historian "von Hand" Wertepaare einzugeben, damit man sie in den Diagrammen anzeigen kann? Beispielsweise (Datum-Uhrzeit/Zählerstand). Das Problem ist derzeit, dass die Zählersensor-Sendeeinheit Strom/Gas HM-ES-TX-WM derzeit eine Lieferzeit von 18 Wochen hat und der PULSECOUNTER-2 (WLAN) und PULSECOUNTER2-LAN derzeitig nicht vorrätig sind. Bis es da wieder etwas gibt, würde ich die Werte gerne "von Hand" einpflegen.

Die Frage habe ich auch im allg. Forum gepostet, weil ich das eigentlich lieber über die WebUI machen würde. Das hat damit zu tun, dass für die anderen User meiner Heimauomation die "Computer-Verständnis-Grenze" mit der WebUI schon erreicht, bzw. überschritten ist.

Mit Werkzeuge > Datenbankexport/-import habe ich schon mal ein .csv exportiert und in Visual Studio Code angeschaut. Ohne Vorlage/Beschreibung wie die Daten von HM-ES-TX-WM für den Gas- und Stromzähler formatiert sind, scheue ich mich aber einfach mal damit Experimente zu machen und einfach was in die Datenbank zu importieren.

Vielleicht hat ja auch jemand eine .csv mit Daten des HM-ES-TX-WM mit angeschlossenem ES-GAS-2 und ES-IEC Stromzählerausleser.

Viele Grüße
Johannes

Mathias
Beiträge: 1786
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 259 Mal
Kontaktdaten:

Re: ccu-historian-3.2 Manuelle Eingabe von Wertepaaren (Zeit/Wert) möglich?

Beitrag von Mathias » 17.09.2022, 22:41

Es ist angedacht, dass auch über die Web-UI des CCU-Historians Einträge in Zeitreihen eingefügt oder editiert werden können. Bis dahin hast Du aber viele andere Möglichkeiten.

Das Setzen einer Systemvariablen z.B. per HM-Skript oder in der RaspberryMatic-UI ist die erste Möglichkeit, wie bereits in dem anderen Thema angemerkt worden ist. Der CCU-Historian archiviert dann die Systemvariable immer dann, wenn sie beschrieben wird.

Dann können auch Zeitreihen über den CCU-Historian eingefügt werden. Es muss natürlich erst einmal ein Datenpunkt im CCU-Historian vorhanden sein, da alle Zeitreiheneinträge einem Datenpunkt zugeordnet sein müssen. Dafür gibt es folgende Möglichkeiten:
  • Durch Anlegen einer neuen Systemvariable wird ein Datenpunkt erstellt. Nach dem Löschen der Systemvariablen ist dieser auch weiterhin in der Datenbank.
  • Oder dieses Skript im CCU-Historian (ab V3.3) ausführen. Dadurch werden Benutzerdatenpunkte angelegt.
Um einen Zeitreiheneintrag zu einem Datenpunkt hinzuzufügen gibt es folgende Möglichkeiten:
  • Über die Skript-Umgebung (ab V3.3) mit diesem Skript z.B. aus MS Excel oder diesem Skript.
  • Über Werkzeuge → Datenbankexport/-import können präperierte CSV-Dateien importiert werden.
  • Es kann ein SQL-Befehl (INSERT) über die Web-UI der Datenbank ausgeführt werden.
  • Es kann ein SQL-Befehl über die Kommandozeilenoption -runscript ausgeführt werden.
  • Über JSON-RPC-API (ab V3.3) können Einträge erstellt werden (z.B. durch einen CURL-Aufruf).
Wenn nachher der tatsächliche Zähler Daten für seine eigenen Datenpunkte liefert, können die bereits in einem anderen Datenpunkt manuell eingetragenen Werte einfach über die Web-UI hineinkopiert werden.

Also es gibt jetzt schon viele Möglichkeiten. :D

Benutzeravatar
Henke
Beiträge: 1524
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: ccu-historian-3.2 Manuelle Eingabe von Wertepaaren (Zeit/Wert) möglich?

Beitrag von Henke » 18.09.2022, 02:50

Mathias hat geschrieben:
17.09.2022, 22:41
[*]Über JSON-RPC-API (ab V3.3) können Einträge erstellt werden (z.B. durch einen CURL-Aufruf).
Kann ich über JSON-RPC-API-"setValue" den timestamp übergeben? Ich brauche das für eine Fehlersuche.

Das gleiche Problem wird Johannes haben, da er wohl kaum die Daten zeitnah einträgt.

LG
Michael

webtv
Beiträge: 21
Registriert: 31.07.2022, 20:44
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

Re: ccu-historian-3.2 Manuelle Eingabe von Wertepaaren (Zeit/Wert) möglich?

Beitrag von webtv » 19.09.2022, 14:36

Hallo,

@ Mathias: Danke!

Die Variante eine präperierte CSV-Datei zu importieren erscheint mir am flexibelsten. In der WebUI habe ich eine entsprechende "SysVar Zählerstand Gas" und "SysVar Zählerstand Strom" geschaffen, über die Werkzeuge im ccu-historian einen Datenbankexport gemacht. In der CSV habe ich die Werte gefunden, siehe unten. Soweit ist mir alles klar.

Nur einen Werte-Typ verstehe ich nicht. Am Ende der Zeilen mit den Zeitstempeln und Werten erscheint manchmal eine ",10" oder ",2":
2022-09-17 22:53:14.000,11871.0,10
2022-09-17 23:44:29.746,11871.0,2

Weiß jemand was das ",10" bzw. ",2" bedeutet.

Vielen Dank. Viele Grüße
Johannes

______________
"SysVar","4245","VALUE",776,"D_SYSVAR_4245_VALUE",640,,,"Zählerstand Gas",,,,"{}",,,80000.0,"m^3",69257.794,,7,,"FLOAT",,2022-09-17 19:40:26.000,2022-09-18 23:48:26.000
2022-09-17 19:40:26.000,69245.865,10
2022-09-17 19:44:11.079,69245.865,2
2022-09-17 20:59:54.000,69252.487,2
2022-09-17 22:06:33.000,69252.837,2
2022-09-17 22:51:46.000,69253.11,2
...

"SysVar","4247","VALUE",783,"D_SYSVAR_4247_VALUE",640,,,"Zählerstand Strom",,,,"{}",,,30000.0,"kWh",11883.0,,7,,"FLOAT",,2022-09-17 22:53:14.000,2022-09-18 23:47:59.000
2022-09-17 22:53:14.000,11871.0,10
2022-09-17 23:44:29.746,11871.0,2
2022-09-17 23:46:00.000,11871.0,2
2022-09-18 00:43:06.000,11872.0,2
...

Mathias
Beiträge: 1786
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 259 Mal
Kontaktdaten:

Re: ccu-historian-3.2 Manuelle Eingabe von Wertepaaren (Zeit/Wert) möglich?

Beitrag von Mathias » 20.09.2022, 23:58

Henke hat geschrieben:
18.09.2022, 02:50
Kann ich über JSON-RPC-API-"setValue" den timestamp übergeben? Ich brauche das für eine Fehlersuche.
Das ist nicht möglich. setValue fügt aber auch nicht direkt einen Wert in die Datenbank ein. Es wird lediglich ein Gerätedatenpunkt oder eine Systemvariable mit dem Wert beschrieben. Über das Gerät/Systemvariable gelangt dann die Änderung in die CCU-Historian-Datenbank.

Es gibt aber die neue Methode insertTimeSeries in der JSON-RPC-API dafür. Ich muss diese noch im Wiki dokumentieren. Der POST-Body muss aber folgendermaßen aussehen:

Code: Alles auswählen

{
  "method": "insertTimeSeries",
  "params": [
    "BidCos-RF.ABC000001:1.TEST",
    {
    	"timestamps": [1000, 2000, 3000],
    	"values": [1.1, 2.2, 3.3],
    	"states": [3, 3, 3]
    }
  ]
}
Die Zeitstempel sind die Millisekunden seit 1.1.1970 UTS (wie in JavaScript).

Mathias
Beiträge: 1786
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 259 Mal
Kontaktdaten:

Re: ccu-historian-3.2 Manuelle Eingabe von Wertepaaren (Zeit/Wert) möglich?

Beitrag von Mathias » 21.09.2022, 00:17

webtv hat geschrieben:
19.09.2022, 14:36
Nur einen Werte-Typ verstehe ich nicht. Am Ende der Zeilen mit den Zeitstempeln und Werten erscheint manchmal eine ",10" oder ",2":
2022-09-17 22:53:14.000,11871.0,10
2022-09-17 23:44:29.746,11871.0,2

Weiß jemand was das ",10" bzw. ",2" bedeutet.
Ja, das ist ein Statuswert zu jedem Messwert. Dieser setzt sich so zusammen:

Code: Alles auswählen

STATE_QUALITY_BAD = 0x00000000
STATE_QUALITY_QUESTIONABLE = 0x00000001
STATE_QUALITY_NOT_SUPPORTED = 0x00000002
STATE_QUALITY_GOOD = 0x00000003
STATE_PREPROCESSED = 0x00000004
STATE_FIRST_ARCHIVED = 0x00000008
Also 2 heißt, eine Qualität zu diesem Messwert ist nicht vorhanden. (Ein Qualitätswert gibt es bei HomeMatic so nicht.)
Und 10 setzt sich aus 2+8 zusammen: Keine Qualität vorhanden und es ist der erste archivierte Wert nach einem Historian-(Neu)Start. (Vor dem Wert ist also unter Umständen eine Lücke in den Daten.)
Die Werte von Datenpunkten mit Vorverarbeitung haben dann nochmal +4.
Für die Trend-Anzeige hat der Status noch keine Auswirkungen.

Du nimmst am besten 3, wenn Du die Zähler eindeutig ablesen kannst. :D

Antworten

Zurück zu „CCU-Historian“