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 :-)