Publikując wpis https://www.smartnydom.pl/forum/domoticz/uniwersalny-termostat-z-histereza-na-bazie-domoticza/
wspomniałem , o termostacie , który pozwala na regulację temperatury na podstawie kilku czujników ,w tym temperatury zewnętrznej.
W związku z tym , że dopracowanie parametrów pracy tego termostatu wymaga czasu , zalecam cierpliwość i nie polecam zbyt częstych zmian parametrów.
Jak to wygląda i co można z tym zrobić
Poniżej fotka , na której widać co mamy do dyspozycji po instalacji
Reg- Pokojowy to przełącznik , który tworzymy sobie sami a jego funkcja to włączanie i wyłączanie ogrzewania , czyli może to być dowolny moduł z obsługą przekaźnika np. sonoff z softem AFE T0, T1, T2, T4.
SVT – Control jak widać mamy możliwość całkowitego wyłączenia ogrzewania, pracy w trybie automatycznym , lub praca wymuszona .
SVT –Mode -ustawienia trybu komfort (normal) i ekonomicznego
SVT – Pause- ten przełącznik służy do zatrzymania ogrzewania w dowolnym momencie na dowolnie definiowany czas . Można to wykorzystać do wyłączenia ogrzewania na czas wietrzenia pomieszczeń, dłuższego otwarcia drzwi wejściowych itp.
Dalej to nasz czujnik – czujniki temperatury, Temperatura wyliczana przez termostat i dwa przełączniki do ustawienia temp komfortowej i ekonomicznej.
Ja na początek użyłem tylko jednego czujnika , bo łatwiej zaobserwować zmiany parametrów.
Sama instalacja to znowu tak naprawdę kilka komend w terminalu i prosta konfiguracja wtyczki.
Łączymy się z serwerem przez SHH ( PUTTY) i przechodzimy do folderu „ DOMOTICZ/ PLUGINS"
cd domoticz/plugins
teraz tworzymy sobie katalog naszego termostatu o nazwie SVT ( nazwa może być dowolna)
mkdir SVT
teraz aktualizacja
sudo apt-get update
pobieramy – klonujemy repozytorium wtyczki do naszego katalogu
git clone https://github.com/999LV/SmartVirtualThermostat.git SVT
Przechodzimy do katalogu naszego termostatu
cd SVT
Nadajemy mu uprawnienia
sudo chmod +x plugin.py
Restartujemy serwer domoticz
sudo /etc/init.d/domoticz.sh restart
Teraz łączymy się z domoticzem przez www I wchodzimy w KONFIGURACJA- SPRZĘT
gdzie dodajemy nowy sprzęt jak na foto poniżej
Dodajemy własną nazwę, zamiast localhost wpisujemy IP serwera domoticz, zmieniamy port jeżeli jest inny niż domyślny, wpisujemy nazwę i hasło użytkownika jeżeli mamy ustawione.
Kolejne pole to IDX naszych czujników wewnętrznych , jeżeli mamy ich więcej niż jeden to wpisujemy wszystkie podzielone przecinkami np. 10,14,21
Analogicznie robimy z czujnikami temp zewnętrznej w kolejnym polu .
Trzecie pole uzupełniamy wartością IDX przełącznika- ów odpowiedzialnych za załączenie ogrzewania. Tu też można utworzyć sobie jeden lub kilka przełączników w zależności od potrzeb , IDX wpisujemy oddzielone przecinkami.
Kolejne okno Apply minimum heating per cycle określa zachowanie termostatu, gdy podano minimalny parametr ogrzewania na cykl.
Mamy do wyboru
only when heating required – uruchamia minimalne ogrzewanie tylko wtedy gdy nie została osiągnięta temperatura zadana.
Przydatne przy ogrzewaniu gdzie źródłem ciepła jest piec centralnego ogrzewania i nie posiadamy ogrzewania podłogowego.
Always – zawsze będzie stosowane minimalne ogrzewanie w każdym cyklu ogrzewania, niezależnie od tego, czy osiągnięta zostanie żądana temperatura. Jest to na przykład przydatne w systemach ogrzewania podłogowego o bardzo wysokiej bezwładności cieplnej, gdzie lepiej jest unikać zbytniego chłodzenia podłogi, nawet jeśli ogrzewanie nie jest faktycznie potrzebne.
Ostatnie pole wymaga najwięcej od użytkownika i tu trzeba sobie dobrać parametry do własnych potrzeb, na początek można zostawić fabryczne ustawienia , chociaż przy kotle na paliwa stałe np. pellet zalecam zmianę pierwszego parametru na min 60.
Paramerty to ciag cyfr podzielonych przecinkami gdzie każdy z nich decyduje o:
Pierwsza cyfra fabrycznie 30 - jest to czas w minutach między dwoma obliczeniami termostatu. Należy go ustawić w zależności od bezwładności cieplnej fizycznego pomieszczenia i systemu ogrzewania ( 30 zalecane dla ogrzewania elektrycznego)
Druga cyfra- jest to minimalny %, w którym przekaźnik musi być włączony w danym okresie obliczeniowym. Wartość może wynosić od 0 do 100.
Trzecia cyfra – opóźnienie w minutach aktywacji pauzy
Czwarta cyfra- opóźnienie dezaktywacji pauzy czas w minutach jaki musi upłynąć od wyłączenia przełącznika PAUZA do ponownego włączenia ogrzewania.
Piąta cyfra – Ilość minut na które zostanie właczone ogrzewanie w trybie wymuszonym przy użyciu przełącznika FORCED , po tym czasie system wróci do pracy AUTO
Jedna uwaga na koniec !
Czujniki wyznaczone do pracy z termostatem muszą być wydzielonymi czujnikami temperatury czyli np. DS.-18B20 , lub jeżeli używacie AFE z DHT ( wer T2 ) IDX temperatury musi być wysyłany oddzielnie od Wilgotności , w innym przypadku wewnętrzny czujnik będzie wywalał błąd, a zewnętrzny będzie ignorowany.
Hej isom wgralem twoj regulator temp.Poustawialem wszystko. Do ogrzewania nic nie jest podlaczone.Dodalem tez czujnik zewnetrzny. Narazie obserwuje jak to dziala. I tak sie zastanawiam jak ten termostat przelicza ta temperature. Wiesz moze wiecej cos o tym?
@krzysztofch zacznijmy od tego, że nie jestem twórcą ani autorem tej wtyczki , bo gdyby tak było to pewnie już dawno dołączył bym do @adriana i razem z nim pisał nowe softy , a niestety moja wiedza programistyczna na to nie pozwala.
Co do samego regulatora , to wtyczka oparta jest na skrypcie, który tworzy zmienną ( znajdziesz ją w zakładce zmienne użytkownika ). Co określony czas ( cykl ) średnia temperatura wyliczona z czujników wew jest analizowana i na podstawie spadków/ wzrostów obliczana jest długość i częstotliwość okresów grzania . Czujnik zewnętrzny nie jest uwzględniany w obliczaniu średniej ale proporcjonalnie jeżeli temp zew spada cykle grzania są częściej i odwrotnie.
Nie ma tu jak w przypadku prostych termostatów histerezy , tylko dłuższe lub krótsze cykle grzania w krótszych lub dłuższych odstępach czasowych.
Żeby wyciągnąć jakieś wnioski ze zmian parametrów trzeba żeby termostat pracował w realnym ogrzewaniu , sam też na początku próbowałem tak jak Ty uruchamiać tylko przekaźnik ale mija się to z celem ponieważ cały algorytm skryptu robiony jest w trąbę przez ogrzewanie na które algorytm nie ma wpływu i np twoje ogrzewanie pracuje a skrypt o tym nie wie.
Jakiekolwiek zmiany najlepiej robić nie częściej niż co 3 dni ( tyle trwa tak zwane uczenie się przez regulator bezwładności twojego obiektu).
Na początku u mnie były momenty kiedy temperatura mocno przekraczała zadaną, lecz w miarę dopracowywania parametrów mam w tej chwili bardzo stabilny system i odchyłki od zadanej są +- 0,4 stopnia.
Rozumie ze nie jestes autorem ,sorrki ,ale myslalem ze moze wiesz wiecej. Dla mnie programowanie to moj narazie odlegly temat , wiec zadawalam sie gotowcami. Co to tego regulatora to fajnie ze go udostepniles. Poprobujemy zobaczymy. A moze bedzie fajnie dzialac. Napisz po jakims czasie opinie czy jestes z niego zadowolony i czy dziala ok.
Jedna uwaga na koniec !
Czujniki wyznaczone do pracy z termostatem muszą być wydzielonymi czujnikami temperatury czyli np. DS.-18B20 , lub jeżeli używacie AFE z DHT ( wer T2 ) IDX temperatury musi być wysyłany oddzielnie od Wilgotności , w innym przypadku wewnętrzny czujnik będzie wywalał błąd, a zewnętrzny będzie ignorowany.
Z czego wynika ta uwaga, Domoticza czy SVT ? Co powoduje problem jeśli czujniki są wspólne ?
Zajrzałem na stronę Domoticz/SVT oraz github pluginu, nie ma tam tej informacji.
@jusik Uwaga wynika z samej konstrukcji JSON dla cujników , ponieważ większość pluginów opiera się właśnie na json to albo by trzeba edytować pliki wtyczki , albo tak jak wspomniałem trzeba wydzielić samą temperaturę z zespolonego czujnika.
JSON dla samej temp to
/json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=TEMP
gdzie TEMP = wartość temperatury
Dla zespolonego czujnika Hum/Temp JSON to
/json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=TEMP;HUM;HUM_STAT TEMP = Temperature HUM = Humidity (0-100 %) HUM_STAT = Humidity status
Dzięki bardzo,
W domyśle "konstrukcji json dla czujników" w Domoticzu ?
Czy to może również wyjaśniać problem z czujnikami @kniazio w termostacie opentherm?
Dodał idx czujników wspólnych temperatura/wilgotność podłączonych po rf433, plugin (termostat) pobiera dane po json i sytuacja była taka właśnie jakby tego czujnika, czujników nie widział.