Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Le groupe des Helpers est present pour vous aidez, n'hésitez pas à poser des questions ;)

Toute la communauté vous remercie

Script pour Gestion Chaudière Viessmann connecté

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
ffurlanetto
Timide
Messages : 2
Inscription : 29 nov. 2017, 15:53

Re: Script pour Gestion Chaudière Viessmann connecté

Message par ffurlanetto » 29 nov. 2017, 15:56

Moi j'arrive à controller mon vitoconnect en ayant légèrement modifié le script ci dessus:

Code : Tout sélectionner

// SOAP Options
$soapWsdl = 'https://www.viessmann.com/app_vitodata/VIIWebService-1.16.0.0/iPhoneWebService.asmx?WSDL';
$soapOptions = array(
  'location' => 'https://api.viessmann.io/vitotrol/soap/v1.0/iPhoneWebService.asmx',
);

// Adresse de l'API 
$client = new SoapClient($soapWsdl, $soapOptions);
Comme tu peux le voir j'ai juste modifier le client SOAP pour rediriger les requêtes sur le Web Service du vitoconnect

TaG
Actif
Messages : 1118
Inscription : 26 oct. 2016, 11:02

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TaG » 29 nov. 2017, 17:00

oui donc bien compatible comme indiqué sur domoticz !!!

Cool, j'attends le prix pour le vitoconnect et je vais tester ça :) !

GregW
Timide
Messages : 4
Inscription : 04 mars 2016, 10:41

Re: Script pour Gestion Chaudière Viessmann connecté

Message par GregW » 29 nov. 2017, 21:45

Bonne nouvelle, je vais tester ce WE!

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 30 nov. 2017, 10:51

TaG a écrit :
29 nov. 2017, 17:00
Cool, j'attends le prix pour le vitoconnect et je vais tester ça :) !
Le vitoconnect est à 199€ en france mais 99€ en belgique (tarif officiel)
Il y a peut être moyen de trouver un distributeur belge ?
par contre je crois qu'il faut que l'inscription chez Viessmann soit réalisée par l'installateur

j'aurai ma chaudière dans 15 jours, mise en service par un tech. de la marque ... je vais essayer de gratter

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 30 nov. 2017, 10:58

je m'auto corrige, l'installation est expliquée ici : https://www.viessmann.be/fr/viessmann-a ... nnect.html

on le trouve à 80€ ici : https://teico.be/viesman-vitoconnect-10 ... opto1.html

Avatar de l’utilisateur
Geomium
Timide
Messages : 315
Inscription : 16 août 2014, 15:06
Localisation : Rhône

Re: Script pour Gestion Chaudière Viessmann connecté

Message par Geomium » 30 nov. 2017, 11:07

Hello,

Encore merci pour ce script. Voici ce que ça peut donner :
viessmann.JPG
viessmann.JPG (210.97 Kio) Consulté 3010 fois


thetrueavatar
Timide
Messages : 226
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 30 nov. 2017, 14:24

Bonjour,
J'ai reçu un message de xavierg sur le forum domoticz me parlant de ce post sur jeedom. J'avoue avoir commencé à regarder jeedom mais ai eu un peu de mal avec l'interface et abandonné assez vite. Vu que je vois qu'il y a déjà une partie du travail déjà fait, je propose de résumer mes explications afin de contribuer au développement de ce pluging. J'ai acheté un vitoconnect 100 sur teico et déçu par l'application ViCare/Vitotrol Plus j'ai cherché comment gérer en domotique ma chaudière sans passé par ces applications limitées et lente. J'ai vu comme mentionné précédemment une interface SOAP(appelée V1 par viessman) mais qui ne m'a pas semblée très facile à utiliser. Néanmoins, en allant sur https://support.viessmann.io j'ai découvert qu'il existe une nouvelle interface en REST/JSON appelée V2. Celle-ci est extrêment simple à utiliser.
Tout d'abord, on peut récupérer l'ensemble des informations de la chaudière en un seul appel GET sur l'URL et les paramètres de connexion dans un header Auhtorization. Pour rappel, ce header doit contenir "BASIC username:password" encodé en base64.

Code : Tout sélectionner

https://api.viessmann.io/estrella/rest/v2.0/gateways/{gateway_id}/controllers/{controller_id}/datapoints
le gateway_id et controller_id sont facilement trouvables en se connectant sur le https://support.viessmann.io. Vous recherchez le gateway, vous cliquez dessus et cliquez ensuite sur le controller. Vous verrez alors une url qui contient les données recherchées

Code : Tout sélectionner

https://support.viessmann.io/#/gateways/{gateway_id}/controllers/{gateway_id}
Les données sont au format json:

Code : Tout sélectionner

{
  "data": [
    {
      "metadata": {
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "7191",
        "datapointType": "CircuitTime",
        "datapointName": "konf_schaltzeiten_hk_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 1
      },
      "switchingTimeType": 1,
      "switchingTimes": [       
      ],
      "datapointType": 2,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "7192",
        "datapointType": "CircuitTime",
        "datapointName": "konf_schaltzeiten_ww_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 1
      },
      "switchingTimeType": 1,
      "switchingTimes": [
        
      ],
      "datapointType": 2,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "7192",
        "datapointType": "CircuitTime",
        "datapointName": "konf_schaltzeiten_ww_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 1
      },
      "switchingTimeType": 1,
      "switchingTimes": [
      ],
      "datapointType": 2,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "7193",
        "datapointType": "CircuitTime",
        "datapointName": "konf_schaltzeiten_zp_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 1
      },
      "switchingTimeType": 1,
      "switchingTimes": [],
      "datapointType": 2,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "7193",
        "datapointType": "CircuitTime",
        "datapointName": "konf_schaltzeiten_zp_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 1
      },
      "switchingTimeType": 1,
      "switchingTimes": [],
      "datapointType": 2,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Aus",
          "1": "Ein",
          "2": "Aus",
          "3": "Ein"
        },
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "245",
        "datapointType": "ENUM",
        "datapointName": "zustand_interne_pumpe_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "1",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Aus",
          "1": "Ein"
        },
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "600",
        "datapointType": "ENUM",
        "datapointName": "zustand_brenner_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "1": "1 A1",
          "2": "2 A1  + WW",
          "3": "3 M2",
          "4": "4 M2 +  WW",
          "5": "5 A1  + M2",
          "6": "6 A1  + M2 + WW"
        },
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "791",
        "datapointType": "ENUM",
        "datapointName": "konf_heizungsschema_r",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "2",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "inaktiv",
          "1": "aktiv"
        },
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "865",
        "datapointType": "ENUM",
        "datapointName": "zustand_wartung_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "0 ohne",
          "1": "1 Vitosolic 100",
          "2": "2 Vitosolic 200"
        },
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "940",
        "datapointType": "ENUM",
        "datapointName": "konf_solarregler_r",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "OK",
          "1": "Kurzschluss",
          "2": "Unterbrechung",
          "3": "unbekannt",
          "4": "unbekannt",
          "5": "unbekannt",
          "6": "Nicht vorhanden"
        },
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "10796",
        "datapointType": "ENUM",
        "datapointName": "info_status_rts_1_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "3",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "OK",
          "1": "Kurzschluss",
          "2": "Unterbrechung",
          "3": "unbekannt",
          "4": "unbekannt",
          "5": "unbekannt",
          "6": "Nicht vorhanden"
        },
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "10797",
        "datapointType": "ENUM",
        "datapointName": "info_status_rts_2_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "3",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Aus",
          "1": "Ein"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "76",
        "datapointType": "ENUM",
        "datapointName": "zustand_partybetrieb_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Aus",
          "1": "Ein"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "88",
        "datapointType": "ENUM",
        "datapointName": "zustand_sparbetrieb_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Abschalt",
          "1": "Nur WW",
          "2": "Heizen + WW",
          "3": "Dauernd Reduziert",
          "4": "Dauernd Normal"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "92",
        "datapointType": "ENUM",
        "datapointName": "konf_betriebsart_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "2",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Aus",
          "1": "Ein"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "270",
        "datapointType": "ENUM",
        "datapointName": "externe_umschaltung_ba_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "255",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Abschaltbetrieb",
          "1": "Reduzierter Betrieb",
          "2": "Normalbetrieb",
          "3": "Dauernd Normalbetrieb"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "708",
        "datapointType": "ENUM",
        "datapointName": "aktuelle_betriebsart_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "2",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "inaktiv",
          "1": "aktiv"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "714",
        "datapointType": "ENUM",
        "datapointName": "zustand_ferienprogramm_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "inaktiv",
          "1": "aktiv"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "717",
        "datapointType": "ENUM",
        "datapointName": "zustand_frostgefahr_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Aus",
          "1": "Ein"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "729",
        "datapointType": "ENUM",
        "datapointName": "zustand_heizkreispumpe_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "1",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Nicht vorhanden",
          "1": "Direkter Kreis",
          "2": "Mischerkreis"
        },
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "7987",
        "datapointType": "ENUM",
        "datapointName": "info_kennung_hk1_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "1",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Aus",
          "1": "Ein"
        },
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "5280",
        "datapointType": "ENUM",
        "datapointName": "zustand_speicherladepumpe_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Ladung inaktiv",
          "1": "in Ladung",
          "2": "im Nachlauf"
        },
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "7179",
        "datapointType": "ENUM",
        "datapointName": "info_ww_charging_active_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "values": {
          "0": "Aus",
          "1": "Ein"
        },
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "7181",
        "datapointType": "ENUM",
        "datapointName": "zustand_zirkulationspumpe_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 1,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "0.00",
        "defaultValue": "",
        "unitDesignation": "ecnUnit.Stunden",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "104",
        "datapointType": "Double",
        "datapointName": "anzahl_brennerstunden_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "5957.56",
      "dataType": 3,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "1193045.00",
        "defaultValue": "",
        "unitDesignation": "",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "111",
        "datapointType": "Integer",
        "datapointName": "anzahl_brennerstart_r",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "33781",
      "dataType": 2,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "0.00",
        "defaultValue": "",
        "unitDesignation": "",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "897",
        "datapointType": "Integer",
        "datapointName": "info_fehlerbyte_gfa_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 2,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "100.00",
        "defaultValue": "",
        "unitDesignation": "ecnUnit.Prozent",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "4165",
        "datapointType": "Double",
        "datapointName": "info_brenner_modulation_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "0",
      "dataType": 3,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "500.00",
        "defaultValue": "",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "5372",
        "datapointType": "Double",
        "datapointName": "temp_agt_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "33",
      "dataType": 3,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "-60.00",
        "maximalValue": "60.00",
        "defaultValue": "",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "5373",
        "datapointType": "Double",
        "datapointName": "temp_ats_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "3.6",
      "dataType": 3,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "127.00",
        "defaultValue": "",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "5374",
        "datapointType": "Double",
        "datapointName": "temp_kts_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "32",
      "dataType": 3,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "0.00",
        "defaultValue": "",
        "unitDesignation": "",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "5385",
        "datapointType": "Date",
        "datapointName": "konf_uhrzeit_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "11/30/2017 2:17:45 PM",
      "dataType": 4,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "0.00",
        "defaultValue": "",
        "unitDesignation": "",
        "datapointGroup": "DEFAULT-GROUP",
        "heatingCircuitId": "18947",
        "datapointId": "7184",
        "datapointType": "String",
        "datapointName": "aktuelle_fehler_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "00000000000000000000",
      "dataType": 6,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "10.00",
        "maximalValue": "95.00",
        "defaultValue": "50",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "51",
        "datapointType": "Integer",
        "datapointName": "konf_ww_solltemp_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "50",
      "dataType": 2,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "4.00",
        "maximalValue": "37.00",
        "defaultValue": "20",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "79",
        "datapointType": "Integer",
        "datapointName": "konf_partysolltemp_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "19",
      "dataType": 2,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "3.00",
        "maximalValue": "37.00",
        "defaultValue": "20",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "82",
        "datapointType": "Integer",
        "datapointName": "konf_raumsolltemp_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "20",
      "dataType": 2,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "3.00",
        "maximalValue": "37.00",
        "defaultValue": "3",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "85",
        "datapointType": "Integer",
        "datapointName": "konf_raumsolltemp_reduziert_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "15",
      "dataType": 2,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "0.00",
        "defaultValue": "1970-01-01 00:00:00",
        "unitDesignation": "",
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "306",
        "datapointType": "Date",
        "datapointName": "konf_ferien_start_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "1/1/1970 12:00:00 AM",
      "dataType": 4,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "0.00",
        "defaultValue": "1970-01-01 00:00:00",
        "unitDesignation": "",
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "309",
        "datapointType": "Date",
        "datapointName": "konf_ferien_ende_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "1/1/1970 12:00:00 AM",
      "dataType": 4,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.20",
        "maximalValue": "3.50",
        "defaultValue": "1,4",
        "unitDesignation": "",
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "2869",
        "datapointType": "Double",
        "datapointName": "konf_neigung_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "1",
      "dataType": 3,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "-13.00",
        "maximalValue": "40.00",
        "defaultValue": "0",
        "unitDesignation": "ecnUnit.K",
        "datapointGroup": "HC1",
        "heatingCircuitId": "18949",
        "datapointId": "2875",
        "datapointType": "Double",
        "datapointName": "konf_niveau_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "-5",
      "dataType": 2,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "10.00",
        "maximalValue": "95.00",
        "defaultValue": "50",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "51",
        "datapointType": "Integer",
        "datapointName": "konf_ww_solltemp_rw",
        "isWritable": true,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "50",
      "dataType": 2,
      "datapointType": 0,
      "datapointStatus": 0
    },
    {
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "150.00",
        "defaultValue": "",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "5381",
        "datapointType": "Double",
        "datapointName": "temp_ww_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "39.6",
      "dataType": 3,
      "datapointType": 0,
      "datapointStatus": 0
    }
  ]
}
Je n'ai pas vu malheureusement de moyen de récupérer juste une seule donnée.
Il s'agit d'un tableau de datapoint qui sont tous au format:

