Hauptmenü

lightscene und notify

Begonnen von pjakobs, 07 November 2018, 10:36:45

Vorheriges Thema - Nächstes Thema

pjakobs

Moin zusammen, ich halte mich zwar nicht mehr für einen Anfänger, aber ich glaube, das hier ist doch eine Anfängerfrage...

Ich habe jetzt alle meine LedController Leuchten in unterschiedlichen lightscenes zusammengefasst. Eine davon hier als Beispiel:
Internals:
   DEF        LED_Tr LED_FLo
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       LS_Flur
   NR         543
   NTFY_ORDER 50-LS_Flur
   STATE      auto
   TYPE       LightScene
   mayBeVisible 1
   CONTENT:
     LED_FLo    1
     LED_Tr     1
   Helper:
     DBLOG:
       LED_FLo.state:
         logdb:
           TIME       1541581452.15533
           VALUE      <html><div id="LED_FLo"  title="off" class="col2"><a href="/fhem?cmd.LED_FLo=set LED_FLo on&room=FlurLicht,Flur"><svg class=" off" data-txt="off" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="617pt" viewBox="0 0 468 617"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,617) scale(0.221801,-0.221801)"  stroke="none"> <path d="M756 2765 c-9 -25 -7 -128 3 -144 5 -8 16 -11 25 -8 24 10 19 160 -5 165 -9 2 -19 -4 -23 -13z"/> <path d="M1310 2695 c0 -77 2 -86 18 -83 14 3 17 15 17 83 0 68 -3 80 -17 83 -16 3 -18 -6 -18 -83z"/> <path d="M1806 2581 c-47 -47 -67 -74 -63 -85 4 -9 10 -16 14 -16 17 0 155 148 149 159 -14 21 -32 10 -100 -58z"/> <path d="M220 2622 c0 -23 125 -147 139 -138 21 13 11 32 -52 94 -64 64 -87 75 -87 44z"/> <path d="M809 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z"/> <path d="M13 2065 c-11 -29 12 -36 118 -33 96 3 104 4 104 23 0 19 -8 20 -108 23 -91 2 -108 0 -114 -13z"/> <path d="M1877 2066 c-11 -27 17 -36 113 -36 100 0 127 8 117 34 -5 13 -25 16 -116 16 -83 0 -110 -3 -114 -14z"/> <path d="M10 1510 c0 -19 6 -20 116 -20 105 0 115 2 112 18 -3 15 -18 17 -116 20 -107 3 -112 2 -112 -18z"/> <path d="M1876 1522 c-2 -4 -1 -14 3 -20 5 -9 38 -12 117 -10 89 2 109 6 109 18 0 12 -20 16 -112 18 -61 1 -114 -1 -117 -6z"/> <path d="M21 981 c-8 -5 -11 -16 -8 -25 5 -13 24 -16 112 -16 88 0 107 3 112 16 10 26 -16 34 -112 34 -50 0 -96 -4 -104 -9z"/> <path d="M1882 978 c-8 -8 -9 -15 -1 -25 8 -9 40 -13 108 -13 101 0 128 8 118 34 -5 13 -24 16 -110 16 -66 0 -107 -4 -115 -12z"/> <path d="M768 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z"/> <path d="M793 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z"/> <path d="M793 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z"/> <path d="M871 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z"/> </g> </svg></a></div></html>
       LED_Tr.state:
         logdb:
           TIME       1541581452.15533
           VALUE      <html><div id="LED_Tr"  title="off" class="col2"><a href="/fhem?cmd.LED_Tr=set LED_Tr on&room=LichtLicht,Flur"><svg class=" off" data-txt="off" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="617pt" viewBox="0 0 468 617"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,617) scale(0.221801,-0.221801)"  stroke="none"> <path d="M756 2765 c-9 -25 -7 -128 3 -144 5 -8 16 -11 25 -8 24 10 19 160 -5 165 -9 2 -19 -4 -23 -13z"/> <path d="M1310 2695 c0 -77 2 -86 18 -83 14 3 17 15 17 83 0 68 -3 80 -17 83 -16 3 -18 -6 -18 -83z"/> <path d="M1806 2581 c-47 -47 -67 -74 -63 -85 4 -9 10 -16 14 -16 17 0 155 148 149 159 -14 21 -32 10 -100 -58z"/> <path d="M220 2622 c0 -23 125 -147 139 -138 21 13 11 32 -52 94 -64 64 -87 75 -87 44z"/> <path d="M809 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z"/> <path d="M13 2065 c-11 -29 12 -36 118 -33 96 3 104 4 104 23 0 19 -8 20 -108 23 -91 2 -108 0 -114 -13z"/> <path d="M1877 2066 c-11 -27 17 -36 113 -36 100 0 127 8 117 34 -5 13 -25 16 -116 16 -83 0 -110 -3 -114 -14z"/> <path d="M10 1510 c0 -19 6 -20 116 -20 105 0 115 2 112 18 -3 15 -18 17 -116 20 -107 3 -112 2 -112 -18z"/> <path d="M1876 1522 c-2 -4 -1 -14 3 -20 5 -9 38 -12 117 -10 89 2 109 6 109 18 0 12 -20 16 -112 18 -61 1 -114 -1 -117 -6z"/> <path d="M21 981 c-8 -5 -11 -16 -8 -25 5 -13 24 -16 112 -16 88 0 107 3 112 16 10 26 -16 34 -112 34 -50 0 -96 -4 -104 -9z"/> <path d="M1882 978 c-8 -8 -9 -15 -1 -25 8 -9 40 -13 108 -13 101 0 128 8 118 34 -5 13 -24 16 -110 16 -66 0 -107 -4 -115 -12z"/> <path d="M768 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z"/> <path d="M793 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z"/> <path d="M793 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z"/> <path d="M871 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z"/> </g> </svg></a></div></html>
       state:
         logdb:
           TIME       1541580244.83708
           VALUE      auto
   READINGS:
     2018-11-07 09:44:04   state           auto
   SCENES:
     auto:
       LED_Flo    off
       LED_Tr     off
     night:
       LED_Flo    hsv 0,50,3
       LED_Tr     hsv 0,50,3
     off:
       LED_Flo    off
       LED_Tr     off
     on:
       LED_Flo    on
       LED_Tr     on
   devices:
     LED_FLo
     LED_Tr
