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

Public Member Functions

None __init__ (self, Node node, ISYInsteonBinarySensorEntity|ISYBinarySensorEntity|ISYBinarySensorHeartbeat|ISYBinarySensorProgramEntity parent_device, DeviceInfo|None device_info=None)
 
None async_added_to_hass (self)
 
None async_heartbeat (self)
 
None async_on_update (self, object event)
 
dict[str, Any] extra_state_attributes (self)
 
bool 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)
 
- Public Member Functions inherited from homeassistant.components.isy994.entity.ISYEntity
None async_on_control (self, NodeProperty event)
 
None async_on_update (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_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)
 
- Public Member Functions inherited from homeassistant.helpers.restore_state.RestoreEntity
ExtraStoredData|None async_get_last_extra_data (self)
 
State|None async_get_last_state (self)
 
None async_internal_added_to_hass (self)
 
None async_internal_will_remove_from_hass (self)
 
ExtraStoredData|None extra_restore_state_data (self)
 

Private Member Functions

None _heartbeat_node_control_handler (self, NodeProperty event)
 
None _restart_timer (self)
 

Private Attributes

 _computed_state
 
 _heartbeat_timer
 
 _parent_device
 

Static Private Attributes

 _attr_device_class = BinarySensorDeviceClass.BATTERY
 

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 the battery state of an ISY sensor.

Definition at line 414 of file binary_sensor.py.

Constructor & Destructor Documentation

◆ __init__()

None homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat.__init__ (   self,
Node  node,
ISYInsteonBinarySensorEntity | ISYBinarySensorEntity | ISYBinarySensorHeartbeat | ISYBinarySensorProgramEntity  parent_device,
DeviceInfo | None   device_info = None 
)
Initialize the ISY binary sensor device.

Computed state is set to UNKNOWN unless the ISY provided a valid
state. See notes above regarding ISY Sensor status on ISY restart.
If a valid state is provided (either on or off), the computed state in
HA is restored to the previous value or defaulted to OFF (Normal).
If the heartbeat is not received in 25 hours then the computed state is
set to ON (Low Battery).

Definition at line 419 of file binary_sensor.py.

Member Function Documentation

◆ _heartbeat_node_control_handler()

None homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat._heartbeat_node_control_handler (   self,
NodeProperty  event 
)
private
Update the heartbeat timestamp when any ON/OFF event is sent.

The ISY uses both DON and DOF commands (alternating) for a heartbeat.

Definition at line 458 of file binary_sensor.py.

◆ _restart_timer()

None homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat._restart_timer (   self)
private
Restart the 25 hour timer.

Definition at line 479 of file binary_sensor.py.

◆ async_added_to_hass()

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

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

Definition at line 444 of file binary_sensor.py.

◆ async_heartbeat()

None homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat.async_heartbeat (   self)
Mark the device as online, and restart the 25 hour timer.

This gets called when the heartbeat node beats, but also when the
parent sensor sends any events, as we can trust that to mean the device
is online. This mitigates the risk of false positives due to a single
missed heartbeat event.

Definition at line 467 of file binary_sensor.py.

◆ async_on_update()

None homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat.async_on_update (   self,
object  event 
)
Ignore node status updates.

We listen directly to the Control events for this device.

Definition at line 497 of file binary_sensor.py.

◆ extra_state_attributes()

dict[str, Any] homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat.extra_state_attributes (   self)
Get the state attributes for the device.

Reimplemented from homeassistant.components.isy994.entity.ISYNodeEntity.

Definition at line 514 of file binary_sensor.py.

◆ is_on()

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

Note: This method will return false if the current state is UNKNOWN
which occurs after a restart until the first heartbeat or control
parent control event is received.

Definition at line 504 of file binary_sensor.py.

Member Data Documentation

◆ _attr_device_class

homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat._attr_device_class = BinarySensorDeviceClass.BATTERY
staticprivate

Definition at line 417 of file binary_sensor.py.

◆ _computed_state

homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat._computed_state
private

Definition at line 442 of file binary_sensor.py.

◆ _heartbeat_timer

homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat._heartbeat_timer
private

Definition at line 483 of file binary_sensor.py.

◆ _parent_device

homeassistant.components.isy994.binary_sensor.ISYBinarySensorHeartbeat._parent_device
private

Definition at line 438 of file binary_sensor.py.


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