[dss-developer] Schalten und Dimmen per Scene Responder umstellen
Andreas Dröscher
dss at anticat.ch
Sat Nov 9 23:31:51 CET 2013
Hallo Zusammen
Glüh- und Halogenlampen haben grundsätzlich eine sehr gute Farbwiedergabe [1]
(Deutlich besser als LED). Diese sinkt jedoch, wenn man eine Lampe dimmt:
"Durch das Dimmen verändert sich auch die Lichtfarbe, die Farbtemperatur sinkt
ab und das Licht wirkt eher gelb-orange als weiß-gelb." [2].
Ich bin nun über das Problem gestolpert, dass Lampen die an DigitalStrom
Klemmen oder Schnurdimmer angeschlossen sind, maximal 90% der Nennleisung
erreichen => Ra <80. (Der Ausgang ist auf Dimmen gestellt, der Gerätewert ist
100%).
Wird der Ausgang auf Schalten umgestellt springt die Nennleistung der Lampe auf
~98% => Ra >95.
Da ich auf eine gute Farbwiedergabe angewiesen bin, ich jedoch in der Nacht die
Lampen dimmen möchte, habe ich einen Workaround erarbeitet. Dieser Konfiguriert
die Serverschnittstelle des DSS so um, dass der Ausgang einer Klemme auf
schalten bzw. dimmen per Szene Responder gestellt werden kann.
Bei mir Funktioniert dieser Patch ohne Probleme. Dennoch lehne ich die Haftung
für Probleme, die in der Folge dieses Patches Auftreten ab.
1. Per SSH mit dem DSS verbinden.
2. SetEnv Modul für Lighthttpd installieren (opkg install lighttpd-module-setenv)
3. Patch (siehe Anhang) auf /etc/lighttpd.conf anwenden.
4. Lighthttpd neu starten (sv restart lighttpd).
Nun kann per Szene Responder -> Aktivität -> URL Aufrufen
eine Klemme zwischen Dimm- und Schaltbetrieb umgestellt werden.
Um in den Schaltbetrieb zu wechseln:
http://127.0.0.1/json/device/setOutputMode?dsid=[dsid der DS-Klemme]&modeID=22
Um den Dimmbetrieb zu wechseln
http://127.0.0.1/json/device/setOutputMode?dsid=[dsid der DS-Klemme]&modeID=16
Freundliche Grüsse
Andreas Dröscher
[1] http://de.wikipedia.org/wiki/Farbwiedergabe
[2] http://de.wikipedia.org/wiki/Dimmer
-------------- next part --------------
--- lighttpd.conf.orig 2013-11-09 22:11:18.427104665 +0100
+++ lighttpd.conf 2013-11-09 22:36:09.763698706 +0100
@@ -20,7 +20,7 @@
# "mod_trigger_b4_dl",
"mod_auth",
# "mod_status",
-# "mod_setenv",
+ "mod_setenv",
# "mod_fastcgi",
"mod_proxy",
# "mod_simple_vhost",
@@ -218,10 +218,23 @@
#### proxy module
## read proxy.txt for more info
-$HTTP["url"] =~ "^/(json|dss|download|icons)/(.+)" {
+$HTTP["url"] =~ "^/(dss|download|icons)/(.+)" {
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 8088 ) ) )
}
+$HTTP["url"] =~ "^/(json)/(.+)" {
+ $HTTP["remoteip"] != "127.0.0.1" {
+ proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 8088 ) ) )
+ }
+}
+
+$HTTP["url"] =~ "^/(json)/(.+)" {
+ $HTTP["remoteip"] == "127.0.0.1" {
+ setenv.add-request-header = ( "Authorization" => "Digest username=\"dssadmin\"" )
+ proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 8088 ) ) )
+ }
+}
+
$HTTP["url"] =~ "^/(dsa)/(.+)" {
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 8087 ) ) )
}
@@ -270,13 +283,15 @@
#auth.backend.ldap.filter = "(uid=$)"
$HTTP["url"] !~ "^/local-feed/" {
- auth.require = ( "/" =>
- (
- "method" => "digest",
- "realm" => "dSS11",
- "require" => "user=dssadmin"
+ $HTTP["remoteip"] != "127.0.0.1" {
+ auth.require = ( "/" =>
+ (
+ "method" => "digest",
+ "realm" => "dSS11",
+ "require" => "user=dssadmin"
+ )
)
- )
+ }
}
#### url handling modules (rewrite, redirect, access)
More information about the dss-developer
mailing list