UWAGA: Strona 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
Od kilku dni próbuję zrobić skrypt (do tej pory nie zajmowałem się tym - jestem całkowicie zielony w tych sprawach - proszę o wyrozumiałość) który porównuje dwie temperatury i zależnie od sytuacj załącza (lub wyłącza) pompę obiegową C.O. w piecu. Temperatury pobierane są z głowic Netatmo - tempertura z czujnika w głowicy i temperatura która ma być. Na chwilę obecną skrypt wygląda tak:
return {
acitve = true,
on = {
['timer'] = {'every 5 minutes'}
},
on = {
devices = {
'Łazienka - akt. temp.',
'Łazienka - temp. ust.',
'Salon - akt. temp.',
'Salon - temp. ust.',
'Sypialnia - akt. temp.',
'Sypialnia - temp. ust.',
'Zosia - akt. temp.',
'Zosia - temp. ust.',
'Lena - akt. temp.',
'Lena - akt-temp. ust.',
'Pompa w piecu',
}
},
logging =
{
level = domoticz.LOG_DEBUG,
marker = 'Piec',
},
execute = function(domoticz, device)
--local variables
local lazienka_termostat = domoticz.devices('Łazienka - akt. temp.')
local lazienka_nastawiona = domoticz.devices('Łazienka - temp. ust.')
local salon_termostat = domoticz.devices('Salon - akt. temp.')
local salon_nastawiona = domoticz.devices('Salon - temp. ust.')
local sypialnia_termostat = domoticz.devices('Sypialnia - akt. temp.')
local sypialnia_nastawiona = domoticz.devices('Sypialnia - temp. ust.')
local zosia_termostat = domoticz.devices('Zosia - akt. temp.')
local zosia_nastawiona = domoticz.devices('Zosia - temp. ust.')
local lena_termostat = domoticz.devices('Lena - akt. temp.')
local lena_nastawiona = domoticz.devices('Lena - temp. ust.')
local piec = domoticz.devices('Pompa w piecu')
if ('lazienka_termostat' < 'lazienka_nastawiona') or ('salon_termostat' < 'sypialnia_nastawiona') or ('sypialnia_termostat' < 'sypialnia_nastawiona') or ('zosia_termostat' < 'zosia_nastawiona') or ('lena_termostat' < 'lena_nastawiona') then
piec.switchOn()
else
if ('lazienka_termostat' >= 'lazienka_nastawiona') and ('salon_termostat' >= 'sypialnia_nastawiona') and ('sypialnia_termostat' >= 'sypialnia_nastawiona') and ('zosia_termostat' >= 'zosia_nastawiona') and ('lena_termostat' >= 'lena_nastawiona') then
piec.switchOff()
end
end
end
}
Mam problem z porównaniem temperatur... co robię nie tak, że nie chce to działać jak powinno?
w blocky ten sam problem - wykładam się na porównaniu temperatur.
@jaremi na początek proponuję zacząć studiowanie tego https://www.domoticz.com/wiki/DzVents:_next_generation_LUA_scripting
to co stworzyłeś nie ma szans zadziałać i nawet nie wiem jak zacząć tłumaczenie dlaczego . Dlatego zobacz sobie przykładowy skrypt dla twojego salonu i może drogą analiz coś wywnioskujesz . W tym skrypcie wyzwalacze to zmiana temp w salonie albo zmiana nastaw Setpionta
Pozdrawiam
Dzięki za pomoc. Skrypt już dostosowałem do moich potrzeb (a potrzebowałem po zmianie głowic " na wczoraj").
Teraz czas na przestudiowanie DzVents 🙂