Thanks - I have a bunch of updates coming later today, I added this to the bunch.
Universal Ecobee Suite Updates posted 19 May 2019 at 3:45pm
Spent a lot of time squashing bugs across the Suite, mostly related to data type handling in the Thermostat device. In the process, learned that Hubitat caches sendEvent()
data where SmartThings always returns the latest value. Fortunately, the fix is straight forward, but it was tedious to catch all the possible escapes.
I also optimized the way data is being written to atomicState variables, which should both significantly reduce the writes sent to the backing store (state/atomicState). This will improve both performance and the longevity of the Flash storage on Hubitat.
Most (but not all) of the files where updated. SmartThings users who are taking advantage of either the GitHub integration or the ST-Community-Installer just have to run the normal update process. If youāre doing it by hand, 11 of the 14 files were updated, so take your time and be sure to get ALL the files.
Universal Ecobee Suite updates posted 20 May 2019 at 11:15am EDT
Fixes include:
- Ecobee Suite Manager version 1.7.06: Fixed deleteSensorFromProgram()
- Ecobee Suite Thermostat version 1.7.06: More data type optimizations
These updates are recommended for ALL users
Barry,
Just updated to 1.7.06. I am still getting an error trying to use the New Contacts & Switches Helper. I just get the spinning wheel in the app till I close it and restart. All the other helpers are working.
1:53:46 PM: error java.lang.NullPointerException: Cannot invoke method contains() on null object @line 85 (doCall)
Thanks,
Bob
Universal Ecobee Suite update posted 20 May 2019 at 2:45pm
Fixes:
- Ecobee Suite Contacts & Switches version 1.7.02. Fixes SmartThings initialization error
This update is recommended for ALL users
Awesome, thanks. This has resolved the issue with New Contacts & Switches Helper.
One thing Iām trying to automate, and havenāt found the best way yet, is a window fan in the bedroom at night. Iād like to control it similar to the Smart Circulation Helper but use a smart switch instead of the HVAC fan. Any suggestions?
Bob -
Smart Switches or maybe even Smart Vents might do what you want - they can automatically turn on/off/dim one or more switches when the thermostatās operating state changes (Smart Switches) or when the temperature is out of range (Smart Vents).
Not sure if this helps.
There are other SmartApps out there that will turn on a switch if its too hot/cold in a room - theyāre generally presented as controlling a window A/C or a room heater, but it could just as well be a fan.
If you literally want Smart Circulation that runs the fan until multiple temperature sources converge, thatās something outside the scope of my Ecobee Suite, but you could take the Smart Circulation code as a starting place to build your own. The challenge is that Smart Circulation just increases/decreases the fanMinOnTime value - the Ecobee handles deciding if/when to turn on/off the fan.
I am getting this same error. The New Mode/Routine/Switches Program Helper worked fine. But every time I try the New Contacts & Switches Helper I get a blank line under Configured Helper SmartApps. Live Logging displayas the following: 7:26:14 PM: error java.lang.NullPointerException: Cannot invoke method contains() on null object @line 85 (doCall)
Now I cannot uninstall the smartapp at all. āAn unexpected error occuredā.
Iām pretty sure you werenāt using the latest version of the Contacts & Switches Helper when you hit that error. After you update, you shouldnāt have any problem creating a new instance.
But you do now have one or more āzombieā Contacts & Switches Helpers, each with a blank name (thus the blank entries under Configured Helper SmartApps. After you upgrade to the latest version of Contacts & Switches, you should go open each of those āblankā ones and Remove themā¦
Universal Ecobee Suite updates posted 21 May 2019 at 4:45pm EDT
Fixes include:
-
Ecobee Suite Manager version 1.7.07:
- More main loop optimizations
- Added a āCheck Wifiā notice on the label if Ecobee reports the wifiAlert to us (HE only, for now)
-
Ecobee Suite Thermostat version 1.7.06:
- Fixed setFanMinOnTime()
-
Ecobee Suite Mode/Switches/(Routines)/Program Helper version 1.7.05
- Fixed thermostatHold type comparison
These updates are recommended for ALL users!
Youāre right Barry. My problem stemmed from pulling code from the wrong repository - from one of my other smartapps. Blame my lack of full understanding of Github integration. But I figured out that I needed to get āblackā text, the correct repo and published status then everything started working. And as you said, I was able to kill off the zombie instances once the code base was corrected. Thanks for the help.
I trying to use the new Working From Home helper, but it doesnāt seem to be working as expected. Hereās how I currently have it configured:
Name | Type | Value |
---|---|---|
days | enum | |
modes | mode | |
myThermostats | device.ecobeeSuiteThermostat | EcobeeTherm: My ecobee |
notify | bool | false |
onAway | bool | true |
people | capability.presenceSensor | Person 1, Person 2 |
setHome | bool | true |
setMode | mode | āā |
statMode | enum | |
tempDisable | bool | false |
timeOfDay | time | āā |
wfhPhrase | enum | āā |
I havenāt read through the code yet, but based on your descriptions, I would expect this to monitor the thermostat program, and if it goes to away and one of the presence sensors is present, set it back to home. Iāve had this running the past two days where my Ecobee schedule transitions to away at 0900, a presence sensor was present at that time, but the program change wasnāt overridden. In the smart app details, I see there are no event subscriptions, but I would expect that the app should at least be subscribing to the thermostatās currentProgram.
I think I tracked down the bug. On line 173, you are subscribing to settings.theThermostats
instead of settings.myThermostats
@astephon88 Thanks!
That isnāt the only problem, though - just finishing up some other fixes that were delaying mode & program changes being reported by the thermostat devices. Updates being posted soon (within the hour)!!!
Trying to decide between this and My Ecobee Device to manage 3 - Ecobee3 Liteās in my house plus 2 sensors.
I like that My Ecobee Device can incorporate temperature, presence, humidity, etc. from non-Ecobee devices. Can this app do something like that?
Mainly looking to override my current fixed Ecobee schedules so that the HVAC only operates when someone is truly home vs. on a schedule.
Thanks!
Universal Ecobee Suite updates posted 22 May 2019 at 5:45pm EDT
Updated modules include:
Ecobee Suite Manager, version 1.7.08
ecobee-suite-manager.groovy
- Cleans up condition updates (was causing mystery errors across the entire Suite. Bug squased!
Ecobee Suite Contacts & Switches Helper, version 1.7.03
ecobee-suite-open-contacts.groovy
- Do uncached currentValue() on Hubitat
- Cosmetic Cleanup only
Ecobee Suite Modes/Routines/Switches/Programs Helper, version 1.7.06
ecobee-suite-routines.groovy
- Cosmetic Cleanup only
Ecobee Suite Thermal Protection Helper, version 1.7.01
ecobee-suite-thermal-protection.groovy
- Optimizations
- Cosmetic Cleanup
Ecobee Suite Working From Home, version 1.7.04
ecobee-suite-working-from-home.groovy
- Fixed myThermostats subscription
- Fixed mal-formed sendMsg
These updates are HIGHLY RECOMMENDED for ALL 1.7.** users!
My Ecobee Suite works with your presence, temperature and humidity sensors for many of the automations provided by the Helper apps - you can read about them on my GitHub site. With these, you can have SmartThings/Hubitat location modes drive the thermostatsā programs - set the thermostat Away when your Location goes into Away mode and the like. You can have the HVAC mode (heat/cool/auto) changed based on temperature and humidity readings inside and/or out, and you can override setpoints based on these readings as well. You can have the Ecobees change your location mode, run a routine or turn on/off switches based on its Programs - I like being able to use Ecobeeās scheduling of Vacations to automate shutting down my house when Iām on holiday. There are Helpers that will manage the notion of āThermal Comfortā based on preferences you set, so that it keeps you comfortable with the least amount of heating/cooling possible, driven by your specified activity and clothing levels (āthermal comfortā is mainly about managing ambient temperature as the humidity levels change inside your house). You can use Smart Vents, and set a target temperature in a room (using whatever sensors you have, or even just have it track the thermostatās setpoints) , and it will open/close vents when the HVAC pushes hot/cold as it tries to reach the target temperature - optionally only when the room is occupied (but its hard to keep things cool this way - you really need HVAC to be used all the time, even when nobody is in the room, if only because there is no such thing as āinstant recovery.ā. And all this works in conjunction with the Ecobeeās own remote sensor automation, where it changes its actual temperature measurements based off of (changable) combinations of different sensors for each program/schedule/climate.
There is much, much more that Ecobee Suite can do for you, but the one thing I have intentionally NOT added is the attempt to utilize non-Ecobee remote sensors to control the setpoints of the thermostat, and this for one simple reason: Wife Approval Factor. See, what nobody can do is change what shows on the thermostat as the current temperature (except of course when using Ecobee sensors, it will show the averaged temperature of all the settings). So, in order to use non-ecobee sensors to control the setpoints, you basically have to let the thermostat show whatever meaningless value it measures, while the code changes the setpoints downwards until the various sensors say they have met their target. Imagine - you have a warm room with no Ecobee sensors (letās say at 78Ā°F), and the Ecobee thermostat is in a cold room (at 68Ā°F). In order to cool that warm room, we might need to set the Ecobeeās setpoint to 58Ā°F - and let it run the HVAC until the warm room is cooled to 68Ā°F. At that point, the cold room is at 58Ā°F, as it says right on the thermostat. You can imagine the negative WAF of thatā¦
Some people think that this is the make/break between different Ecobee software, and if you do, so be it. But Iāll say this - hundreds and hundreds of users, now on both SmartThings and Hubitat, have found my Suite more than adequate for their Home Automation needs. I offer my work free of charge, with no requirements. If you like it, use it; if not, ditch it and use something different. And if it makes you mad, please, post your complaints everywhere you want. I wonāt get mad, or stop sending you updates, or require you to retract your complaints. If anything, Iāll do everything I can to fix your problem - if not for you, then for the next person.
And if you like it, and you feel Iām worthy of a pat on the back, Iāll happily accept a few bucks via Paypal - but only if its YOUR choice. Thereās no requirement to pay, and Iāll support you just like I do everyone else.
Try it, and you might save yourself a few bucks and a lot of aggravationā¦Iām positive you will have a better experience working with me than any other Ecobee developer out there
Iām eager to give Ecobee Suite a try; I have a few questions I canāt find answers to in the GitHub description.
- Can I install/use Ecobee Suite (ES) in SmartThings (ST) alongside the existing āofficialā ecobee app, or do I have to disable the official app? I can imagine ecobee wonāt like two separate apps querying their servers and possibly issuing conflicting commands. Since my use of the āofficialā app in ST today is 100% passive (read-only) except for the very occasional setpoint change, I doubt this would be an issue but wanted to check.
- Is there any difference between how ES gets status info from Ecobee servers compared to the official app? I currently use the āSimple Event Loggerā app to log all activity in ST to a google sheet, and itās great for observing / tracking all my remote temperature sensors and correlating with the ecobee device status (cool / idle, etc). However - Iām now finding that the data from ecobee seems highly inaccurate (compared to the data found in the ecobee download) so Iām wondering if ES handles this any better.
If ES proves useful then of course I could abandon the official app altogether, but since Iām currently logging data provided by the official app, Iām reluctant to discontinue it for now, hence my desire to run āside by sideā.
Also - I have two AC units in my home (upstairs/downstairs) with a huge open-space shared between them (āgreat roomā downstairs that is open to the upstairs) and Iām eager to start exploring how the upstairs and downstairs units affect each other. I just put in a very expensive two-stage unit upstairs, and would like to use it as much as possible to cool the whole house. Putting the downstairs unit into āfan onlyā (circulate?) might be a way to achieve that. Does your app have anything specific for this situation?
Thanks!