Głowica Termostatyczna Bluetooth

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
tgaweda
Posty: 91
Rejestracja: pn lis 13, 2017 9:21 pm

maciekelga pisze: czw paź 29, 2020 7:25 pm Odświeżę temat, czy komuś udało się zrobić odczyt/sterowanie głowicami z poziomu Supli? Lub chociaż ogarnął komunikację głowica->esp/arduino etc ?
eQ-3 z Raspberry i supla-virtual-device działa u mnie już miesiąc.
Awatar użytkownika
Robert Błaszczak
Posty: 3970
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontakt:

Może chciałoby Ci się zrobić jakiś szerszy opis / tutorial?
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
tgaweda
Posty: 91
Rejestracja: pn lis 13, 2017 9:21 pm

Funkcjonalność zrealizowana przeze mnie jest dość prosta, ale to było moim celem w tym momencie.
Mogę z aplikacji supla ustawić termostat zamontowany na grzejniku na 19°C lub 22°C.



Sprzęt potrzebny do zmontowania całości to Raspberry i głowica eq-3 bluetooth.
Pierwsza pozycja, to w moim przypadku już posiadane RPi 4B a druga pozycja jest do kupienia na znanym portalu aukcyjnym https://allegro.pl/listing?string=eq-3%20bluetooth.

Od strony programowej używam: skryptu Heckie75, supla-virtual-device i node-RED.

Instalacja:
1.
https://github.com/Heckie75/eQ-3-radiator-thermostat

Kod: Zaznacz cały

git clone https://github.com/Heckie75/eQ-3-radiator-thermostat.git
2.
supla-virtual-device (opisane w linku https://github.com/lukbek/supla-virtual-device)

w pliku supla-virtual-device.cfg mam zdefiniowane dwa kanały

Kod: Zaznacz cały

[CHANNEL_11]
function=POWERSWITCH
command_on=python /home/pi/eQ-3/supla_19.py

[CHANNEL_12]
function=LIGHTSWITCH
command_on=python /home/pi/eQ-3/supla_22.py
POWERSWITCH / LIGHTSWITCH pozostałość po testach ;)

Na Raspbbery w folderze /home/pi/eQ-3/ mam stworzone dwa pliki:
supla_19.py o zawartości

Kod: Zaznacz cały

import requests
r =requests.get('http://192.168.1.100:1880/grzejnik?ustaw=19')
supla_20.py o zawartości

Kod: Zaznacz cały

import requests
r =requests.get('http://192.168.1.100:1880/grzejnik?ustaw=20')
3. w node-RED przy po mocy klocków zbudowane zależności do obsługi zapytań http://192.168.1.100:1880/grzejnik?ustaw=20 czy ?ustaw=19

Do zrobienia (w node-RED) jest jeszcze cykliczny odczyt temperatury ustawionej na termostacie i publikowanie jej do kanału

Kod: Zaznacz cały

[CHANNEL_X]
function=TEMPERATURE
file=/home/pi/temp_termo.txt
co pozwoli na pokazanie w aplikacji supla temperatury ustawionej na termostacie ręcznie.

Gdyby w supla-virtual-device dostępny był DIMMER to można byłoby ustawiać temperaturę z nieco większą dokładnością.
Załączniki
termostat.jpg
termostat.jpg (42.6 KiB) Przejrzano 1547 razy
Awatar użytkownika
Robert Błaszczak
Posty: 3970
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontakt:

@tgaweda, wielkie dzięki za ten opis.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
sixkiller
Posty: 36
Rejestracja: pn sie 16, 2021 7:59 pm

Dziękuję za opis, pomógł bardzo, ale napotkałem problem. Mam dwie głowice, jedna działa poprawnie, druga zgłasza błąd jak poniżej:
./eq3.exp myEQ3 status expect: spawn id exp4 not open while executing "expect -re "\[0-9a-f\ ]*" { log "ok" }" (procedure "readHandle" line 10) invoked from within "readHandle $HANDLES(name)" (procedure "readDeviceInfo" line 5) invoked from within "readDeviceInfo" (procedure "init" line 8) invoked from within "init [expr $INIT(device) + $INIT(mode) + $INIT(timer) + $INIT(serial)]" ("^status$" arm line 2) invoked from within "switch -regexp $c { ^sync$ { init $INIT(mode) } ^comforteco.* { checkArgs $c 2 "comforteco" {^comforteco [0-9]{1,2}\.?[05]? [0..." (procedure "doCommand" line 10) invoked from within "doCommand" (file "./eq3.exp" line 1265)

Głowice różnią się firmware, co ciekawe pomimo błędu, temperatura zadana na głowicy zmienia się prawidłowo, jednak powyższy błąd jest o tyle niewygodny, bo uniemożliwa prawidłowy odczyt temperatury na jaką jest ustawiona głowica.

Czy macie jakieś pomysły jak rozwiązać powyższy problem? Z góry dziękuję za odpowiedzi i sugestie.
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”