Wiki-Artikel zu "Dimmer" - Fehlermeldung nur bei "dimdown"

Begonnen von Bronze, 27 September 2026, 16:57:18

Vorheriges Thema - Nächstes Thema

Bronze

Hallo,
habe Dimmer versucht auf meine Installation zu übertragen.
Habe nur 3 GA, die Rückmeldung für EinAus fehlt.

Das Listing sieht so aus:
Internals:
   CFGFN     
   DEF        2/1/10:dpt1:EinAus:set:nosuffix\
2/1/12:dpt5.001:Dimmen:set:nosuffix\
2/1/11:dpt5.001:DimmStatus:listenonly:nosuffix
   FUUID      6ab91f2a-f33f-4950-47a0-1338afa314ada57f
   IODev      myKNXGW
   LASTInputDev myKNXGW
   MSGCNT     22
   NAME       Dimmer
   NR         306
   STATE      50 %
   TYPE       KNX
   eventCount 48
   model      dpt1
   myKNXGW_MSGCNT 22
   myKNXGW_TIME 2026-09-27 16:45:28
   GADDETAILS:
     DimmStatus:
       CODE       0210b
       MODEL      dpt5.001
       NO         3
       OPTION     listenonly
       RDNAMEGET  DimmStatus
       RDNAMESET  DimmStatus
       SETLIST    :slider,0,1,100
     Dimmen:
       CODE       0210c
       MODEL      dpt5.001
       NO         2
       OPTION     set
       RDNAMEGET  Dimmen
       RDNAMESET  Dimmen
       SETLIST    :slider,0,1,100
     EinAus:
       CODE       0210a
       MODEL      dpt1
       NO         1
       OPTION     set
       RDNAMEGET  EinAus
       RDNAMESET  EinAus
       SETLIST    :on,off,toggle
   GADTABLE:
     0210a      EinAus
     0210b      DimmStatus
     0210c      Dimmen
   Helper:
     DBLOG:
       Dimmen:
         LOG_fhemdb:
           TIME       1790520328.36021
           VALUE      50
       EinAus:
         LOG_fhemdb:
           TIME       1790517771.34129
           VALUE      on
       EinAus-set:
         LOG_fhemdb:
           TIME       1790519974.59722
           VALUE      off
       last-sender:
         LOG_fhemdb:
           TIME       1790520328.36021
           VALUE      1.1.33
       state:
         LOG_fhemdb:
           TIME       1790520328.36021
           VALUE      50
   OLDREADINGS:
   READINGS:
     2026-09-27 16:45:28   Dimmen          50 %
     2026-09-27 16:43:01   IODev           myKNXGW
     2026-09-27 16:45:28   last-sender     1.1.33
     2026-09-27 16:45:28   state           50 %
Attributes:
   devStateIcon off:li_wht_off:on on:li_wht_on:off 0.*:li_wht_off:on \d+.*:li_wht_on:off
   eventMap   {
usr=>
{
'^dimup'=>
'" . sprintf("Dimmen %d",
minNum(100,ReadingsNum($NAME,"Dimmen",0) + 10))
. "', \
'^dimdown'=>
'" . sprintf("Dimmen %d",
maxNum(0,ReadingsNum($NAME,"Dimmen",0) - 10))
.  "'
}, \
fw=>{'^dimup'=> 'dimup', '^dimdown'=> 'dimdown'} 
}
   stateCmd   { if ($gadName eq 'DimmStatus')
{\
    fhem ("sleep 0.05 quiet;;setreading $name Dimmen $state;;");; \
  }\
  elsif ($gadName eq 'EinAus') {\
    my $val = ($state eq 'on')?'100':'0';;\
    fhem ("sleep 0.05 quiet;;setreading $name Dimmen $val;;");;\
  }\
  return $state;;\
}
   webCmd     :dimup:dimdown:Dimmen
   widgetOverride Dimmen@set:slider,0,5,100

Es funktioniert soweit, nur das Kommando "dimdown" verursacht jedes Mal folgenden Fehler:
invalid cmd: "set Dimmer EinAus dimdown" issued - ignored
dimup funktioniert bis zum Grenzwert 100%.

Weiterhin habe ich noch folgende Frage:
Das Reading EinAus wird nicht angezeigt.
Ich bräuchte aber ein zuverlässiges Reading, das den Zustand der Leuchte anzeigt - mangels Rückmelde-GA - wie kann man das bitte noch einbauen?

Besten Dank vorab für die Unterstützung!

Bronze

Nach ein paar weiteren Syntax-Versuchen bekomme ich nun folgende Fehlermeldung im state:


IF: no left bracket: {\ fhem ("sleep 0.05 quiet;setreading Dimmer Dimmen 65 %;"); \ }\ elsif (Dimmen eq 'EinAus') {\ my $val = (65 % eq 'on')?'100':'0';\ fhem ("sleep 0.05 quiet;setreading Dimmer Dimmen $val;");\ }\ return 65 %;\}

Da ich meine, den Code richtig kopiert zu haben, suche ich verzweifelt den wohl vorliegenden Syntax-Fehler.