From 2743ba92c1d21993df61ae557993381e218bb188 Mon Sep 17 00:00:00 2001 From: e542445 Date: Tue, 2 Jan 2024 00:38:50 +0100 Subject: [PATCH] init lightnessControlledLightService after all devices are discovered --- .../ch/akop/homesystem/services/impl/AutomationService.java | 2 ++ .../services/impl/LightnessControlledDeviceService.java | 6 +----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/ch/akop/homesystem/services/impl/AutomationService.java b/backend/src/main/java/ch/akop/homesystem/services/impl/AutomationService.java index 0d032466..d8842dc4 100644 --- a/backend/src/main/java/ch/akop/homesystem/services/impl/AutomationService.java +++ b/backend/src/main/java/ch/akop/homesystem/services/impl/AutomationService.java @@ -44,6 +44,7 @@ public class AutomationService { private final PowerMeterService powerMeterService; private final MotionSensorService motionSensorService; private final RollerShutterService rollerShutterService; + private final LightnessControlledDeviceService lightnessControlledDeviceService; private final EventBus eventPublisher; @SuppressWarnings("rawtypes") @@ -59,6 +60,7 @@ public void discoverNewDevices() { powerMeterService.init(); motionSensorService.init(); rollerShutterService.init(); + lightnessControlledDeviceService.init(); } private boolean unknownDevice(Device device) { diff --git a/backend/src/main/java/ch/akop/homesystem/services/impl/LightnessControlledDeviceService.java b/backend/src/main/java/ch/akop/homesystem/services/impl/LightnessControlledDeviceService.java index 9e2142b7..de34c313 100644 --- a/backend/src/main/java/ch/akop/homesystem/services/impl/LightnessControlledDeviceService.java +++ b/backend/src/main/java/ch/akop/homesystem/services/impl/LightnessControlledDeviceService.java @@ -6,19 +6,15 @@ import ch.akop.weathercloud.Weather; import ch.akop.weathercloud.light.Light; import io.quarkus.narayana.jta.QuarkusTransaction; -import io.quarkus.runtime.StartupEvent; import io.vertx.core.Vertx; import io.vertx.rxjava3.RxHelper; import java.util.function.Consumer; -import javax.enterprise.context.ApplicationScoped; -import javax.enterprise.event.Observes; import javax.transaction.Transactional; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor -@ApplicationScoped public class LightnessControlledDeviceService { private final LightnessControlledDeviceRepository configRepository; @@ -28,7 +24,7 @@ public class LightnessControlledDeviceService { private final Vertx vertx; @Transactional - void setupWeatherListener(@Observes StartupEvent startup) { + public void init() { var rxScheduler = RxHelper.blockingScheduler(vertx); weatherService.getWeather() .map(Weather::getLight)