Custom Touchscreen Home-Assistant UI [DashZero]

Hi,

I hope this is the right category to post that Project. Because the Raspberry Pi Zero in SHPI.zero is too weak to display the Home-Assistant Lovelace interface in the browser, I wrote a small Home-Assistant GUI for the Raspberry Pi Zero. It’s not quite bug free yet, but at least it works :slightly_smiling_face:

I decided to opensource the code, because I want to give something back to the community, which gave me and many others so much with the Home-Assistant and the countless integrations.

But I must say that the project is in a very early alpha and I hope you enjoy it anyway. Feel free to contribute to make it better :slight_smile:

You can find the code on GitHub

A short demo of the UI you can see on my Instagram

Tell me what you think about it and what could be made better. Are there already UI’s for the Raspberry Pi Zero?

5 Likes

Hi Panbachi!

Lutz pointed me to your DashZero and I would really love to install DashZero on my SHPIzero.
However, I am missing the approach for doing that.

Would you mind documenting in Github how to install Dashzero on the SHPIzero?

I have a complete set of MQTT elements for the MQTT integration of SHPI that I could share, too, but I guess you have that already.

Hi,

I’ve added the installation instructions to the readme file on GitHub.

Best regards

1 Like

IS there somewhere else youcan host the demo?

I don’t wish to signup to instaram.

1 Like

I’ve updated the first post with a demo video on YouTube.

1 Like

Thank you so much! I will give it a shot during the long weekend and promise to let you know if there are challenges :slight_smile:

@c0revin did you find time to test the UI?

Sorry it got preempted by some other gadgets coming in…

When I get to it I will definitely contact you and will also post any issues found on github.
Whats the best platform for you to get in touch? here? github? your blog?

Best platform would be here or on GitHub =)

1 Like

when I run
sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev pkg-config libgl1-mesa-dev libgles2-mesa-dev python-setuptools libgstreamer1.0-dev git-core gstreamer1.0-plugins-{bad,base,good,ugly} gstreamer1.0-{omx,alsa} python-dev libmtdev-dev xclip xsel libjpeg-dev

I get a lot of errors related to “read-only file system”:

Err:1 http://archive.raspberrypi.org/debian buster/main armhf gstreamer1.0-omx-rpi armhf 1.14.4-1+rpt1
  Could not open file /var/cache/apt/archives/partial/gstreamer1.0-omx-rpi_1.14.4-1+rpt1_armhf.deb - open (30: Read-only file system) [IP: 176.126.240.84 80]

It is not a bug in Dashzero, more some missing piece of info in the setup description…

Any ideas how to proceed?

(installing the python stuff did work, and editing the config files, however unsure which main.py to start…, just rebooted and the standard SHPI main application was started)

Please use this rw-firmware: http://shpi.de/shpi-zero-raspberry-pi-os-32bit-4-19-lite-27-05-2020.zip

or remount with RW:

sudo mount -o remount,rw /

To avoid starting main app, just edit /etc/rc.local

Hi, I am trying this on a remaining pi zero. This seems to be not updated anymore but I am still want to give it a try.

Some basic stuff were not working:

ics module need to be installed as well
kivymd 0.104.1 module is not working you have to install manually version 0.104.2.

Unfortunatly it is still not working:

 Traceback (most recent call last):
   File "main.py", line 104, in <module>
     MainApp().run()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/app.py", line 949, in run
     self._run_prepare()
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/app.py", line 919, in _run_prepare
     root = self.build()
   File "main.py", line 83, in build
     self.root = MainScreen(config)
   File "main.py", line 31, in __init__
     self.navigation = Navigation(config['rooms'])
   File "/home/pi/dashzero/gui/core/navigation.py", line 28, in __init__
     self.add_widget(NavigationItem(room))
   File "/home/pi/dashzero/gui/core/navigation.py", line 8, in __init__
     super(NavigationItem, self).__init__(**kwargs)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/uix/boxlayout.py", line 145, in __init__
     super(BoxLayout, self).__init__(**kwargs)
   File "/home/pi/.local/lib/python3.7/site-packages/kivy/uix/layout.py", line 76, in __init__
     super(Layout, self).__init__(**kwargs)
   File "/home/pi/.local/lib/python3.7/site-packages/kivymd/uix/tab.py", line 736, in __init__
     self._update_text()
   File "/home/pi/.local/lib/python3.7/site-packages/kivymd/uix/tab.py", line 762, in _update_text
     f"{self}: [UID] = [{self.uid}]:\n\t"
 ValueError: <gui.core.navigation.NavigationItem object at 0xb1122a30>: [UID] = [164]:
        No valid Icon was found.
        No valid Title was found.
        Icon    = ''
        Title   = ''