diff --git a/addons/dhcp_server/index.html b/addons/dhcp_server/index.html
index 9d53018304..c7275b5b89 100644
--- a/addons/dhcp_server/index.html
+++ b/addons/dhcp_server/index.html
@@ -112,7 +112,7 @@
- broadcast (Required): Network broadcast address.
- gateway (Required): A List of gateways.
-
interface (Required): Inteface on that will be listen. Normally is eth0 for ethernet wired connection and wlan0 for wireless connection.
+
interface (Required): Interface on that will be listen. Normally is eth0 for ethernet wired connection and wlan0 for wireless connection.
hosts (Optional): A list of fixed IPs for devices.
diff --git a/atom.xml b/atom.xml
index a4e6195523..dd8c5e4270 100644
--- a/atom.xml
+++ b/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -754,14 +754,14 @@ Note however, that this feature was replaced by a new ignore_string config optio
Shopping list tweaks
-
@balloob has refreshed the shopping list UI to make it more usable. It’s now possible to add items by typing, instead of just voice. Also editting has been made easier.
+
@balloob has refreshed the shopping list UI to make it more usable. It’s now possible to add items by typing, instead of just voice. Also editing has been made easier.
Entity picker
@balloob improved the way if you want to pick an entity. In the automation editor, the script editor and the service section of the Developer Tools it’s much easier to identify the right one! The automation editor will only suggest relevant entities.
- Screenshot of the of the Enitity Picker.
+ Screenshot of the of the Entity Picker.
Hass.io Add-ons
@@ -1081,7 +1081,7 @@ The Hass.io release of 0.58 will be delayed by a couple of days because Pascal i
Translation update
-
Translations are up and running in full speed. Shortly after the last release we got our translation pipeline figured out. @armills and @c727 are doing an amazing job managing this project. We’ve doubled the number of supported languages to 42 and the amount of keys to translate went from 8 to 130. Our translaters are on top of their game and 79% is already translated.
+
Translations are up and running in full speed. Shortly after the last release we got our translation pipeline figured out. @armills and @c727 are doing an amazing job managing this project. We’ve doubled the number of supported languages to 42 and the amount of keys to translate went from 8 to 130. Our translators are on top of their game and 79% is already translated.
Talking about our translators, we now have 445 people with an account to help with translations. Not bad for 3 weeks!
@@ -1298,7 +1298,7 @@ For Custom UI users: your custom UI will need to be updated before it can work w
Recorder component that will record every event to a SQLite database
History component that will query and aggregate the recorded events
-
By adding this view into the past, we are adding an extra dimension into the state of your house. This brings great new possibilities for future features. The focus of todays release is on getting the recording component to you to start recording and getting some data. To show what is being recorded a view has been added that shows the last 24 hours of your house. Expect more extensive tools to explore your history in the future.
+
By adding this view into the past, we are adding an extra dimension into the state of your house. This brings great new possibilities for future features. The focus of today’s release is on getting the recording component to you to start recording and getting some data. To show what is being recorded a view has been added that shows the last 24 hours of your house. Expect more extensive tools to explore your history in the future.
Adding history to the UI was a challenge on itself because the old UI did not support easy navigation. So to add to the awesomeness of this release, Home Assistant also got a face lift.
The history component will be enabled for new users by default. For current users, run scripts/update to upgrade to the latest version and add [history] to your home-assistant.conf file.
-Inspried by a feature requests I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the systemmonitor sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.
+Inspired by a feature requests I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the systemmonitor sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.
The basic problem is to get the data from the remote host. Starting with psutil that is used by the systemmonitor sensor, a possible solution is only a click away and named Glances. Glances has a nice curses-based interface and a RESTful API.
The Glances sensor sensor uses that API to get all needed data.
One of the main complaints that we receive is something along the lines “I read that X is possible yet I am unable to find it on the website.”. This post is to announce that we have taken the first steps to improve it by revamping the getting started and developers sections. It’s still a work in progress but we now have a solid foundation to build on for the future 👍.
Our documentation has been going through various phases. Initially it was just the README in our GitHub repository. I discovered Jekyll and GitHub pages in December 2014 and created home-assistant.io. I more or less broke the README in 5 pages and called it a website. Back then we had a whopping 11 components.
-
As Home Assistant grew, so did our documentation. Fabian Affolter does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And that’s quite a feat given our frequent releases! But despite all the efforts, the documentation outgrew our existing documentation organisation.
+
As Home Assistant grew, so did our documentation. Fabian Affolter does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And that’s quite a feat given our frequent releases! But despite all the efforts, the documentation outgrew our existing documentation organization.
Today it has been almost 1.5 years since we started the website. We now have 264 components and platforms under our belt and have been honored with 1.5 million page views ✨. And hopefully we now also have documentation that our community deserves.
Finally, if you see some content that could use more clarifcation or is outdated, don’t hesitate to use the ‘Edit in GitHub’ link that is present on each page.
After 2.5 years I think we can proudly say: Home Assistant is a success. I write we because Home Assistant is no longer a one-person side project. It has become the side project of many people who spend countless hours on making Home Assistant the best home automation software out there. To acknowledge this we migrated the repositories from being under my name to be under our own organisation on GitHub.
+
After 2.5 years I think we can proudly say: Home Assistant is a success. I write we because Home Assistant is no longer a one-person side project. It has become the side project of many people who spend countless hours on making Home Assistant the best home automation software out there. To acknowledge this we migrated the repositories from being under my name to be under our own organization on GitHub.
On our journey we’ve reached many noteworthy milestones:
It’s time for 0.18. This release cycle is 2 days shorter than usual as I’ll be travelling to Europe. This also means that it can take some more time before you get feedback on PRs.
-
Since the last release we have moved all Home Assistant source code etc into it’s own organisation on GitHub. We’re growing up! This sadly did cause us to have to move all Docker images. Check the breaking changes section for more info.
+
It’s time for 0.18. This release cycle is 2 days shorter than usual as I’ll be traveling to Europe. This also means that it can take some more time before you get feedback on PRs.
+
Since the last release we have moved all Home Assistant source code etc into it’s own organization on GitHub. We’re growing up! This sadly did cause us to have to move all Docker images. Check the breaking changes section for more info.
The reason I started using iBeacons was to improve presence detection (and I think that’s the case with most people) so that’s what I’ll discuss in part 1. In part 2 I’ll talk about using iBeacons to track devices that can’t track themselves.
Using beacons to improve OwnTracks location data
When you use OwnTracks in standard major move mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!
-
Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
+
Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognizes, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
Getting Started
To do this you first need to set up MQTT and OwnTracks in Home assistant - and make sure that HA can track your phone.
-
You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.
+
You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognize the beacon.
A. Tell Home Assistant where your beacon is located
You tell HomeAssistant about fixed locations by creating a Zone with the longitude and latitude of your beacon. You should also give the zone a name which you will also use when you set up OwnTracks. An an example this zone specifies the location of my drive way.
Example configuration.yaml entry
diff --git a/blog/2016/06/23/usb-webcams-and-home-assistant/index.html b/blog/2016/06/23/usb-webcams-and-home-assistant/index.html
index 4d9652a270..917e1956ab 100644
--- a/blog/2016/06/23/usb-webcams-and-home-assistant/index.html
+++ b/blog/2016/06/23/usb-webcams-and-home-assistant/index.html
@@ -103,7 +103,7 @@ crw-rw----+ 1 root video 81, 0 Jun 23 08:05 /dev/video0
crw-rw----+ 1 root video 81, 1 Jun 23 08:36 /dev/video1
-
We need an additional software part to handle the cameras. motion is capable of monitoring the video signal from USB and network cameras, do motion detection, and other nifty stuff like saving images, add text, or basic image manipulations. Make sure that you have the RPM Fusion respository enabled.
+
We need an additional software part to handle the cameras. motion is capable of monitoring the video signal from USB and network cameras, do motion detection, and other nifty stuff like saving images, add text, or basic image manipulations. Make sure that you have the RPM Fusion repository enabled.
Creating a connection to the database and executing a query is similar to the ways already seen. The return values from the query are splitted into two lists. The time stamps must be converted in an value which is accepted by matplotlib and then the graph is generated and saved as image.
+
Creating a connection to the database and executing a query is similar to the ways already seen. The return values from the query are split into two lists. The time stamps must be converted in an value which is accepted by matplotlib and then the graph is generated and saved as image.
Sensor graph generated by matplotlib
diff --git a/blog/2016/07/30/custom-frontend-panels-jupyter-notebooks-directv/index.html b/blog/2016/07/30/custom-frontend-panels-jupyter-notebooks-directv/index.html
index b19013b6fa..3a1e5a5a28 100644
--- a/blog/2016/07/30/custom-frontend-panels-jupyter-notebooks-directv/index.html
+++ b/blog/2016/07/30/custom-frontend-panels-jupyter-notebooks-directv/index.html
@@ -87,7 +87,7 @@
When Home Assistant started the focus has always been on making a great developer experience. Allowing anyone to add support for their favorite devices to Home Assistant easily. This focus has been a great success since we now have 339 components and platforms!
-
Starting with this release, we are extending our extensability to the frontend. Starting this release, any component can add it’s own page to the frontend. Examples of this today are the map, logbook and history. We are looking forward to all the crazy panels you’ll come up with!
+
Starting with this release, we are extending our extensibility to the frontend. Starting this release, any component can add it’s own page to the frontend. Examples of this today are the map, logbook and history. We are looking forward to all the crazy panels you’ll come up with!
We have also seen an exciting trend of people starting to visualize their Internet of Things data using Jupyter Notebooks, which are a great way to create and share documents that contain code, visualizations, and explanatory text. In case you missed it, the blog post by @kireyeu shows an advanced usecase while our Notebooks in the Home Assistant Notebooks repository cover the basics.
This release also includes a bunch of new integrations, among others three new media player platforms. This means that today Home Assistant can talk to 26 different media players!
The brand-new iFrame panel component allows you to add other websites as pages in the Home Assistant frontend. They will show up in the sidebar and can be used the same way as you open the frontend in your browser but all within one view.
Do less and be lazy. It sounds so obvious and it took a while before it started to dawn on me. I think most of the code I write is pretty fast, but I don’t often stop to take a harder look at how and when it runs in practice. When do we need the result, can it be postponed?
And thus started my journey to take a critical look at how the Home Assistant app was working and how to make things faster. Below is the list of the different things that I did to make it fast.
I hope this list can be useful to other people, as a guide for optimizing their own apps or for avoiding pitfalls when building a new one.
-
The first thing to do is to measure. The Home Assistant front end is a mobile web app, so we shouldn’t measure this on a machine with 8 cores and gigabytes of ram but instead measure on devices you expect a mobile web app to run: phones. Below are two timelines recorded with Home Assistant 0.18.2 (pre-optimizations) and Google Chrome 53. On my Mac the app starts in 1400 miliseconds and on my Nexus 5x in ~6500 miliseconds (~4.5 times slower!).
+
The first thing to do is to measure. The Home Assistant front end is a mobile web app, so we shouldn’t measure this on a machine with 8 cores and gigabytes of ram but instead measure on devices you expect a mobile web app to run: phones. Below are two timelines recorded with Home Assistant 0.18.2 (pre-optimizations) and Google Chrome 53. On my Mac the app starts in 1400 milliseconds and on my Nexus 5x in ~6500 milliseconds (~4.5 times slower!).
-
Although the app takes 6500 milliseconds to load on my phone, it would perform well afterwards. Still, that initial load is unacceptable. You expect to open an app on your phone and be able to use it, quickly. After I applied all the changes described below, I managed to reduce startup time to 900 miliseconds (-35%) on my Mac and 2400 miliseconds (-63%) on my Nexus 5x. Check out the demo here.
+
Although the app takes 6500 milliseconds to load on my phone, it would perform well afterwards. Still, that initial load is unacceptable. You expect to open an app on your phone and be able to use it, quickly. After I applied all the changes described below, I managed to reduce startup time to 900 milliseconds (-35%) on my Mac and 2400 milliseconds (-63%) on my Nexus 5x. Check out the demo here.
There are countless bugfixes included in this release which will make your experience with the climate and the cover platforms better. Two week ago was the biggest merger of implementations released that ever happened in the history of Home Assistant. Thanks to @turbokongen, @pvizeli, @djbanks, @danielperna84, and others the improvements on the code and the frontend side is continuing…
API documentation
-
The Home Assistant API Documentation is a great addition to the already exisiting user documentation. The focus is not end-users but developers who want to get details about the code without actually browsing the code on Github.
+
The Home Assistant API Documentation is a great addition to the already existing user documentation. The focus is not end-users but developers who want to get details about the code without actually browsing the code on Github.
Configuration validation
-
The validation of the configuration is still on-going. Approximatly 80 % is done. This means that we will propably talk about this topic in the next release notes again. To align the configuration of components and platforms we needed to break some. Please refer to the Breaking changes section to check if you need to update your configuration or simple check your log for configuration validation errors. Thanks to @kellerza, @fabaff, @Teagan42, and @pvizeli for your effort!
+
The validation of the configuration is still on-going. Approximately 80 % is done. This means that we will propably talk about this topic in the next release notes again. To align the configuration of components and platforms we needed to break some. Please refer to the Breaking changes section to check if you need to update your configuration or simple check your log for configuration validation errors. Thanks to @kellerza, @fabaff, @Teagan42, and @pvizeli for your effort!
All changes
diff --git a/blog/2016/10/01/we-have-raspberry-image-now/index.html b/blog/2016/10/01/we-have-raspberry-image-now/index.html
index e26da2ba49..ac7b62da7f 100644
--- a/blog/2016/10/01/we-have-raspberry-image-now/index.html
+++ b/blog/2016/10/01/we-have-raspberry-image-now/index.html
@@ -8,7 +8,7 @@
We have a Raspberry Pi image now - Home Assistant
-
+
@@ -16,12 +16,12 @@
-
+
-
+
diff --git a/blog/2016/10/02/hacktoberfest/index.html b/blog/2016/10/02/hacktoberfest/index.html
index dc5292f867..783034fc79 100644
--- a/blog/2016/10/02/hacktoberfest/index.html
+++ b/blog/2016/10/02/hacktoberfest/index.html
@@ -86,7 +86,7 @@
>Comments
-
Home Assistant will join this year for Hacktoberfest, an event organised by DigitalOcean and GitHub to support and celebrate open source. The idea is that open source projects like Home Assistant will gather a bunch of entry-level bugs, features and documentation enhancements and that you, a current or future contributor, will fix them. If you submit four pull-requests during the month of October you will have earned yourself a limited edition Hacktoberfest T-shirt!
+
Home Assistant will join this year for Hacktoberfest, an event organized by DigitalOcean and GitHub to support and celebrate open source. The idea is that open source projects like Home Assistant will gather a bunch of entry-level bugs, features and documentation enhancements and that you, a current or future contributor, will fix them. If you submit four pull-requests during the month of October you will have earned yourself a limited edition Hacktoberfest T-shirt!
diff --git a/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/index.html b/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/index.html
index f223aaba81..0494d6a853 100644
--- a/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/index.html
+++ b/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/index.html
@@ -250,7 +250,7 @@ Screenshot of all the different functionality the IP webcam integration offers.
Add multi contracts support for Hydroquebec (@titilambert)
Voting period: April, 24th till April, 30 2017 - 23.59 UTC
-
The decision of the jury will be final. If there will be a dispute then the Top-5 commiter of the Home Assistant organisation on Github will decide. Also, we reserve us the right to ban applications if we suspect cheating or unfair methods. Updates will be available in the Forum and on Twitter.
+
The decision of the jury will be final. If there will be a dispute then the Top-5 committer of the Home Assistant organization on Github will decide. Also, we reserve us the right to ban applications if we suspect cheating or unfair methods. Updates will be available in the Forum and on Twitter.
Keep in mind that you may have to pay the fee for customs handling and the import duty by yourself. The plan is to ship the hardware from Germany. If you are located in a country with import/export regulations, we may not be able to ship the hardware to you.
We were incorrectly treating groups named default_view as default views. Make sure you set view: true in the config for these groups. #251 (frontend)
-
The last release introduced a revamped LIFX platform. We only realised after deploy that this version does not work on Windows. We have added the old LIFX implementation back as lifx_legacy.
+
The last release introduced a revamped LIFX platform. We only realized after deploy that this version does not work on Windows. We have added the old LIFX implementation back as lifx_legacy.
We added indexes to the database to speed up the history view. Initial boot can take a couple of minutes. Do not shut down while migration is occurring. #6688
Z-Wave cover workaround has been removed. Use device config instead. #6832
I couldn’t have completed the app without help and input from the community. By the end I had 700 beta testers, of which about 500 were very active in testing the app.
I received emails and forum posts almost every day, even when the app would go without an update for weeks and sometimes months at a time as my life got busier and busier.
I wanted this app to be done 9 months ago, at least, but my drive to add more and more features killed that idea. This really taught me the value of the MVP over the kitchen sink.
-
It may not look the way that I wanted it to initially, with beautiful native UI components, but thats okay. What I really cared about is there. The notification and location engines are some of the most customizable and powerful available in an iOS app if I do say so myself. I made them this way to keep with the spirit of infinite flexibility that is enshrined in Home Assistant.
+
It may not look the way that I wanted it to initially, with beautiful native UI components, but that’s okay. What I really cared about is there. The notification and location engines are some of the most customizable and powerful available in an iOS app if I do say so myself. I made them this way to keep with the spirit of infinite flexibility that is enshrined in Home Assistant.
Just because the app is released doesn’t mean we are at the end of the road. It’s only the beginning. There’s plenty of bugs to fix still, improvements to make, features to add. Beta testing will continue, and if anything, be expanded. I do want to have a native UI someday, but that’s pretty hard with how fast the project moves.
The biggest request I have is for more developers on the project. As many of you know, I have my hands in many different parts of Home Assistant, from governance and organization to managing the forums to writing this app, managing the Homebridge plugin and even sometimes writing code for the actual core codebase! I can’t do it all, and I’m still a new iOS developer who doesn’t know all the best practices.
The app is open source, has been for the last few months when I first prepared to submit it to Apple for review. I invite Swift developers to come and join me in building it. Trust me, there’s tons to do.
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 thats used with Amazon Echo, Google Home and Mycroft.ai.
+
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 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.
Today we’ll flash the latest HASSbian to a Raspberry Pi Zero W.
With an added bonus that besides for an USB cable for power, there’s no need for any cables!
What you’ll need:
diff --git a/blog/2017/09/09/release-53/index.html b/blog/2017/09/09/release-53/index.html
index 853c6e773a..94a191c45b 100644
--- a/blog/2017/09/09/release-53/index.html
+++ b/blog/2017/09/09/release-53/index.html
@@ -110,7 +110,7 @@ Screenshot of the new customize editor.
Input text
This release introduces a new input component: input_text contributed by @BioSehnsucht. With this component you will be able to set free form from the UI and then let that be used by your automations or templates.
KNX
-
This release ships a new KNX implementation thanks to @Julius2342. It will instantly show all changed states of KNX devices within Home Assistant. Additionally it brings support for HVAC devices and notification services. It also adds a service for direct communication with the KNX bus. You can connect to KNX/IP routing and tunnelling devices. In the background it uses asyncio communication. Check the climate integration in action here and see the lights in action below:
+
This release ships a new KNX implementation thanks to @Julius2342. It will instantly show all changed states of KNX devices within Home Assistant. Additionally it brings support for HVAC devices and notification services. It also adds a service for direct communication with the KNX bus. You can connect to KNX/IP routing and tunneling devices. In the background it uses asyncio communication. Check the climate integration in action here and see the lights in action below:
Install Tor. On a Debian-based system: $ sudo apt-get install tor. On Fedora: $ sudo dnf install tor
diff --git a/blog/2017/11/18/release-58/index.html b/blog/2017/11/18/release-58/index.html
index 4ba35510f0..08e40cffc6 100644
--- a/blog/2017/11/18/release-58/index.html
+++ b/blog/2017/11/18/release-58/index.html
@@ -91,7 +91,7 @@
The Hass.io release of 0.58 will be delayed by a couple of days because Pascal is moving this weekend.
Translation update
-
Translations are up and running in full speed. Shortly after the last release we got our translation pipeline figured out. @armills and @c727 are doing an amazing job managing this project. We’ve doubled the number of supported languages to 42 and the amount of keys to translate went from 8 to 130. Our translaters are on top of their game and 79% is already translated.
+
Translations are up and running in full speed. Shortly after the last release we got our translation pipeline figured out. @armills and @c727 are doing an amazing job managing this project. We’ve doubled the number of supported languages to 42 and the amount of keys to translate went from 8 to 130. Our translators are on top of their game and 79% is already translated.
Talking about our translators, we now have 445 people with an account to help with translations. Not bad for 3 weeks!
And because more translations is more better, @robbiet480 has added the iOS app to Lokalise, our translation management platform. The iOS app is currently supported in 7 different languages.
diff --git a/blog/2017/12/03/release-59/index.html b/blog/2017/12/03/release-59/index.html
index c2536ae65f..5ff67cd2b1 100644
--- a/blog/2017/12/03/release-59/index.html
+++ b/blog/2017/12/03/release-59/index.html
@@ -97,12 +97,12 @@
Screenshot of the color wheel.
Shopping list tweaks
-
@balloob has refreshed the shopping list UI to make it more usable. It’s now possible to add items by typing, instead of just voice. Also editting has been made easier.
+
@balloob has refreshed the shopping list UI to make it more usable. It’s now possible to add items by typing, instead of just voice. Also editing has been made easier.
Entity picker
@balloob improved the way if you want to pick an entity. In the automation editor, the script editor and the service section of the Developer Tools it’s much easier to identify the right one! The automation editor will only suggest relevant entities.
- Screenshot of the of the Enitity Picker.
+ Screenshot of the of the Entity Picker.
diff --git a/blog/categories/announcements/atom.xml b/blog/categories/announcements/atom.xml
index f46f4fa471..8faf5b9d1a 100644
--- a/blog/categories/announcements/atom.xml
+++ b/blog/categories/announcements/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -227,7 +227,7 @@ I received emails and forum posts almost every day, even when the app would go w
I wanted this app to be done 9 months ago, at least, but my drive to add more and more features killed that idea. This really taught me the value of the MVP over the kitchen sink.
-It may not look the way that I wanted it to initially, with beautiful native UI components, but thats okay. What I really cared about is there. The notification and location engines are some of the most customizable and powerful available in an iOS app if I do say so myself. I made them this way to keep with the spirit of infinite flexibility that is enshrined in Home Assistant.
+It may not look the way that I wanted it to initially, with beautiful native UI components, but that's okay. What I really cared about is there. The notification and location engines are some of the most customizable and powerful available in an iOS app if I do say so myself. I made them this way to keep with the spirit of infinite flexibility that is enshrined in Home Assistant.
Just because the app is released doesn't mean we are at the end of the road. It's only the beginning. There's plenty of bugs to fix still, improvements to make, features to add. Beta testing will continue, and if anything, be expanded. I do want to have a native UI someday, but that's pretty hard with how fast the project moves.
diff --git a/blog/categories/community/atom.xml b/blog/categories/community/atom.xml
index 9bc8f8121c..ddf9cdf930 100644
--- a/blog/categories/community/atom.xml
+++ b/blog/categories/community/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/device-tracking/atom.xml b/blog/categories/device-tracking/atom.xml
index 696e851c9c..877f24c5e2 100644
--- a/blog/categories/device-tracking/atom.xml
+++ b/blog/categories/device-tracking/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/esp8266/atom.xml b/blog/categories/esp8266/atom.xml
index 24c79185f0..d856cfeed5 100644
--- a/blog/categories/esp8266/atom.xml
+++ b/blog/categories/esp8266/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/how-to/atom.xml b/blog/categories/how-to/atom.xml
index 8dc03b1de3..6d4af5751a 100644
--- a/blog/categories/how-to/atom.xml
+++ b/blog/categories/how-to/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -181,7 +181,7 @@ The most amazing part? It is super easy to set up!
## Setting up Tor
-Our [documentation](/docs/ecosystem/tor/) provides an detailled guide about seting up a [Tor's Hidden Service](https://www.torproject.org/docs/hidden-services.html.en). The setup is straight-forward:
+Our [documentation](/docs/ecosystem/tor/) provides an detailed guide about seting up a [Tor's Hidden Service](https://www.torproject.org/docs/hidden-services.html.en). The setup is straight-forward:
1. Install Tor. On a Debian-based system: `$ sudo apt-get install tor`. On Fedora: `$ sudo dnf install tor`
2. Modify Tor's main configuration file `/etc/tor/torrc` to include the following lines:
diff --git a/blog/categories/ibeacons/atom.xml b/blog/categories/ibeacons/atom.xml
index 0ee825a18a..b0da287608 100644
--- a/blog/categories/ibeacons/atom.xml
+++ b/blog/categories/ibeacons/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -183,7 +183,7 @@ The reason I started using iBeacons was to improve presence detection (and I thi
When you use OwnTracks in standard _major move_ mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!
-Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
+Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognizes, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
@@ -194,7 +194,7 @@ To do this you first need to set up [MQTT] and [OwnTracks] in Home assistant - a
[MQTT]: /components/mqtt/#picking-a-broker
[OwnTracks]: /components/device_tracker.owntracks/
-You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.
+You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognize the beacon.
#### A. Tell Home Assistant where your beacon is located
diff --git a/blog/categories/internet-of-things/atom.xml b/blog/categories/internet-of-things/atom.xml
index a0b72b0f00..08bed2d1bc 100644
--- a/blog/categories/internet-of-things/atom.xml
+++ b/blog/categories/internet-of-things/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/iot-data/atom.xml b/blog/categories/iot-data/atom.xml
index f91f53120d..90500b38e8 100644
--- a/blog/categories/iot-data/atom.xml
+++ b/blog/categories/iot-data/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -205,7 +205,7 @@ plt.xlabel('Time line')
plt.savefig('sensor.png')
```
-Creating a connection to the database and executing a query is similar to the ways already seen. The return values from the query are splitted into two lists. The time stamps must be converted in an value which is accepted by matplotlib and then the graph is generated and saved as image.
+Creating a connection to the database and executing a query is similar to the ways already seen. The return values from the query are split into two lists. The time stamps must be converted in an value which is accepted by matplotlib and then the graph is generated and saved as image.
diff --git a/blog/categories/owntracks/atom.xml b/blog/categories/owntracks/atom.xml
index 37530d60a9..57924c8d36 100644
--- a/blog/categories/owntracks/atom.xml
+++ b/blog/categories/owntracks/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -183,7 +183,7 @@ The reason I started using iBeacons was to improve presence detection (and I thi
When you use OwnTracks in standard _major move_ mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!
-Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
+Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognizes, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
@@ -194,7 +194,7 @@ To do this you first need to set up [MQTT] and [OwnTracks] in Home assistant - a
[MQTT]: /components/mqtt/#picking-a-broker
[OwnTracks]: /components/device_tracker.owntracks/
-You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.
+You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognize the beacon.
#### A. Tell Home Assistant where your beacon is located
diff --git a/blog/categories/presence-detection/atom.xml b/blog/categories/presence-detection/atom.xml
index 3cc1e28435..ddfccaadfd 100644
--- a/blog/categories/presence-detection/atom.xml
+++ b/blog/categories/presence-detection/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -28,7 +28,7 @@ The reason I started using iBeacons was to improve presence detection (and I thi
When you use OwnTracks in standard _major move_ mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!
-Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
+Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognizes, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
@@ -39,7 +39,7 @@ To do this you first need to set up [MQTT] and [OwnTracks] in Home assistant - a
[MQTT]: /components/mqtt/#picking-a-broker
[OwnTracks]: /components/device_tracker.owntracks/
-You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.
+You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognize the beacon.
#### A. Tell Home Assistant where your beacon is located
diff --git a/blog/categories/public-service-announcement/atom.xml b/blog/categories/public-service-announcement/atom.xml
index 5425a806fb..82db60eb5a 100644
--- a/blog/categories/public-service-announcement/atom.xml
+++ b/blog/categories/public-service-announcement/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/release-notes/atom.xml b/blog/categories/release-notes/atom.xml
index a8c0a0bb28..80fd0243fd 100644
--- a/blog/categories/release-notes/atom.xml
+++ b/blog/categories/release-notes/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -1229,14 +1229,14 @@ With the Dominos Pizza integration made by [@wardcraigj] your home is now taking
## Shopping list tweaks
-[@balloob] has refreshed the shopping list UI to make it more usable. It's now possible to add items by typing, instead of just voice. Also editting has been made easier.
+[@balloob] has refreshed the shopping list UI to make it more usable. It's now possible to add items by typing, instead of just voice. Also editing has been made easier.
## Entity picker
[@balloob] improved the way if you want to pick an entity. In the automation editor, the script editor and the service section of the Developer Tools it's much easier to identify the right one! The automation editor will only suggest relevant entities.
- Screenshot of the of the Enitity Picker.
+ Screenshot of the of the Entity Picker.
## Hass.io Add-ons
@@ -1647,7 +1647,7 @@ The Hass.io release of 0.58 will be delayed by a couple of days because Pascal i
## Translation update
-Translations are up and running in full speed. Shortly after the last release we got our translation pipeline figured out. [@armills] and [@c727] are doing an amazing job managing this project. We've doubled the number of supported languages to 42 and the amount of keys to translate went from 8 to 130. Our translaters are on top of their game and 79% is already translated.
+Translations are up and running in full speed. Shortly after the last release we got our translation pipeline figured out. [@armills] and [@c727] are doing an amazing job managing this project. We've doubled the number of supported languages to 42 and the amount of keys to translate went from 8 to 130. Our translators are on top of their game and 79% is already translated.
Talking about our translators, we now have 445 people with an account to help with translations. Not bad for 3 weeks!
diff --git a/blog/categories/survey/atom.xml b/blog/categories/survey/atom.xml
index c063495413..dfaa903ff2 100644
--- a/blog/categories/survey/atom.xml
+++ b/blog/categories/survey/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/talks/atom.xml b/blog/categories/talks/atom.xml
index f898b09cfa..1860654733 100644
--- a/blog/categories/talks/atom.xml
+++ b/blog/categories/talks/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/technology/atom.xml b/blog/categories/technology/atom.xml
index fb8971531e..a58343e2d7 100644
--- a/blog/categories/technology/atom.xml
+++ b/blog/categories/technology/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -163,7 +163,7 @@ With the release of 1.21 a small problem with the OpenZWave build script wasn't
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 thats used with Amazon Echo, Google Home and Mycroft.ai.
+ - 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.
diff --git a/blog/categories/user-stories/atom.xml b/blog/categories/user-stories/atom.xml
index 718f24f207..b07af27d00 100644
--- a/blog/categories/user-stories/atom.xml
+++ b/blog/categories/user-stories/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/video/atom.xml b/blog/categories/video/atom.xml
index 95d9797958..1a760174b3 100644
--- a/blog/categories/video/atom.xml
+++ b/blog/categories/video/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
diff --git a/blog/categories/website/atom.xml b/blog/categories/website/atom.xml
index 6ff92cbba2..811076ab21 100644
--- a/blog/categories/website/atom.xml
+++ b/blog/categories/website/atom.xml
@@ -4,7 +4,7 @@
- 2018-01-24T13:02:59+00:00
+ 2018-01-25T17:24:11+00:00https://home-assistant.io/
@@ -22,7 +22,7 @@
Our documentation has been going through various phases. Initially it was just the README in our GitHub repository. I discovered Jekyll and GitHub pages in December 2014 and created home-assistant.io. I more or less broke the README in 5 pages and [called it a website]. Back then we had a whopping [11 components](https://github.com/home-assistant/home-assistant.io/blob/86bb2df430ce267ab2123d51592d3f068ae509b5/source/components/index.markdown).
-As Home Assistant grew, so did our documentation. [Fabian Affolter](https://github.com/fabaff) does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And that's quite a feat given our [frequent releases](https://home-assistant.io/blog/categories/release-notes/)! But despite all the efforts, the documentation outgrew our existing documentation organisation.
+As Home Assistant grew, so did our documentation. [Fabian Affolter](https://github.com/fabaff) does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And that's quite a feat given our [frequent releases](https://home-assistant.io/blog/categories/release-notes/)! But despite all the efforts, the documentation outgrew our existing documentation organization.
Today it has been almost 1.5 years since we started the website. We now have [264 components and platforms] under our belt and have been honored with 1.5 million page views ✨. And hopefully we now also have documentation that our community deserves.
diff --git a/blog/index.html b/blog/index.html
index 5338b056d6..8577734ebd 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -393,12 +393,12 @@ broadlink.send_packet_192_168_0_107 -> switch.broadlink_send_packet_192_168_0
Screenshot of the color wheel.
Shopping list tweaks
-
@balloob has refreshed the shopping list UI to make it more usable. It’s now possible to add items by typing, instead of just voice. Also editting has been made easier.
+
@balloob has refreshed the shopping list UI to make it more usable. It’s now possible to add items by typing, instead of just voice. Also editing has been made easier.
Entity picker
@balloob improved the way if you want to pick an entity. In the automation editor, the script editor and the service section of the Developer Tools it’s much easier to identify the right one! The automation editor will only suggest relevant entities.
- Screenshot of the of the Enitity Picker.
+ Screenshot of the of the Entity Picker.
@@ -492,7 +492,7 @@ broadlink.send_packet_192_168_0_107 -> switch.broadlink_send_packet_192_168_0
The Hass.io release of 0.58 will be delayed by a couple of days because Pascal is moving this weekend.
Translation update
-
Translations are up and running in full speed. Shortly after the last release we got our translation pipeline figured out. @armills and @c727 are doing an amazing job managing this project. We’ve doubled the number of supported languages to 42 and the amount of keys to translate went from 8 to 130. Our translaters are on top of their game and 79% is already translated.
+
Translations are up and running in full speed. Shortly after the last release we got our translation pipeline figured out. @armills and @c727 are doing an amazing job managing this project. We’ve doubled the number of supported languages to 42 and the amount of keys to translate went from 8 to 130. Our translators are on top of their game and 79% is already translated.
Talking about our translators, we now have 445 people with an account to help with translations. Not bad for 3 weeks!
And because more translations is more better, @robbiet480 has added the iOS app to Lokalise, our translation management platform. The iOS app is currently supported in 7 different languages.
Do less and be lazy. It sounds so obvious and it took a while before it started to dawn on me. I think most of the code I write is pretty fast, but I don’t often stop to take a harder look at how and when it runs in practice. When do we need the result, can it be postponed?
And thus started my journey to take a critical look at how the Home Assistant app was working and how to make things faster. Below is the list of the different things that I did to make it fast.
I hope this list can be useful to other people, as a guide for optimizing their own apps or for avoiding pitfalls when building a new one.
-
The first thing to do is to measure. The Home Assistant front end is a mobile web app, so we shouldn’t measure this on a machine with 8 cores and gigabytes of ram but instead measure on devices you expect a mobile web app to run: phones. Below are two timelines recorded with Home Assistant 0.18.2 (pre-optimizations) and Google Chrome 53. On my Mac the app starts in 1400 miliseconds and on my Nexus 5x in ~6500 miliseconds (~4.5 times slower!).
+
The first thing to do is to measure. The Home Assistant front end is a mobile web app, so we shouldn’t measure this on a machine with 8 cores and gigabytes of ram but instead measure on devices you expect a mobile web app to run: phones. Below are two timelines recorded with Home Assistant 0.18.2 (pre-optimizations) and Google Chrome 53. On my Mac the app starts in 1400 milliseconds and on my Nexus 5x in ~6500 milliseconds (~4.5 times slower!).
-
Although the app takes 6500 milliseconds to load on my phone, it would perform well afterwards. Still, that initial load is unacceptable. You expect to open an app on your phone and be able to use it, quickly. After I applied all the changes described below, I managed to reduce startup time to 900 miliseconds (-35%) on my Mac and 2400 miliseconds (-63%) on my Nexus 5x. Check out the demo here.
+
Although the app takes 6500 milliseconds to load on my phone, it would perform well afterwards. Still, that initial load is unacceptable. You expect to open an app on your phone and be able to use it, quickly. After I applied all the changes described below, I managed to reduce startup time to 900 milliseconds (-35%) on my Mac and 2400 milliseconds (-63%) on my Nexus 5x. Check out the demo here.
@@ -267,7 +267,7 @@
When Home Assistant started the focus has always been on making a great developer experience. Allowing anyone to add support for their favorite devices to Home Assistant easily. This focus has been a great success since we now have 339 components and platforms!
-
Starting with this release, we are extending our extensability to the frontend. Starting this release, any component can add it’s own page to the frontend. Examples of this today are the map, logbook and history. We are looking forward to all the crazy panels you’ll come up with!
+
Starting with this release, we are extending our extensibility to the frontend. Starting this release, any component can add it’s own page to the frontend. Examples of this today are the map, logbook and history. We are looking forward to all the crazy panels you’ll come up with!
We have also seen an exciting trend of people starting to visualize their Internet of Things data using Jupyter Notebooks, which are a great way to create and share documents that contain code, visualizations, and explanatory text. In case you missed it, the blog post by @kireyeu shows an advanced usecase while our Notebooks in the Home Assistant Notebooks repository cover the basics.
This release also includes a bunch of new integrations, among others three new media player platforms. This means that today Home Assistant can talk to 26 different media players!
The brand-new iFrame panel component allows you to add other websites as pages in the Home Assistant frontend. They will show up in the sidebar and can be used the same way as you open the frontend in your browser but all within one view.
@@ -550,7 +550,7 @@ Over a year ago I participated in the Media
diff --git a/blog/posts/11/index.html b/blog/posts/11/index.html
index 5dbee1d7f0..9ace3eccb3 100644
--- a/blog/posts/11/index.html
+++ b/blog/posts/11/index.html
@@ -574,7 +574,7 @@ In the past month I was thinking about ways to integrate USB webcams into Home A
The reason I started using iBeacons was to improve presence detection (and I think that’s the case with most people) so that’s what I’ll discuss in part 1. In part 2 I’ll talk about using iBeacons to track devices that can’t track themselves.
Using beacons to improve OwnTracks location data
When you use OwnTracks in standard major move mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!
-
Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
+
Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognizes, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.
It’s time for 0.18. This release cycle is 2 days shorter than usual as I’ll be travelling to Europe. This also means that it can take some more time before you get feedback on PRs.
-
Since the last release we have moved all Home Assistant source code etc into it’s own organisation on GitHub. We’re growing up! This sadly did cause us to have to move all Docker images. Check the breaking changes section for more info.
+
It’s time for 0.18. This release cycle is 2 days shorter than usual as I’ll be traveling to Europe. This also means that it can take some more time before you get feedback on PRs.
+
Since the last release we have moved all Home Assistant source code etc into it’s own organization on GitHub. We’re growing up! This sadly did cause us to have to move all Docker images. Check the breaking changes section for more info.
After 2.5 years I think we can proudly say: Home Assistant is a success. I write we because Home Assistant is no longer a one-person side project. It has become the side project of many people who spend countless hours on making Home Assistant the best home automation software out there. To acknowledge this we migrated the repositories from being under my name to be under our own organization on GitHub.
On our journey we’ve reached many noteworthy milestones:
#1 on HackerNews
@@ -388,7 +388,7 @@
One of the main complaints that we receive is something along the lines “I read that X is possible yet I am unable to find it on the website.”. This post is to announce that we have taken the first steps to improve it by revamping the getting started and developers sections. It’s still a work in progress but we now have a solid foundation to build on for the future 👍.
Our documentation has been going through various phases. Initially it was just the README in our GitHub repository. I discovered Jekyll and GitHub pages in December 2014 and created home-assistant.io. I more or less broke the README in 5 pages and called it a website. Back then we had a whopping 11 components.
-
As Home Assistant grew, so did our documentation. Fabian Affolter does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And that’s quite a feat given our frequent releases! But despite all the efforts, the documentation outgrew our existing documentation organisation.
+
As Home Assistant grew, so did our documentation. Fabian Affolter does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And that’s quite a feat given our frequent releases! But despite all the efforts, the documentation outgrew our existing documentation organization.
Today it has been almost 1.5 years since we started the website. We now have 264 components and platforms under our belt and have been honored with 1.5 million page views ✨. And hopefully we now also have documentation that our community deserves.
Finally, if you see some content that could use more clarifcation or is outdated, don’t hesitate to use the ‘Edit in GitHub’ link that is present on each page.
diff --git a/blog/posts/13/index.html b/blog/posts/13/index.html
index 2629efa73d..26e302ef6a 100644
--- a/blog/posts/13/index.html
+++ b/blog/posts/13/index.html
@@ -650,7 +650,7 @@ Example of the new views in the frontend. Learn mor
diff --git a/blog/posts/14/index.html b/blog/posts/14/index.html
index 1c4f419da1..c236d2630d 100644
--- a/blog/posts/14/index.html
+++ b/blog/posts/14/index.html
@@ -475,7 +475,7 @@ The InfluxDB database is a so-called time se
diff --git a/blog/posts/15/index.html b/blog/posts/15/index.html
index 3496f113b5..6f439796b0 100644
--- a/blog/posts/15/index.html
+++ b/blog/posts/15/index.html
@@ -300,7 +300,7 @@ Map in Home Assistant showing two people and three zones (home, school, work)
-Inspried by a feature requests I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the systemmonitor sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.
+Inspired by a feature requests I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the systemmonitor sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.
Read on →
diff --git a/blog/posts/16/index.html b/blog/posts/16/index.html
index 5290d69ef1..c5e8d9a4d6 100644
--- a/blog/posts/16/index.html
+++ b/blog/posts/16/index.html
@@ -458,7 +458,7 @@ An initial version of voice control for Home Assistant has landed. The current i
Recorder component that will record every event to a SQLite database
History component that will query and aggregate the recorded events
-
By adding this view into the past, we are adding an extra dimension into the state of your house. This brings great new possibilities for future features. The focus of todays release is on getting the recording component to you to start recording and getting some data. To show what is being recorded a view has been added that shows the last 24 hours of your house. Expect more extensive tools to explore your history in the future.
+
By adding this view into the past, we are adding an extra dimension into the state of your house. This brings great new possibilities for future features. The focus of today’s release is on getting the recording component to you to start recording and getting some data. To show what is being recorded a view has been added that shows the last 24 hours of your house. Expect more extensive tools to explore your history in the future.
Adding history to the UI was a challenge on itself because the old UI did not support easy navigation. So to add to the awesomeness of this release, Home Assistant also got a face lift.
The history component will be enabled for new users by default. For current users, run scripts/update to upgrade to the latest version and add [history] to your home-assistant.conf file.
@@ -402,7 +402,7 @@ This article will try to explain how they all relate.
diff --git a/blog/posts/2/index.html b/blog/posts/2/index.html
index a96ffcaf19..59773830ca 100644
--- a/blog/posts/2/index.html
+++ b/blog/posts/2/index.html
@@ -549,7 +549,7 @@ The Home Assistant sidebar in 12 different languages.
diff --git a/blog/posts/3/index.html b/blog/posts/3/index.html
index 91e0513f0d..6cb8f068a4 100644
--- a/blog/posts/3/index.html
+++ b/blog/posts/3/index.html
@@ -361,7 +361,7 @@ Screenshot of the new customize editor.
Input text
This release introduces a new input component: input_text contributed by @BioSehnsucht. With this component you will be able to set free form from the UI and then let that be used by your automations or templates.
KNX
-
This release ships a new KNX implementation thanks to @Julius2342. It will instantly show all changed states of KNX devices within Home Assistant. Additionally it brings support for HVAC devices and notification services. It also adds a service for direct communication with the KNX bus. You can connect to KNX/IP routing and tunnelling devices. In the background it uses asyncio communication. Check the climate integration in action here and see the lights in action below:
+
This release ships a new KNX implementation thanks to @Julius2342. It will instantly show all changed states of KNX devices within Home Assistant. Additionally it brings support for HVAC devices and notification services. It also adds a service for direct communication with the KNX bus. You can connect to KNX/IP routing and tunneling devices. In the background it uses asyncio communication. Check the climate integration in action here and see the lights in action below:
@@ -607,7 +607,7 @@ Screenshot of the new customize editor.
diff --git a/blog/posts/4/index.html b/blog/posts/4/index.html
index 9235e95620..8ce544a136 100644
--- a/blog/posts/4/index.html
+++ b/blog/posts/4/index.html
@@ -601,7 +601,7 @@ Screenshot of a green dashboard
diff --git a/blog/posts/5/index.html b/blog/posts/5/index.html
index b5906d37a5..96250082c3 100644
--- a/blog/posts/5/index.html
+++ b/blog/posts/5/index.html
@@ -522,7 +522,7 @@ If you have a security key set in your Open Z-Wave Media
Today we’ll flash the latest HASSbian to a Raspberry Pi Zero W.
With an added bonus that besides for an USB cable for power, there’s no need for any cables!
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 thats used with Amazon Echo, Google Home and Mycroft.ai.
+
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 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.
@@ -406,7 +406,7 @@ After automatic discovery, Home Assistant will ask the user to finish pairing wi
I couldn’t have completed the app without help and input from the community. By the end I had 700 beta testers, of which about 500 were very active in testing the app.
I received emails and forum posts almost every day, even when the app would go without an update for weeks and sometimes months at a time as my life got busier and busier.
I wanted this app to be done 9 months ago, at least, but my drive to add more and more features killed that idea. This really taught me the value of the MVP over the kitchen sink.
-
It may not look the way that I wanted it to initially, with beautiful native UI components, but thats okay. What I really cared about is there. The notification and location engines are some of the most customizable and powerful available in an iOS app if I do say so myself. I made them this way to keep with the spirit of infinite flexibility that is enshrined in Home Assistant.
+
It may not look the way that I wanted it to initially, with beautiful native UI components, but that’s okay. What I really cared about is there. The notification and location engines are some of the most customizable and powerful available in an iOS app if I do say so myself. I made them this way to keep with the spirit of infinite flexibility that is enshrined in Home Assistant.
Just because the app is released doesn’t mean we are at the end of the road. It’s only the beginning. There’s plenty of bugs to fix still, improvements to make, features to add. Beta testing will continue, and if anything, be expanded. I do want to have a native UI someday, but that’s pretty hard with how fast the project moves.
The biggest request I have is for more developers on the project. As many of you know, I have my hands in many different parts of Home Assistant, from governance and organization to managing the forums to writing this app, managing the Homebridge plugin and even sometimes writing code for the actual core codebase! I can’t do it all, and I’m still a new iOS developer who doesn’t know all the best practices.
The app is open source, has been for the last few months when I first prepared to submit it to Apple for review. I invite Swift developers to come and join me in building it. Trust me, there’s tons to do.
@@ -489,7 +489,7 @@ After automatic discovery, Home Assistant will ask the user to finish pairing wi
Dead line: April, 23 2017 - 23.59 UTC
Voting period: April, 24th till April, 30 2017 - 23.59 UTC
-
The decision of the jury will be final. If there will be a dispute then the Top-5 commiter of the Home Assistant organisation on Github will decide. Also, we reserve us the right to ban applications if we suspect cheating or unfair methods. Updates will be available in the Forum and on Twitter.
+
The decision of the jury will be final. If there will be a dispute then the Top-5 committer of the Home Assistant organization on Github will decide. Also, we reserve us the right to ban applications if we suspect cheating or unfair methods. Updates will be available in the Forum and on Twitter.
Keep in mind that you may have to pay the fee for customs handling and the import duty by yourself. The plan is to ship the hardware from Germany. If you are located in a country with import/export regulations, we may not be able to ship the hardware to you.
@@ -557,7 +557,7 @@ After automatic discovery, Home Assistant will ask the user to finish pairing wi
diff --git a/blog/posts/7/index.html b/blog/posts/7/index.html
index 88671605b2..3d7fc1c530 100644
--- a/blog/posts/7/index.html
+++ b/blog/posts/7/index.html
@@ -721,7 +721,7 @@ On the close horizon from @Landrash th
Home Assistant will join this year for Hacktoberfest, an event organised by DigitalOcean and GitHub to support and celebrate open source. The idea is that open source projects like Home Assistant will gather a bunch of entry-level bugs, features and documentation enhancements and that you, a current or future contributor, will fix them. If you submit four pull-requests during the month of October you will have earned yourself a limited edition Hacktoberfest T-shirt!
+
Home Assistant will join this year for Hacktoberfest, an event organized by DigitalOcean and GitHub to support and celebrate open source. The idea is that open source projects like Home Assistant will gather a bunch of entry-level bugs, features and documentation enhancements and that you, a current or future contributor, will fix them. If you submit four pull-requests during the month of October you will have earned yourself a limited edition Hacktoberfest T-shirt!
Why contribute to Home Assistant:
Written in Python3 with 94% test coverage
@@ -735,9 +735,9 @@
Climate and cover
There are countless bugfixes included in this release which will make your experience with the climate and the cover platforms better. Two week ago was the biggest merger of implementations released that ever happened in the history of Home Assistant. Thanks to @turbokongen, @pvizeli, @djbanks, @danielperna84, and others the improvements on the code and the frontend side is continuing…
API documentation
-
The Home Assistant API Documentation is a great addition to the already exisiting user documentation. The focus is not end-users but developers who want to get details about the code without actually browsing the code on Github.
+
The Home Assistant API Documentation is a great addition to the already existing user documentation. The focus is not end-users but developers who want to get details about the code without actually browsing the code on Github.
Configuration validation
-
The validation of the configuration is still on-going. Approximatly 80 % is done. This means that we will propably talk about this topic in the next release notes again. To align the configuration of components and platforms we needed to break some. Please refer to the Breaking changes section to check if you need to update your configuration or simple check your log for configuration validation errors. Thanks to @kellerza, @fabaff, @Teagan42, and @pvizeli for your effort!
+
The validation of the configuration is still on-going. Approximately 80 % is done. This means that we will propably talk about this topic in the next release notes again. To align the configuration of components and platforms we needed to break some. Please refer to the Breaking changes section to check if you need to update your configuration or simple check your log for configuration validation errors. Thanks to @kellerza, @fabaff, @Teagan42, and @pvizeli for your effort!
pin_name (Required): Pin numbers and corresponding names.
name (Required): Friendly name to use for the frontend.
-
bouncetime (Optional): Debounce time for reading input pin defined in miliseconds [ms]. Defaults to 50 ms.
+
bouncetime (Optional): Debounce time for reading input pin defined in milliseconds [ms]. Defaults to 50 ms.
invert_logic (Optional): If true, inverts the input logic to ACTIVE LOW. Default is false (ACTIVE HIGH).
pull_mode (Optional): Type of internal pull resistor connected to input. Options are UP - pull-up resistor and DOWN - pull-down resistor. Defaults to UP.
A zigbee binary sensor in this context is a device connected to one of the digital input pins on a ZigBee module. The states reported by such a device are limited to on or off. By default, a binary sensor is considered on when the ZigBee device’s digital input pin is held ‘high’ and considered off when it is held low. This behaviour can be inverted by setting the on_state configuration variable to low.
+
A zigbee binary sensor in this context is a device connected to one of the digital input pins on a ZigBee module. The states reported by such a device are limited to on or off. By default, a binary sensor is considered on when the ZigBee device’s digital input pin is held ‘high’ and considered off when it is held low. This behavior can be inverted by setting the on_state configuration variable to low.
To enable a digital input pin as binary sensor in your installation, add the following lines to your configuration.yaml:
# Example configuration.yaml entrybinary_sensor:
diff --git a/components/climate.ecobee/index.html b/components/climate.ecobee/index.html
index 5a874e85ff..b4a0587585 100644
--- a/components/climate.ecobee/index.html
+++ b/components/climate.ecobee/index.html
@@ -419,7 +419,7 @@ For ‘temp’, the current temperature is taken as the target temperature.
When None is provided as parameter, the hold_mode is turned off.
It is not possible to set a vacation hold; such hold has to be
defined on the thermostat directly. However, a vacation hold can be
-cancelled.
+canceled.
diff --git a/components/device_tracker.bluetooth_le_tracker/index.html b/components/device_tracker.bluetooth_le_tracker/index.html
index 144b61b531..50079db06a 100644
--- a/components/device_tracker.bluetooth_le_tracker/index.html
+++ b/components/device_tracker.bluetooth_le_tracker/index.html
@@ -86,7 +86,7 @@ We have received Rootless Setup section for further infomation
+
This platform requires access to the bluetooth stack, see Rootless Setup section for further information
To use the Bluetooth tracker in your installation, add the following to your configuration.yaml file:
# Example configuration.yaml entry
@@ -104,7 +104,7 @@ We have received Rootless Setup
-
Normaly accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see Stack Exchange for more information).
+
Normally accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see Stack Exchange for more information).
Use the domain that Home Assistant is available on the internet or the public IP address. Can be a local IP address if you are using a VPN setup.
Only remove [Port] if your Home Assistant instance is using port 80. Otherwise set it to 8123.
For Home Assistant only the above URL, as written, will work - do not add or remove any parameters.
-
Make sure to include your API password if you have configured a password. Add &api_password=[Your pasword] to the end of the URL.
+
Make sure to include your API password if you have configured a password. Add &api_password=[Your password] to the end of the URL.
You can change the name of your device name by replacing &device=%SER with &device=[Devicename].
-
If your battery drains fast then you can tune the performence of GPSLogger under Performance -> Location providers
+
If your battery drains fast then you can tune the performance of GPSLogger under Performance -> Location providers
Performance
-
A request can be forced from the app to test if everything is working fine. A succesful request will update the known_devices.yaml file with the device’s serial number.
+
A request can be forced from the app to test if everything is working fine. A successful request will update the known_devices.yaml file with the device’s serial number.
-
Group behaviour
+
Group behavior
When any member of a group is on then the group will also be on. Similarly with a device tracker, when any member of the group is home then the group is home.
Customize group order
You can also order your groups using customize with order: if they don’t show up in the order you want them in.
Hive Active Heating (including hot water and Hive Multizone)
Hive Active Light Dimmable
Hive Active Light Cool to Warm White
-
Hive Active Light Colour Changing
+
Hive Active Light Color Changing
Hive Active Plug
Hive Window or Door Sensor
Hive Motion Sensor
diff --git a/components/image_processing/index.html b/components/image_processing/index.html
index 6a4b2cf93a..95f7136983 100644
--- a/components/image_processing/index.html
+++ b/components/image_processing/index.html
@@ -81,7 +81,7 @@ If you are running Home Assistant over SSL or from within a container, you will
ALPR
Alpr entities attribute have a vehicle counter vehicles and all found plates as plates.
-
This event is trigger after OpenALPR found a new licence plate.
+
This event is trigger after OpenALPR found a new license plate.
# Example configuration.yaml automation entryautomation:-alias:Open garage door
diff --git a/components/input_datetime/index.html b/components/input_datetime/index.html
index 208fc1f7b8..601e99a5d4 100644
--- a/components/input_datetime/index.html
+++ b/components/input_datetime/index.html
@@ -144,7 +144,7 @@
year month day
-
The year, month and day of the date. (only availabel if has_date: true)
+
The year, month and day of the date. (only available if has_date: true)
hour minute second
diff --git a/components/input_number/index.html b/components/input_number/index.html
index 9e244b05c1..e601766b40 100644
--- a/components/input_number/index.html
+++ b/components/input_number/index.html
@@ -111,7 +111,7 @@ Before version 0.55 this component was known as
fire_event (Optional): If set to True, platform will write all received KNX messages to event bus
fire_event_filter (Optional): If fire_event is set fire_event_filter has to be specified. fire_event_filter defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus.
-
state_updater (Optional): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behaviour.
+
state_updater (Optional): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behavior.
time_address (Optional): Broadcast current local time to KNX bus with configured group address.
Full configuration details can be found on the main Hive component page.
diff --git a/components/light.yeelight/index.html b/components/light.yeelight/index.html
index 81bfc5790c..56f506d5b9 100644
--- a/components/light.yeelight/index.html
+++ b/components/light.yeelight/index.html
@@ -116,6 +116,7 @@ This component is tested to work with the following models. If you have a differ
A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered on when the ZigBee device’s digital output is held high and considered off when it is held low. This behaviour can be inverted by setting the on_state configuration variable to low.
+
A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered on when the ZigBee device’s digital output is held high and considered off when it is held low. This behavior can be inverted by setting the on_state configuration variable to low.
To configure a digital output pin as light, add the following to your configuration.yaml file:
light:-name:Desk Lamp
diff --git a/components/lirc/index.html b/components/lirc/index.html
index c6f0a9174f..1f621407f7 100644
--- a/components/lirc/index.html
+++ b/components/lirc/index.html
@@ -88,7 +88,7 @@ The configuration is slightly different :
- The former single lirc service is replaced with the three systemd services lircd.service, lircmd.service and irexec.service. There is no counterpart to the 0.9.0 lirc service which covered all of these. Using a separate transmitter device requires yet another service.
- 0.9.4 defaults to using systemd for controlling the services. This is not just start/stop functionality, systemd is used to implement new features and to address shortcomings in 0.9.0. However, traditional systemV scripts are also installed and could be used although this is less tested and not really documented.
-For more infomation have a look at /usr/share/doc/lirc/README.Debian.gz where the update process is explained when you have updated from jessie to stretch.
+For more information have a look at /usr/share/doc/lirc/README.Debian.gz where the update process is explained when you have updated from jessie to stretch.
Configuring LIRC
Now teach LIRC about your particular remote control by preparing a lircd configuration file (/etc/lirc/lircd.conf). Search the LIRC remote database for your model. If you can’t find it, then you can always use the irrecord program to learn your remote. This will create a valid configuration file. Add as many remotes as you want by pasting them into the file. If irrecord doesn’t work (e.g. for some air conditioner remotes), then the mode2 program is capable of reading the codes in raw mode, followed by irrecord -a to extract hex codes.
diff --git a/components/media_player.denonavr/index.html b/components/media_player.denonavr/index.html
index f25ad8dbe9..9371b512bf 100644
--- a/components/media_player.denonavr/index.html
+++ b/components/media_player.denonavr/index.html
@@ -125,7 +125,7 @@ If you have something else using the IP controller for your Denon AVR 3808CI, su
Additional option the control Denon AVR receivers with a builtin web server is using the HTTP interface with denonavr platform.
denonavr platform supports some additional functionalities like album covers, custom input source names and auto discovery.
-
Marantz receivers seem to a have quite simliar interface. Thus if you own one, give it a try.
+
Marantz receivers seem to a have quite similar interface. Thus if you own one, give it a try.
diff --git a/components/media_player.yamaha/index.html b/components/media_player.yamaha/index.html
index 3057647e73..1c5eed2b1b 100644
--- a/components/media_player.yamaha/index.html
+++ b/components/media_player.yamaha/index.html
@@ -121,7 +121,7 @@ your DNS) then.
volume control and source selection. Playback controls, for instance
play and stop are available for sources that supports it.
The play_media service is implemented for NET RADIO source
-only. The media_id is a > separted string of the menu path on
+only. The media_id is a > separated string of the menu path on
the vtuner service. For instance Bookmarks>Internet>WAMC 90.3 FM.
With the namecheapdns component you can automatically update your dynamic DNS entry at namecheapdns.
-Namecheap only supports IPv4 adresses to update.
+Namecheap only supports IPv4 addresses to update.
To use the component in your installation, add the following to your configuration.yaml file:
# Example configuration.yaml entry
diff --git a/components/notify.facebook/index.html b/components/notify.facebook/index.html
index 6442b1a15e..629b8c66ac 100644
--- a/components/notify.facebook/index.html
+++ b/components/notify.facebook/index.html
@@ -106,7 +106,7 @@ The phone number used in target should be registered with Faceb
-'+919784516314'
-
You can also send messages to users that do not have stored their phone number with Facebook, but this requires a bit more work. The Messenger platform uses page specific user IDs instead of a global user ID. You will need to enable a webhook for the “messages” event in Facebook’s developer console. Once a user writes a message to a page, that webhook will then receive the user’s page specifc ID as part of the webhook’s payload. Below is a simple PHP script that reacts to the message “get my id” and sends a reply containing the user’s ID:
+
You can also send messages to users that do not have stored their phone number with Facebook, but this requires a bit more work. The Messenger platform uses page specific user IDs instead of a global user ID. You will need to enable a webhook for the “messages” event in Facebook’s developer console. Once a user writes a message to a page, that webhook will then receive the user’s page specific ID as part of the webhook’s payload. Below is a simple PHP script that reacts to the message “get my id” and sends a reply containing the user’s ID:
private_key (Required): Your private or alias key. Private key = send the notification to all devices with standard params, alias key send the notification to the devices stored in the alias with predefined params.
Examples
-
Message to two devices with formated text.
+
Message to two devices with formatted text.
{"title":"Test to 2 devices","message":"Attention [b]bold[/b] text[br][url=https://www.pushsafer.com]Link to Pushsafer[/url]",
@@ -107,7 +107,7 @@
}
-
Message to one device with formated text and image from an external URL.
+
Message to one device with formatted text and image from an external URL.
{"title":"Test to 1 device with image from an url","message":"Attention [i]italic[/i] Text[br][url=https://home-assistant.io/]Testlink[/url]",
@@ -127,7 +127,7 @@
}
-
Message to two devices and one device group with formated text and local image.
+
Message to two devices and one device group with formatted text and local image.
{"title":"Test to 3 devices with local image","message":"Attention [i]italic[/i] Text[br][url=https://home-assistant.io/]Testlink[/url]",
diff --git a/components/pilight/index.html b/components/pilight/index.html
index 69b87865de..071f1fd0b7 100644
--- a/components/pilight/index.html
+++ b/components/pilight/index.html
@@ -89,7 +89,7 @@
host (Required): The IP address of the computer running the pilight-daemon, e.g. 192.168.1.32.
port (Required): The network port to connect to. The usual port is 5000.
send_delay (Optional): You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a pilight USB Nano as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware.
-
whitelist (Optional): You can define a whitelist to prevent that too many unwanted RF codes (e.g. the neighbours weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true.
+
whitelist (Optional): You can define a whitelist to prevent that too many unwanted RF codes (e.g. the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true.
In this example only received RF codes using a daycom or Intertechno protocol are put on the event bus and only when the device id is 42. For more possible settings please look at the receiver section of the pilight API.
A full configuration sample could look like the sample below:
diff --git a/components/sensor.deutsche_bahn/index.html b/components/sensor.deutsche_bahn/index.html
index 27065b3a89..ee297a2c69 100644
--- a/components/sensor.deutsche_bahn/index.html
+++ b/components/sensor.deutsche_bahn/index.html
@@ -8,7 +8,7 @@
Deutsche Bahn - Home Assistant
-
+
@@ -16,12 +16,12 @@
-
+
-
+
diff --git a/components/sensor.dublin_bus_transport/index.html b/components/sensor.dublin_bus_transport/index.html
index 862ee645b1..42e9cb69b1 100644
--- a/components/sensor.dublin_bus_transport/index.html
+++ b/components/sensor.dublin_bus_transport/index.html
@@ -8,7 +8,7 @@
Dublin Bus Transport - Home Assistant
-
+
@@ -16,12 +16,12 @@
-
+
-
+
diff --git a/components/sensor.envirophat/index.html b/components/sensor.envirophat/index.html
index 1b28f0757b..bf07e8d8d3 100644
--- a/components/sensor.envirophat/index.html
+++ b/components/sensor.envirophat/index.html
@@ -77,7 +77,7 @@
The envirophat sensor platform allows you to display information collected by an Enviro pHAT add-on board for the Raspberry Pi. The board features a wide range of sensors, such as:
BMP280 temperature/pressure sensor
-
TCS3472 light and RGB colour sensor with two LEDs for illumination
+
TCS3472 light and RGB color sensor with two LEDs for illumination
LSM303D accelerometer/magnetometer sensor
ADS1015 4-channel 3.3v, analog to digital sensor (ADC)
diff --git a/components/sensor.geo_rss_events/index.html b/components/sensor.geo_rss_events/index.html
index d4951d7519..5a61622d2d 100644
--- a/components/sensor.geo_rss_events/index.html
+++ b/components/sensor.geo_rss_events/index.html
@@ -109,7 +109,7 @@ incidents from the NSW Rural Fire Service.
url (Required): Full URL of the GeoRSS feed.
name (Optional): Name of the sensor used in generating the entity id. Default is ‘Event Service’.
-
radius (Optional): The distance in kilometres around the Home Assistant’s coordinates in which events are considered. Default is: 20km.
+
radius (Optional): The distance in kilometers around the Home Assistant’s coordinates in which events are considered. Default is: 20km.
categories (Optional): List of event category names found in the GeoRSS feed. A separate sensor is created for each category defined. Default is to join events from all categories into an ‘Any’ category.
unit_of_measurement (Optional): The type of events found in the GeoRSS feed. Default is ‘Events’.
Since the sensor change their ID after each powercycle/battery change you can check what sensor IDs are availble by using the command-line tool pylacrosse from the pylacrosse package.
+
Since the sensor change their ID after each powercycle/battery change you can check what sensor IDs are available by using the command-line tool pylacrosse from the pylacrosse package.
The london_air component queries the London air quality data feed provided by Kings College London. A single sensor will be added for each location (local authority district or borough) specified in the configuration file. The state of each sensor is the overall air quality in that borough. Note that only 28 of the 32 boroughs have data available.
-
Boroughs can have multiple monitoring sites at different geographical positions within the borough, and each of those sites can monitor up to six different kinds of pollutant. The pollutants are described here and are Carbon Monoxide (CO2), Nitrogen Dioxide (NO2), Ozone (O3), Sulphur Dioxide (SO2), PM2.5 & PM10 particulates. The latitude and longitude of each site is accessible through a data attribute of the sensor, as are details about the pollutants monitored at that site. The sites attribute of a sensor displays how many monitoring sites that sensor covers. The updated attribute of a sensor states when the data was last published. Nominally data is published hourly, but in my experience this can vary. To limit the number of requests made by the sensor, a single API request is made every 30 minutes.
+
Boroughs can have multiple monitoring sites at different geographical positions within the borough, and each of those sites can monitor up to six different kinds of pollutant. The pollutants are described here and are Carbon Monoxide (CO2), Nitrogen Dioxide (NO2), Ozone (O3), Sulfur Dioxide (SO2), PM2.5 & PM10 particulates. The latitude and longitude of each site is accessible through a data attribute of the sensor, as are details about the pollutants monitored at that site. The sites attribute of a sensor displays how many monitoring sites that sensor covers. The updated attribute of a sensor states when the data was last published. Nominally data is published hourly, but in my experience this can vary. To limit the number of requests made by the sensor, a single API request is made every 30 minutes.
To add sensors to Home-assistant for all possible areas/boroughs add the following to your configuration.yaml file:
# Example configuration.yaml entry for a single sensorsensor:
diff --git a/components/sensor.nederlandse_spoorwegen/index.html b/components/sensor.nederlandse_spoorwegen/index.html
index 9bdd77398b..bdc3343a21 100644
--- a/components/sensor.nederlandse_spoorwegen/index.html
+++ b/components/sensor.nederlandse_spoorwegen/index.html
@@ -8,7 +8,7 @@
Nederlandse Spoorwegen - Home Assistant
-
+
@@ -16,12 +16,12 @@
-
+
-
+
@@ -96,11 +96,11 @@
email (Required): The email address you used to request the API password.
password (Required): The API password provided by the Nederlandse Spoorwegen.
-
routes array (Required): List of travelling routes.
+
routes array (Required): List of traveling routes.
name (Required): Name of the route.
from (Required): The start station.
-
to (Required): Direction of the travelling.
+
to (Required): Direction of the traveling.
via (Optional): Optional other station you wish to visit in between.
The 1-Wire bus can be connected directly to the IO pins of Raspberry Pi or using dedicated interface adapter (e.g DS9490R).
Raspberry Pi setup
-
In order ot setup 1-Wire support on Raspberry Pi, you’ll need to edit /boot/config.txt following this documentation. Don’t use the mount_dir option.
+
In order to setup 1-Wire support on Raspberry Pi, you’ll need to edit /boot/config.txt following this documentation. Don’t use the mount_dir option.
Interface adapter setup
When an interface adapter is used, sensors can be accessed on Linux hosts via owfs 1-Wire file system. When using an interface adapter and the owfs, the mount_dir option must be configured to correspond a directory, where owfs device tree has been mounted.
A ZigBee switch in this context is a device connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a switch is considered on when the ZigBee device’s digital output is held high and considered off when it is held low. This behaviour can be inverted by setting the on_state configuration variable to low.
+
A ZigBee switch in this context is a device connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a switch is considered on when the ZigBee device’s digital output is held high and considered off when it is held low. This behavior can be inverted by setting the on_state configuration variable to low.
To configure a digital output pin as switch, add the following to your configuration.yaml file:
The timer component aims to simplify automations based on (dynamic) durations.
-
When a timer finishes or gets cancelled the corresponding events are fired. This allows you to differentiate if a timer has switched from active to idle because the given duration has elapsed or it has been cancelled. To control timers in your automations you can use the services mentioned below. When calling the start service on a timer that is already running, it resets the duration it will need to finish and restart the timer without triggering any events. This for example makes it easy to create timed lights that get triggered by motion.
+
When a timer finishes or gets canceled the corresponding events are fired. This allows you to differentiate if a timer has switched from active to idle because the given duration has elapsed or it has been canceled. To control timers in your automations you can use the services mentioned below. When calling the start service on a timer that is already running, it resets the duration it will need to finish and restart the timer without triggering any events. This for example makes it easy to create timed lights that get triggered by motion.
With the current implementation timers don’t persist over restarts. After a restart they will be idle again, together with their initial configuration.
@@ -108,7 +108,7 @@ With the current implementation timers don’t persist over restarts. After a re
timer.cancelled
-
Fired when a timer has been cancelled
+
Fired when a timer has been canceled
timer.finished
@@ -160,7 +160,7 @@ If no entity_id is given all active timer
Service timer.cancel
-
Cancel an active timer. This resets the duration to the last known initial value without firing the timer.finished event. If no entity_id is given all active timers will be cancelled.
+
Cancel an active timer. This resets the duration to the last known initial value without firing the timer.finished event. If no entity_id is given all active timers will be canceled.
username (Required): The username associated with your Volvo On Call account.
password (Required): The password for your given Volvo On Call account.
region (Optional): The region where the Volvo is registered. Needs to be set for users in North America or China.
-
service_url (Optional): The service URL to use for Volvo On Call. Normally not neccessary to specify.
+
service_url (Optional): The service URL to use for Volvo On Call. Normally not necessary to specify.
name (Optional): Make it possible to provide a name for the vehicles.
resources (Optional): A list of resources to display (defaults to all available).
scandinavian_miles (Optional): If set to yes, Scandinavian miles (“mil”) are used for distances and fuel range (defaults to no).
diff --git a/components/wink/index.html b/components/wink/index.html
index b561416b63..601003ab9e 100644
--- a/components/wink/index.html
+++ b/components/wink/index.html
@@ -96,7 +96,7 @@ When using the configurator make sure the initial setup is performed on the same
Full oauth authentication (legacy).
-
This should be used for users that obtained their client_id and client_secret via email from Wink support prior to developer.wink.com’s existance.
+
This should be used for users that obtained their client_id and client_secret via email from Wink support prior to developer.wink.com’s existence.
This recipe will turn on a light when there is motion and turn off the light when ten minutes has passed without any motion events.
automation:-alias:Turn on kitchen light when there is movement
diff --git a/developers/architecture/index.html b/developers/architecture/index.html
index b70b273f1a..804227c6f5 100644
--- a/developers/architecture/index.html
+++ b/developers/architecture/index.html
@@ -79,7 +79,7 @@
Home Control is responsible for collecting information and controlling devices.
Home Automation triggers commands based on user configurations.
-
Smart Home triggers commands based on previous behaviour.
+
Smart Home triggers commands based on previous behavior.
The maximum line length comes directly from the PEP8 style guide, and is also used by the Python standard library. All code must pass these linting checks, and no exceptions will be made. There have already been numerous requests to increase the maximum line length, but after evaluating the options, the Home Assistant maintainers have decided to stay at 79 characters. This decision is final.
Those points may require that you adjust your IDE or editor settings.
-
Our recommandations
-
For some cases PEPs don’t make a statement. This section covers our recommendations about the code style. Those points were collected from the exisiting code and based on what contributors and developers were using the most. This is basically a majority decision, thus you may not agree with it. But we would like to encourage you follow those recommandations to keep the code unified.
+
Our recommendations
+
For some cases PEPs don’t make a statement. This section covers our recommendations about the code style. Those points were collected from the existing code and based on what contributors and developers were using the most. This is basically a majority decision, thus you may not agree with it. But we would like to encourage you follow those recommendations to keep the code unified.
Quotes
Use single quotes ' for single word and " for multiple words or sentences.
On GitHub, navigate to the main page of the Home Assistant repository.
In the “Branch” menu, choose the branch that contains your commits (from your fork).
To the right of the Branch menu, click New pull request.
-
Use the base branch dropdown menu to select the branch you’d like to merge your changes into, then use the compare branch drop-down menu to choose the topic branch you made your changes in. Make sure the Home Assistant branch matches with your forked branch (dev) else you will propose ALL committs between branches.
+
Use the base branch dropdown menu to select the branch you’d like to merge your changes into, then use the compare branch drop-down menu to choose the topic branch you made your changes in. Make sure the Home Assistant branch matches with your forked branch (dev) else you will propose ALL commits between branches.
Type a title and complete the provided description for your pull request.
The configuration.yaml file contains the configuration options for components and platforms. We use voluptuous to make sure that the configuration provided by the user is valid. Some entries are optional or could be required to set up a platform or a component. Others must be a defined type or from an already-defined list.
-
We test the configuration to ensure that users have a great experience and minimise notifications if something is wrong with a platform or component setup before Home Assistant runs.
+
We test the configuration to ensure that users have a great experience and minimize notifications if something is wrong with a platform or component setup before Home Assistant runs.
Besides voluptuous default types, many custom types are available. For an overview, take a look at the config_validation.py helper.
whitelist_external_dirs (Optional): List of folders that can be used as sources for sending files.
Password protecting the web interface
-
First, you’ll want to add a password for the Home Assistant web interface. Use your favourite text editor to open configuration.yaml and edit the http section:
+
First, you’ll want to add a password for the Home Assistant web interface. Use your favorite text editor to open configuration.yaml and edit the http section:
After filling Home Assistant with all your precious home automation devices, you usually end up with a cluttered interface and lots of groups that are not interesting in your current context. What if you just want to show groups that are interesting now and hide the rest? That’s when group visibility comes to play.
Changing visibility of a group
-
To change visibility of a group, use the service group.set_visibility, pass the group name as entity_id and use visible to decide wheter the group should be shown or hidden.
+
To change visibility of a group, use the service group.set_visibility, pass the group name as entity_id and use visible to decide whether the group should be shown or hidden.
service:group.set_visibilityentity_id:group.basementdata:
diff --git a/docs/configuration/packages/index.html b/docs/configuration/packages/index.html
index f0f0e09ab5..de0b772935 100644
--- a/docs/configuration/packages/index.html
+++ b/docs/configuration/packages/index.html
@@ -133,7 +133,7 @@ light:
Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name.
Create a packages folder
-
One way to organise packages would be to create a folder named “packages” in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a YAML file. This entry in your configuration.yaml will load all packages:
+
One way to organize packages would be to create a folder named “packages” in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a YAML file. This entry in your configuration.yaml will load all packages:
Following a change in the status of Daylight Savings Time
Following a restart of Home Assistant
-
In every case, the App is responsible for recreating any state it might need as if it were the first time it was ever started. If initialize() is called, the app can safely assume that it is either being loaded for the first time, or that all callbacks and timers have been cancelled. In either case, the APP will need to recreate them. Depending upon the application it may be desirable for the App to establish state such as whether or not a particular light is on, within the initialize() function to ensure that everything is as expected or to make immediate remedial action (e.g. turn off a light that might have been left on by mistake when the app was restarted).
+
In every case, the App is responsible for recreating any state it might need as if it were the first time it was ever started. If initialize() is called, the app can safely assume that it is either being loaded for the first time, or that all callbacks and timers have been canceled. In either case, the APP will need to recreate them. Depending upon the application it may be desirable for the App to establish state such as whether or not a particular light is on, within the initialize() function to ensure that everything is as expected or to make immediate remedial action (e.g. turn off a light that might have been left on by mistake when the app was restarted).
After the initialize() function is in place, the rest of the app consists of functions that are called by the various callback mechanisms, and any additional functions the user wants to add as part of the program logic. Apps are able to subscribe to 2 main classes of events:
Scheduled Events
@@ -461,7 +461,7 @@
cancel_listen_state()
-
Cancel a listen_state() callback. This will mean that the App will no longer be notified for the specific state change that has been cancelled. Other state changes will continue to be monitored.
+
Cancel a listen_state() callback. This will mean that the App will no longer be notified for the specific state change that has been canceled. Other state changes will continue to be monitored.
Synopsis
cancel_listen_state(handle)
@@ -937,7 +937,7 @@
notify()
-
This is a convenience function for the notify.notify service. It will send a notification to your defualt notification service. If you have more than one, use call_service() to call the specific notification service you require instead.
+
This is a convenience function for the notify.notify service. It will send a notification to your default notification service. If you have more than one, use call_service() to call the specific notification service you require instead.
Synopsis
notify(message,title=None)
@@ -1069,7 +1069,7 @@
The name of the event that caused the callback, e.g. "MODE_CHANGE" or call_service.
data
A dictionary containing any additional information associated with the event.
-
Use of Events for Signalling between Home Assistant and AppDaemon
+
Use of Events for Signaling between Home Assistant and AppDaemon
Home Assistant allows for the creation of custom events and existing components can send and receive them. This provides a useful mechanism for signaling back and forth between Home Assistant and AppDaemon. For instance, if you would like to create a UI Element to fire off some code in Home Assistant, all that is necessary is to create a script to fire a custom event, then subscribe to that event in AppDaemon. The script would look something like this:
alias:Daysequence:
@@ -1180,7 +1180,7 @@
Returns
-
A localised Python time object representing the current AppDaemon time.
+
A localized Python time object representing the current AppDaemon time.
Parameters
None
Example
@@ -1194,7 +1194,7 @@
Returns
-
A localised Python time object representing the current AppDaemon date.
+
A localized Python time object representing the current AppDaemon date.
Parameters
None
Example
@@ -1208,7 +1208,7 @@
Returns
-
A localised Python datetime object representing the current AppDaemon date and time.
+
A localized Python datetime object representing the current AppDaemon date and time.
Parameters
None
Example
@@ -1216,13 +1216,13 @@
convert_utc()
-
Home Assistant provides timestamps of several different sorts that may be used to gain additional insight into state changes. These timestamps are in UTC and are coded as ISO 8601 Combined date and time strings. convert_utc() will accept one of these strings and convert it to a localised Python datetime object representing the timestamp
+
Home Assistant provides timestamps of several different sorts that may be used to gain additional insight into state changes. These timestamps are in UTC and are coded as ISO 8601 Combined date and time strings. convert_utc() will accept one of these strings and convert it to a localized Python datetime object representing the timestamp
Synopsis
convert_utc(utc_string)
Returns
-
convert_utc(utc_string) returns a localised Python datetime object representing the timestamp.
+
convert_utc(utc_string) returns a localized Python datetime object representing the timestamp.
Parameters
utc_string
An ISO 8601 encoded date and time string in the following format: 2016-07-13T14:24:02.040658-04:00
@@ -1411,7 +1411,7 @@
Note the timestamps in the log - AppDaemon believes it is now just before sunset and will process any callbacks appropriately.
Speeding things up
-
Some Apps need to run for periods of a day or two for you to test all aspects. This can be time consuming, but Time Travel can also help here in two ways. The first is by speeding up time. To do this, simply use the -t option on the command line. This specifies the amount of time a second lasts while time travelling. The default of course is 1 second, but if you change it to 0.1 for instance, AppDaemon will work 10x faster. If you set it to 0, AppDaemon will work as fast as possible and, depending in your hardware, may be able to get through an entire day in a matter of minutes. Bear in mind however, due to the threaded nature of AppDaemon, when you are running with -t 0 you may see actual events firing a little later than expected as the rest of the system tries to keep up with the timer. To set the tick time, start AppDaemon as follows:
+
Some Apps need to run for periods of a day or two for you to test all aspects. This can be time consuming, but Time Travel can also help here in two ways. The first is by speeding up time. To do this, simply use the -t option on the command line. This specifies the amount of time a second lasts while time traveling. The default of course is 1 second, but if you change it to 0.1 for instance, AppDaemon will work 10x faster. If you set it to 0, AppDaemon will work as fast as possible and, depending in your hardware, may be able to get through an entire day in a matter of minutes. Bear in mind however, due to the threaded nature of AppDaemon, when you are running with -t 0 you may see actual events firing a little later than expected as the rest of the system tries to keep up with the timer. To set the tick time, start AppDaemon as follows:
$ appdaemon -t 0.1
@@ -1433,7 +1433,7 @@
A Note on Times
-
Some Apps you write may depend on checking times of events relative to the current time. If you are time travelling this will not work if you use standard python library calls to get the current time and date etc. For this reason, always use the AppDamon supplied time(), date() and datetime() calls, documented earlier. These calls will consult with AppDaemon’s internal time rather than the actual time and give you the correct values.
+
Some Apps you write may depend on checking times of events relative to the current time. If you are time traveling this will not work if you use standard python library calls to get the current time and date etc. For this reason, always use the AppDamon supplied time(), date() and datetime() calls, documented earlier. These calls will consult with AppDaemon’s internal time rather than the actual time and give you the correct values.