﻿titolo:SmartHome
descrizione:Gestione unificata del ciclo vita completo dei dispositivi smart home multi-marca: discovery in rete locale, controllo, automazioni, gruppi, categorie, integrazioni Google Home/Alexa. Server Python (Windows/Linux/Termux) + WebApp browser + app Android nativa.
linguaggio:Python (server), HTML/CSS/JavaScript (WebApp), Kotlin (app Android)
nota:
novita:
v0.115 — 11/10/2026
- Dal menu tasto destro sulla tray icon tolte le voci "Ripara" e "Disinstalla": nessuna voce di avvio automatico nel menu contestuale.
- Aggiunta finestra "Impostazioni" con la spunta "Avvia all'accesso a Windows": attiva o disattiva subito l'avvio automatico (si applica appena si clicca, non serve premere Salva). Per "riparare" basta togliere la spunta e rimetterla.
- Tolta la registrazione automatica forzata dell'avvio con Windows a ogni normale apertura del programma: ora l'avvio automatico segue solo la spunta scelta dall'utente.
v0.105 — 02/10/2026
- La versione Windows ora usa il programma di installazione NasoSan (non piu' Inno Setup): dall'eseguibile gia' pronto viene creato un setup che installa l'app con le icone nel menu Start e sul desktop, con disinstallazione. Nessun cambiamento nell'uso.

v0.100 — 29/09/2026
- Nuova versione Windows: un unico file, SmartHomeNasoSan.exe. Lo lanci, si installa da solo (senza permessi da amministratore) e crea la cartella del programma con dentro l'eseguibile, piu' le icone nel menu Start e, se vuoi, sul desktop; include la disinstallazione.
- Non serve avere Python installato sul PC: l'eseguibile e' completo.
- Usa la stessa icona dell'app Android.
- I dati (dispositivi, configurazione, log) vengono salvati in una cartella personale dell'utente e restano al loro posto tra un avvio e l'altro.
v0.078 — 23/09/2026
- Multi-server: le altre istanze SmartHome in rete locale ora vengono rilevate automaticamente, senza doverle registrare a mano per indirizzo.
- Lo stato dei dispositivi si sincronizza tra le istanze registrate.
- Nuove modalita' di conflitto tra istanze, quando piu' server potrebbero comandare lo stesso dispositivo: per priorita', a esclusione o con rivendicazione temporanea.
v0.073 — 22/09/2026
- Lo stato dei dispositivi viene ora salvato dopo ogni comando: il pallino di stato in Dashboard mostra online/offline reale (prima restava "sconosciuto") e le automazioni "SE stato dispositivo" ora scattano davvero.
- Dopo aver sincronizzato un account del servizio (Tuya, Meross, Sonoff...), le chiavi locali dei dispositivi vengono collegate automaticamente al dispositivo giusto: i comandi non danno piu' "parametri mancanti".
- Discovery: ogni dispositivo trovato nella scansione ha ora un pulsante "Aggiungi" per censirlo subito, senza doverlo ridigitare nel Wizard.
- Nuova sezione Impostazioni > Multi-server: registra altre istanze SmartHome (per indirizzo), verificane la raggiungibilita' ed elimina; il controllo del nome gruppo ora considera anche le altre istanze registrate. (Rilevamento automatico e modalita' di conflitto tra istanze: in arrivo.)
v0.068 — 21/09/2026
- Tutte le sezioni dell'interfaccia sono ora attive e funzionanti (niente piu' "prossime fasi"): Wizard per aggiungere un dispositivo, Controllo (accendi/spegni/inverti, luminosita' e colore), Gruppi (composizione e attivazione), Categorie (azioni su tutti i dispositivi dello stesso tipo), Automazioni (regole SE/ALLORA), Integrazioni (Google Home e Alexa: sincronizza e allinea nomi).
- Impostazioni ampliate: gestione account dei servizi (credenziali cifrate) e backup dei dati (esporta/importa).
- Bluetooth: nell'app Android usa ora il Bluetooth del telefono (scansione nativa con richiesta permessi), non piu' un messaggio fuorviante sul "browser". Il blocco Bluetooth e' separato dalla scansione di rete e, dove non e' disponibile, non mostra pulsanti attivi ingannevoli.
- Log eventi mostrato con data e ora leggibili (gg/mm/aaaa hh:mm:ss) e con gli eventi piu' recenti in cima; ripulite le vecchie voci di esempio che mostravano moduli non ancora attivi.
- Gruppi e Categorie ora eseguono davvero i comandi sui dispositivi (prima erano segnaposto).
v0.062 — 19/09/2026
- Risolta la schermata Android vuota (si vedevano solo i due pulsanti in basso): l'interfaccia completa (Dashboard, Discovery, Impostazioni, Log) con intestazione e piede firma ora si carica. Il server locale non partiva perche' cercava una cartella immagini non inclusa nell'app.
- Se l'interfaccia non riesce a caricarsi ora compare un messaggio in italiano invece di una schermata vuota.
- L'app Android ora mostra l'icona NasoSan nel launcher (prima appariva l'icona generica di Android).
- Premendo "Esci" la schermata si chiude e resta chiusa: l'app non viene piu' riaperta automaticamente. La gestione per orario ed eventi continua in background e, se il sistema chiude il servizio, viene riavviata in silenzio senza far ricomparire la finestra.
v0.056 — 18/09/2026
- Risolto il crash immediato all'apertura dell'app Android: mancava il tema grafico richiesto dalla schermata principale. Ora l'app si avvia correttamente.
- Sicurezza: password email, token Telegram/Twilio, chiave push e token di accesso non sono piu' salvati in chiaro nella configurazione, ma cifrati automaticamente.
- Sicurezza: il token di accesso viene consegnato solo all'interfaccia locale della stessa app (controllo di origine rafforzato) e non e' piu' leggibile da un sito web esterno; CORS chiuso per impostazione predefinita.
- Sicurezza: la chiave di cifratura ora puo' essere letta da una variabile d'ambiente ed e' protetta con permessi ristretti; il backup automatico dell'app Android e' disattivato per non esporre i dati.
- Sicurezza: dall'interfaccia non e' piu' possibile riscrivere il token di accesso o le origini CORS; confronto del token reso resistente agli attacchi a tempo.
- Affidabilita': gli aggiornamenti in tempo reale (esecuzione automazioni e cambi di presenza) ora raggiungono davvero l'interfaccia.
- Affidabilita': il motore delle automazioni non si blocca piu' durante comandi lenti o ritardi; il database gestisce meglio gli accessi in parallelo e non cresce piu' senza limite (pulizia di stato e storico).
- Affidabilita': l'app Android attende l'effettiva apertura del servizio prima di mostrare l'interfaccia, con tentativi ripetuti invece di un'attesa fissa.
- Affidabilita': le nuove impostazioni predefinite vengono applicate anche alle installazioni gia' esistenti; il registro eventi mantiene l'ordine cronologico e una dimensione controllata.
v0.045 — 17/09/2026
- Nome dell'app corretto in "SmartHomeNasoSan" (prima "SmartHomeNaso"): etichetta Android e file APK ora coerenti col progetto. APK Android ricompilato e allineato al codice piu' recente.
- Nuovo pulsante ingranaggio in alto a destra che apre le Impostazioni.
- Il Log eventi ora si trova dentro le Impostazioni (non piu' come scheda sempre visibile nella barra in alto).
- Nuovo avvio da tray su Windows (tray_smarthomenaso.ps1): icona vicino all'orologio con menu in tema scuro e banda logo; voci di stato colorate (server, avvio automatico, Python); Apri interfaccia; avvia e chiude il server in background.
- Il tray si registra da solo all'avvio automatico di Windows (riparabile e disinstallabile dal menu o da riga di comando) e si riavvia senza far comparire finestre nere.
v0.029 — 16/09/2026
- Sicurezza WebApp: nomi dispositivi, risultati discovery e righe di log ora mostrati come testo semplice, mai eseguiti come codice (rimosso rischio XSS da dispositivi malevoli in rete).
- Sicurezza server: CORS non consente piu' credenziali quando le origini sono aperte ("*"); l'endpoint di configurazione accetta solo le chiavi previste e rifiuta quelle non ammesse.
- Protezione con password attiva di default: al primo avvio viene generato automaticamente un token di autenticazione. L'interfaccia locale lo riceve in automatico e continua a funzionare; per usare l'interfaccia da un altro dispositivo in rete va impostato il token manualmente.
v0.018 — 15/09/2026
- Nuovo servizio in primo piano sempre attivo: la gestione per orario ed eventi continua anche a interfaccia chiusa.
- Integrazione con GestoreApp per il riavvio automatico se l'app viene chiusa non volontariamente.
- Nuovi pulsanti: Esci (chiude solo la schermata, il servizio resta attivo) e Interrompi servizio (ferma del tutto la gestione in background).
