[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