Fix dello script temper per il sensore TEMPerGold_V3.4: copertina

Come risolvere l'errore TEMPerGold_V3.5 Error: Unknown firmware TEMPerGold_V3.5: b'80800b4d4e200000'.

Come dice il testo dell'errore il problema è causato dal firmware troppo recente del termometro USB TEMPerGold prodotto dalla Cinese PCsensor ( https://pcsensor.com/product/pcsensor-temperature-logger-temper-with-gold-usb-probe/ ).
Risolverlo il problema dello script Python ``temper`` ( https://github.com/urwen/temper ) è semplice e volece!

Premessa

Alcune note prima di passare al fizing:

  • lo script temper (https://github.com/urwen/temper) è ottimo e semplice. La PCsensor offre dei buoni software per i suoi sensori, ma nulla per il mondo Linux;
  • temper vede lo stik USB TEMPerGold:

sudo ./temper.py -l
[ ... ]
Bus 004 Dev 005 3553:a001 TEMPerGold ['hidraw0', 'hidraw1']
[ ... ]

ma non riesce a leggerlo in automatico

sudo ./temper.py

e forzando l'uso del device si ottiene l'errore e la versione del firmware

# ./temper.py --force 3553:a001
Bus 004 Dev 005 3553:a001 TEMPerGold_V3.5 Error: Unknown firmware TEMPerGold_V3.5: b'80800b4d4e200000'

  • dopo alcune verifiche il cambio di versione del firmware del sensore non richiede veri cambi nello script
  • per procedere al fixing ci servono: la versione e l'ID del prodotto, dati visti sopra:
    • ID del prodotto: 3553:a001
    • versione del firmware: TEMPerGold_V3.5

Fixing

Per risolvere possiamo fare una piccola modifica a Temper o usare uno script sostitutivo Temper-python

Modifica a Temper

Iniziamo il nostro fixin di https://github.com/urwen/temper .

  • Editare temper.py
  • aggiornate la riga 208 aggiungendo ``EMPerGold_V3.5``

if info['firmware'][:15] in [ 'TEMPerGold_V3.1', 'TEMPerGold_V3.3', 'TEMPerGold_V3.4', 'TEMPerGold_V3.5' ]:

  • aggiungere sotto la riga 344 le due righe come segue

if vendorid == 0x1a86 and productid == 0xe025:
return True
if vendorid == 0x3553 and productid == 0xa001:
return True

E... il gioco è fatto.
La prima modifica aggiunge il riconoscimento del nome del firmware.
La seconda riga aggiunge il riconoscimento dell'ID del device USB.

Script sostitutivo Temper-python

Se si vuole uno script uguale, stessa syntassi d'uso, che funziona subito senza dover modificare nualla si può usare Temper-python scaricabile da https://github.com/Suraku/temper-python/tree/master .