Releases: Knetus56/solax_local_x1_micro
Release list
1.4.5
prod_auj/prod_total survivent maintenant aussi à un redémarrage de Home Assistant survenant pendant une coupure API. Auparavant, cette persistance ne vivait qu'en mémoire côté coordinator : un redémarrage HA pendant une coupure faisait retomber ces deux capteurs à "Inconnu" jusqu'au retour de l'onduleur.
Ces deux capteurs utilisent désormais RestoreSensor pour restaurer la dernière valeur connue au démarrage tant qu'aucune lecture fraîche n'est arrivée, avec le même reset à minuit que prod_auj applique déjà en fonctionnement normal.
Fixes #16.
Autres changements : fond des icônes rendu transparent.
Full changelog: 1.4.4...1.4.5
Update Dutch (nl) translations
Update Dutch (nl) translations (looks better in my opinion)
Make HACS link work, no Page not found error anymore
1.4.3
1.4.2
1.4.1
1.4.0
Depuis la v1.3.6
Reprend plusieurs idées de la PR #1 (fork webpatrick/solax_local, fermée sans merge car ouverte sur une version du code depuis largement refactorée) :
- i18n : ajout de la traduction néerlandaise (
translations/nl.json) - device_class :
connectivitysur le capteuronline,frequencysurinverter_freq(icônes natives Home Assistant) solax_protocol.py: parsing des trames plus tolérant — accepte des paquets de réponse dès 80 octets (au lieu de 112) et ne vérifie plus le type de paquet, seul le numéro de série identifie la réponse comme provenant de l'onduleur.mode/prod_auj/prod_totalrestent àNone(jamais un faux 0) quand leur registre est absent d'un paquet raccourci, pour ne pas casser la persistance des compteurs cumulatifs
Voir le CHANGELOG dans le README pour le détail complet.
1.3.6
Depuis la v1.3.5
Refactor interne uniquement, aucun changement de comportement pour l'utilisateur :
coordinator.py: la logique de persistance des dernières valeurs connues (prod_auj/prod_total, avec le cas particulier du reset à minuit pourprod_auj) est extraite dans une méthode dédiée_apply_persistence()._async_update_dataest maintenant plus courte et plus lisible.
Voir le CHANGELOG dans le README pour le détail complet.
1.3.5
Depuis la v1.3.1
Fiabilité des données hors ligne
modene reflète plus que le dernier poll réussi : passe à "Inconnu" sur toute erreur de requête au lieu d'un état inventé (Offline/Unknown)prod_auj/prod_totalgardent leur dernière valeur connue en cas d'erreur réseau au lieu de retomber à 0 (évite de fausser les statistiques long terme)prod_aujrepasse automatiquement à 0 au changement de jour calendaire, même sans nouvelle donnée réelle
Pause nocturne
- Plus de requête réseau inutile la nuit : basé sur
sun.sun, marge d'1h autour du lever/coucher réel, se désactive proprement sisun.sunest absent
Qualité / conformité
- Capteur
modeen type énuméré (sensor.enum), avec seulement 3 valeurs possibles (wait_mode/check_mode/normal_mode), traduites FR/EN - Ajout d'une CI GitHub Actions (
hassfest+ validation Python/JSON) — a détecté et corrigé deux non-conformités au schéma officiel HA (ordre des clés du manifest, casse des clés de traduction d'état)
Note technique : le changement de casse des valeurs de mode (WaitMode → wait_mode, etc.) est un changement de valeur d'état brute pour se conformer au schéma HA. Sans impact sur les libellés affichés (toujours "Attente"/"Vérification"/"Normal").
Voir le CHANGELOG dans le README pour le détail complet (v1.3.2, v1.3.3, v1.3.4, v1.3.5).
v1.3.1: fix entity translation schema, MPPT1/MPPT2 naming (#3)
- Le bloc "entity" des fichiers de traduction (strings.json,
translations/en.json, translations/fr.json) utilisait des chaînes
brutes ("clé": "Libellé") au lieu du schéma imbriqué requis par HA
("clé": {"name": "Libellé"}). Résultat : translation_key ne se
résolvait jamais, HA retombait sur le nom générique basé sur le
device_class (ex: "Puissance" au lieu de "Puissance MPPT1"),
rendant les capteurs MPPT1/MPPT2 indiscernables entre eux.
- Renommage "MPPT 1"/"MPPT Power 1" -> "MPPT1"/"MPPT1 Power" (numéro
accolé, cohérent dans les 3 langues/fichiers).
- manifest.json: 1.3.0 -> 1.3.1
- README: changelog à jour