diff --git a/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown b/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown index 267e53bc16d..c993c499646 100644 --- a/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown +++ b/source/_posts/2016-07-28-esp8266-and-micropython-part1.markdown @@ -114,7 +114,7 @@ If you reboot, you should see your current IP address in the terminal. >>> Network configuration: ('192.168.0.10', '255.255.255.0', '192.168.0.1', '192.168.0.1') ``` -First let's create a little consumer for Home Assistant sensor's state. The code to place in `main.py` is a mixture of code from above and the [RESTful API](/developers/rest_api/) of Home Assistant. If the temperature in the kitchen is higher than 20 °C then the LED connected to pin 5 is switched on. +First let's create a little consumer for Home Assistant sensor's state. The code to place in `main.py` is a mixture of code from above and the [RESTful API](https://developers.home-assistant.io/docs/api/rest/) of Home Assistant. If the temperature in the kitchen is higher than 20 °C then the LED connected to pin 5 is switched on.
diff --git a/source/_posts/2016-08-31-esp8266-and-micropython-part2.markdown b/source/_posts/2016-08-31-esp8266-and-micropython-part2.markdown index 2b8f96501b9..454c86f33ab 100644 --- a/source/_posts/2016-08-31-esp8266-and-micropython-part2.markdown +++ b/source/_posts/2016-08-31-esp8266-and-micropython-part2.markdown @@ -21,7 +21,7 @@ An example for pulling is [aREST](/integrations/arest#sensor). This is a great w ## MQTT -You can find a simple examples for publishing and subscribing with MQTT in the [MicroPython](https://github.com/micropython/micropython-lib) library overview in the section for [umqtt](https://github.com/micropython/micropython-lib/tree/master/umqtt.simple). +You can find a simple examples for publishing and subscribing with MQTT in the [MicroPython](https://github.com/micropython/micropython-lib) library overview in the section for [umqtt](https://github.com/micropython/micropython-lib/tree/master/micropython/umqtt.simple). The example below is adopted from the work of [@davea](https://github.com/davea) as we don't want to re-invent the wheel. The configuration feature is crafty and simplyfies the code with the usage of a file called `/config.json` which stores the configuration details. The ESP8266 device will send the value of a pin every 5 seconds. diff --git a/source/_posts/2018-06-04-esphomelib.markdown b/source/_posts/2018-06-04-esphomelib.markdown index 0c1f495af26..9be8efda6e3 100644 --- a/source/_posts/2018-06-04-esphomelib.markdown +++ b/source/_posts/2018-06-04-esphomelib.markdown @@ -9,17 +9,17 @@ categories: How-To ESP8266 og_image: /images/blog/2018-06-esphomelib/social.png --- -The [ESP8266](https://www.espressif.com/en/products/hardware/esp8266ex/overview) and [ESP32](https://www.espressif.com/en/products/hardware/esp32/overview) are dirt cheap WiFi-enabled microcontrollers that have established themselves as the base for many DIY home automation projects. Even quite a few manufacturers like iTead with their Sonoff devices have chosen these controllers because of their competitive price. +The [ESP8266](https://www.espressif.com/products/socs/esp8266) and [ESP32](https://www.espressif.com/products/socs/esp32) are dirt cheap WiFi-enabled microcontrollers that have established themselves as the base for many DIY home automation projects. Even quite a few manufacturers like iTead with their Sonoff devices have chosen these controllers because of their competitive price. Setting up these microcontrollers for some basic functionality has also gotten really easy over the years with popular projects like ESPEasy or Sonoff-Tasmota: You just download their firmware and flash it onto your chip. But if you’ve ever tried to go a bit beyond the basic set of functions of those frameworks and tried to do some customization, you will have probably noticed that it’s not that easy. Often times you’ll end up having to download some Arduino code project from the internet and customizing it to your needs. -This is where esphomelib comes in: The [esphomelib suite](https://esphomelib.com/esphomeyaml/index.html) is a set of tools that are designed with the goal of achieving the best possible user experience. esphomelib a) allows for lots of customization without touching *a single line* of code and b) has complete Home Assistant integration. Inside the esphomelib ecosystem, you essentially just have to write a simple YAML configuration file. The rest like compiling, flashing, uploading etc. will then be taken care of automatically. +This is where esphomelib comes in: The [esphomelib suite](https://esphome.io/) is a set of tools that are designed with the goal of achieving the best possible user experience. esphomelib a) allows for lots of customization without touching *a single line* of code and b) has complete Home Assistant integration. Inside the esphomelib ecosystem, you essentially just have to write a simple YAML configuration file. The rest like compiling, flashing, uploading etc. will then be taken care of automatically. ## Installation -An example probably illustrates this the best. To use esphomeyaml, there are two main ways: From a [HassIO add-on](https://esphomelib.com/esphomeyaml/guides/getting_started_hassio.html), or from the [command line](https://esphomelib.com/esphomeyaml/guides/getting_started_command_line.html). For the esphomeyaml add-on, you just have to add "[https://github.com/ottowinter/esphomeyaml](https://github.com/ottowinter/esphomeyaml)" as an add-on repository (see [Installing third party add-ons](/hassio/installing_third_party_addons/)). Then select and install “esphomeyaml” and wait for the installation to complete. After that, you will be able to start the add-on and view the web interface. +An example probably illustrates this the best. To use esphomeyaml, there are two main ways: From a [HassIO add-on](https://esphome.io/guides/getting_started_hassio.html), or from the [command line](https://esphome.io/guides/getting_started_command_line.html). For the esphomeyaml add-on, you just have to add "[https://github.com/esphome/esphome](https://github.com/esphome/esphome)" as an add-on repository (see [Installing third party add-ons](/hassio/installing_third_party_addons/)). Then select and install “esphomeyaml” and wait for the installation to complete. After that, you will be able to start the add-on and view the web interface. From the command line you just need to install the **Python 2** package using the pip command seen below. Then visit `localhost:6052` to view the dashboard. @@ -77,11 +77,11 @@ If you now press upload again (this time the ESP doesn't need to be connected vi discovery is enabled and a default view is used.

-Granted, this functionality would have been pretty simple with other projects too. But once you start adding [lights](https://esphomelib.com/esphomeyaml/index.html#light-components), [covers](https://esphomelib.com/esphomeyaml/index.html#cover-components) and [other sensors](https://esphomelib.com/esphomeyaml/index.html#sensor-components), esphomelib’s modular design really starts to shine. +Granted, this functionality would have been pretty simple with other projects too. But once you start adding [lights](https://esphome.io/index.html#light-components), [covers](https://esphome.io/index.html#cover-components) and [other sensors](https://esphome.io/index.html#sensor-components), esphomelib’s modular design really starts to shine. ## See Also -- [View the full getting started guide (including how to migrate from other projects)](https://esphomelib.com/esphomeyaml/index.html#guides) -- [Device-specific setup guides](https://esphomelib.com/esphomeyaml/index.html#devices) -- [List of supported sensors/actuators](https://esphomelib.com/esphomeyaml/index.html) +- [View the full getting started guide (including how to migrate from other projects)](https://esphome.io/guides/) +- [Device-specific setup guides](https://esphome.io/#devices) +- [List of supported sensors/actuators](https://esphome.io/) - Join the [discord server](https://discord.gg/KhAMKrd) if you need help. diff --git a/source/_posts/2021-01-23-security-disclosure2.markdown b/source/_posts/2021-01-23-security-disclosure2.markdown index f37489705e1..95c8a049857 100644 --- a/source/_posts/2021-01-23-security-disclosure2.markdown +++ b/source/_posts/2021-01-23-security-disclosure2.markdown @@ -26,7 +26,7 @@ TL;DR: - Upgrade the custom integrations to a fixed version or remove them from your installation. - If you have used any of the custom integrations with a known vulnerability, we recommend that you update your credentials. -On the morning of Saturday, January 23 2021, the Home Assistant project was informed by [security researcher Nathan Brady](https://twitter.com/NateBrady23) about a security vulnerability. It provided more insight on the implementation of the fixes done for the [previous security vulnerability](/blog/2021/01/22/security-disclosure/). We learned that not all custom integrations that implement security patches are sufficient to deflect the problem. +On the morning of Saturday, January 23 2021, the Home Assistant project was informed by security researcher Nathan Brady about a security vulnerability. It provided more insight on the implementation of the fixes done for the [previous security vulnerability](/blog/2021/01/22/security-disclosure/). We learned that not all custom integrations that implement security patches are sufficient to deflect the problem. We verified all fixes made to custom integrations that were found to be vulnerable in the previous security disclosure. The conclusion is that some custom integrations are still vulnerable to a directory traversal attack while not being authenticated with Home Assistant. It allows an attacker to access any file without having to log in. This access includes any credentials that you might have stored to allow Home Assistant to access other services. diff --git a/source/_posts/2021-05-12-integrations-api.markdown b/source/_posts/2021-05-12-integrations-api.markdown index 6c0f525ff23..9ed30915093 100644 --- a/source/_posts/2021-05-12-integrations-api.markdown +++ b/source/_posts/2021-05-12-integrations-api.markdown @@ -9,7 +9,7 @@ categories: Public-Service-Announcement og_image: /images/blog/2021-05-integrations-api/social.png --- -Home Assistant is the world’s largest home automation platform talking with [over 1700 different devices and services](/integrations/). Home Assistant works with these via “integrations”. +Home Assistant is the world’s largest home automation platform talking with [over 1900 different devices and services](/integrations/). Home Assistant works with these via “integrations”. Each integration runs inside Home Assistant. They convert the data from the device into data that Home Assistant understands and forward commands from Home Assistant back to the device. For this to work a device or service needs to have an application programming interface (API). @@ -25,4 +25,4 @@ This stance will hurt us in the short term because we get less integrations. It In the long term the user will win. Devices with local APIs will still work 10 years from now and no one will be held hostage by vendor lock-in because some of their devices only work with Home Assistant. -_Note about Home Assistant APIs: Home Assistant does have [an API](https://developers.home-assistant.io/docs/api/websocket), just not for integrations. It allows you to access all your data in real-time. We also have a [data science portal](https://data.home-assistant.io/) that documents how you can query the historical data stored on disk._ +_Note about Home Assistant APIs: Home Assistant does have [an API](https://developers.home-assistant.io/docs/api/websocket/), just not for integrations. It allows you to access all your data in real-time. We also have a [data science portal](https://data.home-assistant.io/) that documents how you can query the historical data stored on disk._