ioBroker / AdapterRequests

This Place is used to track the status of new Adapter-Requests.
248 stars 36 forks source link

Bluetooth Heizkörperthermostat #277

Open TechniktreffHalver opened 4 years ago

TechniktreffHalver commented 4 years ago

Hallo,

Die Heizkörperthermostate von eq3 haben bluetooth und sind recht Preiswert. Es gibt von Heckie75 die Möglichkeit diese Thermostate über die Console zu bedienen. Sein Git Repo ist hier. Das wäre super wenn jemand daraus was machen kann.

Beste Grüße Mo

TechniktreffHalver commented 4 years ago

Wenn das Grundgerüst steht, helfe ich gerne auch bei der Weiterentwicklung mit.

Lordcybertracker commented 4 years ago

Ich hab das System im Einsatz unter Alexa und IoBroker. Allerdings mit dieser Variante: https://github.com/softypit/esp32_mqtt_eq3 ESP32 als Wlan Bluetooth Gateway und läuft tadellos.

OXERY commented 4 years ago

Keine üble Idee!

TechniktreffHalver commented 4 years ago

Das ist ja mal ne coole Sache, ich werde es bald mal ausprobieren.

MacWale commented 4 years ago

@Lungbo Besteht da noch Interesse, ich wollte mich über den Sommer mal damit befassen...

TechniktreffHalver commented 4 years ago

Hi, @MacWale Der Lordcybertracker hat ja schon einen guten Vorschlag gemacht. Der Youtubekanal "hausautomatisierung.com" hat ein Video gemacht, wie man IO-Broker Adapter programmiert. Wenn wir das irgendwie verbinden können. Ich bin auch nicht der große Programmierer kann halt VB.NET ein bisschen Python. In das ein oder andere hab ich schonmal reingeschnuppert. Also generelles Interesse besteht!

MacWale commented 4 years ago

Hi @Lungbo , ja der Vorschlag von Lordcybertracker ist schon gut, allerdings auch nur mit einer zusätzlichen Hardwarekomponente. Ich nutze ioBroker auf einem Raspberry, und der hat ja von Haus aus Bluetooth, wäre schade, wenn man dies nicht verwenden könnte. Dank Heckie75 gibt es ja schon eine gute Vorlage, was das kommunzieren mit dem Thermostaten angeht.

Schnup89 commented 4 years ago

Hi, hier meine Implementierung. Für einen eigenen Adapter reichen meine Programmierkenntnisse leider nicht aus :)

https://github.com/Schnup89/IOBroker_HABPanel_eq3_Thermostat

Schnup89 commented 4 years ago

Hi @Lungbo , ja der Vorschlag von Lordcybertracker ist schon gut, allerdings auch nur mit einer zusätzlichen Hardwarekomponente. Ich nutze ioBroker auf einem Raspberry, und der hat ja von Haus aus Bluetooth, wäre schade, wenn man dies nicht verwenden könnte. Dank Heckie75 gibt es ja schon eine gute Vorlage, was das kommunzieren mit dem Thermostaten angeht.

Zum Thema Reichweite: Mein RPI3 b+ sitzt im 1. OG und leuchtet dort noch den Speicher und das EG aus. (Massivhaus) Ich finde die Reichweite extrem gut.

nrother commented 4 years ago

Es gibt eine NodeJS Implementierung dafür (allerdings habe ich sie noch nicht ausprobiert)

Schnup89 commented 4 years ago

Hatte ich schon probiert, lässt sich (zumindest bei mir) leider nicht kompilieren aufgrund verschiedener dependencies.

RPI 3B+ installiert mit dem IOBroker-Image. npm -v 6.9.0 node -v v10.16.0

Schnup89 commented 4 years ago

Ich habe mich in die Adapterentwicklung mit meinen Hobby-Kenntnissen gewagt und das Grundgerüst steht: https://github.com/Schnup89/ioBroker.eq3-Thermostat

schris91 commented 4 years ago

@Schnup89 Ich habe soweit alles nach deiner Anleitung gemacht, nun bekomme ich in iobroker leider folgende Fehlermeldung: eq3 irgendwo fehlen dem adapter da wohl die berechtigungen? ich hab leider absolut keine Ahnung von Python und habe mich nur Schritt für Schritt an deine Anleitung gehalten

Schnup89 commented 4 years ago

@Schnup89 Ich habe soweit alles nach deiner Anleitung gemacht, nun bekomme ich in iobroker leider folgende Fehlermeldung: eq3 irgendwo fehlen dem adapter da wohl die berechtigungen? ich hab leider absolut keine Ahnung von Python und habe mich nur Schritt für Schritt an deine Anleitung gehalten

Hi schries91, die Lösung dürfte das Kommando "sudo chmod +x /home/pi/eq3Controller.py" sein, da der IoBroker Systemuser das Script anscheinend nicht ausführen darf. Nach absetzen des Kommandos darf jeder das Script ausführen. Danke dafür - werde es in meiner Anleitung ergänzen. Bitte teil mir mit ob alles geklappt hat :)

schris91 commented 4 years ago

