This commit is contained in:
GreenTurtwig 2016-02-23 10:59:49 +00:00
commit 0bd36d111b
4 changed files with 22 additions and 22 deletions

View File

@ -17,7 +17,7 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
sensor: binary_sensor:
platform: rest platform: rest
resource: http://IP_ADDRESS/ENDPOINT resource: http://IP_ADDRESS/ENDPOINT
method: GET method: GET
@ -29,7 +29,7 @@ or for a POST request:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
sensor: binary_sensor:
platform: rest platform: rest
resource: http://IP_ADDRESS/ENDPOINT resource: http://IP_ADDRESS/ENDPOINT
method: POST method: POST

View File

@ -10,20 +10,20 @@ footer: true
ha_category: Custom Python Component Examples ha_category: Custom Python Component Examples
--- ---
This is a simple hello world example to show the basics of registering a service. To use this example, create the file `<config dir>/custom_components/hello_service.py` and copy the below example code. This is a simple "hello world" example to show the basics of registering a service. To use this example, create the file `<config dir>/custom_components/hello_service.py` and copy the below example code.
Services can be called from automation and from the service developer tools in the frontend. Services can be called from automation and from the service "Developer tools" in the frontend.
```python ```python
# The domain of your component. Should be equal to the name of your component # The domain of your component. Should be equal to the name of your component.
DOMAIN = "hello_service" DOMAIN = 'hello_service'
ATTR_NAME = 'name' ATTR_NAME = 'name'
DEFAULT_NAME = 'World' DEFAULT_NAME = 'World'
def setup(hass, config): def setup(hass, config):
""" Setup is called when Home Assistant is loading our component. """ """Setup is called when Home Assistant is loading our component."""
def handle_hello(call): def handle_hello(call):
name = call.data.get(ATTR_NAME, DEFAULT_NAME) name = call.data.get(ATTR_NAME, DEFAULT_NAME)
@ -32,7 +32,7 @@ def setup(hass, config):
hass.services.register(DOMAIN, 'hello', handle_hello) hass.services.register(DOMAIN, 'hello', handle_hello)
# return boolean to indicate that initialization was successful # Return boolean to indicate that initialization was successfully.
return True return True
``` ```

View File

@ -13,15 +13,15 @@ ha_category: Custom Python Component Examples
This is a simple hello world example to show the basics for setting a state. To use this example, create the file `<config dir>/custom_components/hello_state.py` and copy the below example code. This is a simple hello world example to show the basics for setting a state. To use this example, create the file `<config dir>/custom_components/hello_state.py` and copy the below example code.
```python ```python
# The domain of your component. Should be equal to the name of your component # The domain of your component. Should be equal to the name of your component.
DOMAIN = "hello_state" DOMAIN = 'hello_state'
CONF_NAME = 'name' CONF_NAME = 'name'
DEFAULT_NAME = 'World' DEFAULT_NAME = 'World'
def setup(hass, config): def setup(hass, config):
""" Setup is called when Home Assistant is loading our component. """ """Setup is called when Home Assistant is loading our component."""
# Get the name from the configuration. Use DEFAULT_NAME if no name provided. # Get the name from the configuration. Use DEFAULT_NAME if no name provided.
name = config[DOMAIN].get(CONF_NAME, DEFAULT_NAME) name = config[DOMAIN].get(CONF_NAME, DEFAULT_NAME)
@ -29,7 +29,7 @@ def setup(hass, config):
# States are in the format DOMAIN.OBJECT_ID # States are in the format DOMAIN.OBJECT_ID
hass.states.set('hello_state.hello', name) hass.states.set('hello_state.hello', name)
# return boolean to indicate that initialization was successful # Return boolean to indicate that initialization was successfully.
return True return True
``` ```

View File

@ -21,10 +21,10 @@ This example follows a topic on MQTT and updates the state of an entity to the l
```python ```python
import homeassistant.loader as loader import homeassistant.loader as loader
# The domain of your component. Should be equal to the name of your component # The domain of your component. Should be equal to the name of your component.
DOMAIN = "hello_mqtt" DOMAIN = "hello_mqtt"
# List of component names (string) your component depends upon # List of component names (string) your component depends upon.
DEPENDENCIES = ['mqtt'] DEPENDENCIES = ['mqtt']
@ -33,31 +33,31 @@ DEFAULT_TOPIC = 'home-assistant/hello_mqtt'
def setup(hass, config): def setup(hass, config):
""" Setup our hello_mqtt component. """ """Setup the Hello MQTT component."""
mqtt = loader.get_component('mqtt') mqtt = loader.get_component('mqtt')
topic = config[DOMAIN].get('topic', DEFAULT_TOPIC) topic = config[DOMAIN].get('topic', DEFAULT_TOPIC)
entity_id = 'hello_mqtt.last_message' entity_id = 'hello_mqtt.last_message'
# Listener to be called when we receive a message # Listener to be called when we receive a message.
def message_received(topic, payload, qos): def message_received(topic, payload, qos):
""" A new MQTT message has been received. """ """A new MQTT message has been received."""
hass.states.set(entity_id, payload) hass.states.set(entity_id, payload)
# Subscribe our listener to a topic # Subscribe our listener to a topic.
mqtt.subscribe(hass, topic, message_received) mqtt.subscribe(hass, topic, message_received)
# Set the intial state # Set the intial state
hass.states.set(entity_id, 'No messages') hass.states.set(entity_id, 'No messages')
# Service to publish a message on MQTT # Service to publish a message on MQTT.
def set_state_service(call): def set_state_service(call):
""" Service to send a message. """ """Service to send a message."""
mqtt.publish(hass, topic, call.data.get('new_state')) mqtt.publish(hass, topic, call.data.get('new_state'))
# Register our service with Home Assistant # Register our service with Home Assistant.
hass.services.register(DOMAIN, 'set_state', set_state_service) hass.services.register(DOMAIN, 'set_state', set_state_service)
# return boolean to indicate that initialization was successful # Return boolean to indicate that initialization was successfully.
return True return True
``` ```