Code : Tout sélectionner

{
      "metadata": {
        "minimalValue": "0.00",
        "maximalValue": "150.00",
        "defaultValue": "",
        "unitDesignation": "ecnUnit.Grad C",
        "datapointGroup": "WW",
        "heatingCircuitId": "18954",
        "datapointId": "5381",
        "datapointType": "Double",
        "datapointName": "temp_ww_r",
        "isWritable": false,
        "isReadable": true,
        "datapointTypeValue": 0
      },
      "value": "39.6",
      "dataType": 3,
      "datapointType": 0,
      "datapointStatus": 0
    }
Ce qui est intéressant c'est le datapointId dans metadata
Pour mettre à jour, il suffit de faire un PUT sur l'url:

Code : Tout sélectionner

https://api.viessmann.io/estrella/rest/v2.0/gateways/{gateway_id}/controllers/{controller_id}/datapoints/{datapoint_id}
avec comme body:

Code : Tout sélectionner

{ value: <newValue>
}
Avec ça on peut mettre à jour toutes les données qui on le paramètre "isWritable": true.

Pour info, je n'ai pas trouvé de documentation officielle sur cette api. Je pense qu'il serait bon de ne pas contacter viessman à ce sujet car c'est je pense une sorte d'early access car l'api n'est même pas utilisée par leur propre app.
Dernière édition par thetrueavatar le 30 nov. 2017, 14:28, édité 2 fois.

thetrueavatar
Timide
Messages : 226
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 30 nov. 2017, 14:25

Voici la liste complète de l'api:

Code : Tout sélectionner

{
  "data": {
    "notAuthenticated": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/appupdate/{id}/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/appupdate/{id}/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/users/me"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/users/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/users/register"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/users/confirm"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/users/validate"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/users/me"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/users/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/users/resetToken"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/users/resetToken"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v1.0/users/{id}/password"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/users/{id}/password"
      }
    ],
    "read-Gateway": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/analytics/{id}/{*path}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/analytics/{id}/{*path}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id:int}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id:int}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/vidmo/{Id}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/vidmo/{Id}"
      }
    ],
    "update-Gateway": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/analytics/{id}/{hub}"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/gateways/{id:int}"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/vidmo/{Id}"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/vidmo/{Id}"
      }
    ],
    "read-ApplicationUpdates": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/appupdate/{id}/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/appupdate/{id}/"
      }
    ],
    "read-CountryCodes": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/geolocation/countryCodes"
      }
    ],
    "read-RegionCodes": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/geolocation/regionCodes"
      }
    ],
    "read-LocalisationData": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/geolocation/localisationData/{country}"
      }
    ],
    "create-GatewayAccessAccept": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/access/accept/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/access/accept/"
      }
    ],
    "create-GatewayInvitation": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/access/invite/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/access/invite/"
      }
    ],
    "read-GatewayAccessLevel": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/accessLevels/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/accessLevels/"
      }
    ],
    "read-GatewayAccessCalls": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/access/list/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/access/list/"
      }
    ],
    "create-GatewayAccessReject": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/access/reject/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/access/reject/"
      }
    ],
    "create-GatewayAccessRequest": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/access/request/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/access/request/"
      }
    ],
    "create-GatewayAccessTerminate": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/access/terminate/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/access/terminate/"
      }
    ],
    "read-GatewayAlert": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/alerts/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/alerts/"
      }
    ],
    "read-ControllerDatapoints": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/controllers/{controllerId}/datapoints/"
      }
    ],
    "update-ControllerDatapoints": [
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/gateways/{id}/controllers/{controllerId}/datapoints/{datapointId}"
      }
    ],
    "read-GatewayController": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/controllers/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/controllers/{controllerId}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/controllers/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/controllers/{controllerId}"
      }
    ],
    "update-GatewayController": [
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/gateways/{id}/controllers/{controllerId}"
      },
      {
        "method": "PATCH",
        "resource": "/estrella/rest/v1.0/gateways/{id}/controllers/{controllerId}"
      },
      {
        "method": "PATCH",
        "resource": "/estrella/rest/v2.0/gateways/{id}/controllers/{controllerId}"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v1.0/gateways/{id}/controllers/{controllerId}"
      }
    ],
    "read-GatewayDiary": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/diary/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/diary/"
      }
    ],
    "read-GatewayGeofencing": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/"
      }
    ],
    "create-GatewayGeofencing": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/"
      }
    ],
    "update-GatewayGeofencing": [
      {
        "method": "PUT",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/"
      }
    ],
    "read-GatewayGeofencingUser": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/users/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/users/"
      }
    ],
    "create-GatewayGeofencingUser": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/users/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/users/"
      }
    ],
    "delete-GatewayGeofencingUser": [
      {
        "method": "DELETE",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/users/{UserId}"
      },
      {
        "method": "DELETE",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/users/{UserId}"
      }
    ],
    "create-GatewayGeofencingUserInZone": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/zones/{zoneId}/users/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/zones/{zoneId}/users/"
      }
    ],
    "delete-GatewayGeofencingUserInZone": [
      {
        "method": "DELETE",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/zones/{zoneId}/users/{userId}"
      },
      {
        "method": "DELETE",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/zones/{zoneId}/users/{userId}"
      }
    ],
    "read-GatewayGeofencingUserInZone": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/zones/{zoneId}/users/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/zones/{zoneId}/users/"
      }
    ],
    "read-GatewayGeofencingZone": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/zones/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/zones/"
      }
    ],
    "update-GatewayGeofencingZone": [
      {
        "method": "PUT",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/zones/{ZoneId}"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/zones/{ZoneId}"
      }
    ],
    "delete-GatewayGeofencingZone": [
      {
        "method": "DELETE",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/zones/{ZoneId}"
      },
      {
        "method": "DELETE",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/zones/{ZoneId}"
      }
    ],
    "create-GatewayGeofencingZone": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/{id}/geofencing/zones/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/{id}/geofencing/zones/"
      }
    ],
    "read-GatewayHistory": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/history/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/history/"
      }
    ],
    "create-Gateway": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/"
      }
    ],
    "reboot-Gateway": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/{id:int}/reboot"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/{id:int}/reboot"
      }
    ],
    "read-AccessLevel": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/accessLevels"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/accessLevels"
      }
    ],
    "unregister-Gateway": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/{id:int}/unregister"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/{id:int}/unregister"
      }
    ],
    "read-GatewayTypes": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/types"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/types"
      }
    ],
    "read-GatewayUser": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/users/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/users/"
      }
    ],
    "read-NotificationChannel": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{InstallationId}/users/{UserId}/channels/{AppId}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{InstallationId}/users/{UserId}/channels/{AppId}"
      }
    ],
    "update-NotificationChannel": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/{InstallationId}/users/{UserId}/channels/{AppId}"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/{InstallationId}/users/{UserId}/channels/{AppId}"
      }
    ],
    "read-Permissions": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/permissions/roles"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/permissions/roles"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/permissions/api"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/permissions/api"
      }
    ],
    "read-SmartControlLiteControllersCircuits": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/smartControl/lite/controllers/{controllerId}/circuits/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/smartControl/lite/controllers/{controllerId}/circuits/"
      }
    ],
    "update-SmartControlLiteControllersCircuits": [
      {
        "method": "PUT",
        "resource": "/estrella/rest/v1.0/gateways/{id}/smartControl/lite/controllers/{controllerId}/circuits/{heatingCircuitId}"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/gateways/{id}/smartControl/lite/controllers/{controllerId}/circuits/{heatingCircuitId}"
      }
    ],
    "read-SmartControlLite": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/gateways/{id}/smartControl/lite/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/gateways/{id}/smartControl/lite/"
      }
    ],
    "create-SmartControlLite": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/gateways/{id}/smartControl/lite/"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/gateways/{id}/smartControl/lite/"
      }
    ],
    "update-SmartControlLite": [
      {
        "method": "PUT",
        "resource": "/estrella/rest/v1.0/gateways/{id}/smartControl/lite/"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/gateways/{id}/smartControl/lite/"
      }
    ],
    "read-Translations": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/translations/datapointenums/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/translations/datapointenums/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/translations/errors/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/translations/errors/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/translations/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/translations/"
      }
    ],
    "read-UpdateGateways": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/updates/gateways/{id}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/updates/gateways/{id}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/updates/users/{id}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/updates/users/{id}"
      }
    ],
    "accept-UpdateGateways": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/updates/gateways/{id}/accept"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/updates/gateways/{id}/accept"
      }
    ],
    "read-UserGateway": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/users/{id}/gateways/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/users/{id}/gateways/"
      }
    ],
    "read-User": [
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/users/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/users/me"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v2.0/users/{id}"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/users/validate"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/users/"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/users/{id}"
      },
      {
        "method": "GET",
        "resource": "/estrella/rest/v1.0/users/me"
      }
    ],
    "update-User": [
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/users/{id}"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v1.0/users/{id}"
      }
    ],
    "delete-User": [
      {
        "method": "DELETE",
        "resource": "/estrella/rest/v2.0/users/{id}"
      },
      {
        "method": "DELETE",
        "resource": "/estrella/rest/v1.0/users/{id}"
      }
    ],
    "send-User": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/users/resendConfirmation"
      }
    ],
    "reset-UserPassword": [
      {
        "method": "POST",
        "resource": "/estrella/rest/v1.0/users/resetToken"
      },
      {
        "method": "POST",
        "resource": "/estrella/rest/v2.0/users/resetToken"
      }
    ],
    "update-UserPassword": [
      {
        "method": "PUT",
        "resource": "/estrella/rest/v1.0/users/{id}/password"
      },
      {
        "method": "PUT",
        "resource": "/estrella/rest/v2.0/users/{id}/password"
      }
    ]
  }
}

