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


team to develop smart heating


Recommended Posts

Guest Kuuno
  • Topic Author
  • Posted

    i did a small script to control heating for underfloor heating. it uses little compensation for overheating but it is not very good logics yet but comment it

    im using it in a 400m2 house w underfloor heating and it keeps pretty good level unless the heating is raised lets seay 3 degrees, then the overhetaing compensation logic is notvery good

    ------------------------------------------

    --vir dev id

    local device = 527;

    --heating zone

    local zoneid = 11;

    --controlled relay

    local valveid = 13;

    --room temp sensor

    local tempid= 379;

    --overheating compensation in degrees

    local comp = 0.2;

    --hc2 ip

    local hc2 = "1.2.3.4";

    HC2 = Net.FHttp(hc2,80)

    HC2:setBasicAuthentication("user", "password")

    -- get harmonogram

    response ,status, errorCode = HC2:GET("/api/panels/heating?id="..zoneid)

    jsonTable = json.decode(response)

    target = tonumber(jsonTable.properties.vacationTemperature)

    current = tonumber(fibaro:getValue(tempid, "value"))

    fibaro:call(device, "setProperty", "ui.lblInfo.value", "Hetkel: "..current.." Eesm: "..target);

    --heating control

    if

    target - current <= comp

    then

    fibaro:debug("overheating compenasation active. T: "..target.." H: "..current.." C: "..comp)

    fibaro:call(valveid, "turnOff")

    fibaro:call(device, "setProperty", "ui.lblStatus.value", "Off");

    fibaro:debug("küte väljas")

    elseif

    target > current

    then

    fibaro:call(valveid, "turnOn")

    fibaro:call(device, "setProperty", "ui.lblStatus.value", "On");

    fibaro:debug("küte sees T: "..target.." H: "..current.." C: "..comp)

    end

    Posted

    Hello! This will be my first post!

    I'm about to build a new house with water floor heating and will be trying to implement Fibaro as the heating master for the house. So this is very interesting.

    I am completely new to Fibaro and z-wave, but I have worked in industry and on offshore oil installations and based on my experience from there, I was thinking about basing my heating system on a PID-controller scheme. Basically a controller which will not only react to the magnitude of the temperature difference between the setpoint and the actual temperature (a P-controller - like a thermostat), but also how fast the temperature is changing, and how long the temperature have been different between the two values.

    Only problem is that with floor heating, I'll have a huge thermal mass to acount for, for PID controlling might not be the best solution. But that will be determined based on charting the temperature change in the house.

    Therefore, I am also reviewing a more advanced control scheme for this based on a series of input and a piece of "artificial" intelligence. Basically an algorithm based on inhouse measurements along with outside temperature, sunshine and of course if the fire place is lit. This will constantly feed into the algorithm to keep the temperature as constant as possible, while minimizing heat consumption. Therefore it should also control the heat recovery ventilation.

    Anyway, I will be following the development of this project and will be glad to share the experience I gain from my house project once it gets underway.

    Posted

    Krikroff posted a very interesting link in another topic:

    Please login or register to see this link.

    I've only scanned the content briefly, but I think this does almost exactly what we need.

    Posted

    I think that we have a huge, international mountain of knowledge, experience and skills here.

    I took a look at the trello board (see post of rvorsten) - looks fine to me and i think we should consider this as any other project.

    Let's make the functional and non functional requirements.

    Let's define the rules and constraints that the system should follow.

    Let's vote on what we will do in version 1 (that's possible on the trello board!)

    And then let's do it!

    @rvorsten

    Can you give me access to the trello board please?

    • 2 weeks later...
    Posted

    The trello board seems to have been abandoned.

    Please login or register to see this image.

    /emoticons/default_icon_cry.gif" alt=":cry:" />

    Posted

    TheCycler, drop me a message with your email address please and I'll add you to Trello... Thanks,

    Ronald

    Posted

    I now have the basic code ready to have a normal clocktime available, instead of a countdown in minutes; much more convenient when setting a delay until the heating should be turned on again. Just roughly prepared, not added to a functional heating device yet.

    And I'll see if I can add an anticipation mode to it while I'm at it; measuring the time it takes for the zone to heat up and then anticipate on that for the next warm-up cycle.

    [ Added: 2014-02-12, 10:52 ]

    Attached is my update. It's still a little bit rough around the edges and NOT suitable for people that expect a plug and play heating control at the moment. To give an idea of where I'm going right now it does work however and people can play around with it and perhaps bring it a few steps further.

    I've added a delay timer now that is much easier to work with than the countdown that was present in the previous version. In all honesty I used the code from somebody else on this forum for this (I have forgotten who it was, I'm sorry, but cudo's to you!).

    Also added are several buttons that will be used in a new version of the heating panel. So for now they do not work very well yet.

    Sleep means it will lower all room thermostats except for the sleeping room thermostats. Somewhere after midnight this global will be restored, so that the schedule starts running again in the morning.

    Away simply lowers all valves and when the time below has come or ultimately the next morning the schedule will be restored to normal.

    Home means that you are home. This is an override in the schedule. This is especially convenient if you sometimes work at home, but not in a way that it makes sense to incorporate it in the schedule. By pressing "Home", an alternative "else" statement in the heating schedule will be selected, leaving the heating in certain rooms on.

    And vacation simply means you turn off the heating schedule until the time when you decide to turn the heating back on. For now I haven't added a date or time to that. It would make things more prone to errors again. With a fixed thermostat you should off course be able to tell the thermostat that you'll be home again in 20 days, since otherwise your house will be cold when you get home. With the HC2 you can turn the heating on when you're almost back, so I decided to drop it for now.

    Next up will be incorporating all the buttons in the actual logic for the heating schedule and also adding some checks for open door sensors and stuff like that. That requires some rework of the panel and a different way of transmitting the setpoint to the valves. But it's more work than I would have expected (at least with my knowledge...

    Please login or register to see this image.

    /emoticons/default_icon_rolleyes.gif" alt=":roll:" /> ) and my spare time is scarce, so it's not proceeding as fast as I would have hoped. On the plus side, it allows us to add some anticipation intelligence to the virtual device later on, so the work I'm spending now isn't for nothing.

    Please login or register to see this attachment.

    • Like 1

    Join the conversation

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

    Guest
    Reply to this topic...

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