- 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
6.7 KiB
Report Compatibilità: Voltronic Axpert MKS IV
🔬 UPDATE 31/01/2026: Test comandi alternativi completati! Vedere MKS_IV_TEST_RESULTS.md per report dettagliato con 22 comandi testati.
Risultato chiave: ✅ Comando QGMN funziona e identifica modello come "054"
📋 Informazioni Inverter
- Modello: Voltronic Axpert MKS IV
- Model Code: 054 (identificato via QGMN)
- Protocollo: RS232 (compatibile hardware-wise)
- Serie: MKS (Modern King Series)
- Compatibilità software: ❌ PROTOCOLLO PROPRIETARIO (solo 1/22 comandi funzionanti)
✅ Verifica Configurazione Attuale
1. Baudrate
Status: ✅ CORRETTO
- Configurato: 2400 baud
- Test eseguito: Provati 2400, 9600, 19200, 38400, 115200
- Risultato: L'inverter risponde su 2400 baud (riceve NAK ma comunica)
2. Protocollo Seriale
Status: ✅ CORRETTO
- Data bits: 8
- Parity: None
- Stop bits: 1
- Flow control: None
- Configurazione: 2400 8N1 ✓
3. Codice Sorgente
Status: ✅ COMPATIBILE
Il codice è basato su:
- Skyboo's implementation per Axpert MEX
- Protocol standard Voltronic/Axpert/MPPSolar
- Supporta comandi: QPIGS, QPIRI, QMOD, QPIWS
File rilevanti:
sources/inverter-cli/main.cpp- Entry pointsources/inverter-cli/inverter.cpp- Comunicazione seriale (2400 baud, 8N1)config/inverter.conf- Buffer sizes configurati
❌ Problema Rilevato
Sintomo: NAK Response
L'inverter risponde con (NAKs (Negative Acknowledge) a tutti i comandi.
Hex ricevuto: 28 4E 41 4B 73 73 0d = (NAKss\r
Possibili Cause Specifiche per MKS IV
1. 🔴 Protocollo P18 vs P17
Il MKS IV potrebbe usare il protocollo P18 (più recente) invece del P17.
Differenze P18:
- Comandi leggermente diversi
- CRC calculation potrebbe essere diverso
- Alcuni comandi potrebbero avere prefissi diversi
Test da fare:
# Prova questi comandi P18:
QPI # Protocol ID
QVFW # Main CPU Firmware version
QVFW2 # Another CPU firmware version
2. 🔴 Device Type Setting
Alcuni MKS IV richiedono inizializzazione o handshake specifico prima di accettare comandi.
Possibili soluzioni:
- Inviare comando di inizializzazione
- Attendere più tempo dopo apertura porta
- Inviare sequenza di "wake up"
3. 🔴 RS232 vs USB-HID
Il MKS IV potrebbe preferire comunicazione USB-HID invece di RS232 emulato.
Test:
ls -la /dev/hidraw* # Verifica se esiste device HID
Nel tuo caso: Nessun /dev/hidraw trovato
4. 🔴 Cable Type
Il MKS IV potrebbe richiedere:
- Cavo RS232 diretto (non USB-to-Serial converter)
- Cavo speciale Voltronic con pin-out specifico
Pin-out standard RS232:
Pin 2: RX (Receive)
Pin 3: TX (Transmit)
Pin 5: GND (Ground)
Alcuni inverter richiedono anche DTR/RTS.
🔧 Soluzioni Suggerite
Soluzione 1: Test con Comandi P18
Modifica sources/inverter-cli/main.cpp per provare comandi diversi:
// In main.cpp, test raw commands:
// inverter_poller -r QPI
// inverter_poller -r QVFW
// inverter_poller -r QPIGS
Soluzione 2: Controllo Cavo/Connessione
- Verifica LED inverter: Alcuni MKS IV hanno LED che indicano comunicazione attiva
- Prova porta RS232 fisica invece di USB-to-Serial
- Controlla pin-out cavo: Alcuni cavi economici non hanno tutti i pin collegati
Soluzione 3: Software di Test Ufficiale
Voltronic fornisce WatchPower software per Windows:
- Scarica da sito ufficiale Voltronic
- Testa comunicazione su Windows per verificare hardware
- Controlla quale porta/baudrate usa il software ufficiale
Soluzione 4: Modifica CRC o Timing
Alcuni MKS IV hanno timing più stretto:
// In inverter.cpp, dopo write():
usleep(200000); // Aumenta da 100ms a 200ms
// Oppure aumenta timeout read:
timeout.tv_sec = 5; // Da 2 a 5 secondi
📊 Compatibilità Codice
✅ Supporto Dichiarato
Il progetto dichiara supporto per:
- Voltronic Power Axpert ✓
- MPPSolar PIP ✓
- Voltacon ✓
- Effekta ✓
- OEM Inverters ✓
⚠️ MKS IV Specificità
Il MKS IV è una versione più recente che potrebbe avere:
- Protocollo aggiornato (P18)
- Comandi extended
- Buffer sizes diversi
Riferimento manuale: /manual/HS_MS_MSX_RS232_Protocol_20140822_after_current_upgrade.pdf
Questo manuale è del 2014 e potrebbe NON includere il protocollo MKS IV.
🎯 Piano d'Azione
Step 1: Verifica Hardware (PRIORITÀ ALTA)
# 1. Test con software ufficiale Voltronic su Windows (se disponibile)
# 2. Verifica LED comunicazione su inverter
# 3. Prova cavo RS232 diverso
# 4. Controlla manual MKS IV per pin-out specifico
Step 2: Test Comandi Alternativi
# Test comandi P18:
cd /home/pi/Progetti/sources/inverter-cli
./bin/inverter_poller -r QPI
./bin/inverter_poller -r QVFW
./bin/inverter_poller -r QPIRI
./bin/inverter_poller -r QMOD
Step 3: Modifica Codice
Se comandi standard non funzionano, potrebbe essere necessario:
- Aggiornare CRC calculation per P18
- Modificare timing/delay
- Implementare handshake iniziale
Step 4: Community Research
Cerca su forum:
- http://forums.aeva.asn.au/viewtopic.php?t=4332
- GitHub issues del progetto
- Forum Voltronic/Axpert per MKS IV specifico
📚 Risorse
Documentazione Progetto
documentation/CODE_ARCHITECTURE.md- Architettura completadocumentation/AUTO_DISCOVERY.md- Feature auto-discoverydocumentation/DEBUG.md- Guida debugging
Manuale Protocollo
/manual/HS_MS_MSX_RS232_Protocol_20140822_after_current_upgrade.pdf- ⚠️ Potrebbe non coprire MKS IV (2014)
Forum & Support
- AEVA Forum: http://forums.aeva.asn.au/viewtopic.php?t=4332
- GitHub: https://github.com/ned-kelly/docker-voltronic-homeassistant
- Skyboo original: https://skyboo.net/2017/03/monitoring-voltronic-power-axpert-mex-inverter-under-linux/
🔍 Log Test Eseguiti
Date: 31 gennaio 2026
Device: /dev/ttyUSB0 (FTDI USB Serial Device)
Test: Baudrate detection
Results:
- 2400: NAK response (inverter comunica ma non accetta comandi)
- 9600: No response
- 19200: No response
- 38400: No response
- 115200: No response
Conclusion:
- Baudrate corretto: 2400 ✓
- Protocollo: Possibile incompatibilità con MKS IV
- Hardware: Funzionante (riceve e risponde)
- Software: Necessita verifica comandi P18
⏭️ Next Steps
- IMMEDIATO: Verifica su manual MKS IV se esiste protocollo P18
- PRIORITÀ ALTA: Test con software ufficiale Voltronic per confermare hardware
- RICERCA: Cerca su forum/GitHub per implementazioni MKS IV specific
- FALLBACK: Contatta support Voltronic per specifiche protocollo MKS IV
Autore: Generated by GitHub Copilot
Data: 31 gennaio 2026
Versione Codice: 2.0 (con auto-discovery)