Integrazione Shelly - Apple Shortcut

Richieste varie sugli SHELLY.
Rispondi
sumaqui
Messaggi: 5
Iscritto il: lunedì 30 maggio 2022, 9:36

lunedì 30 maggio 2022, 10:19

Di nuovo buongiorno a tutti,

come anticipato vi espongo in mio problema relativo all'integrazione delle API di Shelly Cloud su dispositivo iOS.

HARDWARE: shelly 4 PRO PM - Apple iPhone SE2 con iOS 15.5 aggiornato

IL MIO PROPOSITO: generare un link da inserire sull'applicazione Apple Shortcut che punti al mio server Shelly e che passi i parametri necessari per andare ad operare sul mio dispositivo Shelly. Banalmente l'unica integrazione della quale necessito ad oggi sarebbe quella che mi permette di chiudere e aprire ognuno dei relè del mio Shelly 4 PRO PM che sto utilizzando come test.

COSA VOGLIO EVITARE: per il mio scopo devo evitare di utilizzare qualsiasi intermediario tipo Alexa, Apple Home, Google Home. Ho necessità di un link diretto o di una chiamata POST secca al server Shelly che faccia ciò che ho esposto pocanzi.

MATERIALE CONSULTATO: ho consultato una bellissima guida ufficiale Shelly (https://shelly-api-docs.shelly.cloud/cl ... unication/) che unitamente al tutorial Apple (https://support.apple.com/it-it/guide/s ... 0/ios/15.0) sembrava proprio fare al caso mio... Questo almeno nella teoria... Poi nella pratica ci ho sbattuto la testa alcuni giorni e alla fine sono qui a chiedere il vostro aiuto.

IL PUNTO DELLA DOMANDA: dalla guida Shelly di cui sopra, ho inteso chiaramente i parametri da passare nella chiamata al server (device_id, auth_key, server_uri, channel_id...) ma una volta che compongo il mio link e lo inserisco in Apple Shortcut, mi da errore e non esegue il comando.
Qualcuno ci ha già lavorato?
Esiste un esempio funzionante dal quale prendere spunto?


Ringrazio tutti in anticipo.
sumaqui
Messaggi: 5
Iscritto il: lunedì 30 maggio 2022, 9:36

lunedì 30 maggio 2022, 19:30

Buonasera a tutti,
una giornata di testate sul muro in più ed ho risolto.
Sinceramente in rete non ho trovato molto a riguardo, solamente un video di un tedesco che l'ha fatto, ma probabilmente con una versione di firmware Shelly vecchia (infatti facendo esattamente come ha fatto lui, non funziona).
Riporto qui di seguito due immagini con una breve descrizione in modo da condividere con tutti quanto ho fatto.

OBIETTIVO: controllare un un relè Shelly con Siri, senza nessuna intermediazione da parte di assistenti come Alexa, Google Assistant, Apple Home. (con i quali per altro, non tutti dispositivi Shelly sono compatibili...)

HARDWARE: qualsiasi dispositivo mobile Apple con Siri a bordo (io ho usato un iPhone con iOS 15.5), un relè 4 canali Shelly-4-PRO-PM (non ho testato il metodo con altri relè, ma credo che il concetto sia esattamente lo stesso.

PROCEDURA:
1) configurare e connettere alla propria rete un relè Shelly
2) inserirlo su Shelly Cloud
...e fino a qui ci si arriva con le istruzioni classiche...
3) ottenere dallo Shelly Cloud i parametri "auth_key", "server_uri" e "device_id" del proprio account/dispositivo.
...per fare ciò può essere di aiuto la seguente guida, disponibile sul sito Shelly: https://shelly-api-docs.shelly.cloud/cloud-control-api/
4) scaricare sul proprio dispositivo iOS l'app nativa Apple "Comandi Rapidi" e creare un nuovo comando rapido come da seguente immagine:
1.png
1.png (54.46 KiB) Visto 4548 volte
- Inserire il server-uri precedentemente ottenuto, (differirà dal mio nel numero 42, perchè gli account possono essere allocati su server diversi) seguito dalla dicitura "/device/relay/control"
- Impostare il metodo POST
- Non inserire alcuna intestazione
- Impostare il Corpo Della Richiesta su "Modulo" e creare i 4 campi "auth_key", "turn", "channel", "id".
- inserire i propri parametri di Authorization Key (auth_key) e Device ID (id).
- nel campo "turn" inserire il comando, che può essere "on" o "off" (non escludo che possa esserci anche il comando "toggle", ma non ho provato)
- nel campo "channel" inserire l'identificativo del relè che si vuole comandare (da notare che nel caso del Shelly-4-PRO cha ha 4 canali, il primo canale è identificato con il numero "0"; il secondo canale è identificato con il numero "1" e così via...)

Fatto! Dare un nome al Comando Rapido (nel mio caso "Accendi 1") così che lo si possa chiedere a Siri con "Hey siri, accendi 1"


Nel caso in cui si vogliano controllare tutti i canali dello Shelly-4-PRO, in accensione e spegnimento, si copia il comando appena realizzato e si apportano le modifiche opportune ai campi sopra elencati:
2.png
2.png (78.75 KiB) Visto 4548 volte
Per chi fosse interessato ad utilizzare questo metodo in ambito businnes, è bene ricordare che Shelly non garantisce che il server rimanga per sempre lo stesso. Perciò si corre il rischio che il parametro "server_uri" cambi, al che il comando dovrebbe essere aggiornato con il nuovo URL del server che viene assegnato al nostro account. Non so con che frequenza questo succeda.

Spero che sia di utilità a qualcuno.

A.
eleirbag
Messaggi: 2
Iscritto il: domenica 3 settembre 2023, 16:36

domenica 3 settembre 2023, 16:38

Ciao, ho provato a seguire quando da te riportato e mi funziona solo quando sono connesso in wifi.
Se mi connetto con la rete dell’operatore mobile mi fornisce il messaggio di errore: “La connessione ad internet sembra essere disattivata”.
Dove sbaglio?
eleirbag
Messaggi: 2
Iscritto il: domenica 3 settembre 2023, 16:36

domenica 3 settembre 2023, 16:59

Ho risolto. Grazie lo stesso
Rispondi