Pomoc w napisaniu s...
 
Powiadomienia
Wyczyść wszystko

UWAGAStrona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.

W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉

Za niedogodności z góry przepraszam, admin

Kontakt

Domoticz Pomoc w napisaniu skryptu do obsługi zaworu czterodrogowego.

3 Wpisów
2 Użytkownicy
0 Reactions
786 Wyświetleń
(@gostyniok)
Wpisów: 8
Bywalec
Autor tematu
 

Witam 

Szukam dobrej duszy która pomogła by ze skryptem do obsługi zaworu mieszającego. Szukałem na forum ale wszystkie gotowce tylko włączają kocioł gdy temperatura spada. Założenie jest takie, aby skrypt obsługiwał przekaźniki uruchamiające siłownik, który będzie dążył do zadanej temperatury. Włączał np. przekaźnik na 2 sekundy gdy temperatura spada poniżej zadanej wartości i czekał np. 5 sekund, a gdy temperatura wzrasta powyżej zadanej uruchamiał inny przekaźnik też np. na 2 sekundy i znowu czekał. Histereza była by dodatkowym atutem. Pozdrawiam

 
Dodane : 10/09/2022 4:31 pm
isom
 isom
(@isom)
Wpisów: 5190
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@gostyniok takie rzeczy to bez skryptów się robi , zresztą 5 sekund czekania kiedy nawet rura nie zdąży zmienić temperatury to będzie taniec w te i nazad , szkoda czasu. Poczytaj instrukcje takich sterowników zaworu, może wyciągniesz jakieś wnioski

 
Dodane : 10/09/2022 8:37 pm
(@gostyniok)
Wpisów: 8
Bywalec
Autor tematu
 

Witam

Skopiowałem gotowca, ale z nie potrafię aby przekaźnik włączał się tylko np. na 2 sekundy i czekał np. 10 sekund. Dodanie komendy On For 10 SECONDS nie działa. Jakieś rady.

local heating_probe = 'Kociol'
local thermostat_setpoint = 'Temp Max'
local heating_unit1 = 'test1'
local heating_unit2 = 'test2'

local hysteresis = 1
commandArray = {}
for deviceName,deviceValue in pairs(otherdevices) do
if (deviceName== thermostat_setpoint ) then
if tonumber(deviceValue) < tonumber(otherdevices[heating_probe]-hysteresis) then
commandArray[heating_unit1] ='On'
commandArray[heating_unit2]='Off'
end
if tonumber(deviceValue) > tonumber(otherdevices[heating_probe]+hysteresis) then
commandArray[heating_unit2]='On'
commandArray[heating_unit1]='Off'
end
end
for variableName,variableValue in pairs(uservariables) do
end
end
return commandArray

 
Dodane : 14/09/2022 8:05 pm
Udostępnij: