Creates a new button instance
Configuration settings for the button
Callback function to handle button press events
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
ProtectedgetGets 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