Api Viessmann pour récupération de données avec Vitoconnect

Bonjour à tous,

Merci pour l’Api! Il est vraiment top et fonctionne nickel !

Je cherche un moyen pour modifier le « ActivProgram » (récupéré via getActiveProgram() : comfort, eco, holiday, …).
Y a t il un moyen?

Merci pour votre aide

Je me répond à moi même :slight_smile:

Il y a bien une fonction pour activer le programme vacances.
J’ai crée un script simple permettant de passer en argument le nombre de jours de vacances (via un curseur par exemple):

<?php
include __DIR__.'/bootstrap.php';
var_dump($argv);
$today = date("Y-m-d");
$end = date('Y-m-d',strtotime('+'.$argv[1].' days'));

$viessmannApi->scheduleHolidayProgram($today,$end);

A++

Bonjour.,
Depuis quelques jours je ne le connecte plus au Api viessmann. C’est depuis l’intervention de Vieesmann sur leur application.
Est ce la même chose pour vous ?
comment faire ?
Merci d’avance pour vos réponses.

Bonjour,
Pour moi, ca marche toujours.

Je tends le dos. Vous avez du recevoir comme moi un mail de viessmann, concernant les modifications d’utilisation de l’appli vicare.
Pas facile à comprendre.

Bonjour
Oui, j’ai reçu le mail.
J’espère que le dysfonctionnement est indépendant !!!
Ca semble être le cas, puisque ça fonctionne ailleurs

Merci de votre réponse

@thetrueavatar, @1suisse, @Bercolly, @jpty, @denisvdb, @Jasper, @3djc, @Mandelbrot, @benchagot, @vmath54

Bonjour,

Vous n’êtes pas sans savoir qu’un plugin Viessmann a été développé:

Afin de faciliter l’identification et l’intégration des différents modes et programmes a ce plugin votre aide serait appréciée.

Rien de compliquer, un petit script à placer dans répertoire exemple de l’API et à exécuter en SSH depuis ce répertoire (php monscript.php).

<?php

use TomPHP\Siren\Entity;
use Viessmann\API\ViessmannAPI;

include __DIR__.'/bootstrap.php';
$viessmannApi = new ViessmannAPI($params,false);
$MyModes=json_decode($viessmannApi->getRawJsonData("heating.circuits.0.operating.modes"),true);
$MyPrograms=json_decode($viessmannApi->getRawJsonData("heating.circuits.0.operating.programs"),true);

echo "Modes:\n";
echo "====\n";
print_r(end(Entity::fromArray($MyModes,true)->getEntities())->getProperty("components"));
echo "\n";

echo "Programs:\n";
echo "====\n";
print_r(end(Entity::fromArray($MyPrograms,true)->getEntities())->getProperty("components"));
echo "\n";

Merci de joindre au résultat le modèle de votre chaudière et le type de régulation si connu.

Pour ceux qui voudraient allez plus loin, donner l’équivalant de ces modes et programmes tel affiché sous Vicare ou sur votre chaudière.

Merci pour votre participation.

je découvre ce message aujourd’hui seulement. encore besoin de qqch? merci

Pour information, suite au mail d’avertissement de viessmann j’ai un peu retravaillé sur la branche features/iot (https://github.com/thetrueavatar/Viessmann-Api/tree/features/iot) qui permet de s’intégrer avec la nouvelle api de Viessmann.

Je ne suis pas sûr qu’ils vont couper l’ancienne(sinon comment ViCare fonctionnerait ?) mais au cas où j’ai fait en sorte qu’elle est fonctionnelle pour la lecture des données. Néanmoins en pratique j’ai remarqué que pas mal de données ne sont pas encore exposée.
Je n’ai pas encore regardé pour les écritures.
J’ai mis à jour la documentation sur le mon github pour expliquer ce qu’il faut faire.
C’est encore en work in progress.

1 « J'aime »

J’ai posé la question directement à Viessmann et en fait le changement à partir du 15 juillet implique seulement qu’on devra utiliser notre propre api key y compris pour l’ancienne api. Je vais regarder à faire une version 1.6.0 qui permettra de la définir ce qui évitera de devoir passer sur l’api IOT qui n’est pas encore complète.
EDIT: plus je discute avec Viessmann plus j’ai l’impression que cette histoire d’api key n’est d’application que pour ceux déjà sur la version IOT de l’api. La version 1.x de mon api ne devrait donc pas être impactée.

1 « J'aime »

Visiblement Viessmann a fait le changement et depuis aujourd’hui l’API ne fonctionne plus pour moi avec Viessmann-Api-1.3.3.phar)

Je vais vérifier demain. J’ai remarqué que sur la dernière version de l’application vicare certains paramètres de l’authentification ont changé.
Au pire la version 2.0.0 est en grande partie fonctionnelle

J’ai réanalyzé le comportement de l’application ViCare.
Il s’avère qu’elle est passée sur la nouvelle api IOT. Du coup le passage à la version 2.0.0-SNAPSHOT
semble obligatoire.
La bonne nouvelle, c’est que si c’est dispo dans ViCare ça devrait l’être(moyennant peut-être quelques adaptations) dans l’API.

Bonjour,
les fichiers de la branche master sont à jours? Quel est la structure du fichier credential.properties?

Merci d’avance
Denis

Test ce jour : passage sur branche develop du github et mise à jour en version 2.1.0-SNAPSHOT (?)
Récupération du ClientId sur le site Viessmann en desactivant captcha. Mais quelle url mettre ?
Modif de credentials.properties avec dans l’ordre
user=
pwd=
installationId=
gatewayId=
clientId=
deviceId=0
circuitId=0
Mais quand je lance Main.php par exemple : Message : Error during authentication process. Please review your username/password

Bonjour

Sur le site de Viessmann, il faut mettre l’URI suivante: http://localhost:4200/ Elle est utilisée dans l’API.

A renseigner dans credentials.properties ainsi que les user, password, installationId et gatewayId
Ces 4 derniers paramètres sont ceux qui étaient utilisés avec l’API 1.4

Merci pour ton aide. Ok pour l’url, mais pour credentials.properties les renseignements sont mis dans quel ordre ? J’ai essayé monemail, monpwd, instalid, gatewayid puis Clientid directement et même problème

Il suffit de compléter le credentials.properties.
user=monemail
pwd=monpwd

Il n’y a plus d’ordre. Chaque ligne c’est du clef=valeur.

Merci True et jpty
J’utilise l’API de la façon la plus simple, à savoir je lance des Get… depuis un RPI et ça ne marche plus depuis le 15/7. J’avais la version 1.3.3 et je suis maintenant en 2.1.0. J’ai tout viré et réinstallé avec la branche develop par un gitclone https://github.com/thetrueavatar/Viessmann-Api.git
Demande ClientId auprès de Viessmann
Paramétrage de credentials comme indiqué
puis php Main.php ne fonctionne pas
J’ai vu sur un tuto qu’il faut installer composer comme ça :
cd /home/pi/Viessmann-Api
curl -sS https://getcomposer.org/installer | php
php composer.phar install
cd /home/pi/Viessmann-Api/script
./createPhar.sh
Je ne le faisais pas pour la 1.3.3, est ce nécessaire ?

Bonjour,

Chez moi php Main.php donne des résultats. Quelles erreurs avez-vous?
Je n’ai pas installé composer et je n’ai pas lancé la commande de création du phar.