Home Assistant Core -- TrueNAS CORE Community Plugin

:man_facepalming:

I lost a key detail in your post ā€“ I messed up anyways but I was trouble shooting the wrong thing

You need to use the menu it sets the rcvars correctly for the plugin ā€“ Lets try this again

iocage console $JAIL_NAME
# Press `0` to exit menu
rm -rf /usr/local/share/appdaemon
menu

Now, please try using menu to reinstall appdaemon ā€“ if this still fails, maybe just go reinstall the plugin ā€“ Sorry you could have been back running by now if I just said to do so from the start

Thanks for your help with this - appreciated.
Unfortunately it fails with the same message again. The final part is:

 Building wheel for ordered-set (setup.py) ... done
  Created wheel for ordered-set: filename=ordered_set-4.0.2-py2.py3-none-any.whl size=8210 sha256=51d8da0c1472f34016aae84936e2033e5b964de7c53a91e6265fc337c6969653
  Stored in directory: /tmp/pip-ephem-wheel-cache-195bs7qc/wheels/a1/09/42/0b963b1d5423ddc87cb4ba9f475e09838d3813300b52a866ea
Successfully built bcrypt feedparser paho-mqtt pyyaml voluptuous yarl cffi MarkupSafe multidict ordered-set
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

INFO: /home/homeassistant/appdaemon is not empty!

INFO: Example configuration will not be added.
WARN: appdaemon may fail to start with missing or invalid configuration.

appdaemon_enable: YES -> YES/
/usr/local/etc/rc.d/appdaemon: ERROR: /usr/local/share/appdaemon/bin/appdaemon is not found or is not executable

It looks like reinstalling the plugin is required. A job for tomorrow!

Hi @troy
I made an update right now, and it worked ok. Only one thing, it asks to overwrite some files.


I answered Y to all of them and clicked Enter. it is still working, but this is the only ā€œissueā€ I have sean
Best regards Kai

1 Like

I refactored the install script again, in the process I also fixed that error.

It looks like you just updated the Z-Wave JS to MQTT program ā€“ you need to run Plugin UPDATE from the TrueNAS UI in order to update the pluginā€™s scripts ( i.e. menu, install scripts, startup-scriptā€¦)


Yesterday was a complete waste of time. This is a lesson for both of usā€¦ next time please share the entire output from the error message - Sorry, I should have known to ask you.

  • Here is the issue causing install to fail
Failed to build cryptography

Still a clean install should still solve this. - Iā€™m thinking about pulling appdaemon out of here.

If I make a separate plugin for AppDaemon, would you be willing to give it a try?

That is Correct. All good when I did it the correct way.Thanks again @troy.

This is a perfect example to show what a Plugin UPDATE is verse just updating js2m ā€“ Itā€™s the same concept as the Home Assistant plugin.

Hereā€™s a lot of the problemā€¦ Letā€™s face it, I only play developer on GitHub. In real life Iā€™m anything butā€¦ Anyways Iā€™m gonna at least try to getting my :poop: together, and very least some kind of versioningā€¦ I think I finally have something thatā€™s gonna work, and it only took everything up to and including making the zj2m plugin to finally figure it outā€¦

Iā€™m still playing around with it to be sure, but Iā€™m thinking of a modified date versioning ā€“ something like v1-2021.02.23 ā€“ Now I donā€™t expect a huge number of releases to be flooding out, but the idea isā€¦ every release has a date ( :man_facepalming: obvious ) - So for example, if I update the menu, or zj2m install script, the date gets bumped indicating there has been changes to files in the overlay and you know there is a Plugin UPDATE availableā€¦

the v1 prefix would track major changes that may or may not be a breaking change. Like adding or removing a default package from the pluginā€™s manifest. For example, zj2m will go to v2 when the Node version switches to LTS, or when the python version for Home Assistant changes, the vX will be increased by one (along with the date)

There some other doors that have just opened, expanding my tiny worldā€¦ I think some small improvements are on the way :wink:

1 Like

Sorry to have wasted your time @troy. TrueNAS seems to have an annoying ā€˜featureā€™ when copying text. I had to manually type out the message from the TrueNAS shell, as for some reason when I highlight text & ctrl-insert it always misses several of the last lines when subsequently pastingā€¦ Of course once you press enter in the shell the message disappears. I should have taken a screenshotā€¦

