Powiadomienia
Wyczyść wszystko

Domoticz skrypt włączania termostatu z dwóch czujników temp

25 Wpisów
3 Użytkownicy
0 Likes
260 Wyświetleń
isom
 isom
(@isom)
Wpisów: 4449
Szefu Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@nototojazda10 masz coś porąbane w tym espeasy z GPIO 12 i 13 , wcześniejsza wersja powinna działać na postawie czujników temp , teraz jest co minutę . Jeśli na docelowym sprzęcie masz inny moduł, który działa jak należy to możesz próbować pierwszej wersji . Sprawdziłem ją u siebie i działa bez problemu 

 
Dodane : 24/09/2022 8:58 pm
nototojazda10
(@nototojazda10)
Wpisów: 23
Profesjonalista
Autor tematu
 

@isom Tak mam inny moduł, więc spróbuje na tym pierwszym skrypcie w docelowym sprzęcie.

 
Dodane : 24/09/2022 10:03 pm
Pan Ebol
(@panebol)
Wpisów: 16
Profesjonalista Donator 2K22
 

Podpinam się pod temat, od razu zaznaczam że to mój pierwszy kontakt z tego typu skryptami.W moim przypadku  chciałby go delikatnie zmodyfikować. Otóż mam esp32 (afe firmweare) dwa czujniki temperatury (bufor i cwu) i przekaźnikiem sterującym pracą pompy do grzania cwu.  I tu moje pytania jako świeżaka ;

Czy

on = { timer = { 'every minute'}}

Mogę wpisać czas pracy od danej godziny, do danej godziny oraz częstotliwość odświeżania.

Oraz czy w przepadku braku potrzeby załączania pompy ciepła

local relay = dz.devices('Pompa cwu')  usunę wiersz: local pompa = dz.devices('..........')

to  reszta skryptu powina wyglądać tak?( żeby zadziałała druga reguła termostatu z histerezą)

if relay.state == 'On' and (temp1 + histW) < temp then
relay.switchOn()
dz.log('Grzanie wody jest włączone',dz.LOG_DEBUG)
elseif setW < ( temp1 - histW ) then
relay.switchOff()
dz.log('Grzanie wody jest wyłączone',dz.LOG_DEBUG)

Dziękuje za odpowiedź i pozdrawiam

 

 
Dodane : 30/09/2022 8:51 pm
isom
 isom
(@isom)
Wpisów: 4449
Szefu Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@panebol odpowiedz na pierwszą część pytania , można sobie prawie dowolnie ustalać warunki czasowe np taki zapis jak poniżej będzie uruchamiał skrypt co dwie minuty od 2.30 do 18.30 tylko w poniedziałki, wtorki i piątki , między 20 maja a 18 października.

on = { timer = {'every 2 minutes between 02:30 and 18:30 on mon,tue,fri on 20/5-18/10'}}

Co drugiej części pytania to trochę inaczej to powinno wyglądać , 

if relay.state == 'On' and (temp1 + histW) < temp then
relay.switchOn()

To powyżej w dosłownym tłumaczeniu : " Jeżeli Pompa cwu jest włączona i temperatura 1 + histereza jest mniejsza od temperatury to włącz Pompę cwu"

Widzisz w tym sens ? 

Lepiej będzie tak 

if (temp1 + histW) < temp and relay.state == 'Off' then
relay.switchOn()
dz.log('Grzanie wody jest włączone',dz.LOG_DEBUG)
elseif setW < ( temp1 - histW )and relay.state == 'On' then
relay.switchOff()
dz.log('Grzanie wody jest wyłączone',dz.LOG_DEBUG)
 
Dodane : 30/09/2022 9:31 pm
Pan Ebol
(@panebol)
Wpisów: 16
Profesjonalista Donator 2K22
 

Dzięki za podpowiedź będę testował 😀 

 
Dodane : 30/09/2022 9:52 pm
Strona 2 / 2
Udostępnij: