Steowanie piecem - ...
 
Powiadomienia
Wyczyść wszystko

[Zamknięty] Steowanie piecem - problem ze skryptem

3 Wpisów
2 Użytkownicy
1 Reactions
1,235 Wyświetleń
(@jaremi)
Wpisów: 2
Świeżak
Autor tematu
 

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.

 
Dodane : 15/12/2019 1:20 pm
isom
 isom
(@isom)
Wpisów: 5170
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@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

 

 
Dodane : 15/12/2019 4:49 pm
Jaremi reacted
(@jaremi)
Wpisów: 2
Świeżak
Autor tematu
 

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 🙂

 
Dodane : 16/12/2019 9:38 am
Udostępnij: