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

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

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Guest Hakanos
  • Inquirer
  • Thanks Brian, this works.

    Please login or register to see this image.

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

    Link to comment
    Share on other sites

    • 0

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

    Link to comment
    Share on other sites

    • 0
    Guest Hakanos
  • Inquirer
  • 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.

    Link to comment
    Share on other sites

    • 0

    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.

    Link to comment
    Share on other sites

    • 0
    Guest Hakanos
  • Inquirer
  • 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

    Link to comment
    Share on other sites

    • 0
    Guest Hakanos
  • Inquirer
  • 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!

    Link to comment
    Share on other sites

    • 0
    Guest Hakanos
  • Inquirer
  • 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:" />

    Link to comment
    Share on other sites

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

    Link to comment
    Share on other sites

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