Hallo,
dies ist mein erster Post also entschuldige ich mich schon vorweg für evtl. fehlende Angaben ;).
Ich habe folgendes Anliegen:
Ich habe ein Wemos D1 Mini mit ESPEasy und dem DMX-Plugin am laufen. Ich kann über FEHM die entsprechenden Kanäle per Dummy und einer setlist auswählen. Mit einem slider stelle ich dann Werte von 0 bis 255 ein. Ein Notify greift diese Eingabe auf, formatiert sie und löst dann bei dem Device die jeweilige Funktion aus. Soweit so gut... Nun möchte ich aber gerne das Licht langsam auf einen bestimmten Wert hoch dimmen. (am liebsten mit der gleichen Syntax wie bei dem RGB Plugin.
bsp. "set Scheinwerfer_1 100 [Dimmwert] 10 [in Sekunden]
Ich denke dies lässt sich über eine doif Schleife realisieren oder? Allerdings habe ich keine Pearl Kenntnisse und bin auch nach Stundenlangem Probieren nicht auf die richtige Schreibweise gestoßen...
Meine definitionen in Fhem sehen wie folgt aus...
dummy:
defmod DMX_Test dummy
attr DMX_Test eventMap Rot:1 Grün:2 Blau:3 DIMM:4 STROBO:5
attr DMX_Test room DMX
attr DMX_Test setList Off Rot:slider,0,1,255 Grün:slider,0,1,255 Blau:slider,0,1,255 DIMM:slider,0,1,255 STROBO:slider,0,1,255
Notify:
defmod DMX_Test_notify_1 notify DMX_Test:.* set ESPEasy_Multi_Sensor_DMX_IR_IR_Receiver dmx $EVTPART0=$EVTPART1
Das DMX_Plugin im ESPEasy kennt leider keine Dimm Funktion. Hier ein Auszug aus den möglichen Befehlen
// List of DMX params:
// (a) <value>
// DMX-value (0...255) to write to the next channel address (1...512) starting with 1
// (b) <channel>=<value>
// DMX-value (0...255) to write to the given channel address (1...512).
// (c) <channel>=<value>,<value>,<value>,...
// List of DMX-values (0...255) to write beginning with the given channel address (1...512).
// (d) "OFF"
// Set DMX-values of all channels to 0.
// (e) "ON"
// Set DMX-values of all channels to 255.
// (f) "LOG"
// Print DMX-values of all channels to log output.
// Examples:
// DMX,123" Set channel 1 to value 123
// DMX,123,22,33,44" Set channel 1 to value 123, channel 2 to 22, channel 3 to33, channel 4 to 44
// DMX,5=123" Set channel 5 to value 123
// DMX,5=123,22,33,44" Set channel 5 to value 123, channel 6 to 22, channel 7 to33, channel 8 to 44
// DMX,5=123,8=44" Set channel 5 to value 123, channel 8 to 44
// DMX,OFF" Pitch Black
Hat jemand eine Idee für eine Lösung?
LG
Hallo, hat keiner eine Idee oder einen Tip für mich?
Gesendet von iPhone mit Tapatalk
Dieses langsame Dimmen oder auch Ramp wird entweder von der Hardware oder durch das FHEM Modul für die jeweilige Hardware gelöst.
Wenn Du in ein Notify eine Schleife ein baust und hier mit Perl sleep arbeitest, dann verzögerst Du den FHEM Hauptprozess um genau dieses Sleep und FHEM steht.
Eine Lösung wäre das ganze als kompletten FHEM Befehlsstring mit FHEM sleep zusammen zu setzen oder mit der Fuktion InternalTimer zu arbeiten.
Ich könnte dir dafür eine mswitch Lösung anbieten , bräuchte aber ein List des zu schaltenden devices.
Gruss Byte09
Gesendet von meinem SM-G900F mit Tapatalk
Danke für die Vorschläge CoolTux und Byte09. Sorry für die späte Rückmeldung, ich war im Urlaub.
FHEM für die Dimm Zeit zu pausieren möchte ich nicht. Ich denke MSwitch wäre eine Möglichkeit...
Ist das den Praktikabel oder eher umständlich?
LG
Gesendet von iPhone mit Tapatalk
Zitat von: 16-BitMan am 29 Oktober 2018, 22:58:57
Danke für die Vorschläge CoolTux und Byte09. Sorry für die späte Rückmeldung, ich war im Urlaub.
FHEM für die Dimm Zeit zu pausieren möchte ich nicht. Ich denke MSwitch wäre eine Möglichkeit...
Ist das den Praktikabel oder eher umständlich?
LG
ich habe lelider die von dir genutzte hardware nicht im einsatz , daher bitte mal ein list des devices.
ich brauche den genauen Befehl, der leztendlich bei deinem device einen best. Dimmwert setzt, sowie ein Reading , das den aktuellen Dimmwert des Devices beinhaltet .
gruss Byte09
gruss Byte09
Gesendet von iPhone mit Tapatalk