Jo2a
Octobre 27, 2025, 10:19
1
bonjour
Je commande certains périphériques depuis un autre programme qui tourne sur un Raspberry via un url lancée depuis le shell via CURL.
j’arrive à piloter un boitier ON/OFF Tuya sans difficulté, à lire un capteur de température ZIGBEE, mais impossible de trouver la syntaxe pour les modules des volets roulant.
Existe-t-il de la documentation ou des exemples ?
Merci
Jo2a
Giga77
Octobre 27, 2025, 10:27
2
Jo2a
Octobre 28, 2025, 6:21
3
Merci beaucoup Giga77
Je comprends que l’API ne connaît que deux commandes de base cover_close et cover_open.
Peut-on definir d’autres fonctions comme la lecture d’état ou le positionnement précis ?
Merci
Jo2a
Giga77
Octobre 28, 2025, 11:15
4
Alors t’as mal compris
Tu as les actions supporté ici : Cover - Home Assistant
Oui, toujours avec la doc : Cover - Home Assistant
Pour récupérer l’état d’une entité, utilises /api/states/<entity_id>
Jo2a
Octobre 28, 2025, 7:55
5
Merci Giga77, je débute donc désolé pour mes questions “simplistes”. Je vais regarder de plus près.
bonne soirée
Jo2a
Novembre 2, 2025, 7:55
6
Bonsoir Giga77,
bon je galère et je ne débouche pas …
Voilà un exemple de commande qui passe : curl -X POST -H « Authorization: Bearer clé-token » -H « Content-Type: application/json » -d « {« entity_id »: " cover.curtain_switch_rideau_test "} » http://192.168.1.19:8123/api/services/cover/stop_cover
les deux autres qui fonctionnent …/api/services/cover/open_cover et /api/services/cover/close_cover
impossible de trouver la bonne syntaxe pour la commande de lecture d’état ou de position fixée …
preneur de votre aide si c’est possible
je débute sur HA
merci
Jo2a
Giga77
Novembre 2, 2025, 8:43
7
Je t’ai pourtant indiqué ce que tu dois utiliser…
Tu as un exemple dans la documentation : REST API | Home Assistant Developer Docs
Jo2a
Novembre 2, 2025, 9:05
8
bonsoir
je te le répète, je débute donc je découvre en marchant … le premier exemple de ta réponse c’est un fichier à rajouter quelque part dans HA ?
merci de ta patience
Jo2a
Giga77
Novembre 2, 2025, 9:25
9
Tu débutes dans quoi Home Assistant, utilisation d’une API via curl, lecture d’une documentation ?
Je ne sais pas ce que tu ne comprends pas, ni dans quoi tu débutes
Il n’y a aucun fichier à rajouter. Il suffit de lire la documentation. Maintenant si tu as un soucis à comprendre l’anglais utilises ça : REST API | Home Assistant Developer Docs
T’as juste à remplacer ton token :
curl -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" http://192.168.1.19:8123/api/states/cover.curtain_switch_rideau_test
Jo2a
Novembre 2, 2025, 10:03
10
Merci
cela fonctionne
j’avais gardé la commande POST … d’où mon erreur
Jo2a
Jo2a
Novembre 3, 2025, 9:59
11
bonsoir Giga77
quelle serait la syntaxe de la requête pour la commande cover.set_cover_position ?
je n’arrive pas à passer la valeur de la position demandée dans la requête CURL
merci
Giga77
Novembre 3, 2025, 10:18
12
Tu me montres ce que t’as essayé ?
Jo2a
Novembre 4, 2025, 5:05
13
Bonjour voilà ce que j’ai essayé :
et quelques variantes autour de ces syntaxes avec à chaque fois comme résultat erreur : 400: Bad Request La syntaxe de la commande n’est pas correcte.
Giga77
Novembre 4, 2025, 9:35
15
Tu devrais utilisé du texte préformaté, ç’est plus simple pour faire du copier coller.
Et il y a plein d’exemples
ça donne ça :
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" -d '{ "entity_id": "cover.curtain_switch_rideau_test","position": 50}' http://192.168.1.19:8123/api/services/cover/set_cover_position
1 « J'aime »
Jo2a
Novembre 4, 2025, 12:28
16
merci pour ta patience et ton aide mais j’ai désormais d’autres erreurs …
C:\Users\phili>curl -X POST -H « Content-Type: application/json » -H « Authorization: Bearer Token» -d ‹ { « entity_id »: « cover.curtain_switch_rideau_test »,« position »: 50} › http://192.168.1.19:8123/api/services/cover/set_cover_position
le retour donne ???
curl: (3) URL rejected: Port number was not a decimal number between 0 and 65535
curl: (3) URL rejected: Port number was not a decimal number between 0 and 65535
curl: (3) unmatched close brace/bracket in URL position 3:
si je change : -d “ { « entity_id »: « cover.curtain_switch_rideau_test »,« position »: 50} “
j’obtiens : {« message »:« Data should be valid JSON. »}
Giga77
Novembre 4, 2025, 12:31
17
Utilise le texte préformaté, stp. Les charactères comme les guillemets sont modifiés sinon…
Jo2a
Novembre 4, 2025, 2:30
18
voilà la comande utilisée :
curl -X POST -H "Authorization: Bearer token" -H "Content-Type: application/json" -d "{ "entity_id": "cover.curtain_switch_rideau_test","position": 50}" ``http://192.168.1.19:8123/api/services/cover/set_cover_position
voilà le réponse : {« message »:« Data should be valid JSON. »}
je n’ai plus d’erreur de port et d’url rejetée mais jsute un problème de compatibilité je suppose ?
Giga77
Novembre 4, 2025, 2:39
19
Tu ne peux pas remplacer ’ par " dans
-d '{ "entity_id": "cover.curtain_switch_rideau_test","position": 50}'
Essaie avec ça :
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" -d '{ "entity_id": "cover.curtain_switch_rideau_test","position": "50"}' http://192.168.1.19:8123/api/services/cover/set_cover_position
Jo2a
Novembre 4, 2025, 2:58
20
pas mieux … voir pire !
retour :
curl: (3) URL rejected: Port number was not a decimal number between 0 and 65535
curl: (3) URL rejected: Port number was not a decimal number between 0 and 65535
curl: (3) unmatched close brace/bracket in URL position 3:
50}’