Block a user
Prefix-Match O(n) pro MQTT-Message
Prefix-Match O(n) pro MQTT-Message
Umgesetzt in 61ffa12:
SensorConfigCachepflegt jetzt eine sortierte Prefix-Liste (_sorted_prefixes) viabisect.insort- Neue Methode
find_longest_prefix_match()nutztbisect_right+…
[Feature] MQTT-Bridge + Cloud-Gateway Status via WebSocket
Hinweis: #55 wurde umgesetzt (a1e8382). Die Discovery-WS-Event-Infrastruktur (discovery_new Event, DiscoveryStore.pop_events(), Broadcast im Subscriber) kann als Pattern für die Bridge/Gateway…
[Feature] Discovery-Polling durch WebSocket-Events ersetzen
[Feature] Discovery-Polling durch WebSocket-Events ersetzen
Umgesetzt in a1e8382.
Backend:
DiscoveryStore.observe()buffertdiscovery_newEvents wenn ein neues Gerät erstmals erkannt wirdpop_events()Methode analog zu `MQTTDataHandler.pop_w…
Notification-History laedt alle Sensoren statt nur benoetigte
Notification-History laedt alle Sensoren statt nur benoetigte
Fix in 8dd9b65: WHERE (box_id, sensor_key) IN (...) Filter statt SELECT auf alle Sensoren mit Python-seitigem Filtern. Die Query holt jetzt nur noch die Sensoren, die tatsächlich in den…
Deaktivierte Sensoren: stale Data in Berechnungen + fehlende Warnungen überall
Deaktivierte Sensoren: stale Data in Berechnungen + fehlende Warnungen überall
Umgesetzt: Phase 1 + Phase 2
Backend
_resolve_sensor_values()prüft jetztSensor.enabledundEndpoint.deleted_atvia JOIN- Deaktivierte/verwaiste Sensoren werden übersprungen…
Grafana-Panels aktualisieren sich nicht bei Sensor-Umbenennung oder Unit-Änderung
Grafana-Panels aktualisieren sich nicht bei Sensor-Umbenennung oder Unit-Änderung
Umgesetzt in e74093d:
1. Grafana-Rebuild nach Sensor-Update:
- Neue Methode
GrafanaService.rebuild_dashboards_for_sensor()findet alle Dashboards mit Panels des geänderten Sensors und baut…
Release-Pipeline reparieren und neues Release erstellen
CI-Pipeline reparieren: Backend + Frontend Jobs schlagen fehl
Calculations-Seite übersichtlicher: Card-Layout statt flache Liste