Giter Club home page Giter Club logo

supervisor's Introduction

Home Assistant Supervisor

First private cloud solution for home automation

Home Assistant (former Hass.io) is a container-based system for managing your Home Assistant Core installation and related applications. The system is controlled via Home Assistant which communicates with the Supervisor. The Supervisor provides an API to manage the installation. This includes changing network settings or installing and updating software.

Installation

Installation instructions can be found at https://home-assistant.io/getting-started.

Development

For small changes and bugfixes you can just follow this, but for significant changes open a RFC first. Development instructions can be found here.

Release

Releases are done in 3 stages (channels) with this structure:

  1. Pull requests are merged to the main branch.
  2. A new build is pushed to the dev stage.
  3. Releases are published.
  4. A new build is pushed to the beta stage.
  5. The stable.json file is updated.
  6. The build that was pushed to beta will now be pushed to stable.

supervisor's People

Contributors

3v1n0 avatar agners avatar allenporter avatar anandb235 avatar balloob avatar bdraco avatar boesing avatar bramkragten avatar c727 avatar casperklein avatar dark-knight11 avatar dependabot-preview[bot] avatar dependabot[bot] avatar f1nnm avatar fabaff avatar frenck avatar ikifar2012 avatar ludeeus avatar martinhjelmare avatar mdegat01 avatar nekros1712 avatar prathamesh010 avatar pvizeli avatar sairon avatar scop avatar spacegaier avatar timmo001 avatar tschmidty69 avatar vighnesh-kadam avatar zeehio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

supervisor's Issues

Letsencrypt stopped

lets encrypt addon stopped working.. itself even I started
I'm using HA v0.52.1
letsencrypt v1.2
locally i can access my HA
but from Internet it cannot be accessed
I'm started using letsencrypt since a month ago

Audio not playing through headphone jack when HDMI connected

Hello,

My HDMI port seems to be overriding the headphone jack for audio output when connected. The headphone jack works fine when I do not have an HDMI cable plugged in. I use it for HDMI-CEC on my TV so it is necessary.

My google assistant configs are as such:

{
  "mic": "1,0",
  "speaker": "0,0",
  "client_secrets": "google_assistant.json"
}

I have tried changing the speaker to 0,1 or 0,2 with no success. Here is a list of my devices.

hassio host hardware
{
  "serial": [],
  "input": [
    "C-Media Electronics Inc.       USB PnP Sound Device"
  ],
  "disk": [],
  "audio": {
    "0": {
      "name": "bcm2835 - bcm2835 ALSA",
      "type": "ALSA",
      "devices": {
        "0": "digital audio playback",
        "1": "digital audio playback"
      }
    },
    "1": {
      "name": "USB-Audio - USB PnP Sound Device",
      "type": "Device",
      "devices": {
        "0": "digital audio capture"
      }
    }
  }
}

I'm running home assistant 0.54 on a raspberry pi 3b

new hass.io install throws errors after reboot

fresh install off hass.io burnt with etcher.
After first boot i installed these components

{
  "version": "0.58",
  "last_version": "0.58",
  "beta_channel": false,
  "arch": "armhf",
  "timezone": "Europe/Amsterdam",
  "addons": [
    {
      "name": "Check Home Assistant configuration",
      "slug": "core_check_config",
      "description": "Check current Home Assistant configuration against a new version",
      "state": "stopped",
      "version": "0.7",
      "installed": "0.7",
      "repository": "core",
      "logo": true
    },
    {
      "name": "Samba share",
      "slug": "core_samba",
      "description": "Expose Hass.io folders with SMB/CIFS",
      "state": "started",
      "version": "2.0",
      "installed": "2.0",
      "repository": "core",
      "logo": true
    },
    {
      "name": "Mosquitto broker",
      "slug": "core_mosquitto",
      "description": "An Open Source MQTT broker",
      "state": "started",
      "version": "1.0",
      "installed": "1.0",
      "repository": "core",
      "logo": true
    },
    {
      "name": "Bluetooth BCM43xx",
      "slug": "core_bluetooth_bcm43xx",
      "description": "Activate Bluetooth for Broadcom 43xx chips",
      "state": "started",
      "version": "0.7",
      "installed": "0.7",
      "repository": "core",
      "logo": true
    },
    {
      "name": "SSH server",
      "slug": "core_ssh",
      "description": "Allows connections over SSH",
      "state": "started",
      "version": "2.7",
      "installed": "2.7",
      "repository": "core",
      "logo": true
    }
  ],
  "addons_repositories": []
}

and setup tradfri
nothing else.
After reboot hass doesn't start, showing this:

core-ssh:/config# hassio homeassistant logs
Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3.6/site-packages/homeassistant/__main__.py", line 367, in <module>
    sys.exit(main())
  File "/usr/lib/python3.6/site-packages/homeassistant/__main__.py", line 342, in main
    args = get_arguments()
  File "/usr/lib/python3.6/site-packages/homeassistant/__main__.py", line 90, in get_arguments
    import homeassistant.config as config_util
  File "/usr/lib/python3.6/site-packages/homeassistant/config.py", line 26, in <module>
    from homeassistant.util.yaml import load_yaml
  File "/usr/lib/python3.6/site-packages/homeassistant/util/yaml.py", line 11, in <module>
    import keyring
  File "/usr/lib/python3.6/site-packages/keyring/__init__.py", line 6, in <module>
    from .core import (set_keyring, get_keyring, set_password, get_password,
  File "/usr/lib/python3.6/site-packages/keyring/core.py", line 14, in <module>
    from . import backend
  File "/usr/lib/python3.6/site-packages/keyring/backend.py", line 12, in <module>
    import pkg_resources
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3017, in <module>
    @_call_aside
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3003, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3030, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 650, in _build_master
    ws = cls()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 643, in __init__
    self.add_entry(entry)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 699, in add_entry
    for dist in find_distributions(entry, True):
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2023, in find_on_path
    path_item, entry, metadata, precedence=DEVELOP_DIST
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2432, in from_location
    py_version=py_version, platform=platform, **kw
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2772, in _reload_version
    md_version = _version_from_file(self._get_metadata(self.PKG_INFO))
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2397, in _version_from_file
    line = next(iter(version_lines), '')
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2565, in _get_metadata
    for line in self.get_metadata_lines(name):
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1471, in get_metadata_lines
    return yield_lines(self.get_metadata(name))
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1468, in get_metadata
    return value.decode('utf-8') if six.PY3 else value
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xda in position 185: invalid continuation byte

tried twice, same result... i'm not familiair with docker/hass.io.

Unable to update to 0.50.2 - 404 Client Error: Not Found ("No such image: homeassistant/raspberrypi3-homeassistant:0.51.2").

When attempting update, receive the following error:

404 Client Error: Not Found ("No such image: homeassistant/raspberrypi3-homeassistant:0.51.2").

Applicable log info:

17-08-14 19:36:58 INFO (SyncWorker_4) [hassio.dock] Update docker 0.50.2 with homeassistant/raspberrypi3-homeassistant:0.51.2
17-08-14 19:36:58 INFO (SyncWorker_4) [hassio.dock] Pull image homeassistant/raspberrypi3-homeassistant tag 0.51.2.
17-08-14 19:37:38 ERROR (SyncWorker_4) [hassio.dock] Can't install homeassistant/raspberrypi3-homeassistant:0.51.2 -> 404 Client Error: Not Found ("No such image: homeassistant/raspberrypi3-homeassistant:0.51.2").

I have restarted both home assistant and the host raspberry pi 3 multiple times as well as attempted update from both front-end and cmd line via 'hassio homeassistant update'. Both error with the same info about 'No such image'. Space doesn't seem to be an issue as I have several gigs free. I've been unable to locate a solution via the forums, subreddit, or general googling.

Link to update changelog

I am a happy user of Hass.io, but one thing I would like is a link to the changelog or release notes in the update panel when an update is available. And maybe to both hassio and home assistant changelog/release notes it both could contain relevant information.

Somewhere in here:

image

HUSBZ-1 does not function at at all

Version 50.2

GoControl Linear HUSBZ-1 does work when plugged into a rPi3.

lsusb
Bus 001 Device 002: ID 0424:9514
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 003: ID 0424:ec00
Bus 001 Device 004: ID 10c4:8a2a

ls /dev
char full mqueue ptmx random stderr stdout urandom
fd kmsg null pts shm stdin tty zero

When I unplug and plug it back in I get this

dmesg
[ 711.676441] usb 1-1.5: USB disconnect, device number 4
[ 711.677797] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[ 711.678088] cp210x 1-1.5:1.0: device disconnected
[ 711.683246] cp210x ttyUSB1: cp210x converter now disconnected from ttyUSB1
[ 711.683475] cp210x 1-1.5:1.1: device disconnected
[ 715.236070] usb 1-1.5: new full-speed USB device number 5 using dwc_otg
[ 715.343224] usb 1-1.5: New USB device found, idVendor=10c4, idProduct=8a2a
[ 715.343251] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[ 715.343267] usb 1-1.5: Product: HubZ Smart Home Controller
[ 715.343283] usb 1-1.5: Manufacturer: Silicon Labs
[ 715.343297] usb 1-1.5: SerialNumber: C0F007B8
[ 715.348649] cp210x 1-1.5:1.0: cp210x converter detected
[ 715.355046] usb 1-1.5: cp210x converter now attached to ttyUSB0
[ 715.358094] cp210x 1-1.5:1.1: cp210x converter detected
[ 715.360235] usb 1-1.5: cp210x converter now attached to ttyUSB1
[ 716.985825] cp210x ttyUSB1: failed to set baud rate to 300
[ 730.048683] cp210x ttyUSB1: failed to set baud rate to 300

Add ability to manage additional environment variables for HA container.

Hello everyone,

So, I recently made the switch to using hass.io because it's so much more convenient for keeping it updated. Before that, I had managed everything in Docker containers myself.

One of the things that I did was use two containers frequently used together for web projects:
https://github.com/jwilder/nginx-proxy
https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion

The first let's you easily add an Nginx proxy to containers by giving them an environment variable, and the second automatically monitors and renews SSL certificates for each of those containers.

I already had a RPI Docker image built out for these two, but they wouldn't be compatible with hass.io unless there was a way to easily add environment variables to the main Home Assistant container.

Here is the relevant part of the code that would need to be updated:
https://github.com/home-assistant/hassio/blob/dev/hassio/dock/homeassistant.py#L58

Right now, it simply adds two environment variables without adding in any additional user ones. What I'm proposing is a way to manage these in some way, perhaps in the "advanced" pane for hass.io in the frontend.

Would this be something that would fit in well with the project? If so, I could spike it out.

Every time I use systemd Hassio throws an error

I'm using Hass IO on a bare Ubuntu 16.04.3 LTS machine via docker.

I'm getting this same error every time i use systemd, this occurs even when I'm not touching any of the hassio services too. i.e im restarting X service and i'll see the below:

systemd[1]: [/etc/systemd/system/hassio-hc.service:1] Missing '='.

iphone problem

when i use hassio 0.50.2 on my iphone via browser or the app it looks weird and not everything showing
it happened after that i updated to 0.50.0
thanks

Update not completed and option to update gone

When attempting to Update from 0.50.2 to 0.51 on both a pi-zero and a pi-3, the Update appeared to have finished but the OS has not been updated and the option to update has disappeared from the dashboard. Have restarted both but still on 0.50.2 and no option to update

New Customization in 0.53 throws erroneous warning

Just tried out the new Customization feature of Hass.io 0.53 and it threw a warning, while actually doing what was expected. After clicking SAVE to change the default name of a camera.usps.mail entity, the change was made to the customize.yaml file and it worked as expected.

customization warning

I have the following in my configuration.yaml file:

homeassistant:
  name: Home
  latitude: !secret latitude
  longitude: !secret longitude
  elevation: 701
  unit_system: imperial
  time_zone: America/Los_Angeles
  customize: !include customize.yaml

And after making the edit with the Customize function, the customize.yaml file was updated as expected:

camera.usps_mail:
  friendly_name: USPS Mail Images

So it appears that my configuration.yaml file DOES properly include customize.yaml and my changes did take effect despite the warning to the contrary.

settings

Love this feature by the way. Hope the issue can be rectified easily.

Allow privilege SYS_RAWIO

I'm trying to use write an addon for some GPIO connected devices on my Raspberry Pi using the RPi.GPIO Python plugin. However, it needs access to /dev/mem and it's not sufficient to specify it with "devices":["/dev/mem:/dev/mem:rwm"], because it leads to the following error:

RuntimeError: No access to /dev/mem. Try running as root!

I think we need to set SYS_RAWIO on the container to allow this, but only NET_ADMIN and SYS_ADMIN is allowed in the validation script, see line 40:
https://github.com/home-assistant/hassio/blob/dev/hassio/addons/validate.py#L40

Can we add SYS_RAWIO to the allowed list as well? I haven't been able to test if that solves everything, otherwise I would've sent a PR instead :)

Help with an Install please

I have a ubuntu server that is running a resin os. Would I be able to install a resinos docker instance of hassiom, example this one "pvizeli/resinos-hassio" on this machine? Been messing with it a couple days and so far I have been unable to succeed except with the curl install of the amd64 hassio build. Thank you in advance for your assistance.

Home Assistant doesn't resolve .local domain

The .local domain is used by multicast dns services: https://en.wikipedia.org/wiki/.local

If I put .local hostnames in the configuration.yaml file, I get resolve errors.

Please include the avahi package in the home-assistant docker container:
https://pkgs.alpinelinux.org/package/v3.6/main/armhf/avahi-compat-libdns_sd

Add this line to /etc/dnsswitch.conf:
hosts: files mdns4_minimal dns [NOTFOUND=return] mdns4

More info can be found at:
https://wiki.archlinux.org/index.php/avahi

Errors thrown to log on restart after upgrade to version 0.53 then won't restart

After upgrading to Hass.io version 0.53, the following errors are logged after restart. Then I tried to restart again and it got stuck at the main screen and Home icon showing Uploading data. On a hunch, I commented out the sensor: section of the config file and it came back. I would like to get the WU sensors back online if possible.

2017-09-11 10:05:36 WARNING (Recorder) [homeassistant.components.recorder] Ended unfinished session (id=252 from 2017-09-11 16:52:24.443988)
2017-09-11 10:05:38 ERROR (SyncWorker_7) [homeassistant.components.sensor.wunderground] Check WUnderground API ('Expecting value: line 2 column 1 (char 1)',)
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 247, in async_update_ha_state
    device_attr = self.device_state_attributes
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 689, in device_state_attributes
    for (attr, callback) in attrs.items():
AttributeError: 'function' object has no attribute 'items'
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:39 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/tasks.py", line 179, in _step
    result = coro.send(None)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
    new_entity, self, update_before_add=update_before_add
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 238, in async_add_entity
    yield from entity.async_update_ha_state()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 256, in async_update_ha_state
    self._attr_setter('entity_picture', str, ATTR_ENTITY_PICTURE, attr)
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 323, in _attr_setter
    value = getattr(self, name)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/wunderground.py", line 712, in entity_picture
    return re.sub(r'^http://', 'https://', url, flags=re.IGNORECASE)
  File "/usr/lib/python3.6/re.py", line 191, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
2017-09-11 10:05:48 WARNING (MainThread) [homeassistant.setup] Setup of media_player is taking over 10 seconds.
2017-09-11 10:05:50 WARNING (MainThread) [homeassistant.setup] Setup of device_tracker is taking over 10 seconds.
2017-09-11 10:05:50 WARNING (MainThread) [homeassistant.setup] Setup of switch is taking over 10 seconds.
2017-09-11 10:05:51 WARNING (MainThread) [homeassistant.setup] Setup of tts is taking over 10 seconds.
2017-09-11 10:05:57 WARNING (MainThread) [homeassistant.components.sensor] Setup of platform usps is taking over 10 seconds.
2017-09-11 10:05:58 WARNING (MainThread) [homeassistant.components.media_player] Setup of platform cast is taking over 10 seconds.
2017-09-11 10:06:16 ERROR (Recorder) [homeassistant.components.recorder.util] Error executing query: Object of type 'function' is not JSON serializable

I have not made any changes to the Weather Underground component and the sensors do seem to be working when I look at the States page.
I may have an unusual way of implementing it though which has not been a problem until now:

I have this in my configuration.yaml file:

# Weather prediction
sensor: !include sensors.yaml

The above line is what I commented out (along with some customizations) to get Hass,io to restart.

And this is my sensors.yaml file which worked before the 0.53 upgrade:

  - platform: wunderground
    api_key: !secret wunderground_api_key
    monitored_conditions:
      - dewpoint_f                #  Temperature in Fahrenheit below which water droplets begin to condense and dew can form
      - feelslike_f               #  Feels like (or apparent) temperature in Fahrenheit
      - pressure_in               #  Atmospheric air pressure in inches

etc.....

I did not change my WU api key, but just to be sure, I did log in and compare it and it is correct.

Google assistant not working even with mic on 1,0

Hi,

I cant make google assistant working on hassio 0.60 (ha 0.52.1)
config:

{
  "mic": "1,0",
  "speaker": "0,0",
  "client_secrets": "google_assistant.json"
}

Hardware with hassio host hardware:
core-ssh:~# hassio host hardware

{
  "serial": [],
  "input": [
    "C-Media Electronics Inc.       USB PnP Sound Device"
  ],
  "disk": [],
  "audio": {
    "0": {
      "name": "bcm2835 - bcm2835 ALSA",
      "type": "ALSA",
      "devices": {
        "0": "digital audio playback",
        "1": "digital audio playback"
      }
    },
    "1": {
      "name": "USB-Audio - USB PnP Sound Device",
      "type": "Device",
      "devices": {
        "0": "digital audio capture"
      }
    }
  }
}


Here the logs first launch:

[Info] Show audio device
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
[Info] Setup audio device
[Info] Install/Update service client_secrets file
[Info] Start WebUI for handling oauth2
[02/Sep/2017:15:22:58] ENGINE Listening for SIGTERM.
[02/Sep/2017:15:22:58] ENGINE Listening for SIGHUP.
[02/Sep/2017:15:22:58] ENGINE Listening for SIGUSR1.
[02/Sep/2017:15:22:58] ENGINE Bus STARTING
CherryPy Checker:
The Application mounted at '' has an empty config.
[02/Sep/2017:15:22:58] ENGINE Started monitor thread 'Autoreloader'.
[02/Sep/2017:15:22:58] ENGINE Started monitor thread '_TimeoutMonitor'.
[02/Sep/2017:15:22:58] ENGINE Serving on http://0.0.0.0:9324
[02/Sep/2017:15:22:58] ENGINE Bus STARTED$

Then I go to the webui, paste the token given from google, but the webui stops, then nothing happens.
When I see logs after that:

192.168.1.14 - - [02/Sep/2017:15:23:40] "GET / HTTP/1.1" 200 713 "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"
192.168.1.14 - - [02/Sep/2017:15:23:41] "GET / HTTP/1.1" 200 713 "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"
192.168.1.14 - - [02/Sep/2017:15:23:41] "GET /favicon.ico HTTP/1.1" 200 1406 "http://192.168.1.15:9324/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"
[02/Sep/2017:15:26:53] ENGINE SystemExit raised: shutting down HTTP server
[02/Sep/2017:15:26:53] ENGINE Bus STOPPING
[02/Sep/2017:15:26:53] ENGINE HTTP Server cherrypy._cpwsgi_server.CPWSGIServer(('0.0.0.0', 9324)) shut down
[02/Sep/2017:15:26:53] ENGINE Stopped thread 'Autoreloader'.
[02/Sep/2017:15:26:53] ENGINE Stopped thread '_TimeoutMonitor'.
[02/Sep/2017:15:26:53] ENGINE Bus STOPPED
[02/Sep/2017:15:26:53] ENGINE Bus EXITING
[02/Sep/2017:15:26:53] ENGINE Bus EXITED
[02/Sep/2017:15:26:53] ENGINE Waiting for child threads to terminate...

Upgrading to 0.50.1

I tried updating through the ui as well as on the cli and it doesn't seem to work. I know there was an issue on pypi around the release.

someone have a fix to upgrade?

Mi Flora broken due to missing gatttool

Home-assistant 0.55
Host OS 1.1
supervisor 0.69
Hass.io image for raspberry pi 3

polling of Mi flora devices fails due to missing gatttool:

/bin/sh: gatttool: not found
2017-10-08 21:34:57 INFO (SyncWorker_6) [homeassistant.components.sensor.miflora] Polling error [Errno Could not read data from Mi Flora sensor %s] C4:7C:8D:63:7E:6D

Hassio HomeAssistant 0.54 & 0.55 - Issue Cannot Install HABridge Add-on (Not Resolved)

Hi,

I am running Hassio 1.1 but also tried on 1.0 same issue, I tried this on HomeAssistant 0.54 & 0.55:

https://github.com/notoriousbdg/hassio-addons

When I try to install Ha Bridge Add-on on a fresh install of Hassio with HomeAssistant v0.54 or 0.55 on RaspberryPi3, the Install button turns red immediately the Supervisor log as follows:

