❮  Интеграции

Entrixy → Shelly

Готовый пример подключения к Entrixy. Формат вебхука — entrixy.com/webhook.

Smart-реле Shelly (1, Plus 1, Pro 1, 2.5 и другие) принимают команды через свой HTTP API, но подпись Entrixy не проверяют. Поэтому варианта три.

Вебхук с телефона внутри домашней сети

В Entrixy создайте объект «Вебхук» в режиме «С вашего телефона» с адресом реле, например для Shelly 1 (Gen1):

http://<SHELLY-IP>/relay/0?turn=on

Телефон владельца отправит на этот адрес POST, пока подключён к домашней сети; реле берёт команду из адреса. Подпись Shelly не проверяет, поэтому включить реле может и любой другой участник этой сети. Чтобы реле отпускало само, настройте Auto-off (см. ниже). В режиме «С сервера Entrixy» адреса домашней сети не принимаются.

Вариант 1: через Home Assistant (рекомендуется)

Shelly → HA (через интеграцию Shelly или MQTT) → webhook receiver. См. integrations/home-assistant/.

В HA автоматизация:

action:
  - service: switch.turn_on
    target:
      entity_id: switch.shelly_kitchen

Вариант 2: HTTP-прокси

Shelly Gen2/Pro принимает RPC через HTTP. Например для Shelly Plus 1:

http://<SHELLY-IP>/rpc/Switch.Set?id=0&on=true

или GET-style на Gen1 (Shelly 1):

http://<SHELLY-IP>/relay/0?turn=on

Но Entrixy шлёт POST с HMAC-подписью, а Shelly не валидирует подпись. Поэтому:

  1. В приложении создайте объект «Устройство» (socket) и вставьте device_key/device_secret в integrations/nodejs/entrixy.js (или integrations/raspberry-pi/). Скрипт сам подключается к Entrixy наружу — публичный URL не нужен.
  2. В обработчике onOpen() замените логику на:
await fetch('http://192.168.1.50/rpc/Switch.Set?id=0&on=true');
setTimeout(() => fetch('http://192.168.1.50/rpc/Switch.Set?id=0&on=false'), 500);
  1. Никакой webhook URL не указывается — это объект «Устройство», а не «Веб-хук».

Auto-off в самом Shelly

Чтобы не делать второй запрос для выключения, настройте в Shelly UI: Settings → Auto-off → 1 second — реле само отключится через секунду.

После этого в прокси достаточно одного запроса на включение.