# Homeydash.com, a Homey dashboard

**URL:** <https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509>\
**Category:** Apps\
**Tags:** app, dashboard\
**Created:** [May 22, 2019, 3:39pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509 "2019-05-22T15:39:28Z")\
**Posts on this page:** 20\
**Page:** 32

<div class="post-metadata">

**Author:** ![matrover](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/matrover/32/12112_2.png) [@matrover](https://community.homey.app/u/matrover)\
**Post date:** [October 8, 2019, 4:54pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/641 "2019-10-08T16:54:23Z")

</div>

Try the kiosk pro lite app

---

<div class="post-metadata">

**Author:** ![PetervdK](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/petervdk/32/20669_2.png) [@PetervdK](https://community.homey.app/u/PetervdK)\
**Post date:** [October 8, 2019, 5:08pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/642 "2019-10-08T17:08:11Z")

</div>

If you are really referring to the homeydash app from the app store, then yes, indeed, that doesn’t work anymore.  
If that is the case, try to read the first post of this topic and the other Homey.ink topic. That should make some things very clear for you.

---

<div class="post-metadata">

**Author:** ![Tommy\_Langengen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/tommy_langengen/32/16098_2.png) [@Tommy\_Langengen](https://community.homey.app/u/Tommy_Langengen)\
**Post date:** [October 9, 2019, 9:02pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/643 "2019-10-09T21:02:54Z")

</div>

![20191008_091802](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/2/d235c2c0b11d3e9a45b27d489e6c4e51f88d21cb.jpeg)

Samsung db10d-t running web widget from Magic Info Express. Touch works fine. Can control my somfy blinds.

---

<div class="post-metadata">

**Author:** ![Kalle\_Kronbeck](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kalle_kronbeck/32/13158_2.png) [@Kalle\_Kronbeck](https://community.homey.app/u/Kalle_Kronbeck)\
**Post date:** [October 10, 2019, 1:41pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/644 "2019-10-10T13:41:36Z")

</div>

Really good work !!  
I just have onething missing and thats a forecast.  
Can it be done in the future? Example from here  
[https://hjelp.yr.no/hc/en-us/sections/360000421433-Free-weather-data](https://hjelp.yr.no/hc/en-us/sections/360000421433-Free-weather-data)

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [October 14, 2019, 7:24pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/645 "2019-10-14T19:24:34Z")

</div>

Hello, one question to the developers 🙂

I added some special code to the device tile for device class “thermostat”.  
I have some Eurotronic Spirit thermostats. For these you can switch the mode in Homey app (a picker with some values, e.g. “Off” or “Heat”).  
I added the click-event-listener for this tiles. This function toggles the tile on/off like normal switches.  
In addition I added the setting of the device capability (switch the mode between Off and Heat in Homey).  
homey.devices.setCapabilityValue({  
deviceId: device.id,  
capabilityId: ‘eurotronic\_mode\_spirit’,  
value: ‘Off’,  
})  
All that is working well. But If I switch the mode in Homey app (or in Dashboard on another device), the tile is not switching its state (white/gray).

So my question: How is the event handling of device changes implemented in the dashboard?  
I did not find something like registerCapabilityListener.  
It would be great if someone could give me a hint or code sniplet to update the tile state on device changes in Homey 😇  
Thanks!

---

<div class="post-metadata">

**Author:** ![DaneedeKruyff](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/daneedekruyff/32/964_2.png) [@DaneedeKruyff](https://community.homey.app/u/DaneedeKruyff)\
**Post date:** [October 14, 2019, 7:52pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/646 "2019-10-14T19:52:43Z")

</div>

You’ll have to find out which capability it uses and then use a device.makeCapabilityInstance on it like how its done here: [https://github.com/daneedk/homeydash.com/blob/2f22e93271317de25943d17107f8cbde09d4979a/app/js/homeydash.app.js#L378](https://github.com/daneedk/homeydash.com/blob/2f22e93271317de25943d17107f8cbde09d4979a/app/js/homeydash.app.js#L378)

Also, add your device capability to this function so it will show the correct state when [homeydash.com](http://homeydash.com) is openend: [https://github.com/daneedk/homeydash.com/blob/2f22e93271317de25943d17107f8cbde09d4979a/app/js/homeydash.app.js#L1089](https://github.com/daneedk/homeydash.com/blob/2f22e93271317de25943d17107f8cbde09d4979a/app/js/homeydash.app.js#L1089)

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [October 14, 2019, 8:02pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/647 "2019-10-14T20:02:44Z")

</div>

> [@DaneedeKruyff](#):
>
> device.makeCapabilityInstance

Thank you for the examples.  
I missed the device.makeCapabilityInstance. I’ll try it…

The second step I did (I think). I extended this method to add the special thermostat values to the tile.

 ![Eurotronic](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/3/9/394a30bc8c44f08d0dfd1b5c069dc1aedc62bd6e.jpeg)

If you are extending the dashboard for other devices and you need some information about eurotronic spirit devices, just write…I’ll try to help.

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [October 15, 2019, 3:28pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/648 "2019-10-15T15:28:30Z")

</div>

Hello again,

thanks Danee, it’s working now.  
I’ve also seen that I had to give the value elements the id (value+device+capability) to get an auto updated value using your renderValues() method.

I just insert the thermostate code here, so can take some parts if you need it.  
There is a small extention for the coloring of values. The value itself is changed by renderValues(), the color is changed inside the additional makeCapabilityInstance codes - inserted here to pevent changing the code on more lines than necessary.

```
	if(device.class == 'thermostat'){
		// Temperatur anzeigen
		if ( device.capabilitiesObj && device.capabilitiesObj.measure_temperature 
				&& device.capabilitiesObj && device.capabilitiesObj.target_temperature ){
			var $tempM = document.createElement('div');
			$tempM.classList.add('tempMeasure');
			$tempM.id = 'value:'+device.id + ":measure_temperature";
			//var $tempS = document.createElement('div');
			//$tempS.classList.add('tempState');

			var integer = Math.floor(device.capabilitiesObj.measure_temperature.value)
			n = Math.abs(device.capabilitiesObj.measure_temperature.value)
			var decimal = Math.round((n - Math.floor(n))*10)/10 + "-"
			var decimal = decimal.substring(2,3)
			$tempM.innerHTML = integer + "<span id='decimal'>"+decimal+"°</span><br/>"
		
			if (device.capabilitiesObj.measure_temperature.value <= device.capabilitiesObj.target_temperature.value) {
				$tempM.style.color = 'red';
				//$tempS.innerHTML = 'heating';
				//$tempS.style.color = 'red';
			  }
			  else {
				$tempM.style.color = 'blue';
				//$tempS.innerHTML = 'off';
				//$tempS.style.color = 'blue';
			  }

			var $tempT = document.createElement('div');
			
			$tempT.classList.add('tempTarget');
			$tempT.id = 'value:'+device.id + ":target_temperature";
			
			var integer = Math.floor(device.capabilitiesObj.target_temperature.value)
			n = Math.abs(device.capabilitiesObj.target_temperature.value)
			var decimal = Math.round((n - Math.floor(n))*10)/10 + "-"
			var decimal = decimal.substring(2,3)
			$tempT.innerHTML = integer + "<span id='decimal'>"+decimal+"°</span><br/>"
			
			$deviceElement.appendChild($tempM);
			$deviceElement.appendChild($tempT);
			//$deviceElement.appendChild($tempS);
			
			//eventhandler for temperature change
			//MeasureTemperature hast to be processed special because of coloring the value 
			//depending on measure/target values
			device.makeCapabilityInstance('measure_temperature', function(value){
				var $deviceElement = document.getElementById('device:' + device.id);
				if( $deviceElement ) {
					var $valueElement = document.getElementById('value:' + device.id + ":measure_temperature");
					if (device.capabilitiesObj.measure_temperature.value <= device.capabilitiesObj.target_temperature.value) {
						$valueElement.style.color = 'red';
					}
					else {
						$valueElement.style.color = 'blue';
					}
				}
			});
			device.makeCapabilityInstance('target_temperature', function(value){
				var $deviceElement = document.getElementById('device:' + device.id);
				if( $deviceElement ) {
					var $valueElement = document.getElementById('value:' + device.id + ":measure_temperature");
					if (device.capabilitiesObj.measure_temperature.value <= device.capabilitiesObj.target_temperature.value) {
						$valueElement.style.color = 'red';
					}
					else {
						$valueElement.style.color = 'blue';
					}
				}
			});
			
		}
		
		//var $mode = document.createElement('div');
		//$mode.classList.add('thermostatMode');
		if ( device.capabilitiesObj.eurotronic_mode_spirit ){
			if ( device.capabilitiesObj.eurotronic_mode_spirit.value == "Off" ){
				//$mode.innerHTML = "Off";
				//$mode.style.color = 'red';
				$deviceElement.classList.toggle('on', false);
				
			}
			else{
				//$mode.innerHTML = "On";
				//$mode.style.color = 'green';
				$deviceElement.classList.toggle('on', true);
			}
			//$deviceElement.appendChild($mode);

			//Click-Event for Icon for changing thermostate mode on touch/click
			$deviceElement.addEventListener('click', function() {
				if ( nameChange ) { return } // No click when shown capability just changed
				if ( longtouch ) {return} // No click when longtouch was performed
				if ( device.capabilitiesObj.eurotronic_mode_spirit.value == "Off" ){
					//$deviceElement.classList.toggle('on', true);
					homey.devices.setCapabilityValue({
						deviceId: device.id,
						capabilityId: 'eurotronic_mode_spirit',
						value: 'Heat',
					}).catch(console.error);
				}
				else{
					//$deviceElement.classList.toggle('on', false);
					homey.devices.setCapabilityValue({
						deviceId: device.id,
						capabilityId: 'eurotronic_mode_spirit',
						value: 'Off',
					}).catch(console.error);
				}
			});
			//register eventhandler for mode change
			device.makeCapabilityInstance('eurotronic_mode_spirit', function(value){
				var $deviceElement = document.getElementById('device:' + device.id);
				if( $deviceElement ) {
					if ( device.capabilitiesObj.eurotronic_mode_spirit.value == "Off" ){
						$deviceElement.classList.toggle('on', false);
					}
					else{
						$deviceElement.classList.toggle('on', true);
					}
				}
			});
			
			}
	}
```

---

<div class="post-metadata">

**Author:** ![Mitch\_P](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mitch_p/32/10285_2.png) [@Mitch\_P](https://community.homey.app/u/Mitch_P)\
**Post date:** [October 16, 2019, 1:27pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/649 "2019-10-16T13:27:12Z")

</div>

(How) can you make groups on the Homeydash? I searched and read this post post I probably overlooked it somehow 😕. Thanks for helping me!

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [October 16, 2019, 6:48pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/650 "2019-10-16T18:48:29Z")

</div>

Hello Mitch,  
you mean the panels for different device types like thermostats like shown in my screenshot above? For users of [homeydash.com](http://homeydash.com) it’s not possible.  
It’s only possible on a self hosted version (own webserver or NAS) after modifying the html and javascript code.  
If you have a selfhosted version, I can show you the code you have to adapt.  
Ronny

---

<div class="post-metadata">

**Author:** ![Mitch\_P](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/mitch_p/32/10285_2.png) [@Mitch\_P](https://community.homey.app/u/Mitch_P)\
**Post date:** [October 17, 2019, 6:55am UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/651 "2019-10-17T06:55:08Z")

</div>

Hi Ronny, I indeed reffered to your screenshot 🙂 . Unfortunately I’m not that IT-technical and I also don’t have a selfhosted version 😕 . Thanks though!

---

<div class="post-metadata">

**Author:** ![Kalle\_Kronbeck](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kalle_kronbeck/32/13158_2.png) [@Kalle\_Kronbeck](https://community.homey.app/u/Kalle_Kronbeck)\
**Post date:** [October 18, 2019, 9:45am UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/652 "2019-10-18T09:45:31Z")

</div>

Any news about adding a Iframe / link or something for Weather Forecast ?

---

<div class="post-metadata">

**Author:** ![DaneedeKruyff](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/daneedekruyff/32/964_2.png) [@DaneedeKruyff](https://community.homey.app/u/DaneedeKruyff)\
**Post date:** [October 18, 2019, 10:11am UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/653 "2019-10-18T10:11:19Z")

</div>

As said before, I will not extend [homeydash.com](http://homeydash.com) beyond Homey’s built-in capabilities.

---

<div class="post-metadata">

**Author:** ![Satoer](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/satoer/32/38113_2.png) [@Satoer](https://community.homey.app/u/Satoer)\
**Post date:** [October 18, 2019, 10:54am UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/654 "2019-10-18T10:54:56Z")

</div>

Why not do it the other way around, and implement HomeyDash inside a iframe in a custom website containing a weather forecast.

---

<div class="post-metadata">

**Author:** ![Kalle\_Kronbeck](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kalle_kronbeck/32/13158_2.png) [@Kalle\_Kronbeck](https://community.homey.app/u/Kalle_Kronbeck)\
**Post date:** [October 18, 2019, 11:35am UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/655 "2019-10-18T11:35:18Z")

</div>

Maybe in Node-Red dashboard 🙂

---

<div class="post-metadata">

**Author:** ![Jan\_Willem\_Visser](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jan_willem_visser/32/10747_2.png) [@Jan\_Willem\_Visser](https://community.homey.app/u/Jan_Willem_Visser)\
**Post date:** [October 18, 2019, 8:36pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/656 "2019-10-18T20:36:36Z")

</div>

Is it possible to hide alarm clocks without remove them in Homey? I use two alarms whit names that i use in flows so i don’t want to remove them in Homey, but i don’t whanna see them on the dashboard. I hope there are possibilities

---

<div class="post-metadata">

**Author:** ![DiscoveryTD5](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/discoverytd5/32/8453_2.png) [@DiscoveryTD5](https://community.homey.app/u/DiscoveryTD5)\
**Post date:** [October 18, 2019, 8:43pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/657 "2019-10-18T20:43:37Z")

</div>

U can create an extra user. Just for the dashboard. And only show the things and flows you want.

---

<div class="post-metadata">

**Author:** ![Jan\_Willem\_Visser](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jan_willem_visser/32/10747_2.png) [@Jan\_Willem\_Visser](https://community.homey.app/u/Jan_Willem_Visser)\
**Post date:** [October 18, 2019, 9:26pm UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/658 "2019-10-18T21:26:26Z")

</div>

Thanks for your reply. I gonna try that

---

<div class="post-metadata">

**Author:** ![Erik\_de\_Vries](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/erik_de_vries/32/4138_2.png) [@Erik\_de\_Vries](https://community.homey.app/u/Erik_de_Vries)\
**Post date:** [October 19, 2019, 8:21am UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/659 "2019-10-19T08:21:13Z")

</div>

why is the token expireing all the time?

[homeydash.com](http://homeydash.com)  
Token Expired. Please log-in again.

I have 4 devices i use this on but after some time i get this message on all of them and i need to generate a new token and replace all shortcuts to it…

---

<div class="post-metadata">

**Author:** ![DaneedeKruyff](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/daneedekruyff/32/964_2.png) [@DaneedeKruyff](https://community.homey.app/u/DaneedeKruyff)\
**Post date:** [October 19, 2019, 9:13am UTC](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509/660 "2019-10-19T09:13:26Z")

</div>

Athom has stated the token only changes/expires when the password of the account is changed, if you didn’t do that please contact Athom.

[Previous page](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509.md?page=31)

[Next page](https://community.homey.app/t/homeydash-com-a-homey-dashboard/13509.md?page=33)
