Logger

Il nodo Logger registra tutti i telegrammi e produce un file compatibile con l’XML del bus monitor ETS.

Puoi salvarlo su disco (nodo file) oppure inviarlo, ad esempio, a un server FTP. Il file può essere letto in ETS per diagnosi o per il replay dei telegrammi. Il nodo può anche contare i telegrammi al secondo (o con l’intervallo che preferisci). Esempi qui.

Impostazioni

ProprietĂ  Descrizione
Gateway Gateway KNX.
Topic Topic del nodo.
Nome Nome del nodo.

File diagnostico BUS compatibile ETS

ProprietĂ  Descrizione
Auto start timer Avvia automaticamente il timer al deploy o all’avvio di Node‑RED.
Output new XML every (in minutes) Ogni quanti minuti emettere il file XML compatibile con ETS.
Max number of rows in XML (0 = no limit) Numero massimo di righe contenute nell’XML nell’intervallo indicato; 0 per nessun limite.

Contatore telegrammi KNX

ProprietĂ  Descrizione
Auto start timer Avvia automaticamente il timer al deploy o all’avvio di Node‑RED.
Count interval (in seconds) Ogni quanti secondi emettere nel flow il conteggio dei telegrammi.

Uscite del Logger

PIN 1: file XML compatibile ETS bus monitor

Usa un nodo file per salvare msg.payload su filesystem, o invialo ad esempio a un server FTP.


msg = {
  topic: "MyLogger",
  payload: "CommunicationLog xmlns=http://knx.org/xml/telegrams/01 Telegram Timestamp=2020-03-27T07:32:39.470Z Service=L_Data.ind...." // stringa XML
}

PIN 2: contatore telegrammi KNX

Ad ogni conteggio, il nodo emette un messaggio come questo:


msg = {
  topic: "",
  payload: 10,
  countIntervalInSeconds: 5,
  currentTime: "25/10/2021, 11:11:44"
}

Messaggi di ingresso (INPUT)

Controllo del file XML ETS compatibile

Avvio timer


msg.etsstarttimer = true;
return msg;

Stop timer


msg.etsstarttimer = false;
return msg;

Output immediato del file ETS


// Emette subito l'XML; se il timer era attivo, lo riavvia
msg.etsoutputnow = true;
return msg;

Contatore telegrammi KNX

Avvio timer


msg.telegramcounterstarttimer = true;
return msg;

Stop timer


msg.telegramcounterstarttimer = false;
return msg;

Output immediato del conteggio


msg.telegramcounteroutputnow = true;
return msg;

Vedi anche