Ok, sounds like something got really goofed up. That user interface has not been part of the plugin since the early alpha version. Both 0.8 and 1.0 have the new user interface, and I’ve double checked to make sure apps.mios.com has the correct files. (shown here: MiOS Apps )
I’m guessing there’s a bug in apps.mios.com that’s messed up the distribution of the new version. I’m putting a ticket in with MCV and hopefully they’ll get on it ASAP.
If you don’t mind losing your settings, it may be worth while uninstalling and reinstalling the plugin to see if you get a correct distribution of 1.0 installed.
Not sure how to force it to upgrade other than uninstall / reinstall. (and I’ve just double checked again that a clean install of the latest version from apps.mios.com results in a fully working and up to date version.)
The state does get passed to Vera, but it’s not displayed in the UI. I want to provide a visual with an icon that changes to show the current state, but unfortunately, it’s not possible in the current version of UI5. I’d thought about displaying it in a text field - maybe I should do that even though it would be ugly.
If you want to access the current state programatically (in a scene, for example), you can access the state like this: (replace 99 with the device number for your thermostat)
[tt]
local operatingState = luup.variable_get(“urn:micasaverde-com:serviceId:HVAC_OperatingState1”,“ModeState”, 99) or “”
local fanStatus = luup.variable_get(“urn:upnp-org:serviceId:HVAC_FanOperatingMode1”,“FanStatus”, 99) or “”
if (operatingState == “Idle”) then
– do something here if the thermostat is idle
elseif (operatingState == “Heating”) then
– do something here if the thermostat is currently heating
end
if (fanState == “On”) then
– do something if the fan is currently running
end
[/tt]
[quote=“resq93, post:49, topic:170555”]Any way to use your GUI with the Zwave version of this stat?
m[/quote]
Nope, unfortunately, with the Z-wave version, you’re stuck with more basic functionality. There is no standard way to control “temperature hold” in the UPnP spec, which is probably why MCV decided not to implement it.
WAIT!!! Now that I reinstalled I see your GUI for the zwave stats as well! The setting tab for those devices is correct too - do you think the hold button will work?
[quote=“resq93, post:51, topic:170555”]WAIT!!! Now that I reinstalled I see your GUI for the zwave stats as well! The setting tab for those devices is correct too - do you think the hold button will work?
M[/quote]
That actually sounds like a serious bug in Vera if you’re seeing my GUI with the Z-wave devices. There’s no way it would actually work as the underlying z-wave devices just don’t support the hold functionality through the API…
Would you mind sending me a screenshot so I can report it to MCV as a bug? (I don’t have any Z-wave thermostats to try it with)
So what seems to have happened is that I had your plugin running for a few days, I then added some zwave stats which reverted me back to their GUI (i never actually got your upgrade) When I re-installed after having both types it applied your GUI to all.
[quote=“resq93, post:53, topic:170555”]So what seems to have happened is that I had your plugin running for a few days, I then added some zwave stats which reverted me back to their GUI (i never actually got your upgrade) When I re-installed after having both types it applied your GUI to all.
I will PM the screen shots[/quote]
Thanks for the screenshot, I’m not sure MCV would have believed it until they saw it. It’s helpful that the z-wave stats have their extra buttons inactive as that makes it even more obvious that there’s a problem.
MiOS associates one Json per device type. So if you have two devices, defined in two separate device files, each with its own Json, but the same device type, then both devices will have the same UI, and that will be the UI from the last loaded Json.
In this case both your custom thermostat and the Z-Wave thermostat have the same device type, but each has its own Json. So the UI of both thermostats are the same. The first loaded Json is discarded, which in this case it’s the one from your plugin. (Actually it’s not excluded that both Jsons could be mixed and the end result is a mishmash of controls from both Jsons).
The solution is to change the device type of your thermostat both in the device file and in the Json file (at the bottom of the file).
[quote=“mcvflorin, post:55, topic:170555”]MiOS associates one Json per device type. So if you have two devices, defined in two separate device files, each with its own Json, but the same device type, then both devices will have the same UI, and that will be the UI from the last loaded Json.
In this case both your custom thermostat and the Z-Wave thermostat have the same device type, but each has its own Json. So the UI of both thermostats are the same. The first loaded Json is discarded, which in this case it’s the one from your plugin. (Actually it’s not excluded that both Jsons could be mixed and the end result is a mishmash of controls from both Jsons).
The solution is to change the device type of your thermostat both in the device file and in the Json file (at the bottom of the file).[/quote]
Thanks for chiming in. The definitive answer is always much appreciated.
Do you know if most of the user interfaces (Vera, Android, iOS) use DEVICE_CATEGORY_HVAC to identify the device as a thermostat, or do thney look for the “urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1” device type?
If they use category, is there a way to get the device categorized as a thermostat if I change the device type to something other than “urn:schemas-upnp-org:device:HVAC_ZoneThermostat:1” ?
Otherwise, it sounds like I’ll have to drop support for the additional thermostat capabilities in the Vera UI.
Currently AutHomation for android uses device categories to try it’s best to figure out the device as this is the only information I have via lu_sdata. As long as the thermostat plugin is in this category and uses the thermostat service types, it should work in my app. In future versions of UI5 (1.5.372 and newer) MCV has added an api to allow me to get the device type of the device and still maintain the small file size of lu_sdata. I will be adding this into a future build of AutHomation (2.1).
As for other apps, it is hard to say what they use. But many of them use the user_data and I would assume that they go by the device type. Hopefully others can chime in.
The is also a bug open for the behavior that Florin describes above. I don’t believe it should be that way, but more that’s because someone implemented it that way.