Neues Modul: EQ3 Bluetooth Thermostat (10_EQ3BT)

Begonnen von dominik, 12 November 2016, 11:45:15

Vorheriges Thema - Nächstes Thema

dominik

Kindersicherung / Childlock gerade implementiert und eingecheckt. Ist also morgen per Update verfügbar.

Gruß
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Master_Nick

Klasse!  Danke 8)
Hast du die Änderungen von CoolTux auch mit rein genommen? :)
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

dominik

Nein, sind die schon final? Wenn ja, dann bitte um kurze Info welche Anpassung ich reinnehmen soll. Danke.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

CoolTux

Muss erst noch getestet werden. Bitte noch nicht.
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

Master_Nick

#259
Okay :-) Stimmt auch wieder - war auch eher die Frage für mich, ob ich dann morgen schauen muss das ich es wieder zusammen bastel mit den Änderungen.
Was genau soll denn wie getestet haben - da kann ich ja aktiv werden.

Ein Thermostat läuft wie ein Traum das andere hat irgendwie öfter mal  Probleme einen den Notify String zu senden oder er wird nicht empfangen - das gatttool lebt dann ungewöhnlich lange - länger als 15 Sekunden. Dies blockiert dann jede Handlung auf dem einen Thermostat.

Generell gibt es aber keinerlei Vermehrung der gatttool Instanzen mehr.

Zitat2018.02.24 18:48:02 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:03 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:04 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:04 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:04 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:05 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:06 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:06 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:07 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:07 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:07 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:08 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:09 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:09 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:10 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:10 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:10 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:12 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:12 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:12 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:13 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:14 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:14 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:15 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:15 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:15 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:17 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:17 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:17 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:18 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:19 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:19 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:20 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:20 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:20 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:22 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:22 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:22 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:26 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:27 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:27 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:29 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:29 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:29 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:33 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:33 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:33 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:37 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:37 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:37 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:38 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:39 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
2018.02.24 18:48:39 3: EQ3BT (Wohnzimmer_Thermostat) - ExecGatttool_Run: another gatttool process is running. waiting...
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

CoolTux

Bekommst Du die Probleme beim schalten oder nur bei der abfrage? Stell mal verbose auf 5 bei dem Thermostat und schalte mal was.
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

Master_Nick

#261
;-) Hehe war noch am anreichern mit Information dabei:

Also der langläufer ist das hier (stammt nun vom dem Pi das der SSH Host ist):

pi@TouchPi3:~ $ sudo ps -ax | grep -E gatttool -b
7005:16915 ?        Ss     0:00 bash -c gatttool -i hci0 -b XX:XX:XX:XX:XX:XX--char-write-req -a 0x0411 -n 4126 --listen 2>&1 /dev/null
7137:16916 ?        S      0:00 gatttool -i hci0 -b XX:XX:XX:XX:XX:XX--char-write-req -a 0x0411 -n 4126 --listen /dev/null
7869:25137 pts/0    S+     0:00 grep --color=auto -E gatttool -b


Aus meiner Sicht ist es ein Statusupdate das sich ohne Timeout aber mit listen auf den Weg macht. Letzte Stelle 6 ist ja Samstag.
Das obere also die "ExecGatttool_Run: another gatttool process is running. waiting..." kommt wenn der Langläufer da ist und ich was schalten will - exakt.
Nur der Langläufer dürfte ja ohne Timeout gar nicht unterwegs sein - so wie ich das verstehe.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

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

Master_Nick

#263
Kein Thema hatte es den ganzen Tag auf verbose 5. ;D

Hab es mal als Datei gemacht wegen der Menge..... man sieht ziemlich gut wann es los geht.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

CoolTux

Hier ist was schief gelaufen beim Wohnzimmer
2018.02.24 18:35:13 5: EQ3BT (Wohnzimmer_Thermostat): ssh TouchPi3 'gatttool -i hci0 -b XX:XX:XX:XX:XX:XX --char-write-req -a 0x0411 -n 4501 --listen 2>&1 /dev/null'

er startet ohne timeout aber dafür mit ssh und --listen. Kein wunder das der hängen bleibt.
Gibst du bitte mal ein list beider Thermostate
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

Master_Nick

#265
Jo :-) sagte ich ja warum auch immer geht einer ohne Timeout los.

Wohnzimmer:

