Add blog post about core.async_get_hass() (#1443)

This commit is contained in:
Erik Montnemery 2022-08-24 08:21:11 +02:00 committed by GitHub
parent fe6057cb4e
commit 99cdc199de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,20 @@
---
author: Erik Montnemery
authorURL: https://github.com/emontnemery
title: "Globally available HomeAssistant object (hass)"
---
It's now possible to get a reference to the `HomeAssistant` instance by calling `core.async_get_hass()`.
Although this means it's no longer strictly necessary to pass `hass` around, the recommendation is still to only use `core.async_get_hass` where it's very cumbersome or downright impossible to pass `hass` to the code which needs it.
An example where this can be useful is voluptuous validators, which previously couldn't access `hass` because voluptuous has no way of passing user data to validators.
```python
@callback
def async_get_hass() -> HomeAssistant:
"""Return the HomeAssistant instance.
Raises LookupError if no HomeAssistant instance is available.
This should be used where it's very cumbersome or downright impossible to pass
hass to the code which needs it.
"""
```