Space API


The spaceapi integration allow Hackerspaces to expose information to web apps or any other application with the SpaceAPI.

Configuration

To setup the spaceapi integration in your installation, add the following to your configuration.yaml file:

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

Twitter username of the keymaster.

irc string (Optional)

The IRC channel of the Hackerspace

twitter string (Optional)

The Twitter 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.

Sensor specific location

The SpaceAPI specification requires every sensor to provide a location. In order to set a sensor specific location do the following steps:

  1. Go to Configuration -> Customization
  2. Select the sensor entity
  3. Pick “Other” from the attribute override pulldown
  4. Set the attribute name to location and the attribute value to your desired location

If no location is set, the location defined in the HA configuration is used.

Examples

In this section you find some real-life examples of how to use this component.

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: "[email protected]"
  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"