Skip to content

Conversation

@hmbacher
Copy link
Contributor

@hmbacher hmbacher commented Nov 2, 2025

Hi @theelims, this PR contains two improvements:

1. Fix overflowing draggable items in WiFi networks list
Resolves the layout issue where long SSID names would overflow their container, breaking the visual layout of the draggable WiFi network list items.
Fixes: https://github.com//issues/103

2. Add extensible health check endpoint
Introduces a new /rest/health endpoint that enables monitoring of device state, health, and availability from external monitoring systems.

Key features:

  • Default response: Returns { "up": true } out of the box
  • Extensible design: Supports custom callback functions to add dynamic health information per request
  • Lightweight: Minimizes data transfer by allowing customizable content tailored to specific monitoring needs
  • Flexible: Can be extended with application-specific health metrics without modifying core functionality

If you consider it a useful enhancement, you could consider a merge as well.

hmbacher added 30 commits May 19, 2025 21:11
- Implemented a new page for managing sensors in the frontend.
- Created an EditSensor component for editing sensor details with validation.
- Developed ControllerSettingsService to manage controller settings via HTTP endpoints.
- Introduced FanController to handle fan control logic based on temperature readings.
- Added OneWireESP32 library for interfacing with DS18B20 temperature sensors.
- Implemented TempSensorsService to manage temperature sensors and their data acquisition.
- Established persistence for sensor settings and states using file storage.
- Enhanced error handling and logging throughout the services.
- Added FFCMqttConfig component for configuring MQTT settings.
- Removed GatewayMQTTConfig component to streamline MQTT configuration.
- Updated MQTT routing to use FFCMqttConfig.
- Introduced new alarms page for managing alarm events.
- Created backend services for alarm logging and MQTT settings.
- Integrated alarm notifications via MQTT.
- Enhanced temperature sensor service to publish alarms on sensor status changes.
- Added utility functions for ISO 8601 date conversion.
- Updated UI to include alarm log and relevant error handling.
… enhance temperature sensor discovery logging
- Changed to PCB v2.0 settings
- Updated version string
# Conflicts:
#	.gitignore
#	README.md
#	factory_settings.ini
#	features.ini
#	interface/package-lock.json
#	interface/package.json
#	interface/src/app.css
#	interface/src/lib/DaisyUiHelper.ts
#	interface/src/lib/assets/logo.png
#	interface/src/lib/components/Collapsible.svelte
#	interface/src/lib/components/ConfirmDialog.svelte
#	interface/src/lib/components/InputPassword.svelte
#	interface/src/lib/components/SettingsCard.svelte
#	interface/src/lib/components/Spinner.svelte
#	interface/src/lib/components/UpdateIndicator.svelte
#	interface/src/lib/components/toasts/Toast.svelte
#	interface/src/lib/stores/analytics.ts
#	interface/src/lib/stores/socket.ts
#	interface/src/lib/types/models.ts
#	interface/src/routes/+layout.svelte
#	interface/src/routes/+layout.ts
#	interface/src/routes/+page.svelte
#	interface/src/routes/connections/mqtt/+page.svelte
#	interface/src/routes/connections/mqtt/MQTT.svelte
#	interface/src/routes/connections/ntp/NTP.svelte
#	interface/src/routes/login.svelte
#	interface/src/routes/menu.svelte
#	interface/src/routes/statusbar.svelte
#	interface/src/routes/system/metrics/BatteryMetrics.svelte
#	interface/src/routes/system/metrics/SystemMetrics.svelte
#	interface/src/routes/system/status/SystemStatus.svelte
#	interface/src/routes/system/update/GithubFirmwareManager.svelte
#	interface/src/routes/system/update/UploadFirmware.svelte
#	interface/src/routes/user/+page.svelte
#	interface/src/routes/user/EditUser.svelte
#	interface/src/routes/wifi/ap/Accesspoint.svelte
#	interface/src/routes/wifi/sta/Scan.svelte
#	interface/src/routes/wifi/sta/Wifi.svelte
#	interface/static/favicon.png
#	interface/static/manifest.json
#	interface/vite.config.ts
#	lib/PsychicHttp/src/PsychicCore.h
#	lib/PsychicHttp/src/PsychicEndpoint.cpp
#	lib/PsychicHttp/src/PsychicEndpoint.h
#	lib/PsychicHttp/src/PsychicHttp.h
#	lib/PsychicHttp/src/PsychicHttpServer.cpp
#	lib/PsychicHttp/src/PsychicStaticFileHander.cpp
#	lib/PsychicHttp/src/PsychicUploadHandler.cpp
#	lib/framework/APSettingsService.cpp
#	lib/framework/APSettingsService.h
#	lib/framework/APStatus.cpp
#	lib/framework/APStatus.h
#	lib/framework/AnalyticsService.h
#	lib/framework/ArduinoJsonJWT.cpp
#	lib/framework/ArduinoJsonJWT.h
#	lib/framework/AuthenticationService.cpp
#	lib/framework/AuthenticationService.h
#	lib/framework/BatteryService.cpp
#	lib/framework/BatteryService.h
#	lib/framework/DownloadFirmwareService.cpp
#	lib/framework/DownloadFirmwareService.h
#	lib/framework/ESP32SvelteKit.cpp
#	lib/framework/ESP32SvelteKit.h
#	lib/framework/ESPFS.h
#	lib/framework/EventEndpoint.h
#	lib/framework/EventSocket.cpp
#	lib/framework/EventSocket.h
#	lib/framework/FSPersistence.h
#	lib/framework/FactoryResetService.cpp
#	lib/framework/FactoryResetService.h
#	lib/framework/Features.h
#	lib/framework/FeaturesService.cpp
#	lib/framework/FeaturesService.h
#	lib/framework/HttpEndpoint.h
#	lib/framework/IPUtils.h
#	lib/framework/JsonUtils.h
#	lib/framework/MqttEndpoint.h
#	lib/framework/MqttSettingsService.cpp
#	lib/framework/MqttSettingsService.h
#	lib/framework/MqttStatus.cpp
#	lib/framework/MqttStatus.h
#	lib/framework/NTPSettingsService.cpp
#	lib/framework/NTPSettingsService.h
#	lib/framework/NTPStatus.cpp
#	lib/framework/NTPStatus.h
#	lib/framework/NotificationService.h
#	lib/framework/RestartService.cpp
#	lib/framework/RestartService.h
#	lib/framework/SecurityManager.h
#	lib/framework/SecuritySettingsService.cpp
#	lib/framework/SecuritySettingsService.h
#	lib/framework/SettingValue.cpp
#	lib/framework/SettingValue.h
#	lib/framework/SleepService.cpp
#	lib/framework/SleepService.h
#	lib/framework/StatefulService.cpp
#	lib/framework/StatefulService.h
#	lib/framework/SystemStatus.cpp
#	lib/framework/SystemStatus.h
#	lib/framework/UploadFirmwareService.cpp
#	lib/framework/UploadFirmwareService.h
#	lib/framework/WebSocketClient.bak
#	lib/framework/WebSocketServer.h
#	lib/framework/WiFiScanner.cpp
#	lib/framework/WiFiScanner.h
#	lib/framework/WiFiSettingsService.cpp
#	lib/framework/WiFiSettingsService.h
#	lib/framework/WiFiStatus.cpp
#	lib/framework/WiFiStatus.h
#	platformio.ini
#	scripts/build_interface.py
#	scripts/rename_fw.py
#	src/main.cpp
hmbacher and others added 25 commits September 15, 2025 09:28
# Conflicts:
#	interface/src/routes/gateway/smoke-detectors/+page.svelte
#	platformio.ini
# Conflicts:
#	interface/src/routes/gateway/smoke-detectors/+page.svelte
# Conflicts:
#	interface/src/lib/components/DraggableList.svelte
# Conflicts:
#	interface/src/routes/gateway/smoke-detectors/+page.svelte
#	src/GatewayDevicesService.cpp
# Conflicts:
#	scripts/generate_enums.py
…s in scripts

# Conflicts:
#	scripts/generate_enums.py
@theelims
Copy link
Owner

theelims commented Nov 2, 2025

Hi, thank you for responding to my request and fixing the layout.

Could you please separate the health check out into a dedicated PR? I am working on something similar in one of my main projects. It is more tailored towards MQTT and doubles up as automatic provisioning system, too. Maybe I can combine both approaches.

@hmbacher hmbacher closed this Nov 3, 2025
@hmbacher
Copy link
Contributor Author

hmbacher commented Nov 3, 2025

Will be followed up with #105.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants