Hallo zusammen,
ich nutze eine InfluxDB aus der Openhabian Installation.
Alle Werte aus Items die über Things verknüpft sind, funktionieren einwandfrei.
Nun habe ich jedoch für meine Heizung kein Binding und auch keine Thing, sondern habe mir selber Items als String erstellt und befülle die Werte über eine Rule. Das funktioniert auch hervorragend. Die Werte werden jedoch nicht in die InfluxDB geschrieben bzw. ich sehe auch keine Werte im Grafen dafür.
Testweise wollte ich die Daten über das InfluxDB Studio testen. Ich bekomme jedoch keine Connection zu der DB.
Konkret geht es um das Item "Viessmann_Kesseltemperatur"
Hier auch die Persistence dazu:
Strategies {
//everyMinute : "0 * * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
default = everyChange
//default = everyUpdate
}
Items {
// persist all items on every change and restore them from the db at startup
//* : strategy = everyUpdate, restoreOnStartup
* : strategy = everyChange, everyDay, restoreOnStartup
Viessmann_Kesseltemperatur : strategy = everyChange, restoreOnStartup
}
OH3.2 Persistence funktioniert nicht für manuell erstellte Items
-
- Beiträge: 17
- Registriert: 26. Apr 2020 12:43
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OH3.2 Persistence funktioniert nicht für manuell erstellte Items
Du schreibst, dass Du String Items verwendest. Wenn Du die Items eh über eine Rule befüllst (wo kommen die Daten her?) solltest Du lieber Number Items verwenden (ansonsten auch...).
Kannst Du mal die Rule zeigen, mit der Du die Daten schreibst? Dieser Code ist im Zweifel wesentlich wichtiger als die *.persist Datei.
Grundsätzlich ist es egal, wie die Status des Items gesetzt werden, die Persistence greift nur auf den openHAB Bus zu, es sieht nur updates, changes und states, aber nicht die Quelle der Status.
Kannst Du mal die Rule zeigen, mit der Du die Daten schreibst? Dieser Code ist im Zweifel wesentlich wichtiger als die *.persist Datei.
Grundsätzlich ist es egal, wie die Status des Items gesetzt werden, die Persistence greift nur auf den openHAB Bus zu, es sieht nur updates, changes und states, aber nicht die Quelle der Status.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 17
- Registriert: 26. Apr 2020 12:43
Re: OH3.2 Persistence funktioniert nicht für manuell erstellte Items
Das war der entscheidende Hinweis. Das Item ist im Default String und das war verkehrt ...
Hier aber noch die Rule:
// Kesseltemperatur
var JSONtoString = transform("JSONPATH", "$.data[3].properties.value.value", JSONData.state.toString)
postUpdate('Viessmann_Kesseltemperatur',JSONtoString)
Hier aber noch die Rule:
// Kesseltemperatur
var JSONtoString = transform("JSONPATH", "$.data[3].properties.value.value", JSONData.state.toString)
postUpdate('Viessmann_Kesseltemperatur',JSONtoString)
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: OH3.2 Persistence funktioniert nicht für manuell erstellte Items
Prima, dass es mit Number direkt funktioniert.
Die Ausgabe von transform() dürfte übrigens schon direkt Number liefern, aber da JSONtoString als Objekt generiert wird, spielt es keine Rolle.
Die Action postUpdate(Item as String,Value as String) akzeptiert ausschließlich Strings als Parameter, im Gegensatz zur Methode Item.postUpdate(Value), welche alle wertformen akzeptiert, die zum Item passen.
Wo kommt denn JSONData her? Weil, die Umwandlung kannst Du auch komplett ohne Rule vollziehen (auch, und gerade, wenn mehr als ein Wert aus dem JSON entnommen werden soll).
Die Ausgabe von transform() dürfte übrigens schon direkt Number liefern, aber da JSONtoString als Objekt generiert wird, spielt es keine Rolle.
Die Action postUpdate(Item as String,Value as String) akzeptiert ausschließlich Strings als Parameter, im Gegensatz zur Methode Item.postUpdate(Value), welche alle wertformen akzeptiert, die zum Item passen.
Wo kommt denn JSONData her? Weil, die Umwandlung kannst Du auch komplett ohne Rule vollziehen (auch, und gerade, wenn mehr als ein Wert aus dem JSON entnommen werden soll).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet