Blitze zählen mit Gewitterwarner GW1

Begonnen von maddinthebrain, 11 Januar 2018, 16:11:11

Vorheriges Thema - Nächstes Thema

maddinthebrain

Hallo zusammen,
Ich möchte mit dem bekannten Gewitterwarner GW1 u.a. Blitze zählen.
Ich werte das Blitzereignis über einen Interrupt vom GPIO das Raspi aus.
So nun zu meiner Frage kann ich einfach folgendes machen:
fhem "set reading $dev Blitzereignis Blitzereignis+1"

einfach hochzählen?

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

viegener

Kurze Antwort: Nein

der Befehl, den Du verwenden willst, heisst "setreading"

Aber dann würde immer noch der Wert "Blitzereignis+1" als Text darinstehen  :(

um einen Wert hochzuzählen müsstest Du erste den aktuellen Wert abfragen, dazu gibt es verschiedene Möglichkeiten in perl solltest Du mal nach ReadingsVal im Forum oder in commandref suchen

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

In FHEM solltest Du aber vielleicht auch mal das Modul RPI_GPIO anschauen, vielleicht kann das ja Deine Blitzereignisse direkt in FHEM zur Verfügung stellen?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

maddinthebrain

Ja ich Werte die Flanken am Gpio als Interrupt zusammen mit Wiringpi aus. Dann möchte ich in einem Dummy die Blitze zählen. Statistik also Tag, Woche,  Monat,  Jahr macht ja das Statistik Modul.


Internals:
   DEF        19
   GPIO_Basedir /sys/class/gpio
   GPIO_Nr    19
   NAME       GW1_Blitzereignis
   NR         82
   STATE      ???
   TYPE       RPI_GPIO
   WiringPi_gpio /usr/local/bin/gpio
   filehandle
   READINGS:
     Pinlevel:
       TIME       2018-01-11 19:28:28
       VAL       
   fhem:
     interfaces switch
Attributes:
   direction  input
   interrupt  falling
   pud_resistor up
   room       Wetter


Wie kann ich das mit dem Zählen am sinnvollsten machen?

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

dev0

Schrieb viegener doch: setreading, ReadingsVal. Ohne _konkrete_ Frage erweckst Du den Eindruck, dass Du keine Lust hast Dich einzuarbeiten...

maddinthebrain

Zitat von: dev0 am 11 Januar 2018, 19:56:19
Schrieb viegener doch: setreading, ReadingsVal. Ohne _konkrete_ Frage erweckst Du den Eindruck, dass Du keine Lust hast Dich einzuarbeiten...
Ja das mit setreading hab ich anderer Stelle schon am Laufen. Das ist klar.

Also ich würde das mal so machen

my $dev = "Blitzzaehler";
my $varread = ReadingsVal("$dev","Blitzereignis",0) + 1;
fhem "setreading $dev Blitzereignis $varread";


Und als Funktion in myUtils anlegen und dann entsprechend über ein Notify aufrufen.

Das mit dem ReadingsVal ist leider nicht schön dokumentiert, es steht mal hier mal da was. Aber zur Syntax findet man wenig. Es ist nicht so dass ich mich nicht damit nicht auseinander setzen möchte
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

viegener

Du brauchst nicht mal wirklich eine eigene Funktioni in myUtils, denn auch der kurze perl code lässt sich direkt im notify unterbringen, auchd dazu gibt es Beispiele in der commandref. Ich denke es wäre nützlich zu sehen, welche Information zu ReadingsVal Dir gefehlt haben, da kann man shene wie man die Doku verbessert.

Wenn aber das entsprechende FHEM GPIO modul funktioniert gibt es auch wieder andere Module oder Lösungen die das Zählen erledigen würden.

In FHEM kann man das Rad natürlich selber neu erfinden, aber existierende Module sind in vielen Fällen der einfachere Weg
(Einfacher zu nutzen in FHEM, Kombinierbar mit anderen Teilen, Hilfe von anderen Nutzern, kein Aufwand sich mit parallelität/realtime/etc zu befassen)

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können