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

Horstmann/Secure


Guest Hakanos

Question

Guest Hakanos
Posted

Hi,

I can read the set value of the horstmann thermostat, but is there also a way to get the actual value of the temperature sensor?

thanks

11 answers to this question

Recommended Posts

  • 0
Posted

Hi

Try this

tonumber(fibaro:getValue(Id of stat, "valueSensor")

Hope this helps

Brian

  • 0
Guest Hakanos
  • Inquirer
  • Posted

    Thanks Brian, this works.

    Please login or register to see this image.

    /emoticons/default_icon_biggrin.gif" alt=":-D" />

    • 0
    Posted

    And how to know if the thermostat is in demand or not (use in a scene the group 2 association) ?

    • 0
    Guest Hakanos
  • Inquirer
  • Posted

    I use this scene to control my heating, so you don't need to know if the thermostat is in demand

    Please login or register to see this link.

    • 0
    Posted

    Hi Hakanos,

    yes I saw that code previously. Could be very usefull. The problem is that you miss the hysteresys build-in function of the Secure thermostat.

    I've one Secure thermostat per room and must command one switch for the boiler.

    • 0
    Guest Hakanos
  • Inquirer
  • Posted

    Hi Tcheri,

    I am not a heating pro, but I have too have one secure thermostat per room. I have modified the code in the link to suit me needs and up to now it is working flawless. I can post my code if your interestet.

    let me know

    • 0
    Posted

    Hi Hakanos, yes please, it can help ! Thx

    • 0
    Guest Hakanos
  • Inquirer
  • Posted

    I would like to notice that I am not using any association with my thermostats and also not using the build in Heating Panel.

    This is for my heating:

    --[[

    %% properties

    %% autostart

    %% globals

    --]]

    if (fibaro:countScenes()>1)

    then

    fibaro:debug('Kill the second scene!');

    fibaro:abort();

    end

    local boiler = tonumber(fibaro:getValue(54, "value")) -- Adjust to the id of your boiler relay.

    fibaro:debug('Status boiler: ' ..boiler);

    while true do

    -- Zone 1 Woonkamer/Keuken

    local df_woonkamer = tonumber(fibaro:getValue(234, "value")); -- Danfoss valve Woonkamer

    fibaro:sleep(1000);

    local df_keuken = tonumber(fibaro:getValue(194, "value")); -- Danfoss valve Keuken

    fibaro:sleep(1000);

    local temp_woonkamer = tonumber(fibaro:getValue(55, "valueSensor")); -- Thermostaat Woonkamer/Keuken

    fibaro:sleep(1000);

    -- Zone2 Slaapkamer

    local df_slaapkamerlinks = tonumber(fibaro:getValue(237, "value")); -- Danfoss valve links

    fibaro:sleep(1000);

    local df_slaapkamerrechts = tonumber(fibaro:getValue(238, "value")); -- Danfoss valve rechts

    fibaro:sleep(1000);

    local temp_slaapkamer = tonumber(fibaro:getValue(241, "valueSensor")); -- Thermostaat Slaapkamer

    fibaro:sleep(1000);

    -- Zone 3 Aslihan&Kaan

    local df_aslihankaan = tonumber(fibaro:getValue(236, "value")); -- Danfoss valve Slaapkamer Aslihan&Kaan

    fibaro:sleep(1000);

    local temp_aslihankaan = tonumber(fibaro:getValue(239, "valueSensor")); -- Thermostaat Slaapkamer Aslihan&Kaan

    fibaro:sleep(1000);

    -- Zone 4 Badkamer

    local df_badkamer = tonumber(fibaro:getValue(235, "value")); -- Danfoss valve Badkamer

    fibaro:sleep(1000);

    local temp_badkamer = tonumber(fibaro:getValue(240, "valueSensor")); -- Thermostaat Badkamer

    fibaro:sleep(1000);

    -- fibaro:debug('Temperatures loaded.');

    -- fibaro:debug('Zone 1 - Woonkamer: ' ..df_woonkamer);

    -- fibaro:debug('Zone 1 - Keuken: ' ..df_keuken);

    -- fibaro:debug('Zone 2 - Slaapkamer Links: ' ..df_slaapkamerlinks);

    -- fibaro:debug('Zone 2 - Slaapkamer Rechts: ' ..df_slaapkamerrechts);

    -- fibaro:debug('Zone 3 - Aslihan&Kaan: ' ..df_aslihankaan);

    -- fibaro:debug('Zone 4 - Badkamer: ' ..df_badkamer);

    -- fibaro:debug('Zone 1 - Temperatuur woonkamer: ' ..temp_woonkamer);

    -- fibaro:debug('Zone 2 - Temperatuur slaapkamer: ' ..temp_slaapkamer);

    -- fibaro:debug('Zone 3 - Temperatuur aslihan&kaan: ' ..temp_aslihankaan);

    -- fibaro:debug('Zone 4 - Temperatuur badkamer: ' ..temp_badkamer);

    fibaro:sleep(30000);

    if ((temp_woonkamer < df_woonkamer) or (temp_woonkamer < df_keuken) -- Zone 1

    or (temp_slaapkamer < df_slaapkamerrechts) or (temp_slaapkamer < df_slaapkamerlinks) -- Zone 2

    or (temp_aslihankaan < df_aslihankaan) -- Zone 3

    or (temp_badkamer < df_badkamer) -- Zone 4

    )

    then

    if boiler == 0

    then

    fibaro:debug('At least one of the room temperatures is too low, turning boiler on.')

    fibaro:call(54, "turnOn")

    boiler = 1

    fibaro:debug('Boiler switched to: ' ..boiler);

    fibaro:call(122, "sendDefinedPushNotification", "17");

    else

    -- fibaro:debug('The boiler is already switched on, no further action required.')

    end

    else

    if boiler == 1

    then

    fibaro:debug('Room temperatures ok, boiler will turn off now.')

    fibaro:call(54, "turnOff")

    boiler = 0

    fibaro:debug('Boiler switched to: ' ..boiler);

    fibaro:call(122, "sendDefinedPushNotification", "18");

    else

    -- fibaro:debug('The boiler is already off, no further action required.')

    end

    end

    end

    This is for syncing my valves, one for each zone:

    --[[

    %% properties

    55 value

    %% globals

    --]]

    --valves to sync

    valves = { 194,234}

    --read the value from wall stat

    local value = fibaro:get(55, 'value')

    local time = fibaro:get(55, "timeStamp")

    fibaro:debug( value )

    fibaro:debug( time )

    --fibaro:debug( times )

    -- set valves

    for i = 1,#valves do

    fibaro:call(valves, 'setTargetLevel' , value )

    fibaro:call(valves, 'setTime', time)

    end

    This is my heating panel (under construction):

    --[[

    %% properties

    %% autostart

    %% globals

    --]]

    if (fibaro:countScenes()>1) then

    fibaro:debug('Kill the second scene!');

    fibaro:abort();

    end

    fibaro:debug('Heating panel is running.');

    while true do

    local currentDate = os.date("*t");

    local currentTime = tonumber(os.date("%H%M"));

    local away = fibaro:getGlobalValue("Simu_presence")

    local override = fibaro:getGlobalValue("Override")

    --Zone 1: Woonkamer

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 0700 then

    if away == "Off" and override == "0" then

    fibaro:call(55, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat woonkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(55, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat woonkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 1200 then

    if away == "Off" and override == "0" then

    fibaro:call(55, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat woonkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(55, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat woonkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 1800 then

    if away == "Off" and override == "0" then

    fibaro:call(55, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat woonkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(55, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat woonkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 0000 then

    if away == "Off" and override == "0" then

    fibaro:call(55, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat woonkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(55, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat woonkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    -- Zone 2:Slaapkamer

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 0700 then

    if away == "Off" and override == "0" then

    fibaro:call(241, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat slaapkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(241, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat slaapkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 1200 then

    if away == "Off" and override == "0" then

    fibaro:call(241, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat slaapkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(241, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat slaapkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 1800 then

    if away == "Off" and override == "0" then

    fibaro:call(241, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat slaapkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(241, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat slaapkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 0000 then

    if away == "Off" and override == "0" then

    fibaro:call(241, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat slaapkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(241, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat slaapkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    -- zone 3: Aslihan & Kaan

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 0700 then

    if away == "Off" and override == "0" then

    fibaro:call(239, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat Aslihan & Kaan set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(239, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat Aslihan & Kaan set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 1200 then

    if away == "Off" and override == "0" then

    fibaro:call(239, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat Aslihan & Kaan set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(239, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat Aslihan & Kaan set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 1800 then

    if away == "Off" and override == "0" then

    fibaro:call(239, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat Aslihan & Kaan set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(239, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat Aslihan & Kaan set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 0000 then

    if away == "Off" and override == "0" then

    fibaro:call(239, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat Aslihan & Kaan set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(239, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat Aslihan & Kaan set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    -- Zone 4: Badkamer

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 0700 then

    if away == "Off" and override == "0" then

    fibaro:call(240, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat badkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(240, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat badkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 1200 then

    if away == "Off" and override == "0" then

    fibaro:call(240, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat badkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(240, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat badkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 1800 then

    if away == "Off" and override == "0" then

    fibaro:call(240, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat badkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(240, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat badkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    if (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)

    and currentTime == 0000 then

    if away == "Off" and override == "0" then

    fibaro:call(240, "setTargetLevel", "20.5");

    fibaro:debug('Setpoint Thermostat badkamer set to 20.5 degrees.')

    else

    if away == "On" then

    fibaro:call(240, "setTargetLevel", "18");

    fibaro:debug('Away Mode ON, Setpoint Thermostat woonkamer set to 18 degrees.')

    fibaro:call(122, "Verwarming in nietThuis modus");

    end

    if override == "1" then

    fibaro:debug('Override on, not following schedule.')

    end

    end

    end

    fibaro:sleep(60000);

    end

    I would like to thank hvb83 for the smart code!

    • 0
    Posted
    also not using the build in Heating Panel

    Why don't you use the heating panel?

    • 0
    Guest Hakanos
  • Inquirer
  • Posted

    Cause:

    - I cannot override the heating panel when needed

    - I want a different heating schedule when I am not at home and my alarm is armed

    - I want to override my heating schedule per zone in case windows are open

    - I want more schedule points

    Do you need more

    Please login or register to see this image.

    /emoticons/default_icon_mrgreen.gif" alt=":mrgreen:" />

    • 0
    Posted
    Do you need more

    No it is more than enough, thanks for answer

    Please login or register to see this image.

    /emoticons/default_icon_biggrin.gif" alt=":-D" />

    You definitely have much more requirements than I have.

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