Kanäle

In den Kanälen werden die Daten Ihrer Anwendung gespeichert und von hier kommen auch Ihre Daten wieder. Jeder Kanal hat eine private und eine öffentliche Ansicht. Die private Ansicht können Sie nur sehen, wenn Sie sich bei Ihrem Konto bei cloud4Bees anmelden. Die öffentlich Ansicht kann jeder der Ihren Kanal auf cloud4Bees besucht ansehen. Sie könnnen für beide Ansichten unterschiedliche Informationen zur Verfügung stellen oder auch die öffentliche Ansicht ganz deaktivieren.



Channel public view


Kanalansichten haben die folgenden Eigenschaften und Funktionen:

  • Kanal Watch
  • Teilen mit Sozialen Netzwerken
  • Entwickler Informationen
  • Die Möglichkeit cloud4Bees - Plugins einzubetten
  • Tags
  • Kommentare


Kanal API

Um Daten von einem cloud4Bees Kanal zu lesen oder Daten zu schreiben, muss Ihre Anwendung eine HTTP Anfrage an die cloud4Bees API stellen. Jeder cloud4Bees Kanal hat 8 Datenfelder in denen numerische und alphanumerische Daten gespeichert werden können. In den Feldern Latitude und Longitude können Sie die Standortdaten Ihrer Anwendung speichern. Alle Daten werden mit einem Zeitstempel und einer einmaligen ID (entry_id) gespeichert. Nachdem die Daten gespeichert wurden können Sie auf diese mittels Zeitauswahl oder Id (entry_ID) zugreifen. Zusätzlich ermöglicht die cloud4Bees API die Daten weiterzuverarbeiten. Funkionen wie Zeitskalierung, Mittelwert ermitteln, Median bilden, Summen berechnen oder Runden stehen zur Verfügung. Der Kanal Feed unterstützt die Formate JSON, XML und CSV für die Integration in andere Anwendungen.


Schlüsselwörter

Hier ist eine Zusammenstellung der Schlüsselwörter die in der API genutzt werden. Das Verständnis der Ausdrücke macht es Ihnen einfacher die API Dokumentation zu verstehen.

  • Kanal - Bezeichnung für den Ort wo Daten gepeichert und von wo Daten mittels der cloud4Bees API gelesen werden können.
  • Kanal ID - Jeder Kanal hat eine eindeutige ID. Die Kanal ID wird genutzt, um den Kanal zu identifizieren wenn eine Anwendung Daten vom Kanal liest.
  • Feld (field) - Jeder Kanal hat 8 Felder, dieser werden über die Nummern 1 bis 8 identifiziert – Ein Feld kann nummerische Daten von einem Sensor oder alphanumerische Daten von einem seriellen Gerät oder RFID Leser speichern.
  • Status - Eine kurze Nachricht, um die gespeicherten Daten eines Kanals zu erweitern.
  • Standort - Latitude, Longitude, und Höhe über dem Meeresspiegel vom Standort, von wo die Daten gesendet werden.
  • Feed - Ein gemeinsamer Name für alle Daten die in einem Kanal gespeichert sind. Das kann eine Kombination von Felddaten, Statusaktualisierungen oder Standortinformationen sein.
  • Schreibe API Schlüssel – Ein 16 Bit-Digitalcode der es einer Anwendung erlaubt, Daten an einen Kanal zu schicken
  • Lese API Schlüssel – Ein 16 Bit-Digitcode der es einer Anwendung erlaubt, Daten von einem Kanal zu lesen.



URL Adresse und IP Adresse

URL:

Adresse
http://cloud.4bees.at

IP Adresse:

http://87.230.17.76


API Schlüssel



Private / öffentliche Kanäle

Standardmäßig ist Ihr Kanal privat und erfordert einen Lese API Schlüssel, um Daten zu lesen. Sobald Sie Ihren Kanal öffentlich machen wird kein Lese API Schlüssel mehr benötigt, um die Daten zu lesen.


Schreib API Schlüssel

Um Daten in einen Kanal zu schreiben, benötigen Sie einen Schreib API Schlüssel. Wenn Ihr Schreib API Schlüssel kompromittiert wurden, können sie einen neuen Schlüssel generiereny.

Führen sie folgende Schritte aus, um einem neuen Schreib API Schlüssel zu generieren:

  • Kanäle -> Meine Kanäle
  • Kanal auswählen
  • Register API Schlüssel wählen
  • Auf den Button Generiere neuen Schreib API Schlüssel klicken


Lese API Schlüssel

Der Lese API Schlüssel erlaubt es Ihrer Anwendung, die Daten des Kanal´s zu lesen. Sie könnnen mehrere Lese Schlüssel für verschiedene Anwendungen generieren.

Führen Sie folgende Schritte aus, um einen Lese API Schlüssel zu generieren:

  • Kanäle -> Meine Kanäle
  • Kanal auswählen
  • Register API Schlüssel wählen
  • Auf den Button Generiere neuen Lese API Schlüssel klicken




Limit der Datenrate

Der freie Webservice von cloud4Bees hat ein Limit der Datenrate für jeden Kanal von 15 Sekunden. Das heisst, alle 15 Sekunden könnnen neue Daten gespeichert werden. Dieses Limit ist notwendig damit die Speicherkapazität des cloud4Bees Datenservers ausreichen und der Dienst kostenlos angeboten werden kann. Für die von cloud4Bees gedachten Anwendungen (z.B. Bienenstockwaage, Wetterstation, Temperatur im Brutraum,...) ist dieses Limit auch völlig ausreichend.
















Response in: TEXTJSONXML

Kanal Feed aktualisieren


Um einen Kanal Feed zu aktualisieren, senden Sie eine HTTP GET oder POST Anfrage an
http://cloud.4bees.at/update.json.xml .

