New Install, New User, and personal introduction

I’ve been working on HA for a little bit now and have integrated quite a few components. Really I wanted to introduce myself but couldn’t find the appropriate sub-forum to do so.

My primary base install is using an Arch Linux install as a headless server. Keeping on a rolling release. Right now I have the computer’s network component bound to internal access only. The server is a beast of a machine and I would probably say it’s overkill for a single instance of HA, but I’m running other components and it’s my virtual machine server (hence the cores and memory).

OS: Arch Linux x86_64
Kernel: 5.0.5-arch1-1-ARCH
Uptime: 34 days, 19 hours, 29 mins
Packages: 358 (pacman)
Shell: bash 5.0.2
CPU: Intel i7-4960X (12) @ 4.000GHz
GPU: NVIDIA GeForce GTX 260
Memory: 411MiB / 15929MiB

The install I believe is using HA. The distinction isn’t very clear imho. I know there’s Hasbian, Hass.io, HA, and Docker. The install I did was using Python’s pip but I’m not sure which one to call it since I’m using Arch as the base. Any help on a better definition for this would be great. I think the documentation really needs to be expanded to incorporate the definition of installation on a pre-existing system. Most of the documentation I read through was focused on one or another, but nothing really linking to specifics. I piecemealed most of the set up through the use of the archwiki.

I’ve got darksky weather and sensors both set up. At first I couldn’t figure out why one worked, but the other didn’t. Then I realized they were two different components. Still learning yaml. The one problem I am having getting connected is zwave though. I’m using a Aeotec Z-Stick Series 5 as it seems to be the highest rated with great Linux support. I made sure to disable the disco lights as well. When I tried adding the zwave integration it keeps failing, so I manually added it to my config. The problem I’m running into here, I’m not able to add any additional zwave elements. My overall goal is to remove Wink from the current smarthome layout.

# Z-Wave Configuration
zwave:
  usb_path: /dev/ttyACM0
  device_config: !include zwave_device_config.yaml
  network_key: !secret z_wave

# Output of [ls -ltr /dev/tty* | tail -n 1] after reconnecting
crw-rw---- 1 root    uucp 166,  0 Apr  3 21:03 /dev/ttyACM0

# hass version: 0.90.2

I think something that needs to be added to the forums is introductions. Also, would be nice to have a documentation discussion forum as well. I don’t have an account on github as I’m very anti microsoft & apple.

Solution found using a mistitled installation guide thanks to a link from bosborne.

Welcome!

If you installed in a Python virtualenv, as is generally recommended for Python apps, you are using a virtualenv install.
Hassbian is just a virtualenv install with some added management scripts. The virtualenv permits you to run several different Python apps with potentially conflicting module requirements. Here are the documents for a virtualenv installation.

Some people refer to just Home Assistant as HASS.

Hass.io really has 2 flavors. You can install Hass.io on Linux in Docker containers. they also have a Hass.io image which contains their stripped down HassOs.

I see you have the line network_key: !secret z_wave Did you make a secrets file with that key?

I agree there is a lot of confusion in “what the heck do I call my install” due to the myriad ways of installing Home Assisant.

The basic thing to remember is that, no matter which method of installation you use, you will always end up running “Home Assistant” or HA as many refer to it in the forums. Every single install is the same base HA system.

Hassbian is just a pre-configured Raspbian image (which is a Linux OS for a Raspberry Pi which is based on the Debian Stretch OS) that launches the HA install script at start-up that installs HA in a Python Virtual Environment.

Hassio is a pre-configured image for a Raspberry Pi that installs a trimmed down Linux based OS to just the essentials needed to run HA which is installed in a Docker environment by installing two Docker containers - the supervisor container and the HA container. HassOS is not made to allow any other apps to be installed outside of the HA environment other than those that are offered thru the ‘add-on’ system. Add-ons are just pre-configured Docker containers designed to more easily integrate other functionality into HA. So once you install Hassio onto RPi you can’t use that RPi for anything else other than HA related functions.

You can, however install Hassio onto any Linux based OS using Docker and have the benefit of the Hassio Add-ons and then also use the machine to run other apps as you see fit.

Or you can install HA (non-hassio) directly as a container in Docker wherever Docker is sold :wink:.

Those are the more popular installation methods but as you know there are many other ways to get to the same end result - Home Assisant.

As far as zwave you will need to make sure your HA user is in the ‘dialout’ group.

is there anything in the z wave logs when you try to pair a device?

1 Like

Excellent clarification on the installation. I didn’t want to use Docker as I like using a heavy hand with management of the system, right down to the version of libraries or duplicate files. Ultimately, I like having control over the OS I use which is why I prefer the virtualenv on top of Arch.

I’ve gone through and hardened my system for security, complete with custom binding through iptables, fail2ban, and ssh-private key only. My plan is to eventually put this on a public facing domain eventually, so it needs a good hard encryption with signed certs.

Thanks for the help on this as well.

Regarding zwave, I have not done any pairing just yet as the docs warn against pairing prior to connection to HA due to limited control/reporting. So, I’m trying to make sure the zwave stick is set correctly prior to pairing any new devices. Currently, I only have six zwave devices (wall switches and ceiling fans), but that will be expanded pretty quickly once I’m able to get it set correctly.

I think it was a typo but HassOS is the image which can be loaded on a number of system types to run Hass.io and Home Assistant.

HassOS: GitHub - home-assistant/operating-system: 🔰 Home Assistant Operating System
Stripped down operating system (linux based) to run Hass.io and Home Assistant.

Hass.io: GitHub - home-assistant/supervisor: 🏡 Home Assistant Supervisor
A set of docker containers (Supervisor and Home Assistant). The supervisor keeps things up and running and allows the use of add-ons (pre-built docker containers to add onto home assistant)

HA : GitHub - home-assistant/core: 🏡 Open source home automation that puts local control and privacy first.
Everyone runs this regardless of install method. This is the base code that runs the home automation system.

1 Like

Oh, from this I thought you had tried to pair and failed:

What else are you wanting to do before attempting to pair a device?

1 Like

I’m just wanting to make sure the z-wave component is reporting correctly. Currently it doesn’t show up on the side panel under “Configuration” like it should. So, I’m not sure what I’m doing wrong. I’ve added in the “dialup” group to the server and chowned the /dev/ttyACM0. So it should be reporting correctly. I’ll know if this worked when I get home later this evening.

# [ls -l /dev/ttyACM0]
crw-rw---- 1 root    dialout 166,  0 Apr  3 21:03 /dev/ttyACM0

what version of HA are you on?

It’s in the OP. I’ve added the user to the dialout group as well.

I wonder if my issue has anything to do with the the version I’m running. Keep in mind, this was a new install using pip. If this is the case, is there docs I can use to downgrade to 0.90.1?

I have been running zwave fine on 0.90.2

Try going under Configuration Integration and configuring zwave there. If it sees your yaml entries it will complain.

Good to know. I wonder if changing the group information from uucp to dialout is what will fix it. Again, I’ll know when I get home.

Yeah, sorry. I missed that.

If you originally tried to run it thru the integration then what is likely happening is that the path that was automatically configured is stuck in the device registry and is complaining that it can’t find that device because it’s really at ACM0 and not some other thing.

You can solve that in two ways. Either go into the device registry and manually edit the xml file there to change it to ACM0 or just delete the entry completely. Or better would be to update to v91 since with that new version the configuration.yaml usb path overrides that which is stored in the device registry so it won’t care what the value it has in there any more.

all of this is conjecture based on things I’ve seen helping others solve other zwave problems. So I’m confident that it’s at least a reasonable path to go down. But it’s still possible (maybe even likely…) that I’m completely wrong. :slightly_smiling_face:

1 Like

“Human after all” you might say… :crazy_face:

2 Likes

Personally, I would wait until the inevitable 0.91.1 I have learned the .0 is usually not worth the “pain”. I waited last time for the first patch & things went much smoother.

So here’s an update on the zwave front. There’s no change in the results of adding the integration in. Either manually or using the HA configuration menu. So I’m going to wait until 0.91.1 is released and work from there.

did you check the device registry to see if the path was wrong in there? I’m not suggesting you edit it if you’re not comfortable with that. but It would be interesting to see if that is where the potential problem is.

I think I’m missing something… where do I find the device registry?

It’s in the config directory in the .storage folder

This is what I’m seeing on this end. I checked through the core.config_entries (only file I found with zwave or ttyACM0 in it) but it looked correct.

        {
            "connection_class": "local_push",
            "data": {
                "network_key": <Redacted>,
                "usb_path": "/dev/ttyACM0/"
            },
            "domain": "zwave",
            "entry_id": "61705ec5230448f59c671ef58cf9b39f",
            "options": {},
            "source": "import",
            "title": "Z-Wave (import from configuration.yaml)",
            "version": 1
        }