SharKNX esporta i dati nei seguenti formati, a seconda del luogo da cui esporti:
| Formato | Esportato da | Estensione |
|---|---|---|
| Telegram XML (ETS) | Monitor, monitor Shark Hunt | .xml |
| Telegram CSV | Monitorare, monitor Shark Hunt | .csv |
| Line Scan Text | Strumenti → scheda Scansione linea | .txt |
| Line Scan PDF | Strumenti → scheda Scansione linea | .pdf |
| Device Tables PDF | Strumenti → scheda Ispeziona | .pdf |
| Associations CSV / TXT | Strumenti → scheda Ispeziona → dettagli della sessione | .csv, .txt |
| Group Address Table CSV | Strumenti → scheda Ispeziona → dettagli della sessione | .csv |
| Shark Hunt JSON | Pagina Shark Hunts | .json |
Sui dispositivi mobili, il file esportato viene consegnato al foglio di condivisione del sistema operativo. Sul desktop (Windows, macOS), si apre una finestra di dialogo nativa del file di salvataggio o della cartella di salvataggio.
Esportazioni di Telegram
I telegrammi vengono esportati dalla pagina Monitor (** → Esporta Telegrammi**) e da qualsiasi pagina monitor Shark Hunt (pulsante esporta). Entrambi aprono lo stesso foglio di esportazione:
| Opzione | Predefinito | Descrizione |
|---|---|---|
| Formato di esportazione | XML | XML scrive un registro di comunicazione compatibile con ETS; CSV scrive la tabella SharKNX Monitor Export v3. |
| Nome del file | Vedi sotto | Modificabile. Il cambio di formato scambia l'estensione e mantiene qualsiasi nome digitato. |
| Limite di esportazione | Tutto | Tutti o solo i telegrammi 100, 500 o 1000 più recenti. |
Qualunque sia il limite scelto, il file elenca i telegrammi in ordine cronologico, partendo dal più vecchio.
Nome del file
SharKNX_[Context_]{count}t_YYYY-MM-DD_HHMMSS.xml
Dalla pagina Monitor non c'è parte di contesto; da un monitor Shark Hunt il contesto è il nome della Shark Hunt e dell'azione (ripulito, max caratteri 30). {count} è il numero di telegrammi disponibili all'apertura del foglio. Esempio: SharKNX_1840t_2026-09-29_143022.xml.
Telegramma XML (ETS)
L'esportazione XML utilizza il formato Registro di comunicazione ETS (spazio dei nomi http://knx.org/xml/telegrams/01) - lo stesso formato utilizzato da ETS per le registrazioni del monitor bus e dei monitor di gruppo, quindi un'esportazione SharKNX si apre direttamente in ETS.
<?xml version="1.0" encoding="utf-8"?>
<CommunicationLog xmlns="http://knx.org/xml/telegrams/01">
<Telegram Timestamp="2026-09-29T14:30:22.410Z" Service="L_Data.ind" FrameFormat="CommonEmi" RawData="2900BCE011FA0801010080" />
...
</CommunicationLog>
| Attributo | Descrizione |
|---|---|
Timestamp |
Ora in cui è stato osservato il telegramma, ISO 8601 in UTC |
Service |
L_Data.ind, L_Data.con o L_Data.req per il traffico in galleria; L_Busmon.ind per cornici monitor bus |
FrameFormat |
Sempre CommonEmi |
RawData |
Il frame cEMI completo come stringa esadecimale, mai solo il carico utile |
I frame catturati in modalità monitor bus sono racchiusi in una coppia <RecordStart Mode="Busmonitor" MediumType="Tp" /> … <RecordStop /> e il loro RawData trasporta lo stato del monitor bus e il relativo timestamp come informazioni aggiuntive cEMI.
Le osservazioni che non hanno un equivalente ETS, come ad esempio le lacune in cui i telegrammi sono andati persi o i frame dei media ETS non possono essere rappresentati, vengono tralasciate. L'app ti dice quanti sono stati omessi dopo l'esportazione.
Telegramma CSV
L'esportazione CSV è il formato SharKNX Monitor Export v3: una tabella fissa progettata per conservare tutto ciò che SharKNX osserva, in modo che un file possa essere importato nuovamente senza perdere informazioni.
Struttura del file
- Linea 1 - la firma
# SharKNX Monitor Export v3 - Riga 2 - la riga di intestazione con tutti i nomi delle colonne 46
- Una riga per osservazione successivamente, in ordine cronologico
Il layout è fisso: sempre delimitato da virgole, sempre tutte le colonne 46 nello stesso ordine. Una cella è vuota quando il valore non si applica a quella riga o non era disponibile. I valori contenenti virgole, virgolette o interruzioni di riga sono citati secondo RFC 4180.
Tipi di riga
La colonna kind dice cosa rappresenta ciascuna riga. Oltre ai normali telegrammi il monitor registra anche eventi a livello bus:
kind |
Senso |
|---|---|
telegram |
Un telegramma KNX decodificato |
bus_control |
Un frame di riconoscimento del monitor bus (acknowledge, negative_acknowledge, busy, negative_acknowledge_busy) |
raw |
Un frame che SharKNX ha ricevuto ma non è riuscito a decodificarlo: il motivo è in observation_reason |
invalid |
Una cornice malformata |
gap |
A questo punto i telegrammi sono stati persi: vedere le colonne gap_* |
Colonne
| Gruppo | Colonne |
|---|---|
| Identità e tempo | id, observed_at_ms (tempo Unix in ms), observed_at_utc (ISO 8601), kind, session_generation, sequence |
| Telaio | service, original_encoding (cemi o tp1), medium, medium_code, original_bytes_hex |
| Monitor dell'autobus | bus_relative_timestamp, bus_status_hex |
| Indirizzamento | source_raw, destination_raw, destination_kind, source, destination, destination_name |
| Campo di controllo | priority, hop_count |
| Livello di trasporto e applicazione | tpci_code, tpci_service, tpci_sequence, apci_code, apci_service, apci_embedded_value, apci |
| Carico utile e valore | payload_hex, decoded_payload_hex, value, dpt_main, dpt_sub, numeric_value |
| Dati KNX sicuri | data_secure_status, data_secure_sequence, data_secure_sender_authorization, data_secure_destination_raw, data_secure_rejection, data_secure_rejection_details_json |
| Eventi in autobus | bus_control, observation_reason, observation_reason_code, gap_missed_count, gap_after_sequence, gap_source |
destination_name, value e le colonne DPT vengono compilate solo quando viene caricato un progetto ETS. Per i telegrammi di gruppo protetti, data_secure_status è uno tra opened, ets_decrypted, key_unavailable o rejected; quando rifiutato, data_secure_rejection fornisce il motivo e data_secure_rejection_details_json tutti i dettagli come oggetto JSON.
Importazione di telegrammi
Entrambi i formati di telegramma possono essere ricaricati nella pagina Monitor dal menu ⋯ Azioni:
| Voce di menu | Accetta |
|---|---|
| Importa CSV SharKNX | SharKNX Monitor Esporta v3 solo file CSV. Non sono accettati file di versioni precedenti dell'app (# SharKNX Export v1). |
| Importa da ETS XML | Registri di comunicazione ETS (.xml) - registrazioni effettuate in ETS o XML esportate da SharKNX. Fino a osservazioni 5000; le registrazioni più grandi vengono rifiutate e non viene importato nulla. |
L'importazione sostituisce l'attuale elenco di telegrammi. I telegrammi più recenti vengono conservati, fino alla dimensione massima del buffer di 5000 (20 nel piano gratuito) e l'impostazione Dimensione buffer viene aumentata automaticamente se l'importazione richiede più spazio.
Testo di scansione della linea
Esportato da Diag. → ** al termine della scansione, tramite ** → Esporta come Testo.
Nome del file
line_scan_{area.line}_{YYYY-MM-DD}.txt
Esempio: line_scan_1.1_2026-09-29.txt.
Struttura del file
Il rapporto è diviso in tre sezioni separate da linee tratteggiate.
Blocco intestazione
Generated : 2026-09-29 14:30:22
ETS Project : My Building
Gateway : Secure Tunnel 192.168.2.7:3671 (1.1.0)
Line : 1.1
Medium : TP
Range : 0 - 255
Devices Found : 12
Duration : 38s
Elenco dispositivi - tabella numerata compatta:
[1] 1.1.1 MDT SCN-00.02 (0x0900)
[2] 1.1.5 Siemens 5WG1... (0xFFFF) [DataSecure]
...
Ogni riga mostra: indice, indirizzo individuale, stringa del modello, descrittore esadecimale e un flag [DataSecure] se il descrittore è 0xFFFF.
Risultati dettagliati - un blocco per dispositivo, con quattro sottosezioni:
| Sottosezione | Campi |
|---|---|
| Identità | Descrittore, Ruolo dispositivo, Nome dispositivo, DataSecure |
| Hardware | N. di serie, produttore, informazioni sull'ordine, versione firmware, tipo hardware, lunghezza massima APDU |
| Applicazione | Stato di caricamento, stato di esecuzione, versione dell'app, stato di caricamento della tabella degli indirizzi, stato di caricamento della tabella di associazione, stato di caricamento della tabella degli oggetti del gruppo |
| Stato | Modalità di programmazione, flag di errore, controllo del dispositivo |
I campi che non sono stati letti (ad esempio se Leggi Info non è stato attivato per un dispositivo) vengono visualizzati come -.
File di esempio: sample-line-scan.txt
Scansione linea PDF
Esportato da Diag. → ** al termine della scansione, tramite ** → Esporta come PDF.
Nome del file
line_scan_{area.line}_{YYYY-MM-DD}.pdf
Esempio: line_scan_1.1_2026-09-29.pdf.
Contenuto
Il PDF contiene le stesse informazioni del report Line Scan Text, formattato come documento A4 con il logo SharKNX, bande di sezione e ombreggiatura delle righe alternate. I numeri di pagina e il timestamp di generazione vengono visualizzati nel piè di pagina.
File di esempio: sample-line-scan.pdf
Tabelle dei dispositivi PDF
Esportato da **Diag. → ** una volta lette le tabelle di un dispositivo:
- Un dispositivo: apri la pagina dei dettagli della sessione e tocca il pulsante Condividi nella barra in alto.
- Tutti i dispositivi: tocca Esporta nella scheda Ispeziona per creare un PDF per ogni sessione completata. Sul desktop vengono salvati in una cartella scelta; sui dispositivi mobili vengono condivisi in batch.
Nome del file
device_tables_{individual_address}_{YYYY-MM-DD}.pdf
Esempio: device_tables_1.1.5_2026-09-29.pdf.
Sezioni
| Sezione | Contenuto |
|---|---|
| Intestazione + Informazioni | Indirizzo del dispositivo, timestamp di generazione, modello del dispositivo, produttore, informazioni sull'ordine, numero di serie, firmware, ruolo del dispositivo, stato di protezione dei dati, indirizzo di gruppo e conteggio dei collegamenti |
| Oggetti di comunicazione | Una riga per oggetto di comunicazione con numero, nome (se disponibile da ETS), dimensione, flag, priorità e indirizzi di gruppo collegati |
| Tabella indirizzi | Voci della tabella degli indirizzi non elaborati: indice, livello 3, livello 2 e valore esadecimale |
| Info dispositivo | Campi Identità, Hardware, Applicazione e Stato (uguali al Testo scansione linea): presenti solo se Leggi Info è stato eseguito prima dell'esportazione |
Ogni sezione inizia su una nuova pagina, quindi i report multisezione vengono impaginati in modo pulito.
File di esempio: sample-device-tables.pdf
Associazioni CSV/TXT
Esportato dalla pagina dei dettagli di una sessione in **Diag. → **, tramite i pulsanti Esporta CSV e Esporta TXT sopra l'elenco delle associazioni. Entrambi contengono una voce per oggetto di comunicazione, con i relativi flag e indirizzi di gruppo collegati.
Nome del file
associations_ia-{area-line-device}_{YYYY-MM-DD}.csv
associations_ia-{area-line-device}_{YYYY-MM-DD}.txt
Esempio: associations_ia-1-1-5_2026-09-29.csv.
Struttura CSV
comm_object,c,r,w,t,u,i,size,group_addresses
0,1,0,1,0,0,0,1 bit,1/1/1
1,1,1,0,1,0,0,1 bit,"1/2/1, 1/2/9"
Le colonne flag sono 1 (impostata) o 0 (non impostata): Communication, Lead, Write, Transmit, Apdate e leggi su Init. Quando un oggetto è collegato a diversi indirizzi di gruppo, questi condividono una cella tra virgolette, separata da virgole.
Struttura TXT
Comm. Object 1
Flags: C=1 R=1 W=0 T=1 U=0 I=0
Size: 1 bit
Group Addresses:
1/2/1
1/2/9
CSV della tabella degli indirizzi del gruppo
Esportato dalla pagina dei dettagli di una sessione in **Diag. → **, tramite il pulsante Esporta CSV sopra la tabella degli indirizzi di gruppo.
Nome del file
group_address_table_ia-{area-line-device}_{YYYY-MM-DD}.csv
Struttura
tsap,3-level,2-level,hex
1,1/1/1,1/257,0x0901
2,1/2/1,1/513,0x0A01
tsap è l'indice della voce nella tabella degli indirizzi del dispositivo.
Shark Hunt JSON
Esportato dalla pagina Shark Hunts - Esporta tutti i Hunt per ogni Shark Hunt o dal menu di una Shark Hunt per una singola.
Nome del file
- Shark Hunt singola: il nome della Shark Hunt (ripulito, max caratteri 50), ad es.
HVAC_Diagnostics.json - Tutte le Shark Hunts:
SharKNX_Export_YYYY-MM-DD.json
Struttura del file
Il file è un oggetto JSON con un blocco metadata e un array hunts. Le esportazioni di una sola ricerca e di tutte le ricerche utilizzano la stessa struttura, pertanto è possibile importare qualsiasi esportazione.
{
"metadata": {
"version": "1.0.0",
"exportedAt": "2026-09-29T14:30:22.000Z",
"huntCount": 1,
"appVersion": "1.2.0",
"exportedBy": "SharKNX"
},
"hunts": [
{
"id": "e3224ab9-...",
"name": "HVAC Diagnostics",
"description": "Fan coils and heat pump",
"actions": [
{
"id": "fe00f896-...",
"name": "Fan coil setpoint",
"type": "sendFixed",
"commands": [
{ "groupAddress": "11/0/1", "value": "21", "dpt": "9.001", "delayMs": 0, "isRead": false }
]
}
]
}
]
}
type di ciascuna azione è uno tra sendFixed, sendSequence, sendVariable, sendCommObject, sendAndMonitor, monitorSpace, monitorDevice, monitorGaRange, monitorDeviceRange, monitorThreshold o monitorCustom; i restanti campi dipendono dalla tipologia.
File di esempio: sample-shark-hunt.json
Importa
Nella pagina Shark Hunts, Importa Hunt accetta qualsiasi esportazione di Shark Hunt SharKNX. Le Shark Hunts importate vengono aggiunte al tuo elenco esistente e ricevono nuovi ID, in modo che non sovrascrivano mai una Shark Hunt che già possiedi. Le Shark Hunts che interrompono Limiti (più di azioni 25 o più di comandi 15 in un'azione) vengono saltate e l'importazione viene rifiutata se ti porta su Shark Hunts salvate 25.