- Rimosso credenziali hardcoded da mqtt.json (devono essere fornite solo da ENV)
- Ottimizzato mqtt-push.sh: caricamento config MQTT una sola volta all'avvio
- Ridotto I/O con redirect stderr su /dev/null
- Fix errore sed con device path contenente slash
- Aggiunto controllo esecuzione update_mqtt_config solo se ENV impostate
- Ridotto consumo CPU da 25% a ~0-2%
Nuovo:
- Documentazione multi-inverter completa (MULTI_INVERTER.md)
- Aggiornato README con sezione performance e multi-inverter
- Aggiunto .gitignore per file cache/backup runtime
Fixes:
- Bug sed delimiter con device path /dev/ttyUSB*
- Letture ripetute mqtt.json con jq (30+ per ciclo)
- Credenziali non aggiornate da ENV se mqtt.json esiste
- Aggiunto supporto ENV variables nel Dockerfile:
* INVERTER_DEVICE, MQTT_SERVER, MQTT_PORT, MQTT_TOPIC
* MQTT_DEVICENAME, MQTT_USERNAME, MQTT_PASSWORD
* FORCE_DISCOVERY, SKIP_DISCOVERY
- Implementata funzione update_mqtt_config() in entrypoint.sh
* Aggiorna automaticamente mqtt.json da ENV variables all'avvio
* Backup automatico configurazione originale
- Fix workflow Docker build:
* Login Docker Hub solo se secrets configurati
* Push solo se secrets disponibili (evita errori CI/CD)
* Build funziona anche senza secrets (utile per test locali)
- Aggiornato docker-compose.yml con esempio ENV variables
- Creata documentazione completa DOCKER_SETUP.md:
* Guida configurazione variabili d'ambiente
* Esempi docker-compose e docker run
* Guida configurazione secrets Gitea
* Troubleshooting e health check
Ora è possibile configurare completamente il container senza modificare file
- Aggiunto supporto lettura inverter paralleli tramite comandi QPGS0-QPGS9
- Implementato discovery automatico inverter con filtro duplicati e serial invalidi
- Risolti bug critici comunicazione seriale:
* Fix buffer ExecuteCmd da 7 a 200 bytes
* Supporto terminatori CR e LF
* Modalità blocking con delay 500ms
* Lettura byte-by-byte per terminatore affidabile
- Implementato script MQTT per pubblicazione dati multi-inverter:
* mqtt-push-parallel.sh con topic separati per ogni inverter
* Fix autenticazione MQTT con username/password
* Aggiunto flag retain (-r) per persistenza dati
- Creato test-loop-parallel.sh per simulazione completa container
- Aggiornata documentazione con compatibilità MKS IV e guida test loop
- Aggiornati profili debug VS Code per bash e parallel discovery
- Configurazione MQTT completa con server reale (192.168.1.37:1883)
Sistema testato e funzionante con 2 inverter Voltronic Axpert MKS IV