+12
−0
+10
−4
+0
−1
+2
−4
Loading
Fase 1 devices (parziale): BaseDevice su netio/siemens/domotics, state/status/connection su astelco/mercury, lock su stx.py, fix ipcam.py, ultimo commento italiano
- netio.py, siemens.py, domotics.py: ereditano BaseDevice via
super().__init__(url), invece di reimplementare url/error a mano.
- domotics.py: rimosso il `return` morto in cima a get()/put() che
rendeva quei metodi completamente non funzionanti (bug da audit).
- astelco.py: `state` da int bit-coded a bool (True = errore presente),
sola lettura — è un registro hardware, non c'è nulla da settare.
`status` resta invariato (già verboso). init.html aggiornato con
"map": "bool_yesno" e rimosso "unit": "#" ormai non pertinente.
- mercury.py: `status` (bool, reachability) rinominato in `connection`
per coerenza con lo stesso concetto in atik.py; libera "status" dal
significato ambiguo. Nessun consumer API da aggiornare oggi
(/stage/status chiama in realtà is_init). Promemoria aggiunto a
PLAN.md per applicare la stessa convenzione nella fase API.
- stx.py: threading.Lock() a guardia di _wait_if_needed()/
_last_command_time, letto e scritto sia dal thread di loop che dai
thread di richiesta senza sincronizzazione — poteva far sforare il
rate-limit di 50ms tra comandi.
- ipcam.py: DlinkDCSCamera.__init__ ora chiama super().__init__(url)
invece di duplicarne il corpo; save_image da @property (con un
parametro filename impossibile da passare, e un side-effect di
scrittura su disco al semplice accesso) a metodo normale.
- atik.py: tradotto/rimosso l'ultimo commento italiano rimasto in
devices/.
Co-Authored-By:
Claude Sonnet 5 <noreply@anthropic.com>