Not used anymore

These instructions assume that you know how to install and navigate your OS on your device.

Install Raspberry Raspbian with desktop either for the raspberry pi or desktop PC depending on your hardware.
Initial setup of Raspberry Raspbian is easier with monitor keyboard and mouse hooked up local to your device.
Enable SSH in configuration, once you have enabled SSH then remote configuring is preferred for below instructions.
You can copy and paste below commands into the terminal, these instructions assume you have knowledge on the ability to SSH into your device.
Copy and paste is the easiest, and PuTTY allows right click paste.
These steps use the default install instructions of home assistant and the default user of pi, so if using different then what is default make changes as needed.

(Note some stuff will not work fully until all the steps have been done IE shared folders won’t connect until that directory is made.)

This instruction will do the following:

  1. Will allow network shares of certain folders for editing and backing up your configuration of Home assistant files and access to root directory.
    ((WARNING MESSING AROUND IN ROOT DIR CAN BREAK YOUR INSTALL))

  2. Will allow Home assistant to restart after a reboot.

  3. Will boot into Kiosk mode for using Lovelace in touchscreen on the same device as home assistant.
    (does not effect headless operation so can use the same instructions)

Use this Link to install Python Install before starting this Instruction below.

"DO NOT COPY AND PASTE STUFF IN QUOTES"

“LOG INTO THE TERMINAL.”

sudo apt update

sudo apt upgrade -y

sudo apt autoremove -y

“STEP BELOW ALLOWS THE USE OF REMOTE DESKTOP THIS IS A OPTIONAL INSTALL”

sudo apt install xrdp -y

“STEPS BELOW ALLOWS SHARING OF FOLDERS OVER YOUR LOCAL NETWORK.”


sudo apt install samba -y


sudo nano /etc/samba/smb.conf

“CLEAR SCREEN BY HOLDING DOWN THE CTRL AND K KEYS.”

“COPY ALL BELOW THIS LINE DOWN TO NOT INCLUDING END.”


[global]
netbios name = HomeAssistant
server string = The HA File Center
workgroup = WORKGROUP
hosts allow =
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
remote announce =
remote browse sync =

[HOME PI]
path = /home/pi
comment = No comment
browsable = yes
read only = no
valid users =
writable = yes
guest ok = yes
public = yes
create mask = 0777
directory mask = 0777
force user = root
force create mode = 0777
force directory mode = 0777
hosts allow =

[HOME ASSISTANT]
path = /home/homeassistant/.homeassistant/
comment = No comment
browsable = yes
read only = no
valid users =
writable = yes
guest ok = yes
public = yes
create mask = 0777
directory mask = 0777
force user = root
force create mode = 0777
force directory mode = 0777
hosts allow =

[ROOT]
path = /
comment = No comment
browsable = yes
read only = no
valid users =
writable = yes
guest ok = yes
public = yes
create mask = 0777
directory mask = 0777
force user = root
force create mode = 0777
force directory mode = 0777
hosts allow =

“END”

“PRESS CRTL+O (write out), ENTER, CTRL+X (exit).”

sudo smbpasswd -a pi

“ENTER THE PASSWORD IT WILL ASK TWICE.”

sudo service smbd restart

“STEPS BELOW MAKES THE RASPBERRY PI BOOT INTO KIOSK DOES NOT AFFECT NORMAL INSTALL.”

sudo apt install sshpass

cd .config

mkdir lxsession

cd lxsession

mkdir LXDE-pi

sudo nano ~/.config/lxsession/LXDE-pi/autostart

“COPY ALL BELOW THIS LINE DOWN TO NOT INCLUDING END.”


lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash
@point-rpi
@xset s off
@xset -dpms
@xset s noblank
@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium-browser/Default/Preferences
@chromium-browser --noerrdialogs --disable-infobars --kiosk http://localhost:8123

“END”

“PRESS CRTL+O (write out), ENTER, CTRL+X (exit).”

cd

sudo apt-get install bluetooth bluez blueman -y

“STEPS BELOW MAKES HOME ASSISTANT START ON REBOOT.”

sudo nano -w /etc/systemd/system/[email protected]

“COPY ALL BELOW THIS LINE DOWN TO NOT INCLUDING END.”

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
ExecStartPre=/bin/sleep 10
User=%i
WorkingDirectory=/home/%i/.homeassistant
ExecStart=/srv/homeassistant/bin/hass -c "/home/%i/.homeassistant"

[Install]
WantedBy=multi-user.target

“END”

“PRESS CRTL+O (write out), ENTER, CTRL+X (exit).”

sudo systemctl --system daemon-reload

