Jump to content

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


  • 0

[SOLVED]how to use heating panel with wall plug fgwp101?


Question

Posted

Hi all,

 

I´m usin the HC2 heating panel to control de heating for all rooms using 6 POPP + 1 SSR303 + 1SRT322. It´s working great.

 

I had a room where I had electric heating and I will like to use the heating panel using as the room thermostat fgwp101(wall plug).

 

Now I had a script with a LUA code where I introduce the temperature but instead doing that I will like to use the heathing panel for that room.

 

Any idea how to do it?

 

Thanks a lot

 

I attach the Lua Code I had.

 

local boiler = tonumber(fibaro:getValue(8, "value"))

fibaro:debug('Estado del relé en la caldera: ' ..boiler);

local temp1 = tonumber(fibaro:getValue(58, "value")); 
fibaro:sleep(1000); -- 

fibaro:debug('Temperaturas cargadas');
fibaro:debug('Temperatura Jose ' ..temp1);
  fibaro:sleep(1000);
while true do
if (
 ( tonumber(fibaro:getValue(58, "value")) < 21 )

)
then
    fibaro:call(8, "turnOn");
    fibaro:debug('Caldera encendida');
end  
if (
 ( tonumber(fibaro:getValue(58, "value")) >= 22 ))
then
    fibaro:call(8, "turnOff");
    fibaro:debug('Caldera apagada');
end
fibaro:sleep(1000);
boiler = tonumber(fibaro:getValue(8, "value"))
fibaro:debug('Estado del relé en la caldera: ' ..boiler);
fibaro:sleep(300000);
end 

 

Please login or register to see this attachment.

 

5 answers to this question

Recommended Posts

  • 0
Posted

Hi @Marjomar

 

Take a look at Linked Devices.  You can find more information, along with a step-by-step example of linking a temperature sensor and switch to make a device which can be controlled by the Heating Panel, here:

 

Please login or register to see this link.

 

Dave

  • 0
  • Inquirer
  • Posted

    Thank you very much, is working great.

     

    Now I have another question.

     

    With the Popp devices do I need to have a LUA code running?

     

    As far as I can see the heating panel sends the temperature to the Wireless Thermostatic Valve device.

     

    The LUA code checks that temperature with the temperature in the sensor and if needs it turns the boiler ON.

     

    There is anyway to avoid the need to run that LUA scene?

     

    Thanks

     

    I attach the code I have:

     

    if (fibaro:countScenes()>1) then
      fibaro:debug('Fin de la segunda escena!');
      fibaro:abort();
    end
    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

     

    Please login or register to see this attachment.

     

    • 0
    Guest FredrikKarlsson
    Posted

    Hi,

     

    Not sure that I understand what you are trying to achieve. However, I suspect that you are trying to do something manually in Lua that the thermostat that you bought combined with the schedule set up by the heating panel will do automatically for you. The heating panel will have a main temperature sensor for each room, and some actuators (such as your thermostat or your linked device that you appear to have set up using your fgwp101) and the heating panel will then do what it can to make the temperature in the room reach the value that you set for the zone that the room belongs to. Using it's actuators.

    So basically I believe that you may be trying to recreate in your Lua code functionality that is already implemented in the heating panel.

     

    I cannot be entirely sure though, because the code is not really transparent. Please try to use clearer variable names (not temp!) in your code, as it will help you understand what is going on later. Trust me.

    • 0
  • Inquirer
  • Posted

    Thanks a lot for the repply,

     

    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 (

    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.

     

    My real question is, There is anyway in this scenario to avoid the need to use the LUA scene for TURNON/TURNOFF Secure SSR303?

     

    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 attachment.

    • 0
  • Inquirer
  • Posted

    Hi I´m going to open another topic for my last question. The main question is solve.

     

    Thank you very much.

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...