diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index 7728f716e0f..e74106df9c3 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -13,7 +13,7 @@ text-transform: uppercase; white-space: nowrap; display: inline-block; - font-weight: bold; + font-weight: 500; } .front-install { @@ -59,6 +59,19 @@ padding: 4px 0px 12px; } } + + .links { + margin-top: 8px; + margin-left: -8px; + + a { + text-decoration: none; + font-weight: 500; + text-transform: uppercase; + display: inline-block; + margin: 0 8px; + } + } } .frontpage { @@ -69,10 +82,15 @@ .release-date { white-space: nowrap; } + } - .blog-date { - white-space: nowrap; + .recent-posts { + margin-bottom: 16px; + + .blog-date { + white-space: nowrap; + } } .supported-brands { diff --git a/source/_components/alexa.markdown b/source/_components/alexa.markdown index 747bef9a8e8..65ddc60f870 100644 --- a/source/_components/alexa.markdown +++ b/source/_components/alexa.markdown @@ -240,7 +240,7 @@ Custom slot type for script support. Add a sample utterance: ```text -RunScriptIntent run {Scene} +RunScriptIntent run {Script} ``` Then add the intent to your Alexa Section in your HA config file: diff --git a/source/_components/binary_sensor.enocean.markdown b/source/_components/binary_sensor.enocean.markdown index 435b7bfbc9c..7b39364efeb 100644 --- a/source/_components/binary_sensor.enocean.markdown +++ b/source/_components/binary_sensor.enocean.markdown @@ -10,12 +10,13 @@ footer: true logo: enocean.png ha_category: Binary Sensor ha_release: 0.21 +ha_iot_class: "Local Push" --- This can typically be one of those batteryless wall switches. Currently only one type has been tested: Eltako FT55. Other devices will most likely not work without changing the Home-Asisstant code. -To use your EnOcean device, you first have to set up your [EnOcean hub](../enocean) and then add the following to your `configuration.yaml` file: +To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/binary_sensor.rest.markdown b/source/_components/binary_sensor.rest.markdown index 1bca8ac767d..7ef84e74f77 100644 --- a/source/_components/binary_sensor.rest.markdown +++ b/source/_components/binary_sensor.rest.markdown @@ -8,12 +8,24 @@ comments: false sharing: true footer: true ha_category: Binary Sensor -ha_release: 0.10 +ha_release: "0.10" --- The `rest` binary sensor platform is consuming a given endpoint which is exposed by a [RESTful API](https://en.wikipedia.org/wiki/Representational_state_transfer) of a device, an application, or a web service. The binary sensor has support for GET and POST requests. +The JSON messages can contain different values like `1`, `"1"`, `TRUE`, `true`, `on`, or `open`. If the value is nested then use a [template](/topics/templating/). + +```json +{ + "name": "Binary sensor", + "state": { + "open": "true", + "timestamp": "2016-06-20 15:42:52.926733" + } +} +``` + To enable this sensor, add the following lines to your `configuration.yaml` file for a GET request: ```yaml diff --git a/source/_components/camera.netatmo.markdown b/source/_components/camera.netatmo.markdown index 054e93c2328..aa5f3ec1fa6 100644 --- a/source/_components/camera.netatmo.markdown +++ b/source/_components/camera.netatmo.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: netatmo.png ha_category: Camera -ha_release: "0.2x" +ha_release: "0.22" --- diff --git a/source/_components/conversation.markdown b/source/_components/conversation.markdown index 8e52a6927a1..9317b62fb72 100644 --- a/source/_components/conversation.markdown +++ b/source/_components/conversation.markdown @@ -12,7 +12,7 @@ ha_category: "Voice" --- -The conversation component can process sentences into commands for Home Assistant. It is currently limited to parsing commands in the format `turn `. +The conversation component can process sentences into commands for Home Assistant. It is currently limited to parsing commands in the format `turn `. To enable the conversion option in your installation, add the following to your `configuration.yaml` file: @@ -22,12 +22,12 @@ To enable the conversion option in your installation, add the following to your conversation: ``` -When this component is active and you are using a supported browser voice commands will be activated in the frontend. Browse to [the demo](/demo/) using Chrome to see it in action. +When this component is active and you are using a supported browser voice commands will be activated in the frontend. Browse to [the demo](/demo/) using Chrome or Chromium to see it in action.

-Apple iPhones do not support this feature in any browser. + Apple iPhones do not support this feature in any browser.

diff --git a/source/_components/device_tracker.fritz.markdown b/source/_components/device_tracker.fritz.markdown index b695d02ad71..3d35a033274 100644 --- a/source/_components/device_tracker.fritz.markdown +++ b/source/_components/device_tracker.fritz.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: avm.png ha_category: Presence Detection -ha_release: 0.10 +ha_release: "0.10" --- diff --git a/source/_components/device_tracker.icloud.markdown b/source/_components/device_tracker.icloud.markdown index 7853b182716..220eda5d01e 100644 --- a/source/_components/device_tracker.icloud.markdown +++ b/source/_components/device_tracker.icloud.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: icloud.png ha_category: Presence Detection -ha_release: 0.10 +ha_release: "0.10" --- diff --git a/source/_components/device_tracker.markdown b/source/_components/device_tracker.markdown index 15d6a394e94..0cb71ebb9db 100644 --- a/source/_components/device_tracker.markdown +++ b/source/_components/device_tracker.markdown @@ -36,13 +36,13 @@ device_tracker: Once tracked, a file will be created in your config dir called `known_devices.yaml`. Edit this file to adjust which devices to be tracked. Here you can also setup a URL for each device to be used as the entity picture and set whether the device will be show in the UI when in the away state. -Multiple device trackers can be used in parallel, such as [Owntracks](/components/device_tracker.owntracks/) and [Nmap](/components/device_tracker.nmap_scanner/). The state of the device will be determined by the source that reported last. Device tracker will look for global settings (track_new_devices, consider_home and home_interval) under the configuration of the first platform. +Multiple device trackers can be used in parallel, such as [Owntracks](/components/device_tracker.owntracks/) and [Nmap](/components/device_tracker.nmap_scanner/). The state of the device will be determined by the source that reported last. Device tracker will look for global settings (`track_new_devices`, `consider_home`, and `home_interval`) under the configuration of the first platform. The optional `consider_home` entry is useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as nmap. To add Nmap tracking just add the MAC address to the OwnTracks or iCloud device `mac:` configuration. To use both OwnTracks and Nmap you could use the following example: -``` +```yaml owntracksdevicename: name: Friendly Name! mac: EA:AA:55:E7:C6:94 diff --git a/source/_components/device_tracker.nmap_scanner.markdown b/source/_components/device_tracker.nmap_scanner.markdown index de2989900e2..8cc1d3816a5 100644 --- a/source/_components/device_tracker.nmap_scanner.markdown +++ b/source/_components/device_tracker.nmap_scanner.markdown @@ -15,7 +15,7 @@ featured: true As an alternative to the router-based device tracking, it is possible to directly scan the network for devices by using Nmap. The IP addresses to scan can be specified in any format that Nmap understands, including the network-prefix notation (`192.168.1.1/24`) and the range notation (`192.168.1.1-255`). -If you're on Debian or Ubuntu, you might have to install the packages for arp and nmap. Do so by running `apt-get install net-tools nmap`. +If you're on Debian or Ubuntu, you might have to install the packages for `arp` and `nmap`. Do so by running `apt-get install net-tools nmap`. On a Fedora host run `sudo dnf -y install nmap`. To use this device tracker in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/garage_door.mqtt.markdown b/source/_components/garage_door.mqtt.markdown index b7e78a5c290..2503700f0f1 100644 --- a/source/_components/garage_door.mqtt.markdown +++ b/source/_components/garage_door.mqtt.markdown @@ -10,6 +10,7 @@ footer: true logo: mqtt.png ha_category: Garage Door ha_release: 0.18 +ha_iot_class: depends --- diff --git a/source/_components/input_select.markdown b/source/_components/input_select.markdown index 6bc2bddfe36..3ffd66d16a3 100644 --- a/source/_components/input_select.markdown +++ b/source/_components/input_select.markdown @@ -37,7 +37,7 @@ Configuration variables: - **[alias]** (*Required*): Alias for the input. - **name** (*Optional*): Friendly name of the input. -- **options** array (*Optional*): List of options to choose from +- **options** array: List of options to choose from - **initial** (*Optional*): Initial value when Home Assistant starts. - **icon** (*Optional*): Icon for entry. diff --git a/source/_components/lock.mqtt.markdown b/source/_components/lock.mqtt.markdown index 7394ddf7730..cfd1b535e44 100644 --- a/source/_components/lock.mqtt.markdown +++ b/source/_components/lock.mqtt.markdown @@ -10,6 +10,7 @@ footer: true logo: mqtt.png ha_category: Lock ha_release: 0.15 +ha_iot_class: depends --- The `mqtt` lock platform let you control your MQTT enabled locks. diff --git a/source/_components/mqtt.markdown b/source/_components/mqtt.markdown index fe6c392d357..f4388c54a67 100644 --- a/source/_components/mqtt.markdown +++ b/source/_components/mqtt.markdown @@ -11,6 +11,7 @@ logo: mqtt.png ha_category: Hub featured: true ha_release: pre 0.7 +ha_iot_class: depends --- MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things" connectivity protocol on top of TCP/IP. It allows extremely lightweight publish/subscribe messaging transport. diff --git a/source/_components/nest.markdown b/source/_components/nest.markdown index f8a4723fe8a..b6268ff664c 100644 --- a/source/_components/nest.markdown +++ b/source/_components/nest.markdown @@ -15,7 +15,7 @@ featured: true The Nest component is the main component to integrate all Nest related platforms. Besides this component you will have to setup your thermostat and any connected sensors separately. ```yaml -# Example configurayion.yaml entry +# Example configuration.yaml entry nest: username: USERNAME password: PASSWORD diff --git a/source/_components/rollershutter.mqtt.markdown b/source/_components/rollershutter.mqtt.markdown index a880f101a38..ade1638d2c3 100644 --- a/source/_components/rollershutter.mqtt.markdown +++ b/source/_components/rollershutter.mqtt.markdown @@ -10,6 +10,7 @@ footer: true logo: mqtt.png ha_category: Rollershutter ha_release: 0.9 +ha_iot_class: depends --- diff --git a/source/_components/rollershutter.wink.markdown b/source/_components/rollershutter.wink.markdown index 1d338a3dc17..d80280d2f5f 100644 --- a/source/_components/rollershutter.wink.markdown +++ b/source/_components/rollershutter.wink.markdown @@ -12,7 +12,7 @@ ha_category: Rollershutter ha_release: 0.22 --- -The Wink rollershutter platform allows you to control your [Wink](http://www.wink.com/) enabled rollershutters. It supports Wink shades / blinds / rollershutters such as the Bali Somfy or Lutron Serena blinds. +The `wink` rollershutter platform allows you to control your [Wink](http://www.wink.com/) enabled rollershutters. It supports Wink shades/blinds/rollershutters such as the Bali Somfy or Lutron Serena blinds. The Wink API currently doesn't provide status for shades. diff --git a/source/_components/sensor.command_line.markdown b/source/_components/sensor.command_line.markdown index 0e26cae696f..8c516c37605 100644 --- a/source/_components/sensor.command_line.markdown +++ b/source/_components/sensor.command_line.markdown @@ -9,6 +9,7 @@ sharing: true footer: true logo: command_line.png ha_category: Sensor +ha_release: pre 0.7 --- @@ -82,6 +83,16 @@ You can see directly in the frontend (**Developer tools** -> **About**) what rel name: HA release ``` +### {% linkable_title Read value out of a remote text file %} + +If you own a devices which are storing values in text files which are accessible over HTTP then you can use the same approach as shown in the previous section. Instead of looking at the JSON response we directly grab the sensor's value. + +```yaml + - platform: command_line + command: python3 -c "import requests; print(requests.get('http://remote-host/sensor_data.txt').text)" + name: File value +``` + ### {% linkable_title Use an external script %} The example is doing the same as the [aREST sensor](/components/sensor.arest/) but with an external Python script. It should give you an idea about interacting with devices which are exposing a RESTful API. diff --git a/source/_components/sensor.dweet.markdown b/source/_components/sensor.dweet.markdown index 1894645a774..8e353226c36 100644 --- a/source/_components/sensor.dweet.markdown +++ b/source/_components/sensor.dweet.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: dweet.png ha_category: Sensor -ha_release: 0.10 +ha_release: "0.10" --- The `dweet` sensor platform allows you to get details from your devices which are publishing their values to [Dweet.io](https://dweet.io/). diff --git a/source/_components/sensor.eliqonline.markdown b/source/_components/sensor.eliqonline.markdown index c39161635f1..fd6dddaef65 100644 --- a/source/_components/sensor.eliqonline.markdown +++ b/source/_components/sensor.eliqonline.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: eliq.png ha_category: Sensor -ha_release: 0.10 +ha_release: "0.10" --- diff --git a/source/_components/sensor.mqtt.markdown b/source/_components/sensor.mqtt.markdown index f6c4c5e148e..b64ed6d1c48 100644 --- a/source/_components/sensor.mqtt.markdown +++ b/source/_components/sensor.mqtt.markdown @@ -10,6 +10,7 @@ footer: true logo: mqtt.png ha_category: Sensor ha_release: 0.7 +ha_iot_class: depends --- diff --git a/source/_components/sensor.netatmo.markdown b/source/_components/sensor.netatmo.markdown index 81455a136d8..8034f8a2d12 100644 --- a/source/_components/sensor.netatmo.markdown +++ b/source/_components/sensor.netatmo.markdown @@ -2,7 +2,7 @@ layout: page title: "Netatmo Sensor" description: "Instructions how to integrate Netatmo sensors into Home Assistant." -date: 2016-06-02 08:10 +date: 2016-06-23 11:10 sidebar: true comments: false sharing: true @@ -31,12 +31,24 @@ sensor: - rain - sum_rain_1 - sum_rain_24 + - wifi_status module_name2: - temperature + - battery_vp + - min_temp + - max_temp rainmeter_name3: - rain - sum_rain_1 - sum_rain_24 + - battery_vp + - rf_status + windmodule_name4: + - WindAngle + - WindStrength + - GustAngle + - GustStrength + - rf_status ``` Configuration variables: @@ -52,6 +64,15 @@ Configuration variables: - **rain**: Estimated rainfall for today in mm. - **sum_rain_1**: Rainfall in the last hour in mm. - **sum_rain_24**: Rainfall in mm from 00:00am - 23:59pm. + - **WindAngle**: Wind angle + - **WingStrength**: Wind strength + - **GustAngle**: Wind gust angle + - **GustStrength**: Wind gust strength + - **min_temp**: Min temperature for today + - **max_temp**: Max temperature for today + - **rf_status**: Current radio status per module. (90=low, 60=highest) + - **wifi_status**: Wifi status per Base station + - **battery_vp**: Current battery status per module. ### {% linkable_title Find your modules name %} @@ -62,6 +83,3 @@ You have to provide these name in your Home Assistant configuration file.

-

-The Home Assistant NetAtmo platform has only be tested with the classic indoor, outdoor module and rainmeter. There is no support for the windmeter module at this time because developers does not own these modules. -

diff --git a/source/_components/sensor.snmp.markdown b/source/_components/sensor.snmp.markdown index c59c7c5c63b..dbb531f4e58 100644 --- a/source/_components/sensor.snmp.markdown +++ b/source/_components/sensor.snmp.markdown @@ -8,9 +8,9 @@ comments: false sharing: true footer: true logo: network-snmp.png -ha_category: Sensor +ha_category: Sensor ha_iot_class: "Local Polling" -ha_release: "0.21" +ha_release: "0.22" --- diff --git a/source/_components/sensor.torque.markdown b/source/_components/sensor.torque.markdown index 1ba46279193..42429bfb4c5 100644 --- a/source/_components/sensor.torque.markdown +++ b/source/_components/sensor.torque.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: torque.png ha_category: Sensor -ha_release: 0.10 +ha_release: "0.10" --- The `torque` platform will allow you to monitor [Torque](http://torque-bhp.com/) data relayed from a bluetooth OBD2 stick via the Torque mobile application. diff --git a/source/_components/sensor.twitch.markdown b/source/_components/sensor.twitch.markdown index 4edbbbcfe19..f15a84f8802 100644 --- a/source/_components/sensor.twitch.markdown +++ b/source/_components/sensor.twitch.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: twitch.png ha_category: Sensor -ha_release: 0.10 +ha_release: "0.10" --- diff --git a/source/_components/switch.mqtt.markdown b/source/_components/switch.mqtt.markdown index a12213a51ff..2b5c4860985 100644 --- a/source/_components/switch.mqtt.markdown +++ b/source/_components/switch.mqtt.markdown @@ -10,6 +10,7 @@ footer: true logo: mqtt.png ha_category: Switch ha_release: 0.7 +ha_iot_class: depends --- The `mqtt` switch platform let you control your MQTT enabled light. diff --git a/source/_components/thermostat.heatmiser.markdown b/source/_components/thermostat.heatmiser.markdown index 1143dbc07a4..f11a9d54cbc 100644 --- a/source/_components/thermostat.heatmiser.markdown +++ b/source/_components/thermostat.heatmiser.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: heatmiser.png ha_category: Thermostat -ha_release: 0.10 +ha_release: "0.10" --- diff --git a/source/_cookbook/apache_configuration.markdown b/source/_cookbook/apache_configuration.markdown new file mode 100644 index 00000000000..e2665a4e829 --- /dev/null +++ b/source/_cookbook/apache_configuration.markdown @@ -0,0 +1,95 @@ +--- +layout: page +title: "Apache Configuration" +description: "Configure Apache to work with home assistant as a subdomain" +date: 2016-06-20 13:05 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Infrastructure +--- + +This is an example about how you can configure Apache to act as a proxy for home assistant. + +This is useful if you want to have: + + * a subdomain redirecting to your home assistant instance + * several subdomain for several instance + * HTTPS redirection + +#### {% linkable_title Subdomain %} + +So you already have a working Apache server available at example.org. +Your home assistant is correctly working on this web server and available at localhost:8123 + +To be able to access to your home assistant instance by using https://home.example.org, add to following file into `/etc/httpd/conf/extra/hass.conf` + +```apacheconf + + ProxyPreserveHost On + ProxyRequests Off + ServerName home.example.org + ProxyPass / http://localhost:8123/ + ProxyPassReverse / http://localhost:8123/ + +``` + +and make sure that this file is read by apache's main configiuration file `/etc/httpd/conf/httpd.conf` + +```apacheconf +... +Include conf/extra/hass.conf +... +``` + +If you don't want HTTPS, you can change `` to `` or better consider redirecting all HTTP to HTTPS. + + +#### {% linkable_title Multiple Instance %} + +You already have home assistant running on localhost:8123 and available at home.example.org as describe before. +The configuration file for this home assistant is available in `/home/alice/.homeassistant/configuration.yaml` + +You want another instance available at https://countryside.example.org + +You can either : + * Create a new user, `bob`, to hold the configuration file in `/home/bob/.homeassistant/configuration.yaml` and run home assistant as this new user + * Create another configuration directory in `/home/alice/.homeassistan2/configuration.yaml` and run home assistant using `hass --config /home/alice/.homeassistant2/` + +In both solution, change port number used by modifying `configuration.yaml` + +```yaml +http: + server_port: 8124 + ... +``` + +Start home assistant: Now, you have another instance running on localhost:8124 + +To access this instance by using https://countryside.example.org add to `/etc/httpd/conf/extra/hass.conf` + +```apacheconf + + ProxyPreserveHost On + ProxyRequests Off + ServerName countryside.example.org + ProxyPass / http://localhost:8124/ + ProxyPassReverse / http://localhost:8124/ + +``` + +#### {% linkable_title HTTP to HTTPS redirection %} + +Add to your `/etc/httpd/conf/extra/hass.conf` + +```apacheconf + + ServerName example.org + ServerSignature Off + + RewriteEngine on + RewriteCond %{HTTPS} !=on + RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L] + +``` diff --git a/source/_cookbook/automation_flashing_lights.markdown b/source/_cookbook/automation_flashing_lights.markdown index 9bd23647d42..3a9a8bdb1b6 100644 --- a/source/_cookbook/automation_flashing_lights.markdown +++ b/source/_cookbook/automation_flashing_lights.markdown @@ -25,10 +25,10 @@ automation: entity_id: binary_sensor.PIR1 state: 'on' condition: - - platform: state + - condition: state entity_id: switch.AlmAct1 state: 'on' - - platform: state + - condition: state entity_id: script.alarm_room1 state: 'off' action: @@ -52,7 +52,7 @@ automation: entity_id: switch.REL1 state: 'off' condition: - platform: state + condition: state entity_id: switch.AlmSnd1 state: 'off' action: diff --git a/source/_cookbook/automation_sun.markdown b/source/_cookbook/automation_sun.markdown index 73878464180..02b1e100b54 100644 --- a/source/_cookbook/automation_sun.markdown +++ b/source/_cookbook/automation_sun.markdown @@ -19,7 +19,7 @@ automation: event: sunset offset: "-00:45:00" condition: - platform: state + condition: state entity_id: group.all_devices state: home action: diff --git a/source/_cookbook/automation_using_timeinterval_inputboolean.markdown b/source/_cookbook/automation_using_timeinterval_inputboolean.markdown index 02c3cd1a443..499bc7aa5bb 100644 --- a/source/_cookbook/automation_using_timeinterval_inputboolean.markdown +++ b/source/_cookbook/automation_using_timeinterval_inputboolean.markdown @@ -29,7 +29,7 @@ automation: minutes: '/2' seconds: 0 condition: - platform: state + condition: state entity_id: input_boolean.loop_livingcolors state: 'on' action: diff --git a/source/_cookbook/configuration_yaml_by_cbulock.markdown b/source/_cookbook/configuration_yaml_by_cbulock.markdown new file mode 100644 index 00000000000..c4aa3905bd3 --- /dev/null +++ b/source/_cookbook/configuration_yaml_by_cbulock.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "Configuration.yaml by cbulock" +description: "" +date: 2016-06-29 15:30 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Example configuration.yaml +ha_external_link: https://github.com/cbulock/home-assistant-configs +--- diff --git a/source/_cookbook/configuration_yaml_by_danichispa.markdown b/source/_cookbook/configuration_yaml_by_danichispa.markdown index ce8c7a3bd23..df100486363 100644 --- a/source/_cookbook/configuration_yaml_by_danichispa.markdown +++ b/source/_cookbook/configuration_yaml_by_danichispa.markdown @@ -8,6 +8,6 @@ comments: false sharing: true footer: true ha_category: Example configuration.yaml -ha_external_link: https://github.com/danichispa/homeassistant +ha_external_link: https://github.com/danichispa/hass --- diff --git a/source/_cookbook/dim_lights_when_playing_media.markdown b/source/_cookbook/dim_lights_when_playing_media.markdown index 92bea514ca4..55fe9413b59 100644 --- a/source/_cookbook/dim_lights_when_playing_media.markdown +++ b/source/_cookbook/dim_lights_when_playing_media.markdown @@ -57,7 +57,7 @@ automation: entity_id: media_player.htpc from: 'playing' condition: - - platform: state + - condition: state entity_id: sun.sun state: 'below_horizon' action: @@ -70,7 +70,7 @@ automation: entity_id: media_player.htpc to: 'playing' condition: - - platform: state + - condition: state entity_id: sun.sun state: 'below_horizon' action: diff --git a/source/_cookbook/perform_actions_based_on_input_select.markdown b/source/_cookbook/perform_actions_based_on_input_select.markdown index 63372ff3325..140aa6390fe 100644 --- a/source/_cookbook/perform_actions_based_on_input_select.markdown +++ b/source/_cookbook/perform_actions_based_on_input_select.markdown @@ -75,3 +75,96 @@ automation: data: entity_id: media_player.nursery ``` +A little bit more complex example that uses [`input_select`](/components/input_select/) and template do decide what and in which [Chromecast](components/media_player.cast/) play. + +```yaml +input_select: + radio_station: + name: Radio Station + options: + - Z88.3 + - Virgin + - RMC + - rmcHQ + - 105 + - None + initial: None + icon: mdi:radio + radio_player: + name: Radio Player + options: + - Mansarda + - Doccia + - Bed + - Bath + - Salotto + - Salotto Video + - None + initial: None + icon: mdi:airplay + +automation: + - alias: Stop Streaming Radio + trigger: + - platform: state + entity_id: input_select.radio_station + to: "None" + action: + service: media_player.turn_off + data_template: + entity_id: >{% raw %} + {% if is_state("input_select.radio_player", "Mansarda") %}{% endraw %} + media_player.bed_2{% raw %} + {%-elif is_state("input_select.radio_player", "Doccia") %}{% endraw %} + media_player.bed_3{% raw %} + {%-elif is_state("input_select.radio_player", "Bed") %}{% endraw %} + media_player.bed{% raw %} + {%-elif is_state("input_select.radio_player", "Bath") %}{% endraw %} + media_player.bath{% raw %} + {%-elif is_state("input_select.radio_player", "Salotto") %}{% endraw %} + media_player.salotto{% raw %} + {%-elif is_state("input_select.radio_player", "Salotto Video") %}{% endraw %} + media_player.salotto_video{% raw %} + {% else %}{% endraw %} + none{% raw %} + {% endif %}{% endraw %} + + - alias: Stream Radio - Template + trigger: + - platform: state + entity_id: input_select.radio_station + action: + - service: media_player.play_media + data_template: + entity_id: >{% raw %} + {% if is_state("input_select.radio_player", "Mansarda") %}{% endraw %} + media_player.bed_2{% raw %} + {%-elif is_state("input_select.radio_player", "Doccia") %}{% endraw %} + media_player.bed_3{% raw %} + {%-elif is_state("input_select.radio_player", "Bed") %}{% endraw %} + media_player.bed{% raw %} + {%-elif is_state("input_select.radio_player", "Bath") %}{% endraw %} + media_player.bath{% raw %} + {%-elif is_state("input_select.radio_player", "Salotto") %}{% endraw %} + media_player.salotto{% raw %} + {%-elif is_state("input_select.radio_player", "Salotto Video") %}{% endraw %} + media_player.salotto_video{% raw %} + {% else %}{% endraw %} + none{% raw %} + {% endif %}{% endraw %} + media_content_id: >{% raw %} + {% if is_state("input_select.radio_station", "Z88.3") %}{% endraw %} + http://ice.zradio.org/z/high.mp3{% raw %} + {%-elif is_state("input_select.radio_station", "Virgin") %}{% endraw %} + http://icecast.unitedradio.it/Virgin.mp3{% raw %} + {%-elif is_state("input_select.radio_station", "RMC") %}{% endraw %} + http://icecast.unitedradio.it/RMC.mp3{% raw %} + {%-elif is_state("input_select.radio_station", "rmcHQ") %}{% endraw %} + http://icecast.unitedradio.it/rmcHQ.mp3{% raw %} + {%-elif is_state("input_select.radio_station", "105") %}{% endraw %} + http://icecast.unitedradio.it/Radio105.mp3{% raw %} + {% else %}{% endraw %} + none{% raw %} + {% endif %}{% endraw %} + media_content_type: 'audio/mp4' +``` diff --git a/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown index cca4f2f07d1..cdb5fd2e8f6 100644 --- a/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown +++ b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown @@ -61,22 +61,22 @@ script: entity_id: switch.killhass automation: - - alias: "Restart HA if WeMo switch isn't found after 15 minutes" +- alias: "Restart HA if WeMo switch isn't found after 15 minutes" trigger: platform: state entity_id: device_tracker.wemo from: 'not_home' to: 'home' condition: - - platform: template + - condition: template value_template: {% raw %}'{% if states.switch.wemo %}false{% else %}true{% endif %}'{% endraw %} - - platform: state + - condition: state entity_id: script.restarthawemo state: 'off' action: service: homeassistant.turn_on entity_id: script.restarthawemo - - alias: 'Stop HA' +- alias: 'Stop HA' trigger: - platform: state entity_id: switch.KillHass @@ -88,7 +88,7 @@ automation: platform: template value_template: {% raw %}'{% if states.switch.wemo %}true{% else %}false{% endif %}'{% endraw %} condition: - platform: state + condition: state entity_id: script.restarthawemo state: 'on' action: diff --git a/source/_includes/asides/getting_started_navigation.html b/source/_includes/asides/getting_started_navigation.html index 46383b0136a..f9b7019d0ea 100644 --- a/source/_includes/asides/getting_started_navigation.html +++ b/source/_includes/asides/getting_started_navigation.html @@ -64,6 +64,7 @@
  • {% active_link {{site_root}}/topics/ Advanced Topics %}
  • {% active_link /getting-started/android/ Add to Android Homescreen %}
  • +
  • {% active_link /getting-started/browsers/ Browser Compatibility List %}
  • diff --git a/source/_includes/site/head.html b/source/_includes/site/head.html index 5371a1bbbfa..5d0d660be86 100644 --- a/source/_includes/site/head.html +++ b/source/_includes/site/head.html @@ -24,8 +24,8 @@ - - + {% comment %}{% if page.og_image %}summary_large_image{% else %}summary{% endif %}{% endcomment %} + {% if page.author_twitter %}{% endif %} diff --git a/source/_posts/2015-10-11-measure-temperature-with-esp8266-and-report-to-mqtt.markdown b/source/_posts/2015-10-11-measure-temperature-with-esp8266-and-report-to-mqtt.markdown index f8543a5855e..a9a37c646e6 100644 --- a/source/_posts/2015-10-11-measure-temperature-with-esp8266-and-report-to-mqtt.markdown +++ b/source/_posts/2015-10-11-measure-temperature-with-esp8266-and-report-to-mqtt.markdown @@ -39,9 +39,12 @@ I've been using Adafruit for my shopping: _Besides this, you will need the usual hardware prototype equipment: a breadboard, some wires, soldering iron + wire, Serial USB cable._ -

    -Adafruit has stopped selling the HDC1008. One possible replacement is the [BME280](https://www.adafruit.com/product/2652). Adjusted sketch to work with the BME280 can be found [here](https://gist.github.com/mtl010957/9ee85fb404f65e15c440b08c659c0419). -

    +### {% linkable_title Alternatives %} + +Since this article has been published the HDC1008 has been discontinued. Updated sketches are available for the following alternatives: + + - [DHT22 sensor](https://www.adafruit.com/product/385) and [updated sketch](https://gist.github.com/balloob/1176b6d87c2816bd07919ce6e29a19e9). + - [BME280 sensor](https://www.adafruit.com/product/2652) and [updated sketch](https://gist.github.com/mtl010957/9ee85fb404f65e15c440b08c659c0419). ### {% linkable_title Connections %} @@ -111,7 +114,8 @@ void setup() { if (!hdc.begin()) { Serial.println("Couldn't find sensor!"); while (1); - }} + } +} void setup_wifi() { delay(10); @@ -153,7 +157,8 @@ void reconnect() { } bool checkBound(float newValue, float prevValue, float maxDiff) { - return newValue < prevValue - maxDiff || newValue > prevValue + maxDiff; + return !isnan(newValue) && + (newValue < prevValue - maxDiff || newValue > prevValue + maxDiff); } long lastMsg = 0; diff --git a/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown b/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown index 9f1e04ed9a7..f9a35585998 100644 --- a/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown +++ b/source/_posts/2015-12-13-setup-encryption-using-lets-encrypt.markdown @@ -94,8 +94,8 @@ The final step is to point Home Assistant at the generated certificates. Before ```yaml http: api_password: YOUR_SECRET_PASSWORD - ssl_certificate: /etc/letsencrypt/live/hass.example.com/fullchain.pem - ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem + ssl_certificate: /etc/letsencrypt/live/hass-example.duckdns.org/fullchain.pem + ssl_key: /etc/letsencrypt/live/hass-example.duckdns.org/privkey.pem ``` You can now navigate to https://hass-example.duckdns.org and enjoy encryption! diff --git a/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown b/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown index e2ace3e1c20..fb37c9ed1a8 100644 --- a/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown +++ b/source/_posts/2016-06-18-pandora-bt-home-hub-5-and-local-file-camera.markdown @@ -40,6 +40,24 @@ Another cool addition is the local file camera. This seems very basic at first b - Component [shell command] can now use templates to render arguments ([@partofthething]) - Rollershutter: [Wink] is now supported ([@philk]) - Alexa: Updated [documentation][alexa] to show how to call scripts and scenes (@acockburn) +- Sensor: [SNMP] is now supported ([@fabaff]) +- Sensor: Support for Swiss hydrological data ([@fabaff]) + +### {% linkable_title Breaking change %} + +- The new Netatmo support caused us to change how Netatmo are configured. It's now done via it's own component. + +```yaml +netatmo: + api_key: API_KEY + secret_key: SECRET_KEY + username: username + password: password +``` + +### {% linkable_title Hotfix 0.22.1 - June 20 %} + +- Insteon Hub lights will load again [@acockburn]: https://github.com/acockburn/ [@arsaboo]: https://github.com/arsaboo/ @@ -56,6 +74,7 @@ Another cool addition is the local file camera. This seems very basic at first b [@persandstrom]: https://github.com/persandstrom/ [@philk]: https://github.com/philk/ [@wind-rider]: https://github.com/wind/ +[@fabaff]: https://github.com/fabaff/ [AsusWRT]: /components/device_tracker.asuswrt/ [BT Home Hub 5]: /components/device_tracker.bt_home_hub_5/ [Cast]: /components/media_player.cast/ @@ -72,3 +91,4 @@ Another cool addition is the local file camera. This seems very basic at first b [All-in-One installer]: /getting-started/installation-raspberry-pi-all-in-one/ [standalone Raspberry Pi installation guide]: /getting-started/installation-raspberry-pi/ [Voltage sensor]: /components/sensor.bloomsky/ +[SNMP]: /components/sensor.snmp/ diff --git a/source/_posts/2016-06-23-usb-webcams-and-home-assistant.markdown b/source/_posts/2016-06-23-usb-webcams-and-home-assistant.markdown new file mode 100644 index 00000000000..8f5471887de --- /dev/null +++ b/source/_posts/2016-06-23-usb-webcams-and-home-assistant.markdown @@ -0,0 +1,122 @@ +--- +layout: post +title: "Using USB webcams with Home Assistant" +description: "A how-to how to repurpose your old USB webcams and integrate them into Home Assistant." +date: 2016-06-23 06:00:00 +0000 +date_formatted: "June 23, 2016" +author: Fabian Affolter +author_twitter: fabaff +comments: true +categories: How-To +og_image: /images/blog/2016-06-cranberry/social.png +--- + + +In the past month I was thinking about ways to integrate USB webcams into Home Assistant again. The main reason was that this would give those devices a second life and enable one to benefit from low-cost video surveillance. There are a couple of options available like [pygame](http://www.pygame.org/hifi.html) or [SimpleCV](http://www.simplecv.org/) but I never finished something. With the [Local File camera platform](https://home-assistant.io/components/camera.local_file/) by [Landrash](https://github.com/Landrash) and [motion](http://lavrsen.dk/foswiki/bin/view/Motion/WebHome) you could integrate a local USB webcam with a few very easy steps. + +In this blog post I am using a Fedora 24 (will most likely work on other distributions too) installation with Home Assistant 0.22.1 on a Foxconn nT-330i with an old [Logitech QuickCam Orbit AF](http://support.logitech.com/en_us/product/quickcam-sphere-af) and a [Logitech HD Webcam C270](http://support.logitech.com/en_us/product/hd-webcam-c270). As a start only the Quickcam is used. No multi-camera setup for now. + + + +Check first if the your operating system lists your cameras. + +```bash +$ lsusb +[...] +Bus 002 Device 016: ID 046d:08cc Logitech, Inc. Mic (PTZ) +[...] +``` + +The camera we are going to use is available at `/dev/video1`. The C270 is the one on `/dev/video0`. + +```bash +$ ls -al /dev/video* +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](http://lavrsen.dk/foswiki/bin/view/Motion/WebHome) 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](http://rpmfusion.org/) enabled. + +```bash +$ sudo dnf -y install motion +``` + +For our setup we need to modify the file `/etc/motion/motion.conf`. For now the most important parameters are `videodevice`, `snapshot_interval`, and `target_dir`. The other settings can be left to their defaults. We are going to use the device `/dev/video1`, use a 30 seconds interval, and set the path to `/tmp`. + +```bash +[...] +########################################################### +# Capture device options +############################################################ + +# Videodevice to be used for capturing (default /dev/video0) +# for FreeBSD default is /dev/bktr0 +videodevice /dev/video1 + +[..] +############################################################ +# Snapshots (Traditional Periodic Webcam File Output) +############################################################ + +# Make automated snapshot every N seconds (default: 0 = disabled) +snapshot_interval 30 + +[...] +############################################################ +# Target Directories and filenames For Images And Films +# For the options snapshot_, picture_, movie_ and timelapse_filename +# you can use conversion specifiers +# %Y = year, %m = month, %d = date, +# %H = hour, %M = minute, %S = second, +# %v = event, %q = frame number, %t = thread (camera) number, +# %D = changed pixels, %N = noise level, +# %i and %J = width and height of motion area, +# %K and %L = X and Y coordinates of motion center +# %C = value defined by text_event +# Quotation marks round string are allowed. +############################################################ + +# Target base directory for pictures and films +# Recommended to use absolute path. (Default: current working directory) +target_dir /tmp + +[...] +``` + +It's suggested that you adjust at least `width` and `height` to get a bigger image from your camera. If you are done, fire up `motion`. + +```bash +$ sudo motion +[0] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf +[0] [ALR] [ALL] conf_cmdparse: Unknown config option "sdl_threadnr" +[0] [NTC] [ALL] motion_startup: Motion 3.3.0 Started +[0] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion.log) +``` + +Your `target_dir` will start filling up with images from your camera. `motion` will create a symlink called `lastsnap.jpg` which always point to the latest snapshot. We will setup the [Local File camera platform](https://home-assistant.io/components/camera.local_file/) to use this file. + +```yaml +camera: + - platform: local_file + name: Cranberry cam + file_path: /tmp/lastsnap.jpg +``` + +

    + + The "Cranberry cam" in action +

    + +The machine with the attached USB camera will become a webcam server as well because `motion`'s built-in HTTP server is enabled by default. This means that you could connect your USB webcams to a different machine in your network, run `motion` there, adjust your firewall rules, and use Home Assistant to display the videos. Just check http://[IP of your webcam host]:8081/ to see the stream. This required more powerful hardware than using snapshots, of course. + +In a scenario like this needs a [Generic MJPEG IP Camera ](https://home-assistant.io/components/camera.mjpeg/) in your `configuration.yaml` file. + +```yaml +camera: + - platform: mjpeg + mjpeg_url: http://[IP of your webcam host]:8081 + name: Cranberry Live cam +``` + +[motion](http://lavrsen.dk/foswiki/bin/view/Motion/WebHome) is a powerful tool and this blog post only showed two very simple use cases. Take a look at the [documentation](http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionGuide) of `motion` to unleash its potential. + diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 90ce0078d69..73f9fb9678a 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -19,16 +19,19 @@ This page contains a list of people who have contributed in one way or another t (in alphabetical order) +- [Adam Mills](https://github.com/armills) - [Adrien Brault](https://github.com/adrienbrault) -- [Alex Harvey](https://github.com/infamy) - [Alexander Fortin](https://github.com/shaftoe) +- [Alex Harvey](https://github.com/infamy) - [Allan Glen](https://github.com/allanglen) - [amorsillo](https://github.com/fignuts) - [Andrew](https://github.com/aoakeson) - [Andrew LeCody](https://github.com/aceat64) - [Andy Loughran](https://github.com/andylockran) - [andythigpen](https://github.com/andythigpen) +- [Antonio Párraga Navarro](https://github.com/aparraga) - [Ardi Mehist](https://github.com/omgapuppy) +- [arsaboo](https://github.com/arsaboo/) - [Arthur Leonard Andersen](https://github.com/leoc) - [Austin](https://github.com/trainman419) - [Azelphur](https://github.com/Azelphur) @@ -43,10 +46,13 @@ This page contains a list of people who have contributed in one way or another t - [Chris Mulder](https://github.com/chrisvis) - [Christian Braedstrup](https://github.com/LinuxChristian) - [coteyr](https://github.com/coteyr/) +- [Dale Higgs](https://github.com/dale3h) - [Dan Cinnamon](https://github.com/Cinntax) +- [Daniel](https://github.com/danielperna84) - [Daniel Iversen](https://github.com/danielhiversen) - [Daniel J. Kemp](https://github.com/danieljkemp/) - [Dan Smith](https://github.com/kk7ds) +- [Dan Sullivan](https://github.com/dansullivan86/) - [Daren Lord](https://github.com/Xorso) - [Dean Galvin](https://github.com/FreekingDean) - [Dennis Karpienski](https://github.com/TheRealLink) @@ -77,6 +83,8 @@ This page contains a list of people who have contributed in one way or another t - [Jan Harkes](https://github.com/jaharkes) - [Jan-Preben Mossin](https://github.com/jpmossin) - [Jaret Stezelberger](https://github.com/DesignFirst) +- [Jean-Philippe Bouillot](https://github.com/Jypy) +- [Jeffrey Lin](https://github.com/linjef/) - [Jeffrey Tang](https://github.com/Qrtn) - [Jeff Schroeder](https://github.com/SEJeff) - [Joel Asher Friedman](https://github.com/joelash) @@ -96,6 +104,7 @@ This page contains a list of people who have contributed in one way or another t - [kennedyshead](https://github.com/kennedyshead) - [kixam](https://github.com/kixam) - [Kyle Hendricks](https://github.com/kylehendricks) +- [Lewis Juggins](https://github.com/lwis/) - [Luca Soldi](https://github.com/LucaSoldi) - [Lukas Hetzenecker](https://github.com/lukas-hetzenecker) - [Magnus Knutas](https://github.com/MagnusKnutas) @@ -106,6 +115,7 @@ This page contains a list of people who have contributed in one way or another t - [Markus Stenberg](https://github.com/fingon) - [Martin Hjelmare](https://github.com/MartinHjelmare) - [Matteo Lampugnani](https://github.com/t30) +- [Matthew Treinish](https://github.com/mtreinish/) - [Michael Arnauts](https://github.com/michaelarnauts) - [Michael Auchter](https://github.com/auchter) - [Michael Gilbert](https://github.com/Zyell) @@ -121,6 +131,7 @@ This page contains a list of people who have contributed in one way or another t - [Oliver van Porten](https://github.com/mcdeck) - [Øystein Hansen](https://github.com/oeysteinhansen) - [Pascal Bach](https://github.com/bachp) +- [Pascal Vizeli](https://github.com/pvizeli) - [Per Sandström](https://github.com/persandstrom) - [Philip Lundrigan](https://github.com/philipbl) - [Piratonym](https://github.com/Piratonym) diff --git a/source/getting-started/browsers.markdown b/source/getting-started/browsers.markdown index 917001fb802..9993e54eceb 100644 --- a/source/getting-started/browsers.markdown +++ b/source/getting-started/browsers.markdown @@ -13,50 +13,68 @@ Home Assistant requires a web browser to show the frontend. Not all browsers inc We don't test the web interface against all available browsers but this page tracks different browsers on various operating systems and should help you to pick a browser which works. -We would appriciate if you help to keep this page up-to-date and add feedback. +We would appreciate if you help to keep this page up-to-date and add feedback. ## {% linkable_title Microsoft Windows %} -| Browser | Release | State | Comments | -| :------------------ |:---------------|:-----------|:-------------------------| -| Internet Explorer | 11 | partically | Streaming updates not working. Display issues | -| Microsoft Edge | deli. Win 10 | partically | Streaming updates not working. | -| Chrome | 50.0.2661.102 | works | | -| Firefox | 43.0.1 | works | | -| Iridium | 48.2 | works | | +| Browser | Release | State | Comments | +| :------------------------ |:---------------|:-----------|:-------------------------| +| Internet Explorer ([IE]) | 11 | partially | Streaming updates not working. Display issues | +| Microsoft [Edge] | deli. Win 10 | partially | Streaming updates not working. | +| [Chrome] | 50.0.2661.102 | works | | +| [Firefox] | 43.0.1 | works | | +| [Iridium] | 48.2 | works | | ## {% linkable_title MacOS %} -| Browser | Release | State | Comments | -| :------------------ |:---------------|:-----------|:-------------------------| -| Safari | | works | | +| Browser | Release | State | Comments | +| :-------------------- |:---------------|:-----------|:-------------------------| +| [Safari] | | works | | ## {% linkable_title Linux %} -| Browser | Release | State | Comments | -| :------------------ |:---------------|:-----------|:-------------------------| -| Firefox | 46.0.1 | works | | -| Midori | 0.5.11 | works | | -| Chromium | 50.0.2661.102 | works | | -| Conkeror | 1.0.2 | works | | -| Konqueror | | unknown | | -| Uzbl | 0.9.0 | works | | -| Opera | | unknown | | -| Lynx | 2.12 | fails | loads empty page | -| elinks | | fails | page with manifest and import | -| w3m | 0.5.3 | fails | display the icon shown while loading HA | +| Browser | Release | State | Comments | +| :-------------------- |:---------------|:-----------|:-------------------------| +| [Firefox] | 47.0 | works | | +| [Midori] | 0.5.11 | works | | +| [Chromium] | 50.0.2661.102 | works | | +| [Conkeror] | 1.0.2 | works | | +| [Konqueror] | | unknown | | +| [Uzbl] | 0.9.0 | works | | +| [Opera] | | unknown | | +| [Lynx] | 2.12 | fails | loads empty page | +| [elinks] | | fails | page with manifest and import | +| [w3m] | 0.5.3 | fails | display the icon shown while loading HA | +| [Epiphany] | 3.18.5 | works | | ## {% linkable_title Android %} -| Browser | Release | State | Comments | -| :------------------ |:---------------|:-----------|:-------------------------| -| Chrome | 50.0.2661.89 | works | | -| Firefox | 46.0.1 | works | | +| Browser | Release | State | Comments | +| :-------------------- |:---------------|:-----------|:-------------------------| +| [Chrome] | 50.0.2661.89 | works | | +| [Firefox] | 46.0.1 | works | | ## {% linkable_title iOS %} -| Browser | Release | State | Comments | -| :------------------ |:---------------|:-----------|:-------------------------| -| Safari | | unknown | | +| Browser | Release | State | Comments | +| :-------------------- |:---------------|:-----------|:-------------------------| +| [Safari] | | unknown | | + +[Firefox]: https://www.mozilla.org/en-US/firefox/ +[Midori]: http://midori-browser.org/ +[Chrome]: https://www.google.com/chrome/ +[Iridium]: https://iridiumbrowser.de/ +[Opera]: http://www.opera.com/ +[Edge]: https://www.microsoft.com/en-us/windows/microsoft-edge +[IE]: http://windows.microsoft.com/en-us/internet-explorer/download-ie +[Safari]: http://www.apple.com/safari/ +[Chromium]: https://www.chromium.org/ +[Conkeror]: http://conkeror.org/ +[Konqueror]: https://konqueror.org/ +[Uzbl]: http://www.uzbl.org/ +[Lynx]: http://lynx.browser.org/ +[elinks]: http://elinks.or.cz/ +[w3m]: http://w3m.sourceforge.net/ +[Epiphany]: https://wiki.gnome.org/Apps/Web diff --git a/source/getting-started/installation-raspberry-pi-all-in-one.markdown b/source/getting-started/installation-raspberry-pi-all-in-one.markdown index b6672febf9d..389f1d1a6ef 100644 --- a/source/getting-started/installation-raspberry-pi-all-in-one.markdown +++ b/source/getting-started/installation-raspberry-pi-all-in-one.markdown @@ -17,7 +17,9 @@ The only requirement is that you have a Raspberry Pi with a fresh installation o ```bash $ wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && bash hass_rpi_installer.sh ``` -*Note this command is one line and not run as sudo* +

    + Note this command is one-line and not run as sudo. +

    Installation will take approx. 1-2 hours depending on the Raspberry Pi model the installer is being run against. The installer will identitfy what Raspberry PI hardware revision you are using and adjust commands accordingly. A complete log of the install is located at: `/home/pi/fabric-home-assistant/installation_report.txt` The installer has been updated to simply log any errors encountered, but resume installing. Please consult the "installation report" if your install encountered issues. @@ -25,8 +27,11 @@ Installation will take approx. 1-2 hours depending on the Raspberry Pi model the Once rebooted, your Raspberry Pi will be up and running with Home Assistant. You can access it at [http://your_raspberry_pi_ip:8123](http://your_raspberry_pi_ip:8123). -The Home Assistant configuration is located at `/home/hass/.homeassistant`. The virtualenv with the Home Assistant installation is located at `/srv/hass/hass_venv`. As part of the secure installation, a new user is added to your Raspberry Pi to run Home Assistant as named, **hass**. This is a system account and does not have login or other abilities by design. When editing your configuration.yaml files, you will need to run the commands with "sudo" or by switching user. -*Windows users* - Setting up WinSCP to allow this seemlessly is detailed below. +The Home Assistant configuration is located at `/home/hass/.homeassistant`. The [virtualenv](https://virtualenv.pypa.io/en/latest/) with the Home Assistant installation is located at `/srv/hass/hass_venv`. As part of the secure installation, a new user (**hass**) is added to your Raspberry Pi to run Home Assistant. This is a system account and does not have login or other abilities by design. When editing your `configuration.yaml` files, you will need to run the commands with `sudo` or by switching user. + +

    + *Windows users*: Setting up WinSCP to allow this seemlessly is at the end of this page. +

    By default, installation makes use of a Python Virtualenv. If you wish to not follow this recommendation, you may add the flag `-n` to the end of the install command specified above. @@ -43,29 +48,35 @@ The All-In-One Installer script will do the following automatically: * Build openzwave-control-panel in `/srv/hass/src/open-zwave-control-panel` * Add both Home Assistant and Mosquitto to systemd services to start at boot +### {% linkable_title Upgrading %} To upgrade the All-In-One setup manually: -* Login to Raspberry Pi ```ssh pi@your_raspberry_pi_ip``` +* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` * Change to hass user `sudo su -s /bin/bash hass` * Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate` * Update HA `pip3 install --upgrade homeassistant` To upgrade with fabric: -* Login to Raspberry Pi ```ssh pi@your_raspberry_pi_ip``` +* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` * Change to `cd ~/fabric-home-assistant` * Run `fab upgrade_homeassistant` -To launch the OZWCP webapp: +### {% linkable_title Using the OZWCP web application %} + +To launch the OZWCP web application: * Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip` * Change to the ozwcp directory `cd /srv/hass/src/open-zwave-control-panel/` * Launch the control panel `sudo ./ozwcp -p 8888` * Open a web browser to `http://your_pi_ip:8888` * Specify your zwave controller, for example `/dev/ttyACM0` and hit initialize - -*don't check the USB box regardless of using a USB based device* +

    + Don't check the USB box regardless of using a USB based device. +

    -*Windows Users* - Please note that after running the installer, you will need to modify settings allowing you to "switch users" to edit your configuration files. The needed change within WinSCP is: Environment -> SCP/Shell -> Shell and set it to `sudo su -`. +### {% linkable_title WinSCP %} + +If you are Windows users who is using [WinSCP](https://winscp.net/), please note that after running the installer, you will need to modify settings allowing you to "switch users" to edit your configuration files. The needed change within WinSCP is: **Environment** -> **SCP/Shell** -> **Shell** and set it to `sudo su -`. diff --git a/source/getting-started/installation-vagrant.markdown b/source/getting-started/installation-vagrant.markdown index 6f965b0d3c3..70a55196aa8 100644 --- a/source/getting-started/installation-vagrant.markdown +++ b/source/getting-started/installation-vagrant.markdown @@ -15,11 +15,11 @@ A `Vagrantfile` is avalable into `virtualization/vagrant` folder for quickly spi Vagrant is intended for testing/development only. It is NOT recommended for permanent installations.

    -## Install Vagrant +## {% linkable_title Install Vagrant %} You must have [Vagrant](https://www.vagrantup.com/downloads.html) and [Virtualbox](https://www.virtualbox.org/wiki/Downloads) installed on your workstation. -## Get Home Assistant source code +## {% linkable_title Get Home Assistant source code %} Download the home-assistant source code by either downloading the .zip file from [GitHub releases page](https://github.com/home-assistant/home-assistant/releases), or by using [Git](https://git-scm.com/) @@ -32,7 +32,7 @@ cd home-assistant/virtualization/vagrant The following instructions will assume you changed your working directory to be home-assistant/virtualization/vagrant. This is mandatory because Vagrant will look for informations about the running VM inside that folder and won't work otherwise

    -## Create the Vagrant VM and start Home Assistant +## {% linkable_title Create the Vagrant VM and start Home Assistant %} ```bash vagrant up @@ -40,7 +40,7 @@ vagrant up This will download + start a virtual machine using Virtualbox, which will internally setup the development environment necessary to start Home Assistant process and run test suite as well. After the VM has started succesfully, Home Assistant frontend will be accessible locally from your browser at [http://localhost:8123](http://localhost:8123) -## Stopping Vagrant +## {% linkable_title Stopping Vagrant %} To shutdown the Vagrant host: @@ -50,7 +50,7 @@ vagrant halt To start it again, just run `vagrant up` -## Restarting Home Assistant process to test changes +## {% linkable_title Restarting Home Assistant process to test changes %} The root `home-assistant` directory on your workstation will be mirrored with `/home-assistant` inside the VM. In `virtualization/vagrant` there's also a `config` folder that you can use to drop configuration files ([here](https://home-assistant.io/getting-started/configuration/) you can find more information on how to configure HASS). @@ -60,7 +60,7 @@ Any changes made to the local directory on your workstation will be available fr touch restart ; vagrant provision ``` -## Run test suite (Tox) +## {% linkable_title Run test suite (Tox) %} To run tests against your changes: @@ -68,7 +68,7 @@ To run tests against your changes: touch run_tests ; vagrant provision ``` -## Cleanup +## {% linkable_title Cleanup %} To completely remove the VM: @@ -89,4 +89,4 @@ In addition to this site, check out these sources for additional help: - [Gitter Chat Room](https://gitter.im/home-assistant/home-assistant) for real-time chat about Home Assistant. - [GitHub Page](https://github.com/home-assistant/home-assistant/issues) for issue reporting. -### [Next step: Configuring Home Assistant »](/getting-started/configuration/) \ No newline at end of file +### [Next step: Configuring Home Assistant »](/getting-started/configuration/) diff --git a/source/getting-started/updating.markdown b/source/getting-started/updating.markdown index b726cf6bbb7..ac47300d95f 100644 --- a/source/getting-started/updating.markdown +++ b/source/getting-started/updating.markdown @@ -10,12 +10,14 @@ footer: true --- -To update Home Assistant to the latest release when available, run: +The default way to update Home Assistant to the latest release, when available, is: ```bash $ pip3 install --upgrade homeassistant ``` +Different installation methods as [Raspberry Pi All-In-One Installer](/getting-started/installation-raspberry-pi-all-in-one/#upgrading), [Vagrant](/getting-started/installation-vagrant/), or [Virtualenv](/getting-started/installation-virtualenv/#upgrading-home-assistant) may have a alternative way for updating Home Assistant. + After updating, restart Home Assistant for the changes to take effect. This means that you have to restart `hass` itself or the [autostarting](/getting-started/autostart/) daemon if you use any. diff --git a/source/images/blog/2016-06-cranberry/cam.png b/source/images/blog/2016-06-cranberry/cam.png new file mode 100644 index 00000000000..12852103773 Binary files /dev/null and b/source/images/blog/2016-06-cranberry/cam.png differ diff --git a/source/images/blog/2016-06-cranberry/motion.png b/source/images/blog/2016-06-cranberry/motion.png new file mode 100644 index 00000000000..76c6b5cf587 Binary files /dev/null and b/source/images/blog/2016-06-cranberry/motion.png differ diff --git a/source/images/blog/2016-06-cranberry/social.png b/source/images/blog/2016-06-cranberry/social.png new file mode 100644 index 00000000000..d1fcf287962 Binary files /dev/null and b/source/images/blog/2016-06-cranberry/social.png differ diff --git a/source/index.html b/source/index.html index 35829381f62..b69fd40d900 100644 --- a/source/index.html +++ b/source/index.html @@ -11,17 +11,30 @@ description: Open-source home automation platform running on Python 3. Track and hide_github_edit: true --- -
    +
    -
    +

    Recent Blog Posts

    {% for post in site.posts limit: 3 %}