[APP][Pro] Dashboards

That’s just native ChartJS functionality :wink:

1 Like

Hi Marcus,
Is it possible to round insights values to, like, 3 or 4 digits?

1 Like

Nice work! Really good progress!

I also have an little feature request: could you make the ‘Add insight’ look like a button?
I was searching how it should would and it didn’t appear to me to click a header looking text :wink:

2 Likes

Awesome app, one of the most promising I have seen in quite a while! :+1:

I just started playing with it a bit and have quick suggestions/requests:

  • The red alert notification icon looks a lot like an error, maybe orange would be more appropriate?
  • Camera Image: would be great to be able to refresh once (click on it/context menu?)
  • Insights: would be great if we could change the time range of one graph interactively (click on it/context menu?)
  • Editing dashboard: I agree the “Select Device” and “Add insight” options would be more intuitive if it looked like a button instead of plain text
  • For motion alarms: would it be possible to have an option to show “Last active” (x minutes ago)
2 Likes

Update 0.8.0 - Thermostat view + Insight 24h time format

Hi all

I’ve just released another update. In order to try to rectify larger UI controls in widgets, slider controls are no longer displayed for all settable number capability types. Instead I’ve made a separate slider and thermostat views that opens when you press that capability. This is closer to how the native Homey App already does it.

image

The thermostat_mode displayed in the middle of the view, is not how native Homey does it, but I felt it made sense to include it. It’s only displayed if your device supports it.

Just as with native Homey, the background changes in accordance with the thermostat mode.

image image image

Selecting a slider capability, dim, windowcoverings_set, volume_set or other capabilities, a basic slider is presented similar to thermostat.

image

Basic sensor capabilities are displayed with time since last change. Though, it seems this is somewhat buggy, and might display something completely wrong. Will look into that :wink:

image

Insights now have a default time format of 24-hours, instead of AM/PM. In the future this will be selected based on user locale. But for now, it seems most users are in the EU. And me personally never remember what time it is when I see AM or PM :sweat_smile:
Insight values are now also rounded based on what the insight specifies as number of decimals. Please verify this @Peter_Kawa

image

I’ve also adjusted the buttons for selecting devices, capabilities, flows or insights, so they now look more like buttons :wink:

And as always , keep up with all the suggestions and feedback!
I’m taking notes :muscle:

8 Likes

Wow, not just one item on the list updated, it’s a whole list :hushed:
Really impressive!

@skogsaas Hi, since the update of last night, opening the dashboard on my iphone and laptop only shows a blank page. I use Homey 2019 and 4 dashboards defined as devices on my homy. Any idea how I can fix this?

Press F12 on your laptop to open the developer tools. Refresh the page, and see what errors you get in the “Console” tab :thinking:

Hi Marcus.

Great work, looks very promising. But it appears you somehow crashed the whole tray of eggs.

All kind of funny things going on, but in general it appears every dashboard is either empty or non responding. Any dashboard with a capability that has anything with temperature breaks the system.

I can add a local dashboard, and add lamps, with all capabilities, but as soon as I add a device, and add a temperature capability, the system breaks.

Tell us what exactly you want us to test, so get more specific feedback.

Action was, on a functioning Local Dashboard, with the airco unit added. Add the ‘set temperature’ capability.

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘value’)
at onThermostatMode (3.ff39e8fc.js:18510:12)
at $$self.$$.update (3.ff39e8fc.js:18576:7)
at init (index.036fb736.js:494:6)
at new Thermostat (3.ff39e8fc.js:18603:5)
at construct_svelte_component (scheduler.c054974b.js:653:10)
at create_if_block_3$q (3.ff39e8fc.js:19029:23)
at create_each_block$e (3.ff39e8fc.js:19158:27)
at Object.p (3.ff39e8fc.js:18892:31)
at Object.p (3.ff39e8fc.js:19801:45)
at update (scheduler.c054974b.js:774:32)
onThermostatMode @ 3.ff39e8fc.js:18510
$$self.$$.update @ 3.ff39e8fc.js:18576
init @ index.036fb736.js:494
Thermostat @ 3.ff39e8fc.js:18603
construct_svelte_component @ scheduler.c054974b.js:653
create_if_block_3$q @ 3.ff39e8fc.js:19029
create_each_block$e @ 3.ff39e8fc.js:19158
p @ 3.ff39e8fc.js:18892
p @ 3.ff39e8fc.js:19801
update @ scheduler.c054974b.js:774
flush @ scheduler.c054974b.js:740
Promise.then (async)
schedule_update @ scheduler.c054974b.js:714
make_dirty @ index.036fb736.js:453
(anonymous) @ index.036fb736.js:490
capabilitypicker_capabilityId_binding @ 3.ff39e8fc.js:7667
capabilitypicker_capabilityId_binding @ 3.ff39e8fc.js:6616
(anonymous) @ index.036fb736.js:488
onCapability @ 3.ff39e8fc.js:6533
click_handler_1 @ 3.ff39e8fc.js:6542
click_handler_1 @ 3.ff39e8fc.js:6046

