Pluie sur Velux motorisé

J’utilise le plugin KLF200 qui fonctionne super mais il y’a un manque concernant le capteur de pluie sur les fenêtres VELUX motorisée. Du coup, j’ai voulu bidouillé le code pour l’ajouter mais j’ai découvert que c’est prévu.
Les lignes en question sont commentée dans le fichier ressource et il manque la commande dans le fichier config. Dans le core tout est prévu.
Quand j’active ce qu’il faut et ajoute la commande dans la config, ça fonctionne à merveille.
@lunarok
Du coup, je me demande la raison pour laquelle c’est désactivé ? et si rien ne l’empêche pourquoi ne pas faire une nouvelle version qui l’inclus.

Bonsoir,

Vous êtes certain ?
Intéressé de savoir s’il pleut ou pas sur le velux, j’ai aussi fait des modifs et je ne récupère que true pour la commande rain alors qu’il ne pleut pas.
Ces commentaires dans la lib python pyvlx ne parlent que de la présence d’un détecteur de pluie:

Parameters:
            * pyvlx: PyVLX object
            * node_id: internal id for addressing nodes.
                Provided by KLF 200 device
            * name: node name
            * serial_number: serial number of the node.
            * position_parameter: initial position of the opening device.
            * rain_sensor: set if device is equipped with a
                rain sensor.

La commande devrait s’appeler rain_sensor comme dans la lib pyvlx.

Effectivement, j’ai testé hier, et il n’a pas arrêté de pleuvoir, du coup le true m’a induit en erreur. Il ne pleut plus maintenant et j’ai toujours true.

J’ai ma réponse :sleepy:

Je vais encore creuser, si je trouve quelque chose, je le publierai en réponse sur ce post.

Yapa grand espoir.
Trouvé dans la Technical Specification for KLF 200 API Lien HS
image

Oui, c’est ce que j’ai vu mais je pensais plutôt à récupérer un statuts du genre « protection activé » sans nécessairement avoir le mot pluie.
J’ai remarqué ça dans ma tahoma, quand il pleut, sur l’app somfy, il est simplement mis, « l’état de ce périphérique ne permet pas … » sans référence à la pluie.
Il doit donc y avoir un état de protection activée mais je ne trouve pas comment le récupérer dans la doc.

Bonjour,

Il ne semble en effet pas possible de récupérer l’état du capteur de pluie d’après la doc mais il semblerait que la limite de la valeur d’ouverture soit changée et possible de la récupérer.

Je n’ai pas creusé mais peut être y-a-t-il possibilité de modifier le plugin-klf200 pour y avoir accès comme c’est le cas avec Home Assistant ?

Bonsoir,

plugin-klf200 n’étant pas accessible sur Github, voici un peu de python3 fait en collaboration avec ChatGPT pour récupérer les limites min et max du Velux.

import asyncio
from pyvlx import PyVLX
from pyvlx.api.get_limitation import GetLimitation

async def get_limits(node, pyvlx):
    """
    Récupère la limitation min/max d'un équipement Velux.
    Retourne un tuple (min, max) en pourcentage.
    Si l'équipement n'expose pas la limitation, renvoie (None, None).
    """
    try:
        request = GetLimitation(pyvlx=pyvlx, node_id=node.node_id)
        await request.do_api_call()
        return request.min_value, request.max_value
    except Exception:
        return None, None

async def main():
    pyvlx = PyVLX(host="L'IP de votre KLF200", password="VotrePasword")
    await pyvlx.load_nodes()

    for node in pyvlx.nodes:
        print("=" * 40)
        print(f"Nom       : {node.name}")
        print(f"ID        : {node.node_id}")
        print(f"Classe    : {node.__class__.__name__}")

        min_lim, max_lim = await get_limits(node, pyvlx)
        if min_lim is not None and max_lim is not None:
            print(f"  Limitation min : {min_lim}")
            print(f"  Limitation max : {max_lim}")
        else:
            print("  Pas de limitation disponible pour ce type")
       

if __name__ == "__main__":
    asyncio.run(main())

A copier/coller dans un fichier nommé vlxLimits.py dans le répertoire data(à créer) du plugin
et à exécuter en se déplaçant dans ce répertoire data et en lançant
la commande ../resources/venv/bin/python3 vlxLimits.py
Le résultat:

J’attends qu’il pleuve pour vérifier si min change.
Intégré dans le plugin, ça donne par temps sec:
image
Il a plu cette nuit. La limite min est passée à 93 pendant 3 minutes.
Ce matin aussi:
image

2 « J'aime »

Bonjour,

Merci.

Le script me retourne bien les valeurs Min et Max pour les différents éléments (Volets, Velux, Store).

Je vais le relancer lorsqu’il pleuvra pour voir ce que cela donne.

Intégré dans le plugin comme tu l’as fait, ce serait top.

Bonjour,

La pluie étant de retour, je confirme que la limite min change bien chez moi aussi.

En revanche, elle passe à 93 pour les modèles UK04, UK08, SK06 et à 91 pour le modèle CK02 (qui est plus petit).

Bonjour @arnog23 @jpty . Je lis avec intérêt vos échanges. Toutefois je ne suis pas certain de votre cible d’utilisation des valeurs récupérées.

J’ai compris que les valeurs min et max donnent le % maximal de fermeture de la fenetre Velux qui est de 0% (0% fermé=ouvert 100%) lorsqu’il ne pleut pas et de 93% (mode aération) s’il pleut. A noter que j’ai via ma commande tactile KLR un popup si je veux ouvrir et qu’il pleut qui me dit « Il pleut… Ouvrir plus ? » qui permet sans ouvrir totalement d’aller au dela de 93% (mais qui ne dure pas si la pluie continue).Ceci est impossible avec le KLF ou les commandes murales.

Dans mon cas c’est cette option que je voulais avoir dans ma domotique pour en effet ouvrir plus car parfois il pleut peu ou le capteur reste actif alors que la pluie a cessé et que je voudrais ouvrir davantage pour aérer.

Dans votre cas comment vouliez vous utiliser ces valeurs min et max ? pour info ou pour un autre usage ?

Merci de vos retours

Merci pour ce script. Cela m’a permis de voir que pour mon velux la valeur_min est encore différente: 89.
@lunarok Ce serait top de remonter cette valeur min dans le plugin pour se faire un rain sensor virtuel a peu de frais.