Skip to content

Commit 61a1106

Browse files
committed
Get updated attribute values
Make sure to get the attribute values again after each command to get the updated attribute cache.
1 parent f378cb6 commit 61a1106

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/controller/python/test/test_scripts/cluster_objects.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -216,12 +216,12 @@ def subUpdate(path: TypedAttributePath, transaction: SubscriptionTransaction):
216216
sub.SetAttributeUpdateCallback(subUpdate)
217217

218218
try:
219-
data = sub.GetAttributes()
220219
req = Clusters.OnOff.Commands.On()
221220
await devCtrl.SendCommand(nodeid=NODE_ID, endpoint=1, payload=req)
222221

223222
await asyncio.wait_for(event.wait(), timeout=11)
224223

224+
data = sub.GetAttributes()
225225
if (data[1][Clusters.OnOff][Clusters.OnOff.Attributes.OnOff] != 1):
226226
raise ValueError("Current On/Off state should be 1")
227227

@@ -232,6 +232,7 @@ def subUpdate(path: TypedAttributePath, transaction: SubscriptionTransaction):
232232

233233
await asyncio.wait_for(event.wait(), timeout=11)
234234

235+
data = sub.GetAttributes()
235236
if (data[1][Clusters.OnOff][Clusters.OnOff.Attributes.OnOff] != 0):
236237
raise ValueError("Current On/Off state should be 0")
237238

@@ -254,13 +255,12 @@ def subUpdate(path: TypedAttributePath, transaction: SubscriptionTransaction):
254255
sub.SetAttributeUpdateCallback(subUpdate)
255256

256257
try:
257-
data = sub.GetAttributes()
258-
259258
req = Clusters.OnOff.Commands.On()
260259
await devCtrl.SendCommand(nodeid=NODE_ID, endpoint=1, payload=req)
261260

262261
await asyncio.wait_for(event.wait(), timeout=11)
263262

263+
data = sub.GetAttributes()
264264
cluster: Clusters.OnOff = data[1][Clusters.OnOff]
265265
if (not cluster.onOff):
266266
raise ValueError("Current On/Off state should be True")
@@ -272,6 +272,7 @@ def subUpdate(path: TypedAttributePath, transaction: SubscriptionTransaction):
272272

273273
await asyncio.wait_for(event.wait(), timeout=11)
274274

275+
data = sub.GetAttributes()
275276
cluster: Clusters.OnOff = data[1][Clusters.OnOff]
276277
if (cluster.onOff):
277278
raise ValueError("Current On/Off state should be False")
@@ -298,7 +299,6 @@ async def TestSubscribeZeroMinInterval(cls, devCtrl):
298299
logger.info("Test Subscription With MinInterval of 0")
299300
sub = await devCtrl.ReadAttribute(nodeid=NODE_ID,
300301
attributes=[Clusters.OnOff, Clusters.LevelControl], reportInterval=(0, 60))
301-
data = sub.GetAttributes()
302302

303303
logger.info("Sending off command")
304304

@@ -315,6 +315,7 @@ async def TestSubscribeZeroMinInterval(cls, devCtrl):
315315

316316
logger.info("Checking read back value is indeed 254")
317317

318+
data = sub.GetAttributes()
318319
if (data[1][Clusters.LevelControl][Clusters.LevelControl.Attributes.CurrentLevel] != 254):
319320
raise ValueError("Current Level should have been 254")
320321

0 commit comments

Comments
 (0)