TaG
Actif
Messages : 1118
Inscription : 26 oct. 2016, 11:02

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TaG » 30 nov. 2017, 22:03

Hello,

Merci pour ta venue ici, j'ai cité ton post sur domoticz ;)!


Merci pour le lien pour le vitoconnect xavierrg ;)!

thetrueavatar
Timide
Messages : 226
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 30 nov. 2017, 22:08

J'ai acheté le mien via ce site donc je confirme qu'il est fiable. J'ai payé 80€ + 4€ de fdp si je me souviens bien.

scotty92fr
Timide
Messages : 239
Inscription : 07 mars 2017, 20:31

Re: Script pour Gestion Chaudière Viessmann connecté

Message par scotty92fr » 03 déc. 2017, 08:26

Bonjour,

Super @Geomium, je vois que tu as bien fait le tour de ton system

@Thetrueavatar, ne pouvant pas me loger sur https://support.viessmann.io je ne sais pas pouvoir utiliser ce système


Envoyé de mon iPhone en utilisant Tapatalk
Jeedom 3.3.27 DIY RPI3/SSD , Zwave - Rfxcom - ...

thetrueavatar
Timide
Messages : 226
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 03 déc. 2017, 12:10

Tu n'as pas de vitoconnect ? Ce sont les mêmes credentials que pour te connecter à ViCare/Vitotrol Plus

