Api Viessmann pour récupération de données avec Vitoconnect
-
- Timide
- Messages : 75
- Inscription : 21 mai 2017, 21:33
Re: Api Viessmann pour récupération de données avec Vitoconnect
Thetrueavatar aurait tu le temps de m'expliquer comment tu mets ton script en place j'ai pas tout compris malgré la Doc ...
Merci
Envoyé de mon TREKKER-X3 en utilisant Tapatalk
Merci
Envoyé de mon TREKKER-X3 en utilisant Tapatalk
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Api Viessmann pour récupération de données avec Vitoconnect
Ma documentation concerne l'api qui est agnostique de jeedom. A titre personnel j'utilise le plugin script pour faire appel à cette dernière mais ce n'est pas obligatoire. Pour tout ce qui est utilisation du plugin script je pense que le plus simple est d'aller voir dans la section du forum concernant le plugin script. comme je disais en message précédent mon api est libre de droit donc si quelqu'un a le courage de faire un plugin pour simplifier la vie des débutants pas de souci mais je n'en ai pas le temps ni l'énergie pour le moment.
Re: Api Viessmann pour récupération de données avec Vitoconnect
Y'a que chez moi que ça marche plus ?
PHP Notice: Undefined offset: 0 in phar:///home/pi/Viessmann-Api/example/Viessmann-Api-0.4-SNAPSHOT.phar/src/Oauth/ViessmannOauthClientImpl.php on line 60 PHP Fatal error: Uncaught Error: Call to a member function getProperty() on null in phar:///home/pi/Viessmann-Api/example/Viessmann-Api-0.4-SNAPSHOT.phar/src/Oauth/ViessmannOauthClientImpl.php:61 Stack trace: #0 phar:///home/pi/Viessmann-Api/example/Viessmann-Api-0.4-SNAPSHOT.phar/src/API/ViessmannAPI.php(43): Viessmann\Oauth\ViessmannOauthClientImpl->__construct(Array) #1 /home/pi/Viessmann-Api/example/bootstrap.php(17): Viessmann\API\ViessmannAPI->__construct(Array) #2 /home/pi/Viessmann-Api/example/GetRoomTemperature.php(2): include('/home/pi/Viessm...') #3 {main} thrown in phar:///home/pi/Viessmann-Api/example/Viessmann-Api-0.4-SNAPSHOT.phar/src/Oauth/ViessmannOauthClientImpl.php on line 61
PHP Notice: Undefined offset: 0 in phar:///home/pi/Viessmann-Api/example/Viessmann-Api-0.4-SNAPSHOT.phar/src/Oauth/ViessmannOauthClientImpl.php on line 60 PHP Fatal error: Uncaught Error: Call to a member function getProperty() on null in phar:///home/pi/Viessmann-Api/example/Viessmann-Api-0.4-SNAPSHOT.phar/src/Oauth/ViessmannOauthClientImpl.php:61 Stack trace: #0 phar:///home/pi/Viessmann-Api/example/Viessmann-Api-0.4-SNAPSHOT.phar/src/API/ViessmannAPI.php(43): Viessmann\Oauth\ViessmannOauthClientImpl->__construct(Array) #1 /home/pi/Viessmann-Api/example/bootstrap.php(17): Viessmann\API\ViessmannAPI->__construct(Array) #2 /home/pi/Viessmann-Api/example/GetRoomTemperature.php(2): include('/home/pi/Viessm...') #3 {main} thrown in phar:///home/pi/Viessmann-Api/example/Viessmann-Api-0.4-SNAPSHOT.phar/src/Oauth/ViessmannOauthClientImpl.php on line 61
Raspberry Pi 3 Jeedom - RFX433 - HUE - Mobile Alerts La Crosse Technology - Volets SOMFY - Viessmann Vitoconnect - Google Home Chromecast Wifi
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Api Viessmann pour récupération de données avec Vitoconnect
Pareil, je vois l'erreur suivante durant le processus de récupération des paramètres de l'installation.
"{"statusCode":400,"errorType":"BAD_REQUEST","meszage":"Request does not contain authentication context","privateDetails":{"service":"EVEREST"},"error":"NO TOKEN AVAILABLE"}"
J'imagine qu'il faut un autre paramètre désormais. Le temps de "sniffer" niveau réseau dans ViCare et ça devrait être résolu si pas trop complexe
"{"statusCode":400,"errorType":"BAD_REQUEST","meszage":"Request does not contain authentication context","privateDetails":{"service":"EVEREST"},"error":"NO TOKEN AVAILABLE"}"
J'imagine qu'il faut un autre paramètre désormais. Le temps de "sniffer" niveau réseau dans ViCare et ça devrait être résolu si pas trop complexe
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Api Viessmann pour récupération de données avec Vitoconnect
Voila j'ai mis en ligne une nouvelle version qui devrait fonctionner.
En gros, juste passage de l'authorization method de Oauth à Bearer et ajout d'un head "x-api-key" qui n'était pas là avant.
Un petit retour pour voir si c'est ok aussi chez vous et je passe en mode release.
En gros, juste passage de l'authorization method de Oauth à Bearer et ajout d'un head "x-api-key" qui n'était pas là avant.
Un petit retour pour voir si c'est ok aussi chez vous et je passe en mode release.
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Api Viessmann pour récupération de données avec Vitoconnect
Il y avait encore un souci que j'ai corrigé. J'ai fait une version 1.1.0 officielle(https://github.com/thetrueavatar/Viessm ... /tag/1.1.0) et je suis passé en 1.2.0-SNAPSHOT en dev. Oubliez pas de changer le numéro de version du phar dans le fichier bootstrap.php
Re: Api Viessmann pour récupération de données avec Vitoconnect
Cool, ça marche ! Merci !
Raspberry Pi 3 Jeedom - RFX433 - HUE - Mobile Alerts La Crosse Technology - Volets SOMFY - Viessmann Vitoconnect - Google Home Chromecast Wifi
Re: Api Viessmann pour récupération de données avec Vitoconnect
C'est reparti chez moi également.
Merci
Merci
Re: Api Viessmann pour récupération de données avec Vitoconnect
j'ai mis en place le dernier fichier .phar et adapter le fichier bootstrap.php.
Ca fonctionne à nouveau.
Merci
Ca fonctionne à nouveau.
Merci
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Api Viessmann pour récupération de données avec Vitoconnect
J'ai ajouté une méthode getScheduledHolidayProgram afin d'obtenir la date de début et de fin programmée du mode vacances.
J'ai aussi accepté un pull request de HE:
getHeatingSolarPowerProduction($period = "day")
getHeatingSolarSensorsTemperatureCollector($circuit = NULL)
getHeatingPowerConsumption($period = "day")
Je ne peux pas tester mais à priori, ça me semblait bien.
J'ai aussi accepté un pull request de HE:
getHeatingSolarPowerProduction($period = "day")
getHeatingSolarSensorsTemperatureCollector($circuit = NULL)
getHeatingPowerConsumption($period = "day")
Je ne peux pas tester mais à priori, ça me semblait bien.
-
- Timide
- Messages : 477
- Inscription : 26 oct. 2015, 13:46
Re: Api Viessmann pour récupération de données avec Vitoconnect
Impatient que quelqu'un se penche pour faire un plugin !!!
Re: Api Viessmann pour récupération de données avec Vitoconnect
Pas franchement besoin de plugin, thetrueavatar a déjà fait un bon boulot.
Suffit de poser tous les fichiers php au bon endroit.
Pour simplifier les choses, tu fais un fichier php avec toutes les informations que tu veux récupérer et ensuite autant de virtuel.
Exemple : ViCare.php
Suffit de poser tous les fichiers php au bon endroit.
Pour simplifier les choses, tu fais un fichier php avec toutes les informations que tu veux récupérer et ensuite autant de virtuel.
Exemple : ViCare.php
Code : Tout sélectionner
?php
include __DIR__.'/bootstrap.php';
use Viessmann\API\ViessmannFeature;
function post_request($url, array $params) {
$query_content = http_build_query($params);
$fp = fopen($url, 'r', FALSE, // do not use_include_path
stream_context_create([
'http' => [
'header' => [ // header array does not need '\r\n'
'Content-type: application/x-www-form-urlencoded',
'Content-Length: ' . strlen($query_content)
],
'method' => 'POST',
'content' => $query_content
]
]));
if ($fp === FALSE) {
fclose($fp);
return json_encode(['error' => 'Failed to get contents...']);
}
$result = stream_get_contents($fp); // no maxlength/offset
fclose($fp);
return $result;
}
function jeedom_post($cmd_id, $value) {
$jeedom_apikey = "*********************";
$jeedom_url_retour = "http://***.***.***.***:80/core/api/jeeApi.php?plugin=virtual&apikey={$jeedom_apikey}&type=virtual&id={$cmd_id}&value={$value}";
$jeedom_params = array('key1' => '', 'key2' => '');
$result = post_request($jeedom_url_retour, $jeedom_params);
return $result;
}
jeedom_post("180", $viessmannApi->getOutsideTemperature());
jeedom_post("181", $viessmannApi->getBoilerTemperature());
jeedom_post("182", $viessmannApi->getHotWaterStorageTemperature());
jeedom_post("183", $viessmannApi->getSupplyProgramTemperature());
jeedom_post("184", $viessmannApi->getSlope());
jeedom_post("185", $viessmannApi->getShift());
jeedom_post("205", $viessmannApi->GetNormalProgramTemperature());
jeedom_post("206", $viessmannApi->GetEcoProgramTemperature());
jeedom_post("207", $viessmannApi->GetActiveProgram());
$res = $viessmannApi->getActiveMode();
if ( $res == "standby" ):
$res = "Arret";
elseif ( $res == "dhw"):
$res = "Eau Chaude";
elseif ( $res == "dhwAndHeating"):
$res = "Eau Chaude + Chauffage";
elseif ( $res == "forcedReduced"):
$res = "Mode Réduit";
elseif ( $res == "forcedNormal"):
$res = "Mode Forcé";
else:
$res = "Erreur";
endif;
jeedom_post("186", $res);
$res = $viessmannApi->isHeatingBurnerActive();
if ( $res == True ):
$res = "1";
else:
$res = "0";
endif;
jeedom_post("188", $res);
$res=$viessmannApi->getHeatingBurnerStatistics("hours");
jeedom_post("218", $res);
$res=$viessmannApi->getHeatingBurnerStatistics("starts");
jeedom_post("298", $res);
-
- Timide
- Messages : 477
- Inscription : 26 oct. 2015, 13:46
Re: Api Viessmann pour récupération de données avec Vitoconnect
Un plugin serait tout de meme cool
Re: Api Viessmann pour récupération de données avec Vitoconnect
Bonjour,
Merci à tous pour ce super boulot.
Je possède une Vitocaldens 222F équipée de Vitoconnect 100.
N'étant pas expert en php, j'ai suivi comme j'ai pu les conseils de tous. J'arrive maintenant à récupérer pas mal d'infos.
Je bloque néanmoins sur l'affichage des "set heating". Je récupère (voir pièce jointe).
Comment pourrais-je afficher les infos de manière plus lisible ?
Merci d'avance.
Herigs
Merci à tous pour ce super boulot.
Je possède une Vitocaldens 222F équipée de Vitoconnect 100.
N'étant pas expert en php, j'ai suivi comme j'ai pu les conseils de tous. J'arrive maintenant à récupérer pas mal d'infos.
Je bloque néanmoins sur l'affichage des "set heating". Je récupère (voir pièce jointe).
Comment pourrais-je afficher les infos de manière plus lisible ?
Merci d'avance.
Herigs
- Pièces jointes
-
- Capture d’écran 2019-08-25 à 06.47.50.png (160.12 Kio) Consulté 2532 fois
Re: Api Viessmann pour récupération de données avec Vitoconnect
Bonjour,
Arrivez vous à allumer ou éteindre la chaudière ? J'arrive à récupérer l'état, la passer en mode eco ou reception, mais je ne vois pas comment l'allumer ou la passer en veille.
Merci d'avance pour vos retour.
Arrivez vous à allumer ou éteindre la chaudière ? J'arrive à récupérer l'état, la passer en mode eco ou reception, mais je ne vois pas comment l'allumer ou la passer en veille.
Merci d'avance pour vos retour.
Re: Api Viessmann pour récupération de données avec Vitoconnect
Pour la passer en veille, j'utilise un php SetActiveMode_StdBy :
les autres modes sont :
- auto : setActiveMode("dhwAndHeating")
- eco : setActiveMode("forcedReduced")
- normal : setActiveMode("forcedNormal")
j'ai un php pour chacun
Code : Tout sélectionner
<?php
include __DIR__.'/bootstrap.php';
$viessmannApi->setActiveMode("standby");
- auto : setActiveMode("dhwAndHeating")
- eco : setActiveMode("forcedReduced")
- normal : setActiveMode("forcedNormal")
j'ai un php pour chacun
Re: Api Viessmann pour récupération de données avec Vitoconnect
Bonjour Xavier,
Merci pour ta réponse.
Je n'y connais rien en PHP, il me suffit de créer les 4 fichiers PHP en les appelant setActiveModestandby.php ; setActiveModereduced.php etc et les coller dans le fichier exemple ?
EDIT: C'est parfait merci beaucoup, ça fonctionne .
Merci pour ta réponse.
Je n'y connais rien en PHP, il me suffit de créer les 4 fichiers PHP en les appelant setActiveModestandby.php ; setActiveModereduced.php etc et les coller dans le fichier exemple ?
EDIT: C'est parfait merci beaucoup, ça fonctionne .
Re: Api Viessmann pour récupération de données avec Vitoconnect
Bonjour a tous,
J’ai un truc bizarre : depuis un jour ou 2 j’ai remarqué que :
echo $viessmannApi->getSupplyProgramTemperature()
Ne fonctionne plus. J’ai ceci en retour :
Message: Property "value" was not found. Code: 1
Une idée?
Merci
Fred
J’ai un truc bizarre : depuis un jour ou 2 j’ai remarqué que :
echo $viessmannApi->getSupplyProgramTemperature()
Ne fonctionne plus. J’ai ceci en retour :
Message: Property "value" was not found. Code: 1
Une idée?
Merci
Fred
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Api Viessmann pour récupération de données avec Vitoconnect
Ca a déjà fonctionné par le passé ? Comme déjà mentionné Viessmann renvoie parfois des erreurs différentes pour un même problème.
Il arrive parfois qu'il réponde que la feature n'existe pas si le serveur estime que la chaudière ne dispose pas de la fonctionnalité mais parfois il renvoie une réponse qui est vide(d'où l'absence du champs valeur).
Il arrive parfois qu'il réponde que la feature n'existe pas si le serveur estime que la chaudière ne dispose pas de la fonctionnalité mais parfois il renvoie une réponse qui est vide(d'où l'absence du champs valeur).
Re: Api Viessmann pour récupération de données avec Vitoconnect
Bonjour,
Je n'ai plus de valeur pour la feature heating.circuits.0.sensors.temperature.supply depuis début septembre.
Dans le json, pour cette feature properties status value est: notConnected
J'utilise à la place la feature heating.boiler.sensors.temperature.main
Je n'ai qu'un seul circuit et les 2 courbes étaient très proches.
Je n'ai plus de valeur pour la feature heating.circuits.0.sensors.temperature.supply depuis début septembre.
Dans le json, pour cette feature properties status value est: notConnected
J'utilise à la place la feature heating.boiler.sensors.temperature.main
Je n'ai qu'un seul circuit et les 2 courbes étaient très proches.
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités