- Rimosso vecchio topic homeassistant/sensor/voltronic/config all'avvio
- Aggiunto flag -r (retain) a tutti i discovery topics
- MQTT init eseguito immediatamente all'avvio + ogni 5 minuti
- Aggiunto unique_id e device info a tutti i sensori per HA
- mqtt-subscriber ora ascolta su 3 topic:
- homeassistant/sensor/voltronic/command (legacy)
- homeassistant/sensor/voltronic_inv1_raw_cmd/command
- homeassistant/sensor/voltronic_inv2_raw_cmd/command
- Subscriber con output verbose e timestamp
- Discovery topics ora persistono dopo restart broker MQTT
Timing verificato:
- Init all'avvio: immediato
- Re-init periodico: ogni 5 minuti (300s)
- Data push: ogni 30 secondi
FLUSSO IMPLEMENTATO:
1. All'avvio: registra discovery topics per 2 inverter (hardcoded)
2. Discovery topics ripetuti ogni 5 minuti (invece di 10)
3. Parallel discovery parametri con retry:
- Tenta discovery fino a 3 volte
- Se fallisce: attende 5s e riprova
- Se tutti i tentativi falliscono: assume 2 inverter
4. Estrazione dati ogni 30s per entrambi gli inverter
NAMING:
- Inverter 1: voltronic_inv1_*
- Inverter 2: voltronic_inv2_*
Discovery topics include tutti i 33 parametri per entrambi gli inverter
- Rimosso timeout e detection automatica
- Sempre modalità parallela forzata
- Default 2 inverter se parallel discovery fallisce
- Registra discovery per voltronic_inv1 e voltronic_inv2
NOTA: Se gli inverter non rispondono a QPGS, NON sono in modalità parallela.
Per gestire 2 inverter fisici separati, serve INVERTER_DEVICES=/dev/ttyUSB0:/dev/ttyUSB1
- Aggiunto timeout 15s al parallel discovery per evitare blocchi
- mqtt-init-parallel.sh in stile originale semplice
- Per ogni inverter scoperto: registra topic discovery (voltronic_inv1_*, inv2_*, ...)
- Discovery topics ogni 10 minuti invece di 5
- Fallback automatico a single-mode se timeout o count=0
- Mantiene la semplicità dello script originale
Il parallel discovery testa QPGS0-9 per trovare inverter configurati in parallelo.
Se timeout o nessun inverter trovato, usa modalità standard.
- Modificato entrypoint.sh per rilevare automaticamente inverter paralleli
- Usa flag -p per parallel discovery (testa QPGS0-9)
- Script mqtt-push-parallel.sh per pubblicare dati di ogni inverter
- Script mqtt-init-parallel.sh per discovery topics (ogni 10 min)
- Naming: voltronic_inv1, voltronic_inv2, ecc.
- Fallback automatico a single-mode se PARALLEL_COUNT=0
Nota: Il parallel discovery richiede che inverter supportino comandi QPGS