scotty92fr
Timide
Messages : 239
Inscription : 07 mars 2017, 20:31

Re: Script pour Gestion Chaudière Viessmann connecté

Message par scotty92fr » 03 déc. 2017, 18:06

Non @thetrueavatar , je n’ai que Vitocom 100 : Vitotrol tout cours


Envoyé de mon iPhone en utilisant Tapatalk
Jeedom 3.3.27 DIY RPI3/SSD , Zwave - Rfxcom - ...

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 05 déc. 2017, 14:01

Bienvenue @thetrueavatar :)

TaG
Actif
Messages : 1118
Inscription : 26 oct. 2016, 11:02

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TaG » 11 déc. 2017, 16:51

Hello,

j'ai reçu et installé le vitoconnect 100 (le module Wifi).
Il est bien up niveau Wifi, mais via l'application je ne vois que ça :

Image

Dans les informations, je vois bien la température de la chaudière et si le bruleur est en route, mais pas grand chose d'autres.
La partie chauffage, je n'ai accès à rien en gros...


Sur ma chaudière, la LED de droite est allumée, celle de gauche n'est pas allumée. il me semblait que c'était, Verte à gauche, rouge à droite, mais j'ai un doute maintenant.

Il y a quelque chose à faire sur la chaudière pour avoir plus d'information qui remontent ?

