Hausautomation: openHAB-Binding?
-
Hallo zusammen
Da die API des airQ in einer Betaversion schon für Tests zugänglich ist, bin ich daran, ein Binding für openHAB zu schreiben.
Wer auch openHAB verwendet und das Binding derzeit dann testen möchte, kann sich gerne mit mir in Verbindung setzen. -
@Aurelio Bin interessiert.
Viele Grüße -
Wir danken Wolfgang R. für sein Engagement. Er hat uns erlaubt seine openHAB Einbindung zu Posten.
Download ist hier möglich:
Anleitung air-Q Integration in openHAB (pdf)
air-Q Integration in openHAB (air-q-data.sh) -
Vielen Dank an den Autor!
Ich habe getestet mit Openhab 2.5.6 und erhalte folgenden Fehler:
~ $ sudo -u openhab /usr/bin/python3 /usr/local/bin/air-q-data.shTraceback (most recent call last): File "/usr/local/bin/air-q-data.sh", line 45, in <module> msg['content'] = json.loads(decodeMessage(msg['content'])) File "/usr/local/bin/air-q-data.sh", line 33, in decodeMessage return unpad(cipher.decrypt(msg[16:]).decode('utf-8')) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 3: invalid continuation byte
Es werden keine Daten angezeigt, s. Screenshot. Der Air-Q läuft im lokalen Netzwerk und in der Cloud, in der Android App werden Daten angezeigt.
Viele Grüße
-
Ergänzend noch die openhab.log
2020-07-20 17:10:29.585 [WARN ] [ng.exec.internal.handler.ExecHandler] - Couldn't transform response because transformationService of type 'REGEX' is unavailable 2020-07-20 17:10:34.442 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert 'Traceback (most recent call last): File "/usr/local/bin/airq-data.sh", line 45, in <module> msg['content'] = json.loads(decodeMessage(msg['content'])) File "/usr/local/bin/airq-data.sh", line 33, in decodeMessage return unpad(cipher.decrypt(msg[16:]).decode('utf-8')) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte Traceback (most recent call last): File "/usr/local/bin/airq-data.sh", line 45, in <module> msg['content'] = json.loads(decodeMessage(msg['content'])) File "/usr/local/bin/airq-data.sh", line 33, in decodeMessage return unpad(cipher.decrypt(msg[16:]).decode('utf-8')) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte' to a state type which item 'AirQ_Timestamp' accepts: [DateTimeType, UnDefType]. 2020-07-20 17:10:34.467 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert 'Traceback (most recent call last): File "/usr/local/bin/airq-data.sh", line 45, in <module> msg['content'] = json.loads(decodeMessage(msg['content'])) File "/usr/local/bin/airq-data.sh", line 33, in decodeMessage return unpad(cipher.decrypt(msg[16:]).decode('utf-8')) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte Traceback (most recent call last): File "/usr/local/bin/airq-data.sh", line 45, in <module> msg['content'] = json.loads(decodeMessage(msg['content'])) File "/usr/local/bin/airq-data.sh", line 33, in decodeMessage return unpad(cipher.decrypt(msg[16:]).decode('utf-8')) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte' to a state type which item 'AirQ_aktZeit' accepts: [DecimalType, QuantityType, UnDefType]. 2020-07-20 17:10:34.487 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Air-Q meldet neue Werte': For input string: "Traceback (most recent call last): File "/usr/local/bin/airq-data.sh", line 45, in <module> msg['content'] = json.loads(decodeMessage(msg['content'])) File "/usr/local/bin/airq-data.sh", line 33, in decodeMessage return unpad(cipher.decrypt(msg[16:]).decode('utf-8')) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte Traceback (most recent call last): File "/usr/local/bin/airq-data.sh", line 45, in <module> msg['content'] = json.loads(decodeMessage(msg['content'])) File "/usr/local/bin/airq-data.sh", line 33, in decodeMessage return unpad(cipher.decrypt(msg[16:]).decode('utf-8')) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte"
-
@jheiler Ich habe Wolfgang einmal kontaktiert. Er ist nicht hier im Forum bisher.
Wir haben selbst leider im Moment kein openHAB System zum Testen.
@Daniel-air-Q hat die Smart Home Integrationen aber auf dem Schirm. Wir kümmern uns noch intensiv darum. Im Moment ist die Auslastung wg Bugfixing an anderen Stellen noch recht groß. -
@Aurelio Wie weit bist Du gekommen?
-
Hallo jheiler,
ist in Deinem air-q-data.sh der Header korrekt definiert für die UTF-8-Codierung ?
#!/usr/bin/python #-*- coding:utf-8 -*-
Grüße
Wolfgang -
Hallo,
ich habe alles so implementiert, wie es im 3.Post angegeben ist. EXEC und JSONPATH laufen. Der Hinweis auf REGEX ist nicht plausibel, da die Transformation doch mit JSONPATH erfolgen soll.
Viele Grüße
-
Ich habe alles noch einmal installiert, in der Beispieldokumentation für Things ist ein Tipfehler, ich hatte noch einen weiteren produziert (vermutlich Editor-Problem). Ergebnis: der REGEX-Fehler ist immer noch da, aber ich habe Daten.
Vielen Dank noch einmal an den Autor.