toflaherty Posted January 9, 2019 Posted January 9, 2019 Is there any plan to add the ecobee as a thermostat to the agave app when using the ecobee polyglot cloud service?
James Peterson Posted January 9, 2019 Posted January 9, 2019 1 hour ago, toflaherty said: Is there any plan to add the ecobee as a thermostat to the agave app when using the ecobee polyglot cloud service? When the NS/polyglot service supports the nodehint compliance I will start to investigate the possibility of adding support.
Michel Kohanim Posted January 9, 2019 Posted January 9, 2019 @James Peterson, It already does. With kind regards, Michel
SamM Posted January 9, 2019 Posted January 9, 2019 Now that I'm on ISY v5 with Polyglot/Ecobee, and using Agave more, I was going to ask the same thing. Then I though about it more, and wasn't sure of the use case where I'd find value in it. Ecobee already has an app that I occasionally use to make adjustments. And realistically, I'm not sure when I'd actually ever make use of the Ecobee data/control in Agave. Other than the nodes currently show up as confused switches right now, I was wondering what use cases/value others see in having the thermostat show up in Agave... -Sam
toflaherty Posted January 9, 2019 Author Posted January 9, 2019 Now that I'm on ISY v5 with Polyglot/Ecobee, and using Agave more, I was going to ask the same thing. Then I though about it more, and wasn't sure of the use case where I'd find value in it. Ecobee already has an app that I occasionally use to make adjustments. And realistically, I'm not sure when I'd actually ever make use of the Ecobee data/control in Agave. Other than the nodes currently show up as confused switches right now, I was wondering what use cases/value others see in having the thermostat show up in Agave... -Sam The same argument could have been made about elk integration yet enough people wanted it there that it got included.Sent from my LG-H915 using Tapatalk
Jimbo.Automates Posted January 10, 2019 Posted January 10, 2019 [mention=4839]James Peterson[/mention], It already does. With kind regards, Michel It was just added to PGC this week and Ecobee NS is defining the hints so hopefully it can happen.Sent from my Pixel 3 XL using Tapatalk
James Peterson Posted January 10, 2019 Posted January 10, 2019 Ok. I'll do this.1st. I don't have one. Soo.2nd. If someone can contact me who has this setup so we can discuss getting the information I need to attempt this. It was just added to PGC this week and Ecobee NS is defining the hints so hopefully it can happen.Sent from my Pixel 3 XL using Tapatalk Sent from my Pixel 3 using Tapatalk
Jimbo.Automates Posted January 10, 2019 Posted January 10, 2019 Ok. I'll do this.1st. I don't have one. Soo.2nd. If someone can contact me who has this setup so we can discuss getting the information I need to attempt this.Sent from my Pixel 3 using Tapatalk I'll get you the info!Sent from my Pixel 3 XL using Tapatalk
io_guy Posted January 10, 2019 Posted January 10, 2019 Is there any API documentation on hints? Can I get a hint on where to get more info?
Michel Kohanim Posted January 10, 2019 Posted January 10, 2019 @io_guy, Yes in our GitHub. And, just to show off our new website, here's the link to our developer's page wherein you'll find all the resources you need: https://www.universal-devices.com/isy-developers/#intouch With kind regards, Michel
io_guy Posted January 10, 2019 Posted January 10, 2019 Not really what I need. I previously found the yaml file on github. - No clear definition on all the device types - No info on how to implement hints in code - No info on the required drivers for each device type
Jimbo.Automates Posted January 11, 2019 Posted January 11, 2019 Not really what I need. I previously found the yaml file on github. - No clear definition on all the device types - No info on how to implement hints in code - No info on the required drivers for each device type Check the slack compliance channel, there was a lot of discussion. Not sure if anyone summarized it, but we should.Sent from my Pixel 3 XL using Tapatalk
io_guy Posted January 11, 2019 Posted January 11, 2019 Read the whole thing, no answers to my points.
Jimbo.Automates Posted January 11, 2019 Posted January 11, 2019 First and third were discussed for sureSent from my Pixel 3 XL using Tapatalk
mwester Posted January 11, 2019 Posted January 11, 2019 Anyone gonna share for those who aren't reading the slack channel (or reverse engineering python and nodejs code on github)?!
Jimbo.Automates Posted January 11, 2019 Posted January 11, 2019 Someone else will have to answer the second question, I wasn't involved in that.Sent from my Pixel 3 XL using Tapatalk
io_guy Posted January 11, 2019 Posted January 11, 2019 9 hours ago, mwester said: Anyone gonna share for those who aren't reading the slack channel (or reverse engineering python and nodejs code on github)?! Nope, all we get is 2.5 year old API docs. If you dig through the developer site and github you can get to the yaml https://github.com/UniversalDevicesInc/hints/blob/master/hint.yaml Which doesn't answer any of my 3 points and is not pointed to from anywhere else.
James Peterson Posted January 11, 2019 Posted January 11, 2019 24 minutes ago, io_guy said: Nope, all we get is 2.5 year old API docs. If you dig through the developer site and github you can get to the yaml https://github.com/UniversalDevicesInc/hints/blob/master/hint.yaml Which doesn't answer any of my 3 points and is not pointed to from anywhere else. I will admit that the YAML is very lacking in details for most devices. I will agree to "look at" the implementation of the ecobee as a "thermostat" nothing else. no other controls for now. If I choose to pursue or not is up in the air. As for the rest of the device specifications, they are most if not all missing the required drivers (probably because nobody is working on that type of device), another reason why I am hesitant to pursue FE NS development because it is not ready.
James Peterson Posted January 11, 2019 Posted January 11, 2019 I will make one more comment. Here is the YAML for Thermostat: So I know it "HAS" to have the required drivers if listed. But there is no clear documentation on how to link the other files included in the NS setup. exp: I know that CLIMD from nodedef/custom.xml has I_TSTAT_MODE from "not editor/custom.xml" but editor/editors.xml . <- (not really cohesive here) has modes 0-3. But where do I find the mode descriptions. There is no NLS for CLIMD . I now its probably somewhere, but without a good documentation, its just shooting in the dark. 0x0c: name: HVAC description: subcategories: 0x01: name: Thermostat description: ST: Current Temperature CLISPC: Set Point Cool CLISPH: Set Point Heat CLIMD: Current Mode CLIHUM: Humidity CLIHCS: CLIFRS: Fan State CLISMD: Set Mode NODEDEF <nodeDef id="EcobeeC_411956665463" nodeType="140" nls="140E"> <sts> <st id="ST" editor="I_TEMP_C"/> <st id="CLISPH" editor="I_CLISPH_C"/> <st id="CLISPC" editor="I_CLISPC_C"/> <st id="CLIMD" editor="I_TSTAT_MODE"/> <st id="CLIFS" editor="I_TSTAT_FAN_MODE"/> <st id="CLIHUM" editor="I_HUMIDITY"/> <st id="CLIHCS" editor="I_TSTAT_ECOHCS"/> <st id="CLIFRS" editor="I_TSTAT_FAN_STATE"/> <st id="GV1" editor="I_TSTAT_HUM_SET"/> <st id="CLISMD" editor="I_TSTAT_PROG_MODE2"/> <st id="GV4" editor="I_TSTAT_FANONTIME"/> <st id="GV3" editor="CTA_411956665463"/> <st id="GV5" editor="I_HUMIDITY"/> <st id="GV6" editor="I_ENABLED"/> <st id="GV7" editor="I_ENABLED"/> <st id="GV8" editor="BOOL"/> </sts> <cmds> <accepts> <cmd id="CLISPH"> <p id="" editor="I_CLISPH_C" init="CLISPH"/> </cmd> <cmd id="CLISPC"> <p id="" editor="I_CLISPC_C" init="CLISPC"/> </cmd> <cmd id="CLIMD"> <p id="" editor="I_TSTAT_MODE" init="CLIMD"/> </cmd> <cmd id="CLISMD"> <p id="" editor="I_TSTAT_PROG_MODE2" init="CLISMD"/> </cmd> <cmd id="GV3"> <p id="" editor="CT_411956665463" init="GV3"/> <p id="HoldType" editor="I_TSTAT_ECO_SCHED_OPT" init="0" optional="T"/> </cmd> <cmd id="CLIFS"> <p id="" editor="I_TSTAT_FAN_MODE" init="CLIFS"/> <p id="HoldType" editor="I_TSTAT_ECO_SCHED_OPT" init="0" optional="T"/> </cmd> <cmd id="GV4"> <p id="" editor="I_TSTAT_FANONTIME" init="GV4"/> </cmd> <cmd id="GV6"> <p id="" editor="I_ENABLED" init="GV6"/> </cmd> <cmd id="GV7"> <p id="" editor="I_ENABLED" init="GV7"/> </cmd> <cmd id="BRT"> <p id="" editor="I_SETTEMP_C" optional="T"/> </cmd> <cmd id="DIM"> <p id="" editor="I_SETTEMP_C" optional="T"/> </cmd> <cmd id="QUERY"/> </accepts> </cmds> </nodeDef> <editors> <editor id="CTA_411956665463"> <range uom="25" subset="0-10" nls="CT_411956665463"/> </editor> <editor id="CT_411956665463"> <range uom="25" subset="0-9" nls="CT_411956665463"/> </editor> <editor id="CTA_511889241737"> <range uom="25" subset="0-10" nls="CT_511889241737"/> </editor> <editor id="CT_511889241737"> <range uom="25" subset="0-9" nls="CT_511889241737"/> </editor> </editors> <editors> <editor id="BOOL"> <range uom="2" subset="0,1"/> </editor> <!-- io_guy Ecobee models --> <!-- Temperature --> <editor id="I_TEMP_C"> <range uom="4" min="-50" max="75" step="0.5" prec="1"/> </editor> <editor id="I_TEMP_F"> <range uom="17" min="-50" max="150" step="0.5" prec="1"/> </editor> <editor id="I_SETTEMP_C"> <range uom="4" min="0" max="10" step="0.5" prec="1"/> </editor> <editor id="I_SETTEMP_F"> <range uom="14" min="0" max="10" step="1" prec="0"/> </editor> <!-- CLISPC - Cool Setpoint --> <editor id="I_CLISPC_C"> <range uom="4" min="5" max="35" step="0.5" prec="1"/> </editor> <editor id="I_CLISPC_F"> <range uom="17" min="32" max="90" step="1" prec="0"/> </editor> <!-- CLISPH - Heat Setpoint --> <editor id="I_CLISPH_C"> <range uom="4" min="5" max="35" step="0.5" prec="1"/> </editor> <editor id="I_CLISPH_F"> <range uom="17" min="32" max="90" step="1" prec="0"/> </editor> <!-- Ecobee - Editors --> <editor id="I_ENABLED"> <range uom="25" subset="0-1" nls="EN_ENABLED"/> </editor> <editor id="I_TSTAT_ALERT"> <range uom="25" subset="0,1" nls="EN_ALERT"/> </editor> <editor id="I_TSTAT_ECO_SCHED_OPT"> <range uom="25" subset="0-1" nls="EN_ECOSCH_OPT"/> </editor> <editor id="I_TSTAT_FAN_MODE"> <range uom="68" subset="0,1"/> </editor> <editor id="I_TSTAT_FAN_STATE"> <range uom="80" subset="0,1"/> </editor> <editor id="I_TSTAT_FANONTIME"> <range uom="25" min="0" max="55" step="1" prec="0"/> </editor> <editor id="I_TSTAT_ECOHCS"> <range uom="25" subset="0-8" nls="EN_ECOHCS"/> </editor> <editor id="I_TSTAT_VEN_ACTSTAGE"> <range uom="25" subset="0-4"/> </editor> <editor id="I_TSTAT_HCS"> <range uom="66" subset="0-2"/> </editor> <editor id="I_HUMIDITY"> <range uom="22" min="0" max="100" prec="0"/> </editor> <editor id="I_TSTAT_HUM_SET"> <range uom="22" min="10" max="100" step="1" prec="0"/> </editor> <editor id="I_TSTAT_LOC"> <range uom="25" subset="0,1" nls="EN_LOC"/> </editor> <editor id="I_TSTAT_MODE"> <range uom="67" subset="0-3"/> </editor> <editor id="I_TSTAT_OCC"> <range uom="25" subset="0-2" nls="EN_OCC"/> </editor> <editor id="I_TSTAT_PROG_MODE"> <range uom="25" subset="0,1" nls="EN_PM"/> </editor> <editor id="I_TSTAT_PROG_MODE2"> <range uom="25" subset="0-2" nls="EN_PM2"/> </editor> <editor id="I_TSTAT_RUNTIME"> <range uom="25" min="0" max="5000000000" prec="0"/> </editor> <editor id="I_TSTAT_RUNTIME2"> <range uom="10" min="0" max="5000000000" prec="2"/> </editor> <!-- Wind - Editors --> <editor id="I_SKY"> <range uom="25" subset="0-34" nls="EN_SKY"/> </editor> <editor id="I_WIND_DIRECTION"> <range uom="25" subset="0-16" nls="EN_WIND_DIRECTION"/> </editor> <editor id="I_WIND_C"> <range uom="32" subset="0-500"/> </editor> <editor id="I_WIND_F"> <range uom="48" subset="0-500"/> </editor> <editor id="I_WEATHER_SYMBOL"> <range uom="25" subset="0-21" nls="EN_SYMBOL"/> </editor> <editor id="I_WEATHER_SYMBOL_NUM"> <range uom="25" subset="0-21"/> </editor> </editors> NLS ND-ECO_CTR-NAME = Ecobee Controller ND-ECO_CTR-ICON = GenericCtl CMD-ECTR-DISCOVER-NAME = Re-Discover ST-ECTR-ST-NAME = NodeServer Online ND-EcobeeC-NAME = Ecobee Thermostat (C) ND-EcobeeC-ICON = Thermostat ND-EcobeeF-NAME = Ecobee Thermostat (F) ND-EcobeeF-ICON = Thermostat ND-EcobeeSensorC-NAME = Ecobee Sensor (C) ND-EcobeeSensorC-ICON = TempSensor ND-EcobeeSensorF-NAME = Ecobee Sensor (F) ND-EcobeeSensorF-ICON = TempSensor ND-EcobeeSensorHC-NAME = Ecobee Sensor H (C) ND-EcobeeSensorHC-ICON = TempSensor ND-EcobeeSensorHF-NAME = Ecobee Sensor H (F) ND-EcobeeSensorHF-ICON = TempSensor ND-EcobeeWeatherC-NAME = Ecobee Weather (C) ND-EcobeeWeatherC-ICON = Weather ND-EcobeeWeatherF-NAME = Ecobee Weather (F) ND-EcobeeWeatherF-ICON = Weather ST-140E-ST-NAME = Temperature ST-140E-GV1-NAME = Humidification Setpoint ST-140E-GV3-NAME = Climate Type ST-140E-GV4-NAME = Fan On Time ST-140E-GV5-NAME = Dehumidification Setpoint ST-140E-GV6-NAME = Smart Home-Away ST-140E-GV7-NAME = Follow Me ST-140E-GV8-NAME = Connected CMD-140E-GV3-NAME = Climate Type CMD-140E-GV4-NAME = Fan On Time CMD-140E-GV6-NAME = Smart Home-Away CMD-140E-GV7-NAME = Follow Me CMD-140E-BRT-NAME = Setpoint Up CMD-140E-DIM-NAME = Setpoint Down PGM-CMD-140E-GV3-FMT = //${c}/to ${v}/ /HoldType//, Hold Type ${v}/ CMDP-I_TSTAT_ECO_SCHED_OPT-HoldType-NAME = Hold Type ST-140ES-ST-NAME = Temperature ST-140ES-GV1-NAME = Occupancy ST-140EW-ST-NAME = Temperature ST-140EW-GV1-NAME = Humidity ST-140EW-GV2-NAME = POP ST-140EW-GV3-NAME = High Temp ST-140EW-GV4-NAME = Low Temp ST-140EW-GV5-NAME = Wind Speed ST-140EW-GV6-NAME = Wind Direction ST-140EW-GV7-NAME = Sky ST-140EW-GV8-NAME = Symbol ST-140EW-GV9-NAME = Weather EN_WIND_DIRECTION-0 = N/A EN_WIND_DIRECTION-1 = N EN_WIND_DIRECTION-2 = NNE EN_WIND_DIRECTION-3 = NE EN_WIND_DIRECTION-4 = ENE EN_WIND_DIRECTION-5 = E EN_WIND_DIRECTION-6 = ESE EN_WIND_DIRECTION-7 = SE EN_WIND_DIRECTION-8 = SSE EN_WIND_DIRECTION-9 = S EN_WIND_DIRECTION-10 = SSW EN_WIND_DIRECTION-11 = SW EN_WIND_DIRECTION-12 = WSW EN_WIND_DIRECTION-13 = W EN_WIND_DIRECTION-14 = WNW EN_WIND_DIRECTION-15 = NW EN_WIND_DIRECTION-16 = NNW EN_SKY-0 = N/A EN_SKY-1 = Sunny EN_SKY-2 = Clear EN_SKY-3 = Mostly Sunny EN_SKY-4 = Mostly Clear EN_SKY-5 = Hazy Sunshine EN_SKY-6 = Haze EN_SKY-7 = Passing Clouds EN_SKY-8 = More Sun than Clouds EN_SKY-9 = Scattered Clouds EN_SKY-10 = Partly Cloudy EN_SKY-11 = A Mixture of Sun and CLouds EN_SKY-12 = High Level Clouds EN_SKY-13 = More Clouds than Sun EN_SKY-14 = Partly Sunny EN_SKY-15 = Broken Clouds EN_SKY-16 = Mostly Cloudy EN_SKY-17 = Cloudy EN_SKY-18 = Overcast EN_SKY-19 = Low Clouds EN_SKY-20 = Light Fog EN_SKY-21 = Fog EN_SKY-22 = Dense Fog EN_SKY-23 = Ice Fog EN_SKY-24 = Sandstorm EN_SKY-25 = Duststorm EN_SKY-26 = Increasing Cloudiness EN_SKY-27 = Decreasing Cloudiness EN_SKY-28 = Clearing Skies EN_SKY-29 = Breaks of Sun Late EN_SKY-30 = Early Fog Followed by Sunny Skies EN_SKY-31 = Afternoon Clouds EN_SKY-32 = Morning Couds EN_SKY-33 = Smoke EN_SKY-34 = Low Level Haze EN_SYMBOL-0 = Sunny EN_SYMBOL-1 = Few Clouds EN_SYMBOL-2 = Partly Cloudy EN_SYMBOL-3 = Mostly Cloudy EN_SYMBOL-4 = Overcast EN_SYMBOL-5 = Drizzle EN_SYMBOL-6 = Rain EN_SYMBOL-7 = Freezing Rain EN_SYMBOL-8 = Showers EN_SYMBOL-9 = Hail EN_SYMBOL-10 = Snow EN_SYMBOL-11 = Flurries EN_SYMBOL-12 = Freezing Snow EN_SYMBOL-13 = Blizzard EN_SYMBOL-14 = Pellets EN_SYMBOL-15 = Thunderstorm EN_SYMBOL-16 = Windy EN_SYMBOL-17 = Tornado EN_SYMBOL-18 = Fog EN_SYMBOL-19 = Haze EN_SYMBOL-20 = Smoke EN_SYMBOL-21 = Dust EN_PM-0 = Manual EN_PM-1 = Running EN_PM2-0 = Running EN_PM2-1 = Hold Next EN_PM2-2 = Hold Indefinite EN_BOOL-0 = No EN_BOOL-1 = Yes EN_OCC-0 = No EN_OCC-1 = Yes EN_OCC-2 = NA EN_ENABLED-0 = Disabled EN_ENABLED-1 = Enabled EN_ALERT-0 = OK EN_ALERT-1 = Alert EN_LOC-0 = Home EN_LOC-1 = Away EN_ECOHCS-0 = Idle EN_ECOHCS-1 = Heat EN_ECOHCS-2 = Cool EN_ECOHCS-3 = Heat2 EN_ECOHCS-4 = Heat3 EN_ECOHCS-5 = Cool2 EN_ECOHCS-6 = AuxHeat EN_ECOHCS-7 = AuxHeat2 EN_ECOHCS-8 = AuxHeat3 EN_ECOSCH-0 = Away EN_ECOSCH-1 = Home EN_ECOSCH-2 = Sleep EN_ECOSCH-3 = Custom 1 EN_ECOSCH-4 = Custom 2 EN_ECOSCH-5 = Custom 3 EN_ECOSCH-6 = Custom 4 EN_ECOSCH-7 = Custom 5 EN_ECOSCH-8 = Custom 6 EN_ECOSCH-9 = Custom 7 EN_ECOSCH-10 = N/A EN_ECOSCH_OPT-0 = Permanent EN_ECOSCH_OPT-1 = Transition ND-EcobeeC_411956665463-NAME = Ecobee Thermostat 411956665463 (C) ND-EcobeeC_411956665463-ICON = Thermostat ND-EcobeeF_411956665463-NAME = Ecobee Thermostat 411956665463 (F) ND-EcobeeF_411956665463-ICON = Thermostat CT_411956665463-0 = Away CT_411956665463-1 = Home CT_411956665463-2 = Sleep CT_411956665463-3 = AwayExtended CT_411956665463-4 = Smart2 CT_411956665463-5 = Another3 CT_411956665463-6 = Another4 CT_411956665463-7 = Smart5 CT_411956665463-8 = Smart6 CT_411956665463-9 = Smart7 CT_411956665463-10 = Vacation ND-EcobeeC_511889241737-NAME = Ecobee Thermostat 511889241737 (C) ND-EcobeeC_511889241737-ICON = Thermostat ND-EcobeeF_511889241737-NAME = Ecobee Thermostat 511889241737 (F) ND-EcobeeF_511889241737-ICON = Thermostat CT_511889241737-0 = Away CT_511889241737-1 = Home CT_511889241737-2 = Sleep CT_511889241737-3 = ExGone CT_511889241737-4 = Just Testing CT_511889241737-5 = Smart3 CT_511889241737-6 = Smart4 CT_511889241737-7 = Smart5 CT_511889241737-8 = Smart6 CT_511889241737-9 = Smart7 CT_511889241737-10 = Vacation
paulbates Posted January 11, 2019 Posted January 11, 2019 That's a fair point... I think crawl/walk/run applies here: Who owns defining YAML for specific devices? My thought is that a particular nodesever author would do that As such, a particular mobile app author will have to assume a particular node server when providing controls (?) Documentation on configuration and assumptions are required by the app developer, wherever they are located "Crossover" needs to be considered... in this case, we have 2 nodeserver developers for the same device. That YAML will drive who can do what with the app This is in no way a comment about what a nodeserver developer does, its more about "what will the process look like?", going forward. I believe it will get figured out, but this is a very early first case example. Patience and expectations need to be set accordingly. Paul
Michel Kohanim Posted January 11, 2019 Posted January 11, 2019 Hello everyone, To be perfectly clear, UD does NOT want to use hints. We had this debate for a very long time on the slack channel. The hints are only needed because some developers prefer a type based system and not a node server based system which is dynamic. To set a hint, @io_guy, what you will do something like this: /rest/ns/3/nodes/n003_73121dea8c/set/hint/0x01020304 Now, who's going to decide what's the difference between your Ecobee implementation vs. Jimbo's? I have no clue. Well, I do. If you do NOT use hints, you don't have to worry about it. With kind regards, Michel
io_guy Posted January 11, 2019 Posted January 11, 2019 Michel, I'm 100% behind whatever the recommended UDI method will be, it just hasn't been clearly defined yet. I would rather not add another layer of confusion (hints) if not required. I thought it was using the node types to mimic z-wave, which is what I originally did. James, if you have a method you want to use to support Agave with NodeServers, let me know. I have no problem tweaking NodeLink to suit.
Michel Kohanim Posted January 11, 2019 Posted January 11, 2019 @io_guy, THANK YOU so very much. The issue is not node server developers. The issue is the consumers of the node servers (such as the Admin Console, Alexa, Google Home, Agave, MobiLinc, etc.). In those worlds, hints/types definitely make it easier to develop BUT it is definitely one of the reasons we invented Node Server so that no one would have to use hints/types. A balance between the two is definitely desired and thus the hints doc in the GitHub. The main issue is that, above and beyond the Ecobee hint, no one has actually used them. If you are not on slack, please do let me know and I'll invite you. Thanks again so very much. With kind regards, Michel
Recommended Posts
Archived
This topic is now archived and is closed to further replies.