Per Lichtschranke Zählen

Moderatoren: seppy, udo1toni

Antworten
hansi001
Beiträge: 6
Registriert: 4. Nov 2020 12:17
Answers: 0

Per Lichtschranke Zählen

Beitrag von hansi001 »

Hallo,

ich bin es schon wieder :lol:

Seit ein paar Tagen suche ich eine Möglichkeit, in Openhab zu Zählen.
Ich möchte an den Raspberry eine Lichtschranke anschließen und jede flanke zählen.
Das Ergebnis würde ich mir dann gerne in Openhab anzeigen lassen und eine Rücksetzfunktion einfügen, damit man wieder auf null stellen kann.

Bei google habe ich immer nur Beispiele mit Stromzählern gefunden, aber leider habe ich die nicht bei mir Anwendern können.

Falls jemand eine Idee hat, würde ich mich freuen.

Benutzeravatar
udo1toni
Beiträge: 13988
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Per Lichtschranke Zählen

Beitrag von udo1toni »

Was Du suchst, ist das Zählen von Impulsen. Dass die Impulse von einer Lichtschranke stammen, ist für das Zählen ohne Belang :)

Allerdings gibt es bei Lichtschranken ein ähnliches Problem wie bei Tastern (da könnte man auch Impulse zählen) und das sind Prellvorgänge.

Du musst also Dein Problem in zwei einzelne Aufgaben zerlegen.
Das erste (anspruchsvollere) Problem ist die Signalaufbereitung. openHAB ist hierfür nicht gut geeignet! Wenn Du einen der GPIO des Raspberry verwendest, musst Du ein Programm schreiben, welches die gelieferten Flanken zu Impulsen aufbereitet (da kommt es sehr darauf an, was das für eine Lichtschranke ist und welche Objekte die Lichtschranke passieren). Wie gesagt, das hat erst mal nichts mit openHAB zu tun. Entsprechend solltest Du dafür auch nicht in openHAB Foren auf die Suche gehen, sondern Dich eher in der Makerszene umschauen.
Wichtig für ein solches Programm ist, dass es erweiterbar sein muss, so dass Du dem Programm beibringen kannst, den Impuls an openHAB weiterzureichen.
Für das Weiterreichen gibt es verschiedene Möglichkeiten, aber die "einfachsten" wären die openHAB REST API oder alternativ mqtt.
Die REST API kannst Du z.B. über curl ansprechen. Sowohl für curl als auch für mqtt gibt es für praktisch alle Programmiersprachen Bibliotheken, mit denen das komfortabel programmiert werden kann. Ich persönlich bevorzuge mqtt, aber das ist letztlich Geschmacksache :) ich habe halt schon ein paar kleine python Scripte geschrieben, die ich per mqtt an openHAB gekoppelt habe, entsprechend fällt mir das immer als erste Lösung ein.

Der Weg über mqtt hat noch einen Vorteil, nämlich, dass es nicht abhängig von openHAB ist.
Das bedeutet: Vielleicht findest Du in der Makerszene ja auch eine Lösung, die schon mit mqtt arbeitet, dann brauchst Du Dir gar keinen Kopf zu machen. Ich könnte mir auch vorstellen, dass man mit einem ESP8266 und Tasmota (oder ESPeasy, ESPurna...) sehr schnell zu einer extrem bequemen Lösung kommt. Der ESP bringt einen WLAN-Stack mit und Tasmota steuert den mqtt-Teil bei, also reduziert sich das Problem auf "Lichtschrankenausgang an GPIO von ESP nageln und Flanke sauber auswerten".

In openHAB musst Du lediglich eine Rule schreiben, die bei jedem Trigger (egal ob über REST API auf ein Item oder per mqtt Addon auf ein Item) ein Number Item um eins hoch zählt. Der Reset-Knopf wäre eine zweite Rule, welche das Zähl-Item auf 0 setzt.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten