Compte-tenu du temps pluvieux, je me suis dit que c’était le moment de vous donner une occupation de fin de semaine.
Le tuto est donc publié, il est assez détaillé mais je dois encore le reparcourir pour vérifier l’absence de boulettes, raison pour laquelle je ne l’ai pas encore rendu public.
Pour y accéder, on va vous demander un mot de passe qui est : sigalou
Evidemment, je compte sur vous pour me signaler sur cette discussion si vous y êtes arrivé ou pas, les points de blocage que je peux améliorer, les éventuelles erreurs ou imprécisions …
Quand tout cela sera au point, je ferai une publication sur le blog de HACF en remerciement de votre vote lors du dernier concours, merci encore, c’est très touchant.
Merci pour la publication de la recette mais comme d’autres avant moi, donner l’accès à mon compte en banque à un site tiers c’est juste pas possible ! Il n’y a aucune garantie de quoi que ce soit en terme de sécurité, dommage parce que cela me plaisait bien
question à se poser, en cas de piratage de compte quel est la réaction de la banque dans le cas ou tu as autorisé une application tierce à accéder à tes comptes, la banque à normalement un devoir de vigilance mais comme c’est toi qui a autorisé …
Je ne connaissais pas cette société, peut-être que c’est prévu dans les conditions générales en accord avec la banque.
« Les protocoles d’open banking garantissent que les données sont transmises en toute sécurité entre les différentes parties impliquées »
Oui, les amis, j’entends votre remarque mais vous pensez pouvoir récupérer comment les infos de votre banque sans passer par un opérateur d’agrégation ??
Je me suis bien renseigné sur cette question depuis que je me spécialise en cybersécurité.
Pour votre parfaite information, l’agrégation bancaire désigne le processus par lequel un service ou une plateforme récupère et centralise les données bancaires d’un utilisateur en provenance de plusieurs comptes ou établissements financiers. Ce service repose sur l’accès aux données via des API bancaires sécurisées. Ces API sécurisées sont maintenant encadrées par la directive européenne DSP2 – Directive sur les Services de Paiement 2.
Sans DSP2, je comprendrais vos doutes, mais depuis sa publication, les agrégations banquaires sont sûres.
Si votre banque n’est pas proposée dans la liste des banque disponibles, c’est qu’elle ne fournit pas de certification DSP2. Si elle est proposée, vous pouvez foncer.
Notez enfin que si vous suivez bien le déroulé des autorisations données, vous n’autorisez aucun transfert de fonds, uniquement de la consultation. Vous prenez plus de risque en payant sur Temu qu’en agrégeant votre compte bancaire.
Dernière chose, si votre banque vous donne accès à une API, vous pouvez vous y connecter directement sans passer par un agrégateur. Je suis chez Axa banque, ils n’ont pas ouvert d’API directement aux particuliers, il faut être certifié DSP2 pour se connecter dessus. Et évidemment un particulier ne peut pas se payer un certificat DSP2 juste pour consulter ses comptes.
utiliser les helpers via l’UI par rapport à cette partie
pour les captures d’écrans où il y a besoin de surligner, je vous suggère d’utiliser l’outil ShareX
Une remarque dans cette partie pourquoi ne pas spécifier un scan d’interval plus grand (par exemple 1h, ou 2h ou 4h ou 6h ou 24h ?); ça évite de créer l’automatisation qui mets à jour à midi … Je comprends qu’au cas où l’automatisation peut servir plus tard si besoin, mais c’est ré inventer la roue alors que l’option « scan_interval » est prévue pour ?
… et je rejoins les commentaires au dessus qui invite à créer une intégration
Je sais le faire pour la plupart des sensors dont les entrées, mais pour les templates, je ne sais pas faire, enfin, je n’ai jamais tenté. C’est documenté quelque part ? tu sais ?
J’ai expliqué dans le tuto que je ne souhaite pas utiliser scan_interval car c’est un intervale de temps et non un horaire. Ainsi, si je veux faire ma mise à jour à midi, je ne peux pas le faire avec scan_interval. J’enverrai un message pour dire que le salaire est tombé, que le solde est négatif ou autre quand je détecterai un truc qui m’interesse. si j’utilise scan_interval, j’ai le risque d’une mise à jour à 3h du mat, un message pour dire que le solde est négatif à cette heure c’est pas super WAF ! Voilà la raison.
Pour l’intégration, je pense que ce n’est pas assez automatisé pour en faire une intégration, mais je vais y réflechir.
Salut Sigalou
dans les entrées tu choisis un template, modeliser un capteur et dans modèle de l’état tu copies le code correspond à la partie state: de ton capteur.
Comme il le précise dans son tuto il à choisi cette méthode car elle correspond à son besoin, libre à toi d’adapter à ton gout
Par principe, en cybersécurité, plus tu rajoutes d’éléments, et quels que soient ces « éléments » (un bout de code, une appli, des accès à une API et j’en passe), tu abaisses le niveau de sécurité de l’ensemble.
Avec le DSP2, ça t’offre une forme de garantie que le risque est maitrisé. Pas qu’il n’existe pas.
Powens utilise l’API pour récupérer des infos de ton compte. Donc, par définition, la surface d’exposition aux risques de tes infos/détails bancaires s’accroit et le risque associé augmente.
On peut considérer que le risque est plus faible que l’intérêt que tu y vois et que l’on peut y trouver. Mais, néanmoins, dire DSP2 = 0 risque d’ouvrir les accès à Powens, je n’irai pas jusque-là.
Merci, je vais tester. C’est tellement simple le yaml quand tu y es habitué … mais je dois me forcer à me mettre à l’interface graphique car ce sera l’avenir.
Je suis partagé là dessus car quand tu veux mettre ce que tu fais à disposition des autres faire un fichier yaml en tant que package avec tous les sensors, automatisations et scripts c’est tellement plus rapide pour tout le monde.
Merci pour ce tuto !
J’ai une erreur d’unité sur le sensor solde_banque
Une idée de ce qu’il faut faire pour résoudre ?
Enregistreur: homeassistant.components.sensor
Source: helpers/entity_platform.py:609
intégration: Capteur ([documentation](https://www.home-assistant.io/integrations/sensor), [problèmes](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
S'est produit pour la première fois: 19:19:44 (1 occurrences)
Dernier enregistrement: 19:19:44
Error adding entity sensor.solde_banque for domain sensor with platform rest
Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 635, in state numerical_value = int(value) ValueError: invalid literal for int() with base 10: '' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 638, in state numerical_value = float(value) ValueError: could not convert string to float: '' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 609, in _async_add_entities await coro File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 928, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1383, in add_to_platform_finish await self.async_added_to_hass() File "/usr/src/homeassistant/homeassistant/components/rest/entity.py", line 43, in async_added_to_hass self._update_from_rest_data() ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/src/homeassistant/homeassistant/components/rest/sensor.py", line 186, in _update_from_rest_data self.async_write_ha_state() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1023, in async_write_ha_state self._async_write_ha_state() ~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1148, in _async_write_ha_state self.__async_calculate_state() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1085, in __async_calculate_state state = self._stringify_state(available) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1029, in _stringify_state if (state := self.state) is None: ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 642, in state raise ValueError( ...<5 lines>... ) from err ValueError: Sensor sensor.solde_banque has device class 'None', state class 'None' unit '€' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: '' (<class 'str'>
Si c’est comme Linxo et cie (et Powens est un concurrent de Linxo), ils n’ont accès aux informations qu’en lecture. Toutes les opérations d’écriture demandent une nouvelle authentification / validation auprès de sa banque directement.
Merci en tout cas de nous avoir fait découvrir Powens. Je vais pouvoir créer un script custom pour récupérer les informations.