Happy to try to help with an AppDaemon plugin. Weā€™re literally having our heating system replaced at home over the next couple of days, so very keen to get schedy scheduling running soon!

Cheers,

Craig

To be clear. Iā€™m not upset about it any wayā€¦ just saying what it is :smile:

Iā€™m only upset by the fact your having trouble in the first place, and that is not your fault. Had I known I would have just the clean install from the start, since that error could be a little more difficult to track down. That one is not an error I can easily reproduce, so Iā€™m not sure what the actual cause is.

Yea, thatā€™s why I tried to do the menu thingā€¦ I take for granted how easy to just user a terminal from from Desktop, cause Iā€™m using Linuxā€¦ I have it clear the screen when using the menu, but we can also exit the menu type in commands so the output is not lost. Iā€™ll look into dumping that output into some kinda log file. If you trying to capture output from when using the menu, a screenshot is fine.

Glad your on board :+1: It will be better for both AppDaemon and Home Assistant if I split these upā€¦ For now please just reinstall the Home Assistant pluginā€¦ I have a few things in line before I get to this.

OK, so Iā€™ve reinstalled the plugin & reconnected to my original dataset. When I stopped the jail after the plugin was installed & tried to create the mountpoint it didnā€™t like the fact that the homeassistant directory already existed & I had to:

iocage console $JAIL_NAME
# Press `0` to exit menu
rm -rf /home/homeassistant

before I could create the mountpoint. Is there something I did wrong? Anyway, after doing this I created the mountpoint, started the jail & it looks like it worked fine.

I havenā€™t done any of the ā€œInstalling optional servicesā€ but both the AppDaemon & File Editor menu options are showing (presumably because I had them installed before?), but neither work. Iā€™ll leave AppDaemon for now, but how do I get the File Editor working again?

Nope ā€“ This is just the way it is.

the menu is always there ā€“ the only thing that changes in the appdaemon and file-editor menu, is number 8 - when you install the one of them, it should change to remove, when you remove it should change back to install

If you go to the menu and for file editor - what does number 8 say ? ā€“ are you telling me there is an error if you try installing it ?

yep

Sorry, I was being daft, I hadnā€™t re-installed the configurator (File Editor)ā€¦
Itā€™s working fine now :slight_smile:

1 Like

Soā€¦ give appdaemon another shot :smile:
:crossed_fingers:

Unfortunately the same error as before with AppDaemon.


There are a number of other errors all to do with cryptography, hopefully this cut/paste works:

  Created wheel for cffi: filename=cffi-1.14.5-cp38-cp38-freebsd_12_2_release_p2_amd64.whl size=180973 sha256=a6faaa332db4bd79dc586e12a830fb241b9dc6a024a9dbac023837ad0629e999
  Stored in directory: /tmp/pip-ephem-wheel-cache-nijxjdsy/wheels/04/f4/d8/7ce287ba472b28f118422005f3e885c8124dd5dd092889685b
  Building wheel for cryptography (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/share/appdaemon/bin/python3.8 /usr/local/share/appdaemon/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmppwj2g1wn
       cwd: /tmp/pip-install-j0j3qeo4/cryptography_125dd05bd3dd46d99a75a570f28c49d6
  Complete output (149 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography
  copying src/cryptography/exceptions.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography
  copying src/cryptography/utils.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography
  copying src/cryptography/fernet.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography
  copying src/cryptography/__about__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography
  copying src/cryptography/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/x509
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat
  copying src/cryptography/hazmat/_der.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat
  copying src/cryptography/hazmat/_types.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/bindings
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/bindings/openssl
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/kdf
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/asymmetric
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/serialization
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/ciphers
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/primitives/twofactor
  creating build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography/hazmat/backends/openssl
  running egg_info
  writing src/cryptography.egg-info/PKG-INFO
  writing dependency_links to src/cryptography.egg-info/dependency_links.txt
  writing requirements to src/cryptography.egg-info/requires.txt
  writing top-level names to src/cryptography.egg-info/top_level.txt
  reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  no previously-included directories found matching 'docs/_build'
  warning: no previously-included files found matching 'vectors'
  warning: no previously-included files matching '*' found under directory 'vectors'
  warning: no previously-included files matching '*' found under directory '.github'
  warning: no previously-included files found matching 'release.py'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'dev-requirements.txt'
  warning: no previously-included files found matching 'tox.ini'
  warning: no previously-included files found matching 'mypy.ini'
  warning: no previously-included files matching '*' found under directory '.zuul.d'
  warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  copying src/cryptography/py.typed -> build/lib.freebsd-12.2-RELEASE-p2-amd64-3.8/cryptography
  running build_ext
  generating cffi module 'build/temp.freebsd-12.2-RELEASE-p2-amd64-3.8/_padding.c'
  creating build/temp.freebsd-12.2-RELEASE-p2-amd64-3.8
  generating cffi module 'build/temp.freebsd-12.2-RELEASE-p2-amd64-3.8/_openssl.c'
  running build_rust

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install cryptography:
      1) Upgrade to the latest pip and try again. This will fix errors for most
         users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
      2) Read https://cryptography.io/en/latest/installation.html for specific
         instructions for your platform.
      3) Check our frequently asked questions for more information:
         https://cryptography.io/en/latest/faq.html
      4) Ensure you have a recent Rust toolchain installed:
         https://cryptography.io/en/latest/installation.html#rust
      5) If you are experiencing issues with Rust for *this release only* you may
         set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
      =============================DEBUG ASSISTANCE=============================

  error: Can not find Rust compiler
  ----------------------------------------
  ERROR: Failed building wheel for cryptography
  Building wheel for MarkupSafe (setup.py) ... done
  Created wheel for MarkupSafe: filename=MarkupSafe-1.1.1-cp38-cp38-freebsd_12_2_release_p2_amd64.whl size=17589 sha256=0982c91c2c274f345ee1a77f708e36bf7228cfa5c32701b92a74bd450eb98a09
  Stored in directory: /tmp/pip-ephem-wheel-cache-nijxjdsy/wheels/0c/61/d6/4db4f4c28254856e82305fdb1f752ed7f8482e54c384d8cb0e
  Building wheel for multidict (PEP 517) ... done
  Created wheel for multidict: filename=multidict-4.7.6-cp38-cp38-freebsd_12_2_release_p2_amd64.whl size=52080 sha256=46e94decbb4b5617a2f8c3475824fa1bc97bd1c5c0f39b7e718f855a6891a4c0
  Stored in directory: /tmp/pip-ephem-wheel-cache-nijxjdsy/wheels/78/82/3a/e149e5c0e123a9094d46ec7249c95ceff6d63c90dcdd2c295d
  Building wheel for ordered-set (setup.py) ... done
  Created wheel for ordered-set: filename=ordered_set-4.0.2-py2.py3-none-any.whl size=8210 sha256=9b664655d0533ff051988b8e83c77dda4a06612fda111b194d9237f0ee60726c
  Stored in directory: /tmp/pip-ephem-wheel-cache-nijxjdsy/wheels/a1/09/42/0b963b1d5423ddc87cb4ba9f475e09838d3813300b52a866ea
Successfully built bcrypt feedparser paho-mqtt pyyaml voluptuous yarl cffi MarkupSafe multidict ordered-set
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

INFO: /home/homeassistant/appdaemon is not empty!

INFO: Example configuration will not be added.
WARN: appdaemon may fail to start with missing or invalid configuration.

I see that the DEBUG ASSISTANCE suggests updating pip?

Actually, I think we are making progress - please see the AppDaemon section of this post for next steps

OK. I went for option 2 in the link (install rust and use latest version of cryptography) and thatā€™s done the trick! AppDaemon is running!
Thank you again for your time on this.
Can I confirm that for installing hass-apps I need to use the following command in the shell?

service homeassistant install --upgrade hass-apps

Closeā€¦ but NO ā€“ AppDaemon is a separate virtualenv however I have not combined the install with service, like how I did in Home Assistant.

I think this will do the trick instead

menu_service appdaemon install --upgrade hass-apps

unfortunately that doesnā€™t work:

root@homeassistant-1:~ # menu_service appdaemon install --upgrade hass-apps
/root/bin/menu_service: ERROR: Sorry, install is not provided here

ughā€¦ sorry @CT846 - I just realize this rather limited compared to how Home Assistant is setup.

We gonna have to go full manual on this oneā€¦

su - homeassistant
source /usr/local/share/appdaemon/bin/activate
pip install --upgrade hass-apps
deactivate && exit

The you can use menu to restart appdaemon ( if needed )

Wow! That seems to have done the trick! Thank you.
Now to see if I can get schedy scheduling workingā€¦