### `GET /status`

#### Пример запроса состояния реле

```json
{
  "status": "ok",
  "channels": [
    {
      "id": 0,
      "state": "off",
      "inverted": true
    }
  ]
}

```

---

### `POST /action`

#### Пример запроса на смену состояния реле в разомкнутый

```json
{
  "action": "set_state",
  "params": {
    "state": "off"
  }
}
```

или

```json
{
  "action": "set_channel_state",
  "params": {
    "channel":0,
    "state":"off"
  }
}
```

---

### `POST /action`

#### Пример запроса для смены состояния реле на противоположный

```json
{
  "action": "toggle_channel",
  "params": {
    "channel": 0
  }
}
```

---

### Опционально

Реле может генерировать ивент от концевика, или даже концевиков, в зависимости от реализации конкретного реле. 
В целом - это может быть полезно, а потому ожидаемо сервером.

#### Пример запроса от смарт реле к серверу

```json
{
  "device_type": "relay",                // Тип устройства (relay, sensor, button и т.п.)
  "device_id": "ecf0a1b5c9d74f9a8e294c1f67b0a8b9", // Уникальный идентификатор устройства
  "event_name": "limit_switch_activated", // Название события (button_press, state_change, sensor_data и т.д.)
  "data": {}
}