Base components¶
- class nirahmq.components.base.Availability[source]¶
Bases:
BaseModelA dataclass representing a component that supports availability.
All components that support availability, inherit from this class.
- get_availability_topics() list[tuple[str, str, str]][source]¶
Get all the available availability topics and their
AVAILABLEandNOT AVAILABLEpayloads.
- availability: Annotated[list[AvailabilityItem], Len(min_length=1, max_length=None)]¶
- availability_topic: StateTopic¶
- class nirahmq.components.base.AvailabilityItem[source]¶
Bases:
BaseModelDataclass representing an item in the availability list of an
Availabilityclass.- topic: StateTopic¶
- class nirahmq.components.base.BareEntityBase[source]¶
Bases:
Availability,ComponentBaseA component class that represents a bare Home Assistant entity.
- set_availability(state: bool) None[source]¶
Set availability of the entity.
- Parameters:
state (bool) – Whether the entity should be available
- json_attributes_topic: StateTopic¶
- class nirahmq.components.base.CallableComponent[source]¶
Bases:
ComponentBaseA component class that has command topics to receive data from.
All components that receive commands, inherit from this class.
- class nirahmq.components.base.ComponentBase[source]¶
Bases:
BaseModelBase component class.
All the components in
nirahmq.componentsare derived from this class.- publish(topic: str, payload: str | bytes | bytearray | int | float | None, qos: QoS = QoS.MOST, retain: bool = True) None[source]¶
Publish an arbitrary payload to the specified MQTT topic.
Publish an arbitrary payload to the specified MQTT topic. Optionally, set the Quality of Service (QoS) and retain flag for the message.
Does nothing if the instance is not connected to an MQTT broker or the
topicisUnset.
- base_topic: Annotated[str, FieldInfo(annotation=NoneType, required=True, alias_priority=2, serialization_alias='~')]¶
- ha_status_callback: ComponentCallback[ComponentBase]¶
- class nirahmq.components.base.EntityBase[source]¶
Bases:
BareEntityBaseA component class that represents a Home Assistant entity.
- class nirahmq.components.base.StatefulComponent[source]¶
Bases:
ComponentBaseA component class that has state topics to publish to.
All components that report a state, inherit from this class.
- nirahmq.components.base.ComponentDefaultCallback = FieldInfo(annotation=Optional[ComponentCallback[nirahmq.components.components.WaterHeater]], required=False, default=<_Unset.TOKEN: None>, exclude=True)¶
Default component callback value.