Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Ugyldig Transmit Ticks i TxStatus report?


OlavT

Anbefalte innlegg

Jeg har en support-sak gående med Silicon Labs.

 

Når en kontroller sender en melding til en node i Z-Wave nettverket rapporteres det tilbake til kontroller software hvor lang tid det tok å sende meldingen. 

 

Dette er beskrevet i spesifikasjonene:

4.2.10 Tx Status Report (N bytes)
When a Z-Wave transmission has been completed, the Z-Wave API Module can issue a Tx Status Report
providing details about the transmission that was carried out.

 

Et av feltene i Tx Status report er:

Transmit Ticks (16 bits)
This field is used to indicate the transmission time in multiples of 10ms. For example, the value 30 MUST indicate that the transmission took 300ms.

 

Problemet jeg opplever er at av og til (etter feil i overføringer), så rapporteres det ugyldige verdier for Transmit Ticks. Med det mener jeg at rapporten viser en tid som er lenger enn det er siden kommandoen ble sendt.

 

I min egen sw fanger jeg opp dette ved å legge inn en spesifikk sjekk for dette og logger det:

 

if (transmitMilliseconds > totalExecutionTimeMilliseconds)

{

    // Data does not make sense
    LogInvalidTransmitTime(currentCommand, response);

}

 

Dette går sannsynligvis under radaren for de fleste da forekomsten er relativt sjelden. Den er sannsynligivis hyppigere for større nettverk da sannsynligheten for kollisjoner og feilsendinger øker.

 

Kunne du tenke deg å bidra med informasjon om denne feilen?

 

Så vidt jeg vet er det en del som kjører Z-Wave løsninger med Z-Wave JS i bunn. Dette gjelder vel for eksempel Home Assistant. Mulig det finnes informasjon om Z-Wave detaljer i logger for andre kontrollere også, men det har jeg ikke sjekket.

 

I logger fra Z-Wave JS fremgår Transmit Ticks slik:

 

transmit status:        OK, took 80 ms

 

Det hadde vært fint om noen hadde hatt mulighet til å sjekke litt i loggene for sitt nettverk (gjerne de med 10-20 noder og oppover).

 

Det jeg ville sett etter er først å søke etter forekomster av transmit status med "Fail" (søke på "Fail, took"). I meldinger rett etter dette har jeg sett at det ofte rapporteres et antall millisekunder som ikke kan stemme basert på timestamps for når meldingene er sendt.

 

Noen som har sett noe slikt?

 

Det finnes forøvrig en del bugs i Z-Wave knyttet til meldinger med måleverdier. Dersom noen av og til får inn merkelige verdier for måleverdier, så skyldes det kankje disse feilene og at kontroller software ikke sjekker før det rapporteres videre.

 

Et eksempel på dette er meldingen: SOF Length=0x14 REQUEST FUNC_ID_APPLICATION_COMMAND_HANDLER_BRIDGE Single 01 SourceNodeId=0x19 PayloadLength=0x0b 56 01 31 05 04 22 00 e9 15 dc 3f 00 c0 Checksum=0xca (her CRC OK, og det er faktisk feil i meldingen som sendes fra noden, dette er sjekket med Zniffer).

 

Her er problemet: SensorMultilevelReportCommand: Sensor Value field length mismatch. Expected length 2. Actual length 3.

Endret av OlavT
Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.