Je n'ai pas encore fait quoique ce soit mais l'approche REST se base sur les méthodes HTTP suivantes:
- GET -> récupère les données. En général, on fait
https://api.viessmann.io/estrella/rest/v2.0/gateways pour récupérer une liste d'objets(ici gateway). Si on veut récupérer les détails d'un gateway en particulier on passe l'id. Exemple
https://api.viessmann.io/estrella/rest/ ... gateway_id}
- POST-> En gros, c'est l'équivalent d'une création de nouvelle donnée qu'on passe dans le body ici sous format json. Par exemple, la création d'un utilisateur. Néanmoins, il est probable que tu n'en n'ai pas besoin.
- PUT-> Comme le POST on passe les données au format json mais là c'est pour les mises à jours de données. C'est selon moi ce que tu vas devoir faire pour changer la température. Maintenant, il faut savoir quelles données envoyer. Je pourrai le découvrir facilement en regardant ce que l'application ViCare /Vitotrol plus envoye comme requête pour mettre à jour les données. Je te tiens au courant quand j'en sais plus
-DELETE-> en gros c'est pour supprimer une donnée. On fait ça en passant l'id dans l'uri genre
https://api.viessmann.io/estrella/rest/ ... gateway_id}
EDIT: de ce que je vois, les appels ViCare/Vitotrol plus font une soupe d'appels REST, d'appels SOAP pas très clair.
J'ai néanmoins vu que pour diminuer la température de chaudière il y avait un requête SOAP(donc en POST) sur
https://api.viessmann.io/vitotrol/soap/ ... rvice.asmx
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="http://www.e-controlnet.de/services/vii/">
<soap:Body>
<WriteData>
<DatapointId>51</DatapointId>
<GeraetId>576552</GeraetId>
<AnlageId>263664</AnlageId>
<Wert>59</Wert>
</WriteData>
</soap:Body>
</soap:Envelope>
J'ai passé l'eau sanitaire de 60 à 59.
J'ai vu ça après:
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="http://www.e-controlnet.de/services/vii/">
<soap:Body>
<RequestWriteStatus>
<AktualisierungsId>8873b149-bde6-48c3-ab47-f086476fe001</AktualisierungsId>
</RequestWriteStatus>
</soap:Body>
</soap:Envelope>
J'espère juste qu'il faut pas fournir une sorte de token uniquement dispo par viessman pour demander un changement...
Bref, étonnamment, les application Viessmann semblent utiliser encore une "vieille" api en webservice SOAP/Xml alors qu'il y en a une toute belle en REST/Json.....
EDIT2: Mes craintes étaient confirmée:
Code : Tout sélectionner
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<WriteDataResponse xmlns="http://www.e-controlnet.de/services/vii/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<WriteDataResult>
<Ergebnis>6</Ergebnis>
<ErgebnisText>Keine aktive/gültige Session</ErgebnisText>
</WriteDataResult>
</WriteDataResponse>
</soap:Body>
</soap:Envelope>
Bref, du chipotage qui n'a que peu de sens selon moi. Je vais mettre plutôt mon focus sur l'api REST même si elle n'est pas utilisée par les applicaitons ViCare/Vitotrol Plus