question

Phil McGee avatar image
Phil McGee asked

Alexa.ThermostatController schedule directive has changed

I noticed recently that the incoming JSON in a request to the Alexa.ThermostatController interface when a schedule is specified alongside a setpoint has changed. It now looks like this:

"payload": {'schedule': {'duration': {'seconds': 1800, 'nanos': 0, 'zero': False, 'negative': False, 'units': ['SECONDS', 'NANOS'], 'nano': 0}}, 'targetSetpoint': {'value': 20.0, 'scale': 'CELSIUS'}}}}

The documentation at https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-thermostatcontroller.html is still showing the older format for the schedule object:

 "payload": {
      "targetSetpoint": {
        "value": 21.0,
        "scale": "CELSIUS"
      },
      "schedule": {
        "start": "2017-06-22T21:35Z",
        "duration": "PT25M"
      }
    }

where the duration was specified as a timeInterval object based on ISO spec.

The documentation needs to be updated to reflect this change. By the way, I'm curious how a breaking change like this can be implemented without release notes or a deprecation warning?

alexa smart home
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Andy Whitworth avatar image
Andy Whitworth answered

Hi Phil, you can now provide feedback on the documentation by clicking on the new "Feedback" tab on the right hand side of the documentation tab.

2 comments
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sure, but that's an 'invisible' channel and up to chance whether anything happens or not. Of maybe 10 'feedbacks' I've given, I only ever received a response to 2. At least stuff posted here gets moderated/tracked to some extent...
0 Likes 0 ·

Our team does check the feedback that is cut directly through the Feedback tab - if traction is slow then I'd recommend cutting us a support ticket there.

0 Likes 0 ·
Jeremy avatar image
Jeremy answered

According to the latest ThermostatController documentation, scheduling is now handled by the new Alexa.ThermostatController.Schedule interface, deprecating the supportsScheduling discovery property and the schedule directive payload property.

From my understanding, the new schedule interface doesn't support voice requests let alone duration requests that were previously supported. If this is the case, why was an important ability remove when migrating the previous scheduling functionalities to the new interface?

Also, what will become of the ResumeSchedule directive? It is still working although it no longer requires supportsScheduling to be set to `true` based on my testing. This means that the skill now have to generate an error if the associated thermostat doesn't support that directive.

In the end, it really seems that all the changes around the ThermostatController interface were only to accommodate the recently released new smart thermostat by Amazon, without considering the previously supported abilities for that interface.

10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.