Space API

The spaceapi integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allow Hackerspaces to expose information to web apps or any other application with the SpaceAPI.

Configuration

To setup the spaceapi integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] in your installation, add the following to your configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file. After changing the configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file, restart Home Assistant to apply the changes.

# 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 Variables

space string Required

Name of the Hackerspace.

logo string Required

URL which is publicly accessible of the logo.

url string Required

URL of the hackerspace’s web site.

location map (Optional)

Location of the Hackerspace.

address string Required

The physical address of the Hackerspace.

contact map Required

Contact information of the Hackerspace. At least one entry is mandatory.

phone string (Optional)

The phone number of the Hackerspace.

sip string (Optional)

The SIP URI for Voice-over-IP of the Hackerspace.

keymasters list (Optional)

Persons who carry a key and are able to open the space upon request. One of the fields must be specified.

name string (Optional)

Real Name of the keymaster.

irc_nick string (Optional)

Contact the person with this nickname directly in irc if available. The irc channel to be used is defined in the contact/irc field.

phone string (Optional)

Phone number of the keymaster.

email string (Optional)

Email address of the keymaster.

twitter string (Optional)

X username of the keymaster.

irc string (Optional)

The IRC channel of the Hackerspace

twitter string (Optional)

The X account of the Hackerspace.

facebook string (Optional)

The facebook URL of the Hackerspace.

identica string (Optional)

The Identi.ca or StatusNet account of the Hackerspace.

foursquare string (Optional)

The Foursquare ID of the Hackerspace.

email string Required

The email address of the Hackerspace.

ml string (Optional)

The mailing list of the Hackerspace.

jabber string (Optional)

The public Jabber/XMPP multi-user chatroom of the Hackerspace.

issue_mail string (Optional)

A separate email address for issue reports.

issue_report_channels list Required

The reporting channel for issues. Valid values are email, issue_mail, twitter or ml

state list Required

The current state of the Hackerspace.

entity_id string Required

The entity_id of a binary sensor that represents the current state.

icon_open string (Optional)

The URL which is publicly accessible of the icon for the open Hackerspace.

icon_closed string (Optional)

The URL which is publicly accessible of the icon for the closed Hackerspace.

feeds map (Optional)

Feeds where users can get updates of your space.

blog map (Optional)

The blog of your Hackerspace.

type string (Optional)

Type of the feed, for example rss, atom, ical

url string Required

Feed URL

wiki map (Optional)

The wiki of your Hackerspace.

type string (Optional)

Type of the feed, for example rss, atom, ical

url string Required

Feed URL

calendar map (Optional)

The calendar of your Hackerspace.

type string (Optional)

Type of the feed, for example rss, atom, ical

url string Required

Feed URL

flicker map (Optional)

The Flicker stream of your Hackerspace.

type string (Optional)

Type of the feed, for example rss, atom, ical

url string Required

Feed URL

cache map (Optional)

Specifies options about caching of your SpaceAPI endpoint. Use this if you want to avoid hundreds/thousands of application instances crawling your status.

schedule string Required

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 |

projects list (Optional)

Your project sites (links to GitHub, wikis or wherever your projects are hosted).

radio_show list (Optional)

A list of radio shows that your hackerspace might broadcast.

name string Required

The name of the radio show.

url string Required

The stream URL of the radio show.

type string Required

The stream encoder. Valid values are mp3 or ogg

start string Required

Specify the start time by using the ISO 8601 standard.

end string Required

Specify the end time by using the ISO 8601 standard.

sensors list (Optional)

List of sensors to expose.

temperature string Required

List of temperature sensors.

humidity string Required

List of humidity sensors.

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"