Gültige Parameter:
  • api_key (string) - Schreib API Schlüssel für diesen Kanal (notwendig). Der Schreib API Schlüssel kann optional über THINGSPEAKAPIKEY HTTP header gesendet werden.
  • field1 (string) - Feld 1 Daten (optional)
  • field2 (string) - Feld 2 Daten (optional)
  • field3 (string) - Feld 3 Daten (optional)
  • field4 (string) - Feld 4 Daten (optional)
  • field5 (string) - Feld 5 Daten (optional)
  • field6 (string) - Feld 6 Daten (optional)
  • field7 (string) - Feld 7 Daten (optional)
  • field8 (string) - Feld 8 Daten (optional)
  • lat (decimal) - Latitude in Grad (optional)
  • long (decimal) - Longitude in Grad (optional)
  • elevation (integer) - Höhe in Meter (optional)
  • status (string) - Status Aktualisierungsnachricht (optional)
  • created_at (datetime) - Datum, wann dieser Feed Eintrag gemacht wurde ISO 8601 Format, zum Beispiel: 2014-12-31 23:59:59 . Zeitzonen könnnen spezifiziert werden mit Zeitzone Parameter (optional)

Beispiel POST Anfrage:
POST http://cloud.4bees.at/update.json.xml
     api_key=XXXXXXXXXXXXXXXX
     field1=73

Die Antwort ist die entry ID der Aktualisierung, zum Beispiel: 18

Wenn die Antwort 0 ist, dann ist die Aktualisierung fehlgeschlagen.
Die Antwort ist ein JSON Objekt des neuen Feed, zum Beispiel:
{
  "channel_id": 3,
  "field1": "73",
  "field2": null,
  "field3": null,
  "field4": null,
  "field5": null,
  "field6": null,
  "field7": null,
  "field8": null,
  "created_at": "2014-02-25T14:13:01-05:00",
  "entry_id": 320,
  "status": null,
  "latitude": null,
  "longitude": null,
  "elevation": null
}
Die Anwort ist ein XML Objekt des neuen Feed, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <channel-id type="integer">3</channel-id>
  <field1>73</field1>
  <field2 nil="true"/>
  <field3 nil="true"/>
  <field4 nil="true"/>
  <field5 nil="true"/>
  <field6 nil="true"/>
  <field7 nil="true"/>
  <field8 nil="true"/>
  <created-at type="dateTime">2014-02-25T14:15:42-05:00</created-at>
  <entry-id type="integer">321</entry-id>
  <status nil="true"/>
  <latitude type="decimal" nil="true"/>
  <longitude type="decimal" nil="true"/>
  <elevation nil="true"/>
</feed>

Response in: TEXTJSONXML

Kanal Feed erhalten


Um einen Kanal Feed zu erhalten, senden Sie HTTP GET an http://cloud.4bees.at/channels/CHANNEL_ID/feeds.json.xml , ersetzen Sie CHANNEL_ID mit der ID Ihres Kanals.

Gültige Parameter:
  • api_key (string) Lese API Schlüssel für diesen Kanal (optional--für öffentliche Kanäle ist kein Schlüssel erforderlich)
  • results (integer) Anzahl der Einträge die abgerufen werden, max. 8000 , Standard ist 100 (optional)
  • days (integer) Anzahl der 24-Stunden Perioden bevor jetzt, die in den Feed einbezogen werden (optional)
  • start (datetime) Startdatum im Format YYYY-MM-DD%20HH:NN:SS (optional)
  • end (datetime) Enddatum im Format YYYY-MM-DD%20HH:NN:SS (optional)
  • timezone (string) Zeitzonen Bezeichner für diese Anfrage (optional)
  • offset (integer) Zeitzonen Offset in der das Resultat angezeigt werden soll. Bitte nutzen Sie den Zeitzonen Parameter für eine höhere Genauigkeit. (optional)
  • status (true/false) Setzen Sie "status=true" damit Status Aktualisierungen in den Feed einbezogen werden (optional)
  • metadata (true/false) Setzen Sie "metadata=true" damit Metadaten des Kanals einbezogen werden (optional)
  • location (true/false) Setzen Sie "location=true" damit Latitude, Longitude und Höhe in den Feed einbezogen werden (optional)
  • min (decimal) Minimalwert der in die Antwort einbezogen wird (optional)
  • max (decimal) Maximalwert der in die Antwort einbezogen wird (optional)
  • round (integer) Auf diese Anzahl Dezimalstellen runden (optional)
  • timescale (integer or string) Zeitskalierung, gültige Werte: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)
  • sum (integer or string) Summe dieser Werte, gültige Werte: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)
  • average (integer or string) Mittelwert dieser Werte, gültige Werte: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)
  • median (integer or string) Median dieser Werte, gültige Werte: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)
  • callback (string) Funktionsname der für JSONP cross-domain Anfragen genutzt wird (optional)

GET Beispie:
GET http://cloud.4bees.at/channels/9/feeds.json.xml?results=2

