balmli / no.almli.thermostat Goto Github PK
View Code? Open in Web Editor NEWVirtual thermostat and humidity app for Athom Homey
License: GNU General Public License v3.0
Virtual thermostat and humidity app for Athom Homey
License: GNU General Public License v3.0
I'm controlling the temperature in my floor (water heating) in entire house with actuators and sensors connected to Vthermo.
Vthermo worked great when I first set it up in desember 2019, but something has stopped working along the way. I suspect that the 4.1 update killed my vthermo?
Symptoms: All my instances of vthermo is turning itself off multiple times a day. And I have to check this manually at regular intervals to turn my heat on again. I'm getting a bit bored of this now and the house is always in a cold state since heating is turned off so often.
This is critical functionality for me, and if I cant solve this I have to throw Homey away and get another system.
Any logs I can find to see what turns vthermo off (I have made a feature request to Homey since the logging is so minimal that I'm not able to find out what actually turns off vthermo - I'm not sure it is vthermo itself, could be Homey, bugs making it stop, a flow, google assistant, tibber or a human beeing. I'm not able to find this out and it is a major weakness of Homey.
Is this a bug or a feature? How to solve it?
Bjørn - ser ut som du er norsk, så vi kan gjerne ringes eller ta et videomøte.
I have v 2.0.0 RC. 9 of Homey but with me he doesn't make any groups he can manage.
Am I doing something wrong here?
How does it actually work?
Is there some kind of explanation?
I have a temperature taker of Xiomi and a radiator fault of eurotronic the spirit.
But this he doesn't want to merge to start working.
I would like to hear from you how I should address this.
I’m using several Vthermostats with Sonoff temp sensors and IKEA smart plugs. Within Homey this works like a charm. But my preferred approach for controlling my home is through Apple Home. It simply has a higher spouse approval factor and I have to admit that I too like the UI in Apple Home better.
So I have added the Vthermostats with Homekitty. They show up as expected and are recognized as thermostats, but the target temperature range in Apple Home seems to be fixed to 10 to 38 degrees centigrade, whilst they’ve been set to 1 to 25 degrees in the advanced settings of the virtual device in Homey. Is this a limitation in Apple Home, a problem with the translation in Homekitty, or is it a bug in Vthermo?
I cant invert the humidity, i have a very dry house so i want to increase the humidity thru a humidifier. Now i can only “decrese” the humidity. Second the slider doesnt shows a percentage, this makes it more of a gamble where to set it to. Besides these small problems it is a great app ;)
v.1.9.2 HP2019
Vthermo state does not change.
Issue 1. When moving the target temperature before or after the current temperature, the state is not updated. Settings follow below. I experience this for two Vthermos.
I have created a new Vthermo under v.1.9.2: State not changing
I have created a new Vthermo under v.1.10.3: Does not pick up temperature from any sensor in the same zone.
Maybe the issue under 1 is related to issue 2 described below.
Issue 2: Average temperature is incorrect.
a. When Vthermo in the same zone with two Hue sensors.
b. When Vthermo in the same zone with two Hue sensors from the HA Commmunity app.
Regarding using the Philips Hue motion sensor from the HA Community app. I have written about it here.
https://community.homey.app/t/app-pro-vthermo/36442/262?u=rrrr
image
image
373×790 23.3 KB
image
I cannot set target humidity to be the current humidity. The flow card gives an error.
This should be possible no?
Perhaps it’s because humidity is not an integer?
Hi again! :-)
I'm having many rooms that I only use some weekends or a few days through the month. In these rooms it would be great if I could turn off the thermostat exactly like it is done with your HeatingController by a single press on the device icon.
With that feature, I can easily turn on or off the thermostat when needed, and it will start heating from the temperature it was last set. Also if the thermostat is turned off, flows that I'm using will not do anything with the thermostats that is in an off state.
Is that a feature that is possible to implement? I would love to see that in a future version of your handy app.
Hei Bjørnar.
I added a virtual thermostat to a room where I have a Netatom Weather Station device. The temperature in that room is currently 21.5, but the virtual thermostat says the current temperature is 9.7 for some reason.
It seems the vThermo have a problem reading the temperature correctly from the Netatmo weather station. Is it possible for you to troubleshoot the problem?
I´ve been using Vthermo with a Fibaro motion sensor and a Telldus plug-in switch controlling an electric heater. This has been working flawlessly.
However, a week ago I replaced the plug-in switch with a Telldus plug-in switch mini, in order to be able to measure the power consumption of the heater. I´ve made sure that the switch is assigned to the same room, and the old switch is renamed and moved to another room/zone.
Since replacing the switch, Vthermo no longer turns the heater on and off, and it is constantly reporting a temperature of 20.8 degrees (which is wrong).
The Fibaro motion sensor reports correct temperature, and the plug-in switch can be turned on and off manually (from the Homey-app).
I love your app. Just a question about the humidity setting though. I have a Aeotec humidity sensor (Multisensor 6) how do I set this as the humidity to compare with? I want to use your app to turn on a bathroom fan with a nano dimmer.
Thanks
Andy
Hello,
The virtual thermostat is easily added to the Apple Home program via plugin
https://apps.athom.com/app/com.swttt.homekit
and when you change the temperature in this thermostat with your Homey program, these changes immediately appear in the Home program, but when you change the temperature in the thermostat in the Home, these changes do not change the temperature in the thermostat in the Homey ( Homey sends the changes to the Home, but the Home does not transfer the changes to Homey). Sometimes, very rarely, all the same, Homey receives changes in the set temperature from the Home, but this happens once out of 10 and more often with upward changes, with downward changes, Homey does not receive data from the Home program.
Maybe this problem is not in your plugin, but in HomeyKit?
Thanks for the quick response.
Good evening,
Is possible to increase the maximum temperature of the thermostat to 120 degrees? We have a bio heater, which is connected to the central heating system. it works with this high temperatures.
Thank you in advance
I look forward to hearing from you.
Since 2 days or so ago, the VThermo is not working, see above.
Hi!
Thank you for this great App! Is it possible to choose which temperature sensor i like to use for the zone? I‘ve got a Netatmo and a Danfoss Room Thermostat in our living room. But the virtual thermostat only use the Netatmo data! I would like the data of my Devolo Room Thermostat instead..
This is a feature request.
In the Homey app, your vThermo shows the selected temperature in the squared icon. In the HomeKit app, the same icon shows the current temperature instead. I find the latter more relevant as I usually want to know the temperature in the room. If I can see that just by looking at the device icon, it is a lot quicker and better in my view.
What the room is set to is just something that goes on automatically in the background, but what the temperature actually is in the room is always relevant to know in a quick glance (without having to hold my finger for a few seconds on the device icon to see all the details).
Any chance you could change the information on the device icon from "temperature set" to "current temperature"? Alternatively make it an option you can choose between in the settings or when you create the vThermo device?
Maybe it's out of the scope of this issue tracker, but I am trying to use vthermo together with Danfoss LC-13 thermostats, which only has 'set a target temperature' as 'then', not just on/off. Could you give an idea to set this up?
The Danfoss thermostat is situated near the window and therefore needs to be set a couple of degrees higher than the temperature sensor which works as the vthermo thermostat. Is it possible to use vthermo in this case?
Hi,
is there any reason why vthermo doesn't read the temp from fibaro smart implant sensors? is there a possibility to add this feature?
thanks in advance,
Nicky
In my setup both in combination with another thermostat, and as standalone, the VThermo sometimes fail to switch off the Zwave controlled heater. VThermo has heating "switched off" but the Zwave smart plug is still on. Also trying to start a flow with "Heating off" does not work, the Homey app crashes. Running Homey Pro and App on Android... The setup is according to instructions, with heaters in the same zone controllable. This does not happen all the time, but sufficient to be annoying, and it does not affect the "switch on heater".
Of course it may boild down to Zwave (Aeotec Smart plug), but normal Zwave operations seem to be running smooth and stable.
In some rooms I have set up a "watch dog" that chacks if VThermo has turned off heating, but the heater still uses power, then force off.
Otherwise the App is really saving a lot of flows...
Any Ideas?
The last couple of months the VThermo Thermostats often shows the wrong temperature. This has never been a problem before. When I restart the VThermo app in the homey app, it works correctly again.
Seems like it gets out of sync after a Homey reboot. Or something like that. Regardless, it is a very crucial bug as it stops turning the heating devices on or off correctly. I hope it can be fixed. If you need more info or a diag, just let me know.
A minor issue:
When entering the hysteresis value, I am offered a keybourd with the comma not with the dot which is required for the decimal input.
I have a couple of Eurotronic spirit thermostatic valves at home. Each valve has a built-in temperature sensor. Unfortunately, VThermo is not detecting these temperatures.
Any idea how to fix this?
I removed all the VThermo devices, created them again and updated flows and Homekit devices to make it work again manually. After a new reboot of Homey, HeatingController works, but again, all the newly created VThermo devices does not work. Now the error when I click it is:
"Something went wrong, please try again."
When I try to configure the device, I can see the Timeout error.
If I can be of any assistance in fixing the problem, please let me know. (And let me know if you still read this thread). Thanks.
Originally posted by @TheArcturian in #23 (comment)
Thank you for a fantastic app!
I have a suggestion: It would be nice if it was possible to have the vthermo’s “current temperature” display as the vthermo’s status indicator. Today the status indicator is the set temperature, and it is not configurable.
I would like to have this option because my vthermo devices are automatically controlled by a third party (Tibber in my case) and I therefore don’t particularly care about the set temperature in homey. The current temperature however is interesting because it’s calculated from multiple sensors in each zone.
I use VThermo in a room with 3 floor based water heat loops (vannbåren vannsløyfer). So I have 3 devices set as "Heater" devices in the same zone.
However, when VThermo turns on or off the heat in that room, only one or two of the devices is turned on or off. Usually just one of them.
It seems like Homey isn't able to process all three at the same time and just skips one or two of them. If you add a delay of 1-2 seconds on the Heater devices, I think it would be fine. Is there any chance you can debug or fix this issue?
If you need any more information, just let me know. The Heater devices is created with the Heatit Z-wave app.
@balmli
I installed your app in Homey, and it's promising to be very powerful for heating management!
My settings: I had some Sonoff (Tasmota) devices installed, all of them perfectly working with my flows.
But, after seeing what VThermo does, to simplify the temperature managing I created a test zone with a temperature sensor (Sonoff TH16), and a seperate switch (always Sonoff) with a heater plugged in. Then I installed VThermo and added to that zone a VThermo device.
Unfortunately VThermo doesn't work (or that is what seems to me):
Maybe I did something wrong?
I removed/reinstalled/restarted the app, but this didn't help...
I use a lot of Vthermo 's in my home with homey. When I load them into Home assistant, the 'old' ones work. But the new ons do not :(
I seem to miss the 'climate.......' trigger (see picture left is old and OK, right is missing the climate thingy.
Can this be fixed, or am I doing something wrong ??
Hello,
I have added a VHumidity device on my Homey, but HomeyKit (HomeKit) does not see it.
any idea why? :-)
I have setup a virtual thermostat using Vthermo in the same zone as a virtual heater created via the Virtual Devices app. The thermostat collects the temperature from that zone, but does not manage to turn the virtual heater on or off. Do I have to do anything more?
HI,
I have issue with vThermo. By mistake, I moved radiator valve to the room, where I had previously set vThermo with relay and temp sensor. For some reason, the virtual thermostat stopped working, it is still reading the temperature, but I am not able to set new temperature on it.
I tried reinstalling it, doing it in completelly new section, restarting... nothing seems to work. I still can not set the temperature.
Can you please help somehow? Thanks
Hi! Would it be possible to make a humidity trigger as well? If humidity is over a given value, trigger a fan/switch.
Very usefull to bathroom, garages etc.
Today we have to use flows for this :-)
I get a timeout when clicking on vthermo devices after Homey was upgraded to 2.5.2. Netatmo also shutted down so I guess Athom broke something with its core fixes.
Restart of app or Homey does not help.
There's a "session expired" - bug in Homey firmware 2.1.1
Fixed in 2.1.2-rc.3
[Apps SDK] Fixed an issue that in some cases could cause apps to receive expired API tokens
https://firmware.athom.com/
Hi @balmli and thank you for the great App. I have a feature request and not a issue: is it possible to implement also air conditioner? Like now Heater on/off when cold/warm, but also with aircon on/off when to hot, when temperature for example 3 degrees over target? Thank you.
Any chance of having a PID regulator implemented as an alternative to hysteresis?
Why:
This will give a more stable temperature in the room (for thermostats regulating the room temperature)
How:
To give you an idea: here is a code example showing how I implemented this in my virtual thermostat in Domoticz. (It works very well there, but I am just about to move over to Homey, and would like to bring this feature with me)
local function PowerCalc(domoticz, myDevices, setPointDevice)
-- Calculate and return the power requirement for the current calculation cycle
-- myDevices: Table with devices needed for calculations (Required: controlModeSelector, tempGauge, setPointDevice)
local dz = domoticz
local power -- Required power output from the heat source
local err -- error used in the proportionality calculation
local intGain -- The integrator
local Kp = dz.data.Kp
local Ki = dz.data.Ki
local Ti = 3600 --dz.data.Ti
local propGain
local controlModeSelector = myDevices.controlModeSelector
local tempGauge = myDevices.tempGauge
local tempErrorCode = 999
--local intGain
--Calculate the proportional gain
local tempNow = getTemp(dz, myDevices.tempGauge, 1, 0)
local setPoint = setPointDevice.setPoint
err = setPoint - tempNow
propGain = Kp * err
logWrite(domoticz, 'minterm: Temperatur: '..tempNow)
logWrite(domoticz, 'minterm: Err(t) = '..err)
--Calculate integrator gain
--Using clamping to avoid integral windup
local Ts = cycleTime
if (triggeredItem == setPointDevice.idx or triggeredItem == controlModeSelector.idx) then
Ts = 0
end --Er betingelsene gode nok begrensninger?
local intGainOld = dz.data.int
local intGainNew = intGainOld + (Kp * Ts) / Ti * err
--Start clamping procedure
if (propGain >= 0) then
if (propGain + intGainNew <= 100) then
intGain = intGainNew
elseif (propGain + intGainNew > 100 and propGain + intGainOld <= 100) then
intGain = 100 - propGain
else
intGain = intGainOld
end
elseif (propGain < 0) then
local gaugeResoltion = 0.1 -- The resolution of the temperature gauge
local gainResolution = Kp * gaugeResoltion -- Minimum change in propotional gain.
--Using gainResolution instead of zero in if statement below will allow integrator to go all the way to zero. Will only go down to Kp if zero is used
if (propGain + intGainNew >= -gainResolution) then
intGain = intGainNew
elseif (propGain + intGainNew < -gainResolution and propGain + intGainOld >= -gainResolution) then
intGain = math.max(intGainNew, 0)
--intGain = 0 - propGain -- men ikke mindre enn 0!
else
intGain = intGainOld
end
end
if tempNow == tempErrorCode then intGain = intGainOld end -- Keep the integral gain if temp gauge is not alive. Will then continue with same int. gain when gauge is back.
dz.data.int = intGain
-- End clamping procedure
logWrite(domoticz, 'minterm: Int(t) = '..dz.data.int)
--Calculate the power demand
if tempNow - setPoint >= overShootLimit
then
power = 0
else
power = propGain + intGain
end
power = math.min(100, power) -- maximum 100 %
power = math.max(0, power) -- minimum 0 %
logWrite(domoticz, 'minterm: Power = '..power..'; KP = '..Kp..' ; Ti = '..Ti..' ; Prop gain = '..Kp*err..' ; Int gain = '..intGain)
return power
end
I’ve had VThermo working fine for a long time, but when I’m starting to use it again now that outside temperatures are dropping, it no longer works. I deleted the old instance and created a new one. It does not pick up the temperature sensor in the zone (Netatmo). I have also a smart plug and window sensor in the zone, and no indications that they’re recognized (they used to). Versions of app and Homey are latest.
In the App - it would be helpful if the current temperature number could show when it was updated/changed like in the Qubino flush dimmer app ( updated 3hours ago...)
Then it is easier to see when a sensor is dead.
Great app!
Hi.
I have Homey Pro (Early 2019) version 3.2.0. App version 3.2.0.441.
vThermo seem to be a great app for my needs, but I have some issues getting it to work.
I have created a zone with name Test. This zone has 3 devices. Philips Hue indoor sensor, vThermo and a Fibaro Wall plug. Wall plug is configured to control a heater. vThermo is not able to see the sensor or the wall plug. I also tried using the group app to create a new device of class Temperature in the same room. The group device shows the temperature from the Hue sensor correctly. vThermo is still not showing a temperature.
Any suggestions of what is going wrong?
Rgds. Jan Olav
Is it possible to adjust code so it is possible to set a lower set temp then 5c? In ghe garage i do not need 5c, 1and 2c is ok :-)
Thanks
Hi,
I use the Vhumidity, but sometimes i need to force de-activation of the fan it commands.
(for bathroom, a shower will increase the humidity a lot, but i do not want to activate fan during the shower time)
For now the only option i have found is to force humidity threshold to 90%, but sometimes this doesn't work, as humidity >90%.
My idea, is to allow de-activation of vhumidity, just like it is implemented on vthermo.
-> De-activation should stop fan(s) of the zone
-> using flows we can activate or de activate based on events.
Another option would be to allow a target of fan activation higher than 90%, 100% or more.
Thanks for you tools ;-) Tell me if you need more details on the idea.
Hi, i think the virtual thermostat is taking empty temperature sensors from my fibaro door sensor as value 0. For example if i have 2 temp sensors with 20 and 21 degrees and a door sensor with value "-" then is the zone temp into the thermostat 13.67 degrees.
Hello Bjørnar
Is it possible to add the possibility to manually choose the temp sensor, and also manually add a device as
heating, in the app?
BR
Marius
Hei!
I have a Qubino flush Dimmer with a temperature sensor connected. The sensor in Homey shows 18,5deg C - but when having dimmer, heater anh vtherm in one sone - the vtherm will not read the current temperature from the qubino.
flush dimmer zmnhdd - with the supported temperature sensor.
VTherm displays "-" as current temperature.
Known problem - or impossible to read temperature from the qubino?
Thanks! I will be using this to control my underfloor waterheating system (actuators)
Am trying to use forecast data to manage my heating. Have already defined what temperatures that should be set when the thermostat is on/off in other flows and it work just fine, but now I would like to turn the thermostat off if the cloud cover is low, but the only THEN-card that's available is Set temperature. Would it be possible to also have Turn thermostat on/off? Or have I missed something?
Homey version: v2.5.2
VThermo App Version: v1.1.14
Nest V3 . Nest App V3.0.2
-vthermostat and the nest thermostat are in the same zone
scenario: when current temp = 18 and target temp = 22, heating be enabled in the VThermo app, except the actual heating doesn't start.
A few bugs discovered today regarding the VThermo 1.1.5 beta:
All this might be related to the Homey app itself (latest current version installed), but I thought you should know anyways.
I discovered that one VThermo in one zone works fine while adding the second VThermo into the second zone is stating wrong temperature but only in the second zone.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.