Neues Modul: EQ3 Bluetooth Thermostat (10_EQ3BT)

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

Vorheriges Thema - Nächstes Thema

Master_Nick

#660
Ah - ok :-D

Witzig! Ja ok dann müssen wir die Aussagen von mir nochmal neu ordnen -> die drehen sich um das Pythonmodul.

Da hatte ich mich auch gewundert, dass ich dich in den issues bei Github oder sonstigem gar nicht sah :-D

Okay verstehe.
Sollten wir dann nicht besser 2 Threads haben - einen für das "native" und einen für die Python Version? :-)

PS: Habe das maxRetries mal in Github angefragt :-)
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

So maxRetries nun drin -> dort ist es im default auf 5 :-)
Da ist das schon nice 2 have.  8)
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.... ;-)

F_Klee

Hallo Leute,
es ist schon seit längerem ruhig hier, vermutlich weil Heizungsthemen im Sommer nicht so aktuell sind. Ich versuche es trotzdem mal.

Ich habe mir zum Testen ein Thermostat besorgt und habe es nach der commandref auch schell zum Laufen gebracht. Allerdings wird hier im Forum über Dinge geredet, die ich bei mir nicht finde, z.B. WindowOpenTemperatur. Dann habe ich gesehen, dass es auch noch zwei unterschiedliche Module gibt.

Jetzt bin ich verwirrt.

Muss ich das Python-Modul installieren? Wie wird das gemacht? Oder werden die Features des Python-Moduls auch noch nach 10_EQ3BT übernommen?

Leider gibt es im Wiki keine Informationen - oder ich bin zu blöd zum suchen. Ich würde, wenn ich meine Thermostate zum Laufen gebracht habe, ein HowTo ins Wiki stellen. Allerdings bräuchte ich dazu erst einmal Input.

Per ssh auf einen anderen RasPi zuzugreifen, um dessen BLE-Empfänger zu nutzen, ist eine feine Sache. Unter welchem User greift EQ3BT auf ssh zu, d.h. für welchen User muss ich das Zerifikat erstellen?

Da der ESP32 ja auch Bluetooth besitzt müsste es doch möglich sein, statt eines RasPi auch einen ESP zu nutzen. Eigentlich muss der ESP die Daten ja nur durchreichen. EQ3BT müsste dann ein weiteres Attribut ESP-BT bekommen. Vielleicht etwas für den nächsten Winter?

Ich hoffe, dass ihr nicht alle in Urlaub seid. Ansonsten einen schönen solchen.

Gruß
Frank

Master_Nick

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.... ;-)

F_Klee

Danke für die schnelle Antwort. Ich habe schon mal kurz drüber geschaut.

Sehe ich das richtig, dass das Perl-Modul nicht mehr weiter entwickelt wird? Dann werde ich mich mal mit fhempy beschäftigen.

Master_Nick

Da kann ich dir nicht viel zu sagen - aber ich bin auch seit langem schon auf dem FHEMPY :-)
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.... ;-)

F_Klee

So, ich war gestern fleißig und habe fhempy zunächst lokal und dann remote in Betrieb genommen. Lob an alle Entwickler. Ging völlig problemlos und auch heute war mein Testventil online. Ich werde demnächst in größerem Maßstab einsteigen.

Interessant fand ich, dass der Peer vom Server erkannt wurde, obwohl er sich in einem anderen Netzwerk befand (VPN-Tunnel). Aber wenn mehr geht als erwartet, freut einen das und man sollte nicht anfangen zu grübeln  :)

Nur nochmal zur Sicherheit: Auf dem Peer müssen die gleichen Python-Pakete installiert werden wie auf dem FHEM-Server. Die Einstellungen in der bluetooth.conf sind ebenfalls die gleichen, mit Ausnahme des Users (pi statt fhem). Wenn das so stimmt würde ich mich an den Wiki-Text machen.