Die Antwort ist eine HTML Seite mit dem JSON Kanal Feed, zum Beispiel:
{
  "channel":
  {
    "id": 9,
    "name": "my_house",
    "description": "Netduino Plus connected to sensors around the house",
    "latitude": "40.44",
    "longitude": "-79.996",
    "field1": "Light",
    "field2": "Outside Temperature",
    "created_at": "2010-12-13T20:20:06-05:00",
    "updated_at": "2014-02-26T12:43:04-05:00",
    "last_entry_id": 6060625
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T12:42:49-05:00",
      "entry_id": 6060624,
      "field1": "188",
      "field2": "25.902335456475583"
    },
    {
      "created_at": "2014-02-26T12:43:04-05:00",
      "entry_id": 6060625,
      "field1": "164",
      "field2": "25.222929936305732"
    }
  ]
}
Die Antwort ist ein JSON Objekt mit dem Kanal Feed, zum Beispiel:
{
  "channel":
  {
    "id": 9,
    "name": "my_house",
    "description": "Netduino Plus connected to sensors around the house",
    "latitude": "40.44",
    "longitude": "-79.996",
    "field1": "Light",
    "field2": "Outside Temperature",
    "created_at": "2010-12-13T20:20:06-05:00",
    "updated_at": "2014-02-26T12:43:04-05:00",
    "last_entry_id": 6060625
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T12:42:49-05:00",
      "entry_id": 6060624,
      "field1": "188",
      "field2": "25.902335456475583"
    },
    {
      "created_at": "2014-02-26T12:43:04-05:00",
      "entry_id": 6060625,
      "field1": "164",
      "field2": "25.222929936305732"
    }
  ]
}
Die Antwort ist ein XML Objekt des Kanal Feed, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
  <id type="integer">9</id>
  <name>my_house</name>
  <description>Netduino Plus connected to sensors around the house</description>
  <latitude type="decimal">40.44</latitude>
  <longitude type="decimal">-79.996</longitude>
  <field1>Light</field1>
  <field2>Outside Temperature</field2>
  <created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>
  <updated-at type="dateTime">2014-02-26T12:49:19-05:00</updated-at>
  <last-entry-id type="integer">6060650</last-entry-id>
  <feeds type="array">
    <feed>
      <created-at type="dateTime">2014-02-26T12:49:04-05:00</created-at>
      <entry-id type="integer">6060649</entry-id>
      <field1>160</field1>
      <field2>25.307855626326962</field2>
      <id type="integer" nil="true"/>
    </feed>
    <feed>
      <created-at type="dateTime">2014-02-26T12:49:19-05:00</created-at>
      <entry-id type="integer">6060650</entry-id>
      <field1>171</field1>
      <field2>22.929936305732483</field2>
      <id type="integer" nil="true"/>
    </feed>
  </feeds>
</channel>

Live Beispiele:

Response in: TEXTJSONXML

Den letzten Eintrag eines Kanal Feed erhalten


Um den letzten Eintrag eines Kanal Feed zu erhalten, senden Sie HTTP GET an http://cloud.4bees.at/channels/CHANNEL_ID/feeds/last.json.xml , ersetzen Sie CHANNEL_ID mit der ID Ihres Kanals.

Gültige Parameter:
  • api_key (string) Lese API Schlüssel für den spezifischen Kanal (optional--für öffentliche Kanäle ist kein Schlüssel erforderlich)
  • timezone (string) Zeitzonen Bezeichner für diese Anfrage (optional)
  • offset (integer) Zeitzonen Offset in der das Resultat angezeigt werden soll. Bitte nutzen Sie denZeitzonen Parameter für eine höhere Genauigkeit. (optional)
  • status (true/false) Setzen Sie "status=true" damit Statusaktualisierungen in den Feed einbezogen werden (optional)
  • location (true/false) Setzen Sie "location=true" damit Latitude, Longitude und Höhe in den Feed einbezogen werden (optional)
  • callback (string) Funktionsname der für JSONP cross-domain Anfragen genutzt wird (optional)

GET Beispiel:
GET http://cloud.4bees.at/channels/9/feeds/last.json.xml

Die Antwort ist ein JSON Objekt mit dem letzten Feed Eintrag, zum Beispiel:
{
  "created_at": "2014-02-26T21:27:21Z",
  "entry_id": 6061519,
  "field1": "176",
  "field2": "28.195329087048833"
}
Die Antwort ist ein JSON Objekt mit dem letzten Feed Eintrag, zum Beispiel:
{
  "created_at": "2014-02-26T21:27:21Z",
  "entry_id": 6061519,
  "field1": "176",
  "field2": "28.195329087048833"
}
Die Antwort ist ein XML Objekt mit dem letzten Feed Eintrag, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <created-at type="dateTime">2014-02-26T21:28:51Z</created-at>
  <entry-id type="integer">6061525</entry-id>
  <field1>200</field1>
  <field2>28.365180467091296</field2>
  <id type="integer" nil="true"/>
</feed>


Response in: TEXTJSONXML

Einen bestimmten Kanal Eintrag erhalten


Um einen bestimmten Kanal Eintrag zu erhalten, senden Sie HTTP GET an http://cloud.4bees.at/channels/CHANNEL_ID/feeds/ENTRY_ID.json.xml , ersetzen Sie CHANNEL_ID mit Ihrer Kanal ID und ENTRY_ID mit Ihrer entry ID.

Gültige Parameter:
  • api_key (string) Lese API Schlüssel für den bestimmten Kanall (optional--für öffentliche Kanäle ist kein Schlüssel erforderlich)
  • timezone (string) Zeitzonen Bezeichner für diese Anfrage (optional)
  • offset (integer) Zeitzonen Offset in der das Resultat angezeigt werden soll. Bitte nutzen Sie den Zeitzonen Parameter für eine höhere Genauigkeit. (optional)
  • status (true/false) Setzen Sie "status=true" damit Statusaktualisierungen in den Feed einbezogen werden (optional)
  • location (true/false) Setzen Sie "location=true" damit Latitude, Longitude und Höhe in den Feed einbezogen werden (optional)
  • callback (string) Funktionsname der für JSONP cross-domain Anfragen genutzt wird (optional)

GET Beispiel:
GET http://cloud.4bees.at/channels/9/feeds/6061519.json.xml

