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 7010 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 7010 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
onsibus
Messaggi: 4
Iscritto il: venerdì 7 gennaio 2022, 17:15

sabato 30 marzo 2024, 9:19

Ottima guida, anche io ho realizzato nel tuo stesso modo i comandi. Aggiungo che in questo modo diventa facilissimo creare un automazione che avvicinandosi a casa esegua ad esempio l’apertura del cancello di casa. Basta utilizzare appunto i Comandi Rapidi e creare un’automazione. L’unica attenzione da seguire è di NON dare un nome al comando rapido tipo “Apri cancello” altrimenti l’iPhone fa intervenire l’app “Home” chiedendo di configurarla ecc… Per cui cui andate di fantasia!!!
apez84
Messaggi: 2
Iscritto il: mercoledì 15 maggio 2024, 14:53

mercoledì 15 maggio 2024, 14:55

Buongiorno,

grazie per la guida. Ho i parametri salvati dei miei due device non trovo però corrispondenza nei menu e nelle voci lato "comandi rapidi" IOS (credo dovuto agli aggiornamenti apportati all'app negli anni).

C'è qualcuno che sarebbe in grado di guidarmi rispetto alla nuova app comandi rapidi?

Grazie molte.

Francesco
apez84
Messaggi: 2
Iscritto il: mercoledì 15 maggio 2024, 14:53

mercoledì 15 maggio 2024, 16:15

Ecco appunto sono appena riuscito, diciamo che nel frattempo i menu erano decisamente cambiati e prima di trovare la voce url, ci ho speso un po’ di tempo :)

Ora altro dubbio, sto comandando due Shelly plus1 uno per garage e uno per cancello scorrevole, quando invoco la buona Siri ho notato che devo dire Comandi Rapidi e poi il nome del dispositivo che gli ho dato. Se invece chiamo il dispositivo 1 e l’altro 2 e gli dico Siri apri 1 mi rimanda sempre alla sua app home.

Anche qui sono cambiate le carte? Io vorrei solo dire Siri apri cancello o in alternativa apri 1, ecco !

Grazie !
mr.burn
Messaggi: 1
Iscritto il: domenica 19 maggio 2024, 22:02

mercoledì 22 maggio 2024, 19:35

Ciao a tutti e grazie mille per la guida che finalmente mi ha fatto automatizzare il tutto da iPhone.
Manca però il poter usare il comando da Siri, neanche io riesco e anche se nomino il comando rapido come "Accendi 1" mi rimanda sempre ad Home Kit dicendomi che non ha quel dispositivo
Ivantaranto
Messaggi: 1
Iscritto il: giovedì 30 maggio 2024, 22:09

giovedì 30 maggio 2024, 22:13

Buonasera a tutti,
Anche io ho lo stesso problema.
Ho due Shelly 1 plus che comandano rispettivamente l’apertura di due cancelli automatici.
Ho creato i Comandi Rapidi su iPhone e fin qui tutto bene anche creando un segnalibro sulla home, se li premo mi si aprono i rispettivi cancelli.
La domanda è, come faccio a creare un unico comando per far aprire tutti e due i cancelli?
Inoltre, come gli altri, ho problemi nella gestione vocale con Siri in quanto mi rimanda all’Homekit dicendo che non trova nessun dispositivo associato.
Rispondi