Im Screenshot im Git werden als Reading auch Temperatur und Luftfeuchtigkeit angezeigt. Kann es sein, dass ich ein anderes Thermostat habe, das diese Werte nicht liefert bzw. sie anders geliefert werden, so dass die Software das nicht auswerten kann? Meines nennt sich Model N mit Bluetooth. Ein anderes hatte ich aber auch nicht gefunden.

Es wird an verschiedenen Stellen darauf hingewiesen, dass die Firmware 120 erforderlich ist und auf keinen Fall ein Update gemacht werden darf. Mein Thermostat wurde mit FW120 geliefert. Aber was muss man machen, wenn eine neuere FW schon drauf ist? Ich habe im App-Store bei Apple keine ältere App gefunden, um evtl. über diese herunter zu rüsten.

Noch einmal: Tolle Arbeit!

Gruß
Frank

denis.robel

Zitat von: F_Klee am 02 August 2022, 10:53:04
Es wird an verschiedenen Stellen darauf hingewiesen, dass die Firmware 120 erforderlich ist und auf keinen Fall ein Update gemacht werden darf. Mein Thermostat wurde mit FW120 geliefert. Aber was muss man machen, wenn eine neuere FW schon drauf ist? Ich habe im App-Store bei Apple keine ältere App gefunden, um evtl. über diese herunter zu rüsten.

Ich habe mehrere Thermostate mit FW146 laufen. Ein Downgrade gibt es leider nicht.
Um die Dinger zum Laufen zu bekommen, müssen die einfach gepaired werden:

Im folgenden Link schauen....
https://github.com/rytilahti/python-eq3bt#pairing

nachdem Pairing laufen die Thermostate eigentlich. Für das Pairing habe ich FHEM gestoppt, damit das BT Device nicht dauernd belegt wird.
Der einzige Nachteil ist, dass die Thermostate nur mit einem Gerät gepaired werden können. Positv betrachtet ein Zugewinn an Sicherheit :-)
VG

Denis

denis.robel

Moin moin,

ich bin auch auf fhempy umgestiegen mit 12 Thermostaten. Ich teste das gerade alles, bevor das Heizen demnächst los geht.

Mir ist aufgefallen, dass wenn ein Thermostat offline ist, wegen Batterieausfall, dann steht das ganze fhempy System und wenn zu viele Aktionen laufen, dann stürzt FHEM ab bzw der Raspi friert ein.

Kann man dieses Verhalten unterbinden?

Mein System ist ein Pi 4 mit 8GB RAM, fhempy lokal und einem Peer.
VG

Denis

dominik

Zitat von: F_Klee am 02 August 2022, 10:53:04
So, ich war gestern fleißig und habe fhempy zunächst lokal und dann remote in Betrieb genommen. Lob an alle Entwickler. Ging völlig problemlos und auch heute war mein Testventil online. Ich werde demnächst in größerem Maßstab einsteigen.

Interessant fand ich, dass der Peer vom Server erkannt wurde, obwohl er sich in einem anderen Netzwerk befand (VPN-Tunnel). Aber wenn mehr geht als erwartet, freut einen das und man sollte nicht anfangen zu grübeln  :)

Nur nochmal zur Sicherheit: Auf dem Peer müssen die gleichen Python-Pakete installiert werden wie auf dem FHEM-Server. Die Einstellungen in der bluetooth.conf sind ebenfalls die gleichen, mit Ausnahme des Users (pi statt fhem). Wenn das so stimmt würde ich mich an den Wiki-Text machen.

Im Screenshot im Git werden als Reading auch Temperatur und Luftfeuchtigkeit angezeigt. Kann es sein, dass ich ein anderes Thermostat habe, das diese Werte nicht liefert bzw. sie anders geliefert werden, so dass die Software das nicht auswerten kann? Meines nennt sich Model N mit Bluetooth. Ein anderes hatte ich aber auch nicht gefunden.

Es wird an verschiedenen Stellen darauf hingewiesen, dass die Firmware 120 erforderlich ist und auf keinen Fall ein Update gemacht werden darf. Mein Thermostat wurde mit FW120 geliefert. Aber was muss man machen, wenn eine neuere FW schon drauf ist? Ich habe im App-Store bei Apple keine ältere App gefunden, um evtl. über diese herunter zu rüsten.

Noch einmal: Tolle Arbeit!

Gruß
Frank

Danke für die Rückmeldung!
Temperatur und Humidity bekommst du leider nicht über das Thermostat, das habe ich über einen Sensor mit DOIF in das Device gesetzt.

Wg. neuer Firmware scheint es auch schon Infos zu geben wie denis.robel geschrieben hat (hab es selbst nicht probiert).
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Zitat von: denis.robel am 24 September 2022, 06:32:34
Moin moin,

ich bin auch auf fhempy umgestiegen mit 12 Thermostaten. Ich teste das gerade alles, bevor das Heizen demnächst los geht.

Mir ist aufgefallen, dass wenn ein Thermostat offline ist, wegen Batterieausfall, dann steht das ganze fhempy System und wenn zu viele Aktionen laufen, dann stürzt FHEM ab bzw der Raspi friert ein.

Kann man dieses Verhalten unterbinden?

Mein System ist ein Pi 4 mit 8GB RAM, fhempy lokal und einem Peer.

Hast du dazu ein fhempy.log wo der Fehler ersichtlich ist? Ich kann es bei mir nämlich nicht reproduzieren, hatte selbst gerade erst Batterien gewechselt. keep_connected hast du auf on?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

denis.robel

#671
Zitat von: dominik am 24 September 2022, 10:32:01
Hast du dazu ein fhempy.log wo der Fehler ersichtlich ist? Ich kann es bei mir nämlich nicht reproduzieren, hatte selbst gerade erst Batterien gewechselt. keep_connected hast du auf on?

Ja hab ich:


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/generic.py", line 189, in _handle_task_result
    task.result()
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/generic.py", line 183, in _run_coro
    await coro
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/eq3bt/eq3bt.py", line 364, in set_and_update
    await utils.run_blocking(fct)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/utils.py", line 35, in run_blocking
    return await asyncio.get_event_loop().run_executor(pool, function)
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/eq3bt/eq3bt.py", line 538, in set_target_temperature
    self.target_temperature = temp
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/eq3bt/eq3btsmart.py", line 267, in target_temperature
    self._conn.make_request(PROP_WRITE_HANDLE, value)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/eq3bt/connection.py", line 198, in make_request
    with self:
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/eq3bt/connection.py", line 152, in __enter__
    self._conn.connect(
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/eq3bt/connection.py", line 67, in connect
    self._connect(addr, addrType, iface, timeout)
  File "/opt/fhem/.local/lib/python3.9/site-packages/fhempy/lib/eq3bt/connection.py", line 58, in _connect
    raise btle.BTLEDisconnectError(
bluepy.btle.BTLEDisconnectError: Failed to connect to peripheral 00:1A:22:0C:59:03, addr type: public



EDIT: keep_connected ist auf on bei allen Thermostaten.
VG

Denis

dominik

Hmmm...das ist nur der Fehler, dass keine Verbindung hergestellt werden kann. Kannst du den Fehler regelmäßig reproduzieren? Also so, dass es blockt. Weil trotz der Meldung sollte nix blocken.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

F_Klee

ZitatTemperatur und Humidity bekommst du leider nicht über das Thermostat

Da rytilahti in seiner Software die Temperatur auch auslesen kann, scheint das Ventil die Daten zu liefern. Vielleicht kann man das bei Gelegenheit noch in die Software integrieren.

Beim Wochenprogramm fiel mir auf, dass der Freitag fehlt. Ist für mich nicht wichtig, aber vielleicht gibt es hier ja noch ein Problem.

dominik

Wo hast du die Info gefunden, dass die aktuelle Temperatur ausgelesen wird? Ich konnte nix finden.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik