Creates a new water heater instance
Configuration settings for the water heater
Array of state topic names to expose
Callback function to handle state changes
Array of command topic names to subscribe to
Callback function to handle command messages
ProtectedattributesMQTT topic for entity attributes
ProtectedavailabilityMQTT topic for entity availability status
ProtectedbaseBase MQTT topic name for this entity
ProtectedcommandList of MQTT topics for entity commands.
ProtectedcomponentThe component configuration containing entity-specific settings
ProtectedconfigMQTT topic for entity configuration
ProtectedidentifierUnique identifier for this entity
ProtectedloggerLogger instance for debugging and error reporting
ProtectedmqttThe MQTT client instance used for communication
ProtectedsettingsThe component settings including MQTT configuration
ProtectedstateCallback function to handle state changes
ProtectedstateList of MQTT topics for entity state
ProtectedwroteFlag indicating whether configuration has been written to MQTT
The active operation mode. Setting a mode other than off also records it as the last "on" mode used to
restore power, and publishes the value on the mode_state_topic.
The measured current temperature. Setting it publishes the value on the current_temperature_topic;
setting undefined publishes "None" to reset it.
The target temperature. Setting it publishes the value on the temperature_state_topic; setting
undefined publishes "None" to reset it.
ProtectedgetGets the complete configuration for this entity including command topic
The resolved component configuration with all required MQTT topics
Clears the entity's retained discovery configuration, causing Home Assistant to remove the entity.
Use this when an entity that may have been published by a previous run should no longer exist. Because writeConfig retains its payload, simply not calling it leaves the entity in place indefinitely.
Sets additional attributes for the entity
Key-value pairs of attributes to set
Sets the availability state of the entity
True if the entity is available, false otherwise
Writes the entity's configuration to MQTT for Home Assistant discovery Also sets the entity's initial availability state if not manually managed
Represents a water heater in Home Assistant.