GetWeeklySchedule directive not being sent by Amazon

91 Views Asked by At

I have my own nodejs alexa interface with AWS/skill and I've made a thermostat. I can't figure out how to get alexa to send the GetWeeklySchedule directive. This is working and I get back setpoint, currrent temperature, and Controlled BY Schedule in the Alexa App. I cannot get the option to change the schedule in the Alexa App

My discovery response:

{
    endpointId: endpointId,
    manufacturerName: 'Me',
    description: description,
    friendlyName: friendlyName,
    displayCategories: ["THERMOSTAT"],
    cookie: {},
    capabilities:
    [
      {
        interface: 'Alexa.ThermostatController',
        version: '3.1',
        type: 'AlexaInterface',
        properties: {
          supported: [
            {
              name: 'targetSetpoint'
            },
            {
              name: 'thermostatMode'
            }
          ],
          proactivelyReported: false,
          retrievable: true
        },
        configuration:
        {
          supportedModes: ["HEAT", "OFF"],
          supportsScheduling: true
        }
      },
      {
        type: 'AlexaInterface',
        interface: 'Alexa.TemperatureSensor',
        version: '3',
        properties: {
          supported: [
            {
              name: 'temperature'
            }
          ],
          proactivelyReported: false,
          retrievable: true
        },
      },
      {
        type: "AlexaInterface",
        interface: "Alexa.ThermostatController.Schedule",
        version: "3.2",
        properties: {
          supported: [
            {
              name: "scheduleEnabled"
            }
          ],
          proactivelyReported: false,
          retrievable: true
        },
        configuration: {
          supportedFanModes: ["AUTO"],
          supportsAdaptiveRecovery: false
        }
      },
      {
        type: 'AlexaInterface',
        interface: 'Alexa',
        version: '3'
      }
    ]
  }

My ReportState response:

{
  namespace: 'Alexa.ThermostatController',
  name: 'thermostatMode',
  value: info.deviceMode,
  timeOfSample: new Date().toISOString(),
  uncertaintyInMilliseconds: 500
}
{
  namespace: 'Alexa.ThermostatController',
  name: 'targetSetpoint',
  value:
  {
    value: info.deviceSetPoint,
    scale: 'FAHRENHEIT'
  },
  timeOfSample: new Date().toISOString(),
  uncertaintyInMilliseconds: 500
}
{
  namespace: 'Alexa.TemperatureSensor',
  name: 'temperature',
  value:
  {
    value: info.deviceTemperature,
    scale: 'FAHRENHEIT'
  },
  timeOfSample: new Date().toISOString(),
  uncertaintyInMilliseconds: 500
}
{
  namespace: 'Alexa.ThermostatController.Schedule',
  name: 'adaptiveRecoveryEnabled',
  value: false,
  timeOfSample: new Date().toISOString(),
  uncertaintyInMilliseconds: 500
}
{
  namespace: 'Alexa.ThermostatController.Schedule',
  name: 'scheduleEnabled',
  value: true,
  timeOfSample: new Date().toISOString(),
  uncertaintyInMilliseconds: 500
}
1

There are 1 best solutions below

4
On

I have checked our internal team and confirmed that this function can't be used by third party developers at this point. We will update our documents.