mirror of
https://github.com/home-assistant/core.git
synced 2025-08-04 05:05:09 +02:00
Better thread safety in zwave node_entity (#7087)
* Better thread safety * Update node_entity.py
This commit is contained in:
@@ -110,15 +110,15 @@ class ZWaveNodeEntity(ZWaveBaseEntity):
|
|||||||
|
|
||||||
def node_changed(self):
|
def node_changed(self):
|
||||||
"""Update node properties."""
|
"""Update node properties."""
|
||||||
self._attributes = {}
|
attributes = {}
|
||||||
stats = self.get_node_statistics()
|
stats = self.get_node_statistics()
|
||||||
|
|
||||||
for attr in ATTRIBUTES:
|
for attr in ATTRIBUTES:
|
||||||
value = getattr(self.node, attr)
|
value = getattr(self.node, attr)
|
||||||
if attr in _REQUIRED_ATTRIBUTES or value:
|
if attr in _REQUIRED_ATTRIBUTES or value:
|
||||||
self._attributes[attr] = value
|
attributes[attr] = value
|
||||||
|
|
||||||
for attr in _COMM_ATTRIBUTES:
|
for attr in _COMM_ATTRIBUTES:
|
||||||
self._attributes[attr] = stats[attr]
|
attributes[attr] = stats[attr]
|
||||||
|
|
||||||
if self.node.can_wake_up():
|
if self.node.can_wake_up():
|
||||||
for value in self.node.get_values(COMMAND_CLASS_WAKE_UP).values():
|
for value in self.node.get_values(COMMAND_CLASS_WAKE_UP).values():
|
||||||
@@ -128,6 +128,7 @@ class ZWaveNodeEntity(ZWaveBaseEntity):
|
|||||||
self.wakeup_interval = None
|
self.wakeup_interval = None
|
||||||
|
|
||||||
self.battery_level = self.node.get_battery_level()
|
self.battery_level = self.node.get_battery_level()
|
||||||
|
self._attributes = attributes
|
||||||
|
|
||||||
self.maybe_schedule_update()
|
self.maybe_schedule_update()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user