FHEM Forum

FHEM => Automatisierung => Thema gestartet von: heinzfo am 09 September 2016, 19:57:25

Titel: ein notify geht nicht
Beitrag von: heinzfo am 09 September 2016, 19:57:25
Hallo

Lieder geht dieses notify nicht, was mache ich hier falsch?

define YogaAkku notify LenovoYoga2Pro:powerLevel:<=30 set YogaSwitch on

Ich lese den Akku Ladezustand von einem Tablet mit AMAD aus, und will dann eine FS20ST4 schalten.
Das Schalten mit set geht soweit

Beste Grüße
Heinz
Titel: Antw:ein notify geht nicht
Beitrag von: KernSani am 09 September 2016, 20:02:56
Spontan würde ich behaupten, da ist ein Doppelpunkt zu viel...
Titel: Antw:ein notify geht nicht
Beitrag von: heinzfo am 09 September 2016, 20:20:48
Das war es leider nicht!

So geht es auch nicht.
define YogaAkku notify LenovoYoga2Pro:powerLevel<=30 set YogaSwitch on
Titel: Antw:ein notify geht nicht
Beitrag von: Ellert am 09 September 2016, 20:23:31
Der Vergleich <= gehört in die Perl-Ebene{if (ReadingsVal(...) <= 30){fhem "set ..."}}

Schau mal in die Hilfe

Mit DOIF würde es allerdings funktionieren
([LenovoYoga2Pro:powerLevel] <= 30) (set YogaSwitch on)

und ggf. das Attribut "do" auf "always" setzen.
Titel: Antw:ein notify geht nicht
Beitrag von: DeeSPe am 09 September 2016, 20:26:46
Und wenn Du es mit noch weniger geschweiften Klammern machen möchtest dann so:
define YogaAkku notify LenovoYoga2Pro:powerLevel.* {fhem "set YogaSwitch on" if (ReadingsVal("LenovoYoga2Pro","powerLevel",0) <= 30)}

Gruß
Dan
Titel: Antw:ein notify geht nicht
Beitrag von: DeeSPe am 09 September 2016, 20:28:28
Ach, statt:
ReadingsVal("LenovoYoga2Pro","powerLevel",0)

müsste an der Stelle auch:
$EVTPART1
klappen...

Also:
define YogaAkku notify LenovoYoga2Pro:powerLevel.* {fhem "set YogaSwitch on" if ($EVTPART1 <= 30)}


Gruß
Dan
Titel: Antw:ein notify geht nicht
Beitrag von: heinzfo am 09 September 2016, 20:42:00
Danke  DeeSPe ;D ;D

Den Style muss ich mir angewöhnen.

Diese Form ist spitze!
Titel: Antw:ein notify geht nicht
Beitrag von: DeeSPe am 09 September 2016, 20:46:34
Eventuell ist auch das von Ellert vorgeschlagene DOIF eher was für Dich da es komplett auf Perl Code verzichtet.
Aber Hauptsache es funktioniert erst einmal wie gewünscht.

Gruß
Dan
Titel: Antw:ein notify geht nicht
Beitrag von: heinzfo am 09 September 2016, 20:50:40
Danke Ellert  ;)

Hab mich bisher um DOIF gedrückt, ich muss es mir aber doch mal näher ansehen  ;)

Grüße
Titel: Antw:ein notify geht nicht
Beitrag von: Ralf W. am 09 September 2016, 22:51:11


Zitat von: heinzfo am 09 September 2016, 20:50:40
... Hab mich bisher um DOIF gedrückt, ...

Und das ist gut so ...

Gesendet von meinem Lenovo B6000-H mit Tapatalk

Titel: Antw:ein notify geht nicht
Beitrag von: DeeSPe am 09 September 2016, 22:58:02
Das ist alles Ansichtssache.
Soll doch jeder das benutzen was ihm am Besten liegt.  ;)

Ich gebe Dir aber insofern Recht dass man bei FHEM (wenn es ans Eingemachte geht) eh nicht um Perl herum kommt. Für mich war es (denke ich) auch einfacher gleich Perl zu lernen als mich mit der Syntax von allen möglichen Modulen ala IF und DOIF rumzuschlagen. Und das soll jetzt auch kein "Schlecht-Machen" von irgendwelchen Modulen und dessen Entwicklern sein. Ganz im Gegenteil, meine Hochachtung dafür sich sowas auszudenken und auch zu programmieren um es dem Endanwendern einfacher zu machen.

Gruß
Dan

P.S. "Just my 2 cent..."
Titel: Antw:ein notify geht nicht
Beitrag von: CoolTux am 09 September 2016, 23:15:48
In dem Notify Beispiel von DeeSPe würde bei jeder Veränderung des Batterielevels ein unter 30 ein set on ausgeführt werden. Ich würde hier mit FILTER arbeiten um Funklast zu minimieren und FHEM Ressourcen.
Titel: Antw:ein notify geht nicht
Beitrag von: DeeSPe am 09 September 2016, 23:20:33
Das würde die Sache zu 100% abrunden!!!
Habe ich bei mir auch tatsächlich überall versucht umzusetzen.
Das ist schon echt ne coole Sache mit dem FILTER.  8)

Gruß
Dan
Titel: Antw:ein notify geht nicht
Beitrag von: Damian am 10 September 2016, 22:08:58
Zitat von: DeeSPe am 09 September 2016, 22:58:02
Das ist alles Ansichtssache.
Soll doch jeder das benutzen was ihm am Besten liegt.  ;)

Ich gebe Dir aber insofern Recht dass man bei FHEM (wenn es ans Eingemachte geht) eh nicht um Perl herum kommt. Für mich war es (denke ich) auch einfacher gleich Perl zu lernen als mich mit der Syntax von allen möglichen Modulen ala IF und DOIF rumzuschlagen. Und das soll jetzt auch kein "Schlecht-Machen" von irgendwelchen Modulen und dessen Entwicklern sein. Ganz im Gegenteil, meine Hochachtung dafür sich sowas auszudenken und auch zu programmieren um es dem Endanwendern einfacher zu machen.

Gruß
Dan

P.S. "Just my 2 cent..."

Natürlich wird man auf lange Sicht nicht ohne Perl auskommen. Im Übrigen auch bei DOIF nicht, denn die Bedingung des Moduls wird vom Perl-Interpreter ausgewertet, es ist also 100 % Perl und noch bisschen mehr ;)

Gruß

Damian