From 91a0b45361aa71d0c060e6864f1450680f856ae6 Mon Sep 17 00:00:00 2001 From: Robbie Trencheny Date: Sat, 20 May 2017 16:37:54 -0700 Subject: [PATCH 01/50] Embed Ben's video --- .../2017-05-20-automation-editor-zwave-panel-ocr.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index d650a45a568..a4bcb0c8195 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -23,6 +23,10 @@ First thing for this release is a feature that has been requested a lot: an auto Check this [video](https://youtu.be/0j_hWdCTip4) by [Ben](https://twitter.com/BRUHautomation) from [BRUHautomation](http://www.bruhautomation.com/) to see the new release in action. +
+ +
+ As the editor is experimental, there are some limitations. These include that Chrome/Chromium is the only supported browser, we don't support all triggers and actions and there is no support for conditions yet. But the foundation is there and so if you want to contribute to this, come help! On the Z-Wave front a lot has happened. The biggest one is that we have a major extension of the Z-Wave panel thanks to [@turbokongen]! You will now be able to change config parameters and manage your devices. From 8aeb8751d1855c6df3d9ddee9704e7541c5dc50e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 21 May 2017 09:51:20 +0200 Subject: [PATCH 02/50] Move more --- .../2017-05-20-automation-editor-zwave-panel-ocr.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index a4bcb0c8195..99b7f5768fa 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -76,12 +76,12 @@ If you are using our [experimental Hass.io image][hass.io], we made a breaking c ## {% linkable_title Reporting Issues %} Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template. - ## {% linkable_title Breaking changes %} - PyPI Openzwave ([@JshWright] - [#7415]) ([zwave docs]) (breaking change) - Remove listening to `homeassistant_start` with event automation ([@balloob] - [#7474]) ([automation.event docs]) (breaking change) + ## {% linkable_title All changes %} - Add hass to rfxtrx object ([@danielhiversen] - [#6844]) From daf846b0beaa90733cf8c642959831a52826dd59 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 21 May 2017 14:13:58 +0200 Subject: [PATCH 03/50] Fix links --- .../2017-05-20-automation-editor-zwave-panel-ocr.markdown | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index 99b7f5768fa..ece7a6c6639 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -331,8 +331,8 @@ Experiencing issues introduced by this release? Please report them in our [issue [alexa docs]: https://home-assistant.io/components/alexa/ [axis docs]: https://home-assistant.io/components/axis/ [config.automation docs]: https://home-assistant.io/docs/automation/editor/ -[automation.event docs]: https://home-assistant.io/components/automation.event/ -[automation.state docs]: https://home-assistant.io/components/automation.state/ +[automation.event docs]: https://home-assistant.io/docs/configuration/events/ +[automation.state docs]: https://home-assistant.io/docs/configuration/state_object/ [binary_sensor.mystrom docs]: https://home-assistant.io/components/binary_sensor.mystrom/ [binary_sensor.raspihats docs]: https://home-assistant.io/components/binary_sensor.raspihats/ [binary_sensor.rpi_pfio docs]: https://home-assistant.io/components/binary_sensor.rpi_pfio/ @@ -342,7 +342,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [camera.zoneminder docs]: https://home-assistant.io/components/camera.zoneminder/ [climate.sensibo docs]: https://home-assistant.io/components/climate.sensibo/ [config.__init__ docs]: https://home-assistant.io/components/config.__init__/ -[config.automation docs]: https://home-assistant.io/components/config.automation/ [configurator docs]: https://home-assistant.io/components/configurator/ [cover.lutron_caseta docs]: https://home-assistant.io/components/cover.lutron_caseta/ [datadog docs]: https://home-assistant.io/components/datadog/ From 9721d9cbf67dc2f9956053ee21a28536663b5a5d Mon Sep 17 00:00:00 2001 From: chris-thorn Date: Sun, 21 May 2017 19:08:20 +0100 Subject: [PATCH 04/50] Update sensor.file.markdown (#2678) Changed "reading" to "reads" in first sentence. --- source/_components/sensor.file.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.file.markdown b/source/_components/sensor.file.markdown index 55079dc1fdd..6fab2965b97 100644 --- a/source/_components/sensor.file.markdown +++ b/source/_components/sensor.file.markdown @@ -14,7 +14,7 @@ ha_release: 0.45 --- -The `file` sensor platform reading the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. +The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. To enable the `file` sensor, add the following lines to your `configuration.yaml`: From 47720baac739cf7b57ad9fb40bec6fe6730266e2 Mon Sep 17 00:00:00 2001 From: Stu Gott Date: Sun, 21 May 2017 14:08:51 -0400 Subject: [PATCH 05/50] FIx typo on image_processing.seven_segment page (#2679) --- source/_components/image_processing.seven_segments.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/image_processing.seven_segments.markdown b/source/_components/image_processing.seven_segments.markdown index 3f7e8c26a0d..4478ff26973 100644 --- a/source/_components/image_processing.seven_segments.markdown +++ b/source/_components/image_processing.seven_segments.markdown @@ -35,7 +35,7 @@ image_processing: Configuration variables: -- **ssocr_bin** (*Optional*): The command line tool `ssocr`. Set it if you use a different name for the executable. Defaults to `ssorc`. +- **ssocr_bin** (*Optional*): The command line tool `ssocr`. Set it if you use a different name for the executable. Defaults to `ssocr`. - **x_position** (*Optional*): X coordinate of the upper left corner of the area to crop. Defaults to `0`. - **y_position** (*Optional*): Y coordinate of the upper left corner of the area to crop. Defaults to `0`. - **height** (*Optional*): Height of the area to crop. Defaults to `0`. From beaab151f880dc20d95509624d3ed01e340d3598 Mon Sep 17 00:00:00 2001 From: Stu Gott Date: Sun, 21 May 2017 14:11:41 -0400 Subject: [PATCH 06/50] Fix missing yaml list markup in kira remote (#2681) --- source/_components/kira.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/kira.markdown b/source/_components/kira.markdown index 97c8af8c520..d2c2594834a 100644 --- a/source/_components/kira.markdown +++ b/source/_components/kira.markdown @@ -33,7 +33,7 @@ kira: host: 0.0.0.0 port: 65432 remotes: - name: kira_remote + - name: kira_remote host: 192.168.100.1 port: 65432 ``` From 04d8e4c1a9739ea1946b7485624fe6a4828ea245 Mon Sep 17 00:00:00 2001 From: Alex Calderon Date: Sun, 21 May 2017 14:39:52 -0400 Subject: [PATCH 07/50] Added an unsupported device. (#2675) * Added an unsupported device. * Fixed. Denon AVR 3808CI Support. * Use a box --- source/_components/media_player.denon.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/_components/media_player.denon.markdown b/source/_components/media_player.denon.markdown index d0b9da9b0ec..bef525cbb45 100644 --- a/source/_components/media_player.denon.markdown +++ b/source/_components/media_player.denon.markdown @@ -21,12 +21,15 @@ Supported devices: - Denon DRA-N5 - Denon RCD-N8 (untested) - Denon RCD-N9 (partial support) -- Denon AVR receivers with Integrated Network support (partial support) +- Denon AVR receivers with integrated Network support (partial support) - Denon AVR-X4100W (via denonavr platform) - Denon AVR receivers (via denonavr platform (untested)) - Marantz M-RC610 (via denonavr platform) - Marantz receivers (experimental via denonavr platform) +
+If you have something else using the IP controller for your Denon AVR 3808CI, such as your URC controller, it will not work! There is either a bug or security issue with some models where only one device could be controlling the IP functionality.
+
To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file: From 9a9bbedd9bd898de799d085428c92d320d4387b8 Mon Sep 17 00:00:00 2001 From: Andy Castille Date: Sun, 21 May 2017 13:42:46 -0500 Subject: [PATCH 08/50] Fix yml typo (#2682) --- source/_components/binary_sensor.mqtt.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/binary_sensor.mqtt.markdown b/source/_components/binary_sensor.mqtt.markdown index f3b22d8bc9e..aae612230db 100644 --- a/source/_components/binary_sensor.mqtt.markdown +++ b/source/_components/binary_sensor.mqtt.markdown @@ -19,7 +19,7 @@ The `mqtt` binary sensor platform uses the MQTT message payload as the sensor va To use your MQTT binary sensor in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yml entry +# Example configuration.yaml entry binary_sensor: - platform: mqtt state_topic: "home-assistant/window/contact" @@ -44,7 +44,7 @@ $ mosquitto_pub -h 127.0.0.1 -t home-assistant/window/contact -m "OFF" An extended configuration for the same sensor could look like this if you want/need to be more specific. ```yaml -# Example configuration.yml entry +# Example configuration.yaml entry binary_sensor: - platform: mqtt state_topic: "home-assistant/window/contact" From bfc3d84f682f22105a0ea3989fd01d2e614e426a Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 21 May 2017 21:16:50 +0200 Subject: [PATCH 09/50] Update installation.markdown --- source/hassio/installation.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 90a9ad4b036..b3ae1c0616b 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -17,7 +17,7 @@ Hass.io images are available for all available Raspberry Pi and intel nuc platfo - [Raspberry Pi 3][pi3] - [Intel Nuc][nuc] - Flash the downloaded image to an SD card using [Etcher]. -- Optional - Setup the WiFi: On the SD-card, edit the `system-connections/resin-sample` file and change `ssid` and `psk`. +- Optional - Setup the WiFi or static ip: On the SD-card, edit the `system-connections/resin-sample` file like [resinos describe][resinos-network]. - Insert SD card to Raspberry Pi and turn it on. On first boot, it downloads the latest version of Home Assistant which can take some time. - You will be able to reach your installation at [http://hassio.local:8123][local]. @@ -30,6 +30,7 @@ If you copy over your existing Home Assistant configuration, make sure to enable For advanced users, it is also possible to try Hass.io on your Linux server or inside a VM. To do so, [follow these instructions][linux]. [Etcher]: https://etcher.io/ +[resinos-network]: https://docs.resin.io/deployment/network/2.0.0/ [pi1]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi.img.bz2 [pi2]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi2.img.bz2 [pi3]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi3.img.bz2 From 931e17690e779e592d47e8b72a88079e018ceb12 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 21 May 2017 21:17:39 +0200 Subject: [PATCH 10/50] Update installation.markdown --- source/hassio/installation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index b3ae1c0616b..43c4632c250 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -17,7 +17,7 @@ Hass.io images are available for all available Raspberry Pi and intel nuc platfo - [Raspberry Pi 3][pi3] - [Intel Nuc][nuc] - Flash the downloaded image to an SD card using [Etcher]. -- Optional - Setup the WiFi or static ip: On the SD-card, edit the `system-connections/resin-sample` file like [resinos describe][resinos-network]. +- Optional - Setup the WiFi or static ip: On the SD-card, edit the `system-connections/resin-sample` file and follow the [ResinOS howto][resinos-network]. - Insert SD card to Raspberry Pi and turn it on. On first boot, it downloads the latest version of Home Assistant which can take some time. - You will be able to reach your installation at [http://hassio.local:8123][local]. From 1c3f50a74669805949cb2bc27b54c50875638496 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 22 May 2017 08:56:57 +0200 Subject: [PATCH 11/50] Add ha_category --- source/_components/telegram_bot.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/telegram_bot.markdown b/source/_components/telegram_bot.markdown index 0f213b192d6..018ba47014d 100644 --- a/source/_components/telegram_bot.markdown +++ b/source/_components/telegram_bot.markdown @@ -8,6 +8,7 @@ comments: false sharing: true footer: true logo: telegram.png +ha_category: Hub ha_release: 0.42 --- @@ -403,4 +404,4 @@ class TelegramBotEventListener(appapi.AppDaemon): self.call_service('telegram_bot/answer_callback_query', message='OK, you said no!', callback_query_id=callback_id) -``` \ No newline at end of file +``` From 4b21e52bba29ddda622bd9ddd0bf491e616611b7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 22 May 2017 09:14:31 +0200 Subject: [PATCH 12/50] Fix templates --- source/_components/telegram_bot.markdown | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/_components/telegram_bot.markdown b/source/_components/telegram_bot.markdown index 018ba47014d..a86c32664f7 100644 --- a/source/_components/telegram_bot.markdown +++ b/source/_components/telegram_bot.markdown @@ -256,8 +256,8 @@ Text repeater: - service: telegram_bot.send_message data_template: title: '*Dumb automation*' - target: '{{ trigger.event.data.user_id }}' - message: 'You said: ``` {{ trigger.event.data.text }} ```' + target: {% raw %}'{{ trigger.event.data.user_id }}'{% endraw %} + message: 'You said: {% raw %}{{ trigger.event.data.text }}{% endraw %}' disable_notification: true inline_keyboard: - '/edit,/NO' @@ -281,16 +281,16 @@ Message editor: show_alert: true - service: telegram_bot.edit_message data_template: - message_id: '{{ trigger.event.data.message.message_id }}' - chat_id: '{{ trigger.event.data.user_id }}' + message_id: {% raw %}'{{ trigger.event.data.message.message_id }}'{% endraw %} + chat_id: {% raw %}'{{ trigger.event.data.user_id }}'{% endraw %} title: '*Message edit*' inline_keyboard: - '/edit,/NO' - '/remove button' message: > - Callback received from {{ trigger.event.data.from_first }}. - Message id: {{ trigger.event.data.message.message_id }}. - Data: ``` {{ trigger.event.data.data }} ``` + {% raw %}Callback received from {% raw %}{{ trigger.event.data.from_first }}{% endraw %}. + Message id: {% raw %}{{ trigger.event.data.message.message_id }}{% endraw %}. + Data: {% raw %}{{ trigger.event.data.data }}{% endraw %} ``` Keyboard editor: @@ -305,12 +305,12 @@ Keyboard editor: action: - service: telegram_bot.answer_callback_query data_template: - callback_query_id: '{{ trigger.event.data.id }}' + callback_query_id: {% raw %}'{{ trigger.event.data.id }}'{% endraw %} message: 'Callback received for editing the inline keyboard!' - service: telegram_bot.edit_replymarkup data_template: message_id: 'last' - chat_id: '{{ trigger.event.data.user_id }}' + chat_id: {% raw %}'{{ trigger.event.data.user_id }}'{% endraw %} inline_keyboard: - '/edit,/NO' ``` @@ -327,7 +327,7 @@ Only acknowledges the 'NO' answer: action: - service: telegram_bot.answer_callback_query data_template: - callback_query_id: '{{ trigger.event.data.id }}' + callback_query_id: {% raw %}'{{ trigger.event.data.id }}'{% endraw %} message: 'OK, you said no!' ``` From 9b75008402d4abf3954740b72f9d13d3f389a0db Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 22 May 2017 10:28:00 -0700 Subject: [PATCH 13/50] Add sprint room --- .../_posts/2017-05-19-home-assistant-at-pycon-us-2017.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2017-05-19-home-assistant-at-pycon-us-2017.markdown b/source/_posts/2017-05-19-home-assistant-at-pycon-us-2017.markdown index e8772923b5f..bbf04b80055 100644 --- a/source/_posts/2017-05-19-home-assistant-at-pycon-us-2017.markdown +++ b/source/_posts/2017-05-19-home-assistant-at-pycon-us-2017.markdown @@ -14,6 +14,6 @@ In just 12 hours PyCon US 2017 starts. This is an exciting conference because th Just like last year, we'll be hosting a [Home Assistant Open Space](https://us.pycon.org/2017/events/open-spaces/). Please stop by to ask any questions you have to the available developers. ~~We haven't reserved a slot yet but will do so tomorrow. We'll update this post and announce it on social media as we know time and location.~~ **First open-space will be Friday at 4pm in room B112.** -We will also be taken part in the [development sprints](https://us.pycon.org/2017/community/sprints/) from Monday-Wednesday. You only need to bring a laptop. We'll help you get set up with a dev environment and you can be coding on top of Home Assistant in no time. Exact location inside the conference center to be announced. +We will also be taken part in the [development sprints](https://us.pycon.org/2017/community/sprints/) from Monday-Wednesday. You only need to bring a laptop. We'll help you get set up with a dev environment and you can be coding on top of Home Assistant in no time. ~~Exact location inside the conference center to be announced.~~ **We are sitting in room A108.** On a final note, the Home Assistant community is very very active so don't take it personal if we don't remember your name, issue or contribution. From b89af6b5ed75710fc377d51a346c9ab5bd24c806 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 22 May 2017 11:48:45 -0700 Subject: [PATCH 14/50] Release 0.45.1 --- _config.yml | 3 +-- ...0-automation-editor-zwave-panel-ocr.markdown | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 348d7464ba4..e3dffc70cac 100644 --- a/_config.yml +++ b/_config.yml @@ -147,7 +147,6 @@ date_released: 2017-05-20 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#" +patch_version_notes: "#release-0451---may-22" # Minor release (Example #release-0431---april-25): #patch_version_notes: "#release-0451---may-X" - diff --git a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown index ece7a6c6639..8102a4451dd 100644 --- a/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown +++ b/source/_posts/2017-05-20-automation-editor-zwave-panel-ocr.markdown @@ -70,6 +70,13 @@ If you are using our [experimental Hass.io image][hass.io], we made a breaking c - Seven segments OCR image processing ([@fabaff] - [#7632]) ([image_processing.seven_segments docs]) (new-platform) - Axis component ([@Kane610] - [#7381]) ([axis docs]) (new-platform) +## {% linkable_title Release 0.45.1 - May 22 %} + +- Fix telegram chats ([@azogue] - [#7689]) ([notify.telegram docs]) ([telegram_bot.__init__ docs]) +- Fix playback control of web streams ([@cgtobi] - [#7683]) ([media_player.volumio docs]) +- device_tracker.ubus: Handle empty results ([@tobygray] - [#7673]) ([device_tracker.ubus docs]) +- Allow fetching hass.io panel without auth ([@balloob] - [#7714]) ([hassio docs]) + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums][forum] or join us for a little [chat][gitter]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. @@ -418,3 +425,13 @@ Experiencing issues introduced by this release? Please report them in our [issue [forum]: https://community.home-assistant.io/ [gitter]: https://gitter.im/home-assistant/home-assistant [issue]: https://github.com/home-assistant/home-assistant/issues +[#7673]: https://github.com/home-assistant/home-assistant/pull/7673 +[#7683]: https://github.com/home-assistant/home-assistant/pull/7683 +[#7689]: https://github.com/home-assistant/home-assistant/pull/7689 +[#7714]: https://github.com/home-assistant/home-assistant/pull/7714 +[@cgtobi]: https://github.com/cgtobi +[@tobygray]: https://github.com/tobygray +[device_tracker.ubus docs]: https://home-assistant.io/components/device_tracker.ubus/ +[hassio docs]: https://home-assistant.io/components/hassio/ +[media_player.volumio docs]: https://home-assistant.io/components/media_player.volumio/ +[telegram_bot.__init__ docs]: https://home-assistant.io/components/telegram_bot.__init__/ From b69fd6d9c170c0642a7adf173ece2082883dc257 Mon Sep 17 00:00:00 2001 From: Brenton Zillins Date: Mon, 22 May 2017 13:36:19 -0700 Subject: [PATCH 15/50] Update development_environment.markdown (#2689) * Update development_environment.markdown * Update development_environment.markdown --- .../development_environment.markdown | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/source/developers/development_environment.markdown b/source/developers/development_environment.markdown index d4a2891950f..0ca74d82030 100644 --- a/source/developers/development_environment.markdown +++ b/source/developers/development_environment.markdown @@ -11,27 +11,15 @@ footer: true You'll need to set up a development environment if you want to develop a new feature or component for Home Assistant. Read on to learn how to set up. -### {% linkable_title Setup Local Repository %} +### {% linkable_title Preparing your environment %} -Visit the [Home Assistant repository](https://github.com/home-assistant/home-assistant) and click **Fork**. -Once forked, setup your local copy of the source using the commands: -```bash -$ git clone https://github.com/YOUR_GIT_USERNAME/home-assistant.git -$ cd home-assistant -$ git remote add upstream https://github.com/home-assistant/home-assistant.git -``` - -### {% linkable_title Prepare Your Environment %} - -#### {% linkable_title Core dependencies %} +#### {% linkable_title Developing on Linux %} Install the core dependencies. ```bash -$ sudo apt-get install python3-pip python3-dev +$ sudo apt-get install python3-pip python3-dev python3-venv ``` -#### {% linkable_title Platform dependencies %} - In order to run `script/setup` below you will need some more dependencies. ```bash $ sudo apt-get install libssl-dev libxml2-dev libxslt1-dev libjpeg-dev libffi-dev libudev-dev @@ -43,7 +31,36 @@ Different distributions have different package installation mechanisms and somet Additional dependencies exist if you you plan to perform Frontend Development, please read the [Frontend](https://home-assistant.io/developers/frontend/) section to learn more. -#### {% linkable_title Setting up virtual environment (optional) %} +#### {% linkable_title Developing on Windows %} + +If you are using Windows as a development platform, make sure that you have the correct Microsoft Visual C++ build tools installed. Check the [Windows Compilers](https://wiki.python.org/moin/WindowsCompilers) section on the [Python website](https://www.python.org/) for details. Validation using `tox` will fail if this is not done correctly. + +Also, make sure to install or upgrade the `setuptools` Python package. It contains compatibility improvements and adds automatic use of compilers: + +```bash +$ pip install --upgrade setuptools +``` + +#### {% linkable_title Developing on OS X %} + +Install [Homebrew](https://brew.sh/), then use that to install Python 3: + +```bash +$ brew install python3 +``` + +### {% linkable_title Setup Local Repository %} + +Visit the [Home Assistant repository](https://github.com/home-assistant/home-assistant) and click **Fork**. +Once forked, setup your local copy of the source using the commands: + +```bash +$ git clone https://github.com/YOUR_GIT_USERNAME/home-assistant.git +$ cd home-assistant +$ git remote add upstream https://github.com/home-assistant/home-assistant.git +``` + +### {% linkable_title Setting up virtual environment (optional) %} If you plan on providing isolation to your environment using [`venv`](https://docs.python.org/3.4/library/venv.html). Within the `home-assistant` directory, create and activate your virtual environment. @@ -52,19 +69,13 @@ $ python3 -m venv venv $ source venv/bin/activate ``` -Note, Debian does not ship a full Python3 package and so requires you to install `venv` manually `sudo apt-get install python3-venv`. - ### {% linkable_title Setup and Run %} -* On Mac OS X and Linux: - ```bash $ cd home-assistant $ script/setup ``` -* On Windows, you can use `python setup.py develop` instead of the setup script. - * Run `hass` to invoke your local installation. ### {% linkable_title Logging %} @@ -75,13 +86,3 @@ verbose logging levels). You can use the [logger](/components/logger/) component to adjust logging to DEBUG to see even more details about what is going on. - -### {% linkable_title Developing on Windows %} - -If you are using Windows as a development platform, make sure that you have the correct Microsoft Visual C++ build tools installed. Check the [Windows Compilers](https://wiki.python.org/moin/WindowsCompilers) section on the [Python website](https://www.python.org/) for details. Validation using `tox` will fail if this is not done correctly. - -Also, make sure to install or upgrade the `setuptools` Python package. It contains compatibility improvements and adds automatic use of compilers: - -```bash -$ pip install --upgrade setuptools -``` From 7db578843c44ea964cc82db0cce212255f7537f3 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 22 May 2017 13:42:44 -0700 Subject: [PATCH 16/50] Update development_testing.markdown --- .../developers/development_testing.markdown | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/source/developers/development_testing.markdown b/source/developers/development_testing.markdown index 8b0ff0abffe..6f879793e0d 100644 --- a/source/developers/development_testing.markdown +++ b/source/developers/development_testing.markdown @@ -22,7 +22,22 @@ Tox uses virtual environments under the hood to create isolated testing environm If you are working on tests for a component or platform and you need the dependencies available inside the Tox environment, update the list inside `script/gen_requirements_all.py`. Then run the script and then run `tox -r` to recreate the virtual environments. -### {% linkable_title Testing single files %} +### {% linkable_title Running single tests using Tox %} + +You can pass arguments via Tox to py.test to be able to run single test suites or test files. Replace `py36` with the Python version that you use. + +```bash +# Stop after the first test fails +$ tox -e py36 tests/test_core.py -x +# Run test with specified name +$ tox -e py36 tests/test_core.py -k test_split_entity_id +# Fail a test after it runs for 2 seconds +$ tox -e py36 tests/test_core.py --timeout 2 +# Show the 10 slowest tests +$ tox -e py36 tests/test_core.py --duration=10 +``` + +### {% linkable_title Testing outside of Tox %} Running tox will invoke the full test suite. Even if you specify which tox target to run, you still run all tests inside that target. That's not very convenient to quickly iterate on your code! To be able to run the specific test suites without Tox, you'll need to install the test dependencies into your Python environment: @@ -45,21 +60,6 @@ You can also run linting tests against all changed files, as reported by `git di $ script/lint --changed ``` -#### {% linkable_title Py.test tips %} - -Py.test has some great command line parameters to help you with the write-test-fix cycle. - -```bash -# Stop after the first test fails -$ py.test tests/test_core.py -x -# Run test with specified name -$ py.test tests/test_core.py -k test_split_entity_id -# Fail a test after it runs for 2 seconds -$ py.test tests/test_core.py --timeout 2 -# Show the 10 slowest tests -$ py.test tests/test_core.py --duration=10 -``` - ### {% linkable_title Preventing Linter Errors %} Save yourself the hassle of extra commits just to fix style errors by enabling the Flake8 git commit hook. Flake8 will check your code when you try to commit to the repository and block the commit if there are any style errors, which gives you a chance to fix them! From 23a4c1fa5b70995530cd83cac3c1f046545e53f2 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 22 May 2017 23:36:20 +0200 Subject: [PATCH 17/50] Add host_network --- source/hassio/addon_config.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/hassio/addon_config.markdown b/source/hassio/addon_config.markdown index 8424d933faf..4a325b92585 100644 --- a/source/hassio/addon_config.markdown +++ b/source/hassio/addon_config.markdown @@ -90,6 +90,7 @@ The config for an add-on is stored in `config.json`. | startup | yes | `initialize` will start addon on setup of hassio. `before` homeassistant will start. `after` homeassistant will start or `once` for application they don't run as deamon. | boot | yes | `auto` by system and manual or only `manual` | ports | no | Network ports to expose from the container. Format is `"container-port/type": host-port`. +| host_network | no | If that is True, the add-on run on host network. | devices | no | Device list to map into add-on. Format is: `::` | map | no | List of maps for additional hass.io folders. Possible values: `config`, `ssl`, `addons`, `backup`, `share`. Default it map it `ro`, you can change that if you add a ":rw" at the end of name. | environment | no | A dict of environment variable to run add-on. From 8de72a75cb9cfffe3f3d94736fae9e10ada30661 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 23 May 2017 00:29:11 -0500 Subject: [PATCH 18/50] change homeassistant.turn_on to light.turn_on (#2691) --- source/_docs/automation/action.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/automation/action.markdown b/source/_docs/automation/action.markdown index 87295918ac5..ce9d7c9e050 100644 --- a/source/_docs/automation/action.markdown +++ b/source/_docs/automation/action.markdown @@ -21,7 +21,7 @@ automation: platform: sun event: sunset action: - service: homeassistant.turn_on + service: light.turn_on entity_id: - light.kitchen - light.living_room From e110202625dd18be21e88f1ddfe14766ce37a643 Mon Sep 17 00:00:00 2001 From: Anton Sarukhanov Date: Mon, 22 May 2017 22:30:36 -0700 Subject: [PATCH 19/50] Fix typo (#2690) At least I think it's a typo? --- source/developers/development_guidelines.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/development_guidelines.markdown b/source/developers/development_guidelines.markdown index d1374badfb3..9c14e75d705 100644 --- a/source/developers/development_guidelines.markdown +++ b/source/developers/development_guidelines.markdown @@ -17,7 +17,7 @@ Summary of the most relevant points: - Use 4 spaces per indentation level. We don't use tabs. - Comments should be full sentences and end with a period. - [Imports](https://www.python.org/dev/peps/pep-0008/#imports) should be ordered. -- Constants and the content of lists and directories should be in alphabetical order. +- Constants and the content of lists and dictionaries should be in alphabetical order. - Avoid trailing whitespace but surround binary operators with a single space. - Line separator should be set to `LF`. From 14c8e31f611aed81b99655bb5ebb69f77e45eb86 Mon Sep 17 00:00:00 2001 From: Arno Date: Tue, 23 May 2017 13:24:19 +0200 Subject: [PATCH 20/50] Extended installation instructions for Armbian (#2694) Though not incorrect, the instructions for installing HA on Armbian are very sparse. This proposed change provides a better way to help users get Home Assistant properly installed on Armbian (linking to existing docs for setting up in a venv) --- source/_docs/installation/armbian.markdown | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/source/_docs/installation/armbian.markdown b/source/_docs/installation/armbian.markdown index ce8b4c4e043..f93959eba1c 100644 --- a/source/_docs/installation/armbian.markdown +++ b/source/_docs/installation/armbian.markdown @@ -18,8 +18,17 @@ $ sudo apt-get update $ sudo apt-get install python3-dev python3-pip ``` -Install Home Assistant. - +Now that you installed python, there are two ways to install Home Assistant: +1. It is recommended to install Home Assistant in a virtual environment to avoid using `root`, using the [VirtualEnv instructions](/docs/installation/virtualenv/ +2. Alternatively, you can install Home Assistant for the user you created when first booting Armbian: ```bash $ sudo pip3 install homeassistant +$ hass --open-ui ``` +Running these commands will: + + - Install Home Assistant + - Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123) + - the configuration files will be created in /home//.homeassistant + + From 1ba6a754ac229d034f3886583e5addee0588eb56 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 23 May 2017 17:28:49 +0200 Subject: [PATCH 21/50] Create dhcp_server.markdown --- source/_addons/dhcp_server.markdown | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 source/_addons/dhcp_server.markdown diff --git a/source/_addons/dhcp_server.markdown b/source/_addons/dhcp_server.markdown new file mode 100644 index 00000000000..b947f447df5 --- /dev/null +++ b/source/_addons/dhcp_server.markdown @@ -0,0 +1,42 @@ +--- +layout: page +title: "DHCP server" +description: "A simple dhcp server" +date: 2017-04-30 13:28 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Create a simple DHCP server for your network and allow set fix ip for some devices. + +```json +{ + "domain": "mynetwork.local", + "dns": ["8.8.8.8", "8.8.4.4"], + "networks": [ + { + "subnet": "192.168.1.0", + "netmask": "255.255.255.0", + "range_start": "192.168.1.100", + "range_end": "192.168.1.200", + "broadcast": "192.168.1.254", + "routers": ["192.168.1.1"] + } + ], + "hosts": [ + { + "name": "webcam_xy", + "mac": "aa:bb:ee:cc", + "ip": "192.168.1.40" + } + ] +} +``` + +Configuration variables: + +- **token** (*Required*): Your Duck DNS API key. +- **domains** (*Required*): A list of domains to update DNS. +- **seconds** (*Optional*): Seconds between updates to Duck DNS. From 13dc8b703d7f055932670464d24b1905e8621eb2 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 23 May 2017 17:36:39 +0200 Subject: [PATCH 22/50] Update dhcp_server.markdown --- source/_addons/dhcp_server.markdown | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/source/_addons/dhcp_server.markdown b/source/_addons/dhcp_server.markdown index b947f447df5..4feb545803b 100644 --- a/source/_addons/dhcp_server.markdown +++ b/source/_addons/dhcp_server.markdown @@ -21,7 +21,7 @@ Create a simple DHCP server for your network and allow set fix ip for some devic "netmask": "255.255.255.0", "range_start": "192.168.1.100", "range_end": "192.168.1.200", - "broadcast": "192.168.1.254", + "broadcast": "192.168.1.255", "routers": ["192.168.1.1"] } ], @@ -37,6 +37,16 @@ Create a simple DHCP server for your network and allow set fix ip for some devic Configuration variables: -- **token** (*Required*): Your Duck DNS API key. -- **domains** (*Required*): A list of domains to update DNS. -- **seconds** (*Optional*): Seconds between updates to Duck DNS. +- **domain** (*Required*): Your network domain name. +- **dns** (*Required*): A list of DNS server for your network. +- **networks** (*Optional*): A list of network to provide DHCP. +  - **subnet** (*Required*): Your network schema. +  - **netmask** (*Required*): Your network netmask. +  - **range_start** (*Required*): Start address for dhcp leases. +  - **range_end** (*Required*): End address for dhcp leases. +  - **broadcast** (*Required*): Network broadcast address. +  - **routers** (*Required*): A List of gateways. +- **hosts** (*Optional*): A list of fixed IPs for devices. + - **name** (*Required*): Name/hostname of your device. +  - **mac** (*Required*): Mac address of your device. +  - **ip** (*Required*): Fix ip address for device. From b5613fa4ff2b81640411a4c9773d9b7f40f774a3 Mon Sep 17 00:00:00 2001 From: Eugenio Panadero Date: Mon, 22 May 2017 08:41:04 +0200 Subject: [PATCH 23/50] fix links, add new data from #7689, change example config (#2677) --- source/_components/notify.telegram.markdown | 2 +- source/_components/telegram_bot.markdown | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/source/_components/notify.telegram.markdown b/source/_components/notify.telegram.markdown index 5afe840e143..74e8cf8d754 100644 --- a/source/_components/notify.telegram.markdown +++ b/source/_components/notify.telegram.markdown @@ -48,7 +48,7 @@ To enable Telegram notifications in your installation, add the following to your ```yaml # Example configuration.yaml entry for the Telegram Bot telegram_bot: - platform: webhooks + platform: polling api_key: ABCDEFGHJKLMNOPQRSTUVXYZ allowed_chat_ids: - CHAT_ID_1 diff --git a/source/_components/telegram_bot.markdown b/source/_components/telegram_bot.markdown index a86c32664f7..69a58146fb5 100644 --- a/source/_components/telegram_bot.markdown +++ b/source/_components/telegram_bot.markdown @@ -14,7 +14,7 @@ ha_release: 0.42 Use Telegram on your mobile or desktop device to send and receive messages or commands to/from your Home Assistant. -This component creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/_components/telegram_bot.polling.markdown) method or with the [webhooks](/_components/telegram_bot.webhooks.markdown) one, and trigger events when receiving messages. +This component creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/components/telegram_bot.polling/) method or with the [webhooks](/components/telegram_bot.webhooks/) one, and trigger events when receiving messages. ### {% linkable_title Notification services %} @@ -122,7 +122,7 @@ Respond to a callback query originated by clicking on an online keyboard button. ### {% linkable_title `Telegram` notification platform %} -The [Telegram notification platform](/_components/notify.telegram.markdown) requires the `telegram_bot` component to work with, and it's designed to generate a customised shortcut (`notify.USERNAME`) to send notifications (messages, photos, documents and locations) to a particular `chat_id` with the old syntax, allowing backward compatibility. +The [Telegram notification platform](/components/notify.telegram/) requires the `telegram_bot` component to work with, and it's designed to generate a customised shortcut (`notify.USERNAME`) to send notifications (messages, photos, documents and locations) to a particular `chat_id` with the old syntax, allowing backward compatibility. The required yaml configuration now reduces to: ```yaml @@ -145,6 +145,7 @@ args: "" from_first: "" from_last: "" user_id: "" +chat_id: "" ``` Any other message not starting with `/` will be processed as simple text, firing a `telegram_text` event on the event bus with the following `event_data`: @@ -154,6 +155,7 @@ text: "some text received" from_first: "" from_last: "" user_id: "" +chat_id: "" ``` if the message is sent from a [press from an inline button](https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating), for example, a callback query is received, and Home Assistant will fire a `telegram_callback` event with: @@ -166,6 +168,7 @@ from_last: "" user_id: "" id: "" chat_instance: "" +chat_id: "" ``` ### {% linkable_title Configuration samples %} @@ -216,7 +219,7 @@ trigger: action: - service: homeassistant.turn_on entity_id: switch.vision_zm1601eu5_battery_operated_siren_switch_9_0 - - delay: + - delay: seconds: 10 - service: homeassistant.turn_off entity_id: switch.vision_zm1601eu5_battery_operated_siren_switch_9_0 @@ -331,7 +334,7 @@ Only acknowledges the 'NO' answer: message: 'OK, you said no!' ``` -For a more complex usage of the `telegram_bot` capabilities, using [AppDaemon](https://home-assistant.io/docs/ecosystem/appdaemon/tutorial/) is advised. +For a more complex usage of the `telegram_bot` capabilities, using [AppDaemon](/docs/ecosystem/appdaemon/tutorial/) is advised. This is how the previous 4 automations would be through a simple AppDaemon app: From 70f569dbdfc96a9150e7a96b21389d3601f17d80 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 23 May 2017 18:25:10 +0200 Subject: [PATCH 24/50] Update release --- _config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index e3dffc70cac..6de62f081e9 100644 --- a/_config.yml +++ b/_config.yml @@ -141,8 +141,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 45 -current_patch_version: 0 -date_released: 2017-05-20 +current_patch_version: 1 +date_released: 2017-05-22 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. From 8eff1f37f0d62f8d9b88a7c3e08ba0d4e21a0d52 Mon Sep 17 00:00:00 2001 From: Arno Date: Tue, 23 May 2017 18:26:46 +0200 Subject: [PATCH 25/50] Typo: Forgot closing ) for link to virtualenv docs (#2695) --- source/_docs/installation/armbian.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/installation/armbian.markdown b/source/_docs/installation/armbian.markdown index f93959eba1c..e54d67acb85 100644 --- a/source/_docs/installation/armbian.markdown +++ b/source/_docs/installation/armbian.markdown @@ -19,7 +19,7 @@ $ sudo apt-get install python3-dev python3-pip ``` Now that you installed python, there are two ways to install Home Assistant: -1. It is recommended to install Home Assistant in a virtual environment to avoid using `root`, using the [VirtualEnv instructions](/docs/installation/virtualenv/ +1. It is recommended to install Home Assistant in a virtual environment to avoid using `root`, using the [VirtualEnv instructions](/docs/installation/virtualenv/) 2. Alternatively, you can install Home Assistant for the user you created when first booting Armbian: ```bash $ sudo pip3 install homeassistant @@ -29,6 +29,6 @@ Running these commands will: - Install Home Assistant - Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123) - - the configuration files will be created in /home//.homeassistant + - the configuration files will be created in /home/{user}/.homeassistant From fa4c431c06784908a0423229003feea03069109e Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 23 May 2017 09:39:37 -0700 Subject: [PATCH 26/50] Update development_testing.markdown --- source/developers/development_testing.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/developers/development_testing.markdown b/source/developers/development_testing.markdown index 6f879793e0d..a3b9f152501 100644 --- a/source/developers/development_testing.markdown +++ b/source/developers/development_testing.markdown @@ -28,13 +28,13 @@ You can pass arguments via Tox to py.test to be able to run single test suites o ```bash # Stop after the first test fails -$ tox -e py36 tests/test_core.py -x +$ tox -e py36 -- tests/test_core.py -x # Run test with specified name -$ tox -e py36 tests/test_core.py -k test_split_entity_id +$ tox -e py36 -- tests/test_core.py -k test_split_entity_id # Fail a test after it runs for 2 seconds -$ tox -e py36 tests/test_core.py --timeout 2 +$ tox -e py36 -- tests/test_core.py --timeout 2 # Show the 10 slowest tests -$ tox -e py36 tests/test_core.py --duration=10 +$ tox -e py36 -- tests/test_core.py --duration=10 ``` ### {% linkable_title Testing outside of Tox %} From 1b7bf19a6c25fa41cd468fd80e01140da5e0c9b3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 23 May 2017 23:03:54 +0200 Subject: [PATCH 27/50] Add more details --- source/_components/binary_sensor.mystrom.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/binary_sensor.mystrom.markdown b/source/_components/binary_sensor.mystrom.markdown index 53c0626c2c5..0f3d35f2a3d 100644 --- a/source/_components/binary_sensor.mystrom.markdown +++ b/source/_components/binary_sensor.mystrom.markdown @@ -38,10 +38,10 @@ binary_sensor: ### {% linkable_title Setup of the myStrom Buttons %} -After the Wifi Buttons are connected to your Wireless network, you have three minutes to set the actions for the push patterns. The fastest way is to use `curl`. Check the [documentation](https://mystrom.ch/wp-content/uploads/REST_API_WBP.txt) of the WiFi Button for further details about implementation (`http://` is replaced by `get://` or `post://`). `action` is the name of the corresponding push pattern. +You need to configure every button to make it work with Home Assistant. First connect the Wifi Buttons to your wireless network. Keep in mind that they only support WPS (Wi-FI Protected Setup). Once a button is connected you have three minutes to set the actions for the push patterns. The fastest way is to use `curl`. Check the [documentation](https://mystrom.ch/wp-content/uploads/REST_API_WBP.txt) of the WiFi Button for further details about the implementation (`http://` is replaced by `get://` or `post://`). `action` is the name of the corresponding push pattern (see above). ```bash -$ curl -d "[action]=get://[IP address Home Assistant]:8123/api/mystrom?single%3D[ID of the button]" http://[IP address of the button]/api/v1/device/[MAC address of the button] +$ curl -d "[action]=get://[IP address Home Assistant]:8123/api/mystrom?[action]%3D[ID of the button]" http://[IP address of the button]/api/v1/device/[MAC address of the button] { "[MAC address of the button]": { "type": "button", @@ -51,7 +51,7 @@ $ curl -d "[action]=get://[IP address Home Assistant]:8123/api/mystrom?single%3D "charge": true, "voltage": 4.292, "fw_version": "2.26", - "single": "get://[IP address Home Assistant]:8123/api/mystrom?single=[if of the button]", + "single": "get://[IP address Home Assistant]:8123/api/mystrom?single=[id of the button]", "double": "", "long": "", "touch": "" From d5203173245e91cbc0737cd82435877c65feaa7f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 23 May 2017 23:22:28 +0200 Subject: [PATCH 28/50] Update dhcp_server.markdown --- source/_addons/dhcp_server.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_addons/dhcp_server.markdown b/source/_addons/dhcp_server.markdown index 4feb545803b..2dbc8b4215f 100644 --- a/source/_addons/dhcp_server.markdown +++ b/source/_addons/dhcp_server.markdown @@ -22,7 +22,7 @@ Create a simple DHCP server for your network and allow set fix ip for some devic "range_start": "192.168.1.100", "range_end": "192.168.1.200", "broadcast": "192.168.1.255", - "routers": ["192.168.1.1"] + "gateway": "192.168.1.1" } ], "hosts": [ From 13c661c2f5cdb2f457b58be41ec1583c7c939195 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 23 May 2017 23:29:41 +0200 Subject: [PATCH 29/50] Add endpoint --- source/_components/binary_sensor.mystrom.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_components/binary_sensor.mystrom.markdown b/source/_components/binary_sensor.mystrom.markdown index 0f3d35f2a3d..ec61cdd5ca4 100644 --- a/source/_components/binary_sensor.mystrom.markdown +++ b/source/_components/binary_sensor.mystrom.markdown @@ -40,6 +40,8 @@ binary_sensor: You need to configure every button to make it work with Home Assistant. First connect the Wifi Buttons to your wireless network. Keep in mind that they only support WPS (Wi-FI Protected Setup). Once a button is connected you have three minutes to set the actions for the push patterns. The fastest way is to use `curl`. Check the [documentation](https://mystrom.ch/wp-content/uploads/REST_API_WBP.txt) of the WiFi Button for further details about the implementation (`http://` is replaced by `get://` or `post://`). `action` is the name of the corresponding push pattern (see above). +The endpoint that is recieving the data is `[IP address Home Assistant]:8123/api/mystrom`. + ```bash $ curl -d "[action]=get://[IP address Home Assistant]:8123/api/mystrom?[action]%3D[ID of the button]" http://[IP address of the button]/api/v1/device/[MAC address of the button] { From db656cff82a23f7be319e484523924cf4eb9f369 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 00:48:41 +0200 Subject: [PATCH 30/50] Update dhcp_server.markdown --- source/_addons/dhcp_server.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_addons/dhcp_server.markdown b/source/_addons/dhcp_server.markdown index 2dbc8b4215f..7ce04f553ce 100644 --- a/source/_addons/dhcp_server.markdown +++ b/source/_addons/dhcp_server.markdown @@ -22,7 +22,8 @@ Create a simple DHCP server for your network and allow set fix ip for some devic "range_start": "192.168.1.100", "range_end": "192.168.1.200", "broadcast": "192.168.1.255", - "gateway": "192.168.1.1" + "gateway": "192.168.1.1", + "interface": "eth0" } ], "hosts": [ @@ -45,7 +46,8 @@ Configuration variables:  - **range_start** (*Required*): Start address for dhcp leases.  - **range_end** (*Required*): End address for dhcp leases.  - **broadcast** (*Required*): Network broadcast address. -  - **routers** (*Required*): A List of gateways. +  - **gateway** (*Required*): A List of gateways. + - **interface** (*Required*): Inteface on that will be listen. - **hosts** (*Optional*): A list of fixed IPs for devices. - **name** (*Required*): Name/hostname of your device.  - **mac** (*Required*): Mac address of your device. From c4e63b5608e1f1e28de5eac4d8aaf5f4cc0bc4fa Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 23 May 2017 16:29:27 -0700 Subject: [PATCH 31/50] Update social image of seven segments ocr --- source/_components/image_processing.seven_segments.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/image_processing.seven_segments.markdown b/source/_components/image_processing.seven_segments.markdown index 4478ff26973..8b54fecffa3 100644 --- a/source/_components/image_processing.seven_segments.markdown +++ b/source/_components/image_processing.seven_segments.markdown @@ -11,6 +11,7 @@ logo: home-assistant.png ha_category: Image Processing featured: false ha_release: 0.45 +og_image: /images/screenshots/ssocr.png --- The `seven_segments` image processing platform allows you to read physical seven segments displays through Home Assistant. [`ssocr`](https://www.unix-ag.uni-kl.de/~auerswal/ssocr/) is used to extract the value shown on the display which is observed by a [camera](/components/camera/). `ssocr` need to be available on your system. Check the installation instruction for Fedora below or use `$ sudo apt-get install ssocr` on a Debian-based system: From 54902f91e7c43fc82d5d12476c43eae4419b1aeb Mon Sep 17 00:00:00 2001 From: Ryan Parrish Date: Wed, 24 May 2017 05:59:34 -0400 Subject: [PATCH 32/50] Update sensor.cert_expiry.markdown (#2701) `name` is an optional variable for `cert_expiry`. If you don't use it all your certs just show up as "SSL Certificate Expiry" as their name. --- source/_components/sensor.cert_expiry.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/sensor.cert_expiry.markdown b/source/_components/sensor.cert_expiry.markdown index 0321320e1d8..3dfc2f48e2c 100644 --- a/source/_components/sensor.cert_expiry.markdown +++ b/source/_components/sensor.cert_expiry.markdown @@ -27,6 +27,7 @@ Configuration variables: - **host** (*Required*): The host FQDN (or IP) to retrieve certificate from. - **port** (*Optional*): The port number where the server is running. Defaults to `443`. +- **name** (*Optional*): The friendly name for the certificate.

Make sure that the URL exactly matches your endpoint or resource. From 7782be060b9312757dd36360002ddf4b1fed3a3c Mon Sep 17 00:00:00 2001 From: boojew Date: Wed, 24 May 2017 06:02:39 -0400 Subject: [PATCH 33/50] Update axis.markdown (#2702) --- source/_components/axis.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown index 6cc94dea6ce..6e9ad277ae7 100644 --- a/source/_components/axis.markdown +++ b/source/_components/axis.markdown @@ -29,7 +29,7 @@ axis: - camera - motion - pir - - audio + - sound - daynight trigger_time: 0 location: köket From 904d077fa323fc431f7126efe631bdba0c4b94d1 Mon Sep 17 00:00:00 2001 From: Ray Goat Date: Wed, 24 May 2017 14:48:45 +0200 Subject: [PATCH 34/50] Update editor.markdown (#2703) Just added a missing word "sensor" --- source/_docs/automation/editor.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown index 5fc9f4695b1..d084b6d9c52 100644 --- a/source/_docs/automation/editor.markdown +++ b/source/_docs/automation/editor.markdown @@ -21,7 +21,7 @@ Choose a meaningful name for your automation rules.

-If the value of the is greater than 10 then the automation rule should apply. +If the value of the sensor is greater than 10 then the automation rule should apply.

From 77f7d4a41c743ad318763ee9a32e8d761b89ffa8 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 15:45:28 +0200 Subject: [PATCH 35/50] Create run_local.markdown --- source/hassio/run_local.markdown | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 source/hassio/run_local.markdown diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown new file mode 100644 index 00000000000..43cc8463fcd --- /dev/null +++ b/source/hassio/run_local.markdown @@ -0,0 +1,39 @@ +--- +layout: page +title: "Run local things" +description: "Instructions on how-to run local script for HomeAssistant." +date: 2017-04-30 13:28 +sidebar: true +comments: false +sharing: true +footer: true +--- + +On a normal installation you have access to base machine and can install or add every things of script they you can call with a `command_line` sensor/switch. Since Hass.IO use docker and every application is strict limited to other, you can not use this old way to perform local stuff. For first view it look very limited but if you look better to that conecpt you will see that make all very stable and a wrong thing can not break your system. It will also warrenty that your system is in every time clear to eatch running thing. + +If you need run a script to read data for a sensor or switch commands to other device, you can do that with a add-on or on HomeAssistant container with a custom component. We look now to do that in a modern way inside a add-on. For custom component you can look into other site. + +Before you read more on that page, please read the add-on turtorial. Now you can resize your horizen to new way to do things safe. + +First you need install a MQTT server. You can use our mqtt add-on. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. + +### {% linkable_title Sensors %} + +Short story of that caption: We loop in our script to fetch data push to mqtt and wait until next processing is ready. Here is a basic example and struct for that process. + +```bash + +``` + +### {% linkable_title Commands %} + + + +[Etcher]: https://etcher.io/ +[resinos-network]: https://docs.resin.io/deployment/network/2.0.0/ +[pi1]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi.img.bz2 +[pi2]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi2.img.bz2 +[pi3]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi3.img.bz2 +[nuc]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-intel-nuc.img.bz2 +[linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio +[local]: http://hassio.local:8123 From efa6fc425cfc7a121fcd3f5cce0a95c82d090c80 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 15:56:01 +0200 Subject: [PATCH 36/50] Update run_local.markdown --- source/hassio/run_local.markdown | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 43cc8463fcd..c3cd0c74173 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -11,11 +11,11 @@ footer: true On a normal installation you have access to base machine and can install or add every things of script they you can call with a `command_line` sensor/switch. Since Hass.IO use docker and every application is strict limited to other, you can not use this old way to perform local stuff. For first view it look very limited but if you look better to that conecpt you will see that make all very stable and a wrong thing can not break your system. It will also warrenty that your system is in every time clear to eatch running thing. -If you need run a script to read data for a sensor or switch commands to other device, you can do that with a add-on or on HomeAssistant container with a custom component. We look now to do that in a modern way inside a add-on. For custom component you can look into other site. +If you need run a script to read data for a sensor or switch commands to other device, you can do that with a add-on or on HomeAssistant container with a custom component. We look now to do that in a modern way inside a add-on. For custom component you can look into [custom-component][devoloper site]. -Before you read more on that page, please read the add-on turtorial. Now you can resize your horizen to new way to do things safe. +Before you read more on that page, please read the [addons-turtorial][add-ons turtorial]. Now you can resize your horizen to new way to do things safe. -First you need install a MQTT server. You can use our mqtt add-on. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. +First you need install a MQTT broker. You can use our [mqtt-addon][mqtt broker add-on]. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. ### {% linkable_title Sensors %} @@ -29,11 +29,7 @@ Short story of that caption: We loop in our script to fetch data push to mqtt an -[Etcher]: https://etcher.io/ -[resinos-network]: https://docs.resin.io/deployment/network/2.0.0/ -[pi1]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi.img.bz2 -[pi2]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi2.img.bz2 -[pi3]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-raspberrypi3.img.bz2 -[nuc]: https://github.com/home-assistant/hassio-build/releases/download/0.8/resinos-hassio-0.8-intel-nuc.img.bz2 -[linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio -[local]: http://hassio.local:8123 +[mqtt-addon]: /addons/mosquitto/ +[custom-component]: /developers/component_loading/ +[addons-turtorial]: /hassio/addon_tutorial/ + From 8b26d9aaf55fb0c89fa2b2c4c9c4ef743cf9027d Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:04:54 +0200 Subject: [PATCH 37/50] Update addon_config.markdown --- source/hassio/addon_config.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/addon_config.markdown b/source/hassio/addon_config.markdown index 4a325b92585..e6c7687a85e 100644 --- a/source/hassio/addon_config.markdown +++ b/source/hassio/addon_config.markdown @@ -41,7 +41,7 @@ FROM %%BASE_IMAGE%% ENV LANG C.UTF-8 # Install requirements for add-on -RUN apk add --no-cache jq +RUN apk add --no-cache tzdata jq # Copy data for add-on COPY run.sh / From 4b7574f590c8cfddd44943beabffa111c30fc9db Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:10:02 +0200 Subject: [PATCH 38/50] Update addon_config.markdown --- source/hassio/addon_config.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/addon_config.markdown b/source/hassio/addon_config.markdown index e6c7687a85e..a1b453bb0f5 100644 --- a/source/hassio/addon_config.markdown +++ b/source/hassio/addon_config.markdown @@ -33,7 +33,7 @@ echo '{ "target": "beer" }' | jq -r ".target" ## {% linkable_title Add-on Docker file %} -All add-ons are based on Alpine Linux 3.5. Hass.io will automatically substitute the right base image based on the machine architecture. +All add-ons are based on Alpine Linux 3.5. Hass.io will automatically substitute the right base image based on the machine architecture. Add `tzdata` if you need run in correct timezone. ``` FROM %%BASE_IMAGE%% From be5150e08567e7b4bd5b196da37bdc436048c86c Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:23:40 +0200 Subject: [PATCH 39/50] Update run_local.markdown --- source/hassio/run_local.markdown | 39 ++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index c3cd0c74173..0ea09b02ac3 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -11,18 +11,49 @@ footer: true On a normal installation you have access to base machine and can install or add every things of script they you can call with a `command_line` sensor/switch. Since Hass.IO use docker and every application is strict limited to other, you can not use this old way to perform local stuff. For first view it look very limited but if you look better to that conecpt you will see that make all very stable and a wrong thing can not break your system. It will also warrenty that your system is in every time clear to eatch running thing. -If you need run a script to read data for a sensor or switch commands to other device, you can do that with a add-on or on HomeAssistant container with a custom component. We look now to do that in a modern way inside a add-on. For custom component you can look into [custom-component][devoloper site]. +If you need run a script to read data for a sensor or switch commands to other device, you can do that with a add-on or on HomeAssistant container with a custom component. We look now to do that in a modern way inside a add-on. For custom component you can look into [devoloper site][custom-component]. -Before you read more on that page, please read the [addons-turtorial][add-ons turtorial]. Now you can resize your horizen to new way to do things safe. +Before you read more on that page, please read the [add-ons turtorial][addons-turtorial]. Now you can resize your horizen to new way to do things safe. -First you need install a MQTT broker. You can use our [mqtt-addon][mqtt broker add-on]. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. +First you need install a MQTT broker. You can use our [mqtt broker add-on][mqtt-addon]. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. ### {% linkable_title Sensors %} Short story of that caption: We loop in our script to fetch data push to mqtt and wait until next processing is ready. Here is a basic example and struct for that process. -```bash +Our Dockerfile need to install: +``` +RUN apk --no-cache add tzdata jq mosquitto-clients +``` + +Now we can process it with `run.sh`: +```bash +#!/bin/bash +set -e + +CONFIG_PATH=/data/options.json + +# possile options to process +MQTT_SERVER=$(jq --raw-output '.server' $CONFIG_PATH) +MQTT_PORT=$(jq --raw-output '.port' $CONFIG_PATH) +TOPIC=$(jq --raw-output '.topic' $CONFIG_PATH) +USER=$(jq --raw-output '.user' $CONFIG_PATH) +PASSWORD=$(jq --raw-output '.password' $CONFIG_PATH) +WAIT_TIME=$(jq --raw-output '.seconds' $CONFIG_PATH) + +# read data +while true +do + if OUTPUT="$(/read_my_sensor.sh)" + then + mosquitto_pub -h "$MQTT_SERVER" -p "$MQTT_PORT" -t "$TOPIC" -m "$OUTPUT" || true + else + echo "$(data) [ERROR] can't read sensor: $OUTPUT" + fi + + sleep "$WAIT_TIME" +done ``` ### {% linkable_title Commands %} From d42bfbd1ec26231a180d9a2e0831f5778856fa4a Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:25:02 +0200 Subject: [PATCH 40/50] Update run_local.markdown --- source/hassio/run_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 0ea09b02ac3..2881331240a 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -34,7 +34,7 @@ set -e CONFIG_PATH=/data/options.json -# possile options to process +# possible options for processing MQTT_SERVER=$(jq --raw-output '.server' $CONFIG_PATH) MQTT_PORT=$(jq --raw-output '.port' $CONFIG_PATH) TOPIC=$(jq --raw-output '.topic' $CONFIG_PATH) From e7bfabfb369197f47dc90e34f65a9f191dd90391 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:47:37 +0200 Subject: [PATCH 41/50] Update run_local.markdown --- source/hassio/run_local.markdown | 36 +++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 2881331240a..0b5f567d5d5 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -47,17 +47,51 @@ while true do if OUTPUT="$(/read_my_sensor.sh)" then - mosquitto_pub -h "$MQTT_SERVER" -p "$MQTT_PORT" -t "$TOPIC" -m "$OUTPUT" || true + mosquitto_pub -h "$MQTT_SERVER" -p "$MQTT_PORT" -u "$USER" -P "$PASSWORD" -t "$TOPIC" -m "$OUTPUT" || true else echo "$(data) [ERROR] can't read sensor: $OUTPUT" fi sleep "$WAIT_TIME" done + ``` ### {% linkable_title Commands %} +Short story of that caption: We wait on incoming data from mqtt broker to do some things. We can also use on HomeAssistant input_boolean that trigger a automation to publish a custom command to mqtt topic they can process multible things in one add-on. +Our Dockerfile need to install: + +``` +RUN apk --no-cache add tzdata jq mosquitto-clients +``` + +Now we can process it with `run.sh`: +```bash +#!/bin/bash +set -e + +CONFIG_PATH=/data/options.json + +# possible options for processing +MQTT_SERVER=$(jq --raw-output '.server' $CONFIG_PATH) +MQTT_PORT=$(jq --raw-output '.port' $CONFIG_PATH) +TOPIC=$(jq --raw-output '.topic' $CONFIG_PATH) +USER=$(jq --raw-output '.user' $CONFIG_PATH) +PASSWORD=$(jq --raw-output '.password' $CONFIG_PATH) + +# read data +while read -r message +do + if [ "$message" == "on" ]; then + /do_command_on.sh || true + else + /do_command_off.sh || true + fi + +done <<(mosquitto_sub -h "$MQTT_SERVER" -p "$MQTT_PORT" -u "$USER" -P "$PASSWORD" -t "$TOPIC" -q 1) + +``` [mqtt-addon]: /addons/mosquitto/ From 04bc4eb1d473fdd6cf1a129c4368f550d0b928d1 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:48:03 +0200 Subject: [PATCH 42/50] Update run_local.markdown --- source/hassio/run_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 0b5f567d5d5..f1c906c37cc 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -89,7 +89,7 @@ do /do_command_off.sh || true fi -done <<(mosquitto_sub -h "$MQTT_SERVER" -p "$MQTT_PORT" -u "$USER" -P "$PASSWORD" -t "$TOPIC" -q 1) +done < <(mosquitto_sub -h "$MQTT_SERVER" -p "$MQTT_PORT" -u "$USER" -P "$PASSWORD" -t "$TOPIC" -q 1) ``` From 7d77cae1e94f82e49e6fa4bbf33c8fbd128836d8 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:49:23 +0200 Subject: [PATCH 43/50] Update hassio_navigation.html --- source/_includes/asides/hassio_navigation.html | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_includes/asides/hassio_navigation.html b/source/_includes/asides/hassio_navigation.html index d57bcc18998..a8a24708657 100644 --- a/source/_includes/asides/hassio_navigation.html +++ b/source/_includes/asides/hassio_navigation.html @@ -9,6 +9,7 @@

  • {% active_link /addons/ Available add-ons %}
  • {% active_link /hassio/installing_third_party_addons/ Installing third-party add-ons %}
  • {% active_link /hassio/external_storage/ External storage %}
  • +
  • {% active_link /hassio/run_local/ Execute local things %}
  • {% active_link /hassio/architecture/ Architecture %}
  • From 758786a1222b6968505c09e151abba8da3b2b4db Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:52:05 +0200 Subject: [PATCH 44/50] Update run_local.markdown --- source/hassio/run_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index f1c906c37cc..9f4a16270ab 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -11,7 +11,7 @@ footer: true On a normal installation you have access to base machine and can install or add every things of script they you can call with a `command_line` sensor/switch. Since Hass.IO use docker and every application is strict limited to other, you can not use this old way to perform local stuff. For first view it look very limited but if you look better to that conecpt you will see that make all very stable and a wrong thing can not break your system. It will also warrenty that your system is in every time clear to eatch running thing. -If you need run a script to read data for a sensor or switch commands to other device, you can do that with a add-on or on HomeAssistant container with a custom component. We look now to do that in a modern way inside a add-on. For custom component you can look into [devoloper site][custom-component]. +If you need run a script to read data for a sensor or send commands to other device, you can do that with a add-on or on inside HomeAssistant container with a custom component. We look now to do that in a modern way inside a add-on. For custom component you can look into [devoloper site][custom-component]. Before you read more on that page, please read the [add-ons turtorial][addons-turtorial]. Now you can resize your horizen to new way to do things safe. From 71bf8421653eebf6678c688966a2caf83c1df5a8 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:52:49 +0200 Subject: [PATCH 45/50] Update run_local.markdown --- source/hassio/run_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 9f4a16270ab..7ccb231bc23 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -11,7 +11,7 @@ footer: true On a normal installation you have access to base machine and can install or add every things of script they you can call with a `command_line` sensor/switch. Since Hass.IO use docker and every application is strict limited to other, you can not use this old way to perform local stuff. For first view it look very limited but if you look better to that conecpt you will see that make all very stable and a wrong thing can not break your system. It will also warrenty that your system is in every time clear to eatch running thing. -If you need run a script to read data for a sensor or send commands to other device, you can do that with a add-on or on inside HomeAssistant container with a custom component. We look now to do that in a modern way inside a add-on. For custom component you can look into [devoloper site][custom-component]. +If you need run a script to read data for a sensor or send commands to other device, you can do that with a add-on or on inside HomeAssistant container with a custom component. We look now how we can to do that in a modern way inside a add-on. For custom component you can look into [devoloper site][custom-component]. Before you read more on that page, please read the [add-ons turtorial][addons-turtorial]. Now you can resize your horizen to new way to do things safe. From b9fd0dc7b9ea647f0f8f713447af9b45a2fe96af Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:54:00 +0200 Subject: [PATCH 46/50] Update run_local.markdown --- source/hassio/run_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 7ccb231bc23..23df57a05eb 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -13,7 +13,7 @@ On a normal installation you have access to base machine and can install or add If you need run a script to read data for a sensor or send commands to other device, you can do that with a add-on or on inside HomeAssistant container with a custom component. We look now how we can to do that in a modern way inside a add-on. For custom component you can look into [devoloper site][custom-component]. -Before you read more on that page, please read the [add-ons turtorial][addons-turtorial]. Now you can resize your horizen to new way to do things safe. +Before you read more on that page, please read the [add-ons turtorial][addons-turtorial]. Now you can resize your horizen to make things in a safe way. First you need install a MQTT broker. You can use our [mqtt broker add-on][mqtt-addon]. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. From e6aa189995d8fc2e1b631529daa9a9b0b65016d2 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:55:04 +0200 Subject: [PATCH 47/50] Update run_local.markdown --- source/hassio/run_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 23df57a05eb..787e9c506e8 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -15,7 +15,7 @@ If you need run a script to read data for a sensor or send commands to other dev Before you read more on that page, please read the [add-ons turtorial][addons-turtorial]. Now you can resize your horizen to make things in a safe way. -First you need install a MQTT broker. You can use our [mqtt broker add-on][mqtt-addon]. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. +First you need install a MQTT broker. You can use our [mqtt broker add-on][mqtt-addon]. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. That is the reason why we use a mqtt broker for it. ### {% linkable_title Sensors %} From 2d66598dc4b99a3c8626b617b7cd6bd427a49f9c Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 24 May 2017 16:56:00 +0200 Subject: [PATCH 48/50] Update run_local.markdown --- source/hassio/run_local.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index 787e9c506e8..f9e71a4d9a5 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -19,7 +19,7 @@ First you need install a MQTT broker. You can use our [mqtt broker add-on][mqtt- ### {% linkable_title Sensors %} -Short story of that caption: We loop in our script to fetch data push to mqtt and wait until next processing is ready. Here is a basic example and struct for that process. +Short story of that caption: We loop in our script to fetch data and push it to mqtt and wait until next processing is ready. Here is a basic example and struct for that process. Our Dockerfile need to install: From 9772c3f694387af44b2476c0bea0d4541aa745da Mon Sep 17 00:00:00 2001 From: Alok Saboo Date: Wed, 24 May 2017 12:27:55 -0400 Subject: [PATCH 49/50] Cleaned up documentation (#2704) --- source/hassio/run_local.markdown | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/source/hassio/run_local.markdown b/source/hassio/run_local.markdown index f9e71a4d9a5..2ca379ae32b 100644 --- a/source/hassio/run_local.markdown +++ b/source/hassio/run_local.markdown @@ -1,7 +1,7 @@ --- layout: page -title: "Run local things" -description: "Instructions on how-to run local script for HomeAssistant." +title: "Run local script" +description: "Instructions on how-to run local script for Home Assistant." date: 2017-04-30 13:28 sidebar: true comments: false @@ -9,17 +9,15 @@ sharing: true footer: true --- -On a normal installation you have access to base machine and can install or add every things of script they you can call with a `command_line` sensor/switch. Since Hass.IO use docker and every application is strict limited to other, you can not use this old way to perform local stuff. For first view it look very limited but if you look better to that conecpt you will see that make all very stable and a wrong thing can not break your system. It will also warrenty that your system is in every time clear to eatch running thing. +On a normal Home Assistant installation you have access to the base machine and can install or add scripts that you can call with a `command_line` sensor/switch. Since Hass.IO uses Docker, you can not use this old way to perform local stuff. On its face, it looks quite restrictive, but it makes the whole system stable. -If you need run a script to read data for a sensor or send commands to other device, you can do that with a add-on or on inside HomeAssistant container with a custom component. We look now how we can to do that in a modern way inside a add-on. For custom component you can look into [devoloper site][custom-component]. +However, if you need to run a script to read data for a sensor or send commands to other devices on Hass.IO, you can do that with a add-on or on inside the Home Assistant container with a custom component. Here is one way to accomplish that using an add-on. For custom component, look at the [devoloper site][custom-component] and also read the [add-ons tutorial][addons-tutorial]. Now you can get started with your custom component in the right way. -Before you read more on that page, please read the [add-ons turtorial][addons-turtorial]. Now you can resize your horizen to make things in a safe way. - -First you need install a MQTT broker. You can use our [mqtt broker add-on][mqtt-addon]. Make sure you use logins and disable anonymos access if you want control sensible systems. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. That is the reason why we use a mqtt broker for it. +First you need install a MQTT broker. You can use our [MQTT broker add-on][mqtt-addon]. Make sure you use logins and disable anonymous access if you want to secure the system. We provide no Hass.IO way to exchange data, that will be not realy good for security and is also to slow to exchange data between containers or stop and go stuff. That is the reason why we use a mqtt broker for it. ### {% linkable_title Sensors %} -Short story of that caption: We loop in our script to fetch data and push it to mqtt and wait until next processing is ready. Here is a basic example and struct for that process. +Short story of that caption: We loop in our script to fetch data and push it to MQTT and wait until next process is ready. Here is a basic example and structure for that process. Our Dockerfile need to install: @@ -58,7 +56,7 @@ done ``` ### {% linkable_title Commands %} -Short story of that caption: We wait on incoming data from mqtt broker to do some things. We can also use on HomeAssistant input_boolean that trigger a automation to publish a custom command to mqtt topic they can process multible things in one add-on. +Short story of that caption: We wait for incoming data from MQTT broker. We can also use an `input_boolean` that triggers an automation to publish a custom command to MQTT topic that can process multiple things in one add-on. Our Dockerfile need to install: @@ -94,7 +92,6 @@ done < <(mosquitto_sub -h "$MQTT_SERVER" -p "$MQTT_PORT" -u "$USER" -P "$PASSWOR ``` -[mqtt-addon]: /addons/mosquitto/ +[MQTT-addon]: /addons/mosquitto/ [custom-component]: /developers/component_loading/ -[addons-turtorial]: /hassio/addon_tutorial/ - +[addons-tutorial]: /hassio/addon_tutorial/ From a0600c1d3eee675bb5fd6d7af97fe7a45b0ea19e Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 25 May 2017 01:09:48 +0200 Subject: [PATCH 50/50] Create dnsmasq.markdonw --- source/_addons/dnsmasq.markdonw | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 source/_addons/dnsmasq.markdonw diff --git a/source/_addons/dnsmasq.markdonw b/source/_addons/dnsmasq.markdonw new file mode 100644 index 00000000000..dd1e52a5170 --- /dev/null +++ b/source/_addons/dnsmasq.markdonw @@ -0,0 +1,34 @@ +--- +layout: page +title: "Dnsmasq" +description: "A simple dns server with benefits." +date: 2017-04-30 13:28 +sidebar: true +comments: false +sharing: true +footer: true +--- + +Setup and manage a [Dnsmasq](http://thekelleys.org.uk/dnsmasq/doc.html) dns server. This allow your to manipulate some dns requests. I.e. that inside your network, your homeassistant domain will resolve with a internal address. + +

    +At the moment, it will not work with resinos! +

    + +```json +{ + "defaults": ["8.8.8.8", "8.8.4.4"], + "forwards": [ + {"domain": "mystuff.local", "server": "192.168.1.40"} + ], + "hosts": [ + {"host": "home.mydomain.io", "ip": "192.168.1.10"} + ], +} +``` + +Configuration variables: + +- **defaults** (*Required*): A list of dns server to forward default requests. +- **forwards** (*Optional*): A list of domains that will forward to a specific server. +- **hosts** (*Optional*): A list of hosts to resolve it static.