Problem mit if und state dim

Begonnen von Mikeyy, 15 Januar 2015, 19:15:16

Vorheriges Thema - Nächstes Thema

Mikeyy

Sehr geehrte Forengemeinschaft,

ich bin ein FHEM-Neuling und habe probleme mit einer Dimstufenabhänigen Schaltung.

Wenn Schalter "test" betätigt wird und "Lampe wz_Blau" einen bestimmten Dimwert (z.B. State dim100%) besitzt soll "Lampe wz_Rot" auf 50% gedimmt werden.
im Einsatz habe ich FS20-Dimmer .

define test notify Licht IF ([wz_Blau:state] eq "dim100%") (set wz_Rot 50%)
zum Testen angelegt, leider keine Funktion und ohne Fehlermeldung in der log
define test notify Licht IF ([wz_Blau:state] eq "on") (set wz_Rot on)
funktioniert.
Ich habe den ganzen Tag alle möglichen if-Schreibweisen ausprobiert und überall nach ähnlichen Problemen gesucht, leider ohne erfolg.

Ich hoffe Ihr könnt mir helfen.



Damian

Zitat von: Mikeyy am 15 Januar 2015, 19:15:16
Sehr geehrte Forengemeinschaft,

ich bin ein FHEM-Neuling und habe probleme mit einer Dimstufenabhänigen Schaltung.

Wenn Schalter "test" betätigt wird und "Lampe wz_Blau" einen bestimmten Dimwert (z.B. State dim100%) besitzt soll "Lampe wz_Rot" auf 50% gedimmt werden.
im Einsatz habe ich FS20-Dimmer .

define test notify Licht IF ([wz_Blau:state] eq "dim100%") (set wz_Rot 50%)
zum Testen angelegt, leider keine Funktion und ohne Fehlermeldung in der log
define test notify Licht IF ([wz_Blau:state] eq "on") (set wz_Rot on)
funktioniert.
Ich habe den ganzen Tag alle möglichen if-Schreibweisen ausprobiert und überall nach ähnlichen Problemen gesucht, leider ohne erfolg.

Ich hoffe Ihr könnt mir helfen.

Dann poste mal Ergebnis von: list wz_Blau mit dem vermeintlichen Status dim100%.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Mikeyy

ZitatDann poste mal Ergebnis von: list wz_Blau mit dem vermeintlichen Status dim100%.

Gruß

Damian

Hier ist das Ergebnis von list wz_Blau:
Internals:
   BTN        01
   CUL_0_MSGCNT 5
   CUL_0_RAWMSG 810c04xx0101a00191590100300c
   CUL_0_RSSI -67.5
   CUL_0_TIME 2015-01-16 10:57:44
   DEF        9159 01
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     5
   NAME       wz_Blau
   NR         40
   STATE      dim100%
   TYPE       FS20
   XMIT       9159
   Code:
     1          9159 01
   Readings:
     2015-01-16 11:02:07   state           dim100%
Attributes:
   IODev      CUL_0
   follow-on-for-timer 1
   group      Tras,
   model      fs20di
   room       Wohnzimmer


Beste Grüße
Michi

Damian

Zitat von: Mikeyy am 16 Januar 2015, 11:06:22
Hier ist das Ergebnis von list wz_Blau:
Internals:
   BTN        01
   CUL_0_MSGCNT 5
   CUL_0_RAWMSG 810c04xx0101a00191590100300c
   CUL_0_RSSI -67.5
   CUL_0_TIME 2015-01-16 10:57:44
   DEF        9159 01
   IODev      CUL_0
   LASTInputDev CUL_0
   MSGCNT     5
   NAME       wz_Blau
   NR         40
   STATE      dim100%
   TYPE       FS20
   XMIT       9159
   Code:
     1          9159 01
   Readings:
     2015-01-16 11:02:07   state           dim100%
Attributes:
   IODev      CUL_0
   follow-on-for-timer 1
   group      Tras,
   model      fs20di
   room       Wohnzimmer


Beste Grüße
Michi

Es liegt an dem Prozentzeichen, das wird beim notify gegen das Event ersetzt. Du musst beim notify das Prozentzeichen doppeln, wenn es nicht ersetzt werden soll.

Oder statt notify und IF gleich DOIF nutzen, dann brauchst du nichts zu doppeln:

define test DOIF ([wz_Blau:state] eq "dim100%") (set wz_Rot 50%)
attr test do always


Gruß

Damian


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Mikeyy

Zitat
Es liegt an dem Prozentzeichen, das wird beim notify gegen das Event ersetzt. Du musst beim notify das Prozentzeichen doppeln, wenn es nicht ersetzt werden soll.

Oder statt notify und IF gleich DOIF nutzen, dann brauchst du nichts zu doppeln:

Besten Dank Damian. Läuft.
Ihr seid Klasse!!!

Grüße
Michi