eglio
8================D
Messaggi: 4,914
|
Post by eglio on Oct 30, 2018 21:46:02 GMT 1
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 1, 2018 18:16:57 GMT 1
va per le 100 shortcut
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 6, 2018 17:37:14 GMT 1
Non ne capisco ma sembra fico
https://www.reddit.com/r/shortcuts/comments/9pp6hh/utility_shortcut_to_run_javascript/
iOS grazie alle Shortcut diventa la vera piattaforma mobile per smanettoni
|
|
ally
8==========D
Messaggi: 1,678
|
Post by ally on Nov 6, 2018 18:05:04 GMT 1
attendiamo gli exploit...
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 6, 2018 18:17:26 GMT 1
Una modifica che sarebbe auspicabile vedere in iOS13 (e su reddit ciclicamente qualcuno lo chiede) è dare la possibilità di eseguire le Shortcut aggiunte in homescreen completamente in background (invece che sorbirsi l’animazione di ingresso nella app Comandi), come avviene per quelle rapide nel widget. Magari con tanto di animazione stile icona che si riempe da sinistra a destra, come fanno quelle nel widget. Il problema è che adesso sono semplici URL Schemes linkati ad un’icona. Per fare quello che dicevo bisognerebbe creare una quarta categoria (oltre ad apps, link e cartelle) di icona nella homescreen: la “widgeticona”. È evidente che quando le shortcut cominciano ad essere decine non si possono tenere tutte nel widget, mentre nella homescreen ci si puó sbizzarrire con le cartelle. Comunque nel frattempo vi dico 2 tricks per migliorare la situazione attuale: - installare un launcher di terze parti (non per utilizzarlo veramente) che abbia fra gli URL schemes customizzati un URL che causi il ritorno in homescreen, e quindi mettere l’apertura di tale URL in calce a tutti i vostri flow, come spiegato qui: https://www.reddit.com/r/shortcuts/comments/9l3mg0/if_you_want_to_go_back_to_your_ios_homescreen/ - attivare “Riduci movimento” in accessibilità in modo da eliminare le varie animazioni zoom in e zoom out per l’apri e chiudi - per personalizzare le icone delle Shortcut aggiunte in home (es. mettere il logo dell’occhio di Chiara Ferragni a tutte le Shortcut create da voi) è comoda questa shortcut: routinehub.co/shortcut/607(a proposito, RoutineHub e UpdateKit già segnalati in OP confermo essere strumenti imperdibili) A proposito di URL Schemes da integrare dentro le Shortcut, potete usare come stele di Rosetta per conoscere e copiare gli URL Schemes (di sistema e di app terze) questo launcher che negli anni è arrivato a supportare (e quindi esporre gli URL Schemes di) 100k apps: Launch Center Pro di Contrast itunes.apple.com/it/app/launch-center-pro/id532016360?mt=8
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 6, 2018 22:23:13 GMT 1
- installare un launcher di terze parti (non per utilizzarlo veramente) che abbia fra gli URL schemes customizzati un URL che causi il ritorno in homescreen, e quindi mettere l’apertura di tale URL in calce a tutti i vostri flow, come spiegato qui: https://www.reddit.com/r/shortcuts/comments/9l3mg0/if_you_want_to_go_back_to_your_ios_homescreen/ Anzi si puó creare direttamente una mini shortcut “Torna ad Home” da usare dentro altre shortcut www.icloud.com/shortcuts/8d42fc67d6ee40f896fa665b2e97875dda mettere (tramite “Esegui il comando rapido”) come ultimo step (o anche come primo step...il workflow continuerà a girare in background, purchè non contenga un comando “Attendi” più lungo di 170 secondi...dopo verrebbe purgato dalla RAM) nelle Shortcut dove lo doveste ritenere appropriato (al limite per alcune shortcut potere creare due versioni, una per il widget senza “Torna ad Home” e una per la home con il “Torna ad Home) affinchè la mini shortcut postata funzioni deve essere installata questa app itunes.apple.com/it/app/launcher-con-widget/id905099592?mt=8
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 7, 2018 12:18:06 GMT 1
Stavo lavorando su questa shortcut mattutina www.icloud.com/shortcuts/a2b46d8bc1074f98b12fa9ebe6079f11la quale con un solo clic mentre ancora sto prendendo conoscenza nel letto: - accende la macchinetta del caffè (collegata a ciabatta Koogeek), richiamando una apposita scena domotica homekit - accende la tv sony (tramite la solita app vista qualche pagina fa) - posiziona la tv sony su input hdmi2 qualora non ci fosse già - accende il decoder (linux enigma2) - sintonizza il decoder su SkyTG24 - attiva il Picture-in-Picture sul decoder - sintonizza il decoder su RaiNews24HD - setta il volume del decoder a 90/100 qualora non lo fosse giá - chiude col solito trick “Torna ad Home” condiviso nel post precedente (il decoder linux viene comandato tramite OpenWebIF, dopo spiego meglio) e mentre ci lavoravo mi stava urtando il fatto che quando si agisce sul tv sony viene aperta la relativa app e quindi mi breaka il flow impedendo l’ultimo step “Torna ad Home” a meno di non rientrare manualmente in “Comandi”. al che ho scoperto questo: https://www.reddit.com/r/shortcuts/comments/9kur6d/control_your_sony_android_tv/ ovvero che le smart tv sony possono essere direttamente comandate (incluso lancio di app tipo Kodi) tramite richieste “HTTP POST” con dati XML, ovvero direttamente da dentro le Shortcut senza appoggiarsi ad app terze. (come faccio giá per il decoder, con più semplici comandi url http get verso la openwebif) la mente vacilla pensando alle possibilità... Ovviamente i tricks relativi a tv+decoder (specie quelli XML della tv) conviene (al contrario di quanto si vede nella shortcut mattutina postata sopra, dove sono per esteso e con commento per ricordarsi cosa fanno) scriverli una sola volta creando delle mini shortcut da richiamare poi come moduli dentro altre shortcut... La prima shortcut basica da realizzare...”Reset volume tv+decoder” che con un solo tocco riporti il volume del decoder a 90 e quello della tv a 33...poi anche versioni notturna, serale, film, etc..
|
|
ally
8==========D
Messaggi: 1,678
|
Post by ally on Nov 7, 2018 12:35:26 GMT 1
ovvero che le smart tv sony possono essere direttamente comandate (incluso lancio di app tipo Kodi) tramite richieste “HTTP POST” con dati XML, ovvero direttamente da dentro le Shortcut senza appoggiarsi ad app terze. (come faccio giá per il decoder, con più semplici comandi url http get verso la openwebif)
benvenuto nel 21esimo secolo ellio, ma da dove lanci i comandi?
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 7, 2018 14:51:09 GMT 1
ovvero che le smart tv sony possono essere direttamente comandate (incluso lancio di app tipo Kodi) tramite richieste “HTTP POST” con dati XML, ovvero direttamente da dentro le Shortcut senza appoggiarsi ad app terze. (come faccio giá per il decoder, con più semplici comandi url http get verso la openwebif) benvenuto nel 21esimo secolo ellio, ma da dove lanci i comandi?
Fra le varie funzioni native concatenabili nelle Shortcut c’è la possibilità di puntare un URL e mandargli cURL xml via POST. Qui uno ha giá fatto tutto il lavoro https://www.reddit.com/r/shortcuts/comments/9oh4zh/control_sony_tv_power_offon_and_other_tv_commands/ devo solo cambiare il valore a seconda del comando Ci sono i comandi remote-like e il lancio delle apps. Purtroppo per il set del volume a un valore a piacere bisognerebbe contattare via TCP il server low level come spiegato qui tmolberg.kpolberg.net/wp-content/uploads/2016/02/BRAVIA_B2B_SimpleIPControlProtocol_ForAndroidModels_v0.9.pdfma non ho idea di come fare...HTTP c’è nativo in Shortcuts ma TCP no...da qui sembrerebbe che con homebridge su rpi si possa: www.npmjs.com/package/homebridge-blinds-tcpa quel punto avrei “Set volume 33” (e altri per altri valori di volume) mascherato da accessorio homekit e potrei evocarlo come scena domotica in Shortcuts..
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 7, 2018 14:59:50 GMT 1
forse dentro questa app si potrebbe creare uno script che manda la stringa via TCP Pythonista 3 di omz:software itunes.apple.com/it/app/pythonista-3/id1085978097?mt=8è integrabile nelle shortcuts e si puó anche fare avanti e indietro fra shortcuts e phyton https://www.reddit.com/r/shortcuts/comments/9gpa2h/shortcuts_pythonista_information_sharing/ ma ho a malapena idea di cosa sia python...
|
|
ally
8==========D
Messaggi: 1,678
|
Post by ally on Nov 7, 2018 15:54:12 GMT 1
non sai mandare una stringa ad un socket tcp? lo puoi scrivere anche in qualsiasi linguaggio, sarano 10 righe di codice in tutto. Ma con cosa invii i comandi?
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 7, 2018 17:23:26 GMT 1
non sai mandare una stringa ad un socket tcp? lo puoi scrivere anche in qualsiasi linguaggio, sarano 10 righe di codice in tutto. Ma con cosa invii i comandi? So calcolare quanti giorni mancano a Natale in turbo pascal, quando hanno spiegato python e javascript avevo la febbre. Devo mandare questa stringa da 24 byte che significa “setta il volume a 33” 0x2A 0x53 0x43 V O L U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 0x0A via TCP a questo IP: 192.168.1.67 porta: 20060 idealmente lo script dovrebbe terminare con un comando che mi ributta dall’ambiente python all’ambiente Shortcuts tramite URL Scheme, del tipo: webbrowser.open('shortcuts://run-shortcut?name=nome%20della%20shortcut') Lo script deve essere per forza o in python o in javascript, perché questi sono gli ambienti disponibili su iOS grazie a queste 2 app: Pythonista 3 di omz:software itunes.apple.com/it/app/pythonista-3/id1085978097?mt=8Scriptable di Simon B. Støvring itunes.apple.com/it/app/scriptable/id1405459188?mt=8queste app oltre a far girare gli script al loro interno, offrono anche i propri servigi al mirabolante sistema delle Shortcut, mi basta concatenare il comando “Run script” in mezzo agli altri mattoncini della shortcut i comandi quali dici? quelli http sotto forma di url POST o GET o PUT o PATCH o DELETE posso mandarli nativamente dall’ambiente Shortcut quelli TCP sotto forma di stringa hex devo appoggiarmi ad uno script esterno python o javascript i comandi li devo predisporre in anticipo, non li inserisco in tempo reale mentre gira la shortcut (anche se in teoria potrei creare dei dialoghi che tramite domande consecutive chiedano all’utente quali valori devono assumere alcuni byte della stringa...ma non mi serve per ora ed è inutile pensarci se non ho sistemato il caso più basico) questo è quanto
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 7, 2018 18:33:18 GMT 1
Intanto comunico a chi ha tv sony android che di default la porta 20060 è chiusa e per aprirla dovete andare nel menù in
Impostazioni > Rete > Configurazione rete domestica > Controllo IP > Semplice controllo IP
se lo script si blocca con “connection failed” è perchè non la avete aperta
sto provando con pezzi copiati in giro questo script python ma sicuramente c’è qualcosa di sbagliato (probabilmente nel come ho inserito la stringa da 24 byte), non fa nulla e mi restituisce “Sent: “ vuoto..
import socket import sys
HOST, PORT = "192.168.1.67", 20060 data = "0x2A 0x53 0x43 V O L U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 0x0A".join(sys.argv[1:])
# Create a socket (SOCK_STREAM means a TCP socket) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: # Connect to server and send data sock.connect((HOST, PORT)) sock.sendall(bytes(data + "\n", "utf-8")) print("Sent: {}".format(data))
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 7, 2018 18:49:00 GMT 1
Comunque figata Pythonista se uno sapesse usare python...ha pure la possibilitá di far girare la qualunque nel suo widget in schermata today...
|
|
ally
8==========D
Messaggi: 1,678
|
Post by ally on Nov 7, 2018 19:32:34 GMT 1
beh si si esegue al volo...
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 7, 2018 19:56:07 GMT 1
ho mezzo capito che devo usare bytes.fromhex ma la minghia di stringa sony ha 4 byte in formato ascii fourCC (V O L U) rifiutati dal fromhex
|
|
ally
8==========D
Messaggi: 1,678
|
Post by ally on Nov 7, 2018 20:14:24 GMT 1
non conosco python ma non vorrei che la codifica utf-8 estenda il valore esadecimale dei singoli caratteri da byte a bytes, ringraziamo i linguaggi non tipizzati...
|
|
ally
8==========D
Messaggi: 1,678
|
Post by ally on Nov 7, 2018 20:18:19 GMT 1
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 8, 2018 9:12:09 GMT 1
# Script python per comunicare con smart tv Sony tramite protocollo low level in TCP verso porta 20060
# Integrabile all'interno di algoritmi Shortcut su iOS, previa installazione della app Pythonista 3 # Affinchè funzioni, la porta deve essere aperta nel menù della tv attivando "Semplice controllo IP" (Simple IP Control) nelle impostazioni di rete
# Documentazione con la lista dei comandi: # https://bit.ly/2ATaTgQ
# Nell'esempio sottostante: comando per portare il volume al valore di 33/100 (funzione non disponibile tramite protocollo high level in HTTP)
# INIZIO SCRIPT
# importazione dei moduli necessari import socket import sys import webbrowser import console
# definizione di IP della tv e porta in ascolto HOST, PORT = "192.168.1.67", 20060
# comando in hex comandohex = "2A 53 43 56 4f 4c 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 03 0A"
# composto da headerhex = "2A 53 43 56 4f 4c 55" corpohex = "00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 03" footerhex = "0A" # conversione da hex in bytes header = bytes.fromhex(headerhex) corpo = bytes.fromhex(corpohex) footer = bytes.fromhex(footerhex) # composizione byte stream da 24 bytes definitivo comando = header + corpo + footer
# verifica che il comando sia da 24 bytes lunghezza = len(comando) if lunghezza != 24: sys.exit("Errore, lunghezza comando errata!") else: pass # definizione del socket (SOCK_STREAM indica TCP) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: # connessione al server e invio dati sock.connect((HOST, PORT)) sock.sendall(comando) # ascolto della risposta della tv per 24 bytes risposta=sock.recv(24)
# stampa dei risultati console.clear() print("Io ho inviato:") print(comando) print() print("La tv Sony ha risposto:") print(risposta)
# comando che riporta dentro l'algoritmo Shortcut, il quale proseguirà regolarmente # (temporaneamente disattivato) # webbrowser.open('shortcuts://') # FINE SCRIPT
La tv risponde quindi header e footer vanno bene, ma mi risponde ciccia (codice di errore)...qualcosa non va nel “corpo” del comando... Console: Io ho inviato: b'*SCVOLU\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\n'
La tv Sony ha risposto: b'*SAVOLUFFFFFFFFFFFFFFFF\n'
|
|
eglio
8================D
Messaggi: 4,914
|
Post by eglio on Nov 8, 2018 9:28:04 GMT 1
|
|