Attributes:
   room       Licht,Flur


Die Funktion ist soweit wohl klar, mit einer Ausnahme: die scene auto setzt per se erstmal alle Lichter auf aus. Allerdings hängt an meinem Twilight Device ein Notify, das bei jeder Änderung von twilight_weather eine Perl Funktion aufruft, die alle Lightscenes durchgeht und bei denen, die auf auto gestellt sind die Lichter entsprechend der Dämmerung setzt.

Diese Funktion würde ich natürlich auch gerne triggern, wenn die lightscene selbst auf auto gesetzt wird, damit ich nicht auf Twilight warten muss.

Das erschien mir eigentlich simpel, also ein notify aufgesetzt:
Internals:
   CFGFN     
   DEF        LS_.*:state:.* {twilightDim(ReadingsVal("MyTwilight","twilight_weather",100))}
   NAME       NO_Lightscene
   NOTIFYDEV  LS_.*
   NR         569
   NTFY_ORDER 50-NO_Lightscene
   REGEXP     LS_.*:state:.*
   STATE      active
   TRIGGERTIME 1541581448.00188
   TYPE       notify
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1541581538.35128
           VALUE      active
   READINGS:
     2018-11-07 10:05:38   state           active
Attributes:
   room       Licht,Regeln
   verbose    5

Mein Verständnis: bei jeder Änderung des Readings state an einem Device, dessen Namen mit LS_ beginnt, sollte dieses notify triggern.  Tut's aber nicht.

Lieber noch wäre mir ein Notify, das nur triggert wenn der state auf auto geht.  Nach meinem Verständnis sollte das mit dem Regex
LS_.*:state:auto
möglich sein - aber auch nicht.
Das Notify wird, nach allem, was ich sehen kann, einfach nicht aufgerufen.
Wer kann den Finger auf das Problem legen?

Grüße

pj

CoolTux

Entscheidend ist ob ein Event kommt und wenn ja wie es aus schaut.
Aber kannst ja mal so testen


   DEF        LS_.*.auto {twilightDim(Readin......
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

pjakobs

verdammt! ein bisschen komplizierter hätte das schon sein können, wenn ich da seit Stunden rätselrate!

2018.11.07 11:09:26 5: Triggering NO_Lightscene
2018.11.07 11:09:26 4: NO_Lightscene exec {twilightDim(ReadingsVal("MyTwilight","twilight_weather",100))}


danke, @CoolTux

btw: im regex genügt ".*" - der zweite Punkt ist ja nur ein weiteres beliebiges Zeichen. Oder war das nur ein versehentlich nicht geshifteter ":" - den fänd ich nämlich sinnvoller und damit funktioniert's auch.

CoolTux

Sowohl als auch. Bin mehr Regex gewöhnt.
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