diff --git a/modules/core/monitor.py b/modules/core/monitor.py index 0d9d6fe2ff21e6e14580b84331ca014a9f47609e..7b95a1555e6f118fe9d45fec7f9ea982b6776d5c 100644 --- a/modules/core/monitor.py +++ b/modules/core/monitor.py @@ -25,6 +25,7 @@ import os.path from os import path from enum import Enum +import meta from modules.communication.redis.adapter import ClientRedisAdapter @@ -51,6 +52,7 @@ class Monitoring: self.config = config self.soundsystem = soundsystem self.status = dict() + self.status["engine"] = dict() self.status["soundsystem"] = dict() self.status["api"] = dict() self.status["api"]["steering"] = dict() @@ -62,6 +64,8 @@ class Monitoring: """ Requests the current status of all components """ + self.status["engine"]["version"] = meta.__version__ + self.soundsystem.enable_transaction(self.soundsystem.client) self.status["soundsystem"]["version"] = self.soundsystem.version() self.status["soundsystem"]["active"] = self.soundsystem.is_active() @@ -84,11 +88,10 @@ class Monitoring: self.status["redis_ready"] = self.validate_redis_connection() self.status["audio_store"] = self.validate_directory(self.config.get("audiofolder")) - # Set overall status if self.has_valid_status(): - self.status["engine_status"] = MonitorResponseCode.OK.value + self.status["engine"]["status"] = MonitorResponseCode.OK.value else: - self.status["engine_status"] = MonitorResponseCode.INVALID_STATE.value + self.status["engine"]["status"] = MonitorResponseCode.INVALID_STATE.value diff --git a/modules/core/startup.py b/modules/core/startup.py index 32e7f60a8f7e7cff0fa416e5ec65116c077206d8..f4873dc35ab33faf924fbc7e91f5b1b0a72985ec 100644 --- a/modules/core/startup.py +++ b/modules/core/startup.py @@ -62,8 +62,8 @@ class StartupThread(threading.Thread): status = self.monitoring.get_status() self.logger.info("Status Monitor:\n%s" % json.dumps(status, indent=4)) - if not status["engine_status"] == "OK": - self.logger.info("Engine Status: " + SimpleUtil.red(status["engine_status"])) + if not status["engine"]["status"] == "OK": + self.logger.info("Engine Status: " + SimpleUtil.red(status["engine"]["status"])) raise EngineMalfunctionException else: self.logger.info("Engine Status: " + SimpleUtil.green("OK"))