influxdb und items hinzufügen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

HenryGondorff
Beiträge: 13
Registriert: 21. Apr 2020 17:11

influxdb und items hinzufügen

Beitrag von HenryGondorff »

Hallo,

ich bin am verzweifeln.
OH2, influxdb und grafana laufen bei mir seit einigen Tagen problemlos miteinander. Grundsätzlkich werden auch Daten gespeichert und in den Grafen angezeigt.
Heute habe ich nun in die influxdb.persist ein paar items eingefügt, die alle auch im OH definiert sind. "AirsenseRuntime" kann ich auswerten, die folgenden Items sehe ich noch nicht mal in der influx-Konsole.

items-file:

Code: Alles auswählen

Number AirsenseRuntime
Number AirsenseRuntimeDay
Number AirsenseRuntimeWeek
Number AirsenseRuntimeMonth
influxdb.persist:

Code: Alles auswählen

Strategies {
    everyMinute : "0 * * * * ?"
    everyHour   : "0 0 * * * ?"
    everyDay    : "0 0 0 * * ?"
}

Items {
    ZHS15_Activepower			: strategy = everyChange, everyMinute
    AktTempAZ				: strategy = everyMinute
    SollTempAZ				: strategy = everyChange
    sAqaraWohnungstuer			: strategy = everyChange
    sAqaraSchranktuer			: strategy = everyChange
    AirsenseRuntime			: strategy = everyChange
    AirsenseRuntimeDay			: strategy = everyChange
    AirsenseRuntimeWeek			: strategy = everyChange
    AirsenseRuntimeMonth		: strategy = everyChange
    
}
Wenn ich nun die influx-Console öffne und

Code: Alles auswählen

show MEASUREMENTS 
anzeigen möchte, sehe ich nur die bisherigen Items, AirsenseRuntime ist die letzte, die Folgenden werden nicht angezeigt.

Natürlich habe ich den influx-service und auch openhab2.service mehrfach neu gestartet.

Kann mir jemand bitte einen Tipp geben, was ich vergessen habe?

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: influxdb und items hinzufügen

Beitrag von Darkwin101 »

Haben sich diese den auch mal geändert da sie ja nur archiviert werden wenn sie sich ändern ?


Gesendet von iPhone mit Tapatalk

bastler
Beiträge: 114
Registriert: 7. Jan 2020 19:36
Answers: 2

Re: influxdb und items hinzufügen

Beitrag von bastler »

deine influxdb.persist stimmt so nicht. du hast dort die items rein geschrieben. ich kann dir nicht erklären warum aber du musst dort die gruppen reinschreiben. also erst mal deine items zu mindestens einer (oder mehreren) gruppe(n) hinzufügen und dann dort eintragen.
um bei deinem beispiel zu bleiben so in etwa:
dein items-file:

Code: Alles auswählen

Number AirsenseRuntime      (G_Airsense)
Number AirsenseRuntimeDay   (G_Airsense)
Number AirsenseRuntimeWeek  (G_Airsense)
Number AirsenseRuntimeMonth (G_Airsense)
und deine influxdb.persist:

Code: Alles auswählen

Items {
    ZHS15_Activepower		: strategy = everyChange, everyMinute
    AktTempAZ				: strategy = everyMinute
    SollTempAZ				: strategy = everyChange
    sAqaraWohnungstuer		: strategy = everyChange
    sAqaraSchranktuer		: strategy = everyChange
    G_Airsense			        : strategy = everyChange
}

HenryGondorff
Beiträge: 13
Registriert: 21. Apr 2020 17:11

Re: influxdb und items hinzufügen

Beitrag von HenryGondorff »

Darkwin101 hat geschrieben: 25. Okt 2020 17:42 Haben sich diese den auch mal geändert da sie ja nur archiviert werden wenn sie sich ändern ?


Gesendet von iPhone mit Tapatalk
Hi Darkwin101,

ja, ich hab die Werte geändert. Aber mein Problem setzt ja schon früher an. Sie scheinen in der DB nicht angelegt zu werden.

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: influxdb und items hinzufügen

Beitrag von PeterA »

Über die Rest API könnte man bei den betreffenden Items nachschauen ob wirklich etwas in der DB steht.

Code: Alles auswählen

http://YourOpenHabIP:8080/doc/index.html#!/persistence/httpGetPersistenceItemData
- OpenHab 2.4
#PWRUP

HenryGondorff
Beiträge: 13
Registriert: 21. Apr 2020 17:11

Re: influxdb und items hinzufügen

Beitrag von HenryGondorff »

PeterA hat geschrieben: 25. Okt 2020 18:55 Über die Rest API könnte man bei den betreffenden Items nachschauen ob wirklich etwas in der DB steht.

Code: Alles auswählen

http://YourOpenHabIP:8080/doc/index.html#!/persistence/httpGetPersistenceItemData
Hallo Peter,

die REST API ist ein guter Hinweis.
So langsam verstehe ich aber nichts mehr.
Die url, die du gepostet hast, funktioniert bei mir garnicht. ja klar, ich hab die IP angepasst ;-)

Meine REST API schlägt mir Folgende URL vor:

Code: Alles auswählen

http://<RASP-IP>:8080/rest/persistence/items?serviceId=influxdb
Als Ergebnis kommt dann allerdings eine leere Liste

Code: Alles auswählen

Response Body
[]
Wähle ich dann aber über

Code: Alles auswählen

http://<RASP-IP>:8080/rest/persistence/items/ZHS15_Activepower
gezielt ein Item aus, von dessen Existienz ich weiss, werden mir auch Datensätze angezeigt.

Code: Alles auswählen

Response Body
{
  "name": "ZHS15_Activepower",
  "datapoints": "8002",
  "data": [
    {
      "time": 1603627800186,
      "state": "5.0"
    },
    {
      "time": 1603627860187,
      "state": "5.0"
    },
    {
      "time": 1603627920188,
      "state": "5.0"
    },
Außerdem zeigt mir influx bei

Code: Alles auswählen

show measurements
in der shell inzwischen Items vor, die in der influxdb.persist nicht drin stehen.
Wie kann das denn alles zusammenhängen?
Achja, ein reboot des RasPis hat auch nichts geändert.

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: influxdb und items hinzufügen

Beitrag von PeterA »

HenryGondorff hat geschrieben: 26. Okt 2020 14:17
Hallo Peter,

die REST API ist ein guter Hinweis.
So langsam verstehe ich aber nichts mehr.
Die url, die du gepostet hast, funktioniert bei mir garnicht. ja klar, ich hab die IP angepasst ;-)

Meine REST API schlägt mir Folgende URL vor:

Code: Alles auswählen

http://<RASP-IP>:8080/rest/persistence/items?serviceId=influxdb
Als Ergebnis kommt dann allerdings eine leere Liste

Code: Alles auswählen

Response Body
[]
Wähle ich dann aber über

Code: Alles auswählen

http://<RASP-IP>:8080/rest/persistence/items/ZHS15_Activepower
gezielt ein Item aus, von dessen Existienz ich weiss, werden mir auch Datensätze angezeigt.

Code: Alles auswählen

Response Body
{
  "name": "ZHS15_Activepower",
  "datapoints": "8002",
  "data": [
    {
      "time": 1603627800186,
      "state": "5.0"
    },
    {
      "time": 1603627860187,
      "state": "5.0"
    },
    {
      "time": 1603627920188,
      "state": "5.0"
    },
Bis hier her ist das bei mit mit mapdb und rrd4j (andere persistenzen nutze ich nicht) alles genauso.
- OpenHab 2.4
#PWRUP

Benutzeravatar
udo1toni
Beiträge: 13948
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: influxdb und items hinzufügen

Beitrag von udo1toni »

Hast Du openHAB zwischendurch mal neu gestartet?

Ansonsten gibt es hier ein paar sicher gut gemeinte Ratschläge, die aber nicht wirklich zielführend sind.

Du kannst die Items einzeln angeben oder alternativ auch über eine Gruppe persistieren, das sollte aber keinen Unterschied machen. Aber der Vollständigkeit halber die Konfiguration mit Gruppe:
Items:

Code: Alles auswählen

Group gInfluxEC
Number AirsenseRuntime      (gInfluxEC)
Number AirsenseRuntimeDay   (gInfluxEC)
Number AirsenseRuntimeWeek  (gInfluxEC)
Number AirsenseRuntimeMonth (gInfluxEC)
und die influxdb.persist

Code: Alles auswählen

Strategies {
    everyMinute : "0 * * * * ?"
    everyHour   : "0 0 * * * ?"
    everyDay    : "0 0 0 * * ?"
}
Items {
    ZHS15_Activepower     : strategy = everyChange, everyMinute
    AktTempAZ             : strategy = everyMinute
    SollTempAZ            : strategy = everyChange
    sAqaraWohnungstuer    : strategy = everyChange
    sAqaraSchranktuer     : strategy = everyChange
    gInfluxEC*            : strategy = everyChange
}
Der wichtige Punkt ist hier der * am Ende des (vollständigen!) Group Item Namens. Dieser * bedeutet nicht, wie z.B. in diversen Dateidialogen "ab hier ist alles egal", sondern er kennzeichnet, dass hier nicht das Item selbst, sondern seine unmittelbaren Member persistiert werden sollen. In diesem Fall also die vier Airsense Items, NICHT aber die Gruppe gInfluxEC.
Gruppen sind in openHAB eine Art Universalheilmittel ;) und können für diverse Aufgaben genutzt werden, eben auch, um bequem direkt in der Itemdefinition die Persistence zu wählen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

HenryGondorff
Beiträge: 13
Registriert: 21. Apr 2020 17:11

Re: influxdb und items hinzufügen

Beitrag von HenryGondorff »

Hallo,

der letzte Reboot des Raspis ist ca. eine halbe Stunde her. Danach war aber alles unverändert.

Bittet haltet mich jetzt nicht für total bescheuert - aber seit ein paar Minuten funktioniert es. naja, weitgehend.
Die fehlenden Items hatten bisher entweder eine REAL-Zahl oder 0 (Nicht NULL) als Wert.
Ich habe ihnen jetzt einfach mal plump einen INTEGER-Wert zugewiesen. Danach wurden sie sofort im grafana angezeigt, sogar ohne die Dienste neu zu starten. Und jetzt akzeptieren die Number-Items auch REAL-Werte. Warum auch immer....
Per "show measurements" werden sie nun auch alle angezeigt, nur die REST API verschweigt mir immer noch alle Items - aber damit kann ich leben ;-)

Nochmal vielen Dank an euch alle! Hab mal wieder ne Menge gelernt.

HenryGondorff
Beiträge: 13
Registriert: 21. Apr 2020 17:11

Re: influxdb und items hinzufügen

Beitrag von HenryGondorff »

udo1toni hat geschrieben: 26. Okt 2020 15:04 Hast Du openHAB zwischendurch mal neu gestartet?

...
...

Der wichtige Punkt ist hier der * am Ende des (vollständigen!) Group Item Namens. Dieser * bedeutet nicht, wie z.B. in diversen Dateidialogen "ab hier ist alles egal", sondern er kennzeichnet, dass hier nicht das Item selbst, sondern seine unmittelbaren Member persistiert werden sollen. In diesem Fall also die vier Airsense Items, NICHT aber die Gruppe gInfluxEC.
Gruppen sind in openHAB eine Art Universalheilmittel ;) und können für diverse Aufgaben genutzt werden, eben auch, um bequem direkt in der Itemdefinition die Persistence zu wählen.
Hi udo1toni,

statt der einzelnen Items hab ich jetzt mal die Gruppe, wie du vorgeschlagen hast, in die influxdb.persist geschrieben. Auch das funktioniert prima.
Man muss nur wissen, dass die Items anscheinend erst dann zur Verfügung stehen, wenn sie einmal mit einem Wert versehen wurden. Dann aber auch dauerhaft, auch wenn es die Items im openhab schon lange nicht mehr gibt.

Danke für die Hilfe,

Uli

Antworten