Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Script pour Gestion Chaudière Viessmann connecté

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
mobyds
Timide
Messages : 67
Inscription : 19 août 2014, 19:26
Localisation : Rennes

Re: Script pour Gestion Chaudière Viessmann connecté

Message par mobyds » 13 mars 2018, 22:03

Geomium a écrit :
17 déc. 2017, 12:58
Bonjour,

le script a fonctionné du premier coup sur mon jeedom 3.1.7 sur debian 8 avec php5.
Avant hier j'ai créé une nouvelle vm avec debian 9.3, installé jeedom et appliqué ma sauvegarde.
Mis à part quelques petits couacs que j'ai vite résolu en recherchant sur le forum je coince toujours sur ce script qui ne fonctionne plus.

J'ai cette erreur :
[2017-12-17 12:03:02][ERROR] : Erreur execution de la commande [Viessmann Pilotage][Check ALL][Check] : Error on shell exec, return value : 255. Details : Array ( [0] => PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.viessmann.com/app_vitodata/ ... .asmx?WSDL' : Premature end of data in tag definitions line 2 in /var/www/html/plugins/script/core/ressources/viessmann-all.php on line 65 PHP Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.viessmann.com/app_vitodata/ ... .asmx?WSDL' : Premature end of data in tag definitions line 2 in /var/www/html/plugins/script/core/ressources/viessmann-all.php:65 Stack trace: #0 /var/www/html/plugins/script/core/ressources/viessmann-all.php(65): SoapClient->SoapClient('https://www.vie...') #1 {main} thrown in /var/www/html/plugins/script/core/ressources/viessmann-all.php on line 65 )
Qui correspond à la ligne :
// Adresse de l'API
$client = new SoapClient('https://www.viessmann.com/app_vitodata/ ... .asmx?WSDL');
$anlageID = 0;
J'ai essayé diverses modifications mais mes connaissances en php sont trop limitées.
La différence c'est que mon système est maintenant avec la version php7, est-ce la le problème ?

Si quelqu'un a une idée je l'en remercie d'avance car toute aide serait la bienvenue :)

Bon dimanche.

Bonjour,

Je ne sais pas si tu as résolu ton problème, mais je bloquais aussi sur la même erreur. Le problème semble venir de la gestion du https avec php7. En passant sur de l'http tout semble fonctionner chez moi.
new SoapClient('http://www.viessmann.com/app_vitodata/VIIWebService-1.16.0.0/iPhoneWebService.asmx?WSDL');

A+, Olivier

Allard-elec
Timide
Messages : 75
Inscription : 21 mai 2017, 21:33

Re: Script pour Gestion Chaudière Viessmann connecté

Message par Allard-elec » 03 avr. 2018, 00:17

Bonjour,
Ca à l'air d'être un super travail mais je ne le trouve pas sur le market ?

Comment faut il faire ?
merci pour vos réponses

Envoyé de mon TREKKER-X3 en utilisant Tapatalk


Xavier.g
Timide
Messages : 43
Inscription : 23 juil. 2014, 14:19

Re: Script pour Gestion Chaudière Viessmann connecté

Message par Xavier.g » 03 avr. 2018, 09:58

Bonjour,
ce n'est pas un plugin, il faut suivre les instructions plus haut et utiliser le plugin "script"

Allard-elec
Timide
Messages : 75
Inscription : 21 mai 2017, 21:33

Re: Script pour Gestion Chaudière Viessmann connecté

Message par Allard-elec » 03 avr. 2018, 10:00

Merci de la reponse,

C'est le code que mapa à publier plus haut ?

Envoyé de mon TREKKER-X3 en utilisant Tapatalk


fredvog
Timide
Messages : 14
Inscription : 04 févr. 2018, 16:45
Localisation : Nord

Re: Script pour Gestion Chaudière Viessmann connecté

Message par fredvog » 11 juin 2018, 22:43

Bonjour a tous,

juste pour remercier l’auteur de ce post et tous les contributeurs sans qui je n'aurais pas réussi a mettre en place (non sans mal) le script pour avoir les information de ma VITODENS 222F (vitocontrol 200A +VITOCOM 100) aussi si cela peu aider :

dans le script : Viessmann.php (celui en haut du post) modifier l'url en HTTP et non HTTPS ('https://www.viessmann.com/app_vitodata/ ... .asmx?WSDL')

ensuite il faut modifier le fichier .httacess pour autoriser le .JSON pour eviter d'avoir une erreur acces refuser lors de l'interrogation
Z83 / RFPLAYER /IPX800v3 /Syno DS214

zener57
Timide
Messages : 6
Inscription : 11 mai 2018, 18:58

Re: Script pour Gestion Chaudière Viessmann connecté

Message par zener57 » 19 juin 2018, 13:53

Bonjour,
J'aimerais savoir si quelq'un sait comment activer la chauffe du ballon d'eau chaude (charge ECS) ?
Car Viessmann à programmé l'arret définitif de VitotrolPlus le 09/07/18 qui seule pouvait déclencher cela...

djorg08
Timide
Messages : 19
Inscription : 21 avr. 2017, 10:36

Re: Script pour Gestion Chaudière Viessmann connecté

Message par djorg08 » 27 juin 2018, 13:45

Bonjour,

Dans quel répertoire trouves-tu le .htaccess ?

Merci d'avance

fredvog
Timide
Messages : 14
Inscription : 04 févr. 2018, 16:45
Localisation : Nord

Re: Script pour Gestion Chaudière Viessmann connecté

Message par fredvog » 06 juil. 2018, 19:19

le htaccess est dans le repertoire il faut faire un ls -la pour le voir car par defaut il est cache a la racine de /var/www/html/.htaccess

j'ai ajouté les lignes

<Files ~ ".*\.json$">
allow from all
satisfy any
</Files>

par contre si quelqu'un a une solution "plus propre" je suis preneur car a chaque Maj de jeedom c'est a refaire
Z83 / RFPLAYER /IPX800v3 /Syno DS214

fougam
Timide
Messages : 1
Inscription : 02 mars 2019, 11:10

Re: Script pour Gestion Chaudière Viessmann connecté

Message par fougam » 12 mars 2019, 15:18

Merci pour ce super script, cela fonctionne super bine, par contre pour le widget , comment fais tu ? je n'y arrive pas,...

1suisse
Timide
Messages : 52
Inscription : 26 déc. 2017, 14:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par 1suisse » 09 avr. 2019, 08:29

bonjour. je ne sais pas si trueavatar lit aussi les discussions ici mais peutetre qqn saura m'aider :)

le script pour avoir la température extérieure fonctionne à merveille. j'ai mis le cron à 1h et chaque heure mon graphique est updaté, c'est super. jai également l'info en texte dans un virtuel info.

je n'arrive pas à avoir d'autres infos, la température intérieure notamment.

comment faire pour avoir les autres infos?

voici quelques captures de ma config actuelle...
Capture d’écran 2019-04-09 à 08.26.43.png
Capture d’écran 2019-04-09 à 08.26.43.png (57.41 Kio) Consulté 23888 fois
Capture d’écran 2019-04-09 à 08.27.06.png
Capture d’écran 2019-04-09 à 08.27.06.png (2.87 Kio) Consulté 23888 fois
Capture d’écran 2019-04-09 à 08.27.16.png
Capture d’écran 2019-04-09 à 08.27.16.png (57.83 Kio) Consulté 23888 fois
on voit bien la température extérieure fonctionne mais intérieure ca reste à 0.

à noter également que j'ai 2 circuits mais seul le 2e est en fonction. jai vu quon peut utiliser le circuitID mais je ne sais pas comment mettre cela en pratique, je ny connais rien en code :/

https://htmlpreview.github.io/?https:// ... nnAPI.html

merci d'avance.

jpty
Timide
Messages : 333
Inscription : 01 juin 2018, 10:54
Localisation : Nancy

Re: Script pour Gestion Chaudière Viessmann connecté

Message par jpty » 09 avr. 2019, 11:40

Bonjour,

Vous n’êtes pas sur le bon fil de discussion.
Celui de thetrueavatar pour les Viessmann avec Vitoconnect est: viewtopic.php?f=31&t=43736

Pour interroger le bon circuit, il faut modifier le fichier GetRoomTemperature.php
<?php
include __DIR__.'/bootstrap.php';
echo $viessmannApi->getRoomTemperature(1);


circuitId apparait aussi dans le fichier bootstrap.php
$params = [
"user" => trim("$credentials[0]", "\n"),
"pwd" => trim("$credentials[1]", "\n"),
"deviceId" => "0",
"circuitId" => "1"
];
Peut être qu'en modifiant à cet endroit, il n'y aurait pas besoin de modifier tous les fichiers php

A vous de tester!
Dernière édition par jpty le 09 avr. 2019, 11:58, édité 2 fois.

1suisse
Timide
Messages : 52
Inscription : 26 déc. 2017, 14:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par 1suisse » 09 avr. 2019, 11:56

genial merci. et désolé pour le mauvais emplacement. je teste tout ca.

jpty
Timide
Messages : 333
Inscription : 01 juin 2018, 10:54
Localisation : Nancy

Re: Script pour Gestion Chaudière Viessmann connecté

Message par jpty » 09 avr. 2019, 11:59

J'ai modifié mon post ci-dessus

PhoBoS88
Timide
Messages : 34
Inscription : 13 nov. 2017, 21:01

Re: Script pour Gestion Chaudière Viessmann connecté

Message par PhoBoS88 » 09 avr. 2019, 12:17

Bonjour à tous,

J'avais utilisé le script de scotty en tout début de post.
Il fonctionne bien, cependant contrairement à vos script PHP je n'ai que très peu d'info qui remonte.
D'aprés ce que j'ai compris il faut un Vitoconnect.
Personnellement j'ai un vitocom100 et je me connecte sur cette page : https://vitodata100.viessmann.com/

Savez vous si je peux avoir quelque chose de plus complet que ce que j'ai en sachant que la température ambiante reste toujours à 20°
Merci d'avance
Pièces jointes
chaudiere.jpg
chaudiere.jpg (40.98 Kio) Consulté 23855 fois

TonioBDS
Timide
Messages : 25
Inscription : 27 avr. 2018, 11:19

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TonioBDS » 03 mai 2019, 14:20

scotty92fr a écrit :
17 nov. 2017, 10:49
Bonjour,

Voici une humble contribution pour ceux qui, comme moi, ont une chaudière Viessmann connecté via le cloud VITODATA100/VITOTROL.

Code : Tout sélectionner

<?php
/* 
Script viessmann version 1.0 par Michel Manceron
Permet de recuperer et gerer au minima la commande de gestion du système de chauffage Viessmann Vitodata 100

	- Le script lancé sans parmètre : Récupération des données du chauffage (paramètre dans $DataIds) 
	- Envoyer une information au système de chauffage (par ex: passer en mode economique, ...  

le script  permet la récupération des informations dans un fichier au format JSON "viessmann.json" dans le même répertoire que fichier script "Viessmann.php"

le script est lancé par le plugin script

Update des informations:

					Nom : 			Update
					Type Script:	Script
					Type:			Action et défaut
					Requête:		/var/www/html/plugins/script/core/ressources/Viessman.php


le numéro de l'information est la clef pour y acceder: l'accès se fait par le plugin script, avec comme requete :
		"numInformation>Wert"

		exemple: 	Nom: 			Temp_Exterieur
					type Script: 	JSON
					Type:			info et Numérique
					Requête:		5373>Wert
					Options: 		https://AdresseJeedom/plugins/script/core/ressources/viessmann.json
					Unité:			°

Modification des paramètres:
		exemple: 
					Nom : 			Eco_on (Valeur de la commande : ModeEconomique)
					Type Script:	Script
					Type:			Action et défaut
					Requête:		/var/www/html/plugins/script/core/ressources/Viessman.php 7853=1 


Il est nécessaire de modifier la valeur des variables Users : $login, $Pass, $Installation
2017/11/17 - Version 1.0 Version initiale

*/
// Variable Users
$Login = "Adresse@Mail";
$Pass = "Password";
$Installation = "RéférenceDeInstallation";

// nom du fichier log
$filelog ='Script_Viessmann';
$directorylog= dirname(__FILE__)."/../../../../log";

// initialisation des variables
$InstallationID = '';
$AppareilID = '';

// Tableau des points d'information à interroger 
$DataIds = array();
array_push ($DataIds,104,111,245,5372,5373,5374,5385); // groupe Chaudière
array_push ($DataIds,5272,5273,5274,5276,5277,5279); // groupe Solaire
array_push ($DataIds,77,89,94,709,718,730,5376,6053,7853,7856); //groupe Chauffage
array_push ($DataIds,5280,5381,7179,7181); //groupe ECS
// Adresse de l'API 
$client = new SoapClient('https://www.viessmann.com/app_vitodata/VIIWebService-1.16.0.0/iPhoneWebService.asmx?WSDL');
$anlageID = 0;

/* fonction login 
 permet de se connecter à une installation. cette fonction récupère l'installationID et AppareilID

 retour de true/false suivant la connexion
*/

function login(){
	global $client,$anlage,$Login,$Pass,$Installation,$InstallationID,$AppareilID;
	$flag = false;

	$DataArray  = array('Benutzer'=> $Login, 
					'Passwort'=> $Pass,
					'Betriebssystem'=>'Debian9',
					'AppId'=>'Jeedom',
					'AppVersion'=>'1.0');
	$out = time()+30;
	while ( $out > time()) {
		try
		{
		    $response = $client->GetStateOfConnection();  
		    if ($response->GetStateOfConnectionResult->Ergebnis == 6) {
				$response = $client->login($DataArray);
				if ($response->LoginResult->Ergebnis == 0){
					write_log ('Connexion effectuées.');
					$response = $client->getDevices();
					foreach ($response->GetDevicesResult->AnlageListe as $key => $value) {
						if ($value->AnlageName == $Installation) {
							write_log ('installation : '. $value->AnlageId);
							$InstallationID = $value->AnlageId;
							foreach ($value->GeraeteListe as $key1 => $value1) {
								write_log ('Appareil : '. $value1->GeraetId );
								$AppareilID = $value1->GeraetId;
								$flag = true;
							}
						}
					}
				}
			}
		}

		catch (Exception $e){
			write_log ('Err: ('.$e->getCode().')'.$e->getMessage() );
		}
		if ($flag) {break;}
		sleep(5);
	}
return $flag;
}
/* fonction logout 
 permet de se déconnecter du système de chauffage

 pas de valeur de retour
*/

function logout(){
	global $client;
	$flag = false;
	$out = time()+30;
	while ( $out > time()) {
		try{
				$response = $client->logout();
			    if ($response->LogoutResult == 1 ) {
			      write_log ("Deconnexion du service");
			  	break;
			    }
			}
		 catch (Exception $e) {
		 		write_log ('Err: ('.$e->getCode().')'.$e->getMessage() );
		 }
		 sleep(5);
	}
}

/* fonction getInfoPoints 
 interroge le système de chauffage sur tous les noeuds disponible 
 retourne un tableau avec le Nom de l'information
*/
function getInfoPoints(){
	global $client,$InstallationID,$AppareilID;
	write_log ("Chargement des infos sur les noeuds de l'installation.");
  	$DataArray  = array(
					'AnlageId'=> $InstallationID, 
					'GeraetId'=> $AppareilID,
					);
  	$out = time()+30;
	while ( $out > time()) {
		try{
    		$response = $client->GetTypeInfo($DataArray);
    		foreach ($response->GetTypeInfoResult->TypeInfoListe->DatenpunktTypInfo as $key => $value) {
    			$table[$value->DatenpunktId] =array('Name' => $value->DatenpunktName, 
    												'iswriteable' => $value->IstSchreibbar
    												);
    		}
    		write_log ("  Nombre de noeuds : ".count($table));
    		break;
    	}
    	catch (Exception $e) {
			write_log ('Err: ('.$e->getCode().')'.$e->getMessage() );
		}
    	sleep(5);
    }

    return $table;
}
/* fonction refreshInfos 
 interroge les noeuds du système de chauffage  
 retourne un tableau avec le Nom de l'information et la valeur de chaque noeuds
*/
Function refreshInfos(){
	global $client,$InstallationID,$AppareilID,$TableInfo,$DataIds;
	write_log ("Demande de rafraichissement des données....");
  	$DataArray  = array(
					'AnlageId'=> $InstallationID, 
					'GeraetId'=> $AppareilID,
					'DatenpunktIds' => $DataIds 
					);
	$response = $client->RefreshData($DataArray);
	$DataArray_temp  = array(
					'AktualisierungsId'=> $response->RefreshDataResult->AktualisierungsId, 
					);
	$flag = false;
	$out = time()+90;
	while ( $out > time()) {
			$response1 = $client->RequestRefreshStatus ($DataArray_temp );
			write_log ("Status de la demande de rafraichissement : ".status2string($response1->RequestRefreshStatusResult->Status));
			if ($response1->RequestRefreshStatusResult->Status == 4) {
				$flag = true;
				break; 
			}
			sleep(5);
			
		}	
	//sleep(30);
  	if ($flag){
  		$flag = false;
		if ($response->RefreshDataResult->Ergebnis == 0) {
			$out = time()+90;
			while ( $out > time()) {
				$response = $client->GetData($DataArray);
				if ($response->GetDataResult->Ergebnis == 0) {
					foreach ($response->GetDataResult->DatenwerteListe->WerteListe as $key => $value) {
						$Table[ $value->DatenpunktId ]=array (
								"Wert" 		  => $value->Wert,
								"Zeitstempel" => $value->Zeitstempel,
								"Name" => $TableInfo[$value->DatenpunktId]['Name'],
								"iswriteable" =>$TableInfo[$value->DatenpunktId]['iswriteable']
							);
						}
						write_log ("rafraichissement des données effectuées");
						$flag = true;
						break;
					}
					sleep(5);
			
				}
		}
		if (!$flag){
			write_log ("intérrogation des noeuds impossible !");
		}
	
	}
	else
  	{
  		write_log ("demande de rafraichissement non aboutie !");
  	}
	return $Table;
}

/* fonction WriteData 
 demande la modification d'une valeur d'un noeud du système de chauffage  
 retourne un tableau avec le Nom de l'information et la valeur de chaque noeuds
*/

function WriteData( $point,$Data){
	global $client,$InstallationID,$AppareilID;
	write_log ("Demande de rafraichissement des données....");
  	$DataArray  = array(
					'AnlageId'=> $InstallationID, 
					'GeraetId'=> $AppareilID,
					'DatapointId' => $point,
      				'Wert' => $Data
					);
  	write_log ('ecriture => '.$point.' => '.$Data );
	$response = $client->WriteData($DataArray);
	$DataArray_temp  = array(
					'AktualisierungsId'=> $response->WriteDataResult->AktualisierungsId, 
					);
	$response1 = $client->RequestWriteStatus ($DataArray_temp);
	$flag = false;
	$out = time()+90;
	while ( $out > time()) {
			$response1 = $client->RequestWriteStatus ($DataArray_temp);
			write_log ("Status de la demande d'écriture : ".status2string($response1->RequestWriteStatusResult->Status));
			if ($response1->RequestWriteStatusResult->Status == 4) {
					write_log ("Donnée Mise à jour : $point = $Data");
					$flag = true;
					break;
				} 
			else {
						
			}
			sleep(5);
		}
	return $flag;		
}
	
/* fonction write_json 
ecrit le tableau des données en JSON dans le fichier Viessmann.json  
ne retourne aucune valeur
*/
function write_json( $Chaine )
	{
		write_log ("Mise a jour du json");
  		$file = dirname(__FILE__)."/viessmann.json";
		if (!file_exists($file)) touch($file);
		$fh = fopen($file, 'w+');
		fwrite($fh, $Chaine);
		fclose($fh);
	}
/* fonction status2string 
transforme le code de status en texte lisible 
retourne le texte si reconnus, sinon la valeur 
*/
function status2string($status){
	switch ($status) {

				case '1':
				case 1: $st = "prise en compte";
						break;
				case '3':
				case 3: $st = "traitement en cours";
						break;
				case '4':
				case 4: $st = "traitement effectué";
						break;
				default: $st = $status;
						break;
			};
			return $st;
}
/* fonction write_log
Permet d'écrire un message dans le fichier log.
*/
function write_log ($message)
{
	global $filelog,$directorylog;
    $logfile = $directorylog."/".$filelog;
  	$dt = (new \DateTime())->format('Y-m-d H:i:s');
    if (!file_exists($logfile)) {touch($logfile);};
  	$myfile = fopen($logfile, "a");
	fwrite($myfile, "\n". $dt.": ".$message);
	fclose($myfile);
}
//Main
// traitement des paramêtres 
if (isset($argv)) {
     foreach ($argv as $arg) {
         $argList = explode('=', $arg);
         if (isset($argList[0]) && isset($argList[1])) {
             $_GET[$argList[0]] = $argList[1];
             write_log("Paramètre ".$argList[0]."=".$argList[1]);
         }
     }
 }
//traitement principal
try {
  	if (login()) { 
  		$TableInfo =  getInfoPoints(); 
  		if (is_array($TableInfo)){	
			if (isset($argList[0]) && isset($argList[1])) {  
					if (!(writedata($argList[0],$argList[1]))) {write_log("Ecriture impossible de la valeur demandée");} ;
				}
			$Info=refreshInfos();
			if (is_array($Info)){
				$filejson = json_encode($Info);
				write_json ($filejson);
			}
			logout();
			}
		}
	
	else{
		 	write_log("Connexion impossible !");
		}
	
	echo "Ok";
} 
catch (Exception $e) {
	 write_log ('Exception : ligne='.$e->getLine().'('. $e->getCode().')'. $e->getMessage());
 	 //$trace = $e->getTrace();
 	 //write_log (print_r( $trace,true));
 	 //$a = print_r(get_defined_vars(), true);
	 //write_log ($a);
 	 echo "Erreur, voir $filelog";
}
//garbage
write_log ('--------------------------------------------------------------------------');
unset ( $TableInfo,$Info,$filejson,$Login,$Pass,$Installation,$InstallationID,$AppareilID,$DataIds,$anlageID,$anlage,$filelog,$directorylog);

Ce script permet recevoir dans Jeedom, par le biais d'un fichier JSON, les données du système de chauffage.
il peut aussi paramétrer certain paramètre comme par exemple passer en mode économique ou réception.

ATTENTION: Ce script est adapté à mon système, chaque système peut être différent le numéro de noeud d'information peut ne
pas correspondre donc attention à la modification de paramètre.

3 informations sont a modifier dans le script : login, mot de passe et la référence de l'installation.
La mise en place se fait via le plugin Script.
  • Exécuter la mise à jour des information il suffit de lancer le script
    par ex: /var/www/html/plugins/script/core/ressources/Viessmann.php
  • Récupérer chaque information nécessaire, il faut créer une info JSON en mettant "le numéro du nœud d'information>Wert"
    par ex: pour une température extérieur la requête est :

    Code : Tout sélectionner

    5373>Wert
    , 5373 étant le nœud d'information. et l'option est

    Code : Tout sélectionner

    https://AdresseJeedom/plugins/script/core/ressources/viessmann.json
  • Modifier un paramètre il suffit de lancer le script avec comme paramètre le "numéro du noeud d'information=valeur" par exemple pour passer en mode économique (sur mon système) il faut lancer :

    Code : Tout sélectionner

    /var/www/html/plugins/script/core/ressources/Viessmann.php 7853=1 
Avec l'aide du plugin Widget, on peut obtenir ce résultat:
Capture d’écran 2017-11-17 à 10.47.38.png
Rebonjour Scotty92,
J'ai enfin réussi à dialoguer comme je veux avec ma chaudière.
J'aimerais beaucoup obtenir le même rendu : j'ai téléchargé mes images, je les ai associées avec les commandes et je veux ensuite les repositionner dans la tuile de l'objet virtuel que j'ai créé. Le hic c'est que jeedom ne veut pas que je superpose les widgets et donc je n'arrive pas à obtenir le même rendu.
As-tu des conseils pour arranger la tuile ?

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

Re: Script pour Gestion Chaudière Viessmann connecté

Message par scotty92fr » 03 mai 2019, 22:03

@PhoBoS88
Sur le fil de discussion le le post du 17 nov. 2017, 13:53,
il y a le script pour récupérer les informations accessible

@TonioBDS j’ai utilisé un widget par élément à affiché.

C’est pas forcément très propre mais j’ai utiliser des bloc en position absolut:

Par example pour la temperature interne qui comporte le fond (la maison) :

Code : Tout sélectionner

 <div class="wdg-#id# tooltips cmd #history# cmd-widget ui-sortable-handle" data-type="info" data-subtype="numeric" data-cmd_id="#id#" title="Valeur du #valueDate#, collectée le #collectDate#">  
  <center>
  	<span class="Info#id#">
    	<span class='Info-valeur#id#'></span>
    	<span class='Info-unite#id#'></span>
 	</span>
  </center>
  <script>
    jeedom.cmd.update['#id#'] = function(_options){
        $('.Info-valeur#id#') .empty().append(_options.display_value);
        $('.Info-unite#id#') .empty().append('#unite#');
       }
     jeedom.cmd.update['#id#']({display_value:'#state#'});
  	</script>
  <style>
    .wdg-#id#{
       	display: block;
		width:400px;
  		min-height:300px;
  		background-image:url("plugins/widget/core/template/dashboard/cmd.info.numeric.Viessmann_mode/fond.png");
		position:absolute;
    	top:32px;	
    	left:0px;
  		}
    .Info#id#{
      //	float: left;
      margin: 0;
      padding: 0;
      padding-left: 5px;
      padding-right: 5px;
      		
   	  position: absolute;
      top: 100px;
      left: 200px;
      font-size :36px;
      font-weight: bold;
     }
    .Info-valeur#id#{
      float: left;
      text-align: right;
      }
    .Info-unite#id#{
      text-align:left;
      padding-left:5px;
      float: left;
      }
	</style>
	

</div>

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

TonioBDS
Timide
Messages : 25
Inscription : 27 avr. 2018, 11:19

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TonioBDS » 05 mai 2019, 09:30

Merci Scotty92fr,

Je vois encore une fois que j'ai beaucoup de chose à apprendre. Par exemple, si je comprends bien l'ojectif de l'exemple de code que tu as envoyé, il s'agit de fixer en dur les paramètre d'affichage d'un widget sur une tuile.

Peux-tu m'indiquer où j'accède à ce code ? Est-ce le code du widget lui-même ?
Merci encore.

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

Re: Script pour Gestion Chaudière Viessmann connecté

Message par scotty92fr » 05 mai 2019, 09:47

Bonjour,

Oui, c’est le code du widget (plugin widget) qui fixe l’image de fond et que tu applique sur la commande température intérieur. Comme cela tu a un cadre pour gérer ensuite les autres widgets pour les autres commandes.



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

PhoBoS88
Timide
Messages : 34
Inscription : 13 nov. 2017, 21:01

Re: Script pour Gestion Chaudière Viessmann connecté

Message par PhoBoS88 » 26 juil. 2019, 19:01

Bonjour à tous,

Je reviens vers vous.
N'ayant que très peu d'info récupérable avec le Vitocom 100, je me suis procuré un Vitoconnect 100 OPT01.

J'ai voulu récupérer comme vous le gateway ID et le controler ID à partir du site : https://support.viessmann.io/ comme expliqué par thetrueavatar en page 2.

Lorsque je me connecte j'ai un message d'erreur :
Autorisation refusée
Vous ne disposez pas des autorisations appropriées pour accéder au site de l'agent de service distant.

Je précise que J'ai bien accès à l'appli Vicare sans problème.

Pourriez vous m'éclairer svp.
Merci d'avance

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

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 26 juil. 2019, 20:05

pour éviter toute confusion entre le script vitocom et l'API du vitoconnect 100 nous avons fait un thread séparé viewtopic.php?t=43736
Tu trouveras toutes les informations appropriées dans ce thread

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités