diff --git a/hardware/hue/104-hue_manage.html b/hardware/hue/104-hue_manage.html
index a506c6ed..d23f3973 100644
--- a/hardware/hue/104-hue_manage.html
+++ b/hardware/hue/104-hue_manage.html
@@ -56,7 +56,15 @@
diff --git a/hardware/hue/104-hue_manage.js b/hardware/hue/104-hue_manage.js
index e01f4be5..9d1374f2 100644
--- a/hardware/hue/104-hue_manage.js
+++ b/hardware/hue/104-hue_manage.js
@@ -92,27 +92,30 @@ function HueNode(n) {
if(node.lamp_status=="AUTO") {
var color;
var brightness;
- //check for lamp ID in the topic
- if(myMsg.topic.length>1) {
- var tmp_status = myMsg.topic.split(":");
- myMsg.topic = tmp_status[1];
- lamp = tmp_status[0];
+
+ //get lamp id from msg.lamp:
+ lamp = myMsg.lamp;
+
+ //get brightness:
+ brightness = myMsg.brightness;
+
+ //get colour either from msg.color or msg.topic
+ if(myMsg.color!=null && myMsg.color.length>0) {
+ color = myMsg.color;
+ }
+ else if(myMsg.topic!=null && myMsg.topic.length>0) {
+ color = myMsg.topic;
}
- //check for brightness & color:
- if(myMsg.payload.length>1) {
- var tmp_topic = myMsg.payload.split(":");
- color = tmp_topic[0];
- brightness = tmp_topic[1];
- }
+ //check the payload for on/off/alert:
//case of ALERT:
- if(myMsg.topic=="ALERT"){
+ if(myMsg.payload=="ALERT" || myMsg.payload=="alert"){
api.setLightState(lamp, state.alert()).then(displayResult).fail(displayError).done();
}
//case of ON:
- if(myMsg.topic=="ON") {
+ if(myMsg.payload=="ON" || myMsg.payload=="on") {
api.setLightState(lamp, state.on().rgb(hexToRgb(color).r,hexToRgb(color).g,hexToRgb(color).b).brightness(brightness)).then(displayResult).fail(displayError).done();
}
else {