ein notify geht nicht

Begonnen von heinzfo, 09 September 2016, 19:57:25

Vorheriges Thema - Nächstes Thema

heinzfo

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

KernSani

Spontan würde ich behaupten, da ist ein Doppelpunkt zu viel...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

heinzfo

Das war es leider nicht!

So geht es auch nicht.
define YogaAkku notify LenovoYoga2Pro:powerLevel<=30 set YogaSwitch on

Ellert

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.

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

heinzfo

Danke  DeeSPe ;D ;D

Den Style muss ich mir angewöhnen.

Diese Form ist spitze!

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

heinzfo

Danke Ellert  ;)

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

Grüße

Ralf W.



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

Proxmox Nipogi AM16, FHEM:RaspberryMatic:DE ConBee II, diverse Sensoren und Aktoren.

DeeSPe

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..."
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

CoolTux

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.
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

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF