Wednesday, October 12, 2016

Exoline 0 , exoline






+

EXOline 0.9.2 interfaccia a riga di comando per la piattaforma Exosite. EXOline è un'interfaccia a riga di comando per la Exosite [One Platform] (http://exosite. com/products/onep) [Utilizzo della riga di comando di caratteristica albero EXOline] (immagini / twee_example. png) Installare l'ultima versione rilasciata di EXOline da PyPI. `` `$ Sudo pip install EXOline` `` pip è un gestore di pacchetti per Python. Per ottenere pip, provare `sudo easy_install pip` in Mac OS X,` sudo apt-get install python-setuptools; sudo easy_install pip` in Ubuntu. Vedi sotto per le istruzioni di Windows. Ecco come installare dai sorgenti: `` `$ Git clone git: //github. com/exosite/exoline $ cd EXOline $ python setup. py install` `` [Virtualenvwrapper] (http://virtualenvwrapper. readthedocs. org/en/latest/) è un ottimo modo per gestire ambienti Python e di evitare la necessità di utilizzare sudu per pacchetto installa. EXOline supporta Python 2.6 e superiori. (Test eseguiti contro 2.6, 2.7, 3.2, 3.3, e 3.4) Per un programma di installazione di Windows, guardare [qui] (https://github. com/exosite/exoline/releases/) Per installare da PyPI, prima installare i prerequisiti: - [Pip-win] (https://sites. google. com/site/pydatalog/python/pip-for-windows) (In alternativa, è possibile installare [setuptools] (https://pypi. python. org/pypi / setuptools) e [PIP] (https://pypi. python. org/pypi/pip) singolarmente. pip-win solo consente di risparmiare a pochi passi). Dopo l'installazione di pip-win, una finestra di interfaccia grafica pop-up. Per installare EXOline, tipo `pip installare exoline` nel campo del comando. Aggiornamento --------- Per upgade la versione di EXOline è possibile utilizzare il seguente comando. `` `$ Sudo pip install --upgrade EXOline` `` `` `EXOline - Exosite degli oggetti Command Line Interface https://github. com/exosite/exoline Uso: exo [--help] [opzioni] & lt; il comando & gt; [& Lt; & gt ;. args ] Comandi: leggere i dati letti da una risorsa. scrittura Scrivere dati al momento corrente. registrare i dati di lettura a un periodo di tempo specificato. Crea Crea una risorsa da una descrizione JSON passato su standard input (con -), o utilizzando riga di comando stenografia (altre varianti). messa in lista i RID dei figli di un cliente. Ottenere informazioni metadati per una risorsa in formato JSON. Aggiornamento di una risorsa da una descrizione JSON trasmesso stdin. mappa Aggiungi un alias a una risorsa. eliminare la mappatura di rimuovere un alias da una risorsa. occhiata Cerca una risorsa del RID in base alla sua cik alias. Drop Drop (eliminare definitivamente) una risorsa. dati di serie temporali Rimuovere filo da una risorsa. utilizzo visualizzare l'utilizzo delle risorse della piattaforma One nel corso di un periodo di tempo. verde Mostra discendenti di una risorsa. Mostra twee discendenti di una risorsa. Come albero, ma più wuvable. sceneggiatura Carica Lua script di scintilla Visualizza la distribuzione degli intervalli tra i punti. copiare Fare una copia di un cliente. Mostra differenze diff tra due clienti. ip Ottenere l'indirizzo IP del server. i dati di lettura o scrittura con l'API HTTP dati. portali invalidare la cache di portali per un CIK dicendo Portals una particolare procedura è stata presa il cliente identificato da & lt; & gt ;. CIK quota di generare un codice che consente ai non-proprietari di accedere alle risorse revocare revocare un codice quota attivare attivare un codice di quota disattivare Disattivare un codice clone di quota di creare un clone di un makeShortcuts client Crea un elenco di scorciatoie da un client ndup Duplicare un valore in una porta dati modello di gestire modelli client per un sottodominio (alfa) sn gestire i numeri di serie (alfa) contenuti Gestire contenuti, ad esempio, le immagini del firmware, per un modello (alfa) SPEC determinare se un client corrisponde una specifica (beta) di trasformare Trasformare i dati su in una porta dati mappando tutti i valori (alpha) Opzioni: --host = & lt; ospite & gt; ospite ONEP. Il valore predefinito è $ EXO_HOST o m2.exosite. com --port = & lt; porta & gt; porto ONEP. Il valore predefinito è $ EXO_PORT o 443 - c --config = & lt; il file & gt; File di configurazione [default: /.exoline] --httptimeout = & lt; s & gt; Timeout HTTP [default: 60] (il valore predefinito per la copia è 480) --https abilitare HTTPS (deprecato, HTTPS è di default) --http Disabilita HTTPS --useragent = & lt; ua & gt; Set User-Agent intestazione per le richieste in uscita --debug Mostra informazioni di debug (stack trace sulle eccezioni) - d --debughttp Attivare registrazione di livello di debug in pyonep --curl Mostra chiamate ricciolo per le richieste. Implica --debughttp --discreet offuscare RID in stdout e stderr - e --clearcache invalidare Portals cache dopo l'esecuzione dei comandi --portals = & lt; server di & gt; Portals server [predefinito: https://portals. exosite. com] - t --vendortoken = & lt; vt & gt; Fornitore Token (/ admin / home a Portals) - n --vendor = & lt; & gt venditore; Identificativo del fornitore (/ admin / managemodels a Portals) (Vedere http://github. com/exosite/exoline#provisioning) - h --help Mostra questo schermo - v --version Mostra la versione Vedere 'Exo & lt; il comando & gt; help 'per ulteriori informazioni su un comando specifico. `` ` Mostra una vista ad albero di un cliente `` `$ Exo albero 5de0cfcf7b5bed2ea7a801234567890123456789 cliente Dev cik: 5de0cfcf7b5bed2ea7a801234567890123456789 (alias: (vedi genitore)) ├─device1 cliente CIK: 970346d3391a2d8c703a01234567890123456789 (alias: [ 'Device1']) └─device2 cliente cik: e95052ab56f985e6807d01234567890123456789 (alias: [ 'Device2' ]) stringa └─json Porto dati liberarsi: 82209d5888a3bd1530d201234567890123456789 (alias: [ 'json']) `` ` Mostra una vista ad albero di un cliente con i valori `` `Exo albero $ 2ca4f441538c1f2cc8bf01234567890123456789 --values ​​cik cliente ArduinoWifi: 2ca4f441538c1f2cc8bf01234567890123456789 (alias: vedi genitore) stringa ├─event Porto dati liberarsi: f264984bc4f9cf205e8801234567890123456789 (alias: [" evento "], il valore: tasto / 1 anni fa) ├─gas intero dataport liberarsi: 5c9d695fdbe1503c662201234567890123456789 (alias: [ "gas"], il valore: 263/1 anni fa) ├─Humidity galleggiare Porto dati liberarsi: 4fa572ba020cd921038801234567890123456789 (alias: [ "umidità"], il valore: 71,7 / 1 anni fa) ├─Image URL stringa di Porto dati RID: 76143aaf0930802775e201234567890123456789 (alias: [ "image-url"], il valore:. http://exosite. co / 1 anni fa) integer ├─light Porto dati liberarsi: 8dc131ea3fff528b122301234567890123456789 (alias: [ "luce"], il valore: 1/1 anni fa) stringa ├─Metadata Porto dati liberarsi: e93eea75d58615e78e8f01234567890123456789 (alias: [ "metadati"], il valore: └─Temperature float Porto dati liberarsi: 3bbee56c446f546b546901234567890123456789 (alias: [ "temperatura"], il valore: 22/1 anni fa) `` ` Scrivere uno script Lua `` `$ Copione exo translate_gps. lua e469e336ff9c8ed9176bc05ed7fa40daaaaaaaaa script aggiornato RID: 6c130838e14903f7e12d39b5e76c8e3aaaaaaaaa` `` Leggere uno script Lua (con l'aiuto del impressionante [JQ] (http://stedolan. github. io/jq/)) `` `$ Exo informazioni e469e336ff9c8ed9176bc05ed7fa40daaaaaaaaa translate_gps. lua --include = descrizione | JQ - r. description. rule. script `` ` Monitorare output di uno script `` `$ Exo leggere e469e336ff9c8ed9176bc05ed7fa40daaaaaaaaa translate_gps. lua --follow 2013/07/09 11: 57: 45, linea 2: Esecuzione translate_gps. lua. 2013/07/09 00:00:17 ", linea 12: New 4458,755,987 mila, N, 09.317,538,945 mila, W linea 23: scrittura 4458.755987_-09.317,538,945 mila" 2013/07/09 00:15:41 ", linea 12: New 4458,755,987 mila, N, 09317.538945, W linea 23: scrittura 4458.755987_-09317.538945 "` `` `` `$ Exo scrivere e469e336ff9c8ed9176bc05ed7fa40daaaaaaaa GPS-raw --value = 4458,755,987 mila, N, 09.317,538,945 mila, W` `` Registrare un mucchio di dati senza timestamp `` `$ Cat myrawgps | Exo GPS-raw record di e469e336ff9c8ed9176bc05ed7fa40daaaaaaaaa - `` ` i dati provenienti da più Dump dataports in formato CSV compatibile con Excel `` `$ Exo tempo di lettura 2ca4f441538c1f2cc8bfaaaaaaaaaaaaaaaaaaaa evento umidità temperatura del gas --timeformat = eccellono --start = 5/1/2013 --end = 8/1/2013 & gt; alldata. csv 0m0.506s sys reali degli utenti 1m58.377s 0m10.981s $ Wc - l alldata. csv 316705 alldata. csv `` ` Fare un clone di dispositivo con ed6c3f RID. in portale con CIK e469e3. `` `$ Exo clone e469e336ff9c8ed9176bc05ed7fa40daaaaaaaaa --rid = ed6c3facb6a3ac68c4de9a6996a89594aaaaaaaa cik: c81e6ae0fbbd7e9635aa74053b3ab6aaaaaaaaaa liberarsi: 9635aa74053b3ab681e6ae0fb8187a0000000000` `` Copia di un dispositivo con CIK e469e3. a un portale diverso con CIK ed6c3f. Si noti che mentre clone può clonare tutti i tipi di dispositivi e dati del dispositivo all'interno dello stesso portale, la copia è un po 'limitato nei tipi di dispositivi supportati, ma può fare copie inter-portale. `` `$ Exo copiare e469e336ff9c8ed9176bc05ed7fa40daaaaaaaaa ed6c3facb6a3ac68c4de9a6996a89594aaaaaaaa cik: c81e6ae0fbbd7e9635aa74053b3ab6aaaaaaaaaa liberarsi: 9635aa74053b3ab681e6ae0fb8187a0000000000` `` Creare un nuovo cliente o una risorsa `` `$ Exo creare ad02824a8c7cb6b98fdfe0a9014b3c0faaaaaaaa --type = Porto dati --format = stringa --alias = stringport --name =" Nome originale "RID: 34eaae237988167d90bfc2ffeb666daaaaaaaaaa` `` Aggiornare un nome di una risorsa `` `$ Echo '' | Exo aggiornare ad02824a8c7cb6b98fdfe0a9014b3c0faaaaaaaa stringport - `` ` Prendi il RID per CIK ad0282. `` `$ Exo ricerca ad02824a8c7cb6b98fdfe0a9014b3c0faaaaaaaa 34eaae237988167d90bfc2ffeb666daaaaaaaaaa` `` Mostra le differenze tra due clienti `` `$ Exo copiare 3ae52bdd5280d7cb96a2077b0cd5aaaaaaaaaaaa 5de0cfcf7b5bed2ea7a802ebe0679baaaaaaaaaa cik: cc080a86b1c9b53d5371e0fa793faaaaaaaaaaa $ exo diff 3ae52bdd5280d7cb96a2077b0cd5aaaaaaaaaaaa cc080a86b1c9b53d5371e0fa793f1daaaaaaaaaa $ exo creare cc080a86b1c9b53d5371e0fa793f1aaaaaaaaaaa --type = Porto dati --format = galleggiare --name = Umidità liberarsi: 6a8974d3d7d1f0ffd28385c90a1bebaaaaaaaaaa $ exo diff 3ae52bdd5280d7cb96a2077b0cd5dbaaaaaaaaaa cc080a86b1c9b53d5371e0fa793f1daaaaaaaaaa" & lt; & lt; & gt liberarsi; & gt; ":" alias ":" & lt; & lt; liberarsi & gt; & gt; ": [" temp "]>," di base ":" abbonati ": 0," tipo ":" client ">," figli ":" & lt; & lt; liberarsi & gt; & gt; ": +" di base: gli abbonati "+" ": 0, +" tipo ":" Porto dati "+>, +" figli ": <>, +" commenti ": [], + "description": + "formato": "galleggiare", + "meta": "", + "nome": "Umidità", + "pre-elaborazione": [], + "pubblico": false, + "retention": + "conteggio": "l'infinito" "durata", +: "infinito" +>, + "subscribe": null +>, + "azioni": [], + "abbonati": [], + "tag": [] +>, + "Temperature. f2a40b81cb677401dffdc2cfad0f8a266d63590b": "di base": "abbonati": 0, "tipo": "Porto dati">, "bambini": <>, "commenti": [], "descrizione": " formato ":" float "," meta ":" "," name ":" temperatura "," pre-elaborazione ": []," pubblico ":" retention "falso:" conteggio ":" l'infinito "," durata " : "infinito">, "subscribe": null>, "azioni": [], "abbonati": [], "tag": []>>, "commenti": [], "conta": "client" : 0, - "porta dati": 1,? ^ + "Porto dati": 2,? ^ "Datarule": 0, "spedizione": 0>, "description": "limiti": "cliente": "ereditare", "Porto dati": "ereditare", "datarule": "ereditare", "disco": "ereditare", "spedizione": "ereditare", "email": "ereditare", "email_bucket": "ereditare", "http": "ereditare", "http_bucket": "ereditare", "share": "eredita "," SMS ":" ereditare "," sms_bucket ":" ereditare "," xmpp ":" ereditare "," xmpp_bucket ":" ereditare ">," bloccato ": false," meta ":" "," nome ":" MyDevice "," pubblico ": false>," azioni ": []," abbonati ": []," tagged ": []," tag ": []>>` `` Vedi le richieste HTTP e le risposte che sono fatti da pyonep: `--curl` È come` --debughttp`, ma registra le richieste in formato ricciolo che possono essere eseguiti direttamente. Condividere un porta dati con un altro cliente. `` `# Diciamo che vogliamo condividere client1 / dataport1 con client2 $ exo albero wb cik cliente Dev: 5de0cf0000000000000000000000000000000000 (alias: (vedi genitore)) ├─client1 cliente cik: 0a35320000000000000000000000000000000000 (alias: [u'client1 ']) │ └─dataport1 stringa di Porto dati liberarsi: 4775090000000000000000000000000000000000 (alias: [u'dataport1 ']) └─client2 cik cliente: c2d4f30000000000000000000000000000000000 (alias: [u'client2']) # Generare un codice quota $ quota exo 0a35320000000000000000000000000000000000 dataport1 e9a52a0000000000000000000000000000000000 # Attivare il codice quota $ exo attivare c2d4f30000000000000000000000000000000000 --share = e9a52a0000000000000000000000000000000000 # Quota appare in albero $ exo albero wb cik cliente Dev: 5de0cf0000000000000000000000000000000000 (alias: (vedi genitore)) ├─client1 cik cliente: 0a35320000000000000000000000000000000000 (alias: [u'client1 ']) │ └─dataport1 stringa Porto dati liberarsi: 4775090000000000000000000000000000000000 (alias : [u'dataport1 ']) └─client2 cliente CIK: c2d4f30000000000000000000000000000000000 (alias: [u'client2']) └─dataport1 stringa Porto dati RID: 4775090000000000000000000000000000000000 # Elenco mostra proprietà bambini di default (non azioni) $ exo messa c2d4f30000000000000000000000000000000000 # Scrittura alla porta dati condivisa dai proprietari $ exo scrivere 0a35320000000000000000000000000000000000 dataport1 --value = "Condividi me" # È possibile leggere il Porto dati dal non-proprietario $ exo leggere c2d4f30000000000000000000000000000000000 4775090000000000000000000000000000000000 2013/12/13 11: 34: 13-06: 00, mi Condividi #. ma non si può scrivere da un non-proprietario $ exo scrivere c2d4f30000000000000000000000000000000000 4775090000000000000000000000000000000000 --value = "non-proprietario non può scrivere" l'errore One Piattaforma: limitato # Cercare RID un codice quota $ exo ricerca c2d4f30000000000000000000000000000000000 --share e9a52a0000000000000000000000000000000000 4775090000000000000000000000000000000000 # Il non-proprietario può disattivare un codice di quota $ exo disattivare c2d4f30000000000000000000000000000000000 --share = e9a52a0000000000000000000000000000000000 # Ora la quota è andato $ albero exo wb cik cliente Dev: 5de0cf0000000000000000000000000000000000 (alias: (vedi genitore)) ├─client1 cik cliente: 0a35320000000000000000000000000000000000 (alias: [u'client1 ']) │ └─dataport1 stringa Porto dati RID: 4775090000000000000000000000000000000000 ( alias: [u'dataport1 ']) └─client2 CIK cliente: c2d4f30000000000000000000000000000000000 (alias: [u'client2']) # Il proprietario può anche revocare il codice quota. Questo lo rende inutilizzabile. $ Exo revocare 0a35320000000000000000000000000000000000 --share = e9a52a0000000000000000000000000000000000 ok `` ` EXOline comprende provisioning per fare la gestione della flotta operations-- tutto ciò che riguarda i numeri di serie, il contenuto del firmware, e modelli dei clienti. Per utilizzare questi comandi, è necessario configurare EXOline con un identificatore fornitore e Token fornitore. Ciò richiede l'accesso amministratore a un sottodominio. Se si dispone di quel livello di accesso su un sottodominio, accedere a portali e andare a `https: // & lt; yoursubdomain & gt;.exosite. com / admin / home` e copiare la cosa chiamata" Vendor API token "al tuo EXOline file di configurazione. Avrete anche bisogno la vostra identificazione del fornitore, che si trova in `https: // & lt; yoursubdomain & gt;.exosite. com / admin / managemodels`. `` `Echo" vendortoken: 30c8b0123456789abcdef0123456789abcdef012 "& gt; & gt; /.exoline echo "vendor: myvendor" & gt; & gt; Una volta fatto questo, i comandi di provisioning `model`,` sn`, e `il lavoro content`: `` `$ Exo lista modello testmodel PetFoodDispenser` `` C'è un limite di un `` vendor` e vendortoken` per file di configurazione. Se si lavora con più sottodomini, è necessario creare più file di configurazione EXOline e passarli in gioco dalla linea di comando. Per esempio: Lista modello /.exoline-another `` ` È inoltre possibile passare il token di vendor e identificativo del fornitore dalla riga di comando in questo modo: `` `$ Exo --vendor = myvendor --vendortoken = 30c8b0123456789abcdef0123456789abcdef012 lista modello` `` Disposizione un nuovo dispositivo basato su un modello client `` `$ Exo lista modello testmodel PetFoodDispenserModel $ exo sn AddRange PetFoodDispenserModel 00000000 000000ff opzione --length = 8 $ exo sn abilitare PetFoodDispenserModel 00000001 myPortal ae33a5010c0791b758c6ee89437b38d4d44666e6 $ exo twee myPortal mio portale cl cik: f9586af62f8517b24a5f01234567890123456789 └─Dispenser cl cik: d3846d708c9e6efab8ec01234567890123456789 (PetFoodDispenserModel # 00000001 ) └─Percent completa dp. i percentFull: $ exo scrivere d3846d708c9e6efab8ec01234567890123456789 percentFull --value = 100 un'eccezione Piattaforma: $ exo sn attivare PetFoodDispenserModel 00000001 d3846d708c9e6efab8ecbad9966872aac77b99e8 $ exo scrivere d3846d708c9e6efab8ec01234567890123456789 percentFull --value = 100 $ exo leggere d3846d708c9e6efab8ec01234567890123456789 percentFull 2014-11- 17 21: 37: 52-06: 00.100 `` ` Scrivere alcuni contenuti del firmware, leggere di nuovo, e verificarla `` `Contenuto $ exo PetFoodDispenserModel lista $ # creare un file binario 4k $ dd if = / dev / iflag casuale = fullblock di = random_firmware. bin bs = count 4096 = 1 dd if = / dev / random di = random_firmware. bin bs = count 4096 = 1 1 + 0 records in 1 + 0 records out 4096 byte trasferiti in 0.000298 secondi (13743895 bytes / sec) contenuto exo $ mettere PetFoodDispenserModel firmware. bin random_firmware. bin --meta = lista v0.0.1 $ contenuti exo PetFoodDispenserModel firmware. bin --long, 4k, lun 17 nov 22:01:34 2014, falso, application / octet-stream, v0.0.1 $ content exo get PetFoodDispenserModel firmware. bin firmware. bin. downloaded $ diff firmware. bin. downloaded random_firmware. bin `` ` Rigenerare un CIK per un cliente. Il suo status diventa `notactivated`. Attivare di nuovo e vedere il suo status diventa `activated` e la finestra di attivazione 24 ore si chiude. Una seconda chiamata a `activate` indica che la finestra è chiusa. `` `$ Exo myPortal twee mio portale cl cik: f9586af62f8517b24a5f01234567890123456789 └─Dispenser cl cik: d3846d708c9e6efab8ec01234567890123456789 (PetFoodDispenserModel # 00000001) └─Percent completa dp. i percentFull: $ exo sn Regen PetFoodDispenserModel 00000001 $ DeviceRID =` exo ricerca d3846d708c9e6efab8ec01234567890123456789` $ exo informazioni myPortal $ DeviceRID --include = base> $ exo myPortal twee mio portale cl cik: f9586af62f8517b24a5f01234567890123456789 └─Dispenser cl cik: 70522b0830b8e4c4574f01234567890123456789 (PetFoodDispenserModel # 00000001) └─Percent completa dp. i percentFull: 100 (14 ore fa) $ exo sn attivare PetFoodDispenserModel 00000001 70522b0830b8e4c4574f01234567890123456789 $ exo informazioni myPortal $ DeviceRID --include = base> $ exo sn attivare PetFoodDispenserModel 00000001 una piattaforma di provisioning eccezione: 409 Conflict (HTTP / 1.1 409 Conflict) `` ` Disabilitare un client in base al suo numero di serie. Il suo status diventa `expired`. Quindi chiamare `regen` per rigenerare la sua CIK e attivare per attivarlo. `` `$ Exo SN disattivare PetFoodDispenserModel 00000001 $ exo informazioni myPortal $ DeviceRID --include = base> $ exo sn attivare PetFoodDispenserModel 00000001 Una piattaforma di provisioning eccezione: 409 Conflict (HTTP / 1.1 409 Conflict) $ exo sn Regen PetFoodDispenserModel 00000001 $ exo sn attivare PetFoodDispenserModel 00000001 40368ebd8f9923fb189b01234567890123456789 $ exo informazioni myPortal $ DeviceRID --include = base> `` ` Ottenere un registro di attivazioni per un numero di serie `` `$ Exo sn accedere PetFoodDispenserModel 00000001 1416281778,127.0.0.1, modello = PetFoodDispenserModel & amp; vendor = tessitore & amp; sn = 00000001 1416332704,127.0.0.1, modello = PetFoodDispenserModel & amp; vendor = tessitore & amp; sn = 00000001 1416333004,127.0.0.1, modello = PetFoodDispenserModel & amp; vendor = tessitore & amp; SN = 00000001 `` ` `Comando spec` di EXOline consente di utilizzare un file di specifica per specificare brevemente il modo in cui un client Una piattaforma dovrebbe essere istituito. Ecco un esempio di creazione di un client da zero sulla base di [questo spec] (https://github. com/exosite/exoline/blob/master/test/files/spec_script_embedded. yaml) Si noti che questa utilizza un tempo limitato 1 ora CIK generato da CIK Fontana (cik. herokuapp. com). `` `$ TEMP_CIK =` ricciolo cik. herokuapp. com` $ exo spec $ TEMP_CIK https://raw. githubusercontent. com/exosite/exoline/master/test/files/spec_script_embedded. yaml --create spec Running on: cbcae94d523bc29b0937b759b7d3fde5c1670086 temp_f non trovato. Creazione di Porto dati con il nome: temp_f, alias: temp_f, formato: float temp_c non trovato. Creazione di Porto dati con il nome: temp_c, alias: temp_c, formato: float convert. lua non trovato. Nuovo script RID: 7d7c475af2aad7d9c770672cc3640835c36a7cd9 alias script per: convert. lua $ exo twee $ TEMP_CIK temporanea CIK cl cik: cbcae94d523bc29b0937b759b7d3fde5c1670086 ├─temp_c dp. f temp_c: ├─temp_f dp. f temp_f: └─convert. lua Dott. ri convert. lua : linea 3: convert. lua partenza. (35 secondi fa) $ exo scrivere $ TEMP_CIK temp_c --value = -40 $ exo leggere $ TEMP_CIK temp_f 2014/11/24 10: 50: 18-06: 00, -40.0 `` ` Il comando `spec` ha un sacco di altre funzionalità, tra cui` --generate` per creare un file di specifica basata su un dispositivo esistente. Prova `--help` e` --example` per informazioni sull'utilizzo. Per comodità, diverse opzioni della riga di comando possono essere sostituiti da variabili d'ambiente. * EXO \ _HOST: host, ad esempio, m2.exosite. com. Questo forniture --host di EXO e --url per exodata. * EXO \ _port: porta, ad esempio, 80. Attualmente questo vale solo per exo, non exodata. Memorizza i tuoi CIKs comunemente utilizzati in un file: /.exoline $ printf "pippo: 2ca4f441538c1f2cc8bf01234567890123456789 \ n" & gt; & gt; temperatura /.exoline $ Exo leggere pippo 2013/08/18 04: 55: 36,24.1 `` ` Per informazioni, eseguire ogni comando con - h dalla riga di comando. Portali nella cache Uno dei dati della piattaforma, quindi le modifiche apportate in EXOline possono richiedere fino a 15 minuti per mostrare fino a Portals. Si può ovviare a questo passando `--clearcache` (o` - c`). Questa opzione dice EXOline per cancellare il informazioni memorizzate nella cache relative a Portals. `` `$ Exo --clearcache creare & lt; CIK & gt; --type = cliente `` ` Se stai usando portali su un server diverso, passare `--portals` per specificare che server. `` `Exo --clearcache --portals = https: //myportals. com creare & lt; CIK & gt; --type = dataport --format = stringa `` ` E 'anche possibile per invalidare la cache direttamente. `` `$ Exo portali clearcache & lt; CIK & gt; `` ` EXOline possono essere direttamente importati e utilizzati in Python come una libreria. Ci sono due modelli per farlo. In primo luogo, è possibile chiamare `exo. run` con qualunque argomento si sarebbe passati sulla riga di comando, oltre a un parametro di stringa opzionale stdin. da EXOline exo importazione risultato = exo. run ([ 'Exo', 'script', 'scripts / myscript. lua', 'ad02824a8c7cb6b98fdfe0a9014b3c0faaaaaaaa']) stampa (result. exitcode) # 0 di stampa (result. stdout) # script aggiornato RID: stampa c9c6daf83c44e44985aa724fea683f14eda71fac (result. stderr) # & lt; nessun output = "" & gt; `` ` E 'anche possibile utilizzare involucro di EXOline per la biblioteca pyonep, che copre un sacco di funzionalità di EXOline. da EXOline exo importazione È possibile utilizzare il comando `read` con l'opzione` --timeformat = excel` di esportare i dati di serie temporali dalla piattaforma One in un formato compatibile con Excel o Google Docs. `` `$ Exo leggere sensore1 metano --timeformat = eccellere --limit = 10000 & gt; - Selezionare File - & gt; Import - selezionare il file CSV - individuare il file `methane. csv` e premere il tasto Ricevi dati - si dovrebbe essere in grado di premere Finish perché le impostazioni predefinite funzionano, ma nel caso in cui i valori di default sono diverso qui sono le impostazioni esplicite: - Selezionare Delimitato e premere Avanti - selezionare Tab come delimitatore - selezionare Generale come formato di colonna - Premere Finish - Premere OK per importare in A1 del foglio esistente - Selezionare le colonne A e B - Nel nastro Tabella, selezionare Scatter - & gt; Scatter marcata - Il risultato è simile al seguente: [Excel esempio grafico serie temporali] (immagini / excel_chart. png) - Selezionare File - & gt; Import - selezionare la scheda Carica - selezionare il file CSV - passare a `methane. csv` e premere Apri - selezionare Crea nuovo foglio di calcolo e di rilevare automaticamente e premere Import - premere Apri ora - Seleziona colonne A e B - selezionare Inserisci - & gt; Grafico - selezionare scheda Grafici - selezionare Scatter - selezionare l'opzione in alto chart - premere Inserisci - il risultato è simile al seguente: [Google Documenti tempo esempio grafico serie] (immagini / docs_chart. png) Se si vede un problema con EXOline o volete suggerire un miglioramento, e fai il login è [qui] (https://github. com/exosite/exoline/issues) Per eseguire i test di integrazione di EXOline, vedere [test / README. md] (test / README. md). Se si vuole costruire il proprio eseguibile finestra EXOline e / o installatore invece di utilizzare un [pre-costruito uno] (https://github. com/exosite/exoline/releases/) fare questo: - Installare Python (assicurarsi bitness corrisponde la macchina pywin32 preoccupa questo..) - [Pip-win] (https://sites. google. com/site/pydatalog/python/pip-for-windows) - installare pywin32 - installare pyInstaller ( `pip install pyinstaller`) - nella directory radice EXOline, eseguire (` pyinstaller exo. spec`) - `exo. exe` e le sue dipendenze sono in dist \ exo \ - eseguire` copia dist \ exo \ exo. exe dist \ exo \ exo` in modo che gli utenti Windows non hanno bisogno di digitare. exe Costruire il programma di installazione in questo modo: - Installare Inno Setup 5.5.4 da qui: http://www. innosetup. com/ - aperto innosetup. iss - Origine aggiornamenti nella sezione File per puntare a dist cartella \ eso sul sistema - impostare il numero di versione nel innosetup. iss - Cliccate su Compile - rinominare uscita / setup. exe di uscita / exoline - & lt; la versione & gt; - setup. exe Per informazioni su quali caratteristiche sono in quello che versioni EXOline guardano [qui] (HISTORY. md). - Parametro --name per copiare comando in modo nomi non sono in conflitto - cancellare il numero di serie quando cadere dispositivo - aggiunge l'opzione per creare --howmany comando - il completamento automatico per i comandi e le scorciatoie - aggiungere Porto dati creazione scorciatoia: "exo creano & lt; CIK & gt; & lt; alias e = "" name = "" & gt; [tipo] ". `Exo creare mydevice foo` creerebbe una porta dati di stringa di formato con alias e il nome sia impostato su foo. `Exo creare mydevice bar float` creerebbe una porta dati float valori. - Aggiungere prova per opzione --tz - aggiunge la possibilità di utilizzare le richieste per l'autenticazione con https (vedi avvertimento qui: http://docs. python. org/2/library/httplib. html) - nuovo comando per fare ricerca di risorse Ancestry - aggiungere un --monitor (o --follow) opzione di comando di script - aggiungere il supporto per https://github. com/exosite/docs/tree/master/rpc#authentication in questo modo: $ exo informazioni cik1, client_id = RID1 - rendere IP e comandi dati https supporto, host e impostazioni della porta e rimuovere noconfig = true soluzione in quei test - fissare installare avvertimento: "UserWarning: opzione di distribuzione sconosciuto: 'console'" - supporto 'brew installare EXOline' in OSX - aggiungi riga di comando interazione gif animate di README - roba di marketing (blog post) - fanno EXOline & lt; scheda & gt; lavori completamento automatico in ipython - sostegno [Pīks] (https://exositejs. herokuapp. com) al posto di CIKs - miglior trattamento per errore "errore di riga di comando: Impossibile connettersi al https://portals. exosite. com" - Supporto passando certs dalla riga di comando per HTTPS (portali e ONEP) quando dietro VPN - supporto incorporare script direttamente in YAML, se è possibile. - "Forse cercavi" uscita quando il comando non viene trovato - Spec accetta URL per file YAML e uno script - il supporto per la messa lua direttamente nel file spec "codice" di proprietà, invece di file di lua esterno. - Opzione --check spec per la convalida spec rudimentale - spec non funziona se --check fallirebbe - Fare il modello, il contenuto, e comandi di alto livello SN - modello di scrittura, i contenuti, i test sn - scrivere documentazione utilizzo per il provisioning - molte correzioni al modello di fornitura e comandi sn - sostenere opzione --curl per la visualizzazione di richieste in formato riccio - ha aggiunto twee --rids opzione - i colori più scuri twee per la visibilità su sfondo bianco - Comando disposizione aggiungere con il supporto per attivare, il modello, sn, contenuti - supporto leggere --timeformat = Excel per l'importazione foglio di calcolo - opzione --config per supportare più file di configurazione EXOline - fissare con EXOline come una libreria in Python 3.4 - fissare le tubazioni di lettura - con unicode (https://github. com/exosite/exoline/issues/48) - spettacolo nome del modello in uscita twee per i clienti - il supporto di script per il passaggio RID / alias di scrittura - (rottura cambiamento) rimuovere attivazione CIK, per evitare confusione con disposizione Attiva - (rottura cambiamento) assetto newline finale dallo standard input per la scrittura - - Il supporto di Windows per twee disabilitando colore - Ritenzione supporto al comando spec - supporto di pre-elaborazione al comando spec - supporto abbonarsi al comando spec - makeShortcuts comando per la compilazione scorciatoie CIK in. exoline - flessibile percorso del file di configurazione - correggere alcuni problemi Unicode, aggiungere test unicode - fissare albero EXOline --values ​​esempio uscita - fissare twee per dataports di tipo 'binari' - Supporto comando di scrittura per il passaggio di valore su standard input - --values ​​opzione per l'albero di mostrare ultimo punto per dataport e datarules - aggiungere il comando twee: come l'albero, ma più wuvable - fare rapporto albero e continuare quando incontra i clienti bloccati - fissare test che ha rotto per la gestione con gli aggiornamenti ONEP galleggiante - aggiungere l'ordine standard di comando script - Trasformare il comando per la modifica dei dati di serie temporali - variabile EXO_PLUGIN_PATH per specificare posti aggiuntivi per cercare i plugin - sostegno specifiche per gli aggiornamenti dello schema a livello di dominio - (rottura cambiamento) rimuovere --chunkhours opzioni e aggiungere --chunksize opzione, che di solito non ha bisogno di specificare - Python 3.4 regressione fisso - Errore di correzione in ExoRPC. mult () - Aggiungere ExoRPC. mult () per evitare di chiamare \ _exomult direttamente - Aggiungere l'opzione --level per info --recursive per limitare la profondità - Windows eseguibile e installazione - Uscita albero fisso per Windows - Aggiungere l'opzione --portal spec per applicare una specifica a più dispositivi - Modificare a formattazione dell'output albero - una migliore documentazione per la registrazione - ingresso - aggiornamento pyonep - Aggiungere il supporto per lo schema JSON al comando spec - rimuovere uscita estranea da goccia --all-bambini - Aggiornamento alla più recente pyonep - fissare espressione regolare RID - Aggiungere il comando clone - evitare copia parziale quando porta dati iscriversi è impostato - Aggiungere param --useragent - Se --start e --end sono omessi per leggere, a filo o l'utilizzo, vengono omessi dalla chiamata RPC. Questo risolve un problema con la lettura se l'orologio è sincronizzato con un'unica piattaforma. - Aggiungere --start e --end per filo - Aggiungere l'opzione per il comando --generate spec (beta) - fissare la regressione al comando albero su python 3.2 - rimuovere wsgiref per risolvere il naso per Python 3.3 - Maniglia unicode in uscita csv - la correzione di errore quando tubazioni in uscita albero di file - rimuovere i formati binari dataport e booleani - Aggiungere la quota, attivare, disattivare e ricerca --share comandi - comando messa in vendita la società accetta le opzioni di filtraggio e più chiara di uscita JSON (non compatibile) - versioni di impostazione del fuso orario non corretta - Aggiungere il comando proprietario lookup (ricerca --owner-di) - cambiamento "Opzioni" per "opzioni dei comandi" in uso - Rendere i portali del server personalizzabili, ad esempio, per l'uso con sandbox - Aggiungere --portals comando opzioni e portali per la invalidazione della cache, in modo da portali e EXOline possono rimanere sincronizzato - 3.x Supporto Python - Rimuovere --counts opzione di comando albero - rimuovere l'opzione di archiviazione per il comando info - Fare secondo parametro opzionale exo. cmd - ripristinare std * in modo standard output è visibile dopo la chiamata exo. cmd () - Aiuto alla condotta specifiche per le unità e la validazione formato JSON - file spec esempio - Comando ACTIVATE aggiungere - fissare un messaggio spec per le differenze di formato dataport - aggiungere la documentazione di sintassi dei comandi YAML spec - fissano i dati scrivono per gestire i caratteri UrlEncode (ad esempio%) - Utilizzare https di default, specificare --http per http - risolvere il problema per cui leggere --follow non poteva essere convogliato ad altri comandi a causa di standard output buffer - comandi show in un ordine consistente in 'Exo --help' - sintesi comando show a 'Exo help' - Leggi le impostazioni predefinite di comando per la lettura di tutti i dataport / datarules se non vengono specificati RID - messa in vendita di uscite di comando valida JSON - Collegamento riutilizzo per accelerare chiamate API - Default a UTC se fuso orario locale non può essere determinato - bug fix fuso orario in uscita lettura - Script di decodifica come UTF-8 per il comando spec - Rimuovere la dipendenza plugin su script di installazione posizione - Risolvere installare problema - Aggiungere quadro plug - in uscita albero aggiornamento, incl. ordina per nome del cliente - aggiunge il comando spec come plugin (beta) - rendere messa di default a tutti i tipi di risorse - supporto del fuso orario per il comando di lettura - Comando update fisso - Record legge csv su standard input - fisso leggere --sort = asc - fisso ordine --follow quando più valori sono all'interno della finestra di polling - Combinazione fissa di --debughttp e --discreet - --debughttp Mostra le richieste HTTP & amp; risposte - --discreet nasconde ciks / sbarazza - uso documentato libreria - L'opzione --header per comando di lettura /.exoline - sostenere date ISO8601 per la lettura - copiare commenti - Albero è più veloce per i grandi portali - opzione --level per l'albero - l'esemplare limiti assegni quando possibile (quando non è impostato a 'ereditano') - migliorare formato JSON per info --recursive - Istituito per test automatizzati a Jenkins - bandiere --include e --exclude di informazioni - informazioni e lista comandi JSON uscita quando si utilizza --pretty - bandiera --recursive per comando di script - la regressione fissato a leggere --follow - Aggiunta l'opzione --port - Aggiunta l'opzione --chunkhours per rompere grande legge - Fissa --httptimeout - spettacolo modello e numero di serie da metadati in uscita albero - Leggere da più fonti di dati - comando di copia (fare una copia di un cliente) - comando diff (confrontare i clienti) - opzione --recursive per info - Supporto Python 2.6 - Il comando di ricerca guarda in alto RID di CIK se non alias viene passato - eccezione fisso - Aggiornato per utilizzare pyonep 0.7.0 - aggiunto comando di utilizzo - La regressione fissa nella struttura ad albero - Riferimento pyonep fisso - Comando di utilizzo - copertura dei test Meglio - Script di supporto upload a più CIKs - Aggiunto copertura del codice per i test - leggere --intervals mostra la distribuzione dei ritardi tra i punti - Porta HTTPS fissi - Aggiunto --https bandiera - Formato RAW lettura Aggiunto - Ordine & lt; liberarsi & gt; opzionale per tutti i comandi - Aggiunto radice nodo dettaglio di uscita per albero - Urtato fino requisito versione per pyonep - Uscita albero fisso per i dispositivi con lo stato scaduto - Nascondi eccezione KeyboardInterrupt tranne set quando --debug - Comando script fisso - Guida per i singoli comandi, stile git - regressione fisso a 0.0.17 che colpisce tutti i comandi prendendo & lt; liberarsi & gt; - Record-backdate è ora registrare con --interval - Tastiera gestore di interrupt con grazia per leggere --follow - Aggiunto utilizzo esempio in README. md - Fixed leggere --follow quando porta dati non ha dati - Supporto passando alias per & lt; liberarsi & gt; - Fai la lettura tornare all'ultimo valore di default - test per creare, leggere, scrivere - Record, unmap, i comandi di ricerca, una migliore / più forte / albero veloce




No comments:

Post a Comment