vielen dank für die schnelle Antwort. ich hatte wohl einfach den falschen Pfad im Adapter angegeben statt "python3 /home/pi/eq3Controller.py" hatte ich "/home/pi/eq3Controller.py" stehen :) jetzt funktioniert alles wunderbar !

TechniktreffHalver commented 4 years ago

Wow, super Arbeit bis jetzt. Ich habe zwar keinen Meter mitgearbeitet und bin auch schwer im Zeitmangel, aber ich versuche mal mit Testerfeedback auszuhelfen. Ich versuche mal der Anleitung zu folgen und probiere nächste Woche mal einen in den Betrieb zu nehmen. Vielen Dank für Euern Einsatz.

Schnup89 commented 4 years ago

Wow, super Arbeit bis jetzt. Ich habe zwar keinen Meter mitgearbeitet und bin auch schwer im Zeitmangel, aber ich versuche mal mit Testerfeedback auszuhelfen. Ich versuche mal der Anleitung zu folgen und probiere nächste Woche mal einen in den Betrieb zu nehmen. Vielen Dank für Euern Einsatz.

Super, alles klar. Wenn alles glatt läuft schsu ivh mal ob ich den adapter veröffentlichen darf :)

Ich ergänze die Tage die Anleitung noch mit dem Habpanel-Template, das ist für den ein oder anderen bestimmt interessant.

schris91 commented 4 years ago

nach ein paar Tagen reibungslosen Betrieb mit 4 Thermostaten wollte ich heute 2 weitere hinzufügen. Den Befehl "sudo hcitool lescan" musste ich ein paar mal starten bis er endlich die neuen MAC Adressen ausgespuckt hat. Weiters habe ich diese dann zum Adapter hinzugefügt aber nach einiger Zeit machte er nur noch zicken. Versuchte andauernd neu zu starten etc... Ich vermute, dass sich die Thermostate an der Grenze der Bluetooth Reichweite bewegen und daher immer mal wieder das Signal verliert?

Anbei der Log:

asdf

edit: habe die zwei neuen Thermostate aus dem Adapter entfernt und nun läuft wieder alles problemlos...

Schnup89 commented 4 years ago

Danke für die Info! Ich muss den Timeout prüfen und den Fehler "connect failed" abfangen. Mach ich die Tage...

Schnup89 commented 4 years ago

Das Problem ist in der Lib bekannt... https://github.com/rytilahti/python-eq3bt/issues/34 Die Abfrage von nicht vorhandenen oder zu weit entfernten eq3's ist ein Problem da: a. Der Timeout relativ hoch ist (aktuell nicht einstellbar in der e3-lib) b. Das Errorhandling in der Lib nicht gut umgesetzt ist.

Evtl. muss ich mir alternative Lib's ggf. die NODEJS-Lib für eq3 anschauen, mit diesen Funktioniert es evtl. besser. Für mich ist das Verhalten mit Timeout & ErrorHandling ein ShowStopper für den Adpater im Moment. Wir haben aber noch reichlich Zeit bis zur nächsten Heizperiode 😄

nrother commented 3 years ago

Hier ist ansonsten noch eine alternative NodeJS-Implementierung, in meinem Kurztest lief die auf einem Raspi 4 problemlos. Es scheint doch auch eine Fehlerbehandlung implementiert zu sein.

Schnup89 commented 3 years ago

Hier ist ansonsten noch eine alternative NodeJS-Implementierung, in meinem Kurztest lief die auf einem Raspi 4 problemlos. Es scheint doch auch eine Fehlerbehandlung implementiert zu sein.

Danke dir, schau ich mir an sobald ich Zeit dafür habe! Habe nur remote Zugriff auf die Thermostate, aber bis zur nächsten Heizperiode hab ich mir bestimmt auch selbst welche zugelegt ;)

piti77 commented 3 years ago

Hallo Schnup89, ich versuche seit zwei Tagen den Adapter zu installieren. Leide bin ich in der Materie nicht so drin. Ich hbae mehrere Repos von dir dazu gesehen, dochleider komm ich mit beiden nicht klar. Beim installieren des npm kommt eine Mledung das diie package.json nicht im Verzeichnis wäre. Beim der anderen ist noch eine Anleitug dabei um Repository zu erstellen. Ich hab leider keinen Plan was ich nun tun soll. Gibt es da noch etwas wie eine wirkliche Schritt für Schritt Anleitung. Ansonsten in welchem Verzeichnis muss der Adapter installiert werden? in /opt/iobroker/ bekomm ich die Meldung wie oben beschrieben. Du hast auch geschrieben das die alternative NodeJS funktioniert. Leider hab ich die auch nicht hinbekommen. Gibts hier noch eine Anleitung. Sorr die vielen Fragen, aber wie gesagt ich bin noch sehr unerfahren mit diesen Einbindungen. Dank schon mal im Voraus.

fragxz commented 3 years ago

Hey @piti77, ich habe den Adapter heute auch erst gefunden und bei mir installiert. Dazu bin ich wie folgt vorgegangen:

ioBroker im Browser aufrufen → Adapter → Github Symbol → Beliebig → "https://github.com/Schnup89/ioBroker.eq3-Thermostat" → Installieren

