Welcome to Smart Home Forum by FIBARO
Dear Guest,
as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.
As a member you can:
- Start new topics and reply to others
- Follow topics and users to get email updates
- Get your own profile page and make new friends
- Send personal messages
- ... and learn a lot about our system!
Regards,
Smart Home Forum by FIBARO Team

Question
Marjomar 0
Hi to all,
I´m not a programmer so basically I had the need to follow this example:
Please login or register to see this link.
Just to give you an overview of my instllation:
1 - I had 1 Popp radiator thermostat per room (6) (
Please login or register to see this link.
). That gives me the temperature and the posibility to open close automatically the radiator using the values in the heating panel.2 - In each room, I set up the main temperature sensor and the main thermostat. Both values are given by the Popp device (See the picture A)
3 - I had a boiler for all the rooms that it´s opened or closed using Secure SSR303. This is managed by the LUA code attached.
For some reason the LUA code works some times and we are cold :-) Any suggestions are wellcome. I attach the code.
local boiler = tonumber(fibaro:getValue(187, "value"))
fibaro:debug('Estado de la caldera: ' ..boiler);
while true do
local temp1 = tonumber(fibaro:getValue(156, "value"));
fibaro:sleep(1000);
local temp2 = tonumber(fibaro:getValue(159, "value"));
fibaro:sleep(1000);
local temp3 = tonumber(fibaro:getValue(162, "value"));
fibaro:sleep(1000);
local temp4 = tonumber(fibaro:getValue(184, "value"));
fibaro:sleep(1000);
local temp5 = tonumber(fibaro:getValue(239, "value"));
fibaro:sleep(1000);
local temp6 = tonumber(fibaro:getValue(236, "value"));
fibaro:sleep(1000);
local temp7 = tonumber(fibaro:getValue(242, "value"));
fibaro:sleep(1000);
local temp10 = tonumber(fibaro:getValue(157, "value"));
fibaro:sleep(1000);
local temp20 = tonumber(fibaro:getValue(160, "value"));
fibaro:sleep(1000);
local temp30 = tonumber(fibaro:getValue(163, "value"));
fibaro:sleep(1000);
local temp40 = tonumber(fibaro:getValue(63, "value"));
fibaro:sleep(1000);
local temp50 = tonumber(fibaro:getValue(240, "value"));
fibaro:sleep(1000);
local temp60 = tonumber(fibaro:getValue(237, "value"));
fibaro:sleep(1000);
local temp70 = tonumber(fibaro:getValue(243, "value"));
fibaro:sleep(1000);
fibaro:debug('Temperaturas cargadas');
fibaro:debug('Temp. deseada Principal ' ..temp1);
fibaro:debug('Temp. deseada Blanca: ' ..temp2);
fibaro:debug('Temp. deseada Martita: ' ..temp3);
fibaro:debug('Temp. deseada Pasillo: ' ..temp4);
fibaro:debug('Temp. deseada Salón derecha: ' ..temp5);
fibaro:debug('Temp. deseada Salón izquierda: ' ..temp6);
fibaro:debug('Temp. deseada Entrada: ' ..temp7);
fibaro:debug('Temp. real Principal: ' ..temp10);
fibaro:debug('Temp. real Blanca: ' ..temp20);
fibaro:debug('Temp. real Martita: ' ..temp30);
fibaro:debug('Temp. real Pasillo: ' ..temp40);
fibaro:debug('Temp. real Salón derecha: ' ..temp50);
fibaro:debug('Temp. real Salón inquierda: ' ..temp60);
fibaro:debug('Temp. real Entrada: ' ..temp70)
fibaro:sleep(1000);
if ((temp10 ~= temp1) or (temp20 ~= temp2) or (temp30 ~= temp3) or (temp40 ~= temp4) or (temp50 ~= temp5) or (temp60 ~= temp6) or (temp70 ~= temp7))
then
fibaro:debug('Se encontró una diferencia entre la temperatura de la cabeza y la temperatura deseada.');
if ((temp10 < temp1) or (temp20 < temp2) or (temp30 < temp3) or (temp40 < temp4) or (temp50 < temp5) or (temp60 < temp6) or (temp70 < temp7))
then
if boiler == 0 then
fibaro:debug('En al menos una habitación la temperatura es baja, se enciende la caldera.')
fibaro:call(187, "setMode", "1")
boiler = 1
fibaro:debug(boiler)
else
fibaro:debug('La caldera ya se ha encendido y no se requieren más acciones.')
end
else
if boiler == 1 then
fibaro:debug('La temperatura de la habitación está bien, la caldera se apaga.')
fibaro:call(187, "setMode", "0")
boiler = 0
fibaro:debug(boiler)
else
fibaro:debug('La caldera ya se ha apagado, no se requieren más acciones.')
fibaro:debug('La temperatura de la habitación está bien.')
end
end
end
fibaro:sleep(300000);
end
My question is, there is anyway in this scenario to avoid the need to use the LUA scene for TURNON/TURNOFF Secure SSR303?
If not,
can I improve something in the code to work properly?
As far as I see it is something maybe can be solve by adding another field in the Room properties (3 House thermostat) for the main thermostat relay controlled by the heating panel. So the number 2 (Open/close radiator) number 3 (Open/close the boiler for the house)
Please login or register to see this link.
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.