From 4ac263a377bcf6d52baf0e288b81b854725f9d49 Mon Sep 17 00:00:00 2001
From: Travis CI The only problem with running everything inside the event loop is when a task is doing blocking I/O, what most third-party Python libraries are doing. For example while requesting new information from a device, the core will stop running until we get a response from the device. To handle this, a task is able to suspend itself until the response is available after which it will be enqueued for the event loop to process the result. For a task to be able to suspend itself, all code that it calls has to have this capability added. This means in practice that each device integration will need a full rewrite of the library that offers the integration! As this is not something that can be achieved, ever, a 100% backwards compatible API has been added so that no platform will require updating. The backwards compatible API works by scheduling a task from a different thread and blocking that thread until the task has been processed by the event loop.
+
+
+
+
Next step: Categorizing Functions »
+Next step: asyncio 101 »
load_platform
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/component_initialization/index.html b/developers/component_initialization/index.html
index f940bcac73..a44b9e2e9e 100644
--- a/developers/component_initialization/index.html
+++ b/developers/component_initialization/index.html
@@ -155,6 +155,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/component_loading/index.html b/developers/component_loading/index.html
index 5d28f2f336..fee397197a 100644
--- a/developers/component_loading/index.html
+++ b/developers/component_loading/index.html
@@ -130,6 +130,7 @@ Home Assistant will use the directory that contains your config file as the dire
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/component_states/index.html b/developers/component_states/index.html
index e086891dbd..e3287f10f2 100644
--- a/developers/component_states/index.html
+++ b/developers/component_states/index.html
@@ -127,6 +127,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/component_visibility/index.html b/developers/component_visibility/index.html
index 1746d81328..1efa2e488c 100644
--- a/developers/component_visibility/index.html
+++ b/developers/component_visibility/index.html
@@ -125,6 +125,7 @@ You can set a suggestion for your entity’s visibility by setting the
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/creating_components/index.html b/developers/creating_components/index.html
index 110b706aea..451e21f80f 100644
--- a/developers/creating_components/index.html
+++ b/developers/creating_components/index.html
@@ -130,6 +130,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/credits/index.html b/developers/credits/index.html
index 7ba8a5f1b0..cc4f1be2fd 100644
--- a/developers/credits/index.html
+++ b/developers/credits/index.html
@@ -847,6 +847,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/development/index.html b/developers/development/index.html
index 380ab0b768..8f1ba956ac 100644
--- a/developers/development/index.html
+++ b/developers/development/index.html
@@ -139,6 +139,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/development_catching_up/index.html b/developers/development_catching_up/index.html
index 932f9c7b8f..659abee6bc 100644
--- a/developers/development_catching_up/index.html
+++ b/developers/development_catching_up/index.html
@@ -136,6 +136,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/development_checklist/index.html b/developers/development_checklist/index.html
index f173ff660b..cec38ad390 100644
--- a/developers/development_checklist/index.html
+++ b/developers/development_checklist/index.html
@@ -129,6 +129,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/development_environment/index.html b/developers/development_environment/index.html
index f7fe70c161..4d8721fca8 100644
--- a/developers/development_environment/index.html
+++ b/developers/development_environment/index.html
@@ -172,6 +172,7 @@ logging to DEBUG to see even more details about what is going on.
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/development_submitting/index.html b/developers/development_submitting/index.html
index ffb8044f49..0cfbda4a70 100644
--- a/developers/development_submitting/index.html
+++ b/developers/development_submitting/index.html
@@ -149,6 +149,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/development_testing/index.html b/developers/development_testing/index.html
index 99de64a8c0..67a8d8edbb 100644
--- a/developers/development_testing/index.html
+++ b/developers/development_testing/index.html
@@ -154,6 +154,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/development_validation/index.html b/developers/development_validation/index.html
index 17ab1477b9..8abbcd2c95 100644
--- a/developers/development_validation/index.html
+++ b/developers/development_validation/index.html
@@ -177,6 +177,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/frontend/index.html b/developers/frontend/index.html
index e8893a583c..26a4757f5f 100644
--- a/developers/frontend/index.html
+++ b/developers/frontend/index.html
@@ -165,6 +165,7 @@ Do not use development mode in production. Home Assistant uses aggressive cachin
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/frontend_add_card/index.html b/developers/frontend_add_card/index.html
index 567be40de5..b55432c192 100644
--- a/developers/frontend_add_card/index.html
+++ b/developers/frontend_add_card/index.html
@@ -130,6 +130,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/frontend_add_more_info/index.html b/developers/frontend_add_more_info/index.html
index 9ee3fa84af..87ed3c2b7e 100644
--- a/developers/frontend_add_more_info/index.html
+++ b/developers/frontend_add_more_info/index.html
@@ -129,6 +129,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/frontend_creating_custom_panels/index.html b/developers/frontend_creating_custom_panels/index.html
index ce7b197400..be79f956c2 100644
--- a/developers/frontend_creating_custom_panels/index.html
+++ b/developers/frontend_creating_custom_panels/index.html
@@ -177,6 +177,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/frontend_creating_custom_ui/index.html b/developers/frontend_creating_custom_ui/index.html
index 5a4ec9f8c6..adefaf379e 100644
--- a/developers/frontend_creating_custom_ui/index.html
+++ b/developers/frontend_creating_custom_ui/index.html
@@ -138,6 +138,7 @@ Importing those will work in development: 1
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/helpers/index.html b/developers/helpers/index.html
index aaf704b990..8bdb8a59d1 100644
--- a/developers/helpers/index.html
+++ b/developers/helpers/index.html
@@ -126,6 +126,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/index.html b/developers/index.html
index 132820ebcf..8f987f382c 100644
--- a/developers/index.html
+++ b/developers/index.html
@@ -127,6 +127,7 @@ Diagram showing interaction between components and the Home Assistant core.
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/license/index.html b/developers/license/index.html
index 63b3494f3b..55d9fe3bb2 100644
--- a/developers/license/index.html
+++ b/developers/license/index.html
@@ -322,6 +322,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/maintenance/index.html b/developers/maintenance/index.html
index 804ce7e255..077f679619 100644
--- a/developers/maintenance/index.html
+++ b/developers/maintenance/index.html
@@ -136,6 +136,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/multiple_instances/index.html b/developers/multiple_instances/index.html
index 0f659e4112..a49064a933 100644
--- a/developers/multiple_instances/index.html
+++ b/developers/multiple_instances/index.html
@@ -146,6 +146,7 @@ Because each slave maintains its own Service Registry it is possible to have mul
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/platform_example_light/index.html b/developers/platform_example_light/index.html
index 97c256bb5d..0b0401e274 100644
--- a/developers/platform_example_light/index.html
+++ b/developers/platform_example_light/index.html
@@ -225,6 +225,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/platform_example_sensor/index.html b/developers/platform_example_sensor/index.html
index c17406d6db..6d87e98825 100644
--- a/developers/platform_example_sensor/index.html
+++ b/developers/platform_example_sensor/index.html
@@ -167,6 +167,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/python_api/index.html b/developers/python_api/index.html
index c28599b8c4..9bcdeb5dd5 100644
--- a/developers/python_api/index.html
+++ b/developers/python_api/index.html
@@ -267,6 +267,7 @@ longer timeout.
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/releasing/index.html b/developers/releasing/index.html
index 28dccc2cdf..3223220a97 100644
--- a/developers/releasing/index.html
+++ b/developers/releasing/index.html
@@ -156,6 +156,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/rest_api/index.html b/developers/rest_api/index.html
index dc3c272379..af321a6bb5 100644
--- a/developers/rest_api/index.html
+++ b/developers/rest_api/index.html
@@ -515,6 +515,7 @@ If your client does not support DELETE
HTTP requests you can add an
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/server_sent_events/index.html b/developers/server_sent_events/index.html
index 7e1554e799..9c878b7f0d 100644
--- a/developers/server_sent_events/index.html
+++ b/developers/server_sent_events/index.html
@@ -163,6 +163,7 @@
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/website/index.html b/developers/website/index.html
index cc2f91ad5a..b4e4d9b9ce 100644
--- a/developers/website/index.html
+++ b/developers/website/index.html
@@ -220,6 +220,7 @@ redirect_from: /getting-started/android/
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/developers/websocket_api/index.html b/developers/websocket_api/index.html
index 57b28e57e2..436c025a45 100644
--- a/developers/websocket_api/index.html
+++ b/developers/websocket_api/index.html
@@ -416,6 +416,7 @@ b. Server can send results of previous commands.
-
Asynchronous Programming
+ - Introduction to asyncio
- Categorizing Functions
- Working with Async
- Miscellaneous
diff --git a/sitemap.xml b/sitemap.xml
index 0c60b62fed..24382af5cc 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -3108,62 +3108,62 @@
https://home-assistant.io/demo/frontend.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/index.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-event.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-info.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-service.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-state.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-dev-template.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-history.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-iframe.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-logbook.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/demo/panels/ha-panel-map.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/googlef4f3693c209fe788.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/static/fonts/roboto/DESCRIPTION.en_us.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/static/fonts/robotomono/DESCRIPTION.en_us.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00
https://home-assistant.io/static/mdi-demo.html
-2017-04-09T00:07:03+00:00
+2017-04-09T00:22:28+00:00