Neues Modul: EQ3 Bluetooth Thermostat (10_EQ3BT)

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

Vorheriges Thema - Nächstes Thema

dominik

Hier das Update um mehrere Bluetooth Sticks zu verwenden. Habe nun 2 Sticks am Laufen die 90 Grad zueinander positioniert sind. Die Fehlerrate ist damit bei mir ziemlich stark nach unten gegangen.

Es ist keine Konfiguration notwendig, das Modul nutzt automatisch den "besseren" Stick und schaltet um wenn der "bessere" doch nicht funktioniert. Bitte unbedingt "shutdown restart" nach dem Update machen.

v1.1.5 - 20161226
- FEATURE: use all available bluetooth interfaces to communicate
            with the bluetooth thermostat
- FEATURE: new reading bluetoothDevice
- CHANGE:  change maximum retries to 20
- FEATURE: new set function resetErrorCounters
- FEATURE: new set function resetConsumption

Gebt mir bitte Bescheid ob es bei euch läuft, dann spiel ich das die nächsten Tage ins Repository.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Kawaci

Hab da mal ne frage! Bist du schon draufgekommen wie man wochenpläne einspielt oder ausliest?

dominik

Zitat von: Kawaci am 02 Januar 2017, 11:18:31
Hab da mal ne frage! Bist du schon draufgekommen wie man wochenpläne einspielt oder ausliest?
Ja, die Schnittstelle ist mir bekannt. Bin mir aber nicht sicher, ob das ein sehr gefragtes Feature für FHEM ist? Ich mach meine Wochenpläne alle direkt mit DOIF.

Habe mich auch gefragt wie man die Daten dann schön in FHEM darstellen/ändern soll...
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Kawaci

Ok! Ich habs mit dem iphone eingerichtet und der wochen plan ist am thermostat direkt gespeichtert! Nur jetzt nach nem ios update hab ich alles wieder verloren! Eq3 hab ich dieses problem eh schon gemeldet! Darum bin ich auf die idee mit fhem gekommen! Weis auch nicht ob das viel genutzt wird! Aber danke für die rasche antwort!

Tomatenjoghurt

Zitat von: dominik am 02 Januar 2017, 11:31:10
Ja, die Schnittstelle ist mir bekannt. Bin mir aber nicht sicher, ob das ein sehr gefragtes Feature für FHEM ist? Ich mach meine Wochenpläne alle direkt mit DOIF.

Habe mich auch gefragt wie man die Daten dann schön in FHEM darstellen/ändern soll...

Hi!
Erstmal danke...ich lese schon eine Weile mit und nutze dieses hier Modul auch schon seit einiger Zeit - bin bisher sehr begeistert! Eine sehr schöne Low-Budget-Variante für kleinere Wohnungen!
Zuerst wollte ich zur Steuerung eines Wochenheizplans das Modul Heating Control nehmen. Das Modul hat aber irgendwie nichts getan und in den Logs stand immer irgendwas bzgl "Unknown Argument" (bin grad auf Arbeit, kanns grad nicht genau nennen). Mir fiel dabei auf, dass Heating Control nicht das Argument "desiredTemperature", sondern "desiredTemerature" (ohne "p") nutzt:
set <device> (desired-temp|desiredTemerature) <temp>
So stehts zumindest im wiki - und das würde meinen Fehler erklären.
Ich weiß jetzt nicht, ob das ein Bug oder ein Feature ist - evtl kann sich das ja jemand, der schon länger als ich (4 Wochen) mit fhem zutun hat einmal anschauen.  ;) ;D
Ich habe meine Steuerung jetzt auch über DOIFS gelöst - da brauche ich aber für ein Thermostat minimum 3 DOIFs, mit Heating Control sollte das in einer Anweisung gehen. Aber läuft erstmal :D

Viele Grüße,
Tomatenjoghurt

raspian

Ja erstmal vielen Dank an dominik für dieses wichtige Modul! Klasse!

Ich möchte aber auf etwas hinweisen, was mir im Zusammenhang mit Raspberry Pi 3 und FHEM aufgefallen ist. Und zwar kommen sich das Onboard Bluetooth auf dem Raspi Pi 3 und FHEM irgendwie beim Hochbooten ins Gehege ... Solange ich FHEM nicht installiere, klappt Bluetooth (bluetoothctl), installiere ich FHEM wird der Bluetooth-Adapter nach einem Reboot nicht mehr gefunden. Fand das irgendwie rätselhaft.

Ich bin dann zufällig auf diesen WIKI-Eintrag gestossen: https://wiki.fhem.de/wiki/Raspberry_Pi_3:_GPIO-Port_Module_und_Bluetooth

Habe dann wie in Schritt 7 eine Verzögerung für den FHEM-Start eingebaut und siehe da: Keine Probleme mehr. Vielleicht nützt der Tip dem einen oder anderen, welcher das gleiche Phänomen festgestellt hat.

cotecmania

#51
Hallo,

mein Thermostat setzt sich immer wieder selbsständig auf 18.5 Grad zurück.

Im Beispiel unten habe ich aus FHEM 23 Grad vorgegeben. Das wurde auch eingestellt und auch die Ventilstellung hat sich angepasst.
2 Minuten später waren wieder die 18.5 gesetzt ...


2017.01.03 12:37:21 5: EQ3BT (HK_WC_EG): gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=412E 2>&1
2017.01.03 12:37:27 4: EQ3BT (HK_WC_EG): gatttool result: Characteristic value was written successfully
2017.01.03 12:37:27 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|ok|setDesiredTemperature|0x0411|412E
2017.01.03 12:37:56 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C25 --listen 2>&1
2017.01.03 12:38:01 4: EQ3BT (HK_WC_EG): gatttool result:
2017.01.03 12:38:01 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|error|updateStatus|0x0411|031101030C25|updateStatus failed
2017.01.03 12:38:01 4: EQ3BT (HK_WC_EG): updateStatus failed (0x0411, 031101030C25, updateStatus failed)
2017.01.03 12:38:07 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C26 --listen 2>&1
2017.01.03 12:38:12 4: EQ3BT (HK_WC_EG): gatttool result:
2017.01.03 12:38:12 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|error|updateStatus|0x0411|031101030C26|updateStatus failed
2017.01.03 12:38:12 4: EQ3BT (HK_WC_EG): updateStatus failed (0x0411, 031101030C26, updateStatus failed)
2017.01.03 12:38:17 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C26 --listen 2>&1
2017.01.03 12:38:22 4: EQ3BT (HK_WC_EG): gatttool result: Characteristic value was written successfully,Notification handle = 0x0421 value: 02 01 09 23 04 2e
2017.01.03 12:38:22 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|ok|updateStatus|0x0411|031101030C26|02 01 09 23 04 2e
2017.01.03 12:40:37 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C28 --listen 2>&1
2017.01.03 12:40:42 4: EQ3BT (HK_WC_EG): gatttool result: Characteristic value was written successfully,Notification handle = 0x0421 value: 02 01 09 0d 04 25
2017.01.03 12:40:42 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|ok|updateStatus|0x0411|031101030C28|02 01 09 0d 04 25


