Document project rules and development setup
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
# Arkteos — règles de contribution
|
||||||
|
|
||||||
|
## Périmètre
|
||||||
|
|
||||||
|
Ce dépôt prépare l'intégration custom Home Assistant `arkteos` pour une PAC
|
||||||
|
Arkteos Zuran 4. L'intégration est strictement en lecture seule.
|
||||||
|
|
||||||
|
## Connexion réseau
|
||||||
|
|
||||||
|
- Se connecter exclusivement au proxy TCP de l'addon Home Assistant séparé.
|
||||||
|
- Ne jamais établir de connexion directe avec la PAC.
|
||||||
|
- Le port de référence du proxy est `9641`; il doit rester configurable.
|
||||||
|
- Ne jamais émettre d'octet, de commande ou d'acquittement vers le proxy sans
|
||||||
|
preuve explicite que ce comportement est requis et sans décision explicite.
|
||||||
|
|
||||||
|
## Référence protocolaire
|
||||||
|
|
||||||
|
- La source de vérité actuelle est `references/arkteos_nodered_flow.json`.
|
||||||
|
- `references/proxy_protocol_notes.md` documente le contexte connu.
|
||||||
|
- Préserver chaque champ décodé par le flow Node-RED de référence.
|
||||||
|
- Ne pas déduire de champ, d'offset, d'unité, d'encodage ou de règle de
|
||||||
|
découpage TCP qui ne soit pas démontré par ces références ou par des captures
|
||||||
|
de trames versionnées.
|
||||||
|
- Toute nouvelle connaissance du protocole doit citer sa source et être testée
|
||||||
|
avec une capture anonymisée ou un cas de test reproduisible.
|
||||||
|
|
||||||
|
## Changements
|
||||||
|
|
||||||
|
- Ne supprimer aucune ligne, commentaire, test ou fichier existant sans
|
||||||
|
justification explicite de l'utilisateur.
|
||||||
|
- Avant chaque modification, indiquer les fichiers ou zones concernés et la
|
||||||
|
raison du changement; après modification, récapituler ce qui a été fait.
|
||||||
|
- Expliquer la zone concernée et présenter le diff avant toute modification
|
||||||
|
importante.
|
||||||
|
- Préserver les fichiers de référence et ne jamais les réécrire pour adapter
|
||||||
|
l'intégration.
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
- Ajouter des tests unitaires pour chaque règle de parsing introduite.
|
||||||
|
- Exécuter les tests après chaque modification fonctionnelle.
|
||||||
|
- Tester les données tronquées, concaténées et inconnues avant de considérer
|
||||||
|
la gestion du flux TCP comme fiable.
|
||||||
|
- Vérifier que les plateformes Home Assistant exposées ne permettent aucune
|
||||||
|
action d'écriture.
|
||||||
|
|
||||||
|
## Architecture et dépôt
|
||||||
|
|
||||||
|
- Séparer le parsing, le transport TCP et le code des entités Home Assistant.
|
||||||
|
- Ne jamais versionner d'identifiant, d'adresse IP, de jeton, de mot de passe
|
||||||
|
ni de capture privée.
|
||||||
|
- Préférer des commits petits et facilement relisibles.
|
||||||
|
- Créer les commits nécessaires et indiquer explicitement quand la branche est
|
||||||
|
prête à être poussée.
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
# Arkteos — développement
|
||||||
|
|
||||||
|
Ce dépôt prépare une intégration custom Home Assistant en lecture seule pour
|
||||||
|
une PAC Arkteos Zuran 4.
|
||||||
|
|
||||||
|
L'intégration devra lire exclusivement le flux du proxy TCP fourni par l'addon
|
||||||
|
Home Assistant séparé, sur le port de référence `9641`. Elle ne doit jamais se
|
||||||
|
connecter directement à la PAC ni écrire sur le proxy.
|
||||||
|
|
||||||
|
## Références disponibles
|
||||||
|
|
||||||
|
- `references/arkteos_nodered_flow.json` : flow Node-RED fonctionnel en
|
||||||
|
production et seule référence actuelle pour le parsing.
|
||||||
|
- `references/proxy_protocol_notes.md` : notes de contexte sur le proxy et les
|
||||||
|
tailles de trames rapportées.
|
||||||
|
|
||||||
|
## État du dépôt
|
||||||
|
|
||||||
|
L'intégration Home Assistant n'est pas encore écrite. Aucun comportement de
|
||||||
|
framing TCP ne doit être supposé sans captures ou tests démonstratifs.
|
||||||
|
|
||||||
|
## Arborescence cible proposée
|
||||||
|
|
||||||
|
```text
|
||||||
|
custom_components/
|
||||||
|
arkteos/
|
||||||
|
__init__.py
|
||||||
|
manifest.json
|
||||||
|
config_flow.py
|
||||||
|
const.py
|
||||||
|
coordinator.py
|
||||||
|
parser.py
|
||||||
|
sensor.py
|
||||||
|
binary_sensor.py
|
||||||
|
strings.json
|
||||||
|
translations/
|
||||||
|
fr.json
|
||||||
|
tests/
|
||||||
|
components/
|
||||||
|
arkteos/
|
||||||
|
references/
|
||||||
|
```
|
||||||
|
|
||||||
|
Cette arborescence est une proposition : elle ne crée encore aucun de ces
|
||||||
|
fichiers.
|
||||||
|
|||||||
Reference in New Issue
Block a user