Hey! Thank you for you answer, here is more info. Device is “EndDevice”.
Here is a Debug Log
// Success and got report
[log] 2022-11-07 02:11:23 [ManagerDrivers] [Driver:thermostatTest] [Device:6f15705a-43f3-48e4-acd4-a8ec9d7f56c2] set target_temperature → 27 (cluster: thermostat, endpoint: 1)
2022-11-07T02:11:23.843Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) write attributes { occupiedHeatingSetpoint: 2700 }
2022-11-07T02:11:23.854Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) send frame ZCLStandardHeader {
frameControl: [],
data: thermostat.writeAttributes { attributes: <Buffer 12 00 29 8c 0a> },
cmdId: 2,
trxSequenceNumber: 1
}
2022-11-07T02:11:26.921Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) received frame writeAttributesAtomic.response thermostat.writeAttributesAtomic.response {
attributes: [ AttributeResponse { status: 'SUCCESS', id: 0 } ]
}
2022-11-07T02:11:27.276Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) received frame reportAttributes thermostat.reportAttributes { attributes: <Buffer 12 00 29 8c 0a> }
[log] 2022-11-07 02:11:27 [ManagerDrivers] [Driver:thermostatTest] [Device:6f15705a-43f3-48e4-acd4-a8ec9d7f56c2] handle report (cluster: thermostat, capability: target_temperature), parsed payload: 27
// Success and got report
[log] 2022-11-07 02:11:31 [ManagerDrivers] [Driver: thermostatTest] [Device:6f15705a-43f3-48e4-acd4-a8ec9d7f56c2] set target_temperature → 30 (cluster: thermostat, endpoint: 1)
2022-11-07T02:11:31.654Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) write attributes { occupiedHeatingSetpoint: 3000 }
2022-11-07T02:11:31.657Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) send frame ZCLStandardHeader {
frameControl: [],
data: thermostat.writeAttributes { attributes: <Buffer 12 00 29 b8 0b> },
cmdId: 2,
trxSequenceNumber: 2
}
2022-11-07T02:11:31.925Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) received frame writeAttributesAtomic.response thermostat.writeAttributesAtomic.response {
attributes: [ AttributeResponse { status: 'SUCCESS', id: 0 } ]
}
2022-11-07T02:11:32.283Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) received frame reportAttributes thermostat.reportAttributes { attributes: <Buffer 12 00 29 b8 0b> }
[log] 2022-11-07 02:11:32 [ManagerDrivers] [Driver:thermostatTest] [Device:6f15705a-43f3-48e4-acd4-a8ec9d7f56c2] handle report (cluster: thermostat, capability: target_temperature), parsed payload: 30
// Success but no report and value was not set on device
[log] 2022-11-07 02:11:37 [ManagerDrivers] [Driver:thermostatTest] [Device:6f15705a-43f3-48e4-acd4-a8ec9d7f56c2] set target_temperature → 28.5 (cluster: thermostat, endpoint: 1)
2022-11-07T02:11:37.348Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) write attributes { occupiedHeatingSetpoint: 2850 }
2022-11-07T02:11:37.352Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) send frame ZCLStandardHeader {
frameControl: [],
data: thermostat.writeAttributes { attributes: <Buffer 12 00 29 22 0b> },
cmdId: 2,
trxSequenceNumber: 3
}
2022-11-07T02:11:37.932Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) received frame writeAttributesAtomic.response thermostat.writeAttributesAtomic.response {
attributes: [ AttributeResponse { status: 'SUCCESS', id: 0 } ]
}
// Success but no report and value was not set on device
[log] 2022-11-07 02:11:44 [ManagerDrivers] [Driver:thermostatTest] [Device:6f15705a-43f3-48e4-acd4-a8ec9d7f56c2] set target_temperature → 30 (cluster: thermostat, endpoint: 1)
2022-11-07T02:11:44.936Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) write attributes { occupiedHeatingSetpoint: 3000 }
2022-11-07T02:11:44.939Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) send frame ZCLStandardHeader {
frameControl: [],
data: thermostat.writeAttributes { attributes: <Buffer 12 00 29 b8 0b> },
cmdId: 2,
trxSequenceNumber: 4
}
2022-11-07T02:11:45.912Z zigbee-clusters:cluster ep: 1, cl: thermostat (513) received frame writeAttributesAtomic.response thermostat.writeAttributesAtomic.response {
attributes: [ AttributeResponse { status: 'SUCCESS', id: 0 } ]
}
Also when first pair or after device rejoin network I started to receive this
2022-11-07T01:35:35.924Z zigbee-clusters:endpoint ep: 1, cl: time (10), error while handling frame binding_unavailable {
meta: { transId: 0, linkQuality: 86, dstEndpoint: 1, timestamp: 14987922 },
frame: ZCLStandardHeader {
frameControl: Bitmap [ disableDefaultResponse ],
trxSequenceNumber: 5,
cmdId: 0,
data: <Buffer 02 00 00 00>
}
}
This WRITE issue not just for THERMOSTAT cluster occupiedHeatingSetpoint attr, also for MS cluster attrs that I tested. If WRITE works at the first initialization and several times after rejoin, it doesn’t look like a Homey error, but then how to fix it?
No bindings are required. This is all the necessary information that relates to this problem, everything else, reports, get, custom cluster attributes, this.registerCapability setter & getter & report works perfectly! Yes, and WRITEs work fine, but not for long
Additional info, after ~10+ minutes after “FAILED” WRITE new WRITEs works, but not always.