From 98a2035324cd6815130da6c5f177e451cc272c4b Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Tue, 16 Dec 2025 11:31:51 +0100 Subject: [PATCH 1/9] fix variable --- .../app_bricks/video_objectdetection/brick_compose.yaml | 2 +- .../app_bricks/video_objectdetection/brick_config.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/arduino/app_bricks/video_objectdetection/brick_compose.yaml b/src/arduino/app_bricks/video_objectdetection/brick_compose.yaml index 393491d5..9dbb74ca 100644 --- a/src/arduino/app_bricks/video_objectdetection/brick_compose.yaml +++ b/src/arduino/app_bricks/video_objectdetection/brick_compose.yaml @@ -11,7 +11,7 @@ services: volumes: - "${CUSTOM_MODEL_PATH:-/home/arduino/.arduino-bricks/ei-models/}:${CUSTOM_MODEL_PATH:-/home/arduino/.arduino-bricks/ei-models/}" - "/run/udev:/run/udev" - command: ["--model-file", "${EI_V_OBJ_DETECTION_MODEL:-/models/ootb/ei/yolo-x-nano.eim}", "--dont-print-predictions", "--mode", "streaming", "--preview-original-resolution", "--camera", "${VIDEO_DEVICE:-/dev/video1}"] + command: ["--model-file", "${EI_OBJ_DETECTION_MODEL:-/models/ootb/ei/yolo-x-nano.eim}", "--dont-print-predictions", "--mode", "streaming", "--preview-original-resolution", "--camera", "${VIDEO_DEVICE:-/dev/video1}"] healthcheck: test: [ "CMD-SHELL", "wget -q --spider http://ei-video-obj-detection-runner:4912 || exit 1" ] interval: 2s diff --git a/src/arduino/app_bricks/video_objectdetection/brick_config.yaml b/src/arduino/app_bricks/video_objectdetection/brick_config.yaml index 8866acf8..92d37544 100644 --- a/src/arduino/app_bricks/video_objectdetection/brick_config.yaml +++ b/src/arduino/app_bricks/video_objectdetection/brick_config.yaml @@ -12,9 +12,9 @@ required_devices: - camera model: yolox-object-detection model_configuration_variables: - - EI_V_OBJ_DETECTION_MODEL + - EI_OBJ_DETECTION_MODEL variables: -- name: EI_V_OBJ_DETECTION_MODEL +- name: EI_OBJ_DETECTION_MODEL description: Path to the model file hidden: true default_value: /models/ootb/ei/yolox-object-detection.eim From 5b960ce31484c25acc91b9aeac3f376a7e3008a5 Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Tue, 16 Dec 2025 11:55:50 +0100 Subject: [PATCH 2/9] fix default value --- src/arduino/app_bricks/object_detection/brick_config.yaml | 2 +- src/arduino/app_bricks/video_objectdetection/brick_config.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arduino/app_bricks/object_detection/brick_config.yaml b/src/arduino/app_bricks/object_detection/brick_config.yaml index b2fec719..b0969736 100644 --- a/src/arduino/app_bricks/object_detection/brick_config.yaml +++ b/src/arduino/app_bricks/object_detection/brick_config.yaml @@ -13,7 +13,7 @@ variables: - name: EI_OBJ_DETECTION_MODEL description: Path to the model file hidden: true - default_value: /models/ootb/ei/yolox-object-detection.eim + default_value: /models/ootb/ei/yolo-x-nano.eim - name: CUSTOM_MODEL_PATH description: Path to the custom model directory hidden: true diff --git a/src/arduino/app_bricks/video_objectdetection/brick_config.yaml b/src/arduino/app_bricks/video_objectdetection/brick_config.yaml index 92d37544..cd8c774d 100644 --- a/src/arduino/app_bricks/video_objectdetection/brick_config.yaml +++ b/src/arduino/app_bricks/video_objectdetection/brick_config.yaml @@ -17,7 +17,7 @@ variables: - name: EI_OBJ_DETECTION_MODEL description: Path to the model file hidden: true - default_value: /models/ootb/ei/yolox-object-detection.eim + default_value: /models/ootb/ei/yolo-x-nano.eim - name: CUSTOM_MODEL_PATH description: Path to the custom model directory hidden: true From 0674623ae35109c2e46bc627f5976dea664fa71e Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Tue, 16 Dec 2025 12:17:29 +0100 Subject: [PATCH 3/9] fix default values --- .../app_bricks/video_imageclassification/brick_config.yaml | 2 +- src/arduino/app_bricks/video_objectdetection/brick_config.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arduino/app_bricks/video_imageclassification/brick_config.yaml b/src/arduino/app_bricks/video_imageclassification/brick_config.yaml index 34ed1c52..6bd44965 100644 --- a/src/arduino/app_bricks/video_imageclassification/brick_config.yaml +++ b/src/arduino/app_bricks/video_imageclassification/brick_config.yaml @@ -26,7 +26,7 @@ variables: - name: BIND_ADDRESS description: Bind address hidden: true - default_value: 127.0.0.1 + default_value: 0.0.0.0 - name: VIDEO_DEVICE description: Video device path hidden: true diff --git a/src/arduino/app_bricks/video_objectdetection/brick_config.yaml b/src/arduino/app_bricks/video_objectdetection/brick_config.yaml index cd8c774d..a6dda655 100644 --- a/src/arduino/app_bricks/video_objectdetection/brick_config.yaml +++ b/src/arduino/app_bricks/video_objectdetection/brick_config.yaml @@ -25,7 +25,7 @@ variables: - name: BIND_ADDRESS description: Bind address hidden: true - default_value: 127.0.0.1 + default_value: 0.0.0.0 - name: VIDEO_DEVICE description: Video device path hidden: true From ae1b4d3e9fd634cd9e201a45ff475a7aa6f45b19 Mon Sep 17 00:00:00 2001 From: Mirko Curtolo Date: Tue, 16 Dec 2025 14:12:29 +0100 Subject: [PATCH 4/9] Propagate hidden attribute --- src/arduino/app_internal/core/module.py | 7 +++++-- src/arduino/app_tools/module_listing.py | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/arduino/app_internal/core/module.py b/src/arduino/app_internal/core/module.py index 34f2fdea..841ed65c 100644 --- a/src/arduino/app_internal/core/module.py +++ b/src/arduino/app_internal/core/module.py @@ -152,19 +152,22 @@ def __str__(self): class EnvVariable: - def __init__(self, name: str, description: str, default_value: str = None): + def __init__(self, name: str, description: str, default_value: str = None, hidden: bool = False): """Represents a variable in brick_config file.""" self.name = name self.default_value = default_value self.description = description + self.hidden = hidden def to_dict(self) -> dict: """Converts the EnvVariable object to a dictionary.""" - dict_out = {"name": self.name, "default_value": self.default_value, "description": self.description} + dict_out = {"name": self.name, "default_value": self.default_value, "description": self.description, "hidden": self.hidden} if self.default_value is None or self.default_value == "": del dict_out["default_value"] if self.description is None or self.description == "": del dict_out["description"] + if not self.hidden: + del dict_out["hidden"] return dict_out def __str__(self): diff --git a/src/arduino/app_tools/module_listing.py b/src/arduino/app_tools/module_listing.py index 32530f51..4c5c5bac 100644 --- a/src/arduino/app_tools/module_listing.py +++ b/src/arduino/app_tools/module_listing.py @@ -97,7 +97,8 @@ def to_dict(self) -> dict: name = var.get("name") description = var.get("description", "") default = var.get("default_value", "") - additional_vars.append(EnvVariable(name, description, default)) + hidden = var.get("hidden", False) + additional_vars.append(EnvVariable(name, description, default, hidden)) if "variables" in out_dict: out_dict["variables"].extend([var.to_dict() for var in additional_vars]) else: From 68504fb49cc918a951aa30e4bbd327f73f9b8819 Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Tue, 16 Dec 2025 14:20:42 +0100 Subject: [PATCH 5/9] Fix mobilenet default value --- .../app_bricks/video_imageclassification/brick_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arduino/app_bricks/video_imageclassification/brick_config.yaml b/src/arduino/app_bricks/video_imageclassification/brick_config.yaml index 6bd44965..2e394ce7 100644 --- a/src/arduino/app_bricks/video_imageclassification/brick_config.yaml +++ b/src/arduino/app_bricks/video_imageclassification/brick_config.yaml @@ -18,7 +18,7 @@ variables: - name: EI_V_CLASSIFICATION_MODEL description: Path to the model file hidden: true - default_value: /models/ootb/ei/mobilenet_v2_1.0_224_image_classification.eim + default_value: /models/ootb/ei/mobilenet-v2-224px.eim - name: CUSTOM_MODEL_PATH description: Path to the custom model directory hidden: true From 137edb7c52e7b1e950dd88eaeb048710eed58b79 Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Tue, 16 Dec 2025 14:26:40 +0100 Subject: [PATCH 6/9] Fix variables --- .../image_classification/brick_config.yaml | 2 +- .../vibration_anomaly_detection/brick_config.yaml | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/arduino/app_bricks/image_classification/brick_config.yaml b/src/arduino/app_bricks/image_classification/brick_config.yaml index 07e8052e..6d4431a9 100644 --- a/src/arduino/app_bricks/image_classification/brick_config.yaml +++ b/src/arduino/app_bricks/image_classification/brick_config.yaml @@ -13,7 +13,7 @@ variables: - name: EI_CLASSIFICATION_MODEL description: Path to the model file hidden: true - default_value: /models/ootb/ei/mobilenet_v2_1.0_224_image_classification.eim + default_value: /models/ootb/ei/mobilenet-v2-224px.eim - name: CUSTOM_MODEL_PATH description: Path to the custom model directory hidden: true diff --git a/src/arduino/app_bricks/vibration_anomaly_detection/brick_config.yaml b/src/arduino/app_bricks/vibration_anomaly_detection/brick_config.yaml index 0babe018..5cc8cfa6 100644 --- a/src/arduino/app_bricks/vibration_anomaly_detection/brick_config.yaml +++ b/src/arduino/app_bricks/vibration_anomaly_detection/brick_config.yaml @@ -9,3 +9,16 @@ requires_model: true model: fan-anomaly-detection model_configuration_variables: - EI_VIBRATION_ANOMALY_DETECTION_MODEL +variables: +- name: EI_VIBRATION_ANOMALY_DETECTION_MODEL + description: Path to the model file + hidden: true + default_value: /models/ootb/ei/fan-anomaly-detection.eim +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + hidden: true + default_value: /home/arduino/.arduino-bricks/ei-models +- name: BIND_ADDRESS + description: Bind address + hidden: true + default_value: 127.0.0.1 From 314fb341a5d4e74f5aa9f36ff490d5534626551f Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Tue, 16 Dec 2025 14:37:41 +0100 Subject: [PATCH 7/9] Fix variables for classification --- .../app_bricks/video_imageclassification/brick_compose.yaml | 2 +- .../app_bricks/video_imageclassification/brick_config.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/arduino/app_bricks/video_imageclassification/brick_compose.yaml b/src/arduino/app_bricks/video_imageclassification/brick_compose.yaml index 9bfcab33..a25f6f87 100644 --- a/src/arduino/app_bricks/video_imageclassification/brick_compose.yaml +++ b/src/arduino/app_bricks/video_imageclassification/brick_compose.yaml @@ -11,7 +11,7 @@ services: volumes: - "${CUSTOM_MODEL_PATH:-/home/arduino/.arduino-bricks/ei-models/}:${CUSTOM_MODEL_PATH:-/home/arduino/.arduino-bricks/ei-models/}" - "/run/udev:/run/udev" - command: ["--model-file", "${EI_V_CLASSIFICATION_MODEL:-/models/ootb/ei/mobilenet-v2-224px.eim}", "--dont-print-predictions", "--mode", "streaming", "--preview-original-resolution", "--camera", "${VIDEO_DEVICE:-/dev/video1}"] + command: ["--model-file", "${EI_CLASSIFICATION_MODEL:-/models/ootb/ei/mobilenet-v2-224px.eim}", "--dont-print-predictions", "--mode", "streaming", "--preview-original-resolution", "--camera", "${VIDEO_DEVICE:-/dev/video1}"] healthcheck: test: [ "CMD-SHELL", "wget -q --spider http://ei-video-classification-runner:4912 || exit 1" ] interval: 2s diff --git a/src/arduino/app_bricks/video_imageclassification/brick_config.yaml b/src/arduino/app_bricks/video_imageclassification/brick_config.yaml index 2e394ce7..ac6b561e 100644 --- a/src/arduino/app_bricks/video_imageclassification/brick_config.yaml +++ b/src/arduino/app_bricks/video_imageclassification/brick_config.yaml @@ -13,9 +13,9 @@ required_devices: - camera model: mobilenet-image-classification model_configuration_variables: - - EI_V_CLASSIFICATION_MODEL + - EI_CLASSIFICATION_MODEL variables: -- name: EI_V_CLASSIFICATION_MODEL +- name: EI_CLASSIFICATION_MODEL description: Path to the model file hidden: true default_value: /models/ootb/ei/mobilenet-v2-224px.eim From f6c912eb7145403f7d8b5750e092a960c48d015e Mon Sep 17 00:00:00 2001 From: Mirko Curtolo Date: Tue, 16 Dec 2025 15:32:13 +0100 Subject: [PATCH 8/9] Remove parsing of compose file variables --- src/arduino/app_tools/module_listing.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/arduino/app_tools/module_listing.py b/src/arduino/app_tools/module_listing.py index 4c5c5bac..9028a348 100644 --- a/src/arduino/app_tools/module_listing.py +++ b/src/arduino/app_tools/module_listing.py @@ -54,9 +54,6 @@ def __init__( self.compose_file: Optional[str] = self.get_compose_file() self.readme_file: Optional[str] = self.get_readme_file() self.require_container: bool = self.compose_file is not None - self.docker_compose_variables: Optional[List[ModuleVariable]] = ( - load_module_supported_variables(self.compose_file) if self.require_container else None - ) self.model_name: str = model_name self.require_model: bool = model_name != "" self.category = category @@ -83,14 +80,6 @@ def to_dict(self) -> dict: if self.required_device_classes: out_dict["required_devices"] = self.required_device_classes - if self.require_container: - var_to_add: List[ModuleVariable] = [] - for var in self.docker_compose_variables: - if var.name != "APPSLAB_VERSION" and var.name != "DOCKER_REGISTRY_BASE" and var.name != "BIND_ADDRESS": - var_to_add.append(var) - vars_list: List[Dict] = [var.to_dict() for var in var_to_add] - out_dict["variables"] = vars_list - if self.env_variables and len(self.env_variables) > 0: additional_vars: List[EnvVariable] = [] for var in self.env_variables: From be4276ab76ddcb1fb594f261a14ae31b1a63b075 Mon Sep 17 00:00:00 2001 From: Mirko Curtolo Date: Tue, 16 Dec 2025 15:45:58 +0100 Subject: [PATCH 9/9] lint --- src/arduino/app_tools/module_listing.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/arduino/app_tools/module_listing.py b/src/arduino/app_tools/module_listing.py index 9028a348..e330cb8b 100644 --- a/src/arduino/app_tools/module_listing.py +++ b/src/arduino/app_tools/module_listing.py @@ -14,8 +14,6 @@ from urllib.parse import urlparse from typing import List, Dict, Optional from arduino.app_internal.core.module import ( - load_module_supported_variables, - ModuleVariable, _update_compose_release_version, EnvVariable, )