Hallo,
kann man über einen WebService die DMX-Kanäle ohne UI steuern und/oder Szenen auslösen?
Mein Ziel ist die Einbindung in openHAB.
Viele Grüße
Miro
DMX über Webinterface steuern (für openHAB)
-
MSE
- Beiträge: 11
- Registriert: 10. Juni 2020, 13:04
-
Alex
- Administrator
- Beiträge: 9988
- Registriert: 28. Mai 2014, 23:00
-
MSE
- Beiträge: 11
- Registriert: 10. Juni 2020, 13:04
-
FipsJr
- Beiträge: 1
- Registriert: 11. August 2021, 09:41
Re: DMX über Webinterface steuern (für openHAB)
Hallo,
hat jemand schon die Ansteuerung der DMX-Kanäle über einen Colorpicker in OpenHab realisiert?
Mein aktueller Stand ist folgender:
home.sitemap
Colorpicker item=PoolControllerRgb
poolctrl.items
Color PoolControllerRgb "Poolbeleuchtung"
In einer Rule fange ich die Änderung des Colorpickers ab und extrahiere daraus die Farben R,G,B
poollights.rules
import java.awt.Color
rule "Set Pool RGB value"
when
Item PoolControllerRgb changed
then
logInfo("RGB.PoolControllerRgb", "PoolControllerRgb changed: "+ PoolControllerRgb)
var hsbValue = PoolControllerRgb.state as HSBType
var Color color = Color::getHSBColor(hsbValue.hue.floatValue / 360, hsbValue.saturation.floatValue / 100, hsbValue.brightness.floatValue / 100)
var red = (color.red.floatValue).intValue
var green = (color.green.floatValue).intValue
var blue = (color.blue.floatValue).intValue
logInfo("RGB.PoolControllerRgb", "RED: "+ color.red.intValue + "% GREEN: "+ color.green + "% BLUE: "+ color.blue + "%")
var String url = 'http://192.168.0.12/usrcfg.cgi'
var headers = ""
var content = '{"TYPE=0, LEN=16, CH1_8="+red+","+green+","+blue+","+red+","+green+","+blue+",0,0, CH9_16=0,0,0,0,0,0,0,0, DMX512=1"}'
val output = sendHttpPostRequest(url,headers,content)
// xxxxxxxxx(output) ?????
end
Die RGB Werte des Colorpickers landen erfolgreich in den einzelnen Variablen.
Die Inhalte des content habe ich aktuell grob geraten auf Basis der Info, dass bei zwei RGB Lampen z.B. folgendes an /usrcfg.cgi geschickt werden muss:
z.B.
TYPE=0
LEN=16
CH1_8=255,255,255,255,255,255,0,0
CH9_16=0,0,0,0,0,0,0,0
DMX512=1
Was muss hierbei genau im Header stehen?
Wie müssen die Parameter im content dargestellt werden?
Wie sendet man den output dann in der rule dann an pooldigital?
hat jemand schon die Ansteuerung der DMX-Kanäle über einen Colorpicker in OpenHab realisiert?
Mein aktueller Stand ist folgender:
home.sitemap
Colorpicker item=PoolControllerRgb
poolctrl.items
Color PoolControllerRgb "Poolbeleuchtung"
In einer Rule fange ich die Änderung des Colorpickers ab und extrahiere daraus die Farben R,G,B
poollights.rules
import java.awt.Color
rule "Set Pool RGB value"
when
Item PoolControllerRgb changed
then
logInfo("RGB.PoolControllerRgb", "PoolControllerRgb changed: "+ PoolControllerRgb)
var hsbValue = PoolControllerRgb.state as HSBType
var Color color = Color::getHSBColor(hsbValue.hue.floatValue / 360, hsbValue.saturation.floatValue / 100, hsbValue.brightness.floatValue / 100)
var red = (color.red.floatValue).intValue
var green = (color.green.floatValue).intValue
var blue = (color.blue.floatValue).intValue
logInfo("RGB.PoolControllerRgb", "RED: "+ color.red.intValue + "% GREEN: "+ color.green + "% BLUE: "+ color.blue + "%")
var String url = 'http://192.168.0.12/usrcfg.cgi'
var headers = ""
var content = '{"TYPE=0, LEN=16, CH1_8="+red+","+green+","+blue+","+red+","+green+","+blue+",0,0, CH9_16=0,0,0,0,0,0,0,0, DMX512=1"}'
val output = sendHttpPostRequest(url,headers,content)
// xxxxxxxxx(output) ?????
end
Die RGB Werte des Colorpickers landen erfolgreich in den einzelnen Variablen.
Die Inhalte des content habe ich aktuell grob geraten auf Basis der Info, dass bei zwei RGB Lampen z.B. folgendes an /usrcfg.cgi geschickt werden muss:
z.B.
TYPE=0
LEN=16
CH1_8=255,255,255,255,255,255,0,0
CH9_16=0,0,0,0,0,0,0,0
DMX512=1
Was muss hierbei genau im Header stehen?
Wie müssen die Parameter im content dargestellt werden?
Wie sendet man den output dann in der rule dann an pooldigital?
-
Alex
- Administrator
- Beiträge: 9988
- Registriert: 28. Mai 2014, 23:00
Re: DMX über Webinterface steuern (für openHAB)
Das ist genau das, was Du schicken musst (per POST an /usrcfg.cgi ) ... das hat auch nichts mit nur "2" Lampen zu tun, das sind alle Kanalwerte für die DMX-Kanäle 1-16, die gesetzt werden sollen (alle 16 müssen enthalten sein).