Metainformationen zur Seite
Plugin-Daten | |
---|---|
Autor | Michael Schlenstedt |
Logo | |
Status | BETA |
Version | 0.3.0 |
Min. LB Version | 2.2.0 |
Release Download | https://github.com/mschlenstedt/LoxBerry-Plugin-Frequency-Counter/archive/refs/tags/LoxBerry-Plugin-Frequency-Counter-V0.3.0.zip |
Beschreibung | Frequenzzähler für die GPIOs des Raspberry. Frequenzen bis zu 500 KHz (und mehr) können detektiert werden. |
Sprachen | EN, DE |
Diskussion | https://www.loxforum.com/forum/projektforen/loxberry/plugins/423319-neues-plugin-frequency-counter |
Frequency Counter
Funktion des Plugins
Das Plugin kann Frequenzen an den GPIOs des Raspberrys erkennen. So können z. B. Sensoren wie Durchflussmesser oder Windmesser an den GPIOs angeschlossen werden und die detektierte Frequenz weiterverwendet werden. Es können bis zu 5 GPIOs ausgelesen werden. Es sind Frequenzen bis zu 500 KHz (oder auch mehr) möglich.
500 KHz ist weit mehr als die Loxone Frequenzzähler einiger Extensions schaffen (max. 500 Hz): https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1658224644/Frequenzz+hler
Download
Download über den Link oben in der Tabelle. Ältere Versionen über das Github Archiv: https://github.com/mschlenstedt/LoxBerry-Plugin-Frequency-Counter/releases
Installation
Die Installation des Plugins erfolgt wie immer über die Pluginverwaltung des LoxBerrys.
Konfigurationsoptionen
Topic
Unter diesem Topic werden die Daten des Plugins an den MQTT Broker gepublisht. Default: freq_count
Sample Rate
Samplingrate, mit der die Frequenz am GPIO detektiert wird. Es wird der Mittelwert über diesen Zeitraum gebildet. Bei niedrigen Frequenzen eher höhere Werte wählen. Angabe in µs (Mikrosekunden). Default: 5
Refresh Rate
Refreshrate, mit der die erfassten Frequenzen an den MQTT Broker gesendet werden. Wählt hier nicht einen zu kleinen Wert! Kleine Werte belasten die CPU, den Broker und euer Netzwerk unnötig. Angabe in s (Sekunden). Default: 5
Frequency Counter 1-5
GPIOs, an denen die Frequenzen detektiert werden sollen. Bis zu 5 GPIOs können angegeben werden.
Hardware
CPU Last
Die Überwachung einer Frequenz kostet sehr viel CPU Last, da sehr schnelle Änderungen an den GPIOs erkannt werden müssen. Aus einem Raspberry 4 benötigt die Überwachung eines GPIOs ca. 12% CPU-Last. Nutzt das Plugin ausschließlich mit einem Raspberry Pi 3 oder 4 oder Zero2!
Das Plugin nutzt die Software PIGPIO. Laut Autor können Frequenzen bis zu 500 KHz (oder mehr) erkannt werden - und das ist Faktor 1000 (!!!) höher als die Digitalen Eingänge der Loxone Extensions erkennen können (max. 500 Hz.)!
Die Ausgänge der Sensoren werden an die GPIOs des Raspberrys angeschlossen. Achtet darauf, dass die GPIOs ausschließlich und maximal 3,3V vertragen! Wenn ihr 5V Sensoren anschließt, nutzt entsprechende Widerstände bzw. Spannungsteiler. 5V direkt an den GPIOs grillen auch den Raspberry (=kaputt).
Das Plugin erkennt eine wechselnde Flanke an den GPIOs, es ist also egal, ob ihr den Eingang als "High" oder "Low" beschaltet. Ihr könnt also gegen Ground (GND) oder +VCC (3.3V) schalten.
Ich empfehle zudem entsprechende Pullup- bzw. Pulldown-Widerstände zu verwenden, damit die Frequenzen sauber erkannt werden.
Weitere Informationen zum Beispiel hier: https://www.elektronik-kompendium.de/sites/raspberry-pi/2611131.htm
Einrichtung in der Loxone Config Software
Die Daten werden per MQTT an den Miniserver übertragen. Die Einrichtung der Virtuellen Eingänge wird hier erklärt: MQTT - Schritt für Schritt: MQTT -> Loxone
In den Gateway Settings müsst ihr noch "Expand JSON Data" aktivieren!
Zur Überwachung der Funktionalität des Plugins kann das Keepalive Topic verwendet werden. Dieses wird alle 60 Sekunden erneuert. Wenn sich dieser Wert also für 60 Sekunden nicht mehr ändert, läuft das Plugin nicht mehr ordnungsgemäß. Wie man einen sich ändernden Wert erkennt, ist im Wiki beschrieben: https://loxwiki.atlassian.net/wiki/spaces/LOX/pages/1525056058/nderung+eines+Wertes+erkennen Nutzt dann eine nachgeschaltete Ausschaltverzögerung von zum Beispiel 120s.
Folgende Werte werden per MQTT an den LoxBerry Broker übertragen:
Wert | Beschreibung |
---|---|
freq_count_keepalive | Keepalive Timestamp, wird alle 60s aktualisiert. |
freq_count_last | Timestamp der letzten Werteänderung und Übertragung an den Broker (Freq, Diff oder Tally) |
freq_count_data_gpioX_gpio | Überwachter GPIO |
freq_count_data_gpioX_freq | Ermittelte Frequenz |
freq_count_data_gpioX_diff | Zeitdifferenz zwischen zwei Messungen |
freq_count_data_gpioX_tally | Anzahl an ermittelten Impulsen/Flanken innerhalb der Zeitdifferenz |
Beispiele
Mach mit!
Füge Deinen Sensor hier auf einer eigenen Unterseite hinzu, wenn Du ihn erfolgreich mit dem Plugin verwenden konntest! Das hilft auch anderen!
Hier findest Du einige Beispiele von Sensoren, die erfolgreich mit dem Plugin verwendet werden können:
Roadmap
Aktuell keine weiteren Funktionen geplant.
Fragen stellen und Fehler melden
Bitte im LoxForum melden: https://www.loxforum.com/forum/projektforen/loxberry/plugins/423319-neues-plugin-frequency-counter