Home Panel - A web frontend for controlling the home

Currently looking at it.
This wouldn’t be me preferred option as I need to configure two ui’s but let’s see :slight_smile:

@timmo001is working on v2 so not dead yet.

Is there already a preview of changes / additions for version 2?

Happy to beta test

Ipad ios 9 does not work also for me.
Did anyone manage to find a solution?
It’s very unfortunate to not to be able to use ios 9 ipads at all:(

Home Panel v2.0.0 :tada:


GitLab CI

Please read before upgrading!!

Lets start with a TLDR: The whole app has been rewritten. You will lose all your data.

Why? Well… Let’s just say I’ve been busy. Just under 200 commits. (That’s not even counting the rewrite of the app and the API)

Behind the Scenes :shipit:

I started with looking at how the home-assistant-polymer project works.They have been making a huge effort to convert all their code to Typescript. Using Typescript (along with tslint) instead of just sticking to JavaScript helps with making sure the code is much more tight, modern and stable. I started by rewriting the app itself, experimenting with a bunch of different designs and frameworks. Sticking to using Material UI as the base for theming and components, I quickly realised the old way of storing cards, groups etc. in a very deep tree in JSON was a bad idea. So I decided to start from scratch.

App :art:

I started with adding in the core framework, which ended up changing multiple times as I decided what I liked. There were a few attempts at using a different grid system, but none suited the app’s needs. So I decided to stick to the old way and to keep that the same(ish).

There are new and old types of cards in the new frontend. Home Assistant entities, iframes, images and markdown. More to come. (Feel free to suggest new ones)

You should now log into Home Assistant via the button in the sidebar which has also been reworked. (No more getting stuck in a loop when you type the wrong url :tada:)

image

The configuration of the app has been split into different screens. You can still edit pages, groups and cards directly from the front page but everything else such as theming, date formatting and other customisations have been moved to their own section of the app which can be accessed via the sidebar.

API :computer:

The backend was going to stay the same for now. However the amazing people at feathersjs released a new major version which also supports Typescript. So I decided to rewrite that too. However, this time was a lot easier. The folks at feathersjs have a CLI which allows you to generate an API in a matter of seconds. It even handles authentication, databases and any other setup for you. So there was very little needed to change in actual code in this one.

For hass.io add-on users :house_with_garden:

There was a lot that had to change in this app to support ingress. The way that the app originally worked was to use routing (the url decides what section you want) but this causes issues with ingress. So I moved the setup of the app to use single page and a single url, but instead use states. Socket.io was also a bit of a pain to get working, since it defaults to the root of the url you are on.

Final Rambles

There will be a couple of bugs to find and fix, but I’m now at the point that I’m happy to release the app. Be aware that this app is currently a one man operation (contributors welcome!) and any changes will take time. I work on a few different oss projects in my spare time but this has been my pet project for a while now. All being said, I hope you are happy with this release and as always feel free to post your thoughts on the forum.

Please post any bugs or feature requests to this repository as always:

Changes

  • c9dc58b :arrow_up: Update dependency feathers-swagger to v1.1.0 (#307)
  • 81382a2 :arrow_up: Update dependency react-router-dom to v5.0.1 (#309)
  • 54f2221 :arrow_up: Update Node.js to v10.16.0 (#306)
  • bf9a388 :arrow_up: Update dependency superagent to v5.0.6 (#311)
  • 5feb90f :arrow_up: Bump js-yaml from 3.13.0 to 3.13.1 in /api (#310)
  • cf8296e :arrow_up: Update dependency nodemon to v1.19.1 (#301)
  • a11b491 :arrow_up: Update mui monorepo (#304)
  • 4774342 :arrow_up: Update dependency react-select to v3 (#303)
  • 82d1661 :arrow_up: Update mui monorepo to v4.1.0 (#313)
  • c387b54 :fire: :sparkles: Complete rewrite (#308)
  • d63be21 :arrow_up: Update Node.js to v12.6.0 (#325)
  • 724a9fc :arrow_up: Update dependency @types/classnames to v2.2.9 (#326)
  • ac5236b :arrow_up: Update dependency feathers-nedb to v5 (#324)
  • 4677b5d fix: .snyk & package.json to reduce vulnerabilities (#327)
  • ce43308 :pushpin: Pin dependency snyk to 1.192.3 (#328)
  • 0c3f1b8 [Snyk] Fix for 1 vulnerable dependencies (#330)
  • a0d15f2 :arrow_up: Update mui monorepo (#322)
  • d14c6dd :arrow_up: Update dependency @types/markdown-it to v0.0.8 (#329)
  • 8312e46 :arrow_up: Update dependency @mdi/font to v3.7.95 (#320)
  • 0bfeb66 :arrow_up: Update dependency superagent to v5.1.0 (#315)
  • 4475dd6 :hammer: Remove stage for yarn install
  • e5e4d33 :ambulance: Add missing typescript dependency
  • 4b2a5a1 :hammer: Add missing react-html-parset
  • 6343378 :hammer: Add missing prop-types
  • 6fde443 :arrow_up: Update dependency @types/react to v16.8.23 (#332)
  • 0eaab28 :hammer: Move TODO to issue
  • ea00dc3 :hammer: Remove unused packages
  • 26aec97 :hammer: Remove broken types
  • 3a0c11f :hammer: Set default card
  • 9b6925b :hammer: Fix entity select
  • a20b109 :hammer: Fix edit view
  • 1d3b496 :hammer: Remove entites from header
  • 878e75b :hammer: Fix grid size
  • ea9fe70 :sparkles: Autohide toolbar option
  • 79add11 Edit groups (#334)
  • 76e2b45 :arrow_up: Upgrade dockerfile and add tslint
  • f0338e4 :hammer: Cleanup
  • 075ba57 :hammer: Add ko-fi link
  • 225b026 :hammer: Remove github sponsor link
  • a82fc88 Merge branch ‘master’ of github.com:timmo001/home-panel
  • 13878b9 :hammer: Update topics
  • 71b3ab4 :arrow_up: Update dependency @types/node to v12.6.0 (#336)
  • d9345ee :arrow_up: Update dependency snyk to v1.192.4 (#335)
  • 5128c1a :ambulance: Fix group delete issue
  • 2dc3c97 :arrow_up: Update dependency @types/node to v12.6.2 (#337)
  • 54ce963 :arrow_up: Update dependency typescript to v3.5.3 (#339)
  • a397650 :arrow_up: Update dependency markdown-it to v9 (#340)
  • b0d7bca :sparkles: Pages support (#338)
  • 08c02dc :arrow_up: Update dependency snyk to v1.192.5 (#341)
  • c290ad7 :hammer: Cleanup
  • 564915e :fire: Remove edge repo
  • 85a4818 :arrow_up: Update dependency snyk to v1.192.6 (#342)
  • d694c33 :arrow_up: Bump lodash from 4.17.11 to 4.17.14 in /api (#343)
  • c3f6b9d :arrow_up: Bump lodash.merge from 4.6.1 to 4.6.2 in /api (#344)
  • e6e75ca :arrow_up: Update dependency snyk to v1.193.0 (#346)
  • e3ff168 :arrow_up: Bump lodash.template from 4.4.0 to 4.5.0 (#345)
  • 470d2ab :arrow_up: Update dependency markdown-it to v9.0.1 (#348)
  • cabcaaa :arrow_up: Update dependency snyk to v1.193.1 (#347)
  • 34ca5c5 :hammer: Enable automerge for minor and patch dependency updates
  • b93b2c3 :hammer: Cleanup
  • c6b8f68 :sparkles: Remote support and fix toggle icons
  • ca0551c :hammer: Cleanup
  • 98b120a :arrow_up: Update dependency snyk to v2 (#363)
  • 217d19a :arrow_up: Update dependency home-assistant-js-websocket to v4.3.1 (#362)
  • d298f1d :arrow_up: Update dependency @types/react-dom to v16.8.5 (#361)
  • 43222bf :arrow_up: Update Node.js to v12.7.0 (#352)
  • da1dedb :arrow_up: Roll back dependency snyk to 1.199.2 (#364)
  • 12670aa :arrow_up: Update dependency eslint to v6.1.0 (#360)
  • 3e827ae :arrow_up: Update dependency helmet to v3.20.0 (#355)
  • efa98a0 :arrow_up: Update dependency @material-ui/core to v4.2.1 (#354)
  • 71dac4f :arrow_up: Update dependency feathers-nedb to v5.0.1 (#353)
  • 1080e56 :arrow_up: Update dependency @mdi/font to v3.8.95 (#350)
  • 5bf8c2b :arrow_up: Update dependency typeface-roboto to v0.0.75 (#356)
  • 2b2fedc :arrow_up: Update dependency @types/react-html-parser to v2.0.1 (#357)
  • 0cd90e0 :arrow_up: Update dependency flow-bin to v0.103.0 (#358)
  • 2a43967 :arrow_up: Update dependency mocha to v6.2.0 (#359)
  • 2b5fa21 :arrow_up: Update dependency flow-bin to v0.104.0 (#365)
  • fa34dfd :arrow_up: Update dependency snyk to v1.200.1 (#367)
  • 6c0f018 :arrow_up: Update dependency query-string to v6.8.2 (#366)
  • 997ba12 :sparkles: One port (#368)
  • bf8bf0d :arrow_up: Update dependency @material-ui/core to v4.3.0 (#369)
  • 75f6a8b :arrow_up: Update dependency snyk to v1.207.2 (#370)
  • 9ec19ff :arrow_up: Update dependency @types/react to v16.8.24 (#372)
  • bdd7ec5 :arrow_up: Update dependency @types/jest to v24.0.16 (#371)
  • 6df32ac :ambulance: Fix typo
  • a9347be :hammer: Handle hass unavaliblity on cards
  • 2b45649 :hammer: Fix not found
  • c5f38a2 :hammer: Cleanup
  • b84ed6d :hammer: Fix overflow
  • 5375fff :arrow_up: Update dependency @material-ui/core to v4.3.1 (#377)
  • d3bd58d :arrow_up: Update dependency @types/node to v12.6.9 (#376)
  • 0d804bf :arrow_up: Update dependency snyk to v1.208.0 (#375)
  • d928ce5 :arrow_up: Update Node.js to v12.8.0 (#383)
  • ad526f3 :arrow_up: Update dependency @types/jest to v24.0.17 (#380)
  • b8ed955 :arrow_up: Update dependency @types/react-select to v3.0.2 (#379)
  • a78b5cf :arrow_up: Update dependency snyk to v1.216.0 (#378)
  • ecdacba :arrow_up: Update dependency @mdi/font to v3.9.97 (#384)
  • d443526 :arrow_up: Update dependency @types/react to v16.9.1 (#385)
  • 553e04b :arrow_up: Update react monorepo to v16.9.0 (#386)
  • b0afdd3 :arrow_up: Update dependency @material-ui/core to v4.3.2 (#389)
  • 4f93c24 :arrow_up: Update dependency flow-bin to v0.105.1 (#388)
  • 137bfe0 :arrow_up: Update dependency react-scripts to v3.1.0 (#387)
  • 7ec2161 :sparkles: Support more Home Assistant Entities (#374)
  • bb58827 :arrow_up: Update dependency markdown-it to v9.1.0 (#390)
  • 048af9e :arrow_up: Update Node.js to v12.8.1 (#396)
  • 0e7008f :arrow_up: Update dependency @mdi/font to v4 (#395)
  • cf17847 :arrow_up: Update dependency react-scripts to v3.1.1 (#394)
  • a8a3757 :arrow_up: Update dependency snyk to v1.217.0 (#393)
  • 170454b :arrow_up: Update dependency flow-bin to v0.105.2 (#392)
  • 5167dbd :arrow_up: Update dependency @types/react to v16.9.2 (#397)
  • 111d6d3 :fire: One port fixes (#373)
  • 23c5e02 :arrow_up: Update Node.js to v12.9.0 (#403)
  • c036732 :arrow_up: Update dependency flow-bin to v0.106.1 (#409)
  • 612d2d2 :arrow_up: Update dependency eslint to v6.2.2 (#399)
  • c003621 :arrow_up: Update dependency snyk to v1.219.0 (#400)
  • 1794a40 :arrow_up: Update dependency @types/jest to v24.0.18 (#401)
  • a8ad318 :arrow_up: Update dependency @types/react-dom to v16.9.0 (#402)
  • 2787839 :arrow_up: Update dependency tslint to v5.19.0 (#404)
  • 401bbc2 :arrow_up: Update dependency @types/react-select to v3.0.4 (#408)
  • 2e30757 :arrow_up: Update dependency @material-ui/core to v4.3.3 (#406)
  • 6105816 :arrow_up: Update dependency @mdi/font to v4.1.95 (#405)
  • 813b2af :arrow_up: Update dependency @types/react-router-dom to v4.3.5 (#407)
  • a90a5cf :hammer: .snyk & package.json to reduce vulnerabilities (#398)
  • 9ac35cb :hammer: remove prepublish script
  • e8089a9 :art: :sparkles: Theming support (#391)
  • af0a2cd :sparkles: Page editing (#349)
  • 6b784d3 :fire: Flatten config structure to separate groups and cards (#410)
  • 333c5e6 :arrow_up: Update dockerfile
  • a4d4e0a :hammer: Cleanup login
  • 96bd275 :arrow_up: Update dockerfile
  • 45fcc46 :sparkles: Get name and icon from HA (#411)
  • 3eb8355 :house: Improved HA and Entity Support (#413)
  • 67adc54 :arrow_up: Update Node.js to v12.9.1 (#414)
  • cb01ca2 :arrow_up: Bump eslint-utils from 1.3.1 to 1.4.2 (#415)
  • 6a97765 :arrow_up: Update dependency snyk to v1.220.0 (#412)
  • 60a041c :arrow_up: Update dependency flow-bin to v0.106.2 (#416)
  • bc6e2ee :bug: Fix for 1 vulnerable dependencies (#417)
  • f77327d :arrow_up: Update dependency @mdi/font to v4.2.95 (#419)
  • 34e9c54 :arrow_up: Update dependency snyk to v1.221.0 (#426)
  • 9676427 :arrow_up: Update dependency snyk to v1.221.1 (#430)
  • e436ddd :rocket: Add prettier preflight check
  • 25a6dc3 :arrow_up: Upgrade and rewrite API to typescript (#433)
  • d243235 :pushpin: Pin dependencies (#434)
  • caeab07 :arrow_up: Update dependency snyk to v1.222.0 (#437)
  • dfb0f15 :arrow_up: Update dependency flow-bin to v0.106.3 (#435)
  • cfb21f5 :arrow_up: Update dependency @types/node to v12.7.3 (#436)
  • f4df920 :fire: Remove engines (stick to nvm)
  • edfc45b :arrow_up: Update dependency snyk to v1.222.1 (#438)
  • 4f94379 :arrow_up: Update dependency query-string to v6.8.3 (#439)
  • 391b5c2 :ambulance: Fix effect when none
  • 591c05d :ambulance: Fix unavaliable to on state
  • 91f87c9 :sparkles: Scrolling (#441)
  • 7fabda8 :hammer: Fix loading layout
  • 42e7df5 :arrow_up: Update dependency @material-ui/core to v4.4.0 (#440)
  • ea7aa93 :hammer: merge
  • bb29096 :ambulance: Fix config for current user
  • dc40ccd :hammer: Cleanup and improve login and error views
  • 1809578 :hammer: Tweak sizes
  • a5410ee :shirt: Fix error layout
  • 7c84b10 :books: v2 Docs (#442)
  • 4c9e844 :fire: Change db to new location
  • 1653c92 :art: Optimize images (#443)
  • 1cf08ed :shirt: Fix linting
  • 964b78a :shirt: Fix linting
  • bfa2c7d :shirt: Fix linting
  • 70a6916 :hammer: Update docker scripts
  • 64142df :hammer: Compile on build
  • b9a21da :hammer: Fix to use sed
  • 8d82c28 :hammer: Move socket setup into main setup
  • 57d0c79 :boat: Add missing openssl lib
  • f75b424 :hammer: More logging and cleanup
  • 755b75f :hammer: Test
  • 6a57ec7 :hammer: Test
  • 4e2b04a :hammer: Test 3
  • d09140f :hammer: Allow debugs
  • 2bba111 :hammer: Enable test
  • 46bcd88 :hammer: Remove / on redirect
  • 3893b44 :hammer: Test
  • d2a77db :shirt: Remove unused definition
  • 6f45eda :hammer: Something
  • fa8cb1c :hammer: Non exact paths
  • ea709c8 :hammer: Non exact paths 2
  • cde47db :arrow_up: Update dependency snyk to v1.223.0 (#445)
  • e9f9ee5 :arrow_up: Update dependency nodemon to v1.19.2 (#446)
  • e6d0579 :arrow_up: Update Node.js to v12.10.0 (#447)
  • f9946c8 :fire: Replace routes (#453)
  • b4b8191 :arrow_up: Updates
  • b98f71a :arrow_up: Update dependency snyk to v1.226.2
  • ddeca57 :arrow_up: Update dependency typescript to v3.6.3
  • e05a437 :arrow_up: Update dependency @material-ui/core to v4.4.2
  • 38aca04 :arrow_up: Update dependency @types/node to v12.7.5 (#469)
  • 6584173 :arrow_up: Update dependency ts-jest to v24.1.0
  • ffb8ced :arrow_up: Update dependency home-assistant-js-websocket to v4.4.0 (#468)
  • 58b8088 :arrow_up: Update dependency markdown-it to v10 (#467)
  • 6c8e4ee :arrow_up: update openssl
  • 06d47f3 Merge branch ‘master’ of github.com:timmo001/home-panel
  • b17e4c4 :ambulance: Fix drawer to use state instead of location
  • 4227400 paths and urls
  • 832a797 :hammer: Remove temporary logs

Full Changelog

2 Likes

Great update. Persistent storage for docker?

Thanks. There’s actually a fix for that we found in the hassio add-on. I’ll push a patch asap. Long story short, it should be pointing the database to /data

Update: Releasing now

1 Like

That’s all working now :+1:t3:.

Couple of visual issues I’ve found so far:


Date and time cut off at the top on mobile.

Also when editing a theme when you delete entries they re-populate again with the same name, they can’t be deleted. I have a video of it in action but i can’t upload here.

Added the issues to GitHub.

UPDATE: also added a potential major bug where the configuration editor fails to show after editing theme.

Hi!. First of all, your jor is great!!
I have a problem, I updated to the last version, I have a small 7" tablet, and the interface I had before the upgrade doesn´t fit in the new version. Can I scale it? is there a way to do a zoom?

Other Thing, the date text is so much big and uses a lot of my screen. Can I change its size?

Thanks a lot!!

Hi - I feel stupid asking as i had this working fine yesterday, but whats the port i need to access HP on another device? I was using :8234 yesterday, just had to scrap my HA install so downloaded fresh. I can only access it via Home Assistant side bar, but then i have the left bar taking up space.

So you are able to access via ingress, but not directly? If you head into the network section of the add-on you can add 8234 there to access normally

image

Ok, i guess i would need to use 8234 instead since HA is already using 8123? The other thing is i dont seem to be able to get the light entities to pop up the colour wheel. Just using a long press normally bought that up

This is now only shown on larger cards, so if you increase the size, the color picker will show.

(There is an open feature request to improve upon this)

Ahh ok yeah i found it now. Ok good to know, the old way with a pop up on long press was quite nice i thought for whats its worth.

Thanks!

Is there a way to rename the pages? I was looking for the raw editor but was that removed on this release

Where is best to leave issues etc by the way if not here? Cant get an iframe card to set bigger than 1 height

Press and hold the page whilst in edit mode as before.

Any feature requests and bugs can be raised here:

running hassio 0.98.5, and just upgraded to home panel 1.0.3, when clicking on the new home panel sidebar, after prompt to login to home panel i get a blank tab. no edit button or anything else.

1 Like

I am experiencing the same problem so for now reverted back to 0.5.0

What device, os, browsers, browser version (if known) are you both using?