Yop,
i did it :-)

@chrisyy i think you can list all the modules yes but how to attribut the good icon?
i will check for hide the module on startup tonight - i let you know if i find something

changed the CSS
for who want
.heating {
width: 130px;
height: 130px;
background: red;
background: radial-gradient(#571d1d, #b30000);
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 70px;
line-height: 130px;
font-size: 50px;
text-align: center;
position: relative;
border: 4px solid #FFF;
}
.cooling {
width: 130px;
height: 130px;
background: blue;
background: radial-gradient(#0a237a, #436cc0);
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 70px;
line-height: 130px;
font-size: 50px;
text-align: center;
position: relative;
border: 4px solid #FFF;
}
.heatingHC {
width: 130px;
height: 130px;
background: red;
background: radial-gradient(#571d1d, #b30000);
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 70px;
line-height: 130px;
font-size: 40px;
text-align: center;
position: relative;
border: 4px solid #FFF;
}
.coolingHC {
width: 130px;
height: 130px;
background: blue;
background: radial-gradient(#0a237a, #436cc0);
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 70px;
line-height: 130px;
font-size: 40px;
text-align: center;
position: relative;
border: 4px solid #FFF;
}
.off {
width: 130px;
height: 130px;
border: 4px solid white;
background: black;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 70px;
line-height: 130px;
font-size: 50px;
text-align: center;
position: relative;
}
.heatingText {
  font-size:medium;
  position: absolute;
top: -5px;
right: 40px;
  width: 0;
}
.coolingText {
  font-size:medium;
  position: absolute;
top: -5px;
right: 40px;
  width: 0;
}
.humidityText {
  position:absolute;
  font-size:large;
  top: 35%;
  width: 100%;
}
.nameText {
 font-size:medium;
 text-align:center;
 width:33%;
}
.center {
 text-align:center;
}
.heatingCell {
 background:red;
 background:linear-gradient(to right, #990000 , red, #990000);
}
.coolingCell {
 background-color:blue;
 background:linear-gradient(to right, #000099 , blue, #000099);
}
.fanIcon {
 height:15px;
 width:15px;
 position:absolute;
 top: 72%;
 right: 42%;
}
Hey :D
little UP - im becoming crazy.
i read and read an read again - add… inside config.js (mirror module) or config.py (model tester)
so users : [‘kevin’]… and the config.py is needed if i want to test with the recognition-tools
right ?
i see if the MMM-Facial use “everyone” or “kevin” that doesnt work
Hello @Mitchfarino
Im trying to make your module “clickable” :-)
could you help me with that ?
Module.register(“MMM-Hue”, {
defaults: {
    bridgeip: "",
    userid: "",
    colour: true
},
// Define required scripts.
getScripts: function () {
    return [this.file("js/jquery.js")];
},
getStyles: function () {
    return ["font-awesome.css", "MMM-Hue.css"];
},
// Define start sequence.
start: function () {
    //These will be moved to config in a later release
    this.lightsorgroups = "groups";
    this.updateInterval = 60 * 100; // 10000 updates every 10 minutes
    this.animationSpeed = 2 * 1000;
    this.initialLoadDelay = 0;
    //end
    var result = false;
    this.url = "http://" + this.config.bridgeip + "/api/" + this.config.userid + "/" + this.lightsorgroups;
    this.getData();
    setInterval(() => {
        this.getData();
    }, this.updateInterval);
},
// Override dom generator.
getDom: function () {
    var wrapper = document.createElement("div");
    //alert("http://" + this.config.bridgeip + "/api/" + this.config.userid + "/" + this.config.lightsorgroups);
    if (this.result) {
        var table = document.createElement("table");
        table.classList.add("small", "table", "align-left");
        table.appendChild(this.createLabelRow());
        var lamps = Object.keys(this.result);
        for (var i = 0; i < lamps.length; i++) {
            var row = document.createElement("tr");
            var room = document.createElement("td");
            room.innerHTML = this.result[lamps[i]].name;;
            row.appendChild(room);
            var lightsallLabel = document.createElement("td");
            lightsallLabel.classList.add("centered");
            var lightstatus = document.createElement("i");
            //lightstatus.classList.add(“fa”, this.result[lamps[i]].state.reachable ? (this.result[lamps[i]].state.on ? “fa-lightbulb-o” : “fa-adjust” ) : “fa-times”);
	
	buttonlightstatus[i] = false;  // CUSTOM
	buttonlight[i] = document.createElement("span");  // CUSTOM
	//var buttonlightstatus[i] = false;  // CUSTOM
	//var buttonlight[i] = document.createElement("span");  // CUSTOM
	//weatherbutton.className = "wi wi-day-rain-mix navbar";
	//var forecast = MM.getModules().withClass('weatherforecast');
	if(this.result[lamps[i]].state.all_on)
	{
	lightstatus.classList.add("fa-lightbulb-o")
	buttonlightstatus[i] = true;
	}		
	else if (this.result[lamps[i]].state.any_on)
	{
	lightstatus.classList.add("fa-adjust")
	buttonlightstatus[i] = true;
	}
	else {
	lightstatus.classList.add("fa-times")
	buttonlightstatus[i] = false;
	};
	
	// lightstatus.classList.add("fa", this.result[lamps[i]].state.all_on ? "fa-lightbulb-o" : (this.result[lamps[i]].state.any_on ? "fa-adjust" : "fa-times"));  // CUSTOM
            if (this.config.colour) {
                if (this.result[lamps[i]].state.all_on) {
                    lightstatus.classList.add("lights-all-on")
                }
                else {
                    if (this.result[lamps[i]].state.any_on) {
                        lightstatus.classList.add("lights-partial-on")
                    }
                }
            }
            ;
            lightsallLabel.appendChild(lightstatus);
    		wrapper.appendChild(buttonlight[i]);  //CUSTOM                
            row.appendChild(lightsallLabel);
            table.appendChild(row);
        }
        wrapper.appendChild(table);
       										//CUSTOM
        		$(buttonlight[i]).on("click", function(){
					if(buttonlightstatus[i]){
					alert('its work');
					putJSON(t"http://" + this.config.bridgeip + "/api/" + this.config.userid + "/lights/" + buttonlightstatus[i] +"/state , ({'on':false});					
						buttonlightstatus[i] = false;
					}else{
					putJSON(t"http://" + this.config.bridgeip + "/api/" + this.config.userid + "/lights/" + buttonlightstatus[i] +"/state , ({'on':true});	
					buttonlightstatus[i] = true;
						}
					});
        
    } else {
        wrapper.innerHTML = "No Data returned";
    }
    return wrapper;
},
createLabelRow: function () {
    
    var labelRow = document.createElement("tr");
    var roomiconlabel = document.createElement("th");
    var typeIcon = document.createElement("room");
    typeIcon.classList.add("fa", "fa-home");
    roomiconlabel.appendChild(typeIcon);
    labelRow.appendChild(roomiconlabel);
    var lightsonlabel = document.createElement("th");
    lightsonlabel.classList.add("centered");
    var typeIcon = document.createElement("lightson");
    //typeIcon.classList.add("fa", "fa-lightbulb-o");
    typeIcon.innerHTML = "Lights On";
    lightsonlabel.appendChild(typeIcon);
    labelRow.appendChild(lightsonlabel);
    var lightsonlabel = document.createElement("th");
    lightsonlabel.classList.add("centered");
    return labelRow;
}
,
getData: function () {
    $.getJSON(this.url, (data) => {
        this.result = data;
        this.updateDom();
    });
},
});
my brigde is in Amsterdam and im in Belgium for Christmas :-)