Die Antwort ist ein JSON Objekt mit dem Feed Eintrag, zum Beispiel:
{
  "created_at": "2014-02-26T21:27:21Z",
  "entry_id": 6061519,
  "field1": "176",
  "field2": "28.195329087048833"
}
Die Antwort ist ein JSON Objekt mit dem Feed Eintrag, zum Beispiel:
{
  "created_at": "2014-02-26T21:27:21Z",
  "entry_id": 6061519,
  "field1": "176",
  "field2": "28.195329087048833"
}
Die Antwort ist ein XML Objekt mit dem Feed Eintrag, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <created-at type="dateTime">2014-02-26T21:27:21Z</created-at>
  <entry-id type="integer">6061519</entry-id>
  <field1>176</field1>
  <field2>28.195329087048833</field2>
  <id type="integer" nil="true"/>
</feed>

Response in: TEXTJSONXML

Kanal Feld Feed erhalten


Um ein Kanal Feld Feed zu erhalten, senden Sie HTTP GET an http://cloud.4bees.at/channels/CHANNEL_ID/fields/FIELD_ID.json.xml , ersetzen Sie CHANNEL_ID mit der Kanal ID und FIELD_ID mit der Feld ID.

Gültige Parameter:
  • api_key (string) Lese API Schlüssel für den bestimmten Kanall (optional--no key required for public channels)
  • results (integer) Anzahl der Einträge die abgerufen werden, max. 8000 , Standard ist 100 (optional)
  • days (integer) Anzahl der 24-Stunden Perioden bevor jetzt, die in den Feed einbezogen werden (optional)
  • start (datetime) Startdatum im Format YYYY-MM-DD%20HH:NN:SS (optional)
  • end (datetime) Enddatum im Format YYYY-MM-DD%20HH:NN:SS (optional)
  • timezone (string) Zeitzonen Bezeichner für diese Anfrage (optional)
  • offset (integer) Zeitzonen Offset in der das Resultat angezeigt werden soll. Bitte nutzen Sie den Zeitzonen Parameter für eine höhere Genauigkeit. (optional)
  • status (true/false) Setzen Sie "status=true" damit Status Aktualisierungen in den Feed einbezogen werden (optional)
  • metadata (true/false) Setzen Sie "metadata=true" damit Metadaten des Kanals einbezogen werden (optional)
  • location (true/false) Setzen Sie "location=true" damit Latitude, Longitude und Höhe in den Feed einbezogen werden (optional)
  • min (decimal) Minimalwert der in die Antwort einbezogen wird (optional)
  • max (decimal) Maximalwert der in die Antwort einbezogen wird (optional)
  • round (integer) Auf diese Anzahl Dezimalstellen runden (optional)
  • timescale (integer or string) Zeitskalierung, gültige Werte: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)
  • sum (integer or string) Summe dieser Werte, gültige Werte: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)
  • average (integer or string) Mittelwert dieser Werte, gültige Werte: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)
  • median (integer or string) Median dieser Werte, gültige Werte: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (optional)
  • callback (string) Funktionsname der für JSONP cross-domain Anfragen genutzt wird (optional)

GET Beispiel:
GET http://cloud.4bees.at/channels/9/fields/1.json.xml?results=2

Die Antwort ist ein JSON Objekt mit dem Kanal Feld Feed, zum Beispiel:
{
  "channel":
  {
    "id": 9,
    "name": "my_house",
    "description": "Netduino Plus connected to sensors around the house",
    "latitude": "40.44",
    "longitude": "-79.996",
    "field1": "Light",
    "field2": "Outside Temperature",
    "created_at": "2010-12-13T20:20:06-05:00",
    "updated_at": "2014-02-26T12:43:04-05:00",
    "last_entry_id": 6060625
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T12:42:49-05:00",
      "entry_id": 6060624,
      "field1": "188"
    },
    {
      "created_at": "2014-02-26T12:43:04-05:00",
      "entry_id": 6060625,
      "field1": "164"
    }
  ]
}
Die Antwort ist ein JSON Objekt mit dem Kanal Feld Feed, zum Beispiel:
{
  "channel":
  {
    "id": 9,
    "name": "my_house",
    "description": "Netduino Plus connected to sensors around the house",
    "latitude": "40.44",
    "longitude": "-79.996",
    "field1": "Light",
    "field2": "Outside Temperature",
    "created_at": "2010-12-13T20:20:06-05:00",
    "updated_at": "2014-02-26T12:43:04-05:00",
    "last_entry_id": 6060625
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T12:42:49-05:00",
      "entry_id": 6060624,
      "field1": "188"
    },
    {
      "created_at": "2014-02-26T12:43:04-05:00",
      "entry_id": 6060625,
      "field1": "164"
    }
  ]
}
Die Antwort ist ein XML Objekt mit dem Kanal Feld Feed, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
  <id type="integer">9</id>
  <name>my_house</name>
  <description>Netduino Plus connected to sensors around the house</description>
  <latitude type="decimal">40.44</latitude>
  <longitude type="decimal">-79.996</longitude>
  <field1>Light</field1>
  <field2>Outside Temperature</field2>
  <created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>
  <updated-at type="dateTime">2014-02-26T12:49:19-05:00</updated-at>
  <last-entry-id type="integer">6060650</last-entry-id>
  <feeds type="array">
    <feed>
      <created-at type="dateTime">2014-02-26T12:49:04-05:00</created-at>
      <entry-id type="integer">6060649</entry-id>
      <field1>160</field1>
      <id type="integer" nil="true"/>
    </feed>
    <feed>
      <created-at type="dateTime">2014-02-26T12:49:19-05:00</created-at>
      <entry-id type="integer">6060650</entry-id>
      <field1>171</field1>
      <id type="integer" nil="true"/>
    </feed>
  </feeds>
</channel>


Response in: TEXTJSONXML

Den letzten Eintrag eines Kanal Feld Feed erhalten


Um den letzten Eintrag eines Kanal Feld Feed zu erhalten, senden Sie HTTP GET an http://cloud.4bees.at/channels/CHANNEL_ID/fields/FIELD_ID/last.json.xml , ersetzen Sie CHANNEL_ID mit Ihrer Kanal ID und FIELD_ID mit der Feld ID.

Gültige Parameter:
  • api_key (string) iLese API Schlüssel für den bestimmten Kanal (optional--no key required for public channels)
  • timezone (string) Zeitzonen Bezeichner für diese Anfrage (optional)
  • offset (integer) Zeitzonen Offset in der das Resultat angezeigt werden soll. Bitte nutzen Sie den Zeitzone Parameter für eine höhere Genauigkeit. (optional)
  • status (true/false) Setzen Sie "status=true" damit Statusaktualisierungen in den Feed einbezogen werden (optional)
  • location (true/false) Setzen Sie "location=true" damit Latitude, Longitude und Höhe in den Feed einbezogen werden (optional)
  • callback (string) Funktionsname der für JSONP cross-domain Anfragen genutzt wird (optional)
  • prepend (string) Text der vor der API Antwort hinzugefügt wird (optional)
  • append (string) Text der nach der API Antwort hinzugefügt wird (optional)

GET Beispiel:
GET http://cloud.4bees.at/channels/9/fields/1/last.json.xml

Die Anwort ist der letzte Wert im Kanal Feld, zum Beispiel:
176
Die Antwort ist The response will be a JSON object of the most recent feed, for example:
{
  "created_at": "2014-02-26T21:27:21Z",
  "entry_id": 6061519,
  "field1": "176"
}
Die Antwort ist ein XML Objekt mit dem letzten Wert im Kanal Feld, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <created-at type="dateTime">2014-02-26T21:28:51Z</created-at>
  <entry-id type="integer">6061525</entry-id>
  <field1>200</field1>
  <id type="integer" nil="true"/>
</feed>

Response in: TEXTJSONXML

Statusaktualisierung erhalten


Um eine Kanal Statusaktualisierung anzusehen, senden Sie HTTP GET an http://cloud.4bees.at/channels/CHANNEL_ID/status.json.xml , ersetzen Sie CHANNEL_ID mit der ID Ihres Kanals.

Gültige Parameter:
  • api_key (string) Lese API Schlüssel für den bestimmten Kanal (optional--für öffentliche Kanäle ist kein Schlüssel erforderlich)
  • timezone (string) Zeitzonen Bezeichner für diese Anfrage (optional)
  • offset (integer) Zeitzonen Offset in der das Resultat angezeigt werden soll. Bitte nutzen Sie den Zeitzone Parameter für eine höhere Genauigkeit. (optional)
  • callback (string) Funktionsname der für JSONP cross-domain Anfragen genutzt wird (optional)

GET Beispiel:
GET http://cloud.4bees.at/channels/1417/status.json.xml

Die Antwort ist ein JSON Objekt mit den Kanal Statusaktualisierungen, zum Beispiel:
{
  "channel":
  {
    "name": "CheerLights",
    "latitude": "40.5",
    "longitude": "-80.22"
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T02:28:01Z",
      "entry_id": 11888,
      "status": "@cheerlights green"
    },
    {
      "created_at": "2014-02-26T22:05:31Z",
      "entry_id" :11889,
      "status": "@cheerlights blue"
    }
  ]
}
Die Antwort ist ein JSON Objekt mit den Kanal Statusaktualisierungen, zum Beispiel:
{
  "channel":
  {
    "name": "CheerLights",
    "latitude": "40.5",
    "longitude": "-80.22"
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T02:28:01Z",
      "entry_id": 11888,
      "status": "@cheerlights green"
    },
    {
      "created_at": "2014-02-26T22:05:31Z",
      "entry_id" :11889,
      "status": "@cheerlights blue"
    }
  ]
}
Die Antwort ist ein XML Objekt mit den Kanal Statusaktualisierungen, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
  <name>CheerLights</name>
  <latitude type="decimal">40.5</latitude>
  <longitude type="decimal">-80.22</longitude>
  <feeds type="array">
    <feed>
      <created-at type="dateTime">2014-02-26T02:28:01Z</created-at>
      <entry-id type="integer">11888</entry-id>
      <status>@cheerlights green</status>
      <id type="integer" nil="true"/>
    </feed>
    <feed>
      <created-at type="dateTime">2014-02-26T22:05:31Z</created-at>
      <entry-id type="integer">11889</entry-id>
      <status>@cheerlights blue</status>
      <id type="integer" nil="true"/>
    </feed>
  </feeds>
</channel>

Response in: TEXTJSONXML

Liste öffentlicher Kanäle


Um eine Liste der öffentlichen Kanäle anzusehen, senden Sie HTTP GET an
http://cloud.4bees.at/channels/public.json.xml .

Gültige Parameter:
  • page (integer) Anzahl der zu erhaltenden Seiten (optional)
  • tag (string) Name des Tag nach dem gesucht wird (optional)
  • username (string) Benutzername dessen Kanäle gesucht werden (optional)

Sie können auch nach Kanälen mit einem bestimmten Abstand zu einem angegebenen Standort suchen indem Sie folgende Standortparameter eingeben:
  • latitude (decimal) - Latitude des Standortes in Grad. (optional)
  • longitude (decimal) - Longitude des Stanortes in Grad. (optional)
  • distance (decimal) - Distanz in Kilometer zum angegebenen Standort. (optional)

GET Beispiel:
GET http://cloud.4bees.at/channels/public.json.xml

Die Antwort ist eine Internetseite mit Liste öffentlicher Kanäle.
Die Antwort ist ein JSON Objekt mit den öffentlichen Kanälen, zum Beispiel:
{
  "pagination":
  {
    "current_page": 1,
    "per_page": 15,
    "total_entries": 653
  },
  "channels":
  [
    {
      "id": 9,
      "name": "my_house",
      "description": "Netduino Plus connected to sensors around the house",
      "latitude": "40.44",
      "longitude": "-79.996",
      "created_at": "2010-12-13T20:20:06-05:00",
      "elevation": "",
      "last_entry_id": 6062691,
      "ranking" :100,
      "username":"hans",
      "tags":
      [
        {
          "id": 9,
          "name": "temp"
        },{
          "id": 25,
          "name": "light"
        }
      ]
    },
    {
      "id": 5683,
      "name": "Residential Data Points",
      "description": "Arduino Uno + Ethernet Shield",
      "latitude": "35.664548",
      "longitude": "-78.654972",
      "created_at": "2013-05-15T12:33:57-04:00",
      "elevation": "100",
      "last_entry_id": 731713,
      "ranking": 100,
      "username": "samlro",
      "tags":
      [
        {
          "id": 950,
          "name": "Analog Inputs"
        }
      ]
    }
  ]
}
Die Antwort ist ein XML Objekt mit den öffentlichen Kanälen, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <pagination>
    <current-page type="WillPaginate::PageNumber">1</current-page>
    <per-page type="integer">15</per-page>
    <total-entries type="integer">654</total-entries>
  </pagination>
  <channels type="array">
    <channel>
      <id type="integer">9</id>
      <name>my_house</name>
      <description>
      Netduino Plus connected to sensors around the house
      </description>
      <latitude type="decimal">40.44</latitude>
      <longitude type="decimal">-79.996</longitude>
      <created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>
      <elevation/>
      <last-entry-id type="integer">6062720</last-entry-id>
      <ranking type="integer">100</ranking>
      <username>hans</username>
      <tags type="array">
        <tag>
          <id type="integer">9</id>
          <name>temp</name>
        </tag>
        <tag>
          <id type="integer">25</id>
          <name>light</name>
        </tag>
      </tags>
    </channel>
    <channel>
      <id type="integer">5683</id>
      <name>Residential Data Points</name>
      <description>Arduino Uno + Ethernet Shield</description>
      <latitude type="decimal">35.664548</latitude>
      <longitude type="decimal">-78.654972</longitude>
      <created-at type="dateTime">2013-05-15T12:33:57-04:00</created-at>
      <elevation>100</elevation>
      <last-entry-id type="integer">731720</last-entry-id>
      <ranking type="integer">100</ranking>
      <username>samlro</username>
      <tags type="array">
        <tag>
          <id type="integer">950</id>
          <name>Analog Inputs</name>
        </tag>
      </tags>
    </channel>
  </channels>
</response>
Response in: TEXTJSONXML

Liste meiner Kanäle


Um eine Liste Ihrer Kanäle zu sehen, senden Sie HTTP GET an
http://cloud.4bees.at/channels.json.xml .

Gültige Parameter:
  • api_key (string) - Ihr Konto API Schlüssel (dieser ist unterschiedlich zu Ihrem Kanal API Schlüssel. Sie finden Ihn bei Ihren Kontoeinstellungen). (required)

GET Beispiel:
GET http://cloud.4bees.at/channels.json.xml

Die Antwort ist eine Internetseite mit einer Liste Ihrer Kanäle.
Die Antwort ist ein JSON Object mit Ihren Kanälen, zum Beispiel:
[
  {
    "id": 9,
    "name": "my_house",
    "description": "Netduino Plus connected to sensors around the house",
    "latitude": "40.44",
    "longitude": "-79.996",
    "created_at": "2010-12-13T20:20:06-05:00",
    "elevation": "",
    "last_entry_id": 6062691,
    "ranking" :100,
    "username":"hans",
    "tags": [],
    "api_keys":
    [
      {
        "api_key": "XXXXXXXXXXXXXXXX",
        "write_flag": true
      }
    ]
  },
  {
    "id": 5683,
    "name": "Residential Data Points",
    "description": "Connected Arduino",
    "latitude": "32.664548",
    "longitude": "-73.654972",
    "created_at": "2013-05-15T12:33:57-04:00",
    "elevation": "100",
    "last_entry_id": 731713,
    "ranking": 100,
    "username": "hans",
    "tags": [],
    "api_keys":
    [
      {
        "api_key": "XXXXXXXXXXXXXXXX",
        "write_flag": true
      }
    ]
  }
]
Die Antwort ist ein XML Objekt mit Ihren Kanälen, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<channels type="array">
  <channel>
    <id type="integer">9</id>
    <name>my_house</name>
    <description>
    Netduino Plus connected to sensors around the house
    </description>
    <latitude type="decimal">40.44</latitude>
    <longitude type="decimal">-79.996</longitude>
    <created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>
    <elevation/>
    <last-entry-id type="integer">6062720</last-entry-id>
    <ranking type="integer">100</ranking>
    <username>hans</username>
    <tags type="array" />
    <api-keys type="array">
        <api-key>
            <api-key>XXXXXXXXXXXXXXXX</api-key>
            <write-flag type="boolean">true</write-flag>
        </api-key>
    </api-keys>
  </channel>
  <channel>
    <id type="integer">5683</id>
    <name>Residential Data Points</name>
    <description>Connected Arduino</description>
    <latitude type="decimal">32.664548</latitude>
    <longitude type="decimal">-73.654972</longitude>
    <created-at type="dateTime">2013-05-15T12:33:57-04:00</created-at>
    <elevation>100</elevation>
    <last-entry-id type="integer">731720</last-entry-id>
    <ranking type="integer">100</ranking>
    <username>hans</username>
    <tags type="array" />
    <api-keys type="array">
        <api-key>
            <api-key>XXXXXXXXXXXXXXXX</api-key>
            <write-flag type="boolean">true</write-flag>
        </api-key>
    </api-keys>
  </channel>
