Skip to content
mrpi edited this page Jul 24, 2013 · 7 revisions

Das Format

Die JSON Strings sind wie folgt aufgebaut:

{"type":<type>[, "state":<state>][, "id":<id>]["<id>":<state>, ...][, "p1"=<wattage>, "p2"=<wattage>, "p3"=<wattage>]}

Attribute

Beim senden kann <type> folgendes sein:

  • "toggle"
    • schaltet den Status um, AN wird AUS, AUS wird AN
  • "switchOn"
    • schaltet ein Licht ein
  • "switchOff"
    • schaltet ein Licht aus
  • "set"
    • setzt den Zustand von einen oder mehren Lichtern
    • bei der Angabe dieses Typs muss entweder das Attribut "state" genutzt werden oder die Form ["<id>":<state>, ...] gewählt werden
    • Achtung:
      • Bei den Nutzen einer API, welche die ID andersartig mitteilt, muss das Attribut "state" genutzt werden. Beim Empfang können es folgende Werte sein:
  • "power"
    • es wird der Aktuelle Energie Verbrauch ausgesandt, die Form [, "p1"=<wattage>, "p2"=<wattage>, "p3"=<wattage>] ist angegeben.
  • "states"
    • es handelt sich um den aktuellen Status der Lichter, hierbei wird immer das Attribut "state" sowie die Form ["<id>":<state>, ...] angegeben.
      • "state" ist hierbei 1 sofern mindestens eines der Abgefragten Lichter an ist.

Das Attribut "state" schaltet das Licht auf den mit <state> angegebenen Status, dieses Attribut wird nur bei "type":"set" genutzt oder gibt bei einer Abfrage oder eines Events den Status des Abgefragten Lichtes wieder. Bei der Abfrage von mehren Lichter, ist es 1 sofern mindestens eines der Lichter an ist.

Das Attribut "id" gibt die Licht ID an.

Die Attribute "<id>" dienen dazu, wenn mehrer Lichter geschaltet werden sollen oder wenn mehrer Lichter Abgefragt wurden.

Die Attribute p[1-3] werden nur ausgesandt und geben den Verbrauch auf den Phasen [1-3] wieder.

Angabe oder Werte

Die Angabe für <state> kann 1 (entspricht AN) oder 0 (entspricht AUS) sein.

<id> ist eine eindeutige Licht ID .

Für <wattage> wird der aktuelle Strom Verbrauch in Watt angegeben.

Wichtige Hinweise:

  • Für APIs welche die Licht ID andersartig mitteilen (z.B. die REST-API ) gilt:
    • es werden alle anderen ID angaben ignoriert, ausnahmen sind Abfragen.
  • Bei den nutzen von "toggle", "switchOn" und "switchOff" gilt:
    • Die Attribute ["<id>":<state>, ...] können nicht genutzt werden
  • Attribute welche eine ID angeben können nur bei APIs genutzt werden, welche diese nicht anderes mitteilen, z.B. websocket

Beispiele:

senden:

{"type":"switchOn"}
{"type":"toggle", "id":120}
{"type":"set", "state":0}
{"type":"set", "id":120, "state":1}
{"type":"set", "110":1, "111":0, "123":1}

empfangen:

{"type":"power", "p1":1200, "p2":1000, "p3":600}
{"type":"states", "id":120, "state":1, "120":1}
{"type":"states", "120":0, "121": 1, "state":1}
{"type":"states", "120":0, "121": 0, "state":0}
{"type":"states", "120":1, "121": 1, "state":1}

Clone this wiki locally