0.85: ESPHome, Plum Lightpad, OpenSenseMap

Thx man. That was acualy it. Must have missed it hen reading Changes in this version

Since 0.85 I can’t SSH to HASSIO host/supervisor , everything else seems to work.

Any clue?

thnx, I’ve checked the entity_id but i have missed the underscore _ at the end !

sensor.home_assistant_v2_db
instead of
sensor.home_assistant_v2db

Ohh a lot of HASSIO addon did not start after the update, even if start on boot was on

There’s now a 0.85.0 tag in Docker - latest still on .84

Hi,
I have some mqtt sensors, but in HA 0.85.0, there is a new way to configure the old json_attributes list.
Is there any example to migrate to the new way??

I receive this warning in log:

configuration variable "json_attributes" is deprecated, replace with "json_attributes_topic"

But, if I change only this name, I receive this:

Invalid config for [sensor.mqtt]: value should be a string for dictionary value @ data['json_attributes_topic']. Got ['name', 'mac', 'discovered_devices']. (See ?, line ?). Please check the docs at https://home-assistant.io/components/sensor.mqtt/

And there isn’t any info about this change in the docs… :sweat:

2 Likes

Everything works fine here, execpt my netatmo presence camera.

I found out that the entity-ID changed from camera.netatmopresence to camera.netatmo_presence.

Songpal crashes during boot for me (it used to work well on 0.84.6):

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py”, line 352, in _async_add_entity
await entity.async_update_ha_state()
File “/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity.py”, line 239, in async_update_ha_state
attr = self.state_attributes or {}
File “/usr/local/lib/python3.6/site-packages/homeassistant/components/media_player/init.py”, line 787, in state_attributes
in ATTR_TO_PROPERTY if getattr(self, attr) is not None
File “/usr/local/lib/python3.6/site-packages/homeassistant/components/media_player/init.py”, line 787, in
in ATTR_TO_PROPERTY if getattr(self, attr) is not None
File “/usr/local/lib/python3.6/site-packages/homeassistant/components/media_player/songpal.py”, line 289, in source
return self._active_source.title
AttributeError: ‘NoneType’ object has no attribute ‘title’

Quick reminder for anyone who might not be aware: if you are experience issues, please post you information as issues in GitHub; this will help ensure the development team sees them. Thanks!

1 Like

I’m using the lovelace web editor and it isn’t saving my external resources… I don’t see anywhere that states that has changed, does anyone have more info?

EDIT: Per Discord, this is a known issue in 0.85, wait for 0.85.1 if possible.

1 Like

I’ll add my issue into the mix.

The 85.0 upgrade has broken my z-wave, but everything else seems to have made it.

Not initializing zwave because could not install requirement homeassistant-pyozw==0.1.2

Unable to install package homeassistant-pyozw==0.1.2: Failed building wheel for homeassistant-pyozw
Command "/srv/homeassistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-cz4kvseo/homeassistant-pyozw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-c3s9w5z4/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.5/homeassistant-pyozw" failed with error code 1 in /tmp/pip-install-cz4kvseo/homeassistant-pyozw/

Luckily I’m all backed up, so I’ll format and try again.

I’ve been using this install method for a few months: https://www.home-assistant.io/docs/installation/raspberry-pi/

Going to try this one this time: https://www.home-assistant.io/docs/installation/hassbian/installation/

update to 0.85 broken my openhardwaremonitorsensor , downgrade to 0.84.6 work.

Damn it, knew i shouldnt have upgraded

My Z-wave went bonkers too. Device (Aeotec) seems locked. All nodes show up, but they are totally dead

Just a quick heads up to anyone who is running TravisCI to build their hass config… the Travis-CI sensor’s generated ID was changed in 0.85. If you have any automations using it (e.g detect passing build and reconfigure), you should double check your sensor IDs.

zwave is toast
Not initializing zwave because could not install requirement homeassistant-pyozw==0.1.2
looks like it fails
Failed building wheel for homeassistant-pyozw

My docker container no longer starts up.

I get this in my log

2019-01-11 17:24:14 WARNING (MainThread) [homeassistant.components.http] legacy_api_password support has been enabled. If you don’t require it, remove the ‘api_password’ from your http config.
2019-01-11 17:24:15 WARNING (Recorder) [homeassistant.components.recorder] Ended unfinished session (id=64 from 2019-01-11 09:11:09.167643)
2019-01-11 17:24:24 WARNING (MainThread) [homeassistant.helpers.entity] Updating state for camera.nursery (<class ‘homeassistant.components.camera.arlo.ArloCam’>) took 4.090 seconds. Please report platform to the developers at https://goo.gl/Nvioub
2019-01-11 17:24:25 WARNING (MainThread) [homeassistant.setup] Setup of asuswrt is taking over 10 seconds.
2019-01-11 17:24:28 WARNING (MainThread) [homeassistant.components.sensor] Setup of platform ring is taking over 10 seconds.
2019-01-11 17:24:30 WARNING (MainThread) [homeassistant.components.sensor] Setup of platform arlo is taking over 10 seconds.

Same zwave buggery here. I’m pretty sure someone forgot the space in “-l openzwave”.

(homeassistant) homeassistant@razz:~/.homeassistant$ pip3 install --upgrade homeassistant-pyozw
Collecting homeassistant-pyozw
  Using cached https://files.pythonhosted.org/packages/f8/f0/e45cbb4f4e834520dca221d6ed667235f239c96827d87c4bc140e423a533/homeassistant_pyozw-0.1.2.zip
Requirement already satisfied, skipping upgrade: six in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant-pyozw) (1.11.0)
Requirement already satisfied, skipping upgrade: PyDispatcher>=2.0.5 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant-pyozw) (2.0.5)
Requirement already satisfied, skipping upgrade: Cython in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant-pyozw) (0.29.1)
Building wheels for collected packages: homeassistant-pyozw
  Running setup.py bdist_wheel for homeassistant-pyozw ... error
  Complete output from command /srv/homeassistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-6b4z9hrw/homeassistant-pyozw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-_9g2x0t7 --python-tag cp35:
  sysargv ['-c', 'bdist_wheel', '-d', '/tmp/pip-wheel-_9g2x0t7', '--python-tag', 'cp35']
  Found SETUP_DIR : /tmp/pip-install-6b4z9hrw/homeassistant-pyozw
  <pyozw_setup.SharedTemplate object at 0x7fbda816bda0>
  {'libraries': ['openzwave'], 'sources': ['src-lib/libopenzwave/libopenzwave.pyx'], 'extra_compile_args': ['-I/usr/local/include/openzwave', '-I/usr/local/include/openzwave/value_classes', '-I/usr/local/include/openzwave/platform'], 'extra_objects': [], 'extra_link_args': [], 'language': 'c++', 'define_macros': [('PY_LIB_VERSION', '0.1.2'), ('PY_SSIZE_T_CLEAN', 1), ('PY_LIB_FLAVOR', 'shared'), ('PY_LIB_BACKEND', 'cython')], 'name': 'libopenzwave', 'include_dirs': []}
  ['six', 'PyDispatcher>=2.0.5', 'Cython']
  running bdist_wheel
  running build
  running build_openzwave
  Found g++ : /usr/bin/g++
  Found gcc : /usr/bin/gcc
  Found make : /usr/bin/make
  Found gmake : None
  Found cython : /srv/homeassistant/bin/cython
  Found pkg-config : /usr/bin/pkg-config
  Found library openzwave : False
  Found library yaml-0.1 : False
  Found library libopenzwave : True
  Found library python : True
  Found library python2 : True
  Found library python3 : True
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.5
  creating build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/controller.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/group.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/singleton.py -> build/lib.linux-x86_64-3.5/openzwave  copying src-api/openzwave/__init__.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/scene.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/value.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/object.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/option.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/network.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/command.py -> build/lib.linux-x86_64-3.5/openzwave
  copying src-api/openzwave/node.py -> build/lib.linux-x86_64-3.5/openzwave
  creating build/lib.linux-x86_64-3.5/pyozwman
  copying src-manager/pyozwman/ozwsh_main.py -> build/lib.linux-x86_64-3.5/pyozwman
  copying src-manager/pyozwman/__init__.py -> build/lib.linux-x86_64-3.5/pyozwman
  copying src-manager/pyozwman/ozwsh_widgets.py -> build/lib.linux-x86_64-3.5/pyozwman
  creating build/lib.linux-x86_64-3.5/python_openzwave
  copying src-python_openzwave/python_openzwave/__init__.py -> build/lib.linux-x86_64-3.5/python_openzwave
  creating build/lib.linux-x86_64-3.5/python_openzwave/ozw_config
  copying src-python_openzwave/python_openzwave/ozw_config/__init__.py -> build/lib.linux-x86_64-3.5/python_openzwave/ozw_config
  creating build/lib.linux-x86_64-3.5/python_openzwave/scripts
  copying src-python_openzwave/python_openzwave/scripts/pyozw_check.py -> build/lib.linux-x86_64-3.5/python_openzwave/scripts
  copying src-python_openzwave/python_openzwave/scripts/__init__.py -> build/lib.linux-x86_64-3.5/python_openzwave/scripts
  copying src-python_openzwave/python_openzwave/scripts/pyozw_shell.py -> build/lib.linux-x86_64-3.5/python_openzwave/scripts
  running build_ext
  cythoning src-lib/libopenzwave/libopenzwave.pyx to src-lib/libopenzwave/libopenzwave.cpp
  /srv/homeassistant/lib/python3.5/site-packages/Cython/Compiler/Main.py:367: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /tmp/pip-install-6b4z9hrw/homeassistant-pyozw/src-lib/libopenzwave/libopenzwave.pyx
    tree = Parsing.p_module(s, pxd, full_module_name)
  building 'libopenzwave' extension
  creating build/temp.linux-x86_64-3.5
  creating build/temp.linux-x86_64-3.5/src-lib
  creating build/temp.linux-x86_64-3.5/src-lib/libopenzwave
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPY_LIB_VERSION=0.1.2 -DPY_SSIZE_T_CLEAN=1 -DPY_LIB_FLAVOR=shared -DPY_LIB_BACKEND=cython -I/srv/homeassistant/include -I/usr/include/python3.5m -c src-lib/libopenzwave/libopenzwave.cpp -o build/temp.linux-x86_64-3.5/src-lib/libopenzwave/libopenzwave.o -I/usr/local/include/openzwave -I/usr/local/include/openzwave/value_classes -I/usr/local/include/openzwave/platform
  cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
  src-lib/libopenzwave/libopenzwave.cpp:3:0: warning: "PY_SSIZE_T_CLEAN" redefined
   #define PY_SSIZE_T_CLEAN
   ^
  <command-line>:0:0: note: this is the location of the previous definition
  src-lib/libopenzwave/libopenzwave.cpp:15398:67: warning: macro "__DATE__" might prevent reproducible builds [-Wdate-time]
     __pyx_t_4 = __pyx_convert_PyUnicode_string_to_py_std__in_string(PY_LIB_DATE_STRING); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1411, __pyx_L1_error)
                                                                     ^
  src-lib/libopenzwave/libopenzwave.cpp:15400:67: warning: macro "__TIME__" might prevent reproducible builds [-Wdate-time]
     __pyx_t_5 = __pyx_convert_PyUnicode_string_to_py_std__in_string(PY_LIB_TIME_STRING); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1411, __pyx_L1_error)
                                                                     ^
  src-lib/libopenzwave/libopenzwave.cpp: In function ‘PyObject* __pyx_pf_12libopenzwave_9PyManager_272beginControllerCommand(__pyx_obj_12libopenzwave_PyManager*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*)’:
  src-lib/libopenzwave/libopenzwave.cpp:31706:204: warning: ‘bool OpenZWave::Manager::BeginControllerCommand(uint32, OpenZWave::Driver::ControllerCommand, OpenZWave::Driver::pfnControllerCallback_t, void*, bool, uint8, uint8)’ is deprecated [-Wdeprecated-declarations]
     __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_self->manager->BeginControllerCommand(__pyx_t_1, __pyx_t_2, __pyx_f_12libopenzwave_ctrl_callback, ((void *)__pyx_v_pythonfunc), __pyx_t_3, __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4207, __pyx_L1_error)
                                              ^
  In file included from src-lib/libopenzwave/libopenzwave.cpp:643:0:
  /usr/local/include/openzwave/Manager.h:1732:19: note: declared here
     DEPRECATED bool BeginControllerCommand( uint32 const _homeId, Driver::ControllerCommand _command, Driver::pfnControllerCallback_t _callback = NULL, void* _context = NULL, bool _highPower = false, uint8 _nodeId = 0xff, uint8 _arg = 0 );                     ^
  x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/src-lib/libopenzwave/libopenzwave.o -lopenzwave -o build/lib.linux-x86_64-3.5/libopenzwave.cpython-35m-x86_64-linux-gnu.so
  /usr/bin/ld: cannot find -lopenzwave
  collect2: error: ld returned 1 exit status
  error: command 'x86_64-linux-gnu-g++' failed with exit status 1

  ----------------------------------------
  Failed building wheel for homeassistant-pyozw
  Running setup.py clean for homeassistant-pyozw
Failed to build homeassistant-pyozw
Installing collected packages: homeassistant-pyozw
  Found existing installation: homeassistant-pyozw 0.1.1
    Uninstalling homeassistant-pyozw-0.1.1:
      Successfully uninstalled homeassistant-pyozw-0.1.1
  Running setup.py install for homeassistant-pyozw ... error
    Complete output from command /srv/homeassistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-6b4z9hrw/homeassistant-pyozw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-2bcvtfl1/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.5/homeassistant-pyozw:
    sysargv ['-c', 'install', '--record', '/tmp/pip-record-2bcvtfl1/install-record.txt', '--single-version-externally-managed', '--compile', '--install-headers', '/srv/homeassistant/include/site/python3.5/homeassistant-pyozw']
    Found SETUP_DIR : /tmp/pip-install-6b4z9hrw/homeassistant-pyozw
    <pyozw_setup.SharedTemplate object at 0x7fcf4cbdecc0>
    Fail to install minimal dependencies Cython
    {'libraries': ['openzwave'], 'extra_objects': [], 'name': 'libopenzwave', 'language': 'c++', 'extra_link_args': [], 'extra_compile_args': ['-I/usr/local/include/openzwave', '-I/usr/local/include/openzwave/value_classes', '-I/usr/local/include/openzwave/platform'], 'define_macros': [('PY_LIB_VERSION', '0.1.2'), ('PY_SSIZE_T_CLEAN', 1), ('PY_LIB_FLAVOR', 'shared'), ('PY_LIB_BACKEND', 'cython')], 'include_dirs': [], 'sources': ['src-lib/libopenzwave/libopenzwave.pyx']}
    ['six', 'PyDispatcher>=2.0.5', 'Cython']
    Fail to install minimal dependencies Cython
    running install
    flavor shared
    running build_openzwave
    Found g++ : /usr/bin/g++
    Found gcc : /usr/bin/gcc
    Found make : /usr/bin/make
    Found gmake : None
    Found cython : /srv/homeassistant/bin/cython
    Found pkg-config : /usr/bin/pkg-config
    Found library openzwave : False
    Found library yaml-0.1 : False
    Found library libopenzwave : True
    Found library python : True
    Found library python2 : True
    Found library python3 : True
    running openzwave_config
    Don't install ozw_config for template <pyozw_setup.SharedTemplate object at 0x7fcf4cbdecc0>
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.5
    creating build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/controller.py -> build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/group.py -> build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/singleton.py -> build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/__init__.py -> build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/scene.py -> build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/value.py -> build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/object.py -> build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/option.py -> build/lib.linux-x86_64-3.5/openzwave
    copying src-api/openzwave/network.py -> build/lib.linux-x86_64-3.5/openzwave    copying src-api/openzwave/command.py -> build/lib.linux-x86_64-3.5/openzwave    copying src-api/openzwave/node.py -> build/lib.linux-x86_64-3.5/openzwave
    creating build/lib.linux-x86_64-3.5/pyozwman
    copying src-manager/pyozwman/ozwsh_main.py -> build/lib.linux-x86_64-3.5/pyozwman
    copying src-manager/pyozwman/__init__.py -> build/lib.linux-x86_64-3.5/pyozwman
    copying src-manager/pyozwman/ozwsh_widgets.py -> build/lib.linux-x86_64-3.5/pyozwman
    creating build/lib.linux-x86_64-3.5/python_openzwave
    copying src-python_openzwave/python_openzwave/__init__.py -> build/lib.linux-x86_64-3.5/python_openzwave
    creating build/lib.linux-x86_64-3.5/python_openzwave/ozw_config
    copying src-python_openzwave/python_openzwave/ozw_config/__init__.py -> build/lib.linux-x86_64-3.5/python_openzwave/ozw_config
    creating build/lib.linux-x86_64-3.5/python_openzwave/scripts
    copying src-python_openzwave/python_openzwave/scripts/pyozw_check.py -> build/lib.linux-x86_64-3.5/python_openzwave/scripts
    copying src-python_openzwave/python_openzwave/scripts/__init__.py -> build/lib.linux-x86_64-3.5/python_openzwave/scripts
    copying src-python_openzwave/python_openzwave/scripts/pyozw_shell.py -> build/lib.linux-x86_64-3.5/python_openzwave/scripts
    running build_ext
    cythoning src-lib/libopenzwave/libopenzwave.pyx to src-lib/libopenzwave/libopenzwave.cpp
    /srv/homeassistant/lib/python3.5/site-packages/Cython/Compiler/Main.py:367: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /tmp/pip-install-6b4z9hrw/homeassistant-pyozw/src-lib/libopenzwave/libopenzwave.pyx
      tree = Parsing.p_module(s, pxd, full_module_name)
    building 'libopenzwave' extension
    creating build/temp.linux-x86_64-3.5
    creating build/temp.linux-x86_64-3.5/src-lib
    creating build/temp.linux-x86_64-3.5/src-lib/libopenzwave
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPY_LIB_VERSION=0.1.2 -DPY_SSIZE_T_CLEAN=1 -DPY_LIB_FLAVOR=shared -DPY_LIB_BACKEND=cython -I/srv/homeassistant/include -I/usr/include/python3.5m -c src-lib/libopenzwave/libopenzwave.cpp -o build/temp.linux-x86_64-3.5/src-lib/libopenzwave/libopenzwave.o -I/usr/local/include/openzwave -I/usr/local/include/openzwave/value_classes -I/usr/local/include/openzwave/platform
    cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
    src-lib/libopenzwave/libopenzwave.cpp:3:0: warning: "PY_SSIZE_T_CLEAN" redefined
     #define PY_SSIZE_T_CLEAN
     ^
    <command-line>:0:0: note: this is the location of the previous definition
    src-lib/libopenzwave/libopenzwave.cpp:15398:67: warning: macro "__DATE__" might prevent reproducible builds [-Wdate-time]
       __pyx_t_4 = __pyx_convert_PyUnicode_string_to_py_std__in_string(PY_LIB_DATE_STRING); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1411, __pyx_L1_error)
                                                                       ^
    src-lib/libopenzwave/libopenzwave.cpp:15400:67: warning: macro "__TIME__" might prevent reproducible builds [-Wdate-time]
       __pyx_t_5 = __pyx_convert_PyUnicode_string_to_py_std__in_string(PY_LIB_TIME_STRING); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1411, __pyx_L1_error)
                                                                       ^
    src-lib/libopenzwave/libopenzwave.cpp: In function ‘PyObject* __pyx_pf_12libopenzwave_9PyManager_272beginControllerCommand(__pyx_obj_12libopenzwave_PyManager*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*)’:
    src-lib/libopenzwave/libopenzwave.cpp:31706:204: warning: ‘bool OpenZWave::Manager::BeginControllerCommand(uint32, OpenZWave::Driver::ControllerCommand, OpenZWave::Driver::pfnControllerCallback_t, void*, bool, uint8, uint8)’ is deprecated [-Wdeprecated-declarations]
       __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_self->manager->BeginControllerCommand(__pyx_t_1, __pyx_t_2, __pyx_f_12libopenzwave_ctrl_callback, ((void *)__pyx_v_pythonfunc), __pyx_t_3, __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4207, __pyx_L1_error)
                                                ^
    In file included from src-lib/libopenzwave/libopenzwave.cpp:643:0:
    /usr/local/include/openzwave/Manager.h:1732:19: note: declared here
       DEPRECATED bool BeginControllerCommand( uint32 const _homeId, Driver::ControllerCommand _command, Driver::pfnControllerCallback_t _callback = NULL, void* _context = NULL, bool _highPower = false, uint8 _nodeId = 0xff, uint8 _arg = 0 );
                       ^
    x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/src-lib/libopenzwave/libopenzwave.o -lopenzwave -o build/lib.linux-x86_64-3.5/libopenzwave.cpython-35m-x86_64-linux-gnu.so
    /usr/bin/ld: cannot find -lopenzwave
    collect2: error: ld returned 1 exit status
    error: command 'x86_64-linux-gnu-g++' failed with exit status 1

    ----------------------------------------
  Rolling back uninstall of homeassistant-pyozw
Command "/srv/homeassistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-6b4z9hrw/homeassistant-pyozw/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-2bcvtfl1/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.5/homeassistant-pyozw" failed with error code 1 in /tmp/pip-install-6b4z9hrw/homeassistant-pyozw/

Your example already only has letters and underscores…?

It means that if you had something like a file size sensor looking at home-assistant_v2.db', it _used_ to be "fixed" but just dropping the period to home-assistant_v2dbfor the entity name. Now, non-ok characters will be replaced with underscore and it becomes:home_assistant_v2_db`

This would effect an entity where the name is derived from something else (like the file in my example). Or if you named an automation “Joe’s easy-fix lights” it would probably become: automation.joe_s_easy_fix_lights

And numbers. The example given in the blog post replaced numbers with words.