[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer

Begonnen von CoolTux, 11 Januar 2018, 15:42:45

Vorheriges Thema - Nächstes Thema

Gunther

Ahh, verstehe. Ich muss mich quasi in China "befinden" um updaten zu können, richtig?
Falls Du mit dem Iphone unterwegs bist: Mit welcher App arbeitest Du?

Bei den Geräten für 12 Euro +: Hier kann ich normal in Europa updaten? Das ist der einzige Unterschied?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Gunther

FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

MadMax-FHEM

(Noch mal) die Frage, weil es grad um Updates geht:

bringen die Updates (neuere Versionen) deutliche Vorteile!?

Ich laufe mit meinen immer noch auf 2.6.2 (6 Stck.) bzw. 2.7.0 (3 Stck.) und bin eigentlich zufrieden.

Habe mir kürzlich noch 2 bestellt, mal sehen was die für FW-Version(en) haben...
...und mal sehen, ob ich einen Unterschied feststelle...

An dieser Stelle (noch mal): vielen Dank für die Einbindung in fhem / das Modul!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

skyline

Hallo CoolTux,

könnte man nicht noch ein Timer-Attribut und Schleifen-Attribut hinzufügen um das Error-Problem vielleicht etwas mehr in den Griff zu bekommen?
Somit könnten man an der einzelnen Sensoren unterschiedlich tunen.

Hier gibt es auch für den Hygrotermograph ein Modul für homebridge:
https://github.com/hannseman/homebridge-mi-hygrothermograph



CoolTux

Zitat von: skyline am 01 Oktober 2018, 10:32:32
Hallo CoolTux,

könnte man nicht noch ein Timer-Attribut und Schleifen-Attribut hinzufügen um das Error-Problem vielleicht etwas mehr in den Griff zu bekommen?
Somit könnten man an der einzelnen Sensoren unterschiedlich tunen.

Hier gibt es auch für den Hygrotermograph ein Modul für homebridge:
https://github.com/hannseman/homebridge-mi-hygrothermograph

Kann man sicherlich machen. Persönlich werde ich aber die nächsten Monate eher nicht dazu kommen.
Nehme aber sehr gerne getestete Patches an.

Ich dachte eigentlich wir unterstützen dieses Hygrotermograph bereits. Jedenfalls haben wir so ein Device in unserer Liste. Ist das ein anderes?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

stoxx

ZitatIch dachte eigentlich wir unterstützen dieses Hygrotermograph bereits. Jedenfalls haben wir so ein Device in unserer Liste. Ist das ein anderes?
Es ist genau das und das Modul unterstützt es perfekt. Ich habe bereits drei davon angebunden - ohne Probleme.
vg stoxx
FHEM 5.8 auf Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave ..

skyline

Es wird ja auch vom Modul gut unterstützt.

Nur tauchen hin und zu Errors auf.

Das wird auch sicher mit der Reichweite zusammen hängen, aber oft geht und dann mal wieder nicht.

Da ich die Sensoren für den PID20 nehme, würde ich mir schon etwas mehr Stabilität wünschen.

Das Modul ist schon echt super!!!

CoolTux

Zitat von: skyline am 02 Oktober 2018, 13:14:31
Es wird ja auch vom Modul gut unterstützt.

Nur tauchen hin und zu Errors auf.

Das wird auch sicher mit der Reichweite zusammen hängen, aber oft geht und dann mal wieder nicht.

Da ich die Sensoren für den PID20 nehme, würde ich mir schon etwas mehr Stabilität wünschen.

Das Modul ist schon echt super!!!

Es wird doch im state des Devices error geschrieben wenn es Probleme gab. Du kannst gerne ein Notify darauf ansetzen und einfach das holen der Daten noch einmal anstoßen. Solltest aber einen Zähler einbauen das nach 3-4 mal nichts mehr weiter gemacht wird.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

smurphy

Hallo Liebe Gemeinde,

ich hoffe, meine Frage so zu stellen, wie es sich gehört. Ich habe natürlich vorher auch die Suchfunktion benutzt, jedoch konnte ich keine Lösungsansätze für mich adaptieren.

Was ich gemacht habe:
Ich habe ein Temperatur/Luftfeichtigskeits-Sensor von Xiaomi über das Modul XiaomiBTLESens eingebunden.

define xiaomi1 XiaomiBTLESens xx:xx:xx:d8:ae:ef

Ich erhalte folgende Readings:
Readings
batteryPercent
76
batteryState
ok
firmware
00.00.66
humidity
=7.6
state
T: 14.9 H: =7.4
temperature
14.9

Leider komme ich mit = bei der Luftfeuchtigkeit nicht klar. die Graphen funktionieren damit einfach nicht und die dewpoint Berechnung auch nicht.

Im Logfile erscheint folgende Fehlermeldung:
2018.10.03 16:22:06 1: Error dewpoint: humidity invalid: 0
2018.10.03 16:25:46 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 113) line 1.
2018.10.03 16:25:46 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }

Komischerweise scheinen beim Neustart des Raspberry die ersten Werte ohne das blöde = übermittelt zu werden.
Siehe Logfile:

2018-10-03_16:26:03 xiaomi1 batteryPercent: 76
2018-10-03_16:26:03 xiaomi1 T: 0 H: 0
2018-10-03_16:26:03 xiaomi1 write sensor data
2018-10-03_16:26:13 xiaomi1 T: 15.1 H: 47.7 D: 4.1
2018-10-03_16:28:16 xiaomi1 write sensor data
2018-10-03_16:28:29 xiaomi1 T: 15.0 H: 11.9 D: -14.3
2018-10-03_16:31:14 xiaomi1 write sensor data
2018-10-03_16:31:24 xiaomi1 T: 14.9 H: =9.4
2018-10-03_16:37:00 xiaomi1 write sensor data
2018-10-03_16:37:10 xiaomi1 T: 15.0 H: =8.0
2018-10-03_16:41:55 xiaomi1 write sensor data


Kann mir jemand helfen?
Vielen Dank und Gruß

CoolTux

Zitat von: smurphy am 03 Oktober 2018, 17:06:56
Hallo Liebe Gemeinde,

ich hoffe, meine Frage so zu stellen, wie es sich gehört. Ich habe natürlich vorher auch die Suchfunktion benutzt, jedoch konnte ich keine Lösungsansätze für mich adaptieren.

Was ich gemacht habe:
Ich habe ein Temperatur/Luftfeichtigskeits-Sensor von Xiaomi über das Modul XiaomiBTLESens eingebunden.

define xiaomi1 XiaomiBTLESens xx:xx:xx:d8:ae:ef

Ich erhalte folgende Readings:
Readings
batteryPercent
76
batteryState
ok
firmware
00.00.66
humidity
=7.6
state
T: 14.9 H: =7.4
temperature
14.9

Leider komme ich mit = bei der Luftfeuchtigkeit nicht klar. die Graphen funktionieren damit einfach nicht und die dewpoint Berechnung auch nicht.

Im Logfile erscheint folgende Fehlermeldung:
2018.10.03 16:22:06 1: Error dewpoint: humidity invalid: 0
2018.10.03 16:25:46 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at (eval 113) line 1.
2018.10.03 16:25:46 3: eval: { "Xiaomi Humidity Min $data{min2}, Max $data{max2}, Last $data{currval2}, Taupunkt $data{currval3}" }

Komischerweise scheinen beim Neustart des Raspberry die ersten Werte ohne das blöde = übermittelt zu werden.
Siehe Logfile:

