8.3 KiB
title | description | ha_category | ha_iot_class | ha_release | ha_codeowners | ha_domain | ha_integration_type | related | ha_quality_scale | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Space API | Instructions on how to configure the SpaceAPI for Home Assistant. |
|
Cloud Polling | 0.70 |
|
spaceapi | integration |
|
legacy |
The spaceapi
{% term integration %} allow Hackerspaces to expose information to web apps or any other application with the SpaceAPI.
Configuration
To setup the spaceapi
{% term integration %} in your installation, add the following to your {% term "configuration.yaml
" %} file.
{% include integrations/restart_ha_after_config_inclusion.md %}
# 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: X username of the keymaster.
required: false
type: string
irc:
description: The IRC channel of the Hackerspace
required: false
type: string
twitter:
description: The X 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 integration.
Eastermundigen
A possible configuration entry for Eastermundigen, a Hackerspace in Switzerland, could look like this.
# 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"