Creates a new button instance
Configuration settings for the button
Callback function to handle button press events
Protected
attributesMQTT topic for entity attributes
Protected
availabilityMQTT topic for entity availability status
Protected
baseBase MQTT topic name for this entity
Protected
commandList of MQTT topics for entity commands.
Protected
componentThe component configuration containing entity-specific settings
Protected
configMQTT topic for entity configuration
Protected
identifierUnique identifier for this entity
Protected
loggerLogger instance for debugging and error reporting
Protected
mqttThe MQTT client instance used for communication
Protected
settingsThe component settings including MQTT configuration
Protected
stateCallback function to handle state changes
Protected
stateList of MQTT topics for entity state
Protected
wroteFlag indicating whether configuration has been written to MQTT
Protected
getGets the complete configuration for this entity including command topic
The resolved component configuration with all required MQTT topics
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 button in Home Assistant A button is a momentary push button that triggers an action when pressed
Type Param: TUserData
Type of custom user data that can be passed to command callbacks