Internals:
   CFGFN     
   DEF        XX:XX:XX:XX:XX:XX TouchPi3
   MAC        XX:XX:XX:XX:XX:XX
   NAME       Wohnzimmer_Thermostat
   NR         141
   STATE      Gewünschte Temperatur: 17.0 Fenster auf/zu: 0 Eco: 0 Boost: 1
   TYPE       EQ3BT
   VERSION    2.0.3
   READINGS:
     2018-02-24 15:33:17   battery         ok
     2018-02-24 20:52:58   bluetoothDevice hci0
     2018-02-24 19:22:18   boost           1
     2018-02-24 19:01:51   consumption     8.345
     2018-02-24 19:01:51   consumptionToday 8.345
     2018-02-24 16:48:00   desiredTemperature 17.0
     2018-02-24 15:33:17   ecoMode         0
     2018-02-24 20:52:57   errorCount-updateStatus 16
     2018-02-24 19:07:47   firmware        110
     2018-02-24 19:22:18   lastChangeBy    FHEM
     2018-02-24 15:33:17   mode            Manual
     2018-02-24 19:22:11   valvePosition   0
     2018-02-24 15:33:16   windowOpen      0
   helper:
     currenthcidevice 0
     handlesetBoost 0x0411
     handlesetDesiredTemperature 0x0411
     handleupdateStatus 0x0411
     handleupdateSystemInformation 0x0411
     listensetBoost
     listensetDesiredTemperature setDesiredTemperature failed
     listenupdateStatus updateStatus failed
     listenupdateSystemInformation 01 6e 00 00 7f 75 81 61 67 65 65 60 67 64 93
     retryCounterHci0 7
     retryCountersetBoost 0
     retryCountersetDesiredTemperature 1
     retryCounterupdateStatus 7
     retryCounterupdateSystemInformation 0
     retryUpdateStatusCounter 0
     valuesetBoost 4501
     valuesetDesiredTemperature 4126
     valueupdateStatus 031202181435
     valueupdateSystemInformation 00
     RUNNING_PID:
       abortFn    EQ3BT_updateStatusFailed
       arg        Wohnzimmer_Thermostat|XX:XX:XX:XX:XX:XX|updateStatus|0x0411|03|listen
       bc_pid     560
       finishFn   EQ3BT_processGatttoolResult
       fn         EQ3BT_execGatttool
       pid        23859
       telnet     telnetForBlockingFn_1519495619_127.0.0.1_46504
       timeout    300
       abortArg:
     hcidevices:
       0
Attributes:
   group      Heizung
   icon       sani_heating
   room       Messungen,Wohnzimmer
   sshHost    TouchPi3
   stateFormat Gewünschte Temperatur: desiredTemperature Fenster auf/zu: windowOpen Eco: ecoMode Boost: boost



Arbeitszimmer:
Internals:
   CFGFN     
   DEF        XX:XX:XX:XX:XX:XX TouchPi3
   MAC        XX:XX:XX:XX:XX:XX
   NAME       Arbeitszimmer_Thermostat
   NR         140
   STATE      Gewünschte Temperatur: 20.0 Fenster auf/zu: 0 Eco: 0 Boost: 0
   TYPE       EQ3BT
   VERSION    2.0.3
   READINGS:
     2018-02-24 15:08:25   battery         ok
     2018-02-24 19:06:58   bluetoothDevice hci0
     2018-02-24 20:28:27   boost           0
     2018-02-24 20:28:27   consumption     25.307
     2018-02-24 20:28:27   consumptionToday 25.307
     2018-02-24 20:19:50   desiredTemperature 20.0
     2018-02-24 15:08:25   ecoMode         0
     2018-02-24 19:07:34   firmware        110
     2018-02-24 20:28:27   lastChangeBy    Thermostat
     2018-02-24 15:08:25   mode            Manual
     2018-02-24 20:55:11   valvePosition   0
     2018-02-24 15:08:25   windowOpen      0
   helper:
     currenthcidevice 0
     handlesetBoost 0x0411
     handlesetDesiredTemperature 0x0411
     handleupdateStatus 0x0411
     handleupdateSystemInformation 0x0411
     listensetBoost
     listensetDesiredTemperature
     listenupdateStatus 02 01 29 00 04 28
     listenupdateSystemInformation 01 6e 00 00 7f 75 81 61 67 65 60 67 60 68 92
     retryCounterHci0 2
     retryCountersetBoost 0
     retryCountersetDesiredTemperature 0
     retryCounterupdateStatus 0
     retryCounterupdateSystemInformation 0
     valuesetBoost 4501
     valuesetDesiredTemperature 4128
     valueupdateStatus 031202181436
     valueupdateSystemInformation 00
     hcidevices:
       0
Attributes:
   group      Heizung
   icon       sani_heating
   room       Arbeitszimmer,Messungen
   sshHost    TouchPi3
   stateFormat Gewünschte Temperatur: desiredTemperature Fenster auf/zu: windowOpen Eco: ecoMode Boost: boost

Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

CoolTux

Ich muß da noch mal schauen im Code. Mache ich aber erst morgen.
Ist das Timeout für den BlockingCall echt 5min, das ist viel zu viel. 90 bis 120s sollten locker reichen.
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

Master_Nick

Wundervoll Childlock läuft sauber!  8) ;D Danke sehr! @dominik

Ich habe jetzt einfach wieder den Sub "EQ3BT_execGatttool($)" von CoolTux eingebaut mit den Änderungen von mir bei Log3 und $hci.

Soweit wundervoll - klar die Geschichte mit dem Langläufer iss noch :-)
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Master_Nick

#268
Bei mir kam es nun insgesamt 2 mal vor, dass ein Thermostat einfach gar nicht mehr ausgelesen werden konnte.
Die Lösung ist hier nicht das Thermostat zurücksetzen, sondern einfach mal:

sudo bluetoothctl
power off
power on


Zu machen.

Es scheint als bräuchte man das "sudo" nicht mal.
Ich denke ich baue mir das irgendwie noch ein ab einem gewissen Errorlevel. Kann aber auch möglich sein, dass das nur durch mein killall gatttool kommt was ich ab und an machen muss um den Langläufer zu killen.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Gasmast3r

Hy wenn mir deine datei sendest kann ich auch mit testen habe hier einige thermostate und ssh Pi's laufen