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.
The Homey Community has been moved to https://community.athom.com.
This forum is now read-only for archive purposes.
Virtual Smart Thermostat
konradwalsh
Member
Current Bounty - €70
UPDATE Jan 2018
The majority of this has been achieved by the app Virtual Devices
TO ALL DEVS
I would like to raise a bounty to encourage someone to create a Virtual Thermostat. It would use any temperature sensor and switch combination.
So Virtual Stat would have the following
- Heating Set Point - Achieved in Virtual Devices - Virtual Stat
- Cooling Set Point
- Heat Mode - 1 Hour of Switch On - Achieved in Virtual Devices - Virtual Stat with Flow
- Eco Mode - Temp Drops to Cooling Set Point before action - Achieved in Virtual Devices - Virtual Stat with Flow
- Normal Mode - Heat Switch is triggered until set point is reached - Achieved in Virtual Devices - Virtual Stat With Flow
- Off Mode - Do nothing regardless of temps - Achieved in Virtual Devices - Virtual Stat- With Flow
I have all of the source code for the Vera Plugin and the HomeGenie Plugin that should help anyone do it.
Firstly, are you interested?
Secondly, What is a reasonable bounty to raise?
This is what it looks like on Vera
Pledges:
- Konrad Walsh - €35 Paid to@Arie_Laxed
- jaimevisser - €5
- lazerthomas - €30
Comments
Getting data from a temp sensor and switching a relay needs access using the bearer token. This token will be replaced with API tokens in 2.0.0, so creating an app/driver like this now would need a rewrite in a couple of months.
Kinda hard to say whats a reasonable bounty...since if its created now it needs a rewrite. Plus it ain't an app that i could write within 2 hours.
I am willing to offer €35
Like @swttt indicated, major issue blocking this is the ability to link devices not part of the same app to one another...
The most user friendly implementation is by using the bearer token; expert @swttt. But this will require a rewrite once 2.0.0 is released.
Alternative, less user friendly, option would be to make this link between different devices based on flows....ie.
WHEN temp of sensor X changed THEN update temperature of virtual thermostat
WHEN thermostat switched on THEN switch on device Y and Z etc...
This version would not be that difficult to make... could re-use could of other Thermostat apps....
So what do you have in mind?
I currently do this with flows, but the issue is that its not user friendly.. Nobody can easily adjust the set points. It makes it difficult for the WAF too..
Currently, I have a vera running with the virtual thermostats on it. When the user adjusts that it sends HTTP calls.. this works but is way over complicated and too hard to maintain. But it works.
I would make an attempt but my .JS is not up to scratch and time is alluding me to learn enough.
A mobile card would be ideal. Then any home user can adjust things as normal to trigger off the changes.
To be honest.. I think Heating Schedule app by Frank Herman is almost there. If he was to make a new version of the app that reads the temp of a sensor then it would be 90% done...
I'll have a look after my holidays (end of august)... if this request is still open and give it a try if still not available, ok?
As long as no one else grabs it before you when that bounty climbs
I have a clear idea how to do it and make a good working app out of if.
But in the meantime I'm packing and not allowed to take my laptop and Homey with me...
We're talking
ANY temp sensor and ANY Binary Switch can be used - Even Virtual
The app / driver I have in mind will handle the thermostat mode / controls by the app / driver providing a mobile interface card to set mode (comfort / eco / off / cooling) and corresponding set points.
Inputs (any temperature sensor value or average of multiple sensors) and any output (binary switch(es) or ir to control the ceiling fan) will need to be linked by flows.... this will provide the most flexible solution.
@konradwalsh, @jaimevisser, @lazerthomas, does this match your request / expectations?
As indicated above, I'm still on holiday for the next 1.5 weeks, after that I will be able to start working on this app (and re-use code of my other thermostat app)...
My preference would be to not have flows involved. A bit like heating schedules..
The app should know the temperature and know which switch to activate.
Any joy?
quite busy at work (currently abroad). Hope to be able to work on it in the next two weeks...
Next step is to add a sensor, but perhaps this may already be useful.
I will check it out
Any progress to report..
We are well into the cold season here so its more needed now than ever
I’ll probably continue with VD next week.
@LyoshaDovolen
Thanks for the suggestion and thinking along.
Due to delayed development i decided to go with your Virtual Stats and create flows with them. I have to say they really nearly achieve everything.
In my opinion, if you could somehow tie a tag to the current temperature of the virtual stat that would be good enough for me.
I would see it as either I can select several temp sensors from a zone and it averages
.. or .. it can somehow reference a logic tag set elsewhere
.. or... the stat has a settable current temp
if you can achieve either of those then I would be happy to pay the bounty for this
I just published 0.7.0 in the Beta-channel and hopefully it brings you a step further. You can add a Measure Temperature to a Virtual Device with class Thermostat. You have to add a new device, though.
You can set the Measure Temperature in a flow. This is described in:
https://arjankranenburg.github.io/virtual-devices/sensor
Let me know if you need any help.
Can you calculate the average temp with an app like better logic?
Yes this will work fine. I already calculate an average of all temp senors with Better Logic
You have done a fine job. I would like to see how far you might take this.
Either way, its providing what I need and even though doesn't hit all my asks, it allows me to achieve all of my asks.
So I am happy to pay my raised amount.
@jaimevisser & @lazerthomas - if you agree, then @Arie_Laxed has achieved what we requested
@Arie_Laxed - can you PM be your paypal address
Payment made ... thanks
Receipt number: 4S9604245J268614J