bigeek (Auteur du topic)
Hobbit de L'Univers
Inscrit le: 21 Mai 2022 Messages: 2
|
bigeek (Auteur du topic), Posté le: Sam 21 Mai 2022, 12:47 Sujet du message: (Delta) Utilisation de l'API v8 pour la domotique
(Delta) Utilisation de l'API v8 pour la domotique
230710
208245
|
|
|
Bonjour,
Je suis actuellement en train d'essayer d'utiliser l'api V8 sur Freebox Delta, afin de pouvoir contrôler mes volets autrement que via l'appli Freebox.
J'arrive à obtenir mon app_token, à générer mon session_token et à m'identifier sans souci.
Une requete get sur api/v8/home/tileset/{id du volet} me renvoie bien les informations et l'état actuel du volet en question. Cependant, je bloque sur la requete à effectuer pour demander un changement d'état. La doc n'indique pas la méthode à utiliser.
Les seules infos founies par la doc pour l'api tileset :
type : info
action : Store
data :
Index Value type Access Description
0 boolean r The state of the Store: true=open, false=closed, null=undetermined
1 void w Command To open the Store
2 void w Command To stop the Store at its current position
3 void w Command To close the Store
J'ai tenté les requêtes suivantes :
PUT /api/v8/home/tileset/8 HTTP/1.1
Host: mafreebox.freebox.fr
Body : {"data": 0}
---------------------------------------
POST /api/v8/home/tileset/8 HTTP/1.1
Host: mafreebox.freebox.fr
Body : {"data": 0}
Ces 2 requetes renvoient :
{
"error_code": "bad method",
"msg": "bad method",
"success": false
}
Pourquoi il n'y a pas d'exemple de code dans l'API tileset, contrairement aux autres api fbx v8 ?
Quelle syntaxe utiliser pour ma requete ?
Merci
*** Modération *** Titre édité *** Modération ***
Curtis Newton
|
|
foley64
Dragon de L'Univers
Inscrit le: 08 Jan 2020 Messages: 626
|
foley64, Posté le: Sam 21 Mai 2022, 18:52 Sujet du message:
214491
194626
|
|
|
Salut,
je suis pas un expert des requêtes HTTP, mais si je comprends bien j'ai l'impression que tu cherches à modifier directement le boolean cela pourrait expliquer l'erreur de type "bad method".
Si tu remplaces {"data" : 0} par 1 ou 3 en fonction de l'état du Store ça donne quoi ? _________________
|
|
bigeek (Auteur du topic)
Hobbit de L'Univers
Inscrit le: 21 Mai 2022 Messages: 2
|
bigeek (Auteur du topic), Posté le: Lun 23 Mai 2022, 13:21 Sujet du message:
230710
208245
|
|
|
@foley64, oui j'ai oublié de préciser, mais peu importe la valeur que je fourni pour data j'obtiens la même erreur.
quand j'appelle l'api qui me fourni des info sur le Store actuel, voici comment est ordonné le json, si ça peux aider :
Code: | {
"result" : [
{
"action" : "Store",
"data" : [
{
"ep_id" : 3,
"label" : "État",
"name" : "state",
"refresh" : 2000,
"signal_id" : 3,
"ui" : {
"access" : "r",
"display" : "text",
"icon_url" : "/resources/images/home/pictos/volet_3.png",
"status_text_range" : [
"Ouvert",
"Fermé"
]
},
"value" : true,
"value_type" : "bool"
},
{
"ep_id" : 0,
"label" : "Haut",
"name" : "UP",
"slot_id" : 0,
"ui" : {
"access" : "w",
"display" : "button"
},
"value" : null,
"value_type" : "void"
},
{
"ep_id" : 1,
"label" : "Stop",
"name" : "stop",
"slot_id" : 1,
"ui" : {
"access" : "w",
"display" : "button"
},
"value" : null,
"value_type" : "void"
},
{
"ep_id" : 2,
"label" : "Bas",
"name" : "Down",
"slot_id" : 2,
"ui" : {
"access" : "w",
"display" : "button"
},
"value" : null,
"value_type" : "void"
}
],
"group" : {
"label" : "Chambre"
},
"label" : "Volet",
"node_id" : 8,
"type" : "info"
}
],
"success" : true
} |
|
|