</channels>

Response in: TEXTJSONXML

Kanal ansehen


Um einen bestimmten Kanal anzusehen, senden Sie HTTP GET an
http://cloud.4bees.at/channels/CHANNEL_ID.json.xml .

Gültige Parameter:
  • api_key (string) - Ihr Konto API Schlüssel (dieser ist unterschiedlich zu Ihrem Kanal API Schlüssel. Sie finden Ihn bei Ihren Kontoeinstellungen) Mein Konto. (optional).

GET Beispiel:
GET http://cloud.4bees.at/channels/1417.json.xml

Die Antwort ist eine Internetseite die den Kanal zeigt. Zum Beispiel Kanal 1.
Die Antwort ist ein JSON Objekt des Kanals, zum Beispiel:
{
  "id": 4,
  "name": "My New Channel",
  "description": null,
  "metadata": null,
  "latitude": null,
  "longitude": null,
  "created_at": "2014-03-25T13:12:50-04:00",
  "elevation": null,
  "last_entry_id": null,
  "ranking": 15,
  "username": "hans",
  "tags": []
}
Die Antwort ist ein XML Objekt des Kanals, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
    <id type="integer">4</id>
    <name>My New Channel</name>
    <description nil="true" />
    <metadata nil="true" />
    <latitude type="decimal" nil="true" />
    <longitude type="decimal" nil="true" />
    <created-at type="dateTime">2014-03-25T20:17:44-04:00</created-at>
    <elevation nil="true" />
    <last-entry-id type="integer" nil="true" />
    <ranking type="integer">15</ranking>
    <username>hans</username>
    <tags type="array" />
</channel>

Response in: TEXTJSONXML

Kanal erstellen


Um einen neuen Kanal zu erstellen, senden Sie HTTP POST an http://cloud.4bees.at/channels.json.xml .

Gültige Parameter:
  • api_key (string) - Benutzer API Schlüssel; dieser ist nicht gleich dem Kanal API Schlüssel. Sie finden Ihn in Mein Konto. (required).
  • description (string) - Beschreibung des Kanals (optional)
  • elevation (integer) - Höhe in Meter über dem Meeresspiegel (optional)
  • field1 (string) - Feld1 Name (optional)
  • field2 (string) - Feld2 Name (optional)
  • field3 (string) - Feld3 Name (optional)
  • field4 (string) - Feld4 Name (optional)
  • field5 (string) - Feld5 Name (optional)
  • field6 (string) - Feld6 Name (optional)
  • field7 (string) - Feld7 Name (optional)
  • field8 (string) - Feld8 Name (optional)
  • latitude (decimal) - Latitude in Grad (optional)
  • longitude (decimal) - Longitude in Grad (optional)
  • metadata (text) - Metadaten für den Kanal; kann JSON, XML, oder andere Danten enthalten (optional)
  • name (string) - Name des Kanals (optional)
  • public_flag (true/false) - Ob der Kanal öffentlich sein soll; Standardwert ist false (optional)
  • tags (string) - Tag Liste durch Kommas getrennt (optional)
  • url (string) - URL der Internetseite für diesen Kanal (optional)

POST Beispiel:
POST http://cloud.4bees.at/channels.json.xml
     api_key=XXXXXXXXXXXXXXXX
     name=My New Channel

Die Antwort ist eine Internetseite für Ihren neuen Kanal.
Die Antwort ist ein JSON Objekt für den neuen Kanal, zum Beispiel:
{
  "id": 4,
  "name": "My New Channel",
  "description": null,
  "metadata": null,
  "latitude": null,
  "longitude": null,
  "created_at": "2014-03-25T13:12:50-04:00",
  "elevation": null,
  "last_entry_id": null,
  "ranking": 15,
  "username": "hans",
  "tags": [],
  "api_keys":
  [
    {
      "api_key": "XXXXXXXXXXXXXXXX",
      "write_flag": true
    }
  ]
}
Die Antwort ist ein XML Objekt für den neuen Kanal, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
    <id type="integer">4</id>
    <name>My New Channel</name>
    <description nil="true" />
    <metadata nil="true" />
    <latitude type="decimal" nil="true" />
    <longitude type="decimal" nil="true" />
    <created-at type="dateTime">2014-03-25T20:17:44-04:00</created-at>
    <elevation nil="true" />
    <last-entry-id type="integer" nil="true" />
    <ranking type="integer">15</ranking>
    <username>hans</username>
    <tags type="array" />
    <api-keys type="array">
        <api-key>
            <api-key>XXXXXXXXXXXXXXXX</api-key>
            <write-flag type="boolean">true</write-flag>
        </api-key>
    </api-keys>
</channel>

Response in: TEXTJSONXML

Kanal aktualisieren


Um einen Kanal zu aktualisieren, senden Sie HTTP PUT an
http://cloud.4bees.at/channels/CHANNEL_ID.json.xml .

