Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity Class Reference
Inheritance diagram for homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity:
[legend]
Collaboration diagram for homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity:
[legend]

Public Member Functions

None __init__ (self, Node node, BinarySensorDeviceClass|None force_device_class=None, bool|None unknown_state=None, DeviceInfo|None device_info=None)
 
None add_heartbeat_device (self, ISYBinarySensorHeartbeat|None entity)
 
None add_negative_node (self, Node child)
 
None async_added_to_hass (self)
 
None async_on_update (self, NodeProperty event)
 
bool|None is_on (self)
 
- Public Member Functions inherited from homeassistant.components.isy994.entity.ISYNodeEntity
None __init__ (self, Node|Group|Variable|Program node, DeviceInfo|None device_info=None)
 
None async_get_zwave_parameter (self, Any parameter)
 
None async_rename_node (self, str name)
 
None async_send_node_command (self, str command)
 
None async_send_raw_node_command (self, str command, Any|None value=None, str|None unit_of_measurement=None, Any|None parameters=None)
 
None async_set_zwave_parameter (self, Any parameter, Any|None value, int|None size)
 
bool available (self)
 
dict extra_state_attributes (self)
 
- Public Member Functions inherited from homeassistant.components.isy994.entity.ISYEntity
None async_on_control (self, NodeProperty event)
 
- Public Member Functions inherited from homeassistant.helpers.entity.Entity
None __init_subclass__ (cls, **Any kwargs)
 
str __repr__ (self)
 
None add_to_platform_abort (self)
 
None add_to_platform_finish (self)
 
None add_to_platform_start (self, HomeAssistant hass, EntityPlatform platform, asyncio.Semaphore|None parallel_updates)
 
bool assumed_state (self)
 
None async_device_update (self, bool warning=True)
 
None async_internal_will_remove_from_hass (self)
 
None async_on_remove (self, CALLBACK_TYPE func)
 
None async_registry_entry_updated (self)
 
None async_remove (self, *bool force_remove=False)
 
None async_removed_from_registry (self)
 
None async_schedule_update_ha_state (self, bool force_refresh=False)
 
None async_set_context (self, Context context)
 
None async_update_ha_state (self, bool force_refresh=False)
 
None async_will_remove_from_hass (self)
 
None async_write_ha_state (self)
 
str|None attribution (self)
 
dict[str, Any]|None capability_attributes (self)
 
str|None device_class (self)
 
DeviceInfo|None device_info (self)
 
bool enabled (self)
 
EntityCategory|None entity_category (self)
 
str|None entity_picture (self)
 
bool entity_registry_enabled_default (self)
 
bool entity_registry_visible_default (self)
 
bool force_update (self)
 
HassJobType get_hassjob_type (self, str function_name)
 
er.EntityOptionsType|None get_initial_entity_options (self)
 
bool has_entity_name (self)
 
str|None icon (self)
 
str|UndefinedType|None name (self)
 
None schedule_update_ha_state (self, bool force_refresh=False)
 
bool should_poll (self)
 
StateType state (self)
 
dict[str, Any]|None state_attributes (self)
 
str|None suggested_object_id (self)
 
int|None supported_features (self)
 
str|None translation_key (self)
 
