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

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

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
Allard-elec
Timide
Messages : 67
Inscription : 21 mai 2017, 21:33

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

Message par Allard-elec » 23 juin 2019, 22:19

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


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

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

Message par thetrueavatar » 24 juin 2019, 00:12

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.

Avatar de l’utilisateur
banane63
Timide
Messages : 67
Inscription : 15 sept. 2017, 16:27

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

Message par banane63 » 11 juil. 2019, 19:04

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
Raspberry Pi 3 Jeedom - RFX433 - HUE - Mobile Alerts La Crosse Technology - Volets SOMFY - Viessmann Vitoconnect - Google Home Chromecast Wifi

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

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

Message par thetrueavatar » 11 juil. 2019, 19:47

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

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

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

Message par thetrueavatar » 11 juil. 2019, 20:37

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.

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

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

Message par thetrueavatar » 12 juil. 2019, 10:32

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

Avatar de l’utilisateur
banane63
Timide
Messages : 67
Inscription : 15 sept. 2017, 16:27

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

Message par banane63 » 12 juil. 2019, 18:41

Cool, ça marche ! Merci !
Raspberry Pi 3 Jeedom - RFX433 - HUE - Mobile Alerts La Crosse Technology - Volets SOMFY - Viessmann Vitoconnect - Google Home Chromecast Wifi

Manouille
Timide
Messages : 31
Inscription : 29 juil. 2017, 12:59
Localisation : Anjou

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

Message par Manouille » 12 juil. 2019, 19:02

C'est reparti chez moi également.
Merci

denisvdb
Timide
Messages : 60
Inscription : 27 janv. 2017, 12:57

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

Message par denisvdb » 25 juil. 2019, 12:40

j'ai mis en place le dernier fichier .phar et adapter le fichier bootstrap.php.
Ca fonctionne à nouveau.
Merci

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

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

Message par thetrueavatar » 29 juil. 2019, 11:57

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.

stanthewizzard
Timide
Messages : 448
Inscription : 26 oct. 2015, 13:46

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

Message par stanthewizzard » 07 août 2019, 16:39

Impatient que quelqu'un se penche pour faire un plugin !!!
:D

Manouille
Timide
Messages : 31
Inscription : 29 juil. 2017, 12:59
Localisation : Anjou

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

Message par Manouille » 10 août 2019, 10:03

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

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);

stanthewizzard
Timide
Messages : 448
Inscription : 26 oct. 2015, 13:46

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

Message par stanthewizzard » 22 août 2019, 15:10

Un plugin serait tout de meme cool

Avatar de l’utilisateur
herigs
Timide
Messages : 35
Inscription : 10 avr. 2016, 12:44

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

Message par herigs » Aujourd’hui, 04:24

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
Pièces jointes
Capture d’écran 2019-08-25 à 06.47.50.png
Capture d’écran 2019-08-25 à 06.47.50.png (160.12 Kio) Consulté 24 fois

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

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