Deye via Modbus : ce que nous avons appris en écrivant notre propre intégration
Vous cherchez une cartographie de registres pour lire vous-même un Deye ? Nous avons parcouru ce chemin en écrivant Svitgrid, et nous partageons ce qui n'est pas dans la documentation, adresses de registres comprises. Et si vous voulez un résultat et non un projet, il est prêt.
Deye ne parle pas directement Modbus TCP
Via le logger : Solarman V5
Le logger Wi-Fi enveloppe le Modbus RTU dans son propre protocole Solarman V5 sur le port TCP 8899. Chaque requête porte le numéro de série du logger. Un client Modbus TCP ordinaire avec en-tête MBAP ne construit pas ces trames.
Loggers dont le numéro de série commence par 26
La nouvelle génération de loggers Deye n'accepte pas les requêtes locales : les données ne vont qu'au cloud Deye. Il reste le câble.
Par câble : Modbus RTU
RS-485, 9600 8N1, registres de maintien (fonction 0x03). L'adresse est le champ Modbus SN de l'écran de l'onduleur, généralement 01. L'adresse 00 est l'adresse de diffusion, et Deye n'y répond jamais. Brochage et pièges du câble.
Pièges de cartographie des registres que nous avons mesurés nous-mêmes
La plupart des cartographies Deye en ligne sont assemblées à partir de documents du fabricant et de projets communautaires. Voici ce qui s'est révélé différent sur de vrais onduleurs. Les adresses sont décimales.
Les cartographies triphasée et monophasée diffèrent
Sur le SG04LP3, la puissance PV1 est au registre 672, la charge de la batterie au 588 et le réseau au 625. Sur les monophasés SG01LP1, SG02LP1 et SG05LP1, ce sont 186, 184 et 169. Les températures sont aussi dans des blocs différents, 540/541 et 90/91, et le mauvais bloc renvoie des zéros ou 65535. La puissance de la batterie (590 et 190) est positive en décharge.
Puissance en unités de 10 W
Certaines versions du firmware indiquent un registre de puissance dix fois trop petit alors que les autres champs sont corrects. Sur le SG02LP1, cela arrive à la consommation 178 et 179, et sur le SG01HP3 haute tension à la puissance de la batterie 590. Vérifiez avec les compteurs journaliers de l'onduleur (sur les monophasés : 76 est l'importation, 84 la consommation, 108 le solaire), pas avec les valeurs instantanées.
Le courant du réseau n'est pas là
Les adresses documentées du courant du réseau (610–612 en triphasé, 160 en monophasé) contiennent autre chose sur de vrais onduleurs : le registre 160 indiquait environ 5.6 A alors que l'échange avec le réseau était nul. Calculez le courant comme |P| / U.
Time of Use n'est pas ce qui active la charge depuis le réseau
L'autorisation de charge depuis le réseau est le bit 0 du registre 130 sur les unités triphasées et 232 sur les monophasées. L'interrupteur général Time of Use, bit 0 du registre 146 ou 248, ne fait qu'activer le programme des plages. Dans nos données, des onduleurs se chargeaient depuis le réseau même avec Time of Use désactivé, et aucun ne le faisait avec le bit 0 de 130/232 désactivé.
Un créneau n'a pas de fin
Les six plages Time of Use divisent la journée sans trous : la fin de la plage N est le début de la plage N+1 (148–153 en triphasé, 250–255 en monophasé). Écrire une plage décale la limite de sa voisine, et les heures de début doivent être dans l'ordre croissant.
Bits inconnus dans l'activation de plage
Dans les registres 172–177 (triphasé) et 274–279 (monophasé), le bit 0 active la plage, et des bits supérieurs peuvent aussi être positionnés, avec une signification inconnue. Ne modifiez que le bit 0 par lecture, modification et écriture. N'écrivez jamais 0 ou 1 comme mot entier.
Avant d'écrire dans un registre, lisez-le sur votre onduleur et enregistrez ce qui s'y trouvait.
Ce qu'il faut encore pour transformer des registres en station
| Étape | Ce que cela implique | Durée approximative |
|---|---|---|
| Client | Solarman V5 ou RTU, nouvelles tentatives, délais d'attente et connexions interrompues | jours |
| La cartographie de votre modèle | Échelles, signes, 16 ou 32 bits, et vérification sur un onduleur réel | jours |
| Écritures | Plages horaires et modes sans risque de laisser l'onduleur dans un état étrange | une semaine |
| Tout ce qui l'entoure | Où cela fonctionne 24 h/24 et 7 j/7, le stockage de l'historique, les alertes et l'accès depuis un téléphone | semaines |
| Total | plusieurs semaines |
La durée est approximative : jusqu'à la première station utilisable chaque jour.
Assistance
Une question ou un problème avec votre Deye ? Écrivez-nous.
Écrivez-nous sur WhatsApp, en français, ou dans le groupe Svitgrid sur Telegram. Nous lisons chaque message et répondons vite : dans le groupe, le bot voit votre station grâce au code de diagnostic de l'application ; la conversation part donc des données, pas de questions de clarification.
Nous apprécions ceux qui signalent des problèmes. Un bug confirmé rapporte des points, et les points paient votre abonnement.
Questions
Deye prend-il en charge Modbus TCP ?
Pas directement. Le logger Wi-Fi parle Solarman V5 sur le port 8899 : c'est du Modbus RTU enveloppé dans une trame avec le numéro de série du logger. Les loggers dont le numéro de série commence par 26 n'acceptent même pas cela. Par un câble RS-485, l'onduleur répond en Modbus RTU ordinaire.
Quels sont les réglages Modbus RTU de Deye ?
9600 bauds, 8 bits de données, sans parité, 1 bit d'arrêt (8N1). L'adresse est le champ Modbus SN de l'écran de l'onduleur. Un Deye ne répond jamais à l'adresse 00 : réglez 01, puis 02, 03 sur chaque onduleur suivant du même bus.
Comment lire le courant du réseau d'un Deye ?
Vous ne pouvez pas, car il n'est pas dans les registres : les adresses documentées (610–612 en triphasé, 160 en monophasé) contiennent autre chose. Nous divisons la puissance absolue du réseau par la tension du réseau.
Pourquoi Deye ne charge-t-il pas la batterie depuis le réseau même avec Time of Use activé ?
Vérifiez le bit 0 du registre 130 (triphasé) ou 232 (monophasé) : c'est l'autorisation de charge depuis le réseau. L'interrupteur général Time of Use, registre 146 ou 248, ne fait qu'activer le programme et n'autorise pas à lui seul la charge depuis le réseau.
Où trouver la cartographie des registres Deye ?
Les adresses clés sont ci-dessus. Le triphasé SG04LP3 et les modèles monophasés ont des cartographies différentes, et certaines versions du firmware indiquent la puissance en unités de 10 W ; vérifiez donc chaque adresse sur votre propre onduleur.
À lire ensuite
Essayez avant d'écrire le vôtre
Flasher le firmware Svitgrid sur votre propre ESP32-S3 est gratuit. Si Svitgrid ne vous convient pas, vous perdez une soirée, pas un mois.
