Autor Thema: userReading  (Gelesen 592 mal)

Offline Freee84neu

  • New Member
  • *
  • Beiträge: 41
Antw:userReading
« Antwort #15 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

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16799
Antw:userReading
« Antwort #16 am: 09 November 2018, 14:13:12 »
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Freee84neu

  • New Member
  • *
  • Beiträge: 41
Antw:userReading
« Antwort #17 am: 09 November 2018, 14:24:19 »
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

Offline Freee84neu

  • New Member
  • *
  • Beiträge: 41
Antw:userReading
« Antwort #18 am: 09 November 2018, 21:29:39 »
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

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16799
Antw:userReading
« Antwort #19 am: 09 November 2018, 21:44:36 »
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6026
Antw:userReading
« Antwort #20 am: 10 November 2018, 08:56:16 »
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
Zustimmung Zustimmung x 2 Liste anzeigen

Offline Freee84neu

  • New Member
  • *
  • Beiträge: 41
Antw:userReading
« Antwort #21 am: 10 November 2018, 12:53:36 »
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 ...