My (outdated) Quick Start for Home Assistant Core on FreeNAS 11.2

Please can someone help me fix my issues with adding the Zwave USB stick? HA is running on Freenas, if i SSH into it and use the command ls -ltr /dev/tty*|tail -n 1, it reports the following for my USB stick (it’s from zwave.me):
crw------- 1 root wheel 0x50 Nov 22 12:05 /dev/ttyv0

However, if I try to add the Zwave integration in the HA GUI and replace the default path (/zwaveusbstick) with /dev/ttyv0, it just reports the error β€œZ-Wave validation failed. Is the path to the USB stick correct?”

Can someone help please?
Thanks.

@axg20202

Two suggestions

  • Actually your z-wave stick is likely /dev/cuau0.
  • I’ve had problems with the automatic z-wave integration in the past

I’m not always a fan of these automatic discovery integrations, sometimes they give me headaches. I usually add thing to my configuration the old way. Everything works much better that way and zwave is no exception. If you remove the automatic integration and setup zwave to your configuration.yaml, you may have better results.

Here’s my zwave entry for configuration.yaml.

zwave:
  network_key: !secret zwave_key
  usb_path: /dev/cuaU0
  config_path: /srv/homeassistant/lib/python3.7/site-packages/python_openzwave/ozw_config

I don’t know if you already have or even need a network_key but just in case… I used the following command from inside the jail (won’t work from FreeNAS host) to generate my network_key.

cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g'

Troy, you’re a scholar and a gent! I thought I’d just try the USB stick address you mentioned in the automatic integration and it added it no problem and the zwave network appears to be running. Thanks very much for your instant help! Strange that the address isn’t being reported properly from the console.
Regarding auto integration vs manually adding it to the config, not sure how to proceed here. I’ll give the manual setup a try. Thanks again.

1 Like

If the automatic integration is working you can stick with that. If you run into any errors during your initial zwave setup try the manual configuration

OK, great. At the risk of abusing your hospitality, I have another issue. I’m trying to add HACS to the HA install, but configurator wont let me copy whole folders, only individual files. I tried to move the HACS files across one file at a time which was working, but configurator hides the "." folders I create, so that scuppered that approach. Is there a workaround to copy whole folder or unhide . folders? Does HACS even work on this install?

@axg20202

Don’t worry your not abusing me :smile:

Yes HACS does work, I use it myself.

I assume you don’t have file sharing setup to the /home/hass directory inside the jail. It’s easiest to just copy files using some type of network share.

Next quickest way to just install HACS is using the terminal

iocage console homeassistant
pkg install -y wget zip

su - hass
wget -O /var/tmp/hasc.zip https://github.com/hacs/integration/releases/latest/download/hacs.zip
unzip -d homeassistant/custom_components/hasc /var/tmp/hasc.zip


If you want to show the . files in the configurator
Edit file: /home/hass/configurator/configurator.conf

Find this line:

"IGNORE_PATTERN": [".*", "*.xml", "*.db", "*.sqlite", "tts", "deps"],

Remove ".*", so it looks like this.

"IGNORE_PATTERN": ["*.xml", "*.db", "*.sqlite", "tts", "deps"],

You’ll probably need to restart the configurator as well.

iocage console homeassistant
service configurator restart

Or just restart the entire jail.

Brilliant. Thanks a million!

@troy my apologies for harassing you and the community, but I’m repeatedly into issues when trying to activate the stream component. I wonder if it’s only my installation (I followed your recommended install in an iocage jail and it worked perfectly for v0.100.3), however when activating stream in configuration.yaml, I get the following error message:

Unable to install package av==6.1.2: WARNING: The directory β€˜/.cache/pip/http’ or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.
WARNING: The directory β€˜/.cache/pip’ or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.
WARNING: Building wheel for av failed: [Errno 13] Permission denied: β€˜/.cache’
ERROR: Command errored out with exit status 1:
command: /srv/homeassistant/bin/python3.7 -u -c β€˜import sys, setuptools, tokenize; sys.argv[0] = β€˜"’"’/tmp/pip-install-v6h3bklg/av/setup.pyβ€™β€œ'β€β€˜; file=β€™β€œ'β€β€˜/tmp/pip-install-v6h3bklg/av/setup.pyβ€™β€œ'β€β€˜;f=getattr(tokenize, β€˜"β€™β€œβ€˜openβ€™β€β€™β€œβ€˜, open)(file);code=f.read().replace(β€™β€β€˜"’\r\nβ€™β€œ'β€β€˜, β€˜"’"’\nβ€™β€œ'β€β€˜);f.close();exec(compile(code, file, β€˜"β€™β€œβ€˜execβ€™β€β€™β€œβ€˜))’ install --record /tmp/pip-record-oumu0gpi/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.7/av
cwd: /tmp/pip-install-v6h3bklg/av/
Complete output (53 lines):
running install
running build
running build_py
creating build
creating build/lib.freebsd-11.2-STABLE-amd64-3.7
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av
copying av/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av
copying av/datasets.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av
copying av/main.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av
copying av/deprecation.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/seekmany.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/experimental.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/frame_seek_example.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/glproxy.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/merge-filmstrip.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/encode_frames.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/second_seek_example.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/qtproxy.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/average.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/filmstrip.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/player.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/decode_threads.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/audio_player.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/dump_format.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/remux.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/save_subtitles.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/decode.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/resource_use.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/encode.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/show_frames_opencv.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/cctx_encode.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/cctx_decode.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/audio.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/graph.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/subtitles
copying av/subtitles/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/subtitles
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/data
copying av/data/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/data
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/codec
copying av/codec/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/codec
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/filter
copying av/filter/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/filter
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/audio
copying av/audio/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/audio
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/container
copying av/container/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/container
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/video
copying av/video/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/video
running build_ext
running config
pkg-config is required for building PyAV
----------------------------------------
ERROR: Command errored out with exit status 1: /srv/homeassistant/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = 'β€β€˜"’/tmp/pip-install-v6h3bklg/av/setup.pyβ€™β€œ'β€β€˜; file=β€™β€œ'β€β€˜/tmp/pip-install-v6h3bklg/av/setup.pyβ€™β€œ'β€β€˜;f=getattr(tokenize, β€˜"β€™β€œβ€˜openβ€™β€β€™β€œβ€˜, open)(file);code=f.read().replace(β€™β€β€˜"’\r\nβ€™β€œ'β€β€˜, β€˜"’"’\nβ€™β€œ'β€β€˜);f.close();exec(compile(code, file, β€˜"β€™β€œβ€˜exec’”’"β€˜))’ install --record /tmp/pip-record-oumu0gpi/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.7/av Check the logs for full command output.

I tried to manually install (pip3 install av) in the virtualenv - does not work. Tried to find and install the package pkg-config - doesn’t exist. Searched forums - nothing useful.

Would you have an idea?

Thx,
Markus

@mastermarkush

Give this a try

iocage console homeassistant 
pkg install -y pkgconf
service restart homeassistant

@troy thank you very much, that worked!!!

1 Like

Sorry, I was too fast. The system tricked me into believing that the stream component has been activated in my configuration.yaml, however this was not true.

After putting stream: into my configuration.yaml, I’m getting the following notification:

component error: stream - Requirements for stream not found: [β€˜av==6.1.2’]

My log file shows this:

Unable to install package av==6.1.2: WARNING: The directory β€˜/.cache/pip/http’ or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.
WARNING: The directory β€˜/.cache/pip’ or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.
WARNING: Building wheel for av failed: [Errno 13] Permission denied: β€˜/.cache’
ERROR: Command errored out with exit status 1:
command: /srv/homeassistant/bin/python3.7 -u -c β€˜import sys, setuptools, tokenize; sys.argv[0] = β€˜"’"’/tmp/pip-install-c3atgp69/av/setup.pyβ€™β€œ'β€β€˜; file=β€™β€œ'β€β€˜/tmp/pip-install-c3atgp69/av/setup.pyβ€™β€œ'β€β€˜;f=getattr(tokenize, β€˜"β€™β€œβ€˜openβ€™β€β€™β€œβ€˜, open)(file);code=f.read().replace(β€™β€β€˜"’\r\nβ€™β€œ'β€β€˜, β€˜"’"’\nβ€™β€œ'β€β€˜);f.close();exec(compile(code, file, β€˜"β€™β€œβ€˜execβ€™β€β€™β€œβ€˜))’ install --record /tmp/pip-record-nro32dp6/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.7/av
cwd: /tmp/pip-install-c3atgp69/av/
Complete output (59 lines):
running install
running build
running build_py
creating build
creating build/lib.freebsd-11.2-STABLE-amd64-3.7
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av
copying av/deprecation.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av
copying av/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av
copying av/datasets.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av
copying av/main.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/decode_threads.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/audio_player.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/player.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/merge-filmstrip.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/seekmany.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/cctx_decode.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/cctx_encode.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/frame_seek_example.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/encode_frames.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/audio.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/experimental.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/graph.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/second_seek_example.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/show_frames_opencv.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/dump_format.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/average.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/filmstrip.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/decode.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/qtproxy.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/resource_use.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/encode.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/glproxy.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/save_subtitles.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
copying scratchpad/remux.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/scratchpad
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/filter
copying av/filter/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/filter
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/video
copying av/video/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/video
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/data
copying av/data/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/data
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/subtitles
copying av/subtitles/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/subtitles
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/codec
copying av/codec/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/codec
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/audio
copying av/audio/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/audio
creating build/lib.freebsd-11.2-STABLE-amd64-3.7/av/container
copying av/container/init.py β†’ build/lib.freebsd-11.2-STABLE-amd64-3.7/av/container
running build_ext
running config
Could not find libavformat with pkg-config.
Could not find libavcodec with pkg-config.
Could not find libavdevice with pkg-config.
Could not find libavutil with pkg-config.
Could not find libavfilter with pkg-config.
Could not find libswscale with pkg-config.
Could not find libswresample with pkg-config.
----------------------------------------
ERROR: Command errored out with exit status 1: /srv/homeassistant/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = 'β€β€˜"’/tmp/pip-install-c3atgp69/av/setup.pyβ€™β€œ'β€β€˜; file=β€™β€œ'β€β€˜/tmp/pip-install-c3atgp69/av/setup.pyβ€™β€œ'β€β€˜;f=getattr(tokenize, β€˜"β€™β€œβ€˜openβ€™β€β€™β€œβ€˜, open)(file);code=f.read().replace(β€™β€β€˜"’\r\nβ€™β€œ'β€β€˜, β€˜"’"’\nβ€™β€œ'β€β€˜);f.close();exec(compile(code, file, β€˜"β€™β€œβ€˜exec’”’"β€˜))’ install --record /tmp/pip-record-nro32dp6/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.7/av Check the logs for full command output.

The error log reminds me of what you can see in the troubleshooting section of the stream component and I tried to install some β€œmissing” packages manually - without success as they do not seem to exist.

Would you have any hint as to what packages to manually install in a FreeBSD world??

EDIT: Alright, I found myself an answer here. For anybody else getting stuck at this point, you’ll have to install the libav package on top. (see FreshPorts -- multimedia/libav: Realtime audio/video conversion library)

iocage console homeassistant 
pkg install libav
service restart homeassistant

There are some big elements that need to be downloaded, so be patient. After hass restarts, the stream service becomes available.

Hi Troy, I’m trying to install hass-apps (specifically Schedy) which is built on Appdaemon.

https://hass-apps.readthedocs.io/en/stable/getting-started.html#installation-in-hass-io

However, your appdaemon installed as part of your scripted install doesn’t appear to be working if I try to follow the hass-app install instructions. The appdaemon install is probably different. There isnt a python_packages entry or an apps.yaml file. Any ideas?

@axg20202

The script install is really just to save keystrokes. It is nothing more then appdaemon installed in a virtualenv. After a look at your link, I think for hass-apps to work you need to install it manually to the already created appdaemon virtualenv

iocage console homeassistant
su - hass
  source /srv/appdaemon/bin/activate
  pip3 install --upgrade hass-apps
  deactivate && exit

After those steps you should be able to configure hass-apps. I assume your using my example config files? If not then you would need to create your own appdaemon configuration before it will run

Real quick here, The python_packages in your link is for appdaemon in the hass io ecosystem. You are not using hassio if you have followed this guide or used my script. Your install is just a plain virtualenv.

For the apps.yaml I actually just realized I never added one. Again (assume you used my config) you can create your own with this hello_world app from the appdaemon docs.

EDIT I just added the appdaemon test app to my example files

I used /home/hass/appdaemon/apps for apps. I set that location in /home/hass/appdaemon/conf/appdaemon.yaml and you can look there to see and/or change anything.

Hi Troy,

I am just trying to get the Mobile App integration working and I get the following error in the log.

'Unable to install package PyNaCl==1.3.0: WARNING: The directory '/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
WARNING: The directory '/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
  WARNING: Building wheel for PyNaCl failed: [Errno 13] Permission denied: '/.cache'
ERROR: Could not build wheels for PyNaCl which use PEP 517 and cannot be installed directly'

Checked permissions and they seem fine.

root@homeassistant:/home/hass # ls -la
total 40
drwxrwxr-x  7 hass  hass      9 Feb  4  2019 .
drwxr-xr-x  3 root  wheel     3 Jan 28  2019 ..
-rw-------  1 hass  hass   3077 Nov 27 14:37 .bash_history
drwx------  3 hass  hass      3 Jan 28  2019 .cache
drwx------  2 hass  hass      3 Jan 29  2019 .ssh
-rw-r--r--  1 hass  hass    259 Aug  1 14:21 .wget-hsts
drwxrwxr-x  5 hass  hass      5 Jan 28  2019 appdaemon
drwxrwxr-x  2 hass  hass      3 Jan 28  2019 configurator
drwxrwxr-x  8 hass  hass     21 Nov 27 15:13 homeassistant

Also since swapping over to python 3.7 I have SSL data and handshake error messages

'Error doing job: SSL error in data received
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/asyncio/sslproto.py", line 526, in data_received
    ssldata, appdata = self._sslpipe.feed_ssldata(data)
  File "/usr/local/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
    self._sslobj.do_handshake()
  File "/usr/local/lib/python3.7/ssl.py", line 763, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: HTTP_REQUEST] http request (_ssl.c:1056)'

Error doing job: SSL handshake failed
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/asyncio/sslproto.py", line 625, in _on_handshake_complete
    raise handshake_exc
  File "/usr/local/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
    self._sslobj.do_handshake()
  File "/usr/local/lib/python3.7/ssl.py", line 763, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: HTTP_REQUEST] http request (_ssl.c:1056)

Thanks in advance

Hello @angyp74 Welcome to the forums

For the PyNaCL there are two ways to solve this.

Please try this first. Using this approach should help avoid /.cache permission errors moving forward

  • remove the /.cache folder
  • recreate /.cache as a link to /home/hass/.cache with owner set to hass
iocage homeassistant
rm -rf /.cache
install -l s -g hass -o hass -m 700 /home/hass/.cache /.cache
service homeassistant restart

If that doesn’t work the fall back method that has always worked in the past with any /.cache permission error is to install manually.

iocage console homeassistant

su - hass
source /srv/homeassistant/bin/activate
pip3 install --upgrade PyNaCl
deactivate && exit


Unfortunately I do not have any guess about the ssl error right now… Maybe after PyNaCl install is will go away. If not let me know and I’ll try to investigate further.

Thanks, Troy,

That worked. I actually found your second bit of advice on a freenas forum late last night and used it. The SSL errors are still occurring but reading the message make me think it’s receiving http request on the SSL port.

ssl.SSLError: [SSL: HTTP_REQUEST] http request (_ssl.c:1056)

@troy,

Any other ideas how to upgrade or overcome SSL issue. I’m still unable to manage my Ecobee Switches (homekit controller needed) and it’s failing on registration due to SSL issue.

Thanks

Sorry no. From my understanding it’s not possible to upgrade the β€œbase” BSD that is used when creating jails and the jail can not run a newer β€œbase” version than the host. I’ve discovered this seems to be an ongoing issue for FreeNAS, it’s always been this way and likely always will. :frowning: (I mean FreeNAS is usually behind the actual FreeBSD from which it’s based on. For example we are waiting for an update to FreeNAS 11.X but FreeBSD is actually on 12.X - In other words new FreeNAS is not even released yet and it’s already outdated in BSD terms)

You do have a few options but they not likely to be what you had in mind.

  1. FreeNAS 11.3 Beta 1

  2. Switch to Hassio on FreeNAS

Personally I have no plans of switching to Hassio but I did follow @Koen’s link to give it a try. I was able to successfully get Hassio running using a VM in about 20 min.

This has been working perfectly for me for some months, with fairly infrequent updates. I think my last update to 0.102.3 has broken the mobile integration which now uses mobile_app: in the configuration.yaml.

With this added, I get the following error when checking the configuration:

Component error: mobile_app - Requirements for mobile_app not found: ['PyNaCl==1.3.0'].

Anyone had a similar problem and found a fix?

Thanks

I think you can just install PyNaCL manually

Starting from your FreeNAS console

iocage console homeassistant

su - hass
source /srv/homeassistant/bin/activate
pip3 install --upgrade PyNaCl==1.3.0
deactivate && exit

Finally restart Home Assistant

1 Like