[hdpowerview] Fix autoupdate quirk. (#12141)
Fixes #12140 Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
This commit is contained in:
parent
369b985192
commit
608d0ae23a
|
@ -76,8 +76,8 @@ have different `id` values:
|
|||
|
||||
| Channel Group | Channel | Item Type | Description |
|
||||
|---------------|---------|-----------|-------------|
|
||||
| scenes | id | Switch | Setting this to ON will activate the scene. Scenes are stateless in the PowerView hub; they have no on/off state. Note: include `{autoupdate="false"}` in the item configuration to avoid having to reset it to off after use. |
|
||||
| sceneGroups | id | Switch | Setting this to ON will activate the scene group. Scene groups are stateless in the PowerView hub; they have no on/off state. Note: include `{autoupdate="false"}` in the item configuration to avoid having to reset it to off after use. |
|
||||
| scenes | id | Switch | Setting this to ON will activate the scene. Scenes are stateless in the PowerView hub; they have no on/off state. |
|
||||
| sceneGroups | id | Switch | Setting this to ON will activate the scene group. Scene groups are stateless in the PowerView hub; they have no on/off state. |
|
||||
| automations | id | Switch | Setting this to ON will enable the automation, while OFF will disable it. |
|
||||
|
||||
### Channels for Shades (Thing type `shade`)
|
||||
|
@ -239,7 +239,7 @@ Switch Bedroom_Repeater_BlinkingEnabled "Bedroom Repeater Blinking Enabled [%s]"
|
|||
Scene items:
|
||||
|
||||
```
|
||||
Switch Living_Room_Shades_Scene_Heart "Living Room Shades Scene Heart" <blinds> (g_Shades_Scene_Trigger) {channel="hdpowerview:hub:g24:scenes#22663", autoupdate="false"}
|
||||
Switch Living_Room_Shades_Scene_Heart "Living Room Shades Scene Heart" <blinds> (g_Shades_Scene_Trigger) {channel="hdpowerview:hub:g24:scenes#22663"}
|
||||
```
|
||||
|
||||
### `demo.sitemap` File
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.openhab.core.thing.Channel;
|
|||
import org.openhab.core.thing.ChannelGroupUID;
|
||||
import org.openhab.core.thing.ChannelUID;
|
||||
import org.openhab.core.thing.binding.builder.ChannelBuilder;
|
||||
import org.openhab.core.thing.type.AutoUpdatePolicy;
|
||||
|
||||
/**
|
||||
* The {@link SceneChannelBuilder} class creates scene channels
|
||||
|
@ -95,6 +96,7 @@ public class SceneChannelBuilder extends BaseChannelBuilder {
|
|||
ChannelUID channelUid = new ChannelUID(channelGroupUid, Integer.toString(scene.id));
|
||||
String description = translationProvider.getText("dynamic-channel.scene-activate.description", scene.getName());
|
||||
return ChannelBuilder.create(channelUid, CoreItemFactory.SWITCH).withType(channelTypeUid)
|
||||
.withLabel(scene.getName()).withDescription(description).build();
|
||||
.withLabel(scene.getName()).withDescription(description).withAutoUpdatePolicy(AutoUpdatePolicy.VETO)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.openhab.core.thing.Channel;
|
|||
import org.openhab.core.thing.ChannelGroupUID;
|
||||
import org.openhab.core.thing.ChannelUID;
|
||||
import org.openhab.core.thing.binding.builder.ChannelBuilder;
|
||||
import org.openhab.core.thing.type.AutoUpdatePolicy;
|
||||
|
||||
/**
|
||||
* The {@link SceneGroupChannelBuilder} class creates scene group channels
|
||||
|
@ -97,6 +98,7 @@ public class SceneGroupChannelBuilder extends BaseChannelBuilder {
|
|||
String description = translationProvider.getText("dynamic-channel.scene-group-activate.description",
|
||||
sceneCollection.getName());
|
||||
return ChannelBuilder.create(channelUid, CoreItemFactory.SWITCH).withType(channelTypeUid)
|
||||
.withLabel(sceneCollection.getName()).withDescription(description).build();
|
||||
.withLabel(sceneCollection.getName()).withDescription(description)
|
||||
.withAutoUpdatePolicy(AutoUpdatePolicy.VETO).build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.openhab.binding.hdpowerview.internal.builders.SceneChannelBuilder;
|
|||
import org.openhab.core.thing.Channel;
|
||||
import org.openhab.core.thing.ChannelGroupUID;
|
||||
import org.openhab.core.thing.ThingUID;
|
||||
import org.openhab.core.thing.type.AutoUpdatePolicy;
|
||||
import org.osgi.framework.Bundle;
|
||||
|
||||
/**
|
||||
|
@ -80,6 +81,15 @@ public class SceneChannelBuilderTest {
|
|||
assertEquals(Integer.toString(scenes.get(0).id), channels.get(0).getUID().getIdWithoutGroup());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void autoUpdatePolicyIsCorrect() {
|
||||
List<Scene> scenes = createScenes();
|
||||
List<Channel> channels = builder.withScenes(scenes).build();
|
||||
|
||||
assertEquals(1, channels.size());
|
||||
assertEquals(AutoUpdatePolicy.VETO, channels.get(0).getAutoUpdatePolicy());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void suppliedListIsUsed() {
|
||||
List<Scene> scenes = createScenes();
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.openhab.binding.hdpowerview.internal.builders.SceneGroupChannelBuilde
|
|||
import org.openhab.core.thing.Channel;
|
||||
import org.openhab.core.thing.ChannelGroupUID;
|
||||
import org.openhab.core.thing.ThingUID;
|
||||
import org.openhab.core.thing.type.AutoUpdatePolicy;
|
||||
import org.osgi.framework.Bundle;
|
||||
|
||||
/**
|
||||
|
@ -80,6 +81,15 @@ public class SceneGroupChannelBuilderTest {
|
|||
assertEquals(Integer.toString(sceneCollections.get(0).id), channels.get(0).getUID().getIdWithoutGroup());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void autoUpdatePolicyIsCorrect() {
|
||||
List<SceneCollection> sceneCollections = createSceneCollections();
|
||||
List<Channel> channels = builder.withSceneCollections(sceneCollections).build();
|
||||
|
||||
assertEquals(1, channels.size());
|
||||
assertEquals(AutoUpdatePolicy.VETO, channels.get(0).getAutoUpdatePolicy());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void suppliedListIsUsed() {
|
||||
List<SceneCollection> sceneCollections = createSceneCollections();
|
||||
|
|
Loading…
Reference in New Issue