Mapping[str, strtranslation_placeholders (self)
 
str|None unique_id (self)
 
str|None unit_of_measurement (self)
 
bool use_device_name (self)
 
- Public Member Functions inherited from homeassistant.helpers.entity.CachedProperties
None __init__ (cls, str name, tuple[type,...] bases, dict[Any, Any] namespace, **Any kwargs)
 
Any __new__ (mcs, str name, tuple[type,...] bases, dict[Any, Any] namespace, set[str]|None cached_properties=None, **Any kwargs)
 
- Public Member Functions inherited from homeassistant.components.binary_sensor.BinarySensorEntity
None async_internal_added_to_hass (self)
 

Private Member Functions

None _async_heartbeat (self)
 
None _async_negative_node_control_handler (self, NodeProperty event)
 
None _async_positive_node_control_handler (self, NodeProperty event)
 

Private Attributes

 _computed_state
 
 _heartbeat_device
 
 _negative_node
 
 _status_was_unknown
 

Additional Inherited Members

- Public Attributes inherited from homeassistant.helpers.entity.Entity
 device_entry
 
 entity_id
 
 hass
 
 parallel_updates
 
 platform
 
 registry_entry
 
- Public Attributes inherited from homeassistant.components.binary_sensor.BinarySensorEntity
 entity_category
 
- Static Public Attributes inherited from homeassistant.helpers.entity.Entity
 bool
 
 EntityPlatform
 
 HomeAssistant
 
 None
 
 StateInfo
 
 StateType
 
 str
 
- Static Public Attributes inherited from homeassistant.components.binary_sensor.BinarySensorEntity
 None
 

Detailed Description

Representation of an ISY Insteon binary sensor device.

Often times, a single device is represented by multiple nodes in the ISY,
allowing for different nuances in how those devices report their on and
off events. This class turns those multiple nodes into a single Home
Assistant entity and handles both ways that ISY binary sensors can work.

Definition at line 264 of file binary_sensor.py.

Constructor & Destructor Documentation

◆ __init__()

None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity.__init__ (   self,
Node  node,
BinarySensorDeviceClass | None   force_device_class = None,
bool | None   unknown_state = None,
DeviceInfo | None   device_info = None 
)
Initialize the ISY binary sensor device.

Reimplemented from homeassistant.components.isy994.binary_sensor.ISYBinarySensorEntity.

Definition at line 273 of file binary_sensor.py.

Member Function Documentation

◆ _async_heartbeat()

None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity._async_heartbeat (   self)
private
Send a heartbeat to our heartbeat device, if we have one.

Definition at line 311 of file binary_sensor.py.

◆ _async_negative_node_control_handler()

None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity._async_negative_node_control_handler (   self,
NodeProperty  event 
)
private
Handle an "On" control event from the "negative" node.

Definition at line 337 of file binary_sensor.py.

◆ _async_positive_node_control_handler()

None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity._async_positive_node_control_handler (   self,
NodeProperty  event 
)
private
Handle On and Off control event coming from the primary node.

Depending on device configuration, sometimes only On events
will come to this node, with the negative node representing Off
events

Definition at line 349 of file binary_sensor.py.

◆ add_heartbeat_device()

None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity.add_heartbeat_device (   self,
ISYBinarySensorHeartbeat | None  entity 
)
Register a heartbeat device for this sensor.

The heartbeat node beats on its own, but we can gain a little
reliability by considering any node activity for this sensor
to be a heartbeat as well.

Definition at line 302 of file binary_sensor.py.

◆ add_negative_node()

None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity.add_negative_node (   self,
Node  child 
)
Add a negative node to this binary sensor device.

The negative node is a node that can receive the 'off' events
for the sensor, depending on device configuration and type.

Definition at line 316 of file binary_sensor.py.

◆ async_added_to_hass()

None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity.async_added_to_hass (   self)
Subscribe to the node and subnode event emitters.

Reimplemented from homeassistant.components.isy994.entity.ISYEntity.

Definition at line 291 of file binary_sensor.py.

◆ async_on_update()

None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity.async_on_update (   self,
NodeProperty  event 
)
Primary node status updates.

We MOSTLY ignore these updates, as we listen directly to the Control
events on all nodes for this device. However, there is one edge case:
If a leak sensor is unknown, due to a recent reboot of the ISY, the
status will get updated to dry upon the first heartbeat. This status
update is the only way that a leak sensor's status changes without
an accompanying Control event, so we need to watch for it.

Reimplemented from homeassistant.components.isy994.entity.ISYEntity.

Definition at line 374 of file binary_sensor.py.

◆ is_on()

bool | None homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity.is_on (   self)
Get whether the ISY binary sensor device is on.

Insteon leak sensors set their primary node to On when the state is
DRY, not WET, so we invert the binary state if the user indicates
that it is a moisture sensor.

Dusk/Dawn sensors set their node to On when DUSK, not light detected,
so this is inverted as well.

Reimplemented from homeassistant.components.isy994.binary_sensor.ISYBinarySensorEntity.

Definition at line 391 of file binary_sensor.py.

Member Data Documentation

◆ _computed_state

homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity._computed_state
private

Definition at line 285 of file binary_sensor.py.

◆ _heartbeat_device

homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity._heartbeat_device
private

Definition at line 309 of file binary_sensor.py.

◆ _negative_node

homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity._negative_node
private

Definition at line 322 of file binary_sensor.py.

◆ _status_was_unknown

homeassistant.components.isy994.binary_sensor.ISYInsteonBinarySensorEntity._status_was_unknown
private

Definition at line 286 of file binary_sensor.py.


The documentation for this class was generated from the following file: