Hausautomation: openHAB-Binding?
-
Ich habe das Addon installiert, die Channelbeschreibungen zwischen jar-File und Github differieren.
Frage: Kann man die Indizes als Prozentwerte darstellen?
Welchen Typ verwendet man in der Sitemap für den Timestamp, Text, String und DateTime gehen nicht?
Vielen Dank! -
Timestamp gelöst:
DateTime airQ_timestamp "TimeStamp [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" {channel="airq:airq:1:timestamp"}
-
@jheiler Ich bin noch dran, das auszuprobieren. Ich komme darauf zurück.
-
@jheiler Ich war Dir noch eine Antwort zur Prozentzahl schuldig. Die Indices gehen von 0 bis 1000, sind also, werden man so will, als Promille-Daten ausgegeben. Wenn Du das so möchtest, ist das Format: "%d ‰".
Wenn Du trotzdem einen Prozent-Wert möchtest, musst Du wohl eine Transformation verwenden, in etwa so (ich habe es nicht getestet, benutze aber ähnliche Transformationen):
(function(i) { var d = Int.parse(i); return d/10; })(input)
Das Mapping musst Du dann in der Sitemap-Zeile 'aufrufen', wie im obigen Transformation-Link erläutert, und das Ganze im Format "%d %" ausgeben.
-
Vielen Dank.
-
Gestern wurde das openHAB-Binding auch vom zweiten Reviewer abgenommen, die Voraussetzungen zur Einbindung in die openHAB-Distribution sind also gegeben: mit der nächsten Version wird es integraler Teil davon sein. Wer die definitive Version jetzt schon verwenden möchte, findet sie hier: https://github.com/aurelio1/openhab-addons/releases/tag/v1.0 .
Beachtet bitte, dass die Channels teilweise anders heissen - sie entsprachen in früheren Versionen nicht den offiziellen openHAB-Richtlinien. Wenn ihr also einfach ein früheres Binding durch diese Version ersetzt, werden mehrere Items nicht mehr richtig erkannt, und ihr müsst die entsprechenden Items manuell den neuen Kanalnamen zuordnen. -
@Aurelio das ist genial. Danke für das Engagement!
-
@Aurelio
Ich habe auf Openhab 3.1 und damit auch auf die finale Version des Addons aktualisiert. Der Stautus of Sensors wird mit Null ausgewiesen, für Humidity und Oxygen Concentration werden sehr hohe Werte (offensichtlich falsche Kommasetzung) angezeigt. Meine Items und Sitemap folgen. Was muss ich ändern?Items
DateTime airQ_timestamp "TimeStamp [%1$tA, %1$td. %1$tB %1$tY %1$tH:%1$tM]" {channel="airq:airq:4eb72412cd:timestamp"} String airQ_status "Status of Sensors" {channel="airq:airq:4eb72412cd:Status"} Number airQ_co "CO Concentration" {channel="airq:airq:4eb72412cd:co"} Number airQ_co2 "CO2 Concentration" {channel="airq:airq:4eb72412cd:co2"} Number:Dimensionless airQ_o2 "Oxygen concentration" {channel="airq:airq:4eb72412cd:oxygen"} Number airQ_fineDustConc01 "Fine Dust Concentration >1µ" {channel="airq:airq:4eb72412cd:pm1"} Number airQ_fineDustConc02_5 "Fine Dust Concentration >2.5µ" {channel="airq:airq:4eb72412cd:pm2_5"} Number airQ_fineDustConc10 "Fine Dust Concentration >10µ" {channel="airq:airq:4eb72412cd:pm10"} Number:Temperature airQ_temperature "Temperature [%.1f °C]" {channel="airq:airq:4eb72412cd:temperature"} Number airQ_sound "Noise" {channel="airq:airq:4eb72412cd:sound"} Number airQ_humidity_abs "Absolute Humidity" {channel="airq:airq:4eb72412cd:humidity_abs"} Number:Dimensionless airQ_humidityRelative "Humidity" {channel="airq:airq:4eb72412cd:humidity"} Number airQ_o3 "O3 concentration" {channel="airq:airq:4eb72412cd:o3"} Number airQ_so2 "SO2 concentration" {channel="airq:airq:4eb72412cd:so2"} Number airQ_no2 "NO2 concentration" {channel="airq:airq:4eb72412cd:no2"} Number:Pressure airQ_pressure "Pressure" {channel="airq:airq:4eb72412cd:pressure"} Number airQ_voc "VOC concentration" {channel="airq:airq:4eb72412cd:tvoc"} Number:Dimensionless airQ_health "Health Index [%d ‰]" {channel="airq:airq:4eb72412cd:health"} Number:Dimensionless airQ_performance "Performance Index [%d ‰]" {channel="airq:airq:4eb72412cd:performance"}
Sitemap
sitemap airQ label="Air-Q" { Frame label="" { Text item=airQ_health icon="qualityofservice" Text item=airQ_performance icon="qualityofservice" } Frame label="status" { Text item=airQ_timestamp icon="time" Text item=airQ_status icon="status" } Frame label="Sensoren" { Text item=airQ_temperature icon="temperature" Text item=airQ_pressure icon="pressure" Text item=airQ_humidityRelative icon="humidity" valuecolor=[<40="red", >=40="green", >60="red"] Text item=airQ_co2 valuecolor=[<=1000="green", >1000="red"] icon="carbondioxide" Text item=airQ_so2 valuecolor=[<=350="green", >350="red"] Text item=airQ_no2 valuecolor=[<=80="green", >80="red"] Text item=airQ_sound icon="soundvolume" Text item=airQ_humidity_abs icon="humidity" Text item=airQ_co valuecolor=[<=25="green", >25="red"] Text item=airQ_o3 valuecolor=[<=180="green", >180="red"] Text item=airQ_fineDustConc01 Text item=airQ_fineDustConc02_5 Text item=airQ_fineDustConc10 valuecolor=[<=50="green", >50="red"] Text item=airQ_o2 valuecolor=[<17="red", >=17="green"] Text item=airQ_voc } }
Viele Grüße
-
Ich präzisiere: Bei der Humidity steht heute in der events.log 46750000000000000000000000000000000000,00 %. Das ist nicht der aktuelle Wert und möglicherweise ein Problem der Aktualisierung.
-
Hallo @jheiler
Ich kann das Problem nicht einfach so nachvollziehen, weil es bei mir klappt, ebenfalls mit OH3.1. Allerdings zeige ich die Daten im HabPanel an, nicht mit einer manuell konfigurierten Sitemap.
Um der Sache auf die Spur zu kommen, stelle doch bitte den TRACE-Modus des Bindings an und schicke mir die Daten, die ausgegeben werden (eine Abrufperiode der Sensordaten). Den Trace-Modus kannst Du wie folgt einstellen:openhab> log:set TRACE org.openhab.binding.airq
Nach dem Abruf kannst Du es gerne wieder auf WARN zurückstellen, mit:
openhab> log:set WARN org.openhab.binding.airq