Nest SDM Fan Mode not Working

WWN ends today. I’ve migrated over the SDM and have pub/sub working as well.
Sending commands to the thermostat all seem to be working well as well as pulling current states quickly. The only problem is the fan state. I cannot get the fan to activate. This used to work fine with WWN.

Build and binding: openHAB 4.1.0.M1

Here is the DEBUG log as soon as I issue the command openhab:send Thermostat_Fan_Timer_Mode ON


2023-09-29 12:34:40.128 [DEBUG] [binding.nest.internal.sdm.api.SDMAPI] - Executing device command for: AVPHwEsfHmujHwNPOZPiD28nEFuNFcPV6Qn7nfd2szjqYXmDv55yy7YjOJbKQjNFRNN1tAz-skH8kUEguvP4sIu6r0yTSQ
2023-09-29 12:34:40.129 [DEBUG] [binding.nest.internal.sdm.api.SDMAPI] - Posting JSON to: https://smartdevicemanagement.googleapis.com/v1/enterprises/92b5dd9c-c57d-4026-921b-39f74c3e7574/devices/AVPHwEsfHmujHwNPOZPiD28nEFuNFcPV6Qn7nfd2szjqYXmDv55yy7YjOJbKQjNFRNN1tAz-skH8kUEguvP4sIu6r0yTSQ:executeCommand
2023-09-29 12:34:40.864 [DEBUG] [binding.nest.internal.sdm.api.SDMAPI] - Response: null

2023-09-29 12:34:41.779 [DEBUG] [ding.nest.internal.sdm.api.PubSubAPI] - Response: {
  "receivedMessages": [
    {
      "ackId": "UAYWLF1GSFE3GQhoUQ5PXiM_NSAoRRICBE8CKF15MFc7QV19BT4NGXJ9YXRiC0YAUUJQfV5bEQxiXE5EB0mc0JnlV1dKUxEGB0dUfltcHAhvXF9zD3mUk4fi_OyAZQk9OtSalcdtO5n-hYBHZiI9XhJLLD5-PTJFQV5AEkw2B0RJUytDCypYEU4EISE-MD5FU0Q",
      "message": {
        "data": "ewogICJldmVudElkIjogImVjZGNiMDI0LWUyMWMtNDU0My04NTFmLWE5ZWU2MDM1YjFlNyIsCiAgInRpbWVzdGFtcCI6ICIyMDIzLTA5LTI5VDE2OjM0OjQwLjgyNjAwMloiLAogICJyZXNvdXJjZVVwZGF0ZSI6IHsKICAgICJuYW1lIjogImVudGVycHJpc2VzLzkyYjVkZDljLWM1N2QtNDAyNi05MjFiLTM5Zjc0YzNlNzU3NC9kZXZpY2VzL0FWUEh3RXNmSG11akh3TlBPWlBpRDI4bkVGdU5GY1BWNlFuN25mZDJzempxWVhtRHY1NXl5N1lqT0piS1FqTkZSTk4xdEF6LXNrSDhrVUVndXZQNHNJdTZyMHlUU1EiLAogICAgInRyYWl0cyI6IHsKICAgICAgInNkbS5kZXZpY2VzLnRyYWl0cy5GYW4iOiB7CiAgICAgICAgInRpbWVyTW9kZSI6ICJPRkYiCiAgICAgIH0KICAgIH0KICB9LAogICJ1c2VySWQiOiAiQVZQSHdFdnFoRFl0eUNGREtFSzdxOGVtSk56b3I2ZjY5ei1LV01TQW1tdlIiLAogICJyZXNvdXJjZUdyb3VwIjogWyJlbnRlcnByaXNlcy85MmI1ZGQ5Yy1jNTdkLTQwMjYtOTIxYi0zOWY3NGMzZTc1NzQvZGV2aWNlcy9BVlBId0VzZkhtdWpId05QT1pQaUQyOG5FRnVORmNQVjZRbjduZmQyc3pqcVlYbUR2NTV5eTdZak9KYktRak5GUk5OMXRBei1za0g4a1VFZ3V2UDRzSXU2cjB5VFNRIl0KfQ==",
        "messageId": "9275270477570368",
        "publishTime": "2023-09-29T16:34:41.652Z"
      }
    }
  ]
}

