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
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
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?
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
Schrieb viegener doch: setreading, ReadingsVal. Ohne _konkrete_ Frage erweckst Du den Eindruck, dass Du keine Lust hast Dich einzuarbeiten...
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
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)