Dann habe ich auch einen Fehler erhalten und zwar folgenden:

iobroker host.raspberrypi Cannot install https://github.com/Schnup89/ioBroker.eq3-Thermostat/tarball/34d61ad1a8caedcd69cd68cdee6f2cde9c920779: 0

Dennoch hatte ich danach den Adapter in der Adapterübersicht gelistet und konnte mein EQ3 Thermostat hinzufügen und darüber steuern!

sergiobrb2010 commented 3 years ago

ioBroker im Browser aufrufen → Adapter → Github Symbol → Beliebig → "https://github.com/Schnup89/ioBroker.eq3-Thermostat" → Installieren das funzt überhaupt nicht bei mir, da erscheint auch kein Adapter in der Übersicht. Habe dann den Adapter eq3bt direkt installiert und da erscheint er auch dann. Beim Prüfen des Pfad python3 /home/pi/eq3Controller.py wirft er mit einen Fehler aus. Somit dachte ich die Rechte sind nicht korrekt vergeben. Nein, er hat die Datei überhaupt nicht gefunden, also doch mit pip3 install.... weiter und dann kommt pip3 bzw. pip Kommando nicht gefunden?

Nun weiß ich nicht was ich falsch mache???????

Schnup89 commented 3 years ago

Hi, im iobroker-log sollte für den adapter eine fehlermeldung angezeigt werden, kannst du die hier rein kopieren, das bringt evtl. licht ins dunkle

sergiobrb2010 commented 3 years ago

ok...mhm wie füge ich den hier nun wieder die Grafik ein?

was ich nebenbei nicht verstehe, wieso er in der ssh anzeigt pip bzw. pip3 befehl nicht gefunden.....

sergiobrb2010 commented 3 years ago

log iobroker

sergiobrb2010 commented 3 years ago

log2 Pfad prüfen

Schnup89 commented 3 years ago

Ok, bitte den Output folgender Befehle hier schreiben:

ls -l /home/pi

python -V python3 -V

python /home/pi/eq3Controller.py python3 /home/pi/eq3Controller.py

sergiobrb2010 commented 3 years ago

output console

sergiobrb2010 commented 3 years ago

pip3 install python-eq3bt

Schnup89 commented 3 years ago

Dir fehlt das script, hole es dir wie folgt:

cd /home/pi

wget https://raw.githubusercontent.com/Schnup89/ioBroker.eq3-Thermostat/master/python-script/eq3Controller.py

sudo chmod +x eq3Controller.py

Und schick mir dann die Ausgabe von: python eq3Controller.py

Gruß

sergiobrb2010 commented 3 years ago

output eq3controller

Schnup89 commented 3 years ago

Ok jetzt noch den befehl ausführen: pip install python-eq3bt

Und nochmal testen mit: python /home/pi/eq3Controller.py

Da dürfte dann keine Fehlermeldung erscheinen

sergiobrb2010 commented 3 years ago

2

sergiobrb2010 commented 3 years ago

funzt übrigens bei pip3 auch nicht

Schnup89 commented 3 years ago

apt-get update apt-get install pip

Dann nochmal die befehle meines letzten post

Pip3 brauchst du nur bei python3 wir probieren es erstmal mit python

sergiobrb2010 commented 3 years ago

heist es nicht apt-get install python-pip?

sergiobrb2010 commented 3 years ago

1 ansosnten kommt diese Meldung

sergiobrb2010 commented 3 years ago

mit apt-get install python-pip installiert er zumindest wieder Pakete und danach kommt folgendes output 1

Schnup89 commented 3 years ago

Ok dann nehmen wir python3:

sudo apt-get install python3-pip pip3 install python-eq3bt python3 /home/pi/eq3Controller.py

sergiobrb2010 commented 3 years ago

1 2 klingt ja erstmal viel versprechend

sergiobrb2010 commented 3 years ago

Betonung liegt auf erstmal

  1. Bild soweit alles i.o.
  2. Bild nach dem ich die Mac Adresse vom Thermostat eingegeben habe. 1 ![Uploading 2.jpg…]()
sergiobrb2010 commented 3 years ago

2

sergiobrb2010 commented 3 years ago

mal für die Hilfe bis jetzt ein dickes fettes Danke

Schnup89 commented 3 years ago

Ich helfe gerne, kannst du mir sagen wie alt die thermostate sind und ob die aktuelle firmware per Smartphone App aufgespielt wurde?

Edit: Deine Fehlermeldung stimmt mit der hier überein: https://github.com/rytilahti/python-eq3bt/issues/41

Mit der neuen Firmwareversion ist wohl ein pairing von Nöten. Ich probiere es die Tage aus und aktualisiere die Anleitung.

Schnup89 commented 3 years ago

Hier ganz unten unter pairing ist die Anleitung. https://github.com/rytilahti/python-eq3bt

sergiobrb2010 commented 3 years ago

image nur mal so als vorab info

sergiobrb2010 commented 3 years ago

ja also ich weiß, dass auf diesem die Version 1.46 drauf ist, ich schau mal morgen was da installiert ist.