[TUTO] - Gestion de sa piscine avec sonde iopool

Bonjour,

Ça a fonctionné le lendemain, je pense que c’est dû au faite que la filtration a été lancée le matin par une automatisation HA avant l’heure du Slot1. Maïs tout est rentré dans l’ordre.

Merci

1 « J'aime »

Bonjour, merci pour ce TUTO.
Côté remonté iopool, tout semble ok
Par contre, j’ai un soucis sur la partie automation de la filtration.

Je pense que appdaemon ne lance rien.
heure configuré mais pas de démarrage de la pompe et donc pas de comptabilisation des heures.

Voici les logs:

2023-06-18 12:34:45.529546 WARNING pool_pump_manager: ------------------------------------------------------------
2023-06-18 12:34:45.530099 WARNING pool_pump_manager: Unexpected error initializing app: pool_pump_manager:
2023-06-18 12:34:45.530517 WARNING pool_pump_manager: ------------------------------------------------------------
2023-06-18 12:34:45.538221 WARNING pool_pump_manager: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/appdaemon/app_management.py", line 1035, in check_app_updates
    await self.init_object(app)
  File "/usr/lib/python3.11/site-packages/appdaemon/app_management.py", line 338, in init_object
    "object": app_class(
              ^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/appdaemon/plugins/hass/hassapi.py", line 47, in __init__
    adbase.ADBase.__init__(self, ad, name, logging, args, config, app_config, global_vars)
  File "/usr/lib/python3.11/site-packages/appdaemon/adbase.py", line 87, in __init__
    self.logger.setLevel(args["log_level"])
  File "/usr/lib/python3.11/logging/__init__.py", line 1464, in setLevel
    self.level = _checkLevel(level)
                 ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/__init__.py", line 207, in _checkLevel
    raise ValueError("Unknown level: %r" % level)
ValueError: Unknown level: 'debug'

2023-06-18 12:34:45.538771 WARNING pool_pump_manager: ------------------------------------------------------------
1 « J'aime »

Bonjour,

Par hasard, dans le fichier de configuration apps.yaml tu n’aurais pas mal saisir le log_levelen mettant debug et non DEBUG ?

Merci pour ce super tuto. Je suis quasiment arrivé au bout avec quelques difficultés que j’ai pu retrouver dans le fil de discussions comme par exemple le remplacement du nom des entités.
Il ne me reste plus qu’a installer et configurer les notifications. J’ai bien regarder la vidéo " Les NOTIFICATIONS sur HOME ASSISTANT, c’est compliqué? Oui (mais en fait NON)" et je rajouterai « Quand même un peu ». Je n’ai pas bien compris sa vidéo, alors c’est vrai que je suis un noob mais j’ai réussi à installer le gestionnaire Iopool donc je ne vois pas pourquoi je n’y arriverai pas.
Par contre pour ceux qui auraient le même problème que moi. J’utilise Home assistant et Appdaemon en container sur docker. Je n’ai donc pas de superviseur (pour le moment j’en ai vraiment pas eu besoin). Je n’ai clairement pas trouvé la partie « Configuration » dans Appdaemon, je ne comprenais donc pas comment activer le module python « Humanize ». Evidemment j’avais des erreurs en lien avec ce module python au lancement d’Appdaemon. Après de longues recherches, il suffit d’ajouter le fichier « requirements.txt » à la racine du dossier de configuration d’Appdaemon et de mettre dedans :

# requirements.txt
humanize

Voila avec ca lors du rechargement du container d’Appdaemon il charge le module « humanize ».

Bon je repars au combat avec notifier et je vous tiens au courant car je pense qu’il y a des nuances lorsqu’on utilise des containers docker.

Je viens de voir que le système de notification est déjà intégré dans Home Assistant et il a l’air de bien fonctionner. Pourquoi ne pas l’utiliser ?

Bonjour,

La vidéo que j’ai mis en lien explique l’intérêt.
Au final derrière ça utilise les notifications vers l’app HA mais en lui donnant plus d’intelligence.

Regardez la vidéo de Horizon Domotique et tout sera plus clair

Bonjour @mguyard,

J’ai un petit soucis, quand je veux faire un boost de 24h, il démarre la pompe et l’arrête dans la foulée. Aurais-tu une idée d’où vient le problème ? Sinon encore mille merci pour ton tuto car ça fonctionne du tonnerre.

Merci

Bonjour,

Ça donne quoi les logs en debug dans appdaemon?
Ça le fait que pour un boost de 24h ?

Hi, 1st of all amazing work! My integration to Home Assistant works instead of Pool slot start 2. This is from my error.log
Maybe you know the answer how to fix it.

2023-08-24 00:00:00.042933 WARNING pool_pump_manager: ------------------------------------------------------------
2023-08-24 14:00:00.017850 WARNING pool_pump_manager: ------------------------------------------------------------
2023-08-24 14:00:00.018605 WARNING pool_pump_manager: Unexpected error in worker for App pool_pump_manager:
2023-08-24 14:00:00.020062 WARNING pool_pump_manager: Worker Ags: {'id': 'f89cd28a5b864b76b5200bf58af54e29', 'name': 'pool_pump_manager', 'objectid': 'f2a3ac074b10434d8fb94a2969934e7f', 'type': 'scheduler', 'function': <bound method pool_pump_manager.callback_slot_start of <pool_pump_manager.pool_pump_manager object at 0x7f5dc737f110>>, 'pin_app': True, 'pin_thread': 0, 'kwargs': {'interval': 86400, 'slot': 2, '__thread_id': 'thread-0'}}
2023-08-24 14:00:00.020933 WARNING pool_pump_manager: ------------------------------------------------------------
2023-08-24 14:00:00.022896 WARNING pool_pump_manager: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/appdaemon/threading.py", line 1020, in worker
    funcref(**self.AD.sched.sanitize_timer_kwargs(app, args["kwargs"]))
  File "/config/appdaemon/apps/pool_pump_manager.py", line 149, in callback_slot_start
    elapsed_filtration_minutes = int(float(self.get_state(self.args['pump_stats_sensor_id'])) * 60)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

2023-08-24 14:00:00.025741 WARNING pool_pump_manager: ------------------------------------------------------------

Hi,

Is it your first day of implementation ?
If yes I think this will work tomorrow because all entities seems don’t yet set with valid value. In fact, error said that entity behind pump_stats_sensor_id in AppDaemon configuration don’t have valid value yet.
This entity is calculated by HA based on pump running time today so if pump don’t have run since you have implement everything it’s a normal behavior and will working tomorrow

Unfortunately i have this error since 6 days in my log. The pump gets activated every day at 9am as scheduled. Also the first 40% stop works at 12:24. Second start slot is 2pm and that is not working.

Ok. In this case, can you show me :

  • Content of your configuration (like screenshot below)
  • Entity state linked to pump_stats_sensor_id
  • Entity state linked to pool_filtration_duration_storage
  • Entity state linked to start_time_id and stop_time_id of each slot

Can you also set log_level in DEBUG like in my capture and share here log file (pool_pump_manager.log). If it’s already in debug, just share log file

Salut MGuyard,

J’avais déjà la version Jeedom et je suis bien content de te retrouver ici :slight_smile: Je suis un gros gros débutant sur HA mais j’ai suivi les instructions à lettre et j’ai un fonctionnement parfait pour un visuel douteux. Je n’ai peut être pas bien capté la façon de créer des card, j’ai simplement coller ton code dans une carte personnalisée:

Une idée ?

Bonjour,

C’est très étonnant. Tu as bien installé mushroom comme indiqué dans le tuto ?
Tu ne t’es pas trompé dans l’indentation ? Quand tu edites la carte, il n’affiche pas d’erreur en bas et/ou à droite ?

1 « J'aime »

Il semblerait après vérification que en effet, j’avais durant le copié collé (Balancé dans un fichier texte pour changer les entités) cassé l’indentation. Depuis un card en direct, j’ai le visuel, je vais donc éditer directement via l’éditeur intégré.

Merci !

Salut,
Et merci pour cet excellent tuto.
J’ai bien rentré la clé API, reçu l’ID du bassin, mis les deux données dans leur fichier respectif suivant ton tuto mais quand je verifie la configuration, j’ai ce message d’erreur. Si tu as une idée?

image

Bonjour,

Tu as bien importé le package avec la méthode include_dir_merge_named car ca ressemble à ce type de problème.

J’avais déjà une ligne de ce type sans le _merge, c’est à dire :
include_dir_named

Ça apporte quoi le _merge ?

Mes .yaml sont dans packages et non incluse/packages.
Tu penses que ça peut avoir une importance ?

Bonjour,

Si tu as mis à jour le chemin de tes packages pour correspondre à la réalité ce n’est pas un souci. D’ailleurs le message d’erreur indique bien qu’il vit le package pool et qu’il ne le comprend pas.

C’est dû au include_dir_named que tu utilises au lieu du include_dir_named_merged. La différence est détaillée ici : Packages - Home Assistant

Donc si tu veux garder ta configuration, dans le package qui je propose, il faut que tu retires la première ligne (pool:) et que tu desindentes tout de 1 niveau

1 « J'aime »

C,'est bon, j’ai fait comme tu m’as dit et ça marche parfaitement…
Un grand merci…

1 « J'aime »