Hi!
Ausgehend von der Sammelbestellung von DS2438 basierten Luftfeuchtesensoren (https://knx-user-forum.de/diy-do-you...chtigkeit.html) hat mich das momentane Konzept der Einbindung von DS2438-basierten Sensoren am owfs/wiregated gestört: Die Sensoren werden alle anhand einer ID in ihrem EEPROM "erkannt" und dann werden fixe Formeln ausgerechnet. Blöd, wenn man z.B. einen anderen als den vorgesehenen Lichtsensor einsetzen will oder gar irgendwelche Ultraschallsensoren, Druckmesser oder ähnliches auslesen will. Das ginge dann zwar über "Plugins" - allerdings finde ich das nicht so übersichtlich.
Daher: Ein Patch, der edit_owsensorconf.cgi, save_owsensorconf.cgi und wiregated-ow.pl betrifft, und alle nicht per ID markierten DS2438 als "Universal-Sensor" einbindet. Alle relevanten Messgrößen des Sensors (VDD, VAD, vis und Temperatur) werden automatisch ausgelesen und können dann per Webmin-Oberfläche zur Berechnung von Endwerten benutzt werden (per eval). Dabei kann auch per Hash auf vorherige Berechnungen zurückgegriffen werden (siehe Screenshot). Somit können eigene Sensoren mit bisher nicht unterstützter Kennlinie schnell eingebunden werden. Ebenfalls können so natürlich auch schnell mal Schwellwerte geprüft werden ohne das es weiterer Logik bedarf...
Die Idee ist momentan noch in der Findungsphase - mich würde interessieren ob das überhaupt wer braucht - sonst hack ich mir das so da rein. Auch würde ich mich über Feedback von Perl-Cracks freuen, wie man die Formeln a) benutzerfreundlicher macht b) sicherer macht hinsichtlich Syntaxfehlern etc. Und es müsste mal drüber gesprochen werden, wie das ganze in der Webmin-Oberfläche angezeigt wird... Momentan verwende ich für die Formeln (und abhängige Daten wie Cycle und GA) ein Array von Hashes (@{ $conf{$Schluessel}{'items'} }). Da wäre es cool, wenn da die Länge nicht fix wäre, sondern sich automatisch immer um einen "Leereintrag" ergänzen würde, so dass man einen neuen Sensor Formel um Formel befüllen könnte.
Grüße
Robert
Ausgehend von der Sammelbestellung von DS2438 basierten Luftfeuchtesensoren (https://knx-user-forum.de/diy-do-you...chtigkeit.html) hat mich das momentane Konzept der Einbindung von DS2438-basierten Sensoren am owfs/wiregated gestört: Die Sensoren werden alle anhand einer ID in ihrem EEPROM "erkannt" und dann werden fixe Formeln ausgerechnet. Blöd, wenn man z.B. einen anderen als den vorgesehenen Lichtsensor einsetzen will oder gar irgendwelche Ultraschallsensoren, Druckmesser oder ähnliches auslesen will. Das ginge dann zwar über "Plugins" - allerdings finde ich das nicht so übersichtlich.
Daher: Ein Patch, der edit_owsensorconf.cgi, save_owsensorconf.cgi und wiregated-ow.pl betrifft, und alle nicht per ID markierten DS2438 als "Universal-Sensor" einbindet. Alle relevanten Messgrößen des Sensors (VDD, VAD, vis und Temperatur) werden automatisch ausgelesen und können dann per Webmin-Oberfläche zur Berechnung von Endwerten benutzt werden (per eval). Dabei kann auch per Hash auf vorherige Berechnungen zurückgegriffen werden (siehe Screenshot). Somit können eigene Sensoren mit bisher nicht unterstützter Kennlinie schnell eingebunden werden. Ebenfalls können so natürlich auch schnell mal Schwellwerte geprüft werden ohne das es weiterer Logik bedarf...
Die Idee ist momentan noch in der Findungsphase - mich würde interessieren ob das überhaupt wer braucht - sonst hack ich mir das so da rein. Auch würde ich mich über Feedback von Perl-Cracks freuen, wie man die Formeln a) benutzerfreundlicher macht b) sicherer macht hinsichtlich Syntaxfehlern etc. Und es müsste mal drüber gesprochen werden, wie das ganze in der Webmin-Oberfläche angezeigt wird... Momentan verwende ich für die Formeln (und abhängige Daten wie Cycle und GA) ein Array von Hashes (@{ $conf{$Schluessel}{'items'} }). Da wäre es cool, wenn da die Länge nicht fix wäre, sondern sich automatisch immer um einen "Leereintrag" ergänzen würde, so dass man einen neuen Sensor Formel um Formel befüllen könnte.
Grüße
Robert
Kommentar