Home Assistant Supervised (previously known as Hass.io) on Synology DSM as native package (not supported or working atm)

Hey @fredrike!
Please see what Synology replied to me:

Dear Customer,
thank you for your request.

After consulting with our development department, this is a docker problem.

Here is a forum entry from Docker.
https://github.com/docker/for-linux/issues/123

Actually I was unable to confirm their findings, as the issue solution in mentioned Docker issue is to add a bridge docker network, which we already have in Synology box. Maybe I’m missing something? If you could dig into this and confirm or not their theory, so I could get back to them.

I think you need to raise the issue again. It is not a Docker issue, Docker works fine. It is a Synology DSM issue (everything else works fine).
I’ll try to update this post with the commands that the hassio-supervisor issues when creating the hassio network.

But, I don’t have a box to fully test this myself so I can’t guarantee anything. (My NAS is in “production” running hassio)

Edit

This is the code that creates the docker network. https://github.com/home-assistant/hassio/blob/dev/hassio/docker/network.py#L66

        return self.docker.networks.create(
            DOCKER_NETWORK,
            driver="bridge",
            ipam=ipam_config,
            enable_ipv6=False,
            options={"com.docker.network.bridge.name": DOCKER_NETWORK},
        )

Ok, so I’m trying to use z-wave stick with my home assistant but I’m having an issue seeing the z-wave stick but when I go to hass.io–>System–>Hardware I do see the USB “/dev/ttyACM0” but when I add that in the z-wave integration it doesn’t look like it works. On the other hand zigbee stick works perfectly that is connected on /dev/ttyACM1


Nothing shows in Z-Wave nodes.

Z-wave Stick: Zooz Z-Wave Plus S2 USB

Thank you,

Try using the serial/by-id device instead.

Perhaps you need to install the serial USB drivers linked to above.

If you are writing to a disk it will not go to sleep… I’m not sure how you can set up the system to allow it to hibernate.

I tried serial/by-id device the same issue. How can I find a serial USB driver download link

I have to run more tests. I have 2nd Synology Box without hassio package.
And I can tell that creating a Docker network with the same parameters as the hassio network on my 1st box results in no issues with the VPN package at all. So there must be something else what is causing this.

Ok i installed the serial USB driver on the Synology but i still can’t get it working. This is the log in OZW_Log.tx in homeassistant

