Author Topic: Plug-in for ecobee thermostats in development  (Read 138886 times)

Offline LibraSun

  • Hero Member
  • *****
  • Posts: 558
  • Karma: +1/-0
Re: Plug-in for ecobee thermostats in development
« Reply #690 on: March 05, 2018, 09:43:57 am »
I know (both from this thread and from @watou's docs at that the ecobee plug-in was originally intended to allow users to send a text message (up to 500 characters) to the thermostat.

While I'm seeing that "SendMessage" action in the Scene > Advanced Editor > Device > Actions drop-down list, choosing it does not offer an input field for entering the text of the intended message. Nor do I see any kind of "MessageText" variable under the Thermostat device > Advanced, either.

Is it expected that users should use Luup coding exclusively to send messages this way? (i.e. with MessageText declared explicitly within the parameters of a Luup action call to the urn:ecobee-com:serviceId:Ecobee1 service?) Or can casual users like me get away with doing SendMessage a simpler way?

Thanks! - Libra


Back to answer this question, in part: Yes, using Luup is one good way to send a message to your ecobee thermostat.


local deviceUrn = "urn:ecobee-com:serviceId:Ecobee1"
local deviceId = 95
local message = "This is a test"
luup.call_action(deviceUrn, "SendMessage", {MessageText=message}, deviceId)

NOTE: Replace '95' with your actual Thermostat device ID, and the message= text with your desired message text.


The specified text message will appear both on the ecobee thermostat's display as well as a pop-up ? attributed to 'utility' (I don't know if this pseudo-sender name can be altered) ? on the website (and presumably the mobile app, as well?) until dismissed. NOTE: Thereafter, no record is kept of the message for later review.

Seems these messages ("Alerts" as ecobee calls them) get posted to your ecobee account/device with a timestamp that is offset X hours from your local time zone. In my case, living in Central (U.S.), I observed the Alerts were marked exactly 5 hours earlier relative to my actual clock time, suggesting "GMT-11" or "US/American Somoa".
It's not immediately clear whether this can be adjusted by the user, as I see no corresponding Variable or setting within the ecobee plug-in. Neither is this issue in any way a show stopper, just something to be aware of when using. ;-)

When more than one Message is broadcast via the Luup code shown above, they appear on the ecobee Web UI, in the ecobee mobile app, and on the ecobee thermostat screen itself. However, the moment you "OK" (dismiss) any Message on one platform, it will promptly disappear from the others. So, if you wish other users to see the Alerts, be sure not to click "OK". NOTE: This scenario, although rare, would also mean leaving your thermostat screen obscured by the displayed Alert(s), a potential usability obstacle!
« Last Edit: March 05, 2018, 02:14:26 pm by LibraSun »
Vera Model I running UI4 (Firmware 1.1.1338), died in 2015
Vera Plus running UI7 (Firmware 1.7.2935)

Offline fullmoonguru

  • Full Member
  • ***
  • Posts: 171
  • Karma: +0/-1
Re: Plug-in for ecobee thermostats in development
« Reply #691 on: March 22, 2018, 02:33:37 pm »
I'm trying to create a scene that changes from Heat mode to Cool mode depending on the outdoor temp, but I can't change that setting as part of the scene. It works fine when I'm in devices and just click on it. Anybody know what's going on with this?

Offline Don Phillips

  • Hero Member
  • *****
  • Posts: 1150
  • Karma: +28/-25
    • Worthington Engineering, Inc.
Re: Plug-in for ecobee thermostats in development
« Reply #692 on: March 22, 2018, 08:34:12 pm »
I use PLEG to accomplish this.  Status report attached. I used to use a scene but it sometimes failed during a LUUP restart.
Vera 3, UI7 1.7.1017, CT101 t-stat, Everspring motion detector, GE/Jasco switch, Leviton outlet, AeonLabs door sensor, NuTone garage door, Blue Iris, Sricam SP011, iPhone locator, APCUPSD, VeraMate, VeraAlerts, PLEG, House Modes, Countdown Timer, DVR, Virtual & Multi Switch, Weather, Sys. Mon.