2018-10-03_16:26:03 xiaomi1 batteryPercent: 76
2018-10-03_16:26:03 xiaomi1 T: 0 H: 0
2018-10-03_16:26:03 xiaomi1 write sensor data
2018-10-03_16:26:13 xiaomi1 T: 15.1 H: 47.7 D: 4.1
2018-10-03_16:28:16 xiaomi1 write sensor data
2018-10-03_16:28:29 xiaomi1 T: 15.0 H: 11.9 D: -14.3
2018-10-03_16:31:14 xiaomi1 write sensor data
2018-10-03_16:31:24 xiaomi1 T: 14.9 H: =9.4
2018-10-03_16:37:00 xiaomi1 write sensor data
2018-10-03_16:37:10 xiaomi1 T: 15.0 H: =8.0
2018-10-03_16:41:55 xiaomi1 write sensor data


Kann mir jemand helfen?
Vielen Dank und Gruß

Interessant, haben andere mit diesem Gerät selbiges Reading? Kann mir gerade nicht erklären wo das = herkommen soll.

@smurphy was Dein Problem an geht. Entweder userReading mit ReadingsNum und dann das userReading loggen oder im SVG mit split arbeiten.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

smurphy

Danke Cooltux,

Die Variante mit Split hört sich für mich erstmal unkomplizierter an.
Ich schau mal ob ich dazu irgendwo Beispiele finde.

Mir sagt das mit dem Split leider nichts.

Für ein Beispiel, wie man das einsetzt wäre ich echt dankbar.

Gruß
Martin

....ah ja ... es ist so trocken bei mir in der Trockenbox

smurphy

Für alle, die auch auf dieses Problem gestossen sind.
Hier die Lösung, die ich von Cooltux erhalten habe.

Funktioniert prima

attr xiaomi1 userReadings Luftfeuchte:humidity:.* { ReadingsNum($name,"humidity",0) }

CoolTux

Du könntest bitte bei Gelegenheit das Teil mal auf verbose 5 stellen, also direkt am FHEM Device und mir den Auszug aus dem Log hier in Codetags einstellen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

smurphy

Zitat von: CoolTux am 03 Oktober 2018, 21:04:38
Du könntest bitte bei Gelegenheit das Teil mal auf verbose 5 stellen, also direkt am FHEM Device und mir den Auszug aus dem Log hier in Codetags einstellen.

Nichts lieber als das...

Habe Dir einen Kaffee spendiert für die Hilfe  :D

2018.10.03 21:21:26 4: XiaomiBTLESens (xiaomi1) - Run CreateParamGatttool with mod: write
2018.10.03 21:21:26 5: XiaomiBTLESens (xiaomi1) - Write XiaomiBTLESens_ExecGatttool_Run xiaomi1|4c:65:a8:d8:ae:ef|write|0x10|0100
2018.10.03 21:21:26 5: XiaomiBTLESens (xiaomi1) - ExecGatttool_Run: call gatttool with command: timeout 10 gatttool -i hci0 -b 4c:65:a8:d8:ae:ef --char-write-req -a 0x10 -n 0100 --listen 2>&1 /dev/null and loop 0
2018.10.03 21:21:36 5: XiaomiBTLESens (xiaomi1) - ExecGatttool_Run: gatttool loop result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 31 00
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 30 00
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 31 00

2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - ExecGatttool_Run: gatttool result Characteristic value was written successfully
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 31 00
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 30 00
Notification handle = 0x000e value,54 3d 31 34 2e 37 20 48 3d 36 2e 31 00

2018.10.03 21:21:36 5: XiaomiBTLESens (xiaomi1) - ExecGatttool_Done: gatttool return string: xiaomi1|4c:65:a8:d8:ae:ef|ok|write|0x10|{"gtResult":"54 3d 31 34 2e 37 20 48 3d 36 2e 31 00 "}
2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - ProcessingNotification
2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - ProcessingNotification: handle 0x10
2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - Thermo/Hygro Sens Handle0x10
2018.10.03 21:21:36 4: XiaomiBTLESens (xiaomi1) - WriteReadings: Readings were written