FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: robo9 am 23 November 2016, 18:22:06

Titel: Tablet ausschalten
Beitrag von: robo9 am 23 November 2016, 18:22:06
Kann mir wer helfen was ist dan diesem notify falsch?

Teblet screen on define spaeter_aus2 at +00:00:10 (set Teblet screen off)
Titel: Antw:Tablet ausschalten
Beitrag von: abc2006 am 23 November 2016, 18:43:46
die Regex...

ohne genau zu erahnen, wie dein Device heisst, müsste es irgendwie so aussehen:




Teblet_screen:on define spaeter_aus2 at +00:00:10 (set Teblet screen off)


für weitere Ideen müsste man erstmal wissen, wie das Device überhaupt heisst, auf welches du triggern willst...

Grüße
Stephan
Titel: Antw:Tablet ausschalten
Beitrag von: viegener am 23 November 2016, 18:45:56
Mit diesen grosszügigen Informationen vermutlich nicht, denn es wäre hilfreich den vollständigen Define und eine Fehlemeldung zu sehen (in code tags wäre schön). Ansonsten finde ich einiges daran was da steht komisch (die runden Klammern, die Leerzeichen, ...)
Titel: Antw:Tablet ausschalten
Beitrag von: robo9 am 23 November 2016, 18:49:24
Das Device heisst Teblet das reading screen. Ich würde gerne, wenn Teblet auf on geht der Timer abläuft und dann wieder auf Off geht.
Titel: Antw:Tablet ausschalten
Beitrag von: Otto123 am 23 November 2016, 18:52:29
Zitat von: robo9 am 23 November 2016, 18:49:24
Das Device heisst Teblet das reading screen. Ich würde gerne, wenn Teblet auf on geht der Timer abläuft und dann wieder auf Off geht.
So baut man ein notify:
Zitatdefine <name> notify <Suchmuster> <Anweisung>

Führt eine oder mehrere Anweisungen aus, wenn ein Event generiert wurde, was dem <Suchmuster> (Gerätename oder Gerätename:Event) entspricht. Die Anweisung ist einer der FHEM Befehlstypen. Zum Test dient das trigger-Kommando.

Beispiele:
define b3lampV1 notify btn3 set lamp $EVENT
define b3lampV2 notify btn3 { fhem "set lamp $EVENT" }
define b3lampV3 notify btn3 "/usr/local/bin/setlamp "$EVENT""
define b3lampV3 notify btn3 set lamp1 $EVENT;;set lamp2 $EVENT
define wzMessLg notify wz:measured.* "/usr/local/bin/logfht $NAME "$EVENT""
define LogUndef notify global:UNDEFINED.* "send-me-mail.sh "$EVENT""

Hinweise:
<Suchmuster> ist entweder der Name des auslösenden ("triggernden") Gerätes oder die Kombination aus Gerät und auslösendem Ereignis (Event) Gerätename:Event.
Das <Suchmuster> muss exakt (!) entweder dem Gerätenamen entsprechen oder der Zusammenfügung aus Gerätename:Event. Events lassen sich mit "inform" in Telnet oder durch Beobachtung des "Event-Monitors" in FHEMWEB ermitteln.

Gruß Otto
Titel: Antw:Tablet ausschalten
Beitrag von: abc2006 am 23 November 2016, 18:53:39
list Teblet
Titel: Antw:Tablet ausschalten
Beitrag von: robo9 am 23 November 2016, 19:41:42
   NAME       Teblet
   NR         591
   PORT       8090
   STATE      active
   TYPE       AMAD
   VERSIONFLOWSET 2.6.6
   VERSIONMODUL 2.6.6
   Helper:
     Dblog:
       Automagicstate:
         Dblog1:
           TIME       1479925088.25233
           VALUE      not supported from your device
       Batteryhealth:
         Dblog1:
           TIME       1479848703.4885
           VALUE      2
       Batterytemperature:
         Dblog1:
           TIME       1479848703.4885
           VALUE      0.0
       Devicestate:
         Dblog1:
           TIME       1479925087.00431
           VALUE      online
       Flow_informations:
         Dblog1:
           TIME       1479925095.77729
           VALUE      aktiv
       Flowsetversionatdevice:
         Dblog1:
           TIME       1479925096.80865
           VALUE      2.6.6
       Lastsetcommandstate:
         Dblog1:
           TIME       1479925095.94213
           VALUE      setCmd_done
       Laststatusrequeststate:
         Dblog1:
           TIME       1479925096.80865
           VALUE      statusRequest_done
       Powerlevel:
         Dblog1:
           TIME       1479848703.4885
           VALUE      100
       Powerplugged:
         Dblog1:
           TIME       1479848703.4885
           VALUE      1
       Screen:
         Dblog1:
           TIME       1479925096.80865
           VALUE      on unlocked
       Screenorientation:
         Dblog1:
           TIME       1479925096.80865
           VALUE      landscape
       Screenorientationmode:
         Dblog1:
           TIME       1479925096.80865
           VALUE      auto
       State:
         Dblog1:
           TIME       1479925096.79774
           VALUE      active
       Volume:
         Dblog1:
           TIME       1479843843.72837
           VALUE      11
   Readings:
     2016-11-23 19:18:08   automagicState  not supported from your device
     2016-11-22 22:05:03   batteryHealth   2
     2016-11-22 22:05:03   batteryTemperature 0.0
     2016-11-23 19:18:07   deviceState     online
     2016-11-23 19:18:15   flow_informations aktiv
     2016-11-23 19:18:16   flowsetVersionAtDevice 2.6.6
     2016-11-23 19:18:15   lastSetCommandState setCmd_done
     2016-11-23 19:18:16   lastStatusRequestState statusRequest_done
     2016-11-22 22:05:03   powerLevel      100
     2016-11-22 22:05:03   powerPlugged    1
     2016-11-23 19:18:16   screen          on unlocked
     2016-11-23 19:18:16   screenOrientation landscape
     2016-11-23 19:18:16   screenOrientationMode auto
     2016-11-23 19:18:16   state           active
     2016-11-22 20:44:03   volume          11
   Helper:
     deviceStateErrorCounter 0
     infoErrorCounter 0
     setCmdErrorCounter 0
Attributes:
   room       2 Flur
   setScreenOnForTimer 30
   verbose    5
Titel: Antw:Tablet ausschalten
Beitrag von: abc2006 am 23 November 2016, 22:11:10
define DF_Teblet DOIF ([Teblet:screen] eq "on") (set Teblet screen off)
attr DF_Teblet wait 120
attr DF_Teblet do always



wahrscheinlich hängts dann noch dran, dass das Reading nicht "on" liefert, sondern "on unlocked"

das fängt man mit

define DF_Teblet DOIF ([Teblet:screen] =~ "on") (set Teblet screen off)
attr DF_Teblet wait 120
attr DF_Teblet do always



ungetestet...

Grüße
Stephan
Titel: Antw:Tablet ausschalten
Beitrag von: robo9 am 26 November 2016, 12:50:12
@abc2006
Vielen lieben Dank es funktioniert. Was bedeutet das =~
Titel: Antw:Tablet ausschalten
Beitrag von: robo9 am 26 November 2016, 21:12:23
Ich habe mich geirrt. Es funktioniert leider nicht.
Titel: Antw:Tablet ausschalten
Beitrag von: viegener am 26 November 2016, 21:39:42
Zitat von: robo9 am 26 November 2016, 21:12:23
Ich habe mich geirrt. Es funktioniert leider nicht.
Und was heisst das genauer?
Titel: Antw:Tablet ausschalten
Beitrag von: Ma_Bo am 26 November 2016, 21:41:04
Hast du das attr do always gesetzt...?
Titel: Antw:Tablet ausschalten
Beitrag von: CoolTux am 26 November 2016, 22:10:22
Das AMAD Modul gibt unter den Attributen die Möglichkeit ein setOnScreenForTimer zu setzen. Hier einfach 10 einstellen und Dein Tablet sollte nach einem Screen On nach 10s ausgehen. Das gilt aber nur so lange das Screen On von FHEM kam.
Ansonsten DOIF wie oben beschrieben mit do always.
Titel: Antw:Tablet ausschalten
Beitrag von: robo9 am 27 November 2016, 19:30:22
Zitat von: Ma_Bo am 26 November 2016, 21:41:04
Hast du das attr do always gesetzt...?

Was heisst gesetzt ich habe das Attr hinzugefügt sihe Bild
setOnScreenForTimer funktioniert nicht gelesen habe ich das auch
Titel: Antw:Tablet ausschalten
Beitrag von: viegener am 27 November 2016, 22:15:24
Also bei mir seiht das Reading am Tablet anders aus:
screen

on locked



Vielleicht liegt es daran?

Wie schon gesagt, wenn Du etwas mehr Informationen lieferst wird das helfen meistens einfacher, alle tun das hier ja freiwillig
Titel: Antw:Tablet ausschalten
Beitrag von: abc2006 am 28 November 2016, 10:41:09
Bitte vergleiche diese Zeile

define DF_Teblet DOIF ([Teblet:screen] =~ "on") (set Teblet screen off)

mit der in deinem Screenshot. Den Unterschied wirst du sicherlich herausfinden. So wie du es geschrieben hast, und mit der Information
Zitat von: viegener am 27 November 2016, 22:15:24
Also bei mir seiht das Reading am Tablet anders aus:
screen

on locked



Vielleicht liegt es daran?

Wie schon gesagt, wenn Du etwas mehr Informationen lieferst wird das helfen meistens einfacher, alle tun das hier ja freiwillig

sowie der Information

Zitat von: robo9 am 23 November 2016, 19:41:42

     2016-11-23 19:18:16   screen          on unlocked


wird es mit deinem Code ganz sicher nicht funktionieren...

Zitat von: robo9 am 26 November 2016, 12:50:12
@abc2006
Vielen lieben Dank es funktioniert. Was bedeutet das =~

https://wiki.selfhtml.org/wiki/Perl/Operatoren#Vergleichsoperatoren

Und Fragezeichen am Ende einer Frage machen den ganzen Text wesentlich einfacher lesbar.

Grüße
Stephan
Titel: Antw:Tablet ausschalten
Beitrag von: Prof. Dr. Peter Henning am 28 November 2016, 10:45:01
ZitatWas bedeutet das =~
https://wiki.selfhtml.org/wiki/Perl

LG

pah
Titel: Antw:Tablet ausschalten
Beitrag von: robo9 am 28 November 2016, 20:06:50
Welche Infos brauch ihr noch?
Das Tablet kann ich über AMAD super schalten. Einschalten über das Doif geht auch aber abschalten nicht.


define DF_Teblet DOIF ([Teblet:screen] =~ "on") (set Teblet screen off)

Das geht leider auch nicht
Titel: Antw:Tablet ausschalten
Beitrag von: viegener am 28 November 2016, 21:15:41
Ich glaube nicht, dass wir noch Infos brauchen - Bei mir geht alles - ichvermute bei pah und abc2006 auch  ;)

Sorry mir war gerade etwas zynisch zumute  ;)

Wenn es mit =~ nicht geht, dann versuch doch einfach mal den ganzen Wert, also etwas wie
eq "on unlocked"

Wenn auch das nicht geht, dann schau Dir doch einfach die Events mal an und versuche mal ein detailliertes log (verbose 5) zu erzeugen und zu schauen was nicht get - der set oder der doif?