2023-09-29 12:34:41.780 [DEBUG] [ding.nest.internal.sdm.api.PubSubAPI] - Subscription 'johabsubpub' has 1 new message(s)
2023-09-29 12:34:41.780 [DEBUG] [ternal.sdm.handler.SDMAccountHandler] - Handling messageId=9275270477570368 with content:
2023-09-29 12:34:41.780 [DEBUG] [ternal.sdm.handler.SDMAccountHandler] - {
  "eventId": "ecdcb024-e21c-4543-851f-a9ee6035b1e7",
  "timestamp": "2023-09-29T16:34:40.826002Z",
  "resourceUpdate": {
    "name": "enterprises/92b5dd9c-c57d-4026-921b-39f74c3e7574/devices/AVPHwEsfHmujHwNPOZPiD28nEFuNFcPV6Qn7nfd2szjqYXmDv55yy7YjOJbKQjNFRNN1tAz-skH8kUEguvP4sIu6r0yTSQ",
    "traits": {
      "sdm.devices.traits.Fan": {
        "timerMode": "OFF"
      }
    }
  },
  "userId": "AVPHwEvqhDYtyCFDKEK7q8emJNzor6f69z-KWMSAmmvR",
  "resourceGroup": ["enterprises/92b5dd9c-c57d-4026-921b-39f74c3e7574/devices/AVPHwEsfHmujHwNPOZPiD28nEFuNFcPV6Qn7nfd2szjqYXmDv55yy7YjOJbKQjNFRNN1tAz-skH8kUEguvP4sIu6r0yTSQ"]
}
2023-09-29 12:34:41.780 [DEBUG] [ternal.sdm.handler.SDMAccountHandler] - Sending messageId=9275270477570368 to listener with deviceId=AVPHwEsfHmujHwNPOZPiD28nEFuNFcPV6Qn7nfd2szjqYXmDv55yy7YjOJbKQjNFRNN1tAz-skH8kUEguvP4sIu6r0yTSQ
2023-09-29 12:34:41.780 [DEBUG] [.internal.sdm.handler.SDMBaseHandler] - Updating traits using resource update traits in event
2023-09-29 12:34:41.781 [DEBUG] [nal.sdm.handler.SDMThermostatHandler] - Refreshing channels for: nest:sdm_thermostat:j_home_account1:living_thermostat
2023-09-29 12:34:41.781 [DEBUG] [.internal.sdm.handler.SDMBaseHandler] - Skipping partial update for device with connectivity trait
2023-09-29 12:34:41.783 [DEBUG] [ding.nest.internal.sdm.api.PubSubAPI] - Acknowleding 1 message(s) for 'johabsubpub' subscription
2023-09-29 12:34:41.784 [DEBUG] [ding.nest.internal.sdm.api.PubSubAPI] - Posting JSON to: https://pubsub.googleapis.com/v1/projects/nestj/subscriptions/johabsubpub:acknowledge
2023-09-29 12:34:41.831 [DEBUG] [ding.nest.internal.sdm.api.PubSubAPI] - Response: null