sudo systemctl enable home-assistant@homeassistant

sudo apt install xdotool unclutter sed

“STEPS BELOW INSTALLS HOME ASSISTANT.”

sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 -y libturbojpeg0 tzdata

sudo apt install libbluetooth-dev

sudo pip3 install PyBluez

sudo useradd -rm homeassistant -G dialout,gpio,i2c

sudo mkdir /srv/homeassistant

sudo chown homeassistant:homeassistant /srv/homeassistant

“COPY AND PASTE THE VERSION OF PYTHON YOU UPDATED TO.”

version=3.9
python$version -m venv .

python3 -m pip install wheel

source bin/activate

pip3 install homeassistant --no-binary :all:


“MANUALLY START HOME ASSISTANT”

hass

“GIVE IT ABOUT 10 MINS AND REBOOT THE SYSTEM, IF YOU HAVE A MONITOR CONNECTED TO THE RASPBERRY IT SHOULD DISPLAY THE HOME ASSISTANT PAGE.”

Turning on and off the Touch Screen through Home Assistant if installed on device

Do this after you rebooted your machine and logged back into SSH

sudo -u homeassistant -H -s

ssh [email protected] ‘export DISPLAY=:0 && xset dpms force on’

“IT WILL ASK IF YOU WANT TO PERMANENTLY ADD IT TYPE YES”
“ENTER YOUR PASSWORD”
“IT WILL COME BACK WITH A ERROR IGNORE THE ERROR”

“THIS IS THE SWITCH CONFIGURATION IN HOME ASSISTANT TO ADD THE SWITCH”

"ENTER YOUR PASSWORD TO ENABLE CONTROL OF KIOSK SCREEN."

password=

  • platform: command_line
    switches:
    touch_screen:
    friendly_name: Touch Screen
    command_on: sshpass -p $password ssh [email protected] ‘export DISPLAY=:0 && xset dpms force on’
    command_off: sshpass -p $password ssh [email protected] ‘export DISPLAY=:0 && xset dpms force off’
    command_state: sshpass -p $password ssh [email protected] ‘export DISPLAY=:0 && xset -q | grep “Monitor is” | cut -c14-17’ | grep “On” > /dev/null

Testing for your Zwave hub if using Zwave

ls -1tr /dev/tty*|tail -n 1

"Note the exact address may be different then below if it is then edit below to match"

ls -l /dev/ttyACM0

"Should return crw-rw---- 1 root dialout 166, today's date /dev/ttyACM0"

"UPDATING HOME ASSISTANT TO LATEST VERSION

sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant

2 Likes

This is a very bad idea.

There is no need to share out /

the option is there you can delete that section in the config if you don’t want to access it

I understand it’s optional, but people tend to just copy and paste the entirety of “how-to” threads and completely ignore understanding what they are doing. You should not recommend it for the sake of all the users that will simply not understand.

well I found it really helps when looking for locations of directorys that is called for in other how to’s that is more vague on where stuff is nice thing is it is easy enough to redo the whole thing when somebody breaks their install

It’s easy for someone that understands what they are doing…

It’s not easy for those people that didn’t backup their config, and they completely broke their system because they were modifying files and changing permissions on files they shouldn’t.

I guess I voiced my concern for the newbies and you don’t really care, so, aside from that, good tutorial. I’m sure there are plenty of people that will get a lot of use out of this. By the way, you could install hassio on docker instead if you wanted add-ons and snapshots.

I understand where you are coming from,
part of the learning curve in what not to do as well,
bet after the first major crash from messing around the idea of backing up sounds a lot better

also understand I could install hassio but prefer Venv as it makes me think and figure stuff out

and thanks on the compliment

I did all the steps but I’m not sure why the activate file is not present in /srv/homeassistant/bin and when I do “source bin/activate” it says No such file or directory. Can you please help me understand what I did wrong?

1 Like

This install is for a bare metal clean os like raspberry pi os and it uses the venv install methods if are you trying to do a image? Also did you do the steps on python 3.9 upgrade first?

I did a clean install again and now it gives me this:

homeassistant@raspberrypi:/srv/homeassistant $ python3.9 -m venv .
Error: Command ‘[’/srv/homeassistant/bin/python3.9’, ‘-Im’, ‘ensurepip’, ‘–upgrade’, ‘–default-pip’]’ returned non-zero exit status 1.

If you did the steps that set 3.9 as default it breaks the home assistant install it is noted on the 3.9 upgrade page

Hey so ive been wondering if its possible to show the scroll bar on the side while running kios mode?

Or how can i add scroll function for 3.5inch touch screen?

Should just show up when the page gets bigger than the screen

1 Like