This is the forum archive of Homey. For more information about Homey, visit the Official Homey website.

The Homey Community has been moved to https://community.athom.com.

This forum is now read-only for archive purposes.

[App v0.1.0] Heating Schedule - App can only me sideloaded (no SDK2 yet)

CodeKingCodeKing Member
edited April 2018 in Apps

Heating Schedule for Homey

App Store: --
GitHub: https://github.com/priknr1/priknr1.heatingschedule
Latest Version: v0.1.0

Now you can control your thermotats within the app by the zone they are attached to.

Because an app can't access zones & devices right now, the rest api with your bearer token will be used instead.
Don't forget to disable existing heating flows so they won't overwrite the schedule :)

Supported Cards

Trigger
  • Thermostat triggered
    • when a schedule triggers an thermostat
  • Thermostat updated
    • when a schededule finally updates the temperature (within the wakeup interval)
Condition
  • check if scheduler is enabled / disabled
  • current zone's temperature is greater / less than
Action
  • enable / disable the heating schedule (e.g. for holidays, no members at home)
  • update temperature of a zone (e.g. for leaving home, set temperature to 17°)
  • trigger last schedule for a zone (e.g. for coming home, set temperatures to last scheduled settings)

ToDo

  • Scheduling
    • pre-configure scheduling for future date-ranges (e.g. for holidays or shift workers)

Changelog

  • 0.1.0
    • initial stable release
    • verify bearer token after saving
    • logging output added to app settings
    • nest thermostat is working
    • condition card: current zone's temperature is greater / less than X° (if available by device, the measured temperature will used, otherwise the target temperature)
  • 0.0.3
    • many bugfixes and improvements
    • action card: update zone's temperature
    • action card: trigger latest schedule for a zone
    • condition card: is schedule enabled / disabled
    • settings: show thermostats in the selected zone
  • 0.0.2
    • small bugfixes
    • dutch language added (big thanks to DieterKoblenz!)
  • 0.0.1
    • initial beta release

Screenshots





«134

