Hallo zusammen ![]()
Ich wollte zwei PRs teilen, die ich gerade eröffnet habe, die mit einem konkreten Fall zusammenhängen: die Integration meiner iopool Eco-Sonde (Überwachung der Poolwasserqualität) in Gladys über MQTT.
Ich habe die Sonde auf der Node-RED-Seite hochgeladen, die auf den MQTT-Broker veröffentlicht, was es mir ermöglicht, eine virtuelle MQTT-Vorrichtung auf der Gladys-Seite mit den folgenden Funktionen zu erstellen: Temperatur, pH-Wert, ORP (Desinfektionsfähigkeit), Modus, empfohlene Filterdauer, Datum der letzten Messung.
Das Problem: Für den pH-Wert und den ORP gab es keine passende Sensorenkategorie. Ich musste « Unbekannt » für den pH-Wert und « Luftqualitätsindex » für den ORP wählen (weil airquality-sensor das war, was am ehesten passte). Nicht ideal.
Ich habe daher zwei PRs (Stack) erstellt:
PR 1 — Sensorenkategorien für die Wasserqualität
Hinzufügen von zwei generischen Kategorien, die von jeder Integration (MQTT, Z2M, Matter, benutzerdefinierte Dienste) wiederverwendet werden können:
ph-sensor— pH-Wert des Wassers, Bereich 0–14, neue dimensionslose Einheitphorp-sensor— Redoxpotential (Redox / « Desinfektionsfähigkeit »), inMillivolt(bestehende Einheit)
Abgedeckt werden Pool-Sonden (iopool, Ondilo, BWT), Aquarien, Regenwassermessstationen usw.
Nomenklaturkonvention: Standardwissenschaftliche Begriffe (kein capacite-desinfection-sensor). Aber die französische Bezeichnung behält « ORP / Desinfektionsfähigkeit » bei, um für die breite Öffentlichkeit zugänglich zu bleiben.
Warum gibt es keine automatische Farbgebung auf dem « Gerät »-Widget?
Legitime Frage: Die Luftqualität (CO2, PM2.5, VOC…) zeigt automatisch ein farbiges Abzeichen
im Geräte-Widget an, abhängig vom Wert. Warum sollte man das nicht auch
für den pH-Wert und den ORP tun?
Weil das nur für Messungen mit universellen Schwellenwerten funktioniert. CO2 bei 1200 ppm
ist überall schlecht, unabhängig vom Kontext — es ist eine weltweite Gesundheitsnorm.
Der pH-Wert und der ORP sind jedoch absolute Skalen, deren « korrekter » Bereich
vollständig vom Verwendungszweck abhängt:
| Verwendung | Ideal pH | Ideal ORP |
|---|---|---|
| Pool | 7,0 – 7,4 | 650 – 750 mV |
| Süßwasser-Aquarium | 6,5 – 7,5 | 250 – 400 mV |
| Riffaquarium | 8,1 – 8,4 | 350 – 450 mV |
| Trinkwasser | 6,5 – 8,5 | — |
| Hydroponik | 5,5 – 6,5 | — |
Wenn wir Pool-Schwellenwerte im Geräte-Widget hardcodieren würden, würde ein Aquarienbesitzer
seinen Wert in Rot sehen, obwohl sein Wasser perfekt ist. Täuschend.
Dazu kommt ein technisches Detail: Die Farbgebung der Luftqualität ist einfach
(« je niedriger, desto besser »). Der pH-Wert ist ein Bereich: schlecht unten und oben,
gut in der Mitte. Die bestehende Logik funktioniert einfach nicht.
Deshalb erfolgt die Farbgebung durch Schwellenwerte über die PR2 (konfigurierbare Anzeige):
Jeder definiert seine eigenen Schwellenwerte entsprechend seiner Verwendung. Neutral, korrekt für alle,
und wiederverwendbar weit über die Wasserqualität hinaus (Batterie, Tankfüllstand usw.).
PR 2 — Konfigurierbare Anzeige mit farbigen Schwellenwerten
Übernimmt die bestehende Logik Schwelle + Farbe in den Widgets « Raumtemperatur » und « Raumluftfeuchtigkeit », aber generisch im Anzeige-Widget:
- Kontrollkästchen « Benutzerdefinierte Schwellenwerte konfigurieren » im Editor
- Doppelschieberegler zum Definieren der beiden Schwellenwerte (die Grenzen des Schiebereglers stammen aus dem
min/maxder Funktion, daher konsistent mit pH 0-12, ORP 500-1100, Batterie 0-100 usw.) - 3 Farbauswahl (niedriger Bereich / im Bereich / hoher Bereich) mit der Palette des Chart-Widgets
- Legende unter der Anzeige mit den drei Farben und den Grenzen, formatiert mit der Einheit
- Ohne benutzerdefinierte Schwellenwerte → das ursprüngliche ApexCharts-Gradient wird beibehalten (kein Rückschritt)
Warum diese Designentscheidungen
- Getrennte Kategorien statt einer übergeordneten Kategorie
water-quality-sensormit mehreren Typen: abgestimmt auf das bestehende Muster (co2-sensor,pm25-sensor,voc-sensorusw. — 1 Kategorie = 1 physikalische Messung) - Konfigurierbare Anzeige statt eines dedizierten Pool-Widgets: generisch = nützlich für viel mehr Anwendungsfälle (Batterie eines Elektrofahrzeugs, Bodenfeuchtigkeit, dB, Tankfüllstand usw.)
- Keine intelligente, hardcodierte Farbgebung pro Kategorie (z. B. « pH zwischen 7,0-7,4 = grün »): dem Benutzer über den Editor überlassen, um neutral in Bezug auf die Branchenkonventionen zu bleiben (Pool ≠ Aquarium ≠ Spa)
Feedback ist willkommen
— vor allem zu:
- Die Benennung der Kategorien (
ph-sensor/orp-sensorvs. Alternativen?) - Die französische Bezeichnung für ORP — ist « Desinfektionsfähigkeit » für diejenigen, die sich nicht mit der Wasserchemie auskennen, klar genug?
- Gibt es andere Anwendungsfälle (Aquarien, Regenwasser, Hydroponik…), die von diesen Kategorien profitieren würden oder die andere benötigen würden (TDS, Leitfähigkeit, Salinität)?
- Die konfigurierbare Anzeige — sehen Sie andere Widgets, die die gleiche Behandlung von Schwellenwerten/Farben verdient hätten?
Vielen Dank fürs Lesen ![]()

