Ist denn Dein Sensor online? Unter der von Dir angegebenen ID konnte ich keine Daten auslesen (wohl aber unter anderen IDs)
Beispiel ID 6787.
Voraussetzung: http Addon installiert (dies ist bisher ausschließlich als V1 Binding zu haben, deshalb erfolgt die Konfiguration zwingend über Textdateien) jsonpath Transformation Service installiert (ebenfalls V1, wie alle Transformation Services, aber keine gesonderte Konfiguration nötig)
Ein geeigneter Persistence Service, wie z.B. rrd4j oder influxdb.
Dieser Eintrag erstellt einen http Cache und füllt ihn alle 60 Sekunden mit den aktuellen Daten des Sensors mit der ID 6787.
Code: Alles auswählen
[
{
"id": 4967141319,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:03:43",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544436095,
"value": "696.12"
},
{
"value_type": "P2",
"id": 10544436110,
"value": "658.38"
}
]
},
{
"id": 4967138087,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:03:17",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544429292,
"value": "689.70"
},
{
"value_type": "P2",
"id": 10544429294,
"value": "652.83"
}
]
},
{
"id": 4967135456,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:02:51",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544423669,
"value": "694.62"
},
{
"value_type": "P2",
"id": 10544423671,
"value": "657.27"
}
]
},
{
"id": 4967133120,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:02:27",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544418710,
"value": "689.08"
},
{
"value_type": "P2",
"id": 10544418712,
"value": "652.15"
}
]
},
{
"id": 4967129478,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:02:02",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544410949,
"value": "709.08"
},
{
"value_type": "P2",
"id": 10544410964,
"value": "670.48"
}
]
},
{
"id": 4967127043,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:01:37",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544405806,
"value": "690.20"
},
{
"value_type": "P2",
"id": 10544405815,
"value": "653.33"
}
]
},
{
"id": 4967122883,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:01:12",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544397070,
"value": "697.37"
},
{
"value_type": "P2",
"id": 10544397083,
"value": "659.80"
}
]
},
{
"id": 4967120053,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:00:48",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544391122,
"value": "692.77"
},
{
"value_type": "P2",
"id": 10544391124,
"value": "655.22"
}
]
},
{
"id": 4967117504,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 17:00:22",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544385641,
"value": "693.83"
},
{
"value_type": "P2",
"id": 10544385678,
"value": "656.17"
}
]
},
{
"id": 4967114960,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 16:59:57",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544380272,
"value": "693.70"
},
{
"value_type": "P2",
"id": 10544380274,
"value": "656.45"
}
]
},
{
"id": 4967111502,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 16:59:33",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544372930,
"value": "699.08"
},
{
"value_type": "P2",
"id": 10544372937,
"value": "661.45"
}
]
},
{
"id": 4967108961,
"sampling_rate": null,
"sensor": {
"pin": "1",
"id": 6787,
"sensor_type": {
"manufacturer": "Nova Fitness",
"id": 14,
"name": "SDS011"
}
},
"location": {
"altitude": "646.6",
"indoor": 0,
"country": "DE",
"longitude": "10.268",
"id": 3431,
"latitude": "47.966",
"exact_location": 0
},
"timestamp": "2019-09-23 16:59:08",
"sensordatavalues": [
{
"value_type": "P1",
"id": 10544367562,
"value": "694.73"
},
{
"value_type": "P2",
"id": 10544367566,
"value": "657.50"
}
]
}
]
Die interessanten Daten können nun aus dem Cache in verschiedene Items eingelesen werden. Im Beispiel liefert der Knoten zwei Werte, nämlich P1 und P2. Interessant sind nur die aktuellen Daten, die sich im Knoten 0 befinden.
Damit Du die Daten als Graph darstellen kannst, muss openHAB die Daten persistieren. Intern geht das z.B. mit rrd4j. Damit die Daten persistiert werden, reicht eine Datei.
Diese Datei sorgt dafür, dass die Gruppenangehörigen (aber nicht die Gruppe selbst!) der Gruppe Luftdaten mindestens minütlich persistiert werden.
Nun kannst Du in einer Sitemap auf diese Daten zugreifen.
Vorausgesetzt, der Knoten liefert Daten, und weiter vorausgesetzt, openHAB hatte ein bisschen Zeit, die Daten selbst zu speichern, erscheint ein Graph mit dem Verlauf beider Sensorwerte.
Alternativ kannst Du auch influxdb verwenden, eine Datenbank, die darauf spezialisiert ist, Messwerte zu erfassen und aufbereitet zur Verfügung zu stellen. Mit der Software Grafana kannst Du dann auf die Daten zugreifen und hübsche(-re) Graphen zeichnen lassen. Die Einbindung in eine openHAB Sitemap ist allerdings etwas komplizierter.
Frage am Rande: Willst Du openHAB ausschließlich für die Darstellung Deiner Sensordaten verwenden? Das wäre ungefähr so, als würdest Du ein Logistikzentrum mit angeschlossener Spedition aufbauen, um täglich die Post aus Deinem Briefkasten zu holen.
Soll heißen: geht natürlich (siehe oben) aber luftdaten.info bietet ja selbst einige Möglichkeiten, die Sensordaten komfortabel einzusehen.