Hallo zusammen,
an meinem Rasperry Pi habe ich über I2C ein LED Dimmer IC angeschlossen (PCA9532).
Über Systembefehle bekomme ich damit auch die Vitrinenbeleuchtung gedimmt.
Jetzt möchte ich das ganze über FHEM steuern. Das habe ich im Moment wie folgt gelöst, allerings funktioniert es nur teilweise:
define d1 dummy
attr d1 room Wohnzimmer
attr d1 webCmd state
attr d1 setList state:slider,0,1,99
define act_d1 notify d1 { \
system "sudo i2cset -y 1 0x60 0x05 0x%";;\
Log 1, "dimmwert von @ geändert auf %x";;\
}
nun sind einige Fragen offen:
- kann ich den state Wert irgendwie in Hexwerte umrechnen? (momentan übertrage ich einfach 0-99 Dezimal als hex, was nicht so toll ist)
- lässt sich der slider als Prozentwert anzeigen (der dann auf 0x00-0xFF umgerechnet wird)
- ist es auch möglich, die Dimmung zu verändern, während der Slider bewegt wird?
Danke schonmal und Grüße
Klaus
so, ich beginne mal meine Fragen selbst zu beantworten ;) vielleicht hilft es jemandem.
Die Hex Umrechnung habe ich wie folgt gelöst:
define d1 dummy
attr d1 room Wohnzimmer
attr d1 webCmd state
attr d1 setList state:slider,0,1,255
define act_d1 notify d1 { \
my $dimwert = %;;\
my $hexwert = sprintf("0x%%x",$dimwert);;\
system "sudo i2cset -y 1 0x60 0x05 $hexwert";;\
Log 1, "dimmwert von @ geändert auf $hexwert";;\
}
jetzt fehlt nur noch Prozentanzeige und Livesteuerung