Internals:
   DEF        00:1A:22:07:4A:DB
   MAC        00:1A:22:07:4A:DB
   NAME       HK_WC_EG
   NR         880
   STATE      initialized
   TYPE       EQ3BT
   Readings:
     2017-01-03 12:43:59   battery         ok
     2017-01-03 12:43:59   boost           0
     2017-01-03 12:43:59   consumption     21855.737
     2017-01-03 12:43:59   consumptionToday 428.943
     2017-01-03 00:02:13   consumptionYesterday 447.202
     2017-01-03 12:43:59   desiredTemperature 18.5
     2017-01-03 12:43:59   ecoMode         0
     2016-12-12 13:30:08   error
     2017-01-03 04:11:20   errorCount-updateStatus 4094
     2017-01-03 12:35:23   firmware        106
     2017-01-03 12:43:59   mode            Manual
     2017-01-03 12:43:59   valvePosition   13
     2017-01-03 12:43:59   windowOpen      0
   Helper:
     handlesetDesiredTemperature 0x0411
     handleupdateStatus 0x0411
     handleupdateSystemInformation 0x0411
     listensetDesiredTemperature
     listenupdateStatus 02 01 09 0d 04 25
     listenupdateSystemInformation 01 6a 00 00 7d 75 81 61 63 67 68 65 63 66 99
     retryCountersetDesiredTemperature 0
     retryCounterupdateStatus 0
     retryCounterupdateSystemInformation 0
     valuesetDesiredTemperature 412E
     valueupdateStatus 031101030C2B
     valueupdateSystemInformation 00
     Running_pid:
       abortFn    EQ3BT_killGatttool
       arg        HK_WC_EG|00:1A:22:07:4A:DB|updateStatus|0x0411|03|listen
       bc_pid     91
       finishFn   EQ3BT_processGatttoolResult
       fn         EQ3BT_execGatttool
       pid        DEAD:16773
       terminated 1
       timeout    300
       Abortarg:
Attributes:
   room       Heizung
   verbose    5



PS: Könntest Du die Versionsnummer im Modul noch anzeigen. Ich benutze noch die Vorgängerversion ... zumindest nicht die 1.1.5 von oben

Gruss
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

cotecmania

das wiederholt sich wohl zyklisch ...

2017.01.03 12:43:33 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C2B --listen 2>&1
2017.01.03 12:43:38 4: EQ3BT (HK_WC_EG): gatttool result:
2017.01.03 12:43:38 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|error|updateStatus|0x0411|031101030C2B|updateStatus failed
2017.01.03 12:43:38 4: EQ3BT (HK_WC_EG): updateStatus failed (0x0411, 031101030C2B, updateStatus failed)
2017.01.03 12:43:44 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C2B --listen 2>&1
2017.01.03 12:43:49 4: EQ3BT (HK_WC_EG): gatttool result:
2017.01.03 12:43:49 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|error|updateStatus|0x0411|031101030C2B|updateStatus failed
2017.01.03 12:43:49 4: EQ3BT (HK_WC_EG): updateStatus failed (0x0411, 031101030C2B, updateStatus failed)
2017.01.03 12:43:54 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C2B --listen 2>&1
2017.01.03 12:43:59 4: EQ3BT (HK_WC_EG): gatttool result: Characteristic value was written successfully,Notification handle = 0x0421 value: 02 01 09 0d 04 25
2017.01.03 12:43:59 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|ok|updateStatus|0x0411|031101030C2B|02 01 09 0d 04 25
2017.01.03 12:46:17 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C2E --listen 2>&1
2017.01.03 12:46:22 4: EQ3BT (HK_WC_EG): gatttool result:
2017.01.03 12:46:22 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|error|updateStatus|0x0411|031101030C2E|updateStatus failed
2017.01.03 12:46:22 4: EQ3BT (HK_WC_EG): updateStatus failed (0x0411, 031101030C2E, updateStatus failed)
2017.01.03 12:46:28 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C2E --listen 2>&1
2017.01.03 12:46:33 4: EQ3BT (HK_WC_EG): gatttool result: Characteristic value was written successfully,Notification handle = 0x0421 value: 02 01 09 0d 04 25
2017.01.03 12:46:33 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|ok|updateStatus|0x0411|031101030C2E|02 01 09 0d 04 25
2017.01.03 12:49:01 5: EQ3BT (HK_WC_EG): timeout 5 gatttool -b 00:1A:22:07:4A:DB --char-write-req --handle=0x0411 --value=031101030C31 --listen 2>&1
2017.01.03 12:49:06 4: EQ3BT (HK_WC_EG): gatttool result: Characteristic value was written successfully,Notification handle = 0x0421 value: 02 01 09 0d 04 25
2017.01.03 12:49:06 5: EQ3BT (HK_WC_EG): gatttool return string: HK_WC_EG|00:1A:22:07:4A:DB|ok|updateStatus|0x0411|031101030C31|02 01 09 0d 04 25
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