2023-09-29 12:34:41.831 [DEBUG] [ding.nest.internal.sdm.api.PubSubAPI] - Pulling messages for 'johabsubpub' subscription
2023-09-29 12:34:41.832 [DEBUG] [ding.nest.internal.sdm.api.PubSubAPI] - Posting JSON to: https://pubsub.googleapis.com/v1/projects/nestj/subscriptions/johabsubpub:pull
2023-09-29 12:34:43.865 [DEBUG] [binding.nest.internal.sdm.api.SDMAPI] - Getting device: AVPHwEsfHmujHwNPOZPiD28nEFuNFcPV6Qn7nfd2szjqYXmDv55yy7YjOJbKQjNFRNN1tAz-skH8kUEguvP4sIu6r0yTSQ
2023-09-29 12:34:43.865 [DEBUG] [binding.nest.internal.sdm.api.SDMAPI] - Getting JSON from: https://smartdevicemanagement.googleapis.com/v1/enterprises/92b5dd9c-c57d-4026-921b-39f74c3e7574/devices/AVPHwEsfHmujHwNPOZPiD28nEFuNFcPV6Qn7nfd2szjqYXmDv55yy7YjOJbKQjNFRNN1tAz-skH8kUEguvP4sIu6r0yTSQ
2023-09-29 12:34:44.326 [DEBUG] [binding.nest.internal.sdm.api.SDMAPI] - Response: {
  "name": "enterprises/92b5dd9c-c57d-4026-921b-39f74c3e7574/devices/AVPHwEsfHmujHwNPOZPiD28nEFuNFcPV6Qn7nfd2szjqYXmDv55yy7YjOJbKQjNFRNN1tAz-skH8kUEguvP4sIu6r0yTSQ",
  "type": "sdm.devices.types.THERMOSTAT",
  "assignee": "enterprises/92b5dd9c-c57d-4026-921b-39f74c3e7574/structures/AVPHwEv3UHTU94FvS65xOktW4WEs4EgquGjc0OdrbM28hHE5rRbQLs9f5mq9lT0c9ZZ4IwJdjM2VnWB_c-bZnjtLjjQE7A/rooms/AVPHwEvptthFcYu-WyLuAGMcQ1wN_GErP9lrLkiyybFNTdaFoApg-sk6djUy08EbcrfVTnEuN9NT1Ck9mMzpg5pEG_7P8xskyqpW3ymRm9YQs2_NzFEbI9VoOAkp_SSnDlsj0-RIrHQgZh4",
  "traits": {
    "sdm.devices.traits.Info": {
      "customName": ""
    },
    "sdm.devices.traits.Humidity": {
      "ambientHumidityPercent": 48
    },
    "sdm.devices.traits.Connectivity": {
      "status": "ONLINE"
    },
    "sdm.devices.traits.Fan": {
      "timerMode": "OFF"
    },
    "sdm.devices.traits.ThermostatMode": {
      "mode": "COOL",
      "availableModes": [
        "HEAT",
        "COOL",
        "HEATCOOL",
        "OFF"
      ]
    },
    "sdm.devices.traits.ThermostatEco": {
      "availableModes": [
        "OFF",
        "MANUAL_ECO"
      ],
      "mode": "OFF",
      "heatCelsius": 12.93648,
      "coolCelsius": 24.44443
    },
    "sdm.devices.traits.ThermostatHvac": {
      "status": "OFF"
    },
    "sdm.devices.traits.Settings": {
      "temperatureScale": "FAHRENHEIT"
    },
    "sdm.devices.traits.ThermostatTemperatureSetpoint": {
      "coolCelsius": 20.555555
    },
    "sdm.devices.traits.Temperature": {
      "ambientTemperatureCelsius": 19.67999
    }
  },
  "parentRelations": [
    {
      "parent": "enterprises/92b5dd9c-c57d-4026-921b-39f74c3e7574/structures/AVPHwEv3UHTU94FvS65xOktW4WEs4EgquGjc0OdrbM28hHE5rRbQLs9f5mq9lT0c9ZZ4IwJdjM2VnWB_c-bZnjtLjjQE7A/rooms/AVPHwEvptthFcYu-WyLuAGMcQ1wN_GErP9lrLkiyybFNTdaFoApg-sk6djUy08EbcrfVTnEuN9NT1Ck9mMzpg5pEG_7P8xskyqpW3ymRm9YQs2_NzFEbI9VoOAkp_SSnDlsj0-RIrHQgZh4",
      "displayName": "Thermostat"
    }
  ]
}

2023-09-29 12:34:44.327 [DEBUG] [nal.sdm.handler.SDMThermostatHandler] - Refreshing channels for: nest:sdm_thermostat:j_home_account1:living_thermostat

Notice it comes back right away saying "sdm.devices.traits.Fan": { "timerMode": "OFF" }

Any thoughts on how to get this working?

1 Like

I’m also having the same problem.

Looks like the status can be updated but it can’t control it from OpenHAB.

Looks like Google broke something on their end of the API and has been broken for at least 2 weeks maybe 2 months. From what HA users are reporting.

Agreed. Looks like the ability is there, maybe just an issue with the binding.

I wish there were a better thermostat. It’s the last nest device I still have in my house.