]> git.basschouten.com Git - openhab-addons.git/commitdiff
Reverting incorrect code move (#16548)
authorGaël L'hopital <gael@lhopital.org>
Thu, 21 Mar 2024 08:10:15 +0000 (09:10 +0100)
committerGitHub <noreply@github.com>
Thu, 21 Mar 2024 08:10:15 +0000 (09:10 +0100)
Signed-off-by: gael@lhopital.org <gael@lhopital.org>
bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/HomeCapability.java

index cb4937440a2aba10e9614b06f06d01fc7851f728..b2e7695a8e4261cb54c6fcdefc91ea26e406aa3e 100644 (file)
@@ -21,7 +21,6 @@ import java.util.Set;
 import java.util.stream.Collectors;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.eclipse.jdt.annotation.Nullable;
 import org.openhab.binding.netatmo.internal.api.HomeApi;
 import org.openhab.binding.netatmo.internal.api.NetatmoException;
 import org.openhab.binding.netatmo.internal.api.data.NetatmoConstants.FeatureArea;
@@ -66,12 +65,6 @@ public class HomeCapability extends RestCapability<HomeApi> {
         if (!config.securityId.isBlank()) {
             homeIds.add(config.securityId);
         }
-        if (hasArea(FeatureArea.SECURITY) && !handler.getCapabilities().containsKey(SecurityCapability.class)) {
-            handler.getCapabilities().put(new SecurityCapability(handler));
-        }
-        if (hasArea(FeatureArea.ENERGY) && !handler.getCapabilities().containsKey(EnergyCapability.class)) {
-            handler.getCapabilities().put(new EnergyCapability(handler, descriptionProvider));
-        }
     }
 
     @Override
@@ -83,6 +76,16 @@ public class HomeCapability extends RestCapability<HomeApi> {
     @Override
     protected void updateHomeData(HomeData home) {
         if (firstLaunch) {
+            if (featureAreas.contains(FeatureArea.SECURITY)) {
+                handler.getCapabilities().put(new SecurityCapability(handler));
+            } else {
+                handler.removeChannels(thing.getChannelsOfGroup(GROUP_SECURITY));
+            }
+            if (featureAreas.contains(FeatureArea.ENERGY)) {
+                handler.getCapabilities().put(new EnergyCapability(handler, descriptionProvider));
+            } else {
+                handler.removeChannels(thing.getChannelsOfGroup(GROUP_ENERGY));
+            }
             home.getCountry().map(country -> properties.put(PROPERTY_COUNTRY, country));
             home.getTimezone().map(tz -> properties.put(PROPERTY_TIMEZONE, tz));
             properties.put(GROUP_LOCATION, ((Location) home).getLocation().toString());
@@ -91,21 +94,6 @@ public class HomeCapability extends RestCapability<HomeApi> {
         }
     }
 
-    @Override
-    protected void afterNewData(@Nullable NAObject newData) {
-        if (firstLaunch && !hasArea(FeatureArea.SECURITY)) {
-            handler.removeChannels(thing.getChannelsOfGroup(GROUP_SECURITY));
-        }
-        if (firstLaunch && !hasArea(FeatureArea.ENERGY)) {
-            handler.removeChannels(thing.getChannelsOfGroup(GROUP_ENERGY));
-        }
-        super.afterNewData(newData);
-    }
-
-    private boolean hasArea(FeatureArea searched) {
-        return featureAreas.contains(searched);
-    }
-
     /**
      * Errored equipments are reported at home level - so we need to explore all the tree to identify modules
      * depending from a child device.