2019-12-09 14:20:25.348 Always, OpenZwave Version 1.4.3440 Starting Up
2019-12-09 14:20:27.361 Info, Setting Up Provided Network Key for Secure Communications
2019-12-09 14:20:27.361 Info, mgr,     Added driver for controller /dev/ttyACM0
2019-12-09 14:20:27.361 Info,   Opening controller /dev/ttyACM0
2019-12-09 14:20:27.361 Info, Trying to open serial port /dev/ttyACM0 (attempt 1)
2019-12-09 14:20:27.361 Info, Serial port /dev/ttyACM0 opened (attempt 1)
2019-12-09 14:20:27.361 Detail, contrlr, Queuing (Command) FUNC_ID_ZW_GET_VERSION: 0x01, 0x03, 0x00, 0x15, 0xe9
2019-12-09 14:20:27.361 Detail, contrlr, Queuing (Command) FUNC_ID_ZW_MEMORY_GET_ID: 0x01, 0x03, 0x00, 0x20, 0xdc
2019-12-09 14:20:27.361 Detail, contrlr, Queuing (Command) FUNC_ID_ZW_GET_CONTROLLER_CAPABILITIES: 0x01, 0x03, 0x00, 0x05, 0xf9
2019-12-09 14:20:27.361 Detail, contrlr, Queuing (Command) FUNC_ID_SERIAL_API_GET_CAPABILITIES: 0x01, 0x03, 0x00, 0x07, 0xfb
2019-12-09 14:20:27.361 Detail, contrlr, Queuing (Command) FUNC_ID_ZW_GET_SUC_NODE_ID: 0x01, 0x03, 0x00, 0x56, 0xaa
2019-12-09 14:20:27.361 Detail, 
2019-12-09 14:20:27.361 Info, contrlr, Sending (Command) message (Callback ID=0x00, Expected Reply=0x15) - FUNC_ID_ZW_GET_VERSION: 0x01, 0x03, 0x00, 0x15, 0xe9
2019-12-09 14:20:28.361 Error, contrlr, ERROR: Dropping command, expected response not received after 1 attempt(s)
2019-12-09 14:20:28.361 Detail, contrlr, Removing current message
2019-12-09 14:20:28.361 Detail, contrlr, Notification: Notification - TimeOut
2019-12-09 14:20:28.361 Detail, 
2019-12-09 14:20:28.361 Info, contrlr, Sending (Command) message (Callback ID=0x00, Expected Reply=0x20) - FUNC_ID_ZW_MEMORY_GET_ID: 0x01, 0x03, 0x00, 0x20, 0xdc
2019-12-09 14:20:29.361 Error, contrlr, ERROR: Dropping command, expected response not received after 1 attempt(s)
2019-12-09 14:20:29.362 Detail, contrlr, Removing current message
2019-12-09 14:20:29.362 Detail, contrlr, Notification: Notification - TimeOut
2019-12-09 14:20:29.362 Detail, 
2019-12-09 14:20:29.362 Info, contrlr, Sending (Command) message (Callback ID=0x00, Expected Reply=0x05) - FUNC_ID_ZW_GET_CONTROLLER_CAPABILITIES: 0x01, 0x03, 0x00, 0x05, 0xf9
2019-12-09 14:20:30.362 Error, contrlr, ERROR: Dropping command, expected response not received after 1 attempt(s)
2019-12-09 14:20:30.362 Detail, contrlr, Removing current message
2019-12-09 14:20:30.362 Detail, contrlr, Notification: Notification - TimeOut
2019-12-09 14:20:30.362 Detail, 
2019-12-09 14:20:30.362 Info, contrlr, Sending (Command) message (Callback ID=0x00, Expected Reply=0x07) - FUNC_ID_SERIAL_API_GET_CAPABILITIES: 0x01, 0x03, 0x00, 0x07, 0xfb
2019-12-09 14:20:31.362 Error, contrlr, ERROR: Dropping command, expected response not received after 1 attempt(s)
2019-12-09 14:20:31.362 Detail, contrlr, Removing current message
2019-12-09 14:20:31.362 Detail, contrlr, Notification: Notification - TimeOut
2019-12-09 14:20:31.362 Detail, 
2019-12-09 14:20:31.362 Info, contrlr, Sending (Command) message (Callback ID=0x00, Expected Reply=0x56) - FUNC_ID_ZW_GET_SUC_NODE_ID: 0x01, 0x03, 0x00, 0x56, 0xaa
2019-12-09 14:20:32.362 Error, contrlr, ERROR: Dropping command, expected response not received after 1 attempt(s)
2019-12-09 14:20:32.362 Detail, contrlr, Removing current message
2019-12-09 14:20:32.362 Detail, contrlr, Notification: Notification - TimeOut

Ok, so I got it working!

I have noticed that in the network configuration of hassio is a check whenever a Hassio network already exist. https://github.com/home-assistant/hassio/blob/fc5d97562f1abd028295542e602f04f9ce055dce/hassio/docker/network.py#L52

   """Get HassIO network."""
        try:
            return self.docker.networks.get(DOCKER_NETWORK)
        except docker.errors.NotFound:
            _LOGGER.info("Can't find Hass.io network, create new network")

I thought that it should be possible to create the network manually first, and then install the package.

So first I have uninstalled the hassio package.
To fully restore the VPN package functionality i had to reboot Synology

Then I have created a Docker network from GUI (with the same parameters which hassio uses):

Network Name: hassio
Subnet: 172.30.32.0/23
IP range: 172.30.32.0/24
Gateway: 172.30.32.1
Enable IPv6: unchecked
Disable IP Masquerade: unchecked

Installed the hassio package and no issues observed!
VPN package working, all network interfaces are displayed correctly.

And If I recall correctly, when I have first installed the hassio some time ago i had some issues with restart-loop of hassio_dns containter and also that DNSes were unable to resolve names in hassio containers (i had to manually adjust the resolv.conf).

And now all these issues are gone.

1 Like

Great find!

It would be interesting to see what the supervisor does differently than the DSM interface then. I think you must raise and ask Synology for this. I don’t have deep insight on what the supervisor does to create the hassio network (the corresponding docker-cli commands) but perhaps @pvizeli can help with that.

I had some issues that the routing to the hassio network didn’t work so the package adds routing manually perhaps that also could be a reason for this issue.

I really need an extra box to test this things on…

Try to use Xpenology on a VM, I have one in VirtualBox :slight_smile:

Installation wen flawlessly, thank you for that!
One major problem I’m having is that the Hassio button doesn’t do anything, and blocks my whole session.

EDIT: It seems a full restart of the containers fixed it.

The package works great on my DS916+! Thank you very much.

I installed the addon “SSH & Web Terminal” and entered username and password in the configuration. The addon doesn’t start because the permissions of the host key are too open:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Permissions 0755 for '/data/ssh_host_rsa_key' are too open.

It is required that your private key files are NOT accessible by others.

This private key will be ignored.

Unable to load host key "/data/ssh_host_rsa_key": bad permissions

Unable to load host key: /data/ssh_host_rsa_key

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Permissions 0755 for '/data/ssh_host_ed25519_key' are too open.

It is required that your private key files are NOT accessible by others.

This private key will be ignored.

Unable to load host key "/data/ssh_host_ed25519_key": bad permissions

Unable to load host key: /data/ssh_host_ed25519_key

sshd: no hostkeys available -- exiting.

[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing... 
[12:16:51] INFO: STDIN service was stopped, restarting...
[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
[s6-finish] waiting for services.
/usr/lib/bashio/config.sh: line 49: printf: write error: Broken pipe
[s6-finish] sending all processes the TERM signal.

I’m not quite sure where to report this… is it a matter of the plugin, Hass.io or the Synology package?

I’ve logged in to the nas ssh shell, the files are being created with these rights:

root@nas:/volume1/docker/hass.io/addons/data/a0d7b954_ssh# ls -lisa
total 20
17806 0 drwxr-xr-x+ 1 root root  236 Dec 17 12:00 .
  311 0 drwxr-xr-x+ 1 root root   54 Dec 17 11:53 ..
17830 0 -rwxr-xr-x+ 1 root root    0 Dec 17 12:00 .gitconfig
17810 4 -rwxr-xr-x+ 1 root root  439 Dec 17 12:16 options.json
17829 0 drwx------  1 root root    0 Dec 17 12:00 .ssh
17826 4 -rwxr-xr-x+ 1 root root  432 Dec 17 12:00 ssh_host_ed25519_key
17827 4 -rwxr-xr-x+ 1 root root  113 Dec 17 12:00 ssh_host_ed25519_key.pub
17824 4 -rwxr-xr-x+ 1 root root 2622 Dec 17 12:00 ssh_host_rsa_key
17825 4 -rwxr-xr-x+ 1 root root  585 Dec 17 12:00 ssh_host_rsa_key.pub
17828 0 -rw-------  1 root root    0 Dec 17 12:16 .zsh_history
root@nas:/volume1/docker/hass.io/addons/data/a0d7b954_ssh#

Update *_key permission to 600 (r+w for root only).

Yes, it’s obvious, but where do I report it? Only the Synology package seems to be affected by this issue. Today I saw some users in a Facebook group facing this very same issue with the Synology package.

When I install this, I have a problem about

[hassio.utils.dt] Can’t fetch freegeoip data: Cannot connect to host ip-api.com:80 ssl:None [Try again]
[hassio.updater] Can’t fetch versions from https://version.home-assistant.io/stable.json: Cannot connect to host version.home-assistant

something like that…

This error was due to firewall setting in my DSM.
When I turn the firewall off, It is cleared.
Please add this information on the top, for other people who install it first time :slight_smile:

1 Like

Does nobody else have the problem of the hassio_supervisor constantly restarting every 5 minutes?

Hi all,

Im trying to install Hassio on my Synology NAS DS3615XS I got it up and running, but when I want to to restore from a snapshot everything stops working. I have waited a total of 30 minutes to give the system some time to get back up online but no joy.

I have alse restarted the nas and started the hassio package my nothing seems to work. Does anybody have an idea on how to fix it.

Regards Jordy

Hi i have the problem attached.
I have a synology 1215+, docker and python 3.5
But hass.io don’t run.

Why