dominik

@Tomatenjoghurt, lt. Wiki sollte das Modul aber desiredTemperature nutzen. Ich verwende zum Steuern der Heizung ausschließlich DOIF, da ich jeden Heizkörper auch abhängig von:
- Anwesenheit (ebenfalls Bluetooth)
- Bewegung
- Änderung am Thermostat selbst
- Wecker
- usw.
steuere. Jeder Heizkörper hat daher ein eigenes DOIF mit seiner eigenen Steuerung.

@raspbian, ich habe nur einen RPi2 und 2 CSR BT Module in Verwendung. Danke für den Hinweis mit dem Sleep. Im Modul selbst kann ich da aber leider nichts dazu beitragen.

@cotecmania, lt. deinem Log gibt es nur ein "setDesiredTemperature" und das stellt die Temperatur erfolgreich auf 23 Grad. Die restlichen "updateStatus" Meldungen fragen den Thermostatstatus ab und setzen die Uhrzeit, nicht jedoch die Temperatur. Du kannst gerne noch ein Log posten wo du mir genau die Uhrzeit rein schreibst um welche Uhrzeit (sekundengenau) das Thermostat auf 18,5Grad geht.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Tomatenjoghurt

#54
@dominik: Ja, ich kann it den DOIFs auch leben. Mich wundert eben nur, dass Heating_Control mit dem folgenden Logeintrag aussteigt:
2017.01.02 20:00:00 3: Unknown argument 22.0, choose one of desiredTemperature:slider,4.5,0.5,29.5,1 updateStatus:noArg boost:on,off mode:manual,automatic eco:noArg comfort:noArg

@cotecmania: Hast du dein Thermostat noch auf "automatic"-Betrieb? Evtl springt er in eine über Bluetooth konfigurierte Temperaturvorgabe. Ich hab meine Thermostate im "manual" Betrieb.

Viele Grüße,
Tomatenjoghurt

dominik

@Tomatenjoghurt, hab mir das HCS Modul mal genauer angesehen. Ich glaub, da müsste EQ3BT mit aufgenommen werden damit es funktioniert. Ansonsten ruft der "set name 22.0" auf was nicht funktioniert. Du kannst den Author von HCS mal schreiben, dass EQ3BT desiredTemperature unterstützt, dann kann der das sicher schnell mit aufnehmen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

cotecmania

Manual-Mode war eingestellt.
Ich habe gestern abend noch einen firmware-Update per Handy gemacht, seitdem hält das Thermostat die eingestellte Temperatur !
Allerdings wird im Modul immer noch Firmware : 106 angezeigt, wie vorher auch  ???
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

jensenbln

Hallo,

ich hab das Thermostat wunderbar in FHEM einbinden können (DANKE an die Entwicklung)
Habe es soweit auch an homebridge anbinden können mit:

attr Wohnzimmer homebridgeMapping TargetTemperature=desiredTemperature,minValue=15,maxValue=30,minStep=0.5

bekomme ich die Temperatur auch eingestellt.

Aber wie kann ich mir die aktuelle Temperatur in Home auf iOS auch anzeigen lassen.
Sobald ich

CurrentTemperature=desiredTemperature

hinten dran füge antwortet das Gerät nicht mehr in Home auf iOS.


Danke für sachdienliche Hinweise ;-)

Gruss
Jens


dominik

Leider bekommt man die Temperatur aus dem Thermostat nicht ausgelesen. Gerne per Kontaktformular mal bei eq-3 anfragen ob die nicht die aktuelle Temperatur in die App mit aufnehmen wollen. Dann könnte ich das auch in FHEM mit aufnehmen :)
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

jensenbln

die zuverlässigkeit der übertragung ist jedoch noch nicht so perferkt. ich habe viele error counts und die werte für temperatur werden nicht richtig übernommen.
woran kann das denn noch liegen?