Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ajout de dépense vocal → Tricount

⚠️ Statut : non officiel, reverse engineered

Tricount (propriété de bunq) n'a aucune API publique documentée. Cette intégration s'appuie sur tricount-api, un package tiers qui reverse-engineer l'API mobile de Tricount à des fins éducatives. Conséquences à accepter avant d'utiliser ce projet :

  • Aucune garantie que ceci respecte les CGU de Tricount/bunq.
  • Un changement d'API côté bunq peut casser l'intégration sans préavis, et sans possibilité de hotfix côté ce projet tant que tricount-api lui-même n'est pas mis à jour.
  • Pas de rate limiting documenté par la lib sous-jacente — l'intégration ne fait aucun appel en rafale ni en parallèle par prudence, mais reste dépendante du comportement de tricount-api sur ce point.

Si tu veux une solution supportée officiellement, utilise l'app Tricount.

Architecture

Même principe que l'intégration voix→Yazio : le pipeline Assist de Home Assistant (satellite vocal + agent de conversation) est déjà en place, ce projet ajoute le "skill" Tricount qui manque.

Voix → satellite Assist → agent de conversation
                              │
                              └─ script.tricount_add_expense ──▶ service tricount_voice.add_expense
                                     (create_transaction, écriture directe)

Contrairement à Yazio, il n'y a pas d'étape de recherche/sélection ambiguë avant écriture (pas de base produit à matcher) — seulement des noms de tricount et de membres à résoudre. L'écriture est donc directe, sans confirmation orale systématique, tant que tricount et membres sont résolus sans ambiguïté. En cas d'échec (tricount ou membre introuvable, ambiguïté, API indisponible), le service renvoie une erreur exploitable et crée une notification persistante Home Assistant — pas de silence, pas de crash.

Installation

Via HACS (recommandé)

  1. HACS → menu ⋮ → Dépôts personnalisés → ajouter https://github.com/Aldorus/tricount-voice-ha, catégorie Intégration.
  2. Installer « Tricount Voice » depuis HACS, redémarrer Home Assistant.
  3. Ajouter l'intégration : Paramètres → Appareils et services → Ajouter une intégration → « Tricount Voice ». Aucune saisie requise à cette étape — des credentials device sont générés automatiquement.
  4. Ajouter un tricount : sur l'intégration créée, ouvrir les Options, coller le token de partage du tricount (dans le lien d'invitation : Partager → Copier le lien) et un alias court à dire à voix haute (ex: "Colocs"). Répéter pour chaque tricount à connecter.
  5. Fusionner homeassistant/scripts_tricount_voice.yaml dans scripts.yaml, recharger les scripts.
  6. Exposer l'entité à Assist : Paramètres → Voix → Exposer, activer script.tricount_add_expense.

Manuellement

  1. Copier custom_components/tricount_voice/ dans config/custom_components/.
  2. Suivre les étapes 2 à 6 ci-dessus.

Utilisation

"Ajoute une dépense de 45 dollars à l'épicerie dans le Tricount Colocs, payée par moi, séparée entre tout le monde."

  • tricount_alias peut être omis si un seul tricount est configuré.
  • payer peut être omis (défaut : "moi", résolu vers le "Payeur par défaut" configuré pour ce tricount).
  • split_among peut être omis (défaut : tous les membres du tricount).

Développement

python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/pytest

Hors scope v1

  • Lecture des soldes par la voix ("combien je dois à qui") — get_balances existe déjà dans l'adaptateur mais n'est pas exposé en service, prévu pour v2.
  • Édition/suppression de transaction par la voix — surface d'erreur trop grande pour du vocal (risque de supprimer la mauvaise dépense).
  • Pièces jointes/reçus, remboursements, multi-devises avec conversion.
  • Publication HACS formelle avec config flow UI complet — objectif v1 = usage perso fonctionnel.

État / limites connues

  • Pas testé dans une vraie instance Home Assistant (config flow, options flow) — seule la logique métier (tricount_adapter) est couverte par des tests automatisés, contre un double du client tricount-api (pas d'accès réseau réel dans les tests).
  • La résolution de membre par nom dicté est un matching texte simple (normalisation accents/casse/pluriel + égalité ou inclusion) — pas de tolérance aux fautes de prononciation au-delà de ça.

About

Ajout de dépenses Tricount par commande vocale via Home Assistant Assist (reverse engineered, non officiel)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages