Read the statement by Michael Teeuw here.
MMM-Hue
-
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 :-)
-
Would it be possible to display the wake up and sleep times of the bulbs/groups? Is that supported by the api?
I use my hue lights to wake me up in the morning. Some days I need to wake up at 5am others 6am. I find myself forgetting to change the wake up time in the app. If I could display the wake up time on my MM2, I would remember to change the wake up time which would be perfect. -
@Mitchfarino : I did a pull-request for Indonesian translation and showLabel option to your MMM-Hue module.
-
hi!
show only when on does not work for me… any tip? thanks!
-
Would it be possible to have the icons match the color of the lights and/or display an icon for each light in the room?
-
Can anyone assist me in configuring the module correctly?
I have it set up, but having trouble filtering out more than one group via hideGroupsWithString
Currently, I have
hideGroupsWithString: "Custom group for $lights"
and that works, but I’m not sure how to add more groups to the string correctly.I know this is an old thread, but any help would be appreciated.
Thanks
-
Hi just installing this module and have set all id and ip correct and the only thing i have changed is made it bottom_left in the css file but i have nothing showing up when i load.
what am i doing wrong ?
-
@sirdizzle said in MMM-Hue:
Can anyone assist me in configuring the module correctly?
I have it set up, but having trouble filtering out more than one group via hideGroupsWithString
Currently, I have
hideGroupsWithString: "Custom group for $lights"
and that works, but I’m not sure how to add more groups to the string correctly.I know this is an old thread, but any help would be appreciated.
Thanks
Same question here.
I want to hide my dimmer and hgrp.
Thanks for help
-
i ended up getting the Hue Module to work as preset config options. if i turn on the lights there is a long delay in showing on the Magic Mirror, but it does show after a while in our bedroom group. i have 6 bulbs in our bedroom group so if i change the Hue config file from groups to lights and restart the MM all the lights and names show up with an “x” and its impossible to get the MM to show the lights are ON … any help > as i want to add several bulbs arond the house NOT on a schedule and at a glance see where things are…
-
Hello there,
I am experiencing issues with getting MMM-hue to show on the screen.
I have successfully created a hue bridge user id, so maybe my config is wrong?{ module: 'MMM-Hue', position: 'top_right', config:{ bridgeip: "192.168.xxx.xxx", userid: "MY-ID-OF-HUE-BRIDGE", colour: false } },
Can anyone help?
Thanks,