Comments

  • Pretty cool stuff!! :+1:

    (too bad I don't have a smart thermostat :disappointed:)
  • Nice  :) will try it 
  • Love the app, im gonna use it big time.

    Feature request. Holiday schedule maybee even with a date option you can schedule in the app

    Great work
  • Nice idea!
  • Great app! Gonna try this soon!
  • will this work with the nest and should i maybe deactivate a possible schedule on the nest
  • HarmLutjeboerHarmLutjeboer Member
    edited April 2017
    I installed the app an hour ago and make a schedule for my livingroom. Now awaiting for something to happen. I have a Toon thermostat from Eneco at the wall in the livingroom. The app did recognize the thermostat, so thats seems to work fine.
  • Nice! I was almost tired of waiting for Athom or some community developer to make a scheduler. Imho a scheduler should be core functionality in Homey.

    But glad you put the effort in it to build this. Thx!
  • Looks great! It is that the ThermoSmart has a good scheduler with app on smartphone and tablet, but I like the idea!
  • installed it, but not sure what it shoud do?

    I made an schedule and enabled it and what then?
    Should it run by itself or should i make a flow to enable it?
    Also does it 'only' change the temp on the set schedule or does it also change between times if it is enabled?

    If it does only switch on the scheduled time this app is usefull if your thermostat had no schedule by itself, but when it has what is the benefit of this app?
  • Does not work with heatlink
  • CodeKingCodeKing Member
    edited February 2017
    Thanks for all your feedback, I try to answer some questions:

    @mruiter:
    I will try to add an option where you can pre-configure specific date ranges with other schedulings (e.g. for holidays, shift working, etc).

    @satbopper:
    @jtebbens:
    should work with your devices, too, as the driver's capability 'target_temperature' exists. But I don't have these devices to test them fully.

    @B3rt:
    When an schedule is enabled, it will be active immediately and run itself without any flows.
    It does only update the temperature on the configured day / time from the specified zone in the schedule.

    I just can explain from my use case:
    I own 10 Danfoss LC13 thermostats which don't have an own scheduling app. And even if your thermostat have one, I think you can't combine it with homey totally!? Correct me, if I'm wrong.

    Anyways I wanted a short way to schedule my thermostats in my zones (because in some zones I have 2 thermostats) and configure them for several days and daytimes. In addition to that, I wanted to combine the scheduling with flows so I can enable / disable the schedule when noboday is at home or somebody just went home simply.

    When I tried to set all that by flow(s), I needed a bunch of them for just one thermostat which wasn't very comfortable.

    In the next few weeks there will be more options, to...
    ... read the zone's temperature by flow
    ... set the zone's temperature by flow 
    ... run the latest schedule again by flow (e.g. when somebody just went home / enters a gps zone)
    ... preconfigure schedulings for date ranges (e.g. for holidays, shift working)

    Right now the app needs to become more stable (recieved some app crash reportings and a fix for that is already on it's way) and then I'll work on new features.


  • @CodeKing
    thx for the feedback.

    I do not use any schedules (my thermostat does supports it), i let homey switch it on/off when someone is home or not, movement, going away, going to bed etc.

    So i don't think i need it at the moment, but it is great it exist, i am sure other people use it as a scheduler!

    Hope more of these usefull apps will become available in the future
  • It looks like the Fibaro HC2 layout  ;)
    Nice job!
  • HarmLutjeboerHarmLutjeboer Member
    edited February 2017
    Maybe I ask a stupid question now, but there is somthing I don't understand. I can enable/disable a schedule for "thuis" and for "woonkamer". In the "woonkamer" I have a Toon thermostat from Eneco. When I enable the schedule for this room there is nothing gonna happen. So what is the schedule doing on the "thuis" directory? Here are two screenshots I make to help you understand what I mean..


  • CodeKingCodeKing Member
    edited February 2017
    I wanted to control zones from parent zones, too. So if you have thermostats in different zones, you can schedule every zone separately or just the parent zone.

    It might be a bit confusing if you have just one zone with a thermostat attached.
    I may change the app settings without selecting zones, if just one zone with thermostat is available.

    Example:

    Home
    --> Groundfloor
    ---------> Livingroom
    ---------> Diningroom
    ---------> Bedroom
    --> Roof
    ---------> Office
    ---------> Bathroom

    1. You can schedule the zone "Home" which controls every thermostat in all zones.
    2. You can schedule the zone "Roof" which controls every thermostats in the zones "Roof", "Office" & "Bathroom"
    3. You can just schedule the zone "Office" which controls just the thermostat in this zone
  • Allright.. I'll get it. So this way you can make a schedule for you whole home, for a specific floor or a specific room. Cool!!!..... eh.... I mean..... HOT!! :)

    So in my case, if I disable the schedule for "thuis" (wich is my whole house) and I enable the schedule for "woonkamer" (witch have the Toon) it should be working correctly right? 
  • jepp, that would be the correct and working settings :)

    But in v0.0.1 is still a bug that might appear and results in an app crash on updating the temperature. A fix for that (and dutch translation) is already on its way and is just waiting for approval.
  • Great, so for now it isn't working with the Toon thermostat it seems. Maybe you can fix this in the next update of your app. 

    For a while is was thinking about a way to control the temperature in every room separately. I could not find a solution that works fine with me. I found the POPP Thermostat Valve, and I thought maybe this wil work. (This device can be connecting to the homey already). The only problem is how to get the signal to the central heating system I guess. Maybe that may work with your app.

  • Theoretically every thermostat supported by homey should work as the app uses the official capabilities 'target_temperature', defined by Homey. But I actually just own some "Danfoss LC13" thermostats to test with.

    On wednesday I can test a Nest thermostat of a friend, that don't seems to work also with this app. Maybe I find a solution for the Toon thermostat by that, too.
  • Hey I've been testing with Heatlink (yes it is using the target_temperature feature). But it doesnt see any change to that capability). I've enabled my heatlink and used the Homey/Heatlink device to modify the temperature to 14,5c but your app doesn't detect this change. Heatlink is under Home/General not zone. Also the bearer token is set. Currently no program configured.

    -------------------------------------------------
    Starting Heating Schedule...
    Requesting /manager/zones/zone?recursive=1&_=1487596512813
    Requesting /manager/devices/device?_=1487596513094
    Last Update: 1s ago
    mo - 14:15
    Last Update: 61s ago
    mo - 14:16
    Last Update: 121s ago
    mo - 14:17
    Last Update: 181s ago
    mo - 14:18

    Also your flow card doesn't trigger on update and hence can't update the corresponding thermostat value the card holds.
  • Ok I enabled the program for thermostat and it did trigger heatlink eventually.
    Set 14:33 as 20c

    Last Update: 60s ago
    mo - 14:33
    Set target temperature of device Heatlink (225159e3-4ac2-4b9a-afaf-b8e9e328d37b)
     to 20°
    Requesting /manager/devices/device/225159e3-4ac2-4b9a-afaf-b8e9e328d37b/state/?_
    =1487597594792
    Temperature for device 225159e3-4ac2-4b9a-afaf-b8e9e328d37bupdated to 20°.
    { [Error: missing_tokens] message: 'missing_tokens' }
    Flow heatingThermostatUpdated: undefined
    Last Update: 120s ago
    mo - 14:34

  • @jtebbens
    Thanks for the information, I will test out some cases with your informations later.

    The app doesn't detect temperature changes by other flows or the thermostat directly, it just updates the capability 'target_temperature' to the defined temperature on the scheduled day / daytime for all thermostat devices within the zone.

    The 'Update' Flow Card is buggy in 0.0.1, fixed that in 0.0.2 already (still awaiting approval).
  • CodeKingCodeKing Member
    edited February 2017
    jtebbens said:
    Ok I enabled the program for thermostat and it did trigger heatlink eventually.
    Set 14:33 as 20c

    Last Update: 60s ago
    mo - 14:33
    Set target temperature of device Heatlink (225159e3-4ac2-4b9a-afaf-b8e9e328d37b)
     to 20°
    Requesting /manager/devices/device/225159e3-4ac2-4b9a-afaf-b8e9e328d37b/state/?_
    =1487597594792
    Temperature for device 225159e3-4ac2-4b9a-afaf-b8e9e328d37bupdated to 20°.
    { [Error: missing_tokens] message: 'missing_tokens' }
    Flow heatingThermostatUpdated: undefined
    Last Update: 120s ago
    mo - 14:34

    Ah, the trigger seems to be working, the 'missing_tokens' error ist the bug which I ment in 0.0.1 flow card, which can result in an app crash. Hopefully 0.0.2 will be approved later this day :)
  • CodeKing said:
    jtebbens said:
    Ok I enabled the program for thermostat and it did trigger heatlink eventually.
    Set 14:33 as 20c

    Last Update: 60s ago
    mo - 14:33
    Set target temperature of device Heatlink (225159e3-4ac2-4b9a-afaf-b8e9e328d37b)
     to 20°
    Requesting /manager/devices/device/225159e3-4ac2-4b9a-afaf-b8e9e328d37b/state/?_
    =1487597594792
    Temperature for device 225159e3-4ac2-4b9a-afaf-b8e9e328d37bupdated to 20°.
    { [Error: missing_tokens] message: 'missing_tokens' }
    Flow heatingThermostatUpdated: undefined
    Last Update: 120s ago
    mo - 14:34

    Ah, the trigger seems to be working, the 'missing_tokens' error ist the bug which I ment in 0.0.1 flow card, which can result in an app crash. Hopefully 0.0.2 will be approved later this day :)
    I tested with your Github version so I figure its the one you are pushing to app store, hence its not resolved.
  • CodeKingCodeKing Member
    edited February 2017
    @jtebbens
    Your're right!
    I just pushed a new update into github where this and other things are fixed. You may test this update version.
    On wednesday evening I'll push the new version to the appstore, it should run more stable then for all thermostat devices with some new features.

    Changelog (so far)
    • Bugfix for decimal temperatures (won't updated the device)
    • Bugfix for flow 'thermostat triggered', it will be checked now internally in an interval if the temperature were updated, instead of waiting for the rest api's response (which timed out too quickly)
    • New: App Settings: Show thermostats for each zone
    • New: App Settings: If just one zone contains thermostats, the zone list will hide
    • New: Action Card: Update temperature for a specific zone
  • CodeKing said:
    @jtebbens
    Your're right!
    I just pushed a new update into github where this and other things are fixed. You may test this update version.
    On wednesday evening I'll push the new version to the appstore, it should run more stable then for all thermostat devices with some new features.

    Changelog (so far)
    • Bugfix for decimal temperatures (won't updated the device)
    • Bugfix for flow 'thermostat triggered', it will be checked now internally in an interval if the temperature were updated, instead of waiting for the rest api's response (which timed out too quickly)
    • New: App Settings: Show thermostats for each zone
    • New: App Settings: If just one zone contains thermostats, the zone list will hide
    • New: Action Card: Update temperature for a specific zone
    Thanks! Will try tomorrow. One thing on dutch translations is the trigger and update card have the same. But hard to see which one you selected.
  • @CodeKing ok tested and confirmed it works!

  • @jtebbens, at what screen are we watching? Do you use a own dashboard or something like that?
  • CodeKingCodeKing Member
    edited February 2017
    @jtebbens: awesome! May anyone with a Nest thermostat could test the github version, too. If not I'll be able to test it tomorrow.

    @erwinrensink: that should be the internal web-app of HomeWizard to confirm the temperature has been changed through the scheduler
Sign In or Register to comment.