]> git.basschouten.com Git - openhab-addons.git/commitdiff
[jablotron] fixed programmable gates channels are not visible in the OH3 UI (#9809)
authorOndrej Pecta <opecta@gmail.com>
Wed, 13 Jan 2021 20:00:50 +0000 (21:00 +0100)
committerGitHub <noreply@github.com>
Wed, 13 Jan 2021 20:00:50 +0000 (21:00 +0100)
- fixed programmable gates channels are not visible in the OH3 UI

Signed-off-by: Ondrej Pecta <opecta@gmail.com>
bundles/org.openhab.binding.jablotron/src/main/java/org/openhab/binding/jablotron/JablotronBindingConstants.java
bundles/org.openhab.binding.jablotron/src/main/java/org/openhab/binding/jablotron/internal/handler/JablotronJa100FHandler.java
bundles/org.openhab.binding.jablotron/src/main/java/org/openhab/binding/jablotron/internal/handler/JablotronJa100Handler.java
bundles/org.openhab.binding.jablotron/src/main/resources/OH-INF/thing/channels.xml

index b88993771010f133f4faec2045bfc571955d7357..f5b9f4f2721705e797f3877bf8d4f7d34aa315e8 100644 (file)
@@ -28,7 +28,7 @@ import org.openhab.core.thing.ThingTypeUID;
 @NonNullByDefault
 public class JablotronBindingConstants {
 
-    private static final String BINDING_ID = "jablotron";
+    public static final String BINDING_ID = "jablotron";
 
     // List of all Thing Type UIDs
     public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge");
index 855c93821d10d967410405ed7b6df459909ba110..7b4b72f246b2fb89de0ed78b9f1c982d259c9932 100644 (file)
@@ -12,6 +12,7 @@
  */
 package org.openhab.binding.jablotron.internal.handler;
 
+import static org.openhab.binding.jablotron.JablotronBindingConstants.BINDING_ID;
 import static org.openhab.binding.jablotron.JablotronBindingConstants.CACHE_TIMEOUT_MS;
 import static org.openhab.binding.jablotron.JablotronBindingConstants.CHANNEL_LAST_CHECK_TIME;
 
@@ -125,15 +126,16 @@ public class JablotronJa100FHandler extends JablotronAlarmHandler {
     }
 
     private void createPGChannel(String name, String label) {
+        ChannelTypeUID pgmStatus = new ChannelTypeUID(BINDING_ID, "pgm_state");
         ThingBuilder thingBuilder = editThing();
         Channel channel = ChannelBuilder.create(new ChannelUID(thing.getUID(), name), "Switch").withLabel(label)
-                .build();
+                .withType(pgmStatus).build();
         thingBuilder.withChannel(channel);
         updateThing(thingBuilder.build());
     }
 
     private void createStateChannel(String name, String label) {
-        ChannelTypeUID alarmStatus = new ChannelTypeUID("jablotron", "ja100f_alarm_state");
+        ChannelTypeUID alarmStatus = new ChannelTypeUID(BINDING_ID, "ja100f_alarm_state");
         ThingBuilder thingBuilder = editThing();
         Channel channel = ChannelBuilder.create(new ChannelUID(thing.getUID(), name), "String").withLabel(label)
                 .withType(alarmStatus).build();
index a2ff16905e30180366848ec77dea3b051a06946b..8cf74b1a9d7490f95ef88cf7a62439cff098bc9a 100644 (file)
@@ -12,6 +12,7 @@
  */
 package org.openhab.binding.jablotron.internal.handler;
 
+import static org.openhab.binding.jablotron.JablotronBindingConstants.BINDING_ID;
 import static org.openhab.binding.jablotron.JablotronBindingConstants.CACHE_TIMEOUT_MS;
 import static org.openhab.binding.jablotron.JablotronBindingConstants.CHANNEL_LAST_CHECK_TIME;
 
@@ -98,7 +99,7 @@ public class JablotronJa100Handler extends JablotronAlarmHandler {
     }
 
     private void createTempChannel(String name, String label) {
-        ChannelTypeUID temperature = new ChannelTypeUID("jablotron", "temperature");
+        ChannelTypeUID temperature = new ChannelTypeUID(BINDING_ID, "temperature");
         ThingBuilder thingBuilder = editThing();
         Channel channel = ChannelBuilder.create(new ChannelUID(thing.getUID(), name), "Number:Temperature")
                 .withLabel(label).withType(temperature).build();
@@ -107,7 +108,7 @@ public class JablotronJa100Handler extends JablotronAlarmHandler {
     }
 
     private void createThermostatChannel(String name, String label) {
-        ChannelTypeUID temperature = new ChannelTypeUID("jablotron", "thermostat");
+        ChannelTypeUID temperature = new ChannelTypeUID(BINDING_ID, "thermostat");
         ThingBuilder thingBuilder = editThing();
         Channel channel = ChannelBuilder.create(new ChannelUID(thing.getUID(), name), "Number:Temperature")
                 .withLabel(label).withType(temperature).build();
@@ -116,15 +117,16 @@ public class JablotronJa100Handler extends JablotronAlarmHandler {
     }
 
     private void createPGMChannel(String name, String label) {
+        ChannelTypeUID pgmStatus = new ChannelTypeUID(BINDING_ID, "pgm_state");
         ThingBuilder thingBuilder = editThing();
         Channel channel = ChannelBuilder.create(new ChannelUID(thing.getUID(), name), "Switch").withLabel(label)
-                .build();
+                .withType(pgmStatus).build();
         thingBuilder.withChannel(channel);
         updateThing(thingBuilder.build());
     }
 
     private void createStateChannel(String name, String label) {
-        ChannelTypeUID alarmStatus = new ChannelTypeUID("jablotron", "alarm_state");
+        ChannelTypeUID alarmStatus = new ChannelTypeUID(BINDING_ID, "alarm_state");
         ThingBuilder thingBuilder = editThing();
         Channel channel = ChannelBuilder.create(new ChannelUID(thing.getUID(), name), "String").withLabel(label)
                 .withType(alarmStatus).build();
index e20c20d82a700c29bdb125e5ce280aa77acbc8c9..f93504f875cb341061aa9af747e7f66130a28a23 100644 (file)
                <state readOnly="true"/>
        </channel-type>
 
+       <!-- pgm_state -->
+       <channel-type id="pgm_state">
+               <item-type>Switch</item-type>
+               <label>Programmable Gate State</label>
+               <description>A channel used for controlling the PGM state</description>
+       </channel-type>
+
        <!-- alarm_state -->
        <channel-type id="alarm_state">
                <item-type>String</item-type>