Opening my ‘Living room’ (non local) dashboard:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘value’)
at onThermostatMode (3.ff39e8fc.js:18510:12)
at $$self.$$.update (3.ff39e8fc.js:18576:7)
at init (index.036fb736.js:494:6)
at new Thermostat (3.ff39e8fc.js:18603:5)
at construct_svelte_component (scheduler.c054974b.js:653:10)
at create_if_block_3$q (3.ff39e8fc.js:19029:23)
at create_each_block$e (3.ff39e8fc.js:19158:27)
at Array.create_else_block$u (3.ff39e8fc.js:18851:23)
at create_fragment$2O (3.ff39e8fc.js:19741:96)
at init (index.036fb736.js:497:35)
onThermostatMode @ 3.ff39e8fc.js:18510
$$self.$$.update @ 3.ff39e8fc.js:18576
init @ index.036fb736.js:494
Thermostat @ 3.ff39e8fc.js:18603
construct_svelte_component @ scheduler.c054974b.js:653
create_if_block_3$q @ 3.ff39e8fc.js:19029
create_each_block$e @ 3.ff39e8fc.js:19158
create_else_block$u @ 3.ff39e8fc.js:18851
create_fragment$2O @ 3.ff39e8fc.js:19741
init @ index.036fb736.js:497
CapabilityWidget @ 3.ff39e8fc.js:19966
construct_svelte_component @ scheduler.c054974b.js:653
create_default_slot_3 @ 3.ff39e8fc.js:115978
create_slot @ scheduler.c054974b.js:66
create_default_slot$1 @ 3.ff39e8fc.js:115158
create_slot @ scheduler.c054974b.js:66
create_fragment$a @ index.7a46b533.js:145
init @ index.036fb736.js:497
Card @ index.7a46b533.js:614
create_fragment$1 @ 3.ff39e8fc.js:115263
init @ index.036fb736.js:497
WidgetContainer @ 3.ff39e8fc.js:115359
create_default_slot_2 @ 3.ff39e8fc.js:116089
create_slot @ scheduler.c054974b.js:66
create_if_block_1$1 @ 3.ff39e8fc.js:113907
create_default_slot$2 @ 3.ff39e8fc.js:113979
create_slot @ scheduler.c054974b.js:66
create_fragment$3 @ 3.ff39e8fc.js:113215
init @ index.036fb736.js:497
MoveResize @ 3.ff39e8fc.js:113749
create_each_block$1 @ 3.ff39e8fc.js:114049
create_if_block$2 @ 3.ff39e8fc.js:113840
p @ 3.ff39e8fc.js:114455
update @ scheduler.c054974b.js:774
flush @ scheduler.c054974b.js:740
Promise.then (async)
schedule_update @ scheduler.c054974b.js:714
make_dirty @ index.036fb736.js:453
(anonymous) @ index.036fb736.js:490
(anonymous) @ 3.ff39e8fc.js:114539
requestAnimationFrame (async)
(anonymous) @ 3.ff39e8fc.js:114535
13scheduler.c054974b.js:271 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘parentNode’)
at detach (scheduler.c054974b.js:271:12)
at Object.d (3.ff39e8fc.js:18814:9)
at update (index.7a46b533.js:32:20)
at index.7a46b533.js:51:9

@skogsaas Great to see such a fast update!

To nitpick a bit: would it be possible to change the alert icon to the Homey default icon:

image

And as you already mentioned yourself: the “Last Updated” is indeed a bit buggy, I get a lot in the future. I guess some validation may be required (and hide if it does not make sense). :slight_smile:
image

Would it be possible to show this “Last Updated” (optionally) on the icon togetehr with the selected capabilities, so we can see it at a glance rather than having to click on the device?

BTW: Also wondering if it might be useful in general to add OnMouseOver (hover over device/image/graph) functionality to the app to show additional context specific info, instead of having to click on it.

Hi Marcus.

I did some further testing.
All devices that have a set temperature capability break the dashboard it is on.

I think you stumbled on a problem the developer of the app Insight Trends Reloaded had to solve with an extra setting. Last value in Insights sometimes is “null” and cause the graphs to have bad scaling. See my example and see also the extra setting in Insight Trends Reloaded. I have not seen this behaviour in earlier versions. No Aggregations activated.


Yeah, I don’t have enough different devices on my test dashboard. I don’t have any thermostats without mode, so I don’t experience this issue :thinking:

Based on the stack trace, I know exactly where the issue is. But I have to wait until after lunch to fix it. That’s how life is with two toddlers :sweat_smile:

3 Likes

Unfortunatly everything got less responsive. Created new local dashboard. Created new capabilities Light, Switch and Temperature. Icons visible but not ruler, switch or data. Insights show graphs’. Tried to delete the new dashboard, nothing happens when clicking on Delete. Nothing happens when clicking on upper left corner “three lines”.
Reload of browser, no difference.
Close browser and reopen.
Start over but same behavour and opening other local dashboard does not load all information. Some of the already created capabilities show information but not all.
Then tested the “app”-dashboard with the same problems.
Tested on both computer and mobile.

I hope you don’t get demotivated by all the problems here.
When signing in on a new device it takes a couple of browser refreshes before the Homey installed dashboard is visible.

1 Like

I agree. It’s a never ending story to respond to every wish. Sometimes simple is beauty!

Update 0.8.1

I’ve pushed some bug-fixes:

  • The thermostat mode should no longer crash the dashboard.
  • Insight now removes all null values
  • Capability “last updated” should now display the correct value, and not 200 years in the future (we’re Back From The Future! :racing_car: )
7 Likes

Just to verify… Do camera images on a dashboard only auto-refresh when a dashboard is active in a browser? So no background load when nobody is actually viewing the dashboard?

Maybe a bug: I set camera image to refresh in 5s. On the dashboard it does refresh properly, but when clicking on the image it keeps showing an older snapshot?