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

Perfect. Thank you!

1 Like

Hi Troy. I spoke too soon. I was using the auto zwave component integration and my Zwave USB stick was showing up as a node in the Zwave configuration, so I assumed all was well. However, I finally got around to trying to add a Zwave device and it just wont pair. So, I decided to remove the auto integration as you suggested and add it to the config file manually. Now the USB stick doesn’t show up and the zwave configuration options in the UI aren’t available. I tried to generate a network key using the command from inside the jail but I get an “illegal byte sequence” error, so I can’t generate a code, but not sure it’s needed. It seems the manual addition of the zwave stick isn’t working. Any idea what could be wrong?

Sorry, I think that’s my fault. I copied this from old configuration.
I had python3.6 but it should be python3.7. Try this (I will also fixed this in my previous post)

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

Are you 100% certain you are actually in the jail. This is the exact error shown when I try to run the command on the FreeNAS host. For additional clarity, I have this time included the first command to ensure we’re operating inside the jail. Please try the following.

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

You don’t have to have a z-wave key but I think It’s strongly preferred that you do. The z-wave key is required to secure you z-wave network and it is likely required by any kind security device. Also you need to follow the docs when adding devices to your controller.

EDIT Reading through the docs myself (It’s been awhile) I see this has been added

Secure devices require additional bandwidth, and too many secure devices can slow down your Z-Wave network. We recommend only using secure inclusion for devices that require it, such as locks.

Thanks Troy - that enable me to generate the key (zwave_key: 0x37, 0xD5, etc placed in secrets.yaml), but the integration still isn’t working. The Zwave USB isn’t showing up as a node on the Zwave config page

:thinking: Let’s be sure the controller is showing up in the jail its self

What is the output from this command?

iocage console homeassistant
ls -al /dev/

The z-wave will show as cuaU*

I have the HUSBZB-1 USB Hub which is both z-wave and zigbee.

image

Thanks Troy - it’s definitely there. I get the same output as your pic. I find that I can add the USB stick using the auto-integration menu and entering the usb destination as /dev/cuaU0. If I remove this integration and do it manually in the config file, it doesn’t get integrated.

That’s really weird. Are there any errors in the log?

What if you leave Z-wave in your configuration but try commenting out the path and the config like this.

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

Do you get any errors in the log now?

Hi, there. Just starting on my HA + FreeNAS journey, and I arrived here from a google search.

However the same Google search also led me to https://www.home-assistant.io/docs/installation/freenas/

This thread seems more comprehensive, but the official docs aren’t abandoned as they seem to be regularly updated.

Just curious what the substantial differences are, if any?

When I wrote this guide the official docs were outdated, did not uses a virtualenv and ran HA as root. Recent updates to those docs have brought them more in line with this guide.

The main differences between my guide and what’s included in the official docs are personal choices and really have no effect on the end result of running Home Assistant.

Difference - This Guide - Official Docs
User Name - hass - homeassistant
Install Dir - /srv/homeassistant - /usr/local/share/homeassistant
Config Dir - /home/hass/homeassistant - /home/homeassistant/.homeassistant

Otherwise this guide is just more in-depth

1 Like

Thank you!

Why can’t software be like my music collection and only update a little every 5 years?

1 Like

Hi Troy,
I ran your Node-RED script to install into a new jailplugin. I also un-commented the panel iframe entry in your example config file to get the Nod-red icon to show up in the sidebar in HA. This gets me to my node-red instance, but node red isn’t seeing any of my HA entities as it isn’t integrated with HA. Pretty much every post on this subject seems to be about using the hass.io add-on. Any tips on how to get this working?

Thanks,

Andy.

Hi @axg20202
Node-RED is just a generic plugin for FreeNAS (I guess not everyone uses HA) so there is nothing for HA configured by default. Honestly learning Node-RED is still on my ToDo list.

EDIT

I found it! After NR is installed I followed this video to configure with HA

Video should start about 1 minute in…

Great. Thanks very much. Will check it out.

I’m working on some updates to this guide for the upcoming FreeNAS 11.3

  • manual install guide - same as it ever was, maybe slightly expanded
  • script install - a scripted version of the manual install guide
  • plugin install - new easy button for a basic script install

Nothing groundbreaking but if you’re thinking about a fresh install this might be worth a shot.

spoiler alert

I think that should be fun for most people who want to follow this guide in the future. :slightly_smiling_face:

1 Like

I’ve started making some updates to the original post for FreeNAS 11.3. Might something worth a look.

1 Like

Jumped over to 11.3-RC1 to give this a try – I’ll let you know how it goes.

PS – would be cool to have a MySQL or MariaDB plugin to go with your others.


EDIT:

After installing the plugin, HA was not accessible and the management menu options were not working as expected.

I added homeassistant_enable=“yes” to /etc/rc.conf and now get the following:
_: line 2: hass: command not found

@kelchm

ugh, I look into it right now but before I change anything, If it’s not much trouble, please do me a favor and test again using some off name for the plugin. Like HA_TEST2 or something. Something you’ve never used before.

iocage fetch -P homeassistant -g https://github.com/tprelog/freenas-plugin-index.git --name HA_TEST2

I’m curious if it works the second time using a different name.

I’ve seen this myself and can reproduce it but I think it’s something with FreeNAS

I can reproduce your issue like this… start to create a plugin, then cancel the install and try again to install the plugin with the same name it will succeed but HA will still not work as you describe.

But if I delete the plugin, restart FreeNAS then I can reinstall the plugin using the same name and everything works as expected.

I encountered this alot when testing so I started using a different name every time I installed the plugin. Using different name I haven’t had this problem since.


EDIT:

I just installed the plugin again using the command above and everything works as expected.

I think there a may be a little bug hiding in FreeNAS.

  • please try again with a different name as suggested above
    or
  • delete the plugin, restart FreeNAS, then you should be able to reuse same name

By the way installing a few packages is normal to see the first you use check_config

1 Like

Brillant stuff, as ever! Thank you so much for keeping my homeassistant jail running and up to date :slight_smile:

1 Like

So I had a problem with the manual install no fault to your guide! I am on 11.2-u7

Well doing the command, pip3 install --upgrade homeassistant freenas or the ssh client froze on me. So I closed it out & reset the jail. Got back in to the jail via ssh navigated back to su - has . I just did all the commands from su - hass and below. seems to installed ok, but never asked me if I wanted HA, App demon, or confg. Do I have to just wipe and reset ? Is there away to get them installed after the fact? Home Assistant loads up fine, Just missing the Gui in console and the other stuff from Home Assistant.

Hi @Snow,

So the extra options to install Configurator and AppDaemon are only shown when you use the script to install. It copies some extra files in place including the console menu.

Technically you have every option, just depends on time and patience :slightly_smiling_face:

If you’re not to far along the easiest way to get everything is to reinstall using the script.

More specifically, you should try the 11.3-RELEASE plugin. In the FreeNAS forums I’ve seen some people say it’s OK to use 11.3-RELEASE plugins as long as your on FreeNAS-11.2-U7 or later, a few of them even recommend this, claiming it will ease the upgrade process when FreeNAS 11.3 is officially released.

I have not tested this myself on 11.2 because I’m already switched to FreeNAS 11.3
I installed FreeNAS 11.2-U7 in a VM to try this for myself and it does seem to work just fine

Maybe give this a test along your existing install before you commit. Just use a different name.

The command to install the plugin is different for FreeNAS 11.2. There does not seem to be an easy way to change the name that is used, so it will have the default name homeassistant. If a jail with that name already exist it will append a number to the end (homeassistant_1)

  • Replace SOME_NAME with a desired name to use for your jail.
wget -O /tmp/pkglist.json https://raw.githubusercontent.com/tprelog/freenas-plugin-index/11.3-RELEASE/homeassistant.json
iocage fetch -P dhcp=on bpf=yes vnet=on boot=on allow_raw_sockets=1 -n /tmp/pkglist.json --branch 11.3-RELEASE

That being said there’s really nothing special going on here, it is just a few extra scripts I proved to give the menu and options to install other things. Eventually I’d like to have an easy way this can be added to any install with little trouble but in these early days it’s just not there yet. I don’t have any kind of guide at this time to tell what needs copied but you could just place the necessary files manually.

I’d definitely be willing to help you go that route. I don’t think it will be that difficult but there will likely be a some trial and error to get everything working

1 Like