home-assistant.github.io/blog/categories/technology/atom.xml
2018-02-16 22:00:49 +00:00

201 lines
15 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title><![CDATA[Category: Technology | Home Assistant]]></title>
<link href="https://home-assistant.io/blog/categories/technology/atom.xml" rel="self"/>
<link href="https://home-assistant.io/"/>
<updated>2018-02-16T21:42:46+00:00</updated>
<id>https://home-assistant.io/</id>
<author>
<name><![CDATA[Home Assistant]]></name>
</author>
<generator uri="http://octopress.org/">Octopress</generator>
<entry>
<title type="html"><![CDATA[Deprecating Python 3.4 support]]></title>
<link href="https://home-assistant.io/blog/2017/10/06/deprecating-python-3.4-support/"/>
<updated>2017-10-06T00:36:00+00:00</updated>
<id>https://home-assistant.io/blog/2017/10/06/deprecating-python-3.4-support</id>
<content type="html"><![CDATA[**Update February 16, 2018**:
Home Assistant 0.64 will be the last release to support Python 3.4. Starting with release 0.65, Home Assistant will require a minimum version of Python 3.5.3.
---
Starting with our next release, 0.55, we will deprecate Python 3.4 support. The current plan is to remove support for Python 3.4 at the beginning of 2018.
Python 3.5 was released on September 13th, 2015. It has since then become the default Python installation on the stable releases of Debian, Ubuntu, Raspbian and Hassbian. Our other own operating system, Hass.io, is more advanced and is already running the greatly improved Python 3.6.
The jump to Python 3.5 as a minimum version is driven by the Home Assistant core, which is based on asyncio. Starting with Python 3.5, asyncio got improved support in the language with dedicated keywords `async` and `await`. As this is the proper way of doing async in Python, we're seeing a move by async libraries to either only support the new syntax from the beginning or dropping support for the Python 3.4 approach. Not moving along means an increased maintenance burden as we cannot use the latest releases of our libraries. Next to that it will prevent our users from being able to leverage the bug fixes and performance improvements that come with Python 3.5.
#### Hass.io
If you're running Hass.io, you don't have to do anything. Your system will always stay up to date.
#### Hassbian
If you're running Hassbian it's recommended that you make a backup of your configuration files and restore them on a fresh install. Upgrading an existing installation isn't recommended.
#### Windows
If you're on Windows, you're fine as our minimum version for Windows has been 3.5 for a while now.
#### Other Debian based systems
If you're running a Debian based system, follow [these instructions][dist-upgrade] to upgrade.
[dist-upgrade]: https://linuxconfig.org/raspbian-gnu-linux-upgrade-from-jessie-to-raspbian-stretch-9
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Improved Hass.io build system]]></title>
<link href="https://home-assistant.io/blog/2017/09/26/new-hassio-build-system/"/>
<updated>2017-09-26T03:00:00+00:00</updated>
<id>https://home-assistant.io/blog/2017/09/26/new-hassio-build-system</id>
<content type="html"><![CDATA[<p class='note'>
This is going to be a technical post for Hass.io add-on developers and people that run locally build add-ons (not the default).
</p>
Two months ago we [introduced Hass.io][intro], allowing our users to easily install, update and manage their Home Assistant installation. In this short time we've seen great adoption from the community. Around 20% of our users are choosing Hass.io as their method of running Home Assistant today. We've also seen many add-ons being made available on [the forums][addon-repos]. There are currently 14 reposities full of add-ons being shared!
Hass.io is built on top of Docker, a container runtime. One thing that Docker did not support was dynamic build environements. That was annoying for Hass.io because by supporting multiple CPU architectures, that was exactly what we needed! Luckily this feature has been added in Docker 17.05. By moving to Docker 17.05 as the minimum supported version we will be able to replace our templated Dockerfile approach with standard Dockerfiles that work out of the box. Thanks to [Frenck][frenck] for notifying us of this new build feature.
This change only impacts people that build add-ons or use add-ons that are built locally. You can check if your add-on is building locally on the detail page of add-ons.
<p class='note'>
If you are an add-on developer, read [the documentation][publishing-addons] on how to publish your add-ons to Docker Hub. This will greatly improve the user experience.
</p>
### <a class='title-link' name='template-changes' href='#template-changes'></a> Template changes
As an add-on developer, you will only have to change one line in your template to make it compatible with the new system. If you wish, you can also change the default build options for your image using the new [`build.json`][build-file] file.
Old:
```
FROM %%BASE_IMAGE%%
```
New:
```
ARG BUILD_FROM
FROM $BUILD_FROM
```
### <a class='title-link' name='when' href='#when'></a> When
The new system will become active with Hass.io 0.64 and Host OS 1.1. Host OS 1.1 is available today. Navigate to Advanced Settings in the Hass.io panel to start the OTA update.
We have also updated our build scripts and replaced it with a [builder docker engine][builder]. This builder makes deploying Hass.io components very easy. All basic functionality is supported. If you want more functionality, check out [the builder by the Community Hass.io Add-ons project][community-builder].
[hassio-hardware-image-release]: https://github.com/home-assistant/hassio-build/releases/tag/1.1
[install]: /hassio/installation/
[builder]: https://github.com/home-assistant/hassio-build/tree/master/builder
[frenck]: https://github.com/frenck
[build-file]: /developers/hassio/addon_config/#add-on-extended-build
[addon-repos]: https://community.home-assistant.io/tags/hassio-repository
[community-builder]: https://github.com/hassio-addons/build-env
[intro]: /blog/2017/07/25/introducing-hassio/
[publishing-addons]: /developers/hassio/addon_publishing/#custom-add-ons
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Hassbian 1.3 - A bit of a stretch]]></title>
<link href="https://home-assistant.io/blog/2017/09/16/hassbian-1.3-a-bit-of-a-stretch/"/>
<updated>2017-09-16T15:00:00+00:00</updated>
<id>https://home-assistant.io/blog/2017/09/16/hassbian-1.3-a-bit-of-a-stretch</id>
<content type="html"><![CDATA[This new release finally brings us the release of Hassbian based on the release of Raspbian Stretch. The most significant change with this is that we now run Home Assistant on Python 3.5.
Other than that the changes are mostly to our tool `hassbian-config`.
### <a class='title-link' name='hassbian-config' href='#hassbian-config'></a> Hassbian-config
To allow you to customize your installation further, we have made a few additions to our tool called `hassbian-config`. Majority of these changes where contributed by [@Ludeeus][ludeeus].
#### <a class='title-link' name='upgrade-scripts' href='#upgrade-scripts'></a> Upgrade scripts
[@Ludeeus][ludeeus] contributed the possibility to run upgrade scripts to the `hassbian-config` tool.
- Upgrade Hassbian: Upgrades packages of the base operating system. Contributed by [@Landrash][landrash].
- Upgrade Hassbian-script: Downloads and upgrades the latest release of Hassbian-scripts. Contributed by [@Ludeeus][ludeeus].
- Upgrade Home-assistant: Upgrades the Home Assistant installation to the latest release. Contributed by [@Ludeeus][ludeeus].
To follow discussions about the development of the HASSbian image or to contribute join our [Discord chat server][discord-hassbian].
To get started with the new image, check out the installation instructions on the [installing Hassbian page][install].
[landrash]: http://github.com/landrash
[ludeeus]: http://github.com/ludeeus
[hassbian-repo]: https://github.com/home-assistant/hassbian-scripts/
[hassbian-config-release]: https://github.com/home-assistant/hassbian-scripts/releases/latest
[install]: https://home-assistant.io/docs/installation/hassbian/installation/
[discord-hassbian]: https://discord.gg/RkajcgS
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[ZWave Entity IDs]]></title>
<link href="https://home-assistant.io/blog/2017/06/15/zwave-entity-ids/"/>
<updated>2017-06-15T12:00:00+00:00</updated>
<id>https://home-assistant.io/blog/2017/06/15/zwave-entity-ids</id>
<content type="html"><![CDATA[ZWave entity_ids have long been a source of frustration in Home Assistant. The first problem we faced was that depending on the order of node discovery, entity_ids could be discovered with different names on each run. To solve this we added the node id as a suffix to the entity_id. This ensured that entity_ids were generated deterministically on each run, but additional suffixes had to be added to handle edge cases where there would otherwise be a conflict. The resulting entity_ids worked, but have been difficult to work with and makes ZWave a strange exception among other Home Assistant components.
Thanks to the awesome work of [@turbokongen], a growing number of ZWave configuration options are now available from the new ZWave panel in the Home Assistant frontend. Among these new features is support for renaming of ZWave nodes and their underlying values. (These renames are persisted in zwcfg_*.xml) This is important, because these items are combined to form the Home Assistant entity name, which is used to generate the entity_id. Now that these options are available, ZWave users can rename nodes and values, influencing the entity_ids that are generated by Home Assistant.
Now that users are able to control these names, we will be making changes to how the entity_ids are generated for ZWave entities. The ZWave entity_ids are going to switch back to using the standard entity_id generation from Home Assistant core, based on the entity names. Moving forward, if there is a conflict when generating entity_ids, a suffix will be added, and it will be the responsibility of the user to rename their nodes and values to avoid the conflict. This is the same as any other platform in Home Assistant where two devices are discovered with the same name.
With the release of 0.47, this feature will be opt-in. Setting `new_entity_ids: true` under `zwave:` in your configuration.yaml will enable the new generation. After 0.48 this feature will become opt-out. From 0.48 onward, unless youve declared `new_entity_ids: false` you will switch to the new entity_id generation. At an undecided point in the future, the old entity_id generation will be removed completely.
Im sure all ZWave users understand that the current entity_ids arent easy to use. Theyre annoying to type in configuration.yaml, and break if a node needs to be re-included to the network. We know that breaking changes are painful, and so were doing what we can to roll this change out as smoothly as possible. The end result should be a dramatic simplification of most ZWave configurations. We hope that this change will ultimately make ZWave much easier to work with, and bring ZWave configuration just a little closer to the rest of the Home Assistant platforms.
[@turbokongen]: https://github.com/turbokongen
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[HASSbian 1.21 - It's about time isn't it]]></title>
<link href="https://home-assistant.io/blog/2017/04/30/hassbian-1.21-its-about-time/"/>
<updated>2017-04-30T15:00:00+00:00</updated>
<id>https://home-assistant.io/blog/2017/04/30/hassbian-1.21-its-about-time</id>
<content type="html"><![CDATA[### Hassbian 1.21 - It's about time isn't it
Since I, the developer of HASSbian, have been moving, started a new job and so on I've had few moments over for HASSbian development. The 1.2 release has been in pre-release for a few months now and just not communicated out that well. Hopefully this release changes that and I'll do my best to release more often. There's no simple way to update from 1.1 to 1.21 but 95% of the changes can be done by installing the [hassbian-config][hassbian-config-release] package. For more information have a look at the [hassbian-config][hassbian-repo] page.
### Hassbian 1.22 - Sins of last night
Development is sometimes fast and joyful but mistakes are made at times.
With the release of 1.21 a small problem with the OpenZWave build script wasn't corrected even tough it was a known bug. Problem is simple as it's only a problem with the symlink created for to the configuration folder for OpenZWave. This has been fixed and we bring some new things since they where ready anyway. The list below has been augmented with the updated information.
### <a class='title-link' name='hassbian-config' href='#hassbian-config'></a> Hassbian-config
To allow you to customize your installation further, we have included a tool called `hassbian-config`. This tool comes with a set of packages that can easily be installed for easier customization of your Home Assistant installation. This replaces the `hassbian-scripts` functionality from 1.1.
- Install Hue. Configures the Python executable to allow usage of low numbered ports for use with Emulated Hue component that's used with Amazon Echo, Google Home and Mycroft.ai.
- Install Mosquitto MQTT server. Installs the latest Mosquitto package and client tools from the Mosquitto projects official repository. Now includes websocket support.
- Install Libcec. Adds local [HDMI CEC support][cec].
- Install Open Z-Wave-pip. Installs Python Open Z-Wave from a pip package. This is the quickest and recommended way of installing Z-Wave support but does not OZWCP pre-installed.
- Install Open Z-Wave. Installs Python Open Z-Wave and OZWCP from git.
- Install Samba. Allows anyone on your network to edit your configuration from any computer. This share is unsecured and it's usage is not recommended if you share your network with others.
- Install Tellstick. Installs the Tellstick package for controlling and using a connected Tellstick.
- Install Tradfri. Installs dependencies for using IKEA Trådfri.
### <a class='title-link' name='spring-cleaning' href='#spring-cleaning'></a> Spring cleaning
With this image there also quite a bit of cleaning of the base system and the script that generates our Raspberry Pi image.
- Replaced the `hassbian-scripts` folder with `hassbian-config`.
- Update `pi-gen`. Our build script has been upgraded to follow the Raspbian image closer once again. Now you could build this image with Docker if your so inclined.
- Added libtool and autoconf package. Dependencies for some of the pip packages.
- Pi ZeroW should now work with the image.
To follow discussions about the development of the HASSbian image or to contribute join our [Discord chat server][discord-devs].
To get started with the new image, check out the installation instructions in the [getting started section][gs-image].
[cec]: /components/hdmi_cec/
[hassbian-repo]: https://github.com/home-assistant/hassbian-scripts/
[hassbian-config-release]: https://github.com/home-assistant/hassbian-scripts/releases/latest
[gs-image]: /getting-started/installation-raspberry-pi-image/
[discord-devs]: https://discord.gg/8X8DTH4
]]></content>
</entry>
</feed>