Device REST API

The device implements a http REST API, available at port 80. It supports the following endpoints:

  • GET /api/v1/info to read various information, e.g.
{
  "id": "3c690779cf58",
  "v": "1.6.6",
  "m": "ALL",
  "ssid": "Coverage2.4GHz",
  "localIP": "10.0.1.10",
  "mqtt": "",
  "name": "Dev C3",
  "imps": 1000,
  "t": "2023-04-05T09:19:51+0200",
  "rr": "POWERON",
  "rssi": "-53"
}
  • POST /api/v1/info to update mqtt, name and imps.
  • GET /api/v1/scan to list the scanned WiFi networks, e.g.
{
  "deviceId": "3c690779cf58",
  "version": "1.6.6",
  "networks": [
    {
      "ssid": "Coverage2.4GHz",
      "auth": true,
      "rssi": -54
    },
    {
      "ssid": "Fantastic5",
      "auth": true,
      "rssi": -72
    },
    {
      "ssid": "Awesome Foursome",
      "auth": true,
      "rssi": -72
    }
  ]
}

note: first scan response will be empty, unless the device is unconfigured / in captive mode (LED is blue).

  • POST /api/v1/restart to restart the device
  • POST /api/v1/provision to set the WiFi ssid and pass credentials, along with gmtOffset
  • POST /api/v1/fota to trigger a FOTA to specified url and md5
  • POST /api/v1/firmware to upload a new firmware binary file
  • POST /api/v1/factory_reset to clear all properties, e.g. WiFi credentials (but preserves current firmware)
  • POST /api/v1/device to change state of an appliance. Params:
    idPrefix=ID_PREFIX
    to=TO_STATE_NAME
    [actual=95]
    e.g.
    curl -v 'http://currentlyone_3c690779cf58.local/api/v1/device' -d 'idPrefix=wine_cool' -d 'to=cooling' -d 'actual=81'

Finns det planer pÄ att Àven kunna fÄ mÀtdata via API?

Hej Lars,
det finns tre lokala APIer som du kan konsumera redan idag:

  1. EventSource API
  2. MQTT protocol / API
  3. OBIS/telnet

Du kanske menade ett API till servern, men det Àr Àn sÄ lÀnge bara pÄ vÄr roadmap att göra det vÀnligt för generella klienter att konsumera.

HĂ€lsningar
Ola pÄ Currently

Tack för snabbt svar!
Jag skulle vilja hÀmta informationen direkt frÄn enheten till en smarthemlösning frÄn Fibaro. Fibaro Àr kanske inte den största spelaren pÄ marknaden men de har sina fördelar. Jag har gjort en QuickApp dÀr det hade varit kul att Àven kunna hÀmta information frÄn Currently One.
P1/HAN reader (API) | Marketplace FIBARO
TyvÀrr har jag inte tillgÄng till nÄgon Currently One sÄ du fÄr gÀrna kontakta mig om det skulle finnas nÄgon som jag kan nÄ för att testa integrationen.
/Lars

Intressant! Det lÄter som om Bonjour i kombination med EventSource vore enklast för integration med Currently One.

Vad Àr det för APIer du anvÀnt hittills i integrationerna? Jag ser du stödjer HomeWizard, AMSreader och Smartgateways.

H / Ola

Lade Àven till ett enkelt exempel pÄ Bonjour:

För de andra görs bara en GET-förfrÄgan efter ett givet intervall. Det motsvarar ju exemplen som du har i första posten i denna trÄden, men med mÀtardata i JSON-strÀngen. Hade det varit samma i din lösning hade det varit bra :slight_smile:
De andra tre ser ganska lika ut, skiljer i princip bara pÄ attributnamnen

Jag Àr tveksam till pollning, för dÄ bygger du in en latens som Àr svÄr att fÄ bort.
Är det Ă„tminstone GET med If-Modified-Since?

Intervallet Àr pÄ 10 sekunder sÄ det borde inte vara nÄgra problem, gissar att det flesta elmÀtarna inte lÀmnar ifrÄn sig vÀrden sÄ mycket oftare. SÄ Nej, den kollar inte om vÀrdet Àr det samma.

SÄ Àven om elmÀtaren ger nya vÀrden varannan sekund, sÄ vill du bara polla senaste vÀrdet var tionde sekund?

Ja det duger fint. Jag kan inte komma pÄ nÄgon anledning till att man skulle behöva data tÀtare. Det jag skulle kunna tÀnka mig Àr elbilsladdning beroende pÄ belastning/överskott, men dÄ gÄr man nog inte via Fibaro.

1 Like

Hej,
Jag har nu lagt med stöd för CurrentlyOne i Fibaro QAn. HÀmtar informationen frÄn telnet istÀllet för via API. Kört nÄgon vecka och det funkar bra.

1 Like