J'ai essayé l'application vicare et vitotrol plus (celle d'ou est prise la photo), mais même résultat.

Je vois des codes d'erreurs datant de 2014, donc ça communique en lecture on dirait, mais peut-être pas en écriture.

Je n'ai pas encore mis en place le script sur jeedom.

Mon compte chez viessmann est créé depuis 1h environ.

Merci pour votre aide, si vous avez une quelconque idée, je suis preneur :).

TaG
Actif
Messages : 1118
Inscription : 26 oct. 2016, 11:02

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TaG » 11 déc. 2017, 20:22

ffurlanetto a écrit :
29 nov. 2017, 15:56
Moi j'arrive à controller mon vitoconnect en ayant légèrement modifié le script ci dessus:

Code : Tout sélectionner

// SOAP Options
$soapWsdl = 'https://www.viessmann.com/app_vitodata/VIIWebService-1.16.0.0/iPhoneWebService.asmx?WSDL';
$soapOptions = array(
  'location' => 'https://api.viessmann.io/vitotrol/soap/v1.0/iPhoneWebService.asmx',
);

// Adresse de l'API 
$client = new SoapClient($soapWsdl, $soapOptions);
Comme tu peux le voir j'ai juste modifier le client SOAP pour rediriger les requêtes sur le Web Service du vitoconnect
Hello,

J'ai tenté de me servir de ton bout de code dans le script d'origine, j'ai plusieurs erreurs lors de la sauvegarde du script dans jeedom :

Code : Tout sélectionner

Error on shell exec, return value : 255. Details : Array ( [0] => PHP Notice: Undefined property: stdClass::$AktualisierungsId in /var/www/html/plugins/script/core/ressources/viessmann.php on line 194 PHP Notice: Undefined variable: Table in /var/www/html/plugins/script/core/ressources/viessmann.php on line 241 PHP Fatal error: SOAP-ERROR: Encoding: Violation of encoding rules in /var/www/html/plugins/script/core/ressources/viessmann.php on line 136 PHP Fatal error: SOAP-ERROR: Encoding: Violation of encoding rules in /var/www/html/plugins/script/core/ressources/viessmann.php on line 136 PHP Fatal error: SOAP-ERROR: Encoding: Violation of encoding rules in /var/www/html/plugins/script/core/ressources/viessmann.php on line 136 PHP Fatal error: SOAP-ERROR: Encoding: Violation of encoding rules in /var/www/html/plugins/script/core/ressources/viessmann.php on line 136 PHP Fatal error: SOAP-ERROR: Encoding: Violation of encoding rules in /var/www/html/plugins/script/core/ressources/viessmann.php on line 136 PHP Fatal error: SOAP-ERROR: Encoding: Violation of encoding rules in /var/www/html/plugins/script/core/ressources/viessmann.php on line 136 Ok )

