Hauptmenü

userReading

Begonnen von Freee84neu, 05 November 2018, 01:12:58

Vorheriges Thema - Nächstes Thema

Freee84neu

Vielen Dank

zum verständinis

ON:ON { ReadingsVal($name,'ON',0) + 1 } wie baut sich das jetzt auf

On der Name der Readings
On auf was er reagiert

dann ein set im deviece mit dem selbem Namen ""$name"" in das reading  ""On""

oder wie soll ich das verstehen

aber vielen vielen dank

CoolTux

Zitat von: Freee84neu am 09 November 2018, 14:05:38
Vielen Dank

zum verständinis

ON:ON { ReadingsVal($name,'ON',0) + 1 } wie baut sich das jetzt auf

On der Name der Readings
On auf was er reagiert

dann ein set im deviece mit dem selbem Namen ""$name"" in das reading  ""On""

oder wie soll ich das verstehen

aber vielen vielen dank

Ich erkläre es Dir gerne, aber bitte sei so nett und schaue Dir in Zukunft vorher Beispiele in der Commandref oder im Wiki an.

ON:ON { ReadingsVal($name,'ON',0) + 1 } wie baut sich das jetzt auf

Das erste ON ist der Name welches als userReading hinterlegt werden soll. Das :ON dahinter ist die RegEx auf die vom Event getriggert werden soll. Danach kommt Perlcode

ReadingsVal($name,'ON',0) + 1 }
ReadingsVal ist eine Perlfunktion welche in der fhem.pl zu finden ist, dieser Funktion übergeben wir den Namen des Devices von welchen wir lesen wollen, $name ist eine Variable welche beim Event mitgegeben wird und die nutzen wir gleich mal. 'ON' ist der Name des Readings von welchen wir lesen wollen. Die 0 dahinter ist der default Wert welcher zurückgegeben wird wenn von dem Device mit dem Reading nicht gelesen werden kann. Zum Beispiel beim aller ersten mal.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Freee84neu

Vielen dank ich denke das hab ich verstanden

muss aber auch leider sagen  das ich vorher in die Commandref geschaut habe aber leider hat es mir nicht wirklich geholfen.

da hab ich aus anderen userReadings was zusammen geschrieben ... was leider doch sehr weit weg war von dem was richtig war ...

dank nochmal

gruß Mike

Freee84neu

Habe dieses userReading jetzt und seit heut nachmittag bekomm ich fehler im logfile

Betrieb { my $val=ReadingsVal("Waschmaschine","ENERGY_Power",""); if ($val > 30) {$val="on";} elsif ($val <= 2) {$val="off";} elsif ($val <= 30 && $val >2) {$val="standby";};$val},Standby { my $val=ReadingsVal("Waschmaschine","ENERGY_Power",""); if ($val <= 30 && $val >= 2) {$val="on";} elsif ($val < 2 | $val > 30 ) {$val="off";} ;; $val},On { my $val=ReadingsVal("Waschmaschine","ENERGY_Power",""); if ($val > 10) {$val="on";} elsif ($val <= 10 ) {$val="off";} ;; $val},Off { my $val=ReadingsVal("Waschmaschine","ENERGY_Power",""); if ($val > 2) {$val="off";} elsif ($val <= 2 ) {$val="on";} ;; $val},Waschvorgaenge { ReadingsVal("Dummy_Waschmaschine","Waschvorgaenge",0) ;;}


2018.11.09 21:21:14 1: PERL WARNING: Possible precedence problem on bitwise | operator at (eval 30447) line 1.
2018.11.09 21:21:14 3: eval: { my $val=ReadingsVal("Waschmaschine","ENERGY_Power",""); if ($val <= 30 && $val >= 2) {$val="on";} elsif ($val < 2 | $val > 30 ) {$val="off";} ;; $val}


kann mir einer auf die sprüge helfen

CoolTux

elsif ($val < 2 | $val > 30 ) {$val="off

elsif ($val < 2 || $val > 30 ) {$val="off
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Prof. Dr. Peter Henning

Ich bringe seit mehr als 40 Jahren anderen Menschen das Programmieren bei und kann ganz klar sagen: So wird das nichts.

Freee84neu hat leider noch nicht einmal den Unterschied zwischen der Ebene der FHEM-Skriptsprache und der Perl-Ebene verstanden. Ich schlage deshalb vor, sich die Anfängerdoku von FHEM noch einmal anzusehen, und Perl an Hand einer anderen Dokumentation zu lernen, z.B. http://www.tekromancer.com/perl2/inhalt.html

LG

pah

Freee84neu

Danke

Es hat ja seit ein paar Tage funktioniert muss wohl beim ändern verloren gegangen sein. Und ist mir leider nicht aufgefallen.

Und ja ich komm damit noch nicht wirklich klar. Und ich muss mich da wirklich noch einarbeiten das will ich nicht abstreiten ...