SpaceAPI


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 config 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"