Je suis un peu perdu.

Je me demande si je n'ai rien dans l'appli au niveau des températures, à cause de mon thermostat.
Je n'ai pas un thermostat viessmann, mais une merde honeywell des années 60 :)

Vous avez tous un thermostat viessmann ?

ffurlanetto
Timide
Messages : 2
Inscription : 29 nov. 2017, 15:53

Re: Script pour Gestion Chaudière Viessmann connecté

Message par ffurlanetto » 12 déc. 2017, 15:18

Bonjour @TaG,

Les erreurs que tu mentionnes sont liés à un problème d'encodage entre le Web Service de Viessmann (WCF ou autre techno .NET) et PHP, l'encodage des caractères n'est manifestement pas compatible .... Ces erreurs ne sont cependant que des avertissements et le script arrive au bout....

Tu peux désactiver ces avertissements en te référant à la documentation de PHP.

Par contre je n'ai pas de thermostat d'ambiance mais un régulateur" vitotronic".... donc je pense pas pouvoir te renseigner d'avantage sur l'integration avec ton thermostat.

TaG
Actif
Messages : 1118
Inscription : 26 oct. 2016, 11:02

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TaG » 12 déc. 2017, 18:04

Hello.

Merci pour ton retour.
Je dois avouer être perdu.
La régulation ce n'est pas la grosse carte qui est dans la chaudière ?
J'ai d'après mes recherches une vitotronic 100. Un afficheur LCD à l'ancienne, pas l'icône avec le genre de maison que l'on voit sur certaines.

En ce qui concerne le thermostat, j'en conclu que ça ne serait pas forcément le soucis. C'est juste que je ne peux pas piloter la chaudière peut-etre car la carte vitotronic 100 est trop vieille.

Si quelqu'un sur le forum a une vieille carte comme moi je suis preneur d'un retour d'information.


J'imagine que l'on ne change pas une carte de régulation comme ça...

Si c'est la carte c'est chiant, j'ai donc pas moyen de piloter la chaudière à la demande en modifiant les réglages ... Ou en lui disant chauffe bon dieux :)

Merci d'avance

TaG
Actif
Messages : 1118
Inscription : 26 oct. 2016, 11:02

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TaG » 12 déc. 2017, 18:11

Ah ah ah !

Punaise si je me fie à ce lien. Je l'ai dans l'os :
https://www.viessmann.fr/fr/Application ... -info.html

Il faut au moins une régulation 200...

Avatar de l’utilisateur
jiminy
Actif
Messages : 672
Inscription : 26 févr. 2016, 18:27
Localisation : Montpellier

Re: Script pour Gestion Chaudière Viessmann connecté

Message par jiminy » 12 déc. 2017, 19:31

TaG a écrit :
12 déc. 2017, 18:11
Ah ah ah !

Punaise si je me fie à ce lien. Je l'ai dans l'os :
https://www.viessmann.fr/fr/Application ... -info.html

Il faut au moins une régulation 200...
Hello,
A mon avis tu n'as pas pris le bon boitier vitoconnect, pour les chaudières avec Vitotronic 100 c'est le Vitoconnect 100 type OT1 qui se connecte en opentherm et pas le Vitoconnect 100 type OPTO1 qui se connecte par lien optique.
Mais il faudrait vérifier comme tu dis que ta carte est ancienne qu'elle a bien un bus Opentherm (2 fils)
Et aussi ce qui risque de poser problème c'est que je suppose que ton thermostat d'ambiance est lui aussi connecté en opentherm il faudrait vérifier qu'il sera possible de brancher les deux.

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité