Register for the iXsystems Community to get an ad-free experience and exclusive discounts in our eBay Store.

Home Assistant Core - community plugin issues on FreeNAS 11.3

Western Digital Drives - The Preferred Drives of FreeNAS and TrueNAS CORE

tprelog

Member
Joined
Mar 2, 2016
Messages
133
Attention FreeNAS users – The FreeBSD 11.3-RELEASE is now past it’s EOL date.

This has been causing various issues for the Home Assistant plugin on *FreeNAS* , that seem beyond my control. To my understanding, as packages in the FreeBSD repos have been updated, some are no longer compatible with the 11.3-RELEASE. From the limited number of Google results I can find, the solution is upgrading to a supported RELEASE.

I am not able to support using this plugin with the expired 11.3-RELEASE base.

---

At this time, there no plans for switching the FreeNAS plugins to the 11.4-RELEASE and I have not found another way to make this plugin use the next release. To my knowledge, using the 11.4-RELEASE on FreeNAS, can only be accomplished by manually creating jail.

This leaves two options for Home Assistant:

1. Manually creating an 11.4-RELEASE jail on FreeNAS 11.3
2. Switch your FreeNAS to the TrueNAS-12.0-Stable train

There are several people who have opted for upgrading to TrueNAS Core. So far, everyone has been able to restore Home Assistant to full functionality after doing so. If you're ready to upgrade, I think this is the best option. An updated version of OpenSSL is already included in the FreeBSD base, which requires no workarounds for Home Assistant. Other issue that are appearing in the 11.3-RELEASE, simply do not exist.

For those choosing to upgrade, I've started a wiki page to help get your existing plugin working again on TrueNAS Core

Plugin Upgrade from FreeNAS to TrueNAS Core
 
Last edited:

indivision

Senior Member
Joined
Jan 4, 2013
Messages
429
I am just starting Home Assistant on TrueNAS. So, no upgrade needed for me. However, I'm not sure if the Core version can do everything that the regular OS version advertises.

For instance, the Ring integration fails with an error about not finding a correct version (of what it does not say). The documentation for Ring just assumes that clicking on the add button works. So, I have to assume that it has to do with using Core instead of the more mainstream OS version.

Am I off in my assumption that Core is limited? Or, am I missing some repo config or something that will open up correct versions?

Any help would be appreciated.
 

tprelog

Member
Joined
Mar 2, 2016
Messages
133
My first guess is that we could be missing a system dependency. FreeBSD is not officially supported by the Home Assistant developers so we have one strike against us. Home Assistant Core is the only option for FreeBSD (unless you use VM) since other versions are built using Docker containers.

As stated in the Home Assistant Core ADR

This is an expert installation method. Based on the integrations that you’re running, you will need a lot of extra packages installed.

I have added the known packages to the manifest but there is no way I can test for everything. It's possible we simply need another package. If that's the case, I'd be happy to add it to the plugin manifest if we can figure out what it is

EDIT: Well here's what's missing but there is no clue indicating missing dependency

Code:
2020-12-06 21:11:31 ERROR (SyncWorker_2) [homeassistant.util.package] Unable to install package ring_doorbell==0.6.0: ERROR: Could not find a version that satisfies the requirement requests==2.22.0 (from ring-doorbell)
ERROR: No matching distribution found for requests==2.22.0


EDIT Again:

Is you Home Assistant update to date? I just updated from 0.118.4 > 0.118.5 and tried to add the ring integration a second time. This time I have no errors in my log and get a sign in window... I am unable to proceed because I do not have a ring account.

Please try upgrading Home Assistant from the jail's console and try again - (There a simple menu to help you upgrade)

ring.png
 
Last edited:

indivision

Senior Member
Joined
Jan 4, 2013
Messages
429
Ok. Good to know. And by the way, thank you very much for working on this!

My FreeBSD chops are fairly limited. So, I am not great at much beyond following step-by-steps from FreeBSD masters. :)

Here is the full error:

Code:
Logger: homeassistant.util.package
Source: util/package.py:95
First occurred: 6:21:40 PM (1 occurrences)
Last logged: 6:21:40 PM

Unable to install package ring_doorbell==0.6.0: ERROR: Could not find a version that satisfies the requirement requests==2.22.0 (from ring-doorbell) ERROR: No matching distribution found for requests==2.22.0


Does that help identify what is needed?

I wonder also if there is a way to examine their pi image and extract some kind of package manifest that would be helpful? Or, would it all be different package names, etc. from what is needed?
 

tprelog

Member
Joined
Mar 2, 2016
Messages
133
Please see edits to post above... maybe update and second try will work?

I'm not a master here either... Just a lot of trial and error, lol
 

tprelog

Member
Joined
Mar 2, 2016
Messages
133
I wonder also if there is a way to examine their pi image and extract some kind of package manifest that would be helpful? Or, would it all be different package names, etc. from what is needed?

Sorry I missed that part, on the system level package names are different. It's a matter of seeing what Linux packages are used and figuring out the FreeBSD equivalent
 

indivision

Senior Member
Joined
Jan 4, 2013
Messages
429
Please see edits to post above... maybe update and second try will work?

I'm not a master here either... Just a lot of trial and error, lol

Nice! It works now. All installed.

You could have fooled me about being a FreeBSD master. That updater in shell is nifty. I wish other plugins would implement something similar as it should capture special handling some upgrades may need beyond pkg updating.

I am a bit confused by the updating. I had thought I was up to date based on the in-app updater. I clicked on update within it a few times and it just said it would update in 30 seconds or something. Is it basically de-activated for this type of install?

Sorry I missed that part, on the system level package names are different. It's a matter of seeing what Linux packages are used and figuring out the FreeBSD equivalent

Makes sense.

If I run into other issues like this, would you mind if I asked again? If so, what is the most convenient way? (Don't want to hijack this thread if it's not preferred).
 

tprelog

Member
Joined
Mar 2, 2016
Messages
133
I'm excited about the upcoming Home Assistant Conference on Dec 13 so I've been working on some things

I am a bit confused by the updating.

I'm finally getting some documentation together, so I conveniently have this to paste here

This is just a scripted installation method to install Home Assistant Core. Home Assistant Core is Python application that runs inside a jail, using a Python Virtualenv created during the installation. Updates for this plugin, refer to the installation script and files provided in the overlay. Updates to this plugin are not related to updates for Home Assistant Core. Updates for Home Assistant are preformed using the jail's console. A simple console menu has been provided to help simplify this task. The console menu is provided in the overlay and is an example of something that could be updated in a plugin update.


I had thought I was up to date based on the in-app updater. I clicked on update within it a few times and it just said it would update in 30 seconds or something. Is it basically de-activated for this type of install

We don't have an in app update for this installation method. Could share a screen shot of what you're talking about?


If I run into other issues like this, would you mind if I asked again? If so, what is the most convenient way? (Don't want to hijack this thread if it's not preferred).

Please do. I try to support this plugin to the best of my ability. Usually, if it's something I can reproduce, I can help figure it out but I don't always have the answers. Anywhere is fine to ask. I'm on the Home Assistant Forum also. There's a thread there for the plugin. It's OK to tag me as well. Unless you reply to a thread I created, I'm likely to miss it

Would a python virtual environment be an option?

It already is a virtualenv install :wink:

My latest rc.d/homeassistant script manages the virtualenv as well. I built the install and update function into that so it can be used alone to manage Home Assistant. It's probably way out of bounds by FreeBSD standards, but it works
 

indivision

Senior Member
Joined
Jan 4, 2013
Messages
429
This is just a scripted installation method to install Home Assistant Core. Home Assistant Core is Python application that runs inside a jail, using a Python Virtualenv created during the installation. Updates for this plugin, refer to the installation script and files provided in the overlay. Updates to this plugin are not related to updates for Home Assistant Core. Updates for Home Assistant are preformed using the jail's console. A simple console menu has been provided to help simplify this task. The console menu is provided in the overlay and is an example of something that could be updated in a plugin update.

Got it. This makes sense. The app itself wouldn't update the environment...

We don't have an in app update for this installation method. Could share a screen shot of what you're talking about?

Sure. Though, now that you say you don't know of an updater I'm thinking this must be an "updater" in a different sense. Like updating listeners with data from different devices? So, I might have just made a semantic mistake. :)

Anyway, here is what I was looking at as a software updater:

updater.PNG



Please do. I try to support this plugin to the best of my ability. Usually, if it's something I can reproduce, I can help figure it out but I don't always have the answers. Anywhere is fine to ask. I'm on the Home Assistant Forum also. There's a thread there for the plugin. It's OK to tag me as well. Unless you reply to a thread I created, I'm likely to miss it

Ok. Cool. Thank you. I think I will spend some time with it first so that I can rule out as much user error as possible and consolidate questions.
 

tprelog

Member
Joined
Mar 2, 2016
Messages
133
Anyway, here is what I was looking at as a software updater:

Ah, this is just a sensor. It should tell you when there is an update available for Home Assistant Core itself. I think it will only check once a day. Typically, they run a three week release cycle. There's a page somewhere that explains, I'll try to find it post the link later today

The sensor will notify you but it does not offer a function to actually run the update... You still have to use the console for that.

Technically, there is a way we can update Home Assistant Core from in the UI but I have never covered that anywhere (Here's a hint though, it involves a `sudoers` files and the shell command integration)

EDIT to add some follow up information

For more information on the Updater Sensor please see: https://www.home-assistant.io/integrations/updater/

For more information on the releases, please see: https://www.home-assistant.io/faq/#releases
 
Last edited:
Top