[mqtt.homeassistant] Mark disabled by default components as advanced channels (#14240)
openHAB doesn't have the concept of "enabled by default", since _everything_ is technically "disabled" until you link it to an item. It seems devices use disabled by default on less common entities, such as zigbee2mqtt marking a binary_sensor as a "backup" method to an update entity for when an update is available, or a sensor as a "backup" method to a select entity. So in that case, just hiding these channels unless the user clicks "Show Advanced" seems to map best. Signed-off-by: Cody Cutrer <cody@cutrer.us>
This commit is contained in:
parent
83c20b0bd6
commit
d97d212cd1
@ -232,6 +232,11 @@ public class ComponentChannel {
|
|||||||
.withCommandTopic(commandTopic).makeTrigger(trigger).withFormatter(format).build(),
|
.withCommandTopic(commandTopic).makeTrigger(trigger).withFormatter(format).build(),
|
||||||
channelUID, valueState, channelStateUpdateListener, commandFilter);
|
channelUID, valueState, channelStateUpdateListener, commandFilter);
|
||||||
|
|
||||||
|
// disabled by default components should always show up as advanced
|
||||||
|
if (!component.isEnabledByDefault()) {
|
||||||
|
isAdvanced = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (this.trigger) {
|
if (this.trigger) {
|
||||||
type = ChannelTypeBuilder.trigger(channelTypeUID, label)
|
type = ChannelTypeBuilder.trigger(channelTypeUID, label)
|
||||||
.withConfigDescriptionURI(URI.create(MqttBindingConstants.CONFIG_HA_CHANNEL))
|
.withConfigDescriptionURI(URI.create(MqttBindingConstants.CONFIG_HA_CHANNEL))
|
||||||
|
|||||||
@ -239,4 +239,8 @@ public abstract class AbstractComponent<C extends AbstractChannelConfiguration>
|
|||||||
public TransformationServiceProvider getTransformationServiceProvider() {
|
public TransformationServiceProvider getTransformationServiceProvider() {
|
||||||
return componentConfiguration.getTransformationServiceProvider();
|
return componentConfiguration.getTransformationServiceProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEnabledByDefault() {
|
||||||
|
return channelConfiguration.isEnabledByDefault();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -127,9 +127,6 @@ public class Vacuum extends AbstractComponent<Vacuum.ChannelConfiguration> {
|
|||||||
@SerializedName("docked_topic")
|
@SerializedName("docked_topic")
|
||||||
protected @Nullable String dockedTopic;
|
protected @Nullable String dockedTopic;
|
||||||
|
|
||||||
@SerializedName("enabled_by_default")
|
|
||||||
protected @Nullable Boolean enabledByDefault = true;
|
|
||||||
|
|
||||||
@SerializedName("error_template")
|
@SerializedName("error_template")
|
||||||
protected @Nullable String errorTemplate;
|
protected @Nullable String errorTemplate;
|
||||||
@SerializedName("error_topic")
|
@SerializedName("error_topic")
|
||||||
|
|||||||
@ -55,6 +55,9 @@ public abstract class AbstractChannelConfiguration {
|
|||||||
@SerializedName("availability_template")
|
@SerializedName("availability_template")
|
||||||
protected @Nullable String availabilityTemplate;
|
protected @Nullable String availabilityTemplate;
|
||||||
|
|
||||||
|
@SerializedName("enabled_by_default")
|
||||||
|
protected boolean enabledByDefault = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with
|
* A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with
|
||||||
* availability_topic
|
* availability_topic
|
||||||
@ -168,6 +171,10 @@ public abstract class AbstractChannelConfiguration {
|
|||||||
return availabilityTemplate;
|
return availabilityTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEnabledByDefault() {
|
||||||
|
return enabledByDefault;
|
||||||
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public Device getDevice() {
|
public Device getDevice() {
|
||||||
return device;
|
return device;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user