17-10-08 10:45:55 INFO (SyncWorker_1) [hassio.dock.homeassistant] Start homeassistant homeassistant/raspberrypi3-homeassistant with version 0.55
17-10-08 10:47:17 INFO (SyncWorker_14) [hassio.dock.addon] Start build 27e642c6/armhf-addon-ha-bridge:4.5.6p2
17-10-08 10:47:18 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File โ€œ/usr/lib/python3.6/site-packages/aiohttp/web_protocol.pyโ€, line 422, in start
resp = yield from self._request_handler(request)
File โ€œ/usr/lib/python3.6/site-packages/aiohttp/web.pyโ€, line 306, in _handle
resp = yield from handler(request)
File โ€œ/usr/lib/python3.6/site-packages/hassio/api/util.pyโ€, line 31, in wrap_api
answer = await method(api, *args, **kwargs)
File โ€œ/usr/lib/python3.6/site-packages/hassio/api/addons.pyโ€, line 176, in install
addon.install(version=version), loop=self.loop)
File โ€œ/usr/lib/python3.6/site-packages/hassio/addons/addon.pyโ€, line 467, in install
if not await self.docker.install(version):
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/util.pyโ€, line 18, in wrap_api
return await method(api, *args, **kwargs)
File โ€œ/usr/lib/python3.6/concurrent/futures/thread.pyโ€, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/addon.pyโ€, line 198, in _install
return self._build(tag)
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/addon.pyโ€, line 211, in _build
image = self.docker.images.build(**build_env.get_docker_args(tag))
File โ€œ/usr/lib/python3.6/site-packages/docker/models/images.pyโ€, line 175, in build
raise BuildError(chunk[โ€˜errorโ€™])
docker.errors.BuildError: Please provide a source image with from prior to run
17-10-08 10:47:19 INFO (SyncWorker_6) [hassio.dock.addon] Start build 27e642c6/armhf-addon-ha-bridge:4.5.6p2
17-10-08 10:47:20 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File โ€œ/usr/lib/python3.6/site-packages/aiohttp/web_protocol.pyโ€, line 422, in start
resp = yield from self._request_handler(request)
File โ€œ/usr/lib/python3.6/site-packages/aiohttp/web.pyโ€, line 306, in _handle
resp = yield from handler(request)
File โ€œ/usr/lib/python3.6/site-packages/hassio/api/util.pyโ€, line 31, in wrap_api
answer = await method(api, *args, **kwargs)
File โ€œ/usr/lib/python3.6/site-packages/hassio/api/addons.pyโ€, line 176, in install
addon.install(version=version), loop=self.loop)
File โ€œ/usr/lib/python3.6/site-packages/hassio/addons/addon.pyโ€, line 467, in install
if not await self.docker.install(version):
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/util.pyโ€, line 18, in wrap_api
return await method(api, *args, **kwargs)
File โ€œ/usr/lib/python3.6/concurrent/futures/thread.pyโ€, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/addon.pyโ€, line 198, in _install
return self._build(tag)
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/addon.pyโ€, line 211, in _build
image = self.docker.images.build(**build_env.get_docker_args(tag))
File โ€œ/usr/lib/python3.6/site-packages/docker/models/images.pyโ€, line 175, in build
raise BuildError(chunk[โ€˜errorโ€™])
docker.errors.BuildError: Please provide a source image with from prior to run
17-10-08 10:47:24 INFO (SyncWorker_5) [hassio.dock.addon] Start build 27e642c6/armhf-addon-ha-bridge:4.5.6p2
17-10-08 10:47:24 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File โ€œ/usr/lib/python3.6/site-packages/aiohttp/web_protocol.pyโ€, line 422, in start
resp = yield from self._request_handler(request)
File โ€œ/usr/lib/python3.6/site-packages/aiohttp/web.pyโ€, line 306, in _handle
resp = yield from handler(request)
File โ€œ/usr/lib/python3.6/site-packages/hassio/api/util.pyโ€, line 31, in wrap_api
answer = await method(api, *args, **kwargs)
File โ€œ/usr/lib/python3.6/site-packages/hassio/api/addons.pyโ€, line 176, in install
addon.install(version=version), loop=self.loop)
File โ€œ/usr/lib/python3.6/site-packages/hassio/addons/addon.pyโ€, line 467, in install
if not await self.docker.install(version):
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/util.pyโ€, line 18, in wrap_api
return await method(api, *args, **kwargs)
File โ€œ/usr/lib/python3.6/concurrent/futures/thread.pyโ€, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/addon.pyโ€, line 198, in _install
return self._build(tag)
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/addon.pyโ€, line 211, in _build
image = self.docker.images.build(**build_env.get_docker_args(tag))
File โ€œ/usr/lib/python3.6/site-packages/docker/models/images.pyโ€, line 175, in build
raise BuildError(chunk[โ€˜errorโ€™])
docker.errors.BuildError: Please provide a source image with from prior to run
17-10-08 10:48:32 INFO (SyncWorker_0) [hassio.dock.addon] Start build 27e642c6/armhf-addon-ha-bridge:4.5.6p2
17-10-08 10:48:32 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File โ€œ/usr/lib/python3.6/site-packages/aiohttp/web_protocol.pyโ€, line 422, in start
resp = yield from self._request_handler(request)
File โ€œ/usr/lib/python3.6/site-packages/aiohttp/web.pyโ€, line 306, in _handle
resp = yield from handler(request)
File โ€œ/usr/lib/python3.6/site-packages/hassio/api/util.pyโ€, line 31, in wrap_api
answer = await method(api, *args, **kwargs)
File โ€œ/usr/lib/python3.6/site-packages/hassio/api/addons.pyโ€, line 176, in install
addon.install(version=version), loop=self.loop)
File โ€œ/usr/lib/python3.6/site-packages/hassio/addons/addon.pyโ€, line 467, in install
if not await self.docker.install(version):
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/util.pyโ€, line 18, in wrap_api
return await method(api, *args, **kwargs)
File โ€œ/usr/lib/python3.6/concurrent/futures/thread.pyโ€, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/addon.pyโ€, line 198, in _install
return self._build(tag)
File โ€œ/usr/lib/python3.6/site-packages/hassio/dock/addon.pyโ€, line 211, in _build
image = self.docker.images.build(**build_env.get_docker_args(tag))
File โ€œ/usr/lib/python3.6/site-packages/docker/models/images.pyโ€, line 175, in build
raise BuildError(chunk[โ€˜errorโ€™])
docker.errors.BuildError: Please provide a source image with from prior to run

Host 'homeassistant' is not allowed to connect to this MariaDB server

Make sure you are running the latest version of Home Assistant before reporting an issue.

You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:

Home Assistant release (hass --version):
Hass.io v0.51.2

Component/platform:
Official MariaDB Addon

Description of problem:
Out of the blue the connection stopped working and the logs give me the following information Host 'homeassistant' is not allowed to connect to this MariaDB server.

Additional info:
Full log

2017-08-25 10:58:35 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:58:38 WARNING (MainThread) [homeassistant.setup] Setup of mqtt is taking over 10 seconds. 
2017-08-25 10:58:43 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:58:43 WARNING (MainThread) [homeassistant.setup] Setup of recorder is taking over 10 seconds. 
2017-08-25 10:58:46 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:58:49 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:58:52 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:58:55 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:58:58 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:59:01 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:59:04 ERROR (Recorder) [homeassistant.components.recorder] Error during connection setup: (_mysql_exceptions.OperationalError) (1130, "Host 'homeassistant' is not allowed to connect to this MariaDB server") (retrying in 3 seconds) 
2017-08-25 10:59:04 ERROR (MainThread) [homeassistant.setup] Setup failed for recorder: Component failed to initialize. 
2017-08-25 10:59:04 ERROR (MainThread) [homeassistant.setup] Unable to setup dependencies of history. Setup failed for dependencies: recorder 
2017-08-25 10:59:04 ERROR (MainThread) [homeassistant.setup] Setup failed for history: Could not setup all dependencies. 
2017-08-25 10:59:06 ERROR (MainThread) [homeassistant.setup] Unable to setup dependencies of logbook. Setup failed for dependencies: recorder 
2017-08-25 10:59:06 ERROR (MainThread) [homeassistant.setup] Setup failed for logbook: Could not setup all dependencies. 
2017-08-25 10:59:48 WARNING (SyncWorker_4) [homeassistant.components.zwave] zwave not ready after 30 seconds, continuing anyway```

Snapshot directory & Samba share

hey,
is it possible to add the Snapshot directory to the Samba share so we all be able to download that backed up config and store it in a safe place?
thank you :)

Custom Components Dependencies Error

Hi!

It looks like HASSIO has trouble with installing dependencies for custom components. This is a pretty major issue for anyone using custom components.

The error seems to come from this command: Command โ€œ/usr/bin/python3 -u -c โ€œimport setuptools

I have noted two examples of this issue below with the most details.

  1. https://community.home-assistant.io/t/custom-component-dependency-package-install-failure-bluepy-setup-py-error-code-1/23423
  2. https://community.home-assistant.io/t/hass-io-custom-component-dependencies/20394

These are not related to custom components but seem to have the same error message (bluetooth tracker issues).

  1. https://community.home-assistant.io/t/after-adding-platform-bluetooth-tracker-error-message/18391
  2. https://community.home-assistant.io/t/bluetooth-miflora/22769

Thanks for looking at this. HASSIO looks really promising especially the addons.

Cleanup of intermediate containers on Docker build

Problem/Motivation

There are a lot of unused containers left behind when building add-ons locally.

This is also reported by other users in the forum:
https://community.home-assistant.io/t/unused-containers-images-not-deleted-by-hass-io/23866

The problem with this is that Hass.io is aimed at smaller devices (e.g., Raspberry PI) and those devices tend to have limited disk space available. Currently, there is no way for the user to clean them up (unless SSH / Docker magic / Portainer).

Expected behavior

I'd expect to keep the Docker environment as clean as possible.

Actual behavior

A lot of unused containers & images are left behind.

Steps to reproduce

Build an add-on (especially one that fails to build in the end).

Proposed changes

The Docker SDK has an option to force the removal of intermediate containers, even after unsuccessful builds.

I want to propose a change to this line:
https://github.com/home-assistant/hassio/blob/f9b12a2eb25d7de64b1a2ba1ad3dab6a27128e8f/hassio/dock/addon.py#L206

Add an extra argument to the build()method: forcerm=True.

Documentation reference: http://docker-py.readthedocs.io/en/stable/images.html?highlight=forcerm

Hassio refuses to start after recent 0.55.1 upgrade

I've upgraded my hassio install plenty of times since install and had no issues so far, but today was the first breakage!

The watchdog appears to want to keep starting it and it fails every time :(

This is running on Ubuntu 16.04.3 LTS

Oct 17 13:14:03 home-server hassio-start[3669]: #033[31m17-10-17 12:14:03 ERROR (MainThread) [hassio.tasks] Watchdog found a problem with Home-Assistant docker!#033[0m
Oct 17 13:14:03 home-server hassio-start[3669]: #033[32m17-10-17 12:14:03 INFO (SyncWorker_39) [hassio.dock.interface] Clean homeassistant/qemux86-64-homeassistant docker application#033[0m
Oct 17 13:14:03 home-server kernel: [  973.580243] aufs au_opts_verify:1597:dockerd[20279]: dirperm1 breaks the protection by the permission bits on the lower branch
Oct 17 13:14:03 home-server kernel: [  973.633951] aufs au_opts_verify:1597:dockerd[20279]: dirperm1 breaks the protection by the permission bits on the lower branch
Oct 17 13:14:03 home-server kernel: [  973.679290] aufs au_opts_verify:1597:dockerd[2245]: dirperm1 breaks the protection by the permission bits on the lower branch
Oct 17 13:14:03 home-server hassio-start[3669]: #033[32m17-10-17 12:14:03 INFO (SyncWorker_39) [hassio.dock.homeassistant] Start homeassistant homeassistant/qemux86-64-homeassistant with version 0.55.1#033[0m

qnap sensor is not working

Hi,

Adding a qnap sensor gives the following error

ERROR (SyncWorker_8) [homeassistant.components.sensor.qnap] Failed to fetch QNAP stats from the NAS
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/components/sensor/qnap.py", line 205, in update
    self.data["system_stats"] = self._api.get_system_stats()
  File "/usr/lib/python3.6/site-packages/qnapstats/qnap_stats.py", line 204, in get_system_stats
    force_list=("DNS_LIST")
  File "/usr/lib/python3.6/site-packages/qnapstats/qnap_stats.py", line 69, in _get_url
    result = self._execute_get_url(url, **kwargs)
  File "/usr/lib/python3.6/site-packages/qnapstats/qnap_stats.py", line 82, in _execute_get_url
    self._debuglog("Appending access_token (SID: " + self._sid + ") to url")
TypeError: must be str, not NoneType

It was working fine with home assistant 0.49

rpi-rf module not found

When I installed hass.io I edited the configuration.yaml to include my rf switch component ( https://home-assistant.io/components/switch.rpi_rf/ ). However when I restarted home assistant it failed to load completely and I was greeted with an error in my log file.

2017-08-02 00:55:39 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform rpi_rf Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity_component.py", line 164, in _async_setup_platform SLOW_SETUP_MAX_WAIT, loop=self.hass.loop) File "/usr/lib/python3.6/asyncio/tasks.py", line 352, in wait_for return fut.result() File "/usr/lib/python3.6/asyncio/futures.py", line 244, in result raise self._exception File "/usr/lib/python3.6/concurrent/futures/thread.py", line 55, in run result = self.fn(*self.args, **self.kwargs) File "/usr/lib/python3.6/site-packages/homeassistant/components/switch/rpi_rf.py", line 50, in setup_platform import rpi_rf ModuleNotFoundError: No module named 'rpi_rf'

Is there a way to include the rpi-rf module into the hass.io base image?

'raspistill' was not found

HASS 0.49.1, Hassio (1.0 ?) tested on both a pi3 and a pi zero with connected pi cameras, when the camera is added to config get the error:

[homeassistant.components.camera.rpi_camera] 'raspistill' was not found

Refuses to build locally from specific images due to faulty regular expression

Problem/Motivation

Hassio local build seems to have a faulty regular expression in place, responsible for validating build_from images. This causes troubles with building an add-on locally within Hass.io/Home Assistant.

Example from a local build that fails:

๏ฟฝ[31m17-10-15 19:09:27 ERROR (SyncWorker_6) [hassio.tools] Can't parse /data/addons/local/addon-example/example/build.json -> does not match regular expression for dictionary value @ data['build_from']['aarch64']. Got 'hassioaddons/base-aarch64:1.0.0'
does not match regular expression for dictionary value @ data['build_from']['amd64']. Got 'hassioaddons/base-amd64:1.0.0'
does not match regular expression for dictionary value @ data['build_from']['armhf']. Got 'hassioaddons/base-armhf:1.0.0'
does not match regular expression for dictionary value @ data['build_from']['i386']. Got 'hassioaddons/base-i386:1.0.0'๏ฟฝ[0m

In the above case hassioaddons/base-aarch64:1.0.0 is not accepted as a valid container name, while it is. I've been able to reproduce it with other containers as well, like alpine:3.6.

Currently used regular expression: ^[\-\w{}]+/[\-\w{}]+:[\-\w{}]+$
Demo with missing matches: http://regexr.com/3gve8

Proposed changes

Change the Voluptuous build config schema to allows for these images.

Change the regular expression to: ^([\-\w{}]+/)?[\-\w{}]+:[\-\.\w{}]+$
Tests over here: https://regexr.com/3gve2

hdmi_cec not working in Hass.io - "No adapters found"

Hello all!
Unfortunately the hdmi_cec component is not working for me in Hass.io. Before the migration from Hassbian it was working without any problems. Now I get following warnings in the log:

2017-08-10 07:53:13 WARNING (<concurrent.futures.thread.ThreadPoolExecutor object at 0x72e71ff0>_0) [pycec] Not initialized. Waiting for init. 
2017-08-10 07:53:13 WARNING (<concurrent.futures.thread.ThreadPoolExecutor object at 0x73d18f10>_0) [pycec.cec] No adapters found
2017-08-10 07:53:14 WARNING (<concurrent.futures.thread.ThreadPoolExecutor object at 0x72e71ff0>_0) [pycec] Not initialized. Waiting for init. 
2017-08-10 07:53:15 WARNING (<concurrent.futures.thread.ThreadPoolExecutor object at 0x72e71ff0>_0) [pycec] Not initialized. Waiting for init. 
2017-08-10 07:53:16 WARNING (<concurrent.futures.thread.ThreadPoolExecutor object at 0x72e71ff0>_0) [pycec] Not initialized. Waiting for init. 
2017-08-10 07:53:17 WARNING (<concurrent.futures.thread.ThreadPoolExecutor object at 0x72e71ff0>_0) [pycec] Not initialized. Waiting for init.

The last few messages are being repeated each second. Regarding the documentation libcec should be installed by default. But I was not able to check this via the SSH addon (cec-client not found - I think because the SSH addon is a docker container itself, right?)

  • Raspberry Pi 3
  • Supervisor: 0.52
  • Home-Assistant: 0.51.2
  • Host OS: 1.0

This is my config:

hdmi_cec:
  osd_name: HASSIO
  devices:
    KD65XD7504: 0.0.0.0
    PS4PRO: 2.0.0.0
    STRDH540: 3.0.0.0
    RASPBERRYPI: 3.1.0.0

Any help would be highly appreciated. Please let me know if you need more data from me. Thanks!

Unable to use Zigbee w/ HUSBZB-1

With a new install of Hass.io and completely wiping out all of the yamls in the config directory, using a clean generated configuration.yaml starts up fine with the USB stick inserted. Adding the strings for zwave work fine as well. When the zha strings are added, the web ui is inaccessible.

hassio host hardware

{
  "result": "ok",
  "data": {
    "serial": [
      "/dev/ttyUSB0",
      "/dev/ttyUSB1"
    ],
    "input": [],
    "disk": [],
    "audio": {
      "0": {
        "name": "bcm2835 - bcm2835 ALSA",
        "type": "ALSA",
        "devices": {
          "0": "digital audio playback",
          "1": "digital audio playback"
        }
      }
    }
  }
}

configuration.yaml

homeassistant:
  # Name of the location where Home Assistant is running
  name: Home
  # Location required to calculate the time the sun rises and sets
  latitude: 39.051
  longitude: -76.7285
  # Impacts weather/sunrise data (altitude above sea level in meters)
  elevation: 22
  # metric for Metric, imperial for Imperial
  unit_system: imperial
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: America/New_York

# Show links to resources in log and frontend
#introduction:

# Enables the frontend
frontend:

# Enables configuration UI
config:

http:
  # Uncomment this to add a password (recommended!)
  # api_password: PASSWORD
  # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
  # base_url: example.duckdns.org:8123

# Checks for available updates
# Note: This component will send some information about your system to
# the developers to assist with development of Home Assistant.
# For more information, please see:
# https://home-assistant.io/blog/2016/10/25/explaining-the-updater/
updater:
  # Optional, allows Home Assistant developers to focus on popular components.
  # include_used_components: true

# Discover some devices automatically
discovery:

# Allows you to issue voice commands from the frontend in enabled browsers
conversation:

# Enables support for tracking state changes over time
history:

# View all events in a logbook
logbook:

# Track the sun
sun:

# Weather prediction
sensor:
  - platform: yr

# Text to speech
tts:
  - platform: google

zwave:
  usb_path: /dev/ttyUSB0

zha:
  usb_path: /dev/ttyUSB1
  database_path: /config/zigbee.db

group: !include groups.yaml
automation: !include automations.yaml

logger:
core-ssh:~# hassio homeassistant logs
2017-08-15 14:05:49 WARNING (Recorder) [homeassistant.components.recorder] Ended unfinished session (id=7 from 2017-08-15 18:00:01.617517)
2017-08-15 14:05:49 DEBUG (Recorder) [homeassistant.components.recorder] Connected to recorder database
2017-08-15 14:05:49 INFO (MainThread) [homeassistant.setup] Setup of domain recorder took 2.1 seconds.
2017-08-15 14:05:49 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=recorder>
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setting up http
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.1 seconds.
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=http>
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setting up history
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setting up api
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setting up websocket_api
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setup of domain websocket_api took 0.0 seconds.
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=websocket_api>
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setup of domain history took 0.1 seconds.
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=history>
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setup of domain api took 0.0 seconds.
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=api>
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setting up frontend
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.setup] Setup of domain frontend took 0.1 seconds.
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=frontend>
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.loader] Loaded automation from homeassistant.components.automation
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.loader] Loaded group from homeassistant.components.group
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.loader] Loaded logbook from homeassistant.components.logbook
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.loader] Loaded zwave from homeassistant.components.zwave
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.loader] Loaded updater from homeassistant.components.updater
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.loader] Loaded config from homeassistant.components.config
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.loader] Loaded tts from homeassistant.components.tts
2017-08-15 14:05:50 INFO (MainThread) [homeassistant.loader] Loaded tts.google from homeassistant.components.tts.google
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.loader] Loaded conversation from homeassistant.components.conversation
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.loader] Loaded zha from homeassistant.components.zha
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.setup] Setting up group
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.loader] Loaded sun from homeassistant.components.sun
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.setup] Setting up sun
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.setup] Setup of domain sun took 0.6 seconds.
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=sun>
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.loader] Loaded sensor from homeassistant.components.sensor
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.loader] Loaded sensor.yr from homeassistant.components.sensor.yr
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.setup] Setting up sensor
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.loader] Loaded discovery from homeassistant.components.discovery
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=sun.sun, old_state=None, new_state=<state sun.sun=above_horizon; next_dawn=2017                                                   -08-16T09:52:30+00:00, next_dusk=2017-08-16T00:31:24+00:00, next_midnight=2017-08-16T05:11:06+00:00, next_noon=2017-08-16T17:11:15+00:00, next_rising=2017-08-16T10:20:58+00:00, next_sett                                                   ing=2017-08-16T00:02:51+00:00, elevation=61.82, azimuth=209.11, friendly_name=Sun @ 2017-08-15T14:05:51.839850-04:00>>
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.setup] Setting up logbook
2017-08-15 14:05:51 INFO (MainThread) [homeassistant.setup] Setting up config
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=logbook, service=log>
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.loader] Loaded config.group from homeassistant.components.config.group
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=config.group>
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.loader] Loaded config.hassbian from homeassistant.components.config.hassbian
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.loader] Loaded config.core from homeassistant.components.config.core
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=config.core>
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.loader] Loaded config.automation from homeassistant.components.config.automation
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=config.automation>
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.setup] Setup of domain logbook took 0.7 seconds.
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=logbook>
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.setup] Setup of domain config took 0.7 seconds.
2017-08-15 14:05:52 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=config>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=group, service=reload>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=group, service=set>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=group, service=remove>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=group, service=set_visibility>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.setup] Setup of domain group took 2.5 seconds.
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=group>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.setup] Setting up automation
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=automation, service=trigger>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=automation, service=reload>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=automation, service=toggle>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=automation, service=turn_on>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=automation, service=turn_off>
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.setup] Setup of domain automation took 0.1 seconds.
2017-08-15 14:05:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=automation>
2017-08-15 14:05:55 INFO (MainThread) [homeassistant.setup] Setting up zwave
2017-08-15 14:05:58 INFO (MainThread) [homeassistant.setup] Setting up updater
2017-08-15 14:05:58 INFO (MainThread) [homeassistant.setup] Setup of domain updater took 0.0 seconds.
2017-08-15 14:05:58 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=updater>
2017-08-15 14:06:01 INFO (MainThread) [homeassistant.setup] Setting up tts
2017-08-15 14:06:01 DEBUG (SyncWorker_8) [openzwave] Create network object.
2017-08-15 14:06:01 DEBUG (SyncWorker_8) [openzwave] Use sqlite version : ('3.18.0',)
2017-08-15 14:06:01 WARNING (MainThread) [homeassistant.setup] Setup of sensor is taking over 10 seconds.
2017-08-15 14:06:01 INFO (SyncWorker_8) [homeassistant.components.zwave] Z-Wave network autoheal is enabled
2017-08-15 14:06:01 INFO (MainThread) [homeassistant.setup] Setup of domain zwave took 6.4 seconds.
2017-08-15 14:06:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=zwave>
2017-08-15 14:06:01 INFO (MainThread) [homeassistant.loader] Loaded config.zwave from homeassistant.components.config.zwave
2017-08-15 14:06:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=config.zwave>
2017-08-15 14:06:02 INFO (MainThread) [homeassistant.setup] Setting up conversation
2017-08-15 14:06:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=conversation, service=process>
2017-08-15 14:06:02 INFO (MainThread) [homeassistant.setup] Setup of domain conversation took 0.0 seconds.
2017-08-15 14:06:02 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=conversation>
2017-08-15 14:06:03 INFO (MainThread) [homeassistant.setup] Setting up zha
2017-08-15 14:06:05 DEBUG (MainThread) [bellows.zigbee.appdb] Loading application state from /config/zigbee.db
2017-08-15 14:06:05 DEBUG (MainThread) [bellows.uart] Sending: b'1ac038bc7e'
2017-08-15 14:06:05 INFO (MainThread) [homeassistant.setup] Setting up discovery
2017-08-15 14:06:05 INFO (MainThread) [homeassistant.setup] Setup of domain discovery took 0.0 seconds.
2017-08-15 14:06:05 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=discovery>
2017-08-15 14:06:07 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.yr
2017-08-15 14:06:07 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=sensor.yr_symbol, old_state=None, new_state=<state sensor.yr_symbol=unknown; at                                                   tribution=Weather forecast from yr.no, delivered by the Norwegian Meteorological Institute and the NRK., friendly_name=yr Symbol, entity_picture=//api.met.no/weatherapi/weathericon/1.1/?                                                   symbol=None;content_type=image/png @ 2017-08-15T14:06:07.217718-04:00>>
2017-08-15 14:06:08 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=sensor.yr_symbol, old_state=<state sensor.yr_symbol=unknown; attribution=Weathe                                                   r forecast from yr.no, delivered by the Norwegian Meteorological Institute and the NRK., friendly_name=yr Symbol, entity_picture=//api.met.no/weatherapi/weathericon/1.1/?symbol=None;cont                                                   ent_type=image/png @ 2017-08-15T14:06:07.217718-04:00>, new_state=<state sensor.yr_symbol=9; attribution=Weather forecast from yr.no, delivered by the Norwegian Meteorological Institute                                                    and the NRK., friendly_name=yr Symbol, entity_picture=//api.met.no/weatherapi/weathericon/1.1/?symbol=9;content_type=image/png @ 2017-08-15T14:06:08.347367-04:00>>
2017-08-15 14:06:08 INFO (MainThread) [homeassistant.setup] Setup of domain sensor took 16.6 seconds.
2017-08-15 14:06:08 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=sensor>
2017-08-15 14:06:08 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=tts, service=google_say>
2017-08-15 14:06:09 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_registered[L]: domain=tts, service=clear_cache>
2017-08-15 14:06:09 INFO (MainThread) [homeassistant.setup] Setup of domain tts took 7.8 seconds.
2017-08-15 14:06:09 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=tts>
2017-08-15 14:06:13 WARNING (MainThread) [homeassistant.setup] Setup of zha is taking over 10 seconds.

Cannot access hass.io panel from remote

Hi,

I setup a hass.io-instance on a raspberry pi zero w at home and everything worked fine and dandy. Move the raspberry to an off-site location and I can no longer access the hass.io-panel. The log console throws a bunch of the errors below. What could be the cause if this? Is the panel running on its own port?

image

The panel sits there just fine in the side bar:
image

Extract of the config:

homeassistant:
  name: abc
  latitude: 12.34
  longitude: 12.34
  elevation: 10
  unit_system: metric
  time_zone: Europe/Stockholm
  customize: !include_dir_merge_named extraconfig/customize
  packages: !include_dir_named extraconfig/packages


config:
frontend:
hassio:
discovery:


http:
  api_password: !secret http_password


panel_custom:
  - name: floorplan
    sidebar_title: Floorplan
    sidebar_icon: mdi:home
    url_path: floorplan
    config: !include extraconfig/standalonefiles/floorplan.yaml


panel_iframe:
  configurator:
    title: Configurator
    icon: mdi:wrench
    url: http://x.ddns.net:3218

Unable to find service mqtt/publish

Hass.io version : 0.50.0

Trigger screenshot
https://cdn.discordapp.com/attachments/330990055533576204/341457402811514880/unknown.png

Action screenshot
https://cdn.discordapp.com/attachments/330990055533576204/341457451939266561/unknown.png

Generated in automations.yaml

- action:
  - data:
      payload: Test message from HA
      qos: 0
      retain: 0
      topic: mirror-led
    service: mqtt.publish
  alias: Mirror LED - CW
  id: '1501445972178'
  trigger:
  - above: '0'
    below: '100'
    entity_id: input_slider.led_mirror_cw
    platform: numeric_state

The automation doesn't trigger when I move the input slider.
The input slider is defined in configuration.yaml

input_slider:
  - led_mirror_cw:
      name: Cool White
      initial: 50
      min: 0
      max: 100
      step: 1
  - led_mirror_ww:
      name: Warm White
      initial: 50
      min: 0
      max: 100
      step: 1

But on manually triggering the automation the error in hassio homeassistant logs is as follows

2017-07-31 11:25:20 WARNING (MainThread) [homeassistant.core] Unable to find service mqtt/publish

Add support for stopping Home Assistant to API

Problem/Motivation

Currently, there is no way to actually stop Home Assistant.
It would be nice to do so if the user wants it to stop.

For example, using OZWCP is made impossible at this moment in time, since using OZWCP requires HA to be terminated.

Proposed changes

  • Adding a stop and start call to the API.
  • Adding the API call's to the CLI present in the SSH add-on.

RFC: Updated build system Hass.io

Hi,

Let me get started by saying this is not actually an issue. I am trying to create a central point of discussion. Please do not take any of the following personally; I am trying to help the community and the project.

Background

In the past month, I have created a couple of Hass.io add-ons to contribute to the community. Those were well received by the community, for which I am thankful.

Soon I noticed weaknesses in the current setup provided by HA. I will sum up some of my concerns/frustrations.

Build environment:

  • The enormous .sh scripts for building add-ons (and other images).
  • A large amount of code duplication between all those build scripts and their minimal differences. Some of those differences where needed and some of those scripts seem to have evolved.
  • The incompatibility of those scripts with MacOS. (e.g. sed -i does not work on vanilla MacOS)
  • The file juggling in the build scripts (workdir copies) and the lack of error handling that might cause issues when Docker build fails.
  • The magical 'search and replace' in Dockerfiles done in those scripts. (which was the only solution at the time)
  • Build environment does not use all resources to collect information; it solely relies on config.json.

Generic add-on/images:

  • Generic goto file is config.json. It is not actually configuring stuff, therefore wrongly named.
  • Missing JSON schema for validation use.
  • Lack of Docker label schemes.
  • Hardcoded version numbers of the addons in configuration files (again config.json).

Other:

  • The overall quality and use of coding standards in any bash scripts; not following any guidelines.
  • The generic workflow and challenging implementation with external CI tools. (The add-on/images provided by HA do not have CI?!)

Not directly related to this discussion, but maybe solvable in the future:

  • As a user, I am unable to choose which version of an addon to run. A user is only able to install and run the latest version. Even though there are enough version systems that could be leveraged to provide this? (Docker Hub, GIT tags).
  • Add-ons (source) and repositories are the same thing. This makes it impossible to leverage git tags as a versioning system. Moreover, even more important, it has made separation of concerns quite hard. (e.g., running a repository and keeping the addon themselves in separate git repositories). I have worked around this issue, but it ain't pretty.
  • Due to the current setup, it would be hard for Home Assistant to provide users a central interface to access/browse/search all community add-ons.
  • Add-on topics in the forums are centered around add-on repositories, not specific add-ons. This makes the search for add-ons hard for the user (you will have to read/open each topic to find a list of provided add-ons). As a result, discussions in these topics are hard to follow, since they could be about any of the add-on provided by the repository.
  • Missing requirement options (E.g., an add-on requires HA 0.80.0)

This list made me realize I need to change my own workflow in order to get more add-ons out.

So I started

So I started on working on a new build environment for my add-ons to solve a large part of the issues above. Soon I realized this could generally be used for all kinds of Hass.io images (not only add-ons).

The result of this is currently on GitHub: https://github.com/hassio-addons/build-env

Stuff I have added so far:

  • Consolidated all build scripts into one single build script that resides inside the build environment image, thus removing the need for having build script everywhere.
  • Set the build script as an entry point to the Docker container to allow direct execution.
  • Leverages support for Docker build arguments, this removes the need for magic search and replacing stuff (requires a more recent Docker).
  • Removed the need for local build workdirs/copies by streaming the build context into Docker build.
  • Gather information from GIT
  • Gather information from the Dockerfile
  • Added support for the Docker label schema
  • Added a shitload of error handling
  • Adheres to the bash styling guides of Google and Dealerdirect.
  • All shell scripts pass shellcheck.
  • Keeping backward compatibility with existing add-ons and methods.

This allowed me to:

  • Use CircleCI to validate add-on builds
  • Use CircleCI to deploy build to Docker Hub
  • Build images cross-platform without the need for specific shell scripts
  • Leverage GIT version tags (if wanted)

Currently begin used on: https://github.com/hassio-addons/addon-base
CircleCI result example: https://circleci.com/gh/hassio-addons/addon-base/tree/master
See example PR results:
pr-example

Showed my idea

At this point, I was getting confident this would be a great general addition to Home Assistant. So I have started contacting @pvizeli & @balloob. Their reactions were amazing, which drove me to improve things even more. (e.g., added support for building non-addon stuff).

Changes to Hass.io thus far

@pvizeli Started making changes to Hass.io. Things he is has done so far:

  • Introduced build.json additional to config.json containing build information.
  • Updating Docker version in Hass.io
  • Updating Hass.io to support build arguments, thus removing the magical search and replace in Dockerfiles.
  • Writing documentation.

#191
home-assistant/home-assistant.io#3406

This all is great work! However, I think we need to do some more things before releasing all this into the public. Unfortunately, the PR was merged before I could raise my concerns and suggestions. Which is the origin of this GitHub issue.

Things I think we should do from this point

Remove config.json and build.json; introduce hassio.json

As stated earlier in my story, config.json is actually misnamed. There is nothing wrong with build.json, but it does introduce an extra file.

If you look at my build environment thus far, you will find that I use information from the current config.json (e.g., for the Docker label schema), but also the version of the add-on/image is in the config.json file. Adding it to build.json would simply duplicate information, which should be avoided in my humble opinion.

My suggestion would be to introduce a new file called hassio.json, to replace both config.json and build.json. This file would be the same as the current config.json however, extended with build requirements and information. Choosing this path would obviously remove the need for multiple files, duplicate data, and the misnaming issue.

Extend config.json (or even better hassio.json)

I would suggest extending the JSON configuration files on add-ons (and add them to other images).
The following format would be my suggestion.

{
    "name": "Homebridge",
    "slug": "folder",
    "version": "1.2",
    "type": "addon",

    "description": "Homebridge add-on for Hass.io",
    "maintainer": "Franck Nijhof <[email protected]>",
    "vendor": "Community Hass.io Addons",
    "url": "website with more information about add-on (ie a forum thread for support)",
    "source": "https://github.com/hassio-addons/addon-homebridge",
    "documentation": "https://github.com/hassio-addons/addon-homebridge/tree/master/README.md",

    "arch": ["amd64"],
    "from": "hassioaddons/base-{arch}",
    "arch_from": {
        "amd64": "homeassistant:amd64-base"        
    },
    "squashs": true,
    "args": {
        "my_build_arg": "xy"
    },
    
    "startup": "application",
    "boot": "auto",
    "webui": "http://[host]:[port:2839]/dashboard",

    "ports": {
      "123/tcp": 123
    },
    "host_network": true,
    "devices": [
        "/dev/ttyAMA0:/dev/ttyAMA0:rwm"
    ],
    "hassio_api": true,
    "privileged": "SYS_ADMIN",
    "map": ["config:rw", "ssl"],
    "environment": {
        "test": "henk"
    },
    "audio": true,
    "options": {},
    "schema": {},
    "image": "repo/{arch}-my-custom-addon",
    "timeout": 10,
    "tmpfs": true
  }

This would enable us:

  • Add extra information to the Hass.io control panel (like maintainer, vendor, documentation & source code links).
  • Provide information for Docker label schema on a build.
  • Add extra Docker build arguments (suggested by @pvizeli!)
  • Enable/disable Docker image squashing
  • Specify specific images to build from on each architecture
  • Allows you to specify the type of image (addon, core, supervisor, homeassistant, ...)

Create a JSON schema validation file

I have not created an example yet, but adding a JSON schema file would help developers. It could also be used in any build environment to validate the JSON file before starting the build process.

Update Hass.io build system

Update Hass.io build system to reflect above changes. The local build does not need to support all things. It should only be able to build for local use. (This approach is already the way @pvizeli currently works with).

Concerns

I do however have some concerns:

  • The current change in the Hass.io build system lack backward compatibility. This does not have to be an issue, but I think I need to raise the concern.
  • I think you should eat your own food, before serving it to others. We should migrate our own stuff on the new methods, before asking/presenting it to the users/add-on developers.
  • Current build system change already on 'dev' branch. Maybe revert until we have found consensus? (conflicts with previous mentioned concern).

Other things to sort out

There are some other things to sort out:

  • Provide extensive documentation (partially started on by @pvizeli ๐Ÿ‘ )
  • Provide updated example add-on, including Travis & CircleCI examples.
  • Porting existing (core) add-ons? Adding automatic builds?
  • Can we find a solution for versioning and rollback support?
  • Update non-addon Dockerfile and images, including CI?
  • Moving/re-branding/re-license the built environment under Home Assistant?
  • Add support for custom build arguments on architecture level?
  • Splitting add-on and the add-on repository? Maybe the repository should only reference add-ons?

Suggestions

Apart from all the things mentioned above, I would like to add one more suggestion:
Add backward compatibility to the Hass.io local build environment. This would give us a larger transition time and removes the need for a "big bang".

My personal to-do list regarding this all at this moment

  • Build-env: Add support for additional build arguments
  • Build-env: CircleCI trigger on release tag in GIT
  • Build-env: Further testing with NON-addon Dockerfiles/images
  • Build-env: Extensive documentation
  • Example Addon: Create example addon
  • Example Addon: TravisCI example
  • Example Addon: CircleCI example
  • At least port 1 addon to new structure

TL;DR

If this issue needs a TL;DR in your opinion, I guess you are not concerned enough with the problems I'm trying to solve. The main goal? Let's make Home Assistant more awesome. I would love to receive some feedback, and maybe we can sort things out to create a better base for Home Assistant and its developers.

Bootstrap addons/configuration from files in boot partition.

It would be nice if you could place a configuration file in the boot partition (like with the network config and root ssh keys) which allow to specify the addons you want to have installed at boot. This will allow for a quicker setup/recovery then having to this manually through the web interface or having to rely on restoring backups.

As a sidenote to have the hass initial configuration directory copied/moved from the boot sector as well allows to completely setup a hassio system in one go.

If I can find time I can dive into this if you think this feature would be worth the effort of merging.

Emulated Hue Bridge Crash 0.51

Including the emulated hue bridge component in hassio 0.51 fails to load completely.

2017-08-09 00:23:59 INFO (MainThread) [homeassistant.components.http] Serving /api/websocket to 192.168.10.116 (auth: True)
2017-08-09 00:24:00 INFO (MainThread) [homeassistant.components.http] Serving /description.xml to 192.168.10.2 (auth: True)
2017-08-09 00:24:00 INFO (MainThread) [homeassistant.components.http] Serving /api/ to 192.168.10.174 (auth: True)
2017-08-09 00:24:00 INFO (MainThread) [homeassistant.components.http] Serving /api/12345678901234567890/lights to 192.168.10.174 (auth: True)
2017-08-09 00:24:00 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/aiohttp/web_protocol.py", line 422, in start
    resp = yield from self._request_handler(request)
  File "/usr/lib/python3.6/site-packages/aiohttp/web.py", line 306, in _handle
    resp = yield from handler(request)
  File "/usr/lib/python3.6/asyncio/coroutines.py", line 213, in coro
    res = yield from res
  File "/usr/lib/python3.6/asyncio/coroutines.py", line 213, in coro
    res = yield from res
  File "/usr/lib/python3.6/site-packages/homeassistant/components/http/__init__.py", line 421, in handle
    result = handler(request, **request.match_info)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/emulated_hue/hue_api.py", line 78, in get
    number = self.config.entity_id_to_number(entity.entity_id)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/emulated_hue/__init__.py", line 196, in entity_id_to_number
    number = str(max(int(k) for k in self.numbers) + 1)
ValueError: max() arg is an empty sequence
2017-08-09 00:37:56 INFO (MainThread) [homeassistant.core] Bus:Handling <Event homeassistant_stop[L]>
2017-08-09 00:37:56 INFO (Thread-2) [homeassistant.components.emulated_hue.upnp] UPNP responder shutting down.
2017-08-09 00:37:58 INFO (MainThread) [homeassistant.core] Bus:Handling <Event homeassistant_close[L]>

These errors seem to go away if I remove the newly added rpi-rf switch from my configuration.yaml. However then my list at /api/pi/lights is empty for the emulated hue bridge.

switch screen:
  platform: rpi_rf
  gpio: 17
  switches:
    projector_screen:
      code_on: 1234
      code_off: 1235 

External connection problem

Hi,

i have installed the latest stable version of hassio and now my home assistant instance has problems contacting external services like tado, dasksky, telegram and other services.

I mean this is due to DNS configuration problem on Docker container.
This is the DNS configuration:

nameserver 127.0.0.11
options ndots:0

There are the errors:

Telegram
telegram.vendor.ptb_urllib3.urllib3.exceptions.NewConnectionError: <telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0xb3d51310>: Failed to establish a new connection: [Errno - 3] Try again

Darksky
ERROR (SyncWorker_3) [homeassistant.components.sensor.darksky] Unable to connect to Dark Sky. HTTPSConnectionPool(host='api.darksky.net', port=443): Max retries exceeded with url: /forecas t/a5be25c8af305dfb608a7cb16e3efdf2/41.8120494,12.4467456?units=si (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0xb55b0430>: Failed to establish a new connection: [Errno -3] Try again',))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.