Curl depuis windows distant pour modifier un input_text

Mon problème

Bonjour à tous,

j’ai besoin de modifier la valeur d’un input_text configuré dans mon configuration.yaml

j’ai pour cela configuré un jeton long terme et tenté différente ligne de commande sans succes.

Mon besoin est de changer la valeur texte de l’input texte.

J’ai été voir dans les api mais je n’ai pas trouvé mon bonheur.

Preneur de votre aide

Multinet

Salut
Pas sur de ce que je dis mais a mon avis c’est risqué ce que tu veux faire.
Modifier ton configuration yaml sans le surveiller c’est risquer de planter HA
Tu devrais plutot expliquer ce que tu veut faire car normalement ce fichier ne se modifie que pour integrer de nouveaux trucs…

Salut,

C’est faisable avec un Webhook et une automatisation déclenchée par le webhook.

Il veut changer la valeur d’une entité définie dans le fichier de conf, pas le fichier de conf lui même. :slight_smile:

La réponse est bonne, mais il faut juste réaliser que le webhook expose une api http de type post, put ou head et pas get. Cela peut être un soucis suivant l’appelant.
Pour exposer un get, il faudrait utiliser node-red. J’utilise relativement peu node-red par rapport aux automatisations mais ce peut alors avoir du sens ici.

Effectivment, mais comme @Mulinet parlait de curl dans le sujet, il peut faire un post.

Maintenant l’autre question de @breizhou13 est bonne aussi. Quel est le besoin initial, y’a peut-être d’autres façons de faire, y’en a toujours :slight_smile:

Bonjour à tous et merci pour vos réponses

Ma situation est que je suis en train d’essayer de basculer de domoticz vers home assistant. J’avoue que je maitrise bien domoticz et sa programmation en Python et dzvents mais j’avoue aussi que je découvre progressivement HA.

Pour en revenir à mon besoin : je souhaite valoriser une entité de type texte dans HA avec une information que j’ai sur Windows (il s’agit d’un logiciel sur Windows qui gère une porte à ventouse avec badge, et je veux valoriser qui a badgé dans un « sensor? / inpit_text ?)

J’avais donc imaginé
1- de créer un input_text (mais je comprend que ça ne doit pas être le bon type d’entité?)
1- de faire un curl depuis Windows pour changer la valeur de cette entité avec le prénom de qui a badgé

Merci de votre aide qui me permet de mieux comprendre le fonctionnement de HA (qui est radicalement différent de domoticz) !

Bon dimanche

Salut.
Si tu fais du python, utilise un client mqtt pour balancer l’info. Ha ira récupérer la valeur avec un sensor.

1 « J'aime »

Ou tu envoies un fichier json sur ton serveur ha et tes sensors viennent piocher dedans…

Salut breizhou13,

tu peux detailler un peu comment faire coté HA ?

Merci

Regarde le post Pronote…c’est comme ça qu’il fait…
Je suis désolé, j’ai plus de courant donc j’ai que mon téléphone c’est pas trop facile…

Maintenant que j’ai du temps:
Toutes les 10 minutes HA va aller lire le fichier json et modifier la valeur de ton sensor:

Dans le sensor.yaml (ou dans configuration, je sais pas comment c’est chez toi)

  - platform: rest
    name: monsensor
    scan_interval: 10
    json_attributes:
      - test
    value_template: >
        {% if value_json.test.0 is defined %}
            {{ value_json.test.0.cle1 }}
        {% else %}
            Problème
        {% endif %}
    resource: chemindufichier.json

Le fichier json

{
    "test": [
        {
            "cle1": "ma valeur 1",
            "cle2": "ma valeur 2",
        }
    ]
}

Salut,

La solution de passer par un fichier intermédiaire c’est pas l’idéal.

J’étais sur Domoticz avant HA aussi et effectivement j’utilisais pas mal les appels par les URL. Mais depuis HA j’ai complètement changé et tous mes capteurs qui sont sur d’autres machines passent maintenant par MQTT, la lib python super simple à utiliser et c’est instantané.
Pour juste récupérer un texte comme tu veux tu peux simplement créer un nouveau Text MQTT, directement lui donner un topic de valeur et la mise à jour sera automatique et instantanée dans HA.

Et un exemple python rapide:

import paho.mqtt.client as mqtt

def mqtt_pub(topic, value):
        mqttc = mqtt.Client(client_id="DomoTemp")
        mqttc.username_pw_set(username, password)
        mqttc.connect("192.168.1.35", 1883, 60)
        mqttc.publish(topic,value, qos=0, retain=True)
        mqttc.disconnect()

mqtt_pub('temperatures/chambre_parents', temp_c);

2 « J'aime »

Comme je découvre cette solution je profite pour avoir des explications.
Ton script python est sur le système qui envoie la valeur?
C’est le serveur mosquitto que tu renseignes?

Oui ça c’est un exemple basique d’envoi d’un message MQTT, en python sur une machine qui veut envoyer des infos.
C’est effectivement connecté au broker MQTT, Mosquitto ou autre.

Ensuite, sur HA, on créé une entité dont l’état est controllé par les messages qui viennent sur le topic ‹ temperatures/chambre_parents ›.
Ca c’est la version simpliste d’utilisation de MQTT avec des contenus de messages qui contiennent juste 1 valeur, nombre ou texte.
Mais il est possible de faire plus évolué et d’y coller du JSON interprété directement par l’entité. Voire même d’y mettre les infos nécessaires pour faire de 'lauto-discovery dans HA. Du coup même plus besoin de créer l’entité, elle sera créée toute seule.

1 « J'aime »

Woaw y’a des choses. A regarder la dedans…

Merci à tous je vais piocher dans ces pistes !