Api Viessmann pour récupération de données avec Vitoconnect
Re: Script pour Gestion Chaudière Viessmann connecté
Bonjour,
pour lire la temp en mode normal c'est ok.
Par contre pour le GetActiveMode.php comment fais tu pour afficher la valeur sur le dashboard?
Denis
pour lire la temp en mode normal c'est ok.
Par contre pour le GetActiveMode.php comment fais tu pour afficher la valeur sur le dashboard?
Denis
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Script pour Gestion Chaudière Viessmann connecté
Je mes le type en "Autre" plutôt que numérique.
Re: Script pour Gestion Chaudière Viessmann connecté
Hello,
@denisvdb, suis trop neuf sur Jeedom. Tu pourrais concrètement me dire ce que tu fais comme script ?
J'essaye comme un âne de déclencher /var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Main.php pour voir, mais cela me rend :
Erreur dans l'exécution du terminal, la valeur retournée est : 255. Détails : Array ( [0] => PHP Parse error: syntax error, unexpected '{', expecting identifier (T_STRING) in phar:///var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Viessmann-Api-0.2.phar/src/API/ViessmannAPI.php on line 5 )
J'ai modifié le credentials mais l'erreur ne vient pas de là.
Je sais bien qu'il faudrait utiliser l'API sans passer par le répertoire example, mais je ne vois pas quel script php utiliser. Si tu as un exemple pour l'utilisation directe de l'API (que j'ai recopier sans le git clone), je veux bien.
Merci à toi
Bonne journée,
@denisvdb, suis trop neuf sur Jeedom. Tu pourrais concrètement me dire ce que tu fais comme script ?
J'essaye comme un âne de déclencher /var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Main.php pour voir, mais cela me rend :
Erreur dans l'exécution du terminal, la valeur retournée est : 255. Détails : Array ( [0] => PHP Parse error: syntax error, unexpected '{', expecting identifier (T_STRING) in phar:///var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Viessmann-Api-0.2.phar/src/API/ViessmannAPI.php on line 5 )
J'ai modifié le credentials mais l'erreur ne vient pas de là.
Je sais bien qu'il faudrait utiliser l'API sans passer par le répertoire example, mais je ne vois pas quel script php utiliser. Si tu as un exemple pour l'utilisation directe de l'API (que j'ai recopier sans le git clone), je veux bien.
Merci à toi
Bonne journée,
Re: Script pour Gestion Chaudière Viessmann connecté
Bonjour,
je n'utilise pas le main.php
j'utilise les autres fichier php situer dans le dossier example du github.
par ex. : SetNormalProgramTemperature.php
vas voir aussi la réponse de thetrueavatar » Hier, 07:01 sur ce post, il y as pas mal d'info.
Denis
je n'utilise pas le main.php
j'utilise les autres fichier php situer dans le dossier example du github.
par ex. : SetNormalProgramTemperature.php
vas voir aussi la réponse de thetrueavatar » Hier, 07:01 sur ce post, il y as pas mal d'info.
Denis
Re: Script pour Gestion Chaudière Viessmann connecté
Bonjour,
Je ne parviens pas a activer ou désactiver le programme eco --> HEATING_PROGRAM_ECO="heating.circuits.0.operating.programs.eco";
Il n'existe pas de fichier php dans le dossier example.
J'ai créer ce fichier sur mon jeedom mais je ne sait pas trop quel paramètre utiliser.
pour l'instant j'ai:
<?php
include '/var/www/html/plugins/script/core/ressources/bootstrap.php';
??HEATING_PROGRAM_ECO="heating.circuits.0.operating.programs.eco";
En réalité sur le vitotrol plus il y as un bouton pour activer ou désactiver le prg eco. c'est cette commande que je cherche à faire dans jeedom.
par contre dans l'app vicare je ne trouve pas cette option!
Denis.
Je ne parviens pas a activer ou désactiver le programme eco --> HEATING_PROGRAM_ECO="heating.circuits.0.operating.programs.eco";
Il n'existe pas de fichier php dans le dossier example.
J'ai créer ce fichier sur mon jeedom mais je ne sait pas trop quel paramètre utiliser.
pour l'instant j'ai:
<?php
include '/var/www/html/plugins/script/core/ressources/bootstrap.php';
??HEATING_PROGRAM_ECO="heating.circuits.0.operating.programs.eco";
En réalité sur le vitotrol plus il y as un bouton pour activer ou désactiver le prg eco. c'est cette commande que je cherche à faire dans jeedom.
par contre dans l'app vicare je ne trouve pas cette option!
Denis.
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Script pour Gestion Chaudière Viessmann connecté
Voici comment faire pour lire la valeur:denisvdb a écrit : ↑23 sept. 2018, 17:03Bonjour,
Je ne parviens pas a activer ou désactiver le programme eco --> HEATING_PROGRAM_ECO="heating.circuits.0.operating.programs.eco";
Il n'existe pas de fichier php dans le dossier example.
J'ai créer ce fichier sur mon jeedom mais je ne sait pas trop quel paramètre utiliser.
pour l'instant j'ai:
<?php
include '/var/www/html/plugins/script/core/ressources/bootstrap.php';
??HEATING_PROGRAM_ECO="heating.circuits.0.operating.programs.eco";
En réalité sur le vitotrol plus il y as un bouton pour activer ou désactiver le prg eco. c'est cette commande que je cherche à faire dans jeedom.
par contre dans l'app vicare je ne trouve pas cette option!
Denis.
Code : Tout sélectionner
<?php
include __DIR__.'/bootstrap.php';
echo $viessmannApi->getRawJsonData(\Viessmann\API\ViessmannAPI::HEATING_PROGRAM_ECO);
Code : Tout sélectionner
"actions": [
{
"method": "POST",
"isExecutable": true,
"href": "https://api.viessmann-platform.io/operational-data/installations/55994/gateways/7571381753685105/devices/0/features/heating.circuits.0.operating.programs.eco/activate",
"name": "activate",
"title": "activate",
"fields": [
{
"name": "temperature",
"required": false,
"type": "number",
"min": 3,
"max": 37,
"stepping": 1
}
],
"type": "application/json"
},
{
"method": "POST",
"isExecutable": true,
"href": "https://api.viessmann-platform.io/operational-data/installations/55994/gateways/7571381753685105/devices/0/features/heating.circuits.0.operating.programs.eco/deactivate",
"name": "deactivate",
"title": "deactivate",
"fields": [],
"type": "application/json"
}
Pour mettre la valeur il faurait faire:
Code : Tout sélectionner
<?php
include __DIR__.'/bootstrap.php';
echo $viessmannApi->setRawJsonData(\Viessmann\API\ViessmannAPI::HEATING_PROGRAM_ECO,"activate", "{\"temperature\": 20}");
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Script pour Gestion Chaudière Viessmann connecté
Je vois que tu mentionnes la version 0.2.1 pourtant ton fichier bootstrap.php semble toujours pointer sur le phar 0.2 cfrMikado a écrit : ↑23 sept. 2018, 16:05Hello,
@denisvdb, suis trop neuf sur Jeedom. Tu pourrais concrètement me dire ce que tu fais comme script ?
J'essaye comme un âne de déclencher /var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Main.php pour voir, mais cela me rend :
Erreur dans l'exécution du terminal, la valeur retournée est : 255. Détails : Array ( [0] => PHP Parse error: syntax error, unexpected '{', expecting identifier (T_STRING) in phar:///var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Viessmann-Api-0.2.phar/src/API/ViessmannAPI.php on line 5 )
J'ai modifié le credentials mais l'erreur ne vient pas de là.
Je sais bien qu'il faudrait utiliser l'API sans passer par le répertoire example, mais je ne vois pas quel script php utiliser. Si tu as un exemple pour l'utilisation directe de l'API (que j'ai recopier sans le git clone), je veux bien.
Merci à toi
Bonne journée,
phar:///var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Viessmann-Api-0.2.phar/src/API/ViessmannAPI.php
Re: Script pour Gestion Chaudière Viessmann connecté
Hello,thetrueavatar a écrit : ↑23 sept. 2018, 19:15Je vois que tu mentionnes la version 0.2.1 pourtant ton fichier bootstrap.php semble toujours pointer sur le phar 0.2 cfr
phar:///var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Viessmann-Api-0.2.phar/src/API/ViessmannAPI.php
Exact, bien vu . j'utilisais ton boostraph.php.
Je l'ai modifié pour pointer sur la 0.2.1, mais j'obtiens la même chose.
Code : Tout sélectionner
Erreur dans l'exécution du terminal, la valeur retournée est : 255. Détails : Array ( [0] => PHP Parse error: syntax error, unexpected '{', expecting identifier (T_STRING) in phar:///var/www/html/plugins/script/core/ressources/Viessmann-Api-0.2.1/example/Viessmann-Api-0.2.1.phar/src/API/ViessmannAPI.php on line 5 )
Code : Tout sélectionner
$viessmannApi = new ViessmannAPI($params);
Du coup j'ai relu ton wiki sur Git, et tu dis que plus besoin d'installer, et on peut utiliser direct l'API. Mon erreur ne viendrait pas d'utiliser dans un premier temps ton rep example, avec ton Main, bootstrap et credential sans avoir fait d'install ?
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Script pour Gestion Chaudière Viessmann connecté
Peux-tu me montrer le contenu de ton fichier bootstrap.php et Main.php ? J'imagine qu'il doit y avoir un souci à ce niveau-là.
Re: Script pour Gestion Chaudière Viessmann connecté
Bonjour Thetrueavatar,
Je commence à implémenter ton API et tout se passe bien . Tu as fait un énorme TAF et l'utilisation du fichier .phpar est super simple.
je te propose juste de rajouter quelques lignes dans le wiki (et de les corriger éventuellement) pour les benets comme moi qui ne pigent rien à la programmation :
- Installation :
Nota : on peut utiliser le pluging Outilsdev de Jeedom qui permet d’accéder à arborescence du dossier html de Jeedom très simplement et d'éditer les fichier sans taper de ligne de code
1_ Accéder au répertoire : html/plugins/script/core/ressources
2_ Créer un dossier Viessmann API
3_ Dans le dossier Viessmann API, copier tous les fichiers contenu dans le dossier exemple
4_ Editer le fichier credentials.properties et renseigner le login et le mdp utilisé sur l'appli ViCare
- Utilisation
1_ avec le plugin Script, créer un nouvel équipement (ex: ViessmannAPI)
2_ Créer une commande Info avec :
-- Nom = température extérieure
-- Type de script = Script
-- Type = Info / Autre
-- Requete = /var/www/html/plugins/script/core/ressources/Viessmann-Api/GetOutsideTemperature.php (utiliser le bouton avec l'icone du dossier)
3_ Sauvegarder la commande
4_ Cliquer sur le bouton TEST pour voir si Jeedom récupère le résultat et comparer avec l'appli ViCare
5_ Répéter la manip pour chaque script du dossier
Autre chose, dans le fichier ViessmannAPI.php, peux tu rajouter les variable heating.circuits.1.xxx (pour ceux qui comme moi utilisent 2 circuits indépendants)
merci pour ton job et ton support.
Je commence à implémenter ton API et tout se passe bien . Tu as fait un énorme TAF et l'utilisation du fichier .phpar est super simple.
je te propose juste de rajouter quelques lignes dans le wiki (et de les corriger éventuellement) pour les benets comme moi qui ne pigent rien à la programmation :
- Installation :
Nota : on peut utiliser le pluging Outilsdev de Jeedom qui permet d’accéder à arborescence du dossier html de Jeedom très simplement et d'éditer les fichier sans taper de ligne de code
1_ Accéder au répertoire : html/plugins/script/core/ressources
2_ Créer un dossier Viessmann API
3_ Dans le dossier Viessmann API, copier tous les fichiers contenu dans le dossier exemple
4_ Editer le fichier credentials.properties et renseigner le login et le mdp utilisé sur l'appli ViCare
- Utilisation
1_ avec le plugin Script, créer un nouvel équipement (ex: ViessmannAPI)
2_ Créer une commande Info avec :
-- Nom = température extérieure
-- Type de script = Script
-- Type = Info / Autre
-- Requete = /var/www/html/plugins/script/core/ressources/Viessmann-Api/GetOutsideTemperature.php (utiliser le bouton avec l'icone du dossier)
3_ Sauvegarder la commande
4_ Cliquer sur le bouton TEST pour voir si Jeedom récupère le résultat et comparer avec l'appli ViCare
5_ Répéter la manip pour chaque script du dossier
Autre chose, dans le fichier ViessmannAPI.php, peux tu rajouter les variable heating.circuits.1.xxx (pour ceux qui comme moi utilisent 2 circuits indépendants)
merci pour ton job et ton support.
Re: Script pour Gestion Chaudière Viessmann connecté
Avec plaisir, merci de ton aide.thetrueavatar a écrit : ↑24 sept. 2018, 11:51Peux-tu me montrer le contenu de ton fichier bootstrap.php et Main.php ? J'imagine qu'il doit y avoir un souci à ce niveau-là.
Code : Tout sélectionner
Fichier Main.php
[/<?php
include __DIR__.'/bootstrap.php';
use Viessmann\API\ViessmannAPI;
echo $viessmannApi->getFeatures();
echo "Température extérieure " . $viessmannApi->getOutsideTemperature() . "\n";
echo "Température boiler " . $viessmannApi->getBoilerTemperature() . "\n";
echo "Pente " . $viessmannApi->getSlope() . "\n";
echo "Parallèle " . $viessmannApi->getShift() . "\n";
echo "Mode chaudière " . $viessmannApi->getActiveMode() . "\n";
echo "Programme actif " . $viessmannApi->getActiveProgram() . "\n";
echo "Is Heating Burner active ? " . $viessmannApi->isHeatingBurnerActive() . "\n";//in php false bool is converted into empty string
echo "Is Dhw mode active ? " . $viessmannApi->isDhwModeActive() . "\n";
echo "Température de confort " . $viessmannApi->getComfortProgramTemperature() . "\n";
echo "Température écho " . $viessmannApi->getEcoProgramTemperature() . "\n";
echo "Température externe " . $viessmannApi->getExternalProgramTemperature() . "\n";
echo "Température réduit " . $viessmannApi->getReducedProgramTemperature() . "\n";
echo "Température supply " . $viessmannApi->getSupplyProgramTemperature() . "\n";
echo "Est en veille ? " . $viessmannApi->isInStandbyMode() . "\n";
echo "Appelle resources " . $viessmannApi->getRawJsonData(ViessmannAPI::HEATING_PROGRAM_ACTIVE). "\n";
#echo "écriture température ecs avec json ".$viessmanApi->setRawJsonData(ViessmannAPI::HEATING_DWH_TEMPERATURE,"setTargetTemperature","{\"temperature\":60.0}"). "\n";
#echo "écriture température ecs ".$viessmanApi->setDhwTemperature("58.0"). "\n";
Fichier bootstrap.php
<?php
include 'phar://'.__DIR__.'/Viessmann-Api-0.2.1.phar/index.php';
use Viessmann\API\ViessmannAPI;
$credentials = file(__DIR__."/credentials.properties");
$params = [
"user" => trim("$credentials[0]", "\n"),
"pwd" => trim("$credentials[1]", "\n"),
"uri" => "vicare://oauth-callback/everest"
];
$viessmannApi = new ViessmannAPI($params);
Les Main et boostrap sont issues de chez toi. J'avais effectivement omis de changer Viessmann-Api-0.2.phar en Viessmann-Api-0.2.1.phar
Le tout a été laissé dans le répertoire exemple. En gros, j'ai ces fichiers là + Viessmann-Api-0.2.1.phar dans le même répertoire.
Mais j'ai recopié les fichiers sans passer par un git clone.
Encore merci
Re: Script pour Gestion Chaudière Viessmann connecté
Hello Xavier,
Suis d'accord avec toi pour le super Taf même si je n'arrive pas à jouer encore avec
Merci pour ton post, qui me permet de voir que je n'ai pas fait fausse route dans mes tests.
Peux tu me dire quelle version d l'API utilises tu ?
Vais finir par devenir chèvre
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Script pour Gestion Chaudière Viessmann connecté
bon ok problème de comptabilité avec le 5.6. Je viens d'installer php 5.6 pour corriger ce qui reste de problèmes.
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Script pour Gestion Chaudière Viessmann connecté
Bon j'ai essayé de rendre mon code compatible avec php 5.6. Malheureusement les librairies que j'utilise ont été développées en php 7 (notamment le parser siren). Je ne peux donc que suggérer de passer au runtime php 7. De toute façon, j'imagine que le code écrit lors du php 5.6 fonctionne même en utilisant le runtime php 7. En général, on ajoute des possibilités de versions en versions mais on en enlève rarement.
Il me semble que jeedom est compatible php7. J'imagine qu'il doit y avoir une procédure de migration afin de bien garder ses données.
Il me semble que jeedom est compatible php7. J'imagine qu'il doit y avoir une procédure de migration afin de bien garder ses données.
Dernière édition par thetrueavatar le 24 sept. 2018, 14:43, édité 1 fois.
Re: Script pour Gestion Chaudière Viessmann connecté
Je pense être à jour des dernières version de jeedom :
Version Jeedom : 3.2.11
Version PHP : 7.0.27-0+deb9u1
Version OS : Linux jeedom3 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux [9.3]
Version database : 10.1.23-MariaDB-9+deb9u1
Par une mise à jour simple :
1_ faire un backup de son installation (menu engrenages à droite --> sauvegarde) et l'exporter sur disque externe
2_ mise à jour ou re-installation de jeedom : doc https://jeedom.github.io/documentation/ ... our_manuel (pas sûr que la mise à jour actualise le php, mais une re-install marche tres bien)
3_ restaurer le backup fait en 1
Version Jeedom : 3.2.11
Version PHP : 7.0.27-0+deb9u1
Version OS : Linux jeedom3 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux [9.3]
Version database : 10.1.23-MariaDB-9+deb9u1
Par une mise à jour simple :
1_ faire un backup de son installation (menu engrenages à droite --> sauvegarde) et l'exporter sur disque externe
2_ mise à jour ou re-installation de jeedom : doc https://jeedom.github.io/documentation/ ... our_manuel (pas sûr que la mise à jour actualise le php, mais une re-install marche tres bien)
3_ restaurer le backup fait en 1
Re: Script pour Gestion Chaudière Viessmann connecté
thetrueavatar a écrit : ↑24 sept. 2018, 13:51Bon j'ai essayé de rendre mon code compatible avec php 5.6. Malheureusement les librairies que j'utilise ont été développées en php 7 (notamment le parser siren). Je ne peux donc que suggérer de passer au runtime php 7. De toute façon, j'imagine que le code écrit lors du php 5.6 fonctionne même en utilisant le runtime php 7. En général, on ajoute des possibilités de versions en versions mais on en enlève rarement.
Il me semble que jeedom est compatible php7. J'imagine qu'il doit y avoir une procédure de migration afin de bien garder ses données.
Merci thetrueavatar pour ton retour. Bon déjà je suis pas taré cela me rassure. Avant de migrer, j'essaierai ta nouvelle release 5.6 lorsque tu l'auras mis sur Git.
Merci Xavier pour l'info. Il s'agit bien d'une box que tu as ? (je vois un OS linux jeedom) . Moi j'ai une box mini+ et pas trop envie de perdre le support. Si j'avais installé Jeedom sur une bécanne à moi, serais déjà upgradé
Re: Script pour Gestion Chaudière Viessmann connecté
J'ai un RPi3 et j'ai fait une install standard.
si tu as une mini, il tu peux faire un backup, faire une install sur une autre carte SD et restaurer ton backup.
Il faut juste remettre ses identifiants du market jeedom pour retrouver ses droits (plugins achetés, supports...)
ainsi, tu gardes ta carte µSD d'origine "au cas où"
si tu as une mini, il tu peux faire un backup, faire une install sur une autre carte SD et restaurer ton backup.
Il faut juste remettre ses identifiants du market jeedom pour retrouver ses droits (plugins achetés, supports...)
ainsi, tu gardes ta carte µSD d'origine "au cas où"
Re: Script pour Gestion Chaudière Viessmann connecté
En fait j'ai ressorti ma Jeedom du placard il y a 15j. Je l'avais acheté en 2016 et jamais eu le temps de jouer avec. Comme elle ne marchait plus, j'ai contacté le support qui m'a envoyé un lien avec une image. Mais je me retrouve avec cela :Xavier.g a écrit : ↑24 sept. 2018, 15:29J'ai un RPi3 et j'ai fait une install standard.
si tu as une mini, il tu peux faire un backup, faire une install sur une autre carte SD et restaurer ton backup.
Il faut juste remettre ses identifiants du market jeedom pour retrouver ses droits (plugins achetés, supports...)
ainsi, tu gardes ta carte µSD d'origine "au cas où"
Code : Tout sélectionner
Version Jeedom 3.2.11
Version PHP 5.6.30-0+deb8u1
Version OS Linux jeedom 3.14.53-fslc-imx6-sr #1 SMP Thu Oct 15 20:42:12 UTC 2015 armv7l GNU/Linux [8.9]
Version database 5.5.57-0+deb8u1
-
- Timide
- Messages : 282
- Inscription : 30 nov. 2017, 13:54
Re: Script pour Gestion Chaudière Viessmann connecté
Il n'y aura au final pas de version compatible php 5.6 parce que les librairies dont je dépend et développées par d'autres ne sont pas compatibles php 5.6.
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités