mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-04 18:18:58 +00:00
299 lines
8.1 KiB
Markdown
299 lines
8.1 KiB
Markdown
---
|
|
title: Space API
|
|
description: Instructions on how to configure the SpaceAPI for Home Assistant.
|
|
ha_category:
|
|
- Social
|
|
ha_iot_class: Cloud Polling
|
|
ha_release: '0.70'
|
|
ha_codeowners:
|
|
- '@fabaff'
|
|
ha_domain: spaceapi
|
|
ha_integration_type: integration
|
|
---
|
|
|
|
The `spaceapi` integration allow Hackerspaces to expose information to web apps or any other application with the [SpaceAPI](https://spaceapi.io/).
|
|
|
|
## Configuration
|
|
|
|
To setup the `spaceapi` integration in your installation, add the following to your `configuration.yaml` file:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
spaceapi:
|
|
space: HACKERSPACE_NAME
|
|
logo: URL_FOR_LOGO
|
|
url: URL
|
|
location:
|
|
address: ADDRESS
|
|
contact:
|
|
email: EMAIL_ADDRESS
|
|
issue_report_channels:
|
|
- email
|
|
state:
|
|
entity_id: binary_sensor.front_door
|
|
```
|
|
|
|
{% configuration %}
|
|
space:
|
|
description: Name of the Hackerspace.
|
|
required: true
|
|
type: string
|
|
logo:
|
|
description: URL which is publicly accessible of the logo.
|
|
required: true
|
|
type: string
|
|
url:
|
|
description: URL of the hackerspace's web site.
|
|
required: true
|
|
type: string
|
|
location:
|
|
description: Location of the Hackerspace.
|
|
required: false
|
|
type: map
|
|
keys:
|
|
address:
|
|
description: The physical address of the Hackerspace.
|
|
required: true
|
|
type: string
|
|
contact:
|
|
description: Contact information of the Hackerspace. At least one entry is mandatory.
|
|
required: true
|
|
type: map
|
|
keys:
|
|
phone:
|
|
description: The phone number of the Hackerspace.
|
|
required: false
|
|
type: string
|
|
sip:
|
|
description: The SIP URI for Voice-over-IP of the Hackerspace.
|
|
required: false
|
|
type: string
|
|
keymasters:
|
|
description: Persons who carry a key and are able to open the space upon request. One of the fields must be specified.
|
|
required: false
|
|
type: list
|
|
keys:
|
|
name:
|
|
description: Real Name of the keymaster.
|
|
required: false
|
|
type: string
|
|
irc_nick:
|
|
description: Contact the person with this nickname directly in irc if available. The irc channel to be used is defined in the contact/irc field.
|
|
required: false
|
|
type: string
|
|
phone:
|
|
description: Phone number of the keymaster.
|
|
required: false
|
|
type: string
|
|
email:
|
|
description: Email address of the keymaster.
|
|
required: false
|
|
type: string
|
|
twitter:
|
|
description: Twitter username of the keymaster.
|
|
required: false
|
|
type: string
|
|
irc:
|
|
description: The IRC channel of the Hackerspace
|
|
required: false
|
|
type: string
|
|
twitter:
|
|
description: The Twitter account of the Hackerspace.
|
|
required: false
|
|
type: string
|
|
facebook:
|
|
description: The facebook URL of the Hackerspace.
|
|
required: false
|
|
type: string
|
|
identica:
|
|
description: The Identi.ca or StatusNet account of the Hackerspace.
|
|
required: false
|
|
type: string
|
|
foursquare:
|
|
description: The Foursquare ID of the Hackerspace.
|
|
required: false
|
|
type: string
|
|
email:
|
|
description: The email address of the Hackerspace.
|
|
required: true
|
|
type: string
|
|
ml:
|
|
description: The mailing list of the Hackerspace.
|
|
required: false
|
|
type: string
|
|
jabber:
|
|
description: The public Jabber/XMPP multi-user chatroom of the Hackerspace.
|
|
required: false
|
|
type: string
|
|
issue_mail:
|
|
description: A separate email address for issue reports.
|
|
required: false
|
|
type: string
|
|
issue_report_channels:
|
|
description: "The reporting channel for issues. Valid values are `email`, `issue_mail`, `twitter` or `ml`"
|
|
required: true
|
|
type: list
|
|
state:
|
|
description: The current state of the Hackerspace.
|
|
required: true
|
|
type: list
|
|
keys:
|
|
entity_id:
|
|
description: "The `entity_id` of a binary sensor that represents the current state."
|
|
required: true
|
|
type: string
|
|
icon_open:
|
|
description: The URL which is publicly accessible of the icon for the open Hackerspace.
|
|
required: false
|
|
type: string
|
|
icon_closed:
|
|
description: The URL which is publicly accessible of the icon for the closed Hackerspace.
|
|
required: false
|
|
type: string
|
|
feeds:
|
|
description: Feeds where users can get updates of your space.
|
|
required: false
|
|
type: map
|
|
keys:
|
|
blog:
|
|
description: The blog of your Hackerspace.
|
|
required: false
|
|
type: map
|
|
keys:
|
|
type:
|
|
description: Type of the feed, for example rss, atom, ical
|
|
required: false
|
|
type: string
|
|
url:
|
|
description: Feed URL
|
|
required: true
|
|
type: string
|
|
wiki:
|
|
description: The wiki of your Hackerspace.
|
|
required: false
|
|
type: map
|
|
keys:
|
|
type:
|
|
description: Type of the feed, for example rss, atom, ical
|
|
required: false
|
|
type: string
|
|
url:
|
|
description: Feed URL
|
|
required: true
|
|
type: string
|
|
calendar:
|
|
description: The calendar of your Hackerspace.
|
|
required: false
|
|
type: map
|
|
keys:
|
|
type:
|
|
description: Type of the feed, for example rss, atom, ical
|
|
required: false
|
|
type: string
|
|
url:
|
|
description: Feed URL
|
|
required: true
|
|
type: string
|
|
flicker:
|
|
description: The Flicker stream of your Hackerspace.
|
|
required: false
|
|
type: map
|
|
keys:
|
|
type:
|
|
description: Type of the feed, for example rss, atom, ical
|
|
required: false
|
|
type: string
|
|
url:
|
|
description: Feed URL
|
|
required: true
|
|
type: string
|
|
cache:
|
|
description: Specifies options about caching of your SpaceAPI endpoint. Use this if you want to avoid hundreds/thousands of application instances crawling your status.
|
|
required: false
|
|
type: map
|
|
keys:
|
|
schedule:
|
|
description: Cache update cycle. Valid values are m.02 | m.05 | m.10 | m.15 | m.30 | h.01 | h.02 | h.04 | h.08 | h.12 | d.01 |
|
|
required: true
|
|
type: string
|
|
projects:
|
|
description: Your project sites (links to GitHub, wikis or wherever your projects are hosted).
|
|
required: false
|
|
type: list
|
|
radio_show:
|
|
description: A list of radio shows that your hackerspace might broadcast.
|
|
required: false
|
|
type: list
|
|
keys:
|
|
name:
|
|
description: The name of the radio show.
|
|
required: true
|
|
type: string
|
|
url:
|
|
description: The stream URL of the radio show.
|
|
required: true
|
|
type: string
|
|
type:
|
|
description: The stream encoder. Valid values are mp3 or ogg
|
|
required: true
|
|
type: string
|
|
start:
|
|
description: Specify the start time by using the ISO 8601 standard.
|
|
required: true
|
|
type: string
|
|
end:
|
|
description: Specify the end time by using the ISO 8601 standard.
|
|
required: true
|
|
type: string
|
|
sensors:
|
|
description: List of sensors to expose.
|
|
required: false
|
|
type: list
|
|
keys:
|
|
temperature:
|
|
description: List of temperature sensors.
|
|
required: true
|
|
type: string
|
|
humidity:
|
|
description: List of humidity sensors.
|
|
required: true
|
|
type: string
|
|
{% endconfiguration %}
|
|
|
|
The list of sensors can be any sensor, not just temperature or humidity.
|
|
|
|
## Examples
|
|
|
|
In this section you find some real-life examples of how to use this component.
|
|
|
|
### Eastermundigen
|
|
|
|
A possible configuration entry for [Eastermundigen](https://www.eastermundigen.ch/), a Hackerspace in Switzerland, could look like this.
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
spaceapi:
|
|
space: Eastermundigen
|
|
logo: https://eastermundigen.ch/logo.png
|
|
url: https://eastermundigen.ch
|
|
location:
|
|
address: "Steinbruchweg 16, 3072 Ostermundigen, Schweiz"
|
|
contact:
|
|
phone: "+41311111111"
|
|
twitter: "@eastermundigen"
|
|
email: "info@eastermundigen.ch"
|
|
issue_report_channels:
|
|
- email
|
|
state:
|
|
entity_id: binary_sensor.front_door"
|
|
icon_open: https://eastermundigen.ch/open.png
|
|
icon_closed: https://eastermundigen.ch/close.png
|
|
sensors:
|
|
temperature:
|
|
- "sensor.temperature_in"
|
|
- "sensor.temperature_out"
|
|
humidity:
|
|
- "sensor.humidity_in"
|
|
- "sensor.humidity_out"
|
|
```
|