Integrare Home Assistant con Shangrilux
Usa Home Assistant come hub centralizzato per integrare qualsiasi dispositivo smart home con Shangrilux tramite REST API e webhook.
Nota: Questa integrazione richiede Home Assistant OS, Supervised o Container. Home Assistant Cloud (Nabu Casa) facilita l'accesso remoto. Compatibile con HA versione 2024.1 o superiore.
Prerequisiti
- Home Assistant installato e accessibile (locale o remoto)
- Long-Lived Access Token generato in HA
- Dispositivi già configurati in Home Assistant (serrature, luci, sensori)
- URL pubblico di HA (tramite Nabu Casa, Nginx Proxy o tunnel)
Configurazione Home Assistant
Genera un Long-Lived Access Token
In HA → Profilo utente (in basso a sinistra) → Sicurezza → Long-Lived Access Tokens → Crea token. Nome: "Shangrilux Integration". Copia il token (mostrato una sola volta).
Verifica l'accesso API REST
Testa la connessione dalla tua macchina:
curl -X GET https://TUO-HA-URL/api/ \
-H "Authorization: Bearer TUO_TOKEN" \
-H "Content-Type: application/json"
# Deve rispondere: { "message": "API running." }Configura in Shangrilux
Admin → Integrazioni → Home Assistant → inserisci URL HA e Access Token. Shangrilux scoprirà automaticamente tutti gli entity_id disponibili.
Mappa gli entity in Shangrilux
Per ogni serratura o dispositivo, seleziona il corrispondente entity_id HA (es. lock.porta_principale) e mappa all'unità in Shangrilux.
Configura le Automazioni HA per il check-in
Crea un'automazione in HA che reagisce al webhook Shangrilux:
# configuration.yaml — Webhook trigger da Shangrilux
automation:
- alias: "Shangrilux Check-in Ospite"
trigger:
platform: webhook
webhook_id: shangrilux_checkin_secret_token_123
action:
- service: lock.unlock
target:
entity_id: lock.porta_principale
- service: light.turn_on
target:
entity_id: light.ingresso
data:
brightness_pct: 100
color_name: warm_white
- service: climate.set_temperature
target:
entity_id: climate.soggiorno
data:
temperature: 22Configura il webhook di ritorno (stato → Shangrilux)
In HA, crea un'automazione che notifica Shangrilux quando lo stato di un dispositivo cambia:
automation:
- alias: "Notifica Shangrilux cambio stato serratura"
trigger:
platform: state
entity_id: lock.porta_principale
action:
- service: rest_command.shangrilux_notify
data:
entity_id: "{{ trigger.entity_id }}"
state: "{{ trigger.to_state.state }}"
timestamp: "{{ now().isoformat() }}"
rest_command:
shangrilux_notify:
url: "https://app.shangrilux.com/api/webhook/homeassistant?slug=IL-TUO-SLUG"
method: POST
headers:
Authorization: "Bearer OSTIVEX_WEBHOOK_SECRET"
payload: '{"entity_id": "{{ entity_id }}", "state": "{{ state }}"}'Integrazioni Dispositivi Consigliati via HA
| Dispositivo | Integrazione HA | Funzione in Shangrilux |
|---|---|---|
| Z-Wave Smart Locks | Z-Wave JS UI | Apertura/chiusura porta |
| Zigbee Sensors | ZHA / Zigbee2MQTT | Rilevamento occupazione |
| Philips Hue | Hue Integration | Illuminazione check-in |
| Somfy | Somfy integration | Tapparelle automatiche |
| Thermostat Nest/Ecobee | Cloud Polling | Clima per arrivo ospite |
Consiglio: Usa il componente "template sensor" di HA per esporre valori calcolati (es. numero ospiti attivi, tempo dall'ultimo accesso) come entity leggibili da Shangrilux via REST.