skryptu nie zmieniałem zmieniłem nazwy w domoticzu na takie jakie mi podesłałeś z kontaktron miałem zamieniona logikę ale po jej zmianie sytuacja nadal wygląda tak samo termostat nie reaguje na otwarcie okna
Wrzuciłem poprawioną wersję tzn wszystkie nazwy są poprawne i musi działać
tak kminie i zmieniłem tylko
sensor.state =='Open' or boiler.state =='On'
zamieniłem kolejnośc i zamiast and dałem or
teraz mam komunikatw logach przynajmniej okno otwarte i
dzVents: Debug: Constructed timed-command: Off tak jakby brakowało jakiegoś parametru bo na chwile wyłącza termostat po czy go pnownie włacza i tak naprzemiennie
@stanislawprzystalski nie ma sensu zmiana kolejności i taka zmiana, którą zrobiłeś, bo ustawiłeś taką zależność " Wyłącz ogrzewanie jeżeli okno jest otwarte albo ogrzewanie jest włączone"
Jeżeli masz Kontaktron jako Door Contact to rzeczywiście w skrypcie musi być Open , Closed . Masz poniżej sprawdzony skrypt z urządzeniami
Kontaktorn - czujnik okna , Grzanie - przekaźnik, Temp - czujnik teperatury , Termostat- ustawienie temp
potwierdzam ten skrypt działa 100 % idealnie rozłącza i załącza termostat prawidłowo jesteś wielki
w logach mam co prawda jakieś błędy ale wszystko pracuje jak powinno
@stanislawprzystalski masz starszą wersję dzVentsów , zamień to
dz.log('Status Ogrzewania: ' .. boiler.state,dz.LOG_DEBUG)
dz.log('Zmierzona temperatura: ' .. temperature,dz.LOG_DEBUG)
dz.log('Termostat: ' .. setpoint,dz.LOG_DEBUG)
na to
dz.log('Status Ogrzewania: ' .. boiler.state)
dz.log('Zmierzona temperatura: ' .. temperature)
dz.log('Termostat: ' .. setpoint)
i napisz czy te mało ważne błędy znikną
błędy zniknęły jest OK jutro podeśle zdjęcia tego co ulepiłem jako listwa do zarządzania ogrzewaniem w domu przy rozdzielaczu
tak skromnie wygląda mój panel zarządzający 8 przekaźnikami i 8 kontraktronami działa rewelacyjnie ale za to w nagrodę uwaliłem malinę teraz poszukuje MXL 7704-R3 ale ciężki temat widzę trzeba będzie zakupić nowe rpi 🙁
Ten Patch panel to do kontaktronów jak rozumiem ? Te przewody do płytek stykowych to bym zamienił na połączenia lutowane jak to ma sterować ogrzewaniem .
PatchPanel obsługuje czujniki ds18b20 i kontraktrony wszystkie połączenia będą lutowane to prototyp 🙂
Ok to zmienia postać rzeczy :)) a MXL 7704-R3 to raczej na ali , tyle że trzeba czekać i chyba szkoda czasu
a czy smarticz pójdzie na ODROID-N2. ??
A czy mogę Cię prosić o nie mieszanie wszystkiego w temacie "Termostat "
To forum ma to do siebie że wystarczy wejść do działu Domoticz lub Smarticz i dodac nowy temat , lub poszukać bo już wielokrotnie ten temat był poruszany
Chciałeś się pochwalić swoją pracą nic nie protestowałem, ale teraz trochę tego za dużo. Nie chcę usuwać Twoich postów ale proszę nie rób bałaganu
@isom wi 1 skrypcie pomyliles w devices wpisales sensor zamiast kontrakton dlatego mu nie dzialalo
Odkopię. Czy do skryptu z pierwszego posta jest szansa dodać przełącznik trybów, np. OFF, AUTO, FORCE?
@pit_h jest na forum skrypt dzVents z taką funkcjonalnością , jak koniecznie chcesz LUA i umiesz to przeflancować z dzVents to poszukaj , a jak nie znajdziesz to daj znać
@isom Tak, mam tamten skrypt, jednak ten działa u mnie lepiej. Niestety nie potrafię przepisać tamtego na Lua. Przy tamtym zdarza się, że grzejnik chodzi całą noc i przegrzewa. W tym skrypcie (lua) brakuje mi tylko przełącznika AUTO i OFF, żeby można było ogrzewanie wyłączyć, bez wyłączania skryptu, albo zmian w termostacie.
@pit_h jeśli tak jest że tamten skrypt u Ciebie szwankuje to może spróbuj tego , jest identyczny jak ten LUA tylko ma dodane tryby Auto, Off i Force
return
{
on = { timer = {'every 2 minutes'},
devices = { 'Termostat', 'Czujnik temp', 'Tryb pracy' }}, -- dostosuj nazwy do własnych urządzeń
logging = { level = domoticz.LOG_DEBUG }, -- change to LOG_ERROR if script works as expected
execute = function(dz, item)
local his = 0.2 -- histereza działa w dół i w górę
local grzanie = dz.devices('Ogrzewanie') -- nazwa przełącznika ogrzewania
local temp = dz.utils.round(dz.devices('Czujnik temp').temperature,1)
local setpoint = dz.utils.round(dz.devices('Termostat').setPoint,1)
local tryb = dz.devices('Tryb pracy') -- selektor z trybami Off, Auto , Force
if setpoint < ( temp - his ) and grzanie.state == 'On' and tryb.state == 'Auto' then
grzanie.switchOff()
dz.log('Ogrzewanie Off',dz.LOG_DEBUG)
elseif setpoint > ( temp + his ) and grzanie.state == 'Off' and tryb.state =='Auto' then
grzanie.switchOn()
dz.log('Ogrzewanie On',dz.LOG_DEBUG)
end
if grzanie.state == 'Off' and tryb.state == 'Force' then
dz.log('Konieczność ciągłego grzania',dz.LOG_DEBUG)
grzanie.switchOn()
end
if grzanie.state == 'On' and tryb.state == 'Off' then
dz.log('Wymuszony koniec grzania',dz.LOG_DEBUG)
grzanie.switchOff()
end
end
}
@isom Dziękuję. Ten jak narazie działa prawidłowo. Zobaczę jak przez noc.