Gültige Parameter:
  • api_key (string) - Benutzer API Schlüssel; dieser ist nicht gleich dem Kanal API Schlüssel. Sie finden Ihn in Mein Konto. (required).
  • description (string) - Beschreibung des Kanal (optional)
  • elevation (integer) - Höhe in Meter über dem Meeresspiegel (optional)
  • field1 (string) - Feld1 name (optional)
  • field2 (string) - Feld2 name (optional)
  • field3 (string) - Feld3 name (optional)
  • field4 (string) - Feld4 name (optional)
  • field5 (string) - Feld5 name (optional)
  • field6 (string) - Feld6 name (optional)
  • field7 (string) - Feld7 name (optional)
  • field8 (string) - Feld8 name (optional)
  • latitude (decimal) - Latitude in Grad (optional)
  • longitude (decimal) - Longitude in Grad (optional)
  • metadata (text) - Metadaten für den Kanal; kann JSON, XML, oder andere Daten enthalten (optional)
  • name (string) - Name des Kanals (optional)
  • public_flag (true/false) - Ob der Kanal öffentlich ist; Standardwert ist false (optional)
  • tags (string) - Tag List durch Kommas getrennt (optional)
  • url (string) - URL der Internetseite für diesen Kanal (optional)

PUT Beispiel:
PUT http://cloud.4bees.at/channels/4.json.xml
    api_key=XXXXXXXXXXXXXXXX
    name=Updated Channel

Die Antwort ist eine Internetseite mit dem aktualisierten Kanal.
Die Antwort ist ein JSON Objekt mit dem aktualisierten Kanal, zum Beispiel:
{
  "id": 4,
  "name": "Updated Channel",
  "description": null,
  "metadata": null,
  "latitude": null,
  "longitude": null,
  "created_at": "2014-03-25T13:12:50-04:00",
  "elevation": null,
  "last_entry_id": null,
  "ranking": 15,
  "username": "hans",
  "tags": [],
  "api_keys":
  [
    {
      "api_key": "XXXXXXXXXXXXXXXX",
      "write_flag": true
    }
  ]
}
Die Antwort ist ein XML Objekt mit dem aktualisierten Kanal, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
    <id type="integer">4</id>
    <name>Updated Channel</name>
    <description nil="true" />
    <metadata nil="true" />
    <latitude type="decimal" nil="true" />
    <longitude type="decimal" nil="true" />
    <created-at type="dateTime">2014-03-25T20:17:44-04:00</created-at>
    <elevation nil="true" />
    <last-entry-id type="integer" nil="true" />
    <ranking type="integer">15</ranking>
    <username>hans</username>
    <tags type="array" />
    <api-keys type="array">
        <api-key>
            <api-key>XXXXXXXXXXXXXXXX</api-key>
            <write-flag type="boolean">true</write-flag>
        </api-key>
    </api-keys>
</channel>

Response in: TEXTJSONXML

Kanaldaten löschen


Um alle Kanaldaten zu löschen, senden Sie HTTP DELETE an http://cloud.4bees.at/channels/CHANNEL_ID/feeds.json.xml .

Gültige:
  • api_key (string) - Benutzer API Schlüssel; dieser ist nicht gleich dem Kanal API Schlüssel. Sie finden Ihn in Mein Konto. (required).

DELETE Beispiel:
DELETE http://cloud.4bees.at/channels/4/feeds.json.xml
       api_key=XXXXXXXXXXXXXXXX

Die Antwort ist eine Internetseite mit Ihrem Kanal.
Die Antwort ist ein leeres JSON Array, zum Beispiel:
[]
Die Antwort ist ein leeres XML Array, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<nil-classes type="array" />

Response in: TEXTJSONXML

Kanal löschen


Um eine Kanal zu löschen, senden Sie HTTP DELETE an http://cloud.4bees.at/channels/CHANNEL_ID.json.xml , replacing CHANNEL_ID with the ID of your Channel.

Gültige Parameter:
  • api_key (string) - Benutzer API Schlüssel; dieser ist nicht gleich dem Kanal API Schlüssel. Sie finden Ihn in Mein Konto. (required).

DELETE Beispiel:
DELETE http://cloud.4bees.at/channels/4.json.xml
       api_key=XXXXXXXXXXXXXXXX

Die Antwort ist eine Internetseite mit einer Liste der Kanäle.
Die Antwort ist ein JSON Objekt des Kanals bevor er gelöscht wurde, zum Beispiel:
{
  "id": 4,
  "name": "My New Channel",
  "description": null,
  "latitude": null,
  "longitude": null,
  "created_at": "2014-03-25T13:12:50-04:00",
  "elevation": null,
  "last_entry_id": null,
  "ranking": 15,
  "username": "hans",
  "tags": []
}
Die Antwort ist ein XML Objekt des Kanals bevor er gelöscht wurde, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
    <id type="integer">4</id>
    <name>My New Channel</name>
    <description nil="true" />
    <latitude type="decimal" nil="true" />
    <longitude type="decimal" nil="true" />
    <created-at type="dateTime">2014-03-25T20:17:44-04:00</created-at>
    <elevation nil="true" />
    <last-entry-id type="integer" nil="true" />
    <ranking type="integer">15</ranking>
    <username>hans</username>
    <tags type="array" />
</channel>



Importer

Mit dem cloud4Bees Importer, können Sie Daten von einer CSV Datei direkt in einen cloud4Bees Kanal importieren. Um den Importer zu nutzen wählen Sie Kanal, und klicken Sie Daten Import.

Das Format der CSV Datei sollte wie folgt aussehen:

datetime,field1,field2,field3,field4,field5,field6,field7,field8,latitude,longitude,elevation,status

Here is an example CSV file: Beispieldatei im CSV Format

Sie müssen einen Zeitstempel und mindestens ein Feld senden. Der Zetistempel kann in verschiedenen Formaten sein, wie z.B ISO 8601 oder MySQL Zeit Format. Wenn das Datum einen GMT/UTC Offset beinhaltet, wird dieser beim Import entsprechend berücksichtigt. Wenn der Zeitstempel keinen GMT / UTC Offset beinhaltet, können Sie eine Zeitzone bestimmen.