Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

Script pour Gestion Chaudière Viessmann connecté

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 02 janv. 2018, 00:21

Pour récupérer les infos transmises par un vitoconnect :
1°) avec un parser type "JSONview", identifier le n° d'ordre dans le fichier de chaque info
2°) dans jeedom avec le plugin script, créer un équipement :
  • type de script : json
  • Type : info
  • Requete : data>36>value (pour la temp extérieure)
  • Timeout : 10
  • essais : 2
  • Utilisateur/password : login sur l'appli Viessmann
suivant le type d'info, on peut choisir binaire, numérique ...
apres sauvegarde et test, cliquer que l'icone "dupliquer" en bout de ligne. seul le n° de la data dans la requete sera à changer

par contre, je ne sais pas faire un script pour envoyer une modification (passer en mode eco par ex). Si quelqu'un tuyau ...

mapa
Timide
Messages : 14
Inscription : 15 mars 2016, 21:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par mapa » 02 janv. 2018, 11:21

Bonjour,

Pour la récupération des infos avec un vitoconnect 100, il faut mieux lancer l'url https://api.viessmann.io/estrella/rest/ ... datapoints sur ton navigateur et vérifier le datapointid avec la chaudière Vitodens 222-W on obtient les valeurs suivantes

Code : Tout sélectionner

Mode                                           data>19>value       "datapointId": "92"
Temperature exterieure          data>37>value       "datapointId": "5373"
Temperature bruleur               data>36>value       "datapointId": "5372"
Temperature eau                      data>50>value       "datapointId": "5381"
Mode Eco                                   data>25>value        "datapointId": "7852"
Mode confort                            data>26>value        "datapointId": "7855"
Consigne ambiante                  data>43>value        "datapointId": "82"
Consigne Réduite                     data>44>value        "datapointId": "85"
Consigne eau                            data>41>value        "datapointId": "51"
Consigne confort                      data>42>value        "datapointId": "79"
Heures de fonctionnement    data>32>value        "datapointId": "104"
Cordialement
Dernière édition par mapa le 06 janv. 2018, 17:31, édité 2 fois.

mapa
Timide
Messages : 14
Inscription : 15 mars 2016, 21:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par mapa » 02 janv. 2018, 12:18

Bonjour,

Voici un script php qui permet de modifier différents paramètres de la chaudière

Code : Tout sélectionner

// Run ViessmannU.php GT=Gateway CT=Controler DG=DatapointGroup HC=Heating-Circuit US=UserID PW=Password TP=Type VL=Value

//	GT contoller could get at https://support.viessmann.io/#/login, Gateways->Find gateway->Search, Details->ID 
//	CT contoller could get at https://support.viessmann.io/#/login Contollers, ID
//	DG DatapointGroup could get at https://api.viessmann.io/estrella/rest/v2.0/gateways/{gatewayID}/controllers/{ContollerID}/datapoints 
//	HC Heating Circuit could get at https://api.viessmann.io/estrella/rest/v2.0/gateways/{gatewayID}/controllers/{ContollerID}/datapoints   
//	US Wiessmann Vitoconnect userID normally email address
//	PW Wiessmann Vitoconnect pawwsord
//	TP update type
//		Water		Update Water Temperature
//		Eau			Mise a jour de la consigne de temperature Eau  
//		Room		Update Room Temperature
//		Ambiante	Mise a jour de la consigne de temperature Ambiante
//		Reduced		Update Eco Temperature
//		Réduite		Mise a jour de la consigne de temperature Eco
//		Mode		Set mode Boiler
//		Mode		defini le Mode de la chaudiere
//		Eco			Set Eco mode On/Off
//		Eco			Activer ou désactiver le mode Eco
//		Comfort		Set Comfort mode On/Off
//		Confort		Activer ou désactiver le mode Confort
//		Away		Set Away mode On/Off
//		Absence		Activer ou désactiver le mode Absence

//	VL update value
//		Water,Eau		Temperature between 10 and 95
//		Room,Ambiante	Temperature between 3 and 37
//		Reduced,Réduit	Temperature between 3 and 37
//		Mode			0:stop, 1:Water only, 2:heating and water, 3:Away, 4:force Heating water  
//		Eco				Enable=On Disbale=Off
//		Comfort,Confort	Disbale=Off, Enable=On or Temperature between 4 and 37
Définir un script
Dans jeedom avec le plugin script, créer un équipement :
type de script : script
Type : info
Requete : /var/www/html/plugins/script/core/ressources/ViessmannU.php GT={gatewayID} CT={ContollerID} DG={DatapointGroup} HC={Heating Circuit} [DP={DatapointId}] US={"email address"} PW={"password"} TP=variable(viessTP) VL=variable(viessVL)

Définir un scénario en définissant les variables viessTP et viessVL avec les valeur souhaitées et avec l'action rafraîchir le script

Code : Tout sélectionner

Nom du scénario : viessConfortOn
- Mode du scénario : provoke
  
    ACTION
     (variable) Affectation de la variable : viessTP à Confort
     (variable) Affectation de la variable : viessVL à On
     #[Aucun][ViessmannU][Rafraichir]# - Options : Array
    (
        [background] => 0
        [enable] => 1
    )
    
     #[Garage][ViessmannR][Rafraichir]# - Options : Array
    (
        [background] => 0
        [enable] => 1
    )
Cordialement
Pièces jointes
ViessmanU.zip
(2.51 Kio) Téléchargé 92 fois
Dernière édition par mapa le 06 janv. 2018, 16:53, édité 4 fois.

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

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 02 janv. 2018, 15:11

Merci pour tous vos posts je vais regarder ça une fois que j'ai un peu de temps.

mapa
Timide
Messages : 14
Inscription : 15 mars 2016, 21:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par mapa » 05 janv. 2018, 10:43

Bonjour,

J'ai modifié mon script pour pouvoir synchroniser l'heure de la chaudière avec l'heure du Jeedom
et d'autres corrections

corrigé la date

Cordialement.
Pièces jointes
ViessmanU-1.2-20180105.zip
(2.71 Kio) Téléchargé 82 fois
Dernière édition par mapa le 05 janv. 2018, 16:12, édité 1 fois.

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 05 janv. 2018, 11:52

Merci Mapa.

j'ai tout implémenté et cela marche impeccable :D un grand MERCI

quelques modifications de mon coté :
j'ai une chaudière 200T avec 2 circuits de chauffage séparés et sans ECS.
il me faut donc passer la valeur du datapoint en variable pour utiliser le même script pour HC1 et HC2.
j'ai rajouté dans le script $dataPoint = $_GET['DP']; et modifié les lignes

Code : Tout sélectionner

$url = "https://api.viessmann.io/estrella/rest/v2.0/gateways/".$gateway."/controllers/".$controller."/datapoints/5385";
$data_string .= '        "datapointId": "5385",'."\r\n";
par

Code : Tout sélectionner

$url = "https://api.viessmann.io/estrella/rest/v2.0/gateways/".$gateway."/controllers/".$controller."/datapoints/".$dataPoint;
$data_string .= '        "datapointId": "'.$dataPoint.'",'."\r\n";
Dans la partie "date", il faut aussi mettre heatingCircuitId en variable

à quoi sert le bout de script en commentaire tout à la fin ? je n'ai pas de fichier Viessmann.log.

Avatar de l’utilisateur
Sebizarre
Timide
Messages : 12
Inscription : 08 févr. 2015, 17:34

Re: Script pour Gestion Chaudière Viessmann connecté

Message par Sebizarre » 05 janv. 2018, 12:41

Hello,

Merci mapa pour ton partage.
Dernière édition par Sebizarre le 05 janv. 2018, 13:18, édité 1 fois.

TaG
Actif
Messages : 1152
Inscription : 26 oct. 2016, 11:02

Re: Script pour Gestion Chaudière Viessmann connecté

Message par TaG » 05 janv. 2018, 13:08

Hello,

Au final vu que mon optolink ne me sert à rien, si quelqu'un souhaite l'acheter pour sa chaudière, qu'il n'hésite pas à me contacter en MP directement, prix à voir directement

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 05 janv. 2018, 15:19

Pour lire plus facilement le json et voir toutes les possibilités, on peut copier/coller le résutat dans le site https://json-csv.com/ pour réccupérer un fichier .csv exploitable dans Excel
Ci-joint le fichier complet pour la 200T:
Param200T.zip
Parametres Viessmann 200T
(26.79 Kio) Téléchargé 100 fois

mapa
Timide
Messages : 14
Inscription : 15 mars 2016, 21:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par mapa » 05 janv. 2018, 16:20

Bonjour,

Pour les dernières lignes du script (si tu les dé-commentes), cela te permet d'avoir un fichier log dans le répertoire du script :Vissemman.log, avec toutes les commandes passée et l'heure

pour la date j'ai corrigé le heatingCircuitId

mais par contre pour la mise à jour que tu as faite, je n'ai pas bien compris, est-ce que tu peux me faire voir un exemple , STP

Cordialement

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 05 janv. 2018, 21:18

si tu télécharge mon fichier "Param 200T" ci dessus, tu verras que la même commande (par exemple le choix du mode de fonctionnement - konf_betriebsart_rw) a un code pour chaque circuit de chauffage 92 et 94.

mapa
Timide
Messages : 14
Inscription : 15 mars 2016, 21:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par mapa » 06 janv. 2018, 17:30

Bonjour,

J'ai corrigé une erreur sur la mise a jour de la date et de l'heure et aussi inclus la mise a jour d'un autre dataPointId (paramètre non obligatoire)

Code : Tout sélectionner

// Update Viessmann Parameter Rest API
// Run ViessmannU.php GT=Gateway CT=Controler DG=DatapointGroup HC=Heating-Circuit US=UserID PW=Password TP=Type VL=Value
//	GT contoller could get at https://support.viessmann.io/#/login, Gateways->Find gateway->Search, Details->ID 
//	CT contoller could get at https://support.viessmann.io/#/login Contollers, ID
//	DG DatapointGroup could get at https://api.viessmann.io/estrella/rest/v2.0/gateways/{gatewayID}/controllers/{ContollerID}/datapoints 
//	HC Heating Circuit could get at https://api.viessmann.io/estrella/rest/v2.0/gateways/{gatewayID}/controllers/{ContollerID}/datapoints   
//	DP DatapointId could get at https://api.viessmann.io/estrella/rest/v2.0/gateways/{gatewayID}/controllers/{ContollerID}/datapoints 
//	US Wiessmann Vitoconnect userID normally email address
//	PW Wiessmann Vitoconnect pawwsord
//	TP update type
//		Water				Update Water Temperature
//		Eau					Mise a jour de la consigne de temperature Eau  
//		Room				Update Room Temperature
//		Ambiante			Mise a jour de la consigne de temperature Ambiante
//		Reduced			Update Eco Temperature
//		Réduite				Mise a jour de la consigne de temperature Eco
//		ConsComf			Update Comfort Temperature
//		CondConf			Mise a jour de la consigne de temperature Confort
//		Mode				Set mode Boiler
//		Mode				defini le Mode de la chaudiere
//		Eco					Set Eco mode On/Off
//		Eco					Activer ou désactiver le mode Eco
//		Comfort				Set Comfort mode On/Off
//		Confort				Activer ou désactiver le mode Confort
//		Date				Synchronize Date and time
//		Date				Syncrhonisation de la Date et heure
//	VL update value
//		Water,Eau			Temperature between 10 and 95
//		Room,Ambiante		Temperature between 3 and 37
//		Reduced,Réduit		Temperature between 3 and 37
//		ConsConf,ConsComf	Temperature between 4 and 37  
//		Mode				0:stop, 1:Water only, 2:heating and water, 3:Away, 4:force Heating water  
//		Eco					Enable=On Disbale=Off
//		Comfort,Confort		Disbale=Off, Enable=On
//		Date				Synchronization=Sync
Par contre dans ton fichier tu indiques que le code "Mode de fonctionnement" est

Code : Tout sélectionner

0=arret	1=ECS seul	2=horaire (ECS+Chauffage)	3=chauffage	4=Eco
et dans le script les valeurs suivantes sont définies

Code : Tout sélectionner

"0: Arrêt"	"1: Eau chaude seulement"				"2: Chauffage et Eau chaude"		
"3: Absence"	"4: Chauffage et Eau chaude permanents";
Cordialement
Pièces jointes
ViessmanU-1.3-20180106.zip
(2.79 Kio) Téléchargé 55 fois

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

Re: Script pour Gestion Chaudière Viessmann connecté

Message par banane63 » 07 janv. 2018, 11:26

Beau boulot les gars !

Par contre moi j'ai pas de chance, je peux pas piloter autre chose que le Mode de fonctionnement (konf_betriebsart_rw) : Éteint, Chauffe eau, Chauffe eau + Chauffage...

Image


Pas de bol : impossible de passé du mode réduit au mode normal...
Raspberry Pi 3 Jeedom - RFX433 - HUE - Mobile Alerts La Crosse Technology - Volets SOMFY - Viessmann Vitoconnect - Google Home Chromecast Wifi

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 08 janv. 2018, 10:18

Hello banane63,

C'est le mode justement de fonctionnement qui permet de passer à réduit.
Tu dois avoir les valeurs :
"0": "Abschalt", = "Veille" : chaudiere en stand by
"1": "Nur WW", = "Eau chaude seulement" : chauffage en stand by
"2": "Heizen + WW" = "Eau chaude + chauffage" : passe de Normal à réduit selon les horaires programmés dans l'appli
"3": "Dauernd Reduziert", = "forcé en réduit"
"4": "Dauernd Normal" = "forcé en normal"

Apres, si tu as un thermostat d'ambiance (vitotrol 100/200/300) et que la consigne est atteinte, tu peux modifier les paramètres de la chaudière pour arreter la pompe.
par contre si tu n'as pas de thermostat d'ambiance et que tu veux arreter la pompe, tu sera obligé de basculer en veille.

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 08 janv. 2018, 10:24

Mapa,
mapa a écrit :
06 janv. 2018, 17:30

Par contre dans ton fichier tu indiques que le code "Mode de fonctionnement" est

Code : Tout sélectionner

0=arret	1=ECS seul	2=horaire (ECS+Chauffage)	3=chauffage	4=Eco
et dans le script les valeurs suivantes sont définies

Code : Tout sélectionner

"0: Arrêt"	"1: Eau chaude seulement"				"2: Chauffage et Eau chaude"		
"3: Absence"	"4: Chauffage et Eau chaude permanents";
Cordialement
Effectivement, tu as raison. Je n'ai pas d'ECS donc le mode 1 n'existe pas chez moi et j'avais inversé le 3 et le 4.
Le mode "Absence" est identique au mode "réduit" (en programme 2 Chauffage et Eau chaude, les horaires définissent le passage de normal à réduit)

mapa
Timide
Messages : 14
Inscription : 15 mars 2016, 21:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par mapa » 08 janv. 2018, 18:16

Bonjour,

@banane63: j'ai refait des tests de mon coté et tout fonctionne

Je sais que dans certain cas le mode Eco ou Confort ne passe pas, as tu essaye de synchroniser la date ou essayer de changer la temperature de consigne (Eco, Confort)?

Cordialement

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

Re: Script pour Gestion Chaudière Viessmann connecté

Message par banane63 » 09 janv. 2018, 19:15

Ok merci !


Par contre, si je fais que "Dauernd Reduziert", = "forcé en réduit" ou "Dauernd Normal" = "forcé en normal", je sort de la programmation par plage horaire, et je suis pas sûr d'y retourner automatiquement à la prochaine tranche horaire programmée...
Raspberry Pi 3 Jeedom - RFX433 - HUE - Mobile Alerts La Crosse Technology - Volets SOMFY - Viessmann Vitoconnect - Google Home Chromecast Wifi

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 10 janv. 2018, 14:06

banane63 a écrit :
09 janv. 2018, 19:15
Par contre, si je fais que "Dauernd Reduziert", = "forcé en réduit" ou "Dauernd Normal" = "forcé en normal", je sort de la programmation par plage horaire, et je suis pas sûr d'y retourner automatiquement à la prochaine tranche horaire programmée...
C'est même sûr que tu n'y retourneras pas automatiquement :D
Pour contourner ce problème, j'utilise le plugin "Mode" (et non les scénario) pour définir les modes.

Ensuite un scénario permet de sélectionner :
- présent --> mode 2 (Prog horaire Viessmann) et consigne Jeedom = consigne "normal" Viessmann
- absent --> mode 3 (réduit) et consigne Jeedom = consigne "réduit" Viessmann

et un autre scénario joue le rôle de Thermostat
- consigne jeedom atteinte (avec un petit hystérésis) = Mode 0 (veille) - pas de modification de la consigne jeedom
- consigne jeedom non atteinte = "retour au mode précédent" (fonction du plugin mode)

enfin un 3° scénario est déclenché si la consigne jeedom est modifiée manuellement (slider)
- lecture du mode en cours (normal / réduit / party)
- affectation de la consigne jeedom à la consigne Viessmann correspondante (de cette façon les autres consignes ne sont pas modifiées)

xavierg
Timide
Messages : 75
Inscription : 27 nov. 2014, 23:13

Re: Script pour Gestion Chaudière Viessmann connecté

Message par xavierg » 10 janv. 2018, 15:19

@mapa

J'ai rajouté la mise à jour de la pente dans le script (testé --> OK) :

Code : Tout sélectionner

//	TP update type
//		Pente				Mise à jour de la pente

//	VL update value
//		Pente				Pente entre 0.2 et 3.5

   	 case "Pente":
		if ($value >= 0.2 && $value <= 3.5) {
           	$data_string = init_Viess();
          	$url = "https://api.viessmann.io/estrella/rest/v2.0/gateways/".$gateway."/controllers/".$controller."/datapoints/".$dataPoint;
        	$data_string .= '        "minimalValue": "0.2",'."\r\n";
          	$data_string .= '        "maximalValue": "3.5",'."\r\n";
        	$data_string .= '        "defaultValue": "1.4",'."\r\n";
        	$data_string .= '        "unitDesignation": "",'."\r\n";
	    	$data_string .= '        "datapointGroup": "'.$dataPGroup.'",'."\r\n";
	    	$data_string .= '        "heatingCircuitId": "'.$heatCircuit.'",'."\r\n";
	    	$data_string .= ' 	  	 "datapointId": "'.$dataPoint.'",'."\r\n";
        	$data_string .= '        "datapointType": "Double",'."\r\n";
        	$data_string .= '        "datapointName": "konf_neigung_rw",'."\r\n";
        	$data_string .= '        "isWritable": true,'."\r\n";
        	$data_string .= '        "isReadable": true,'."\r\n";
        	$data_string .= '        "datapointTypeValue": 0'."\r\n";
      		$data_string .= '      },'."\r\n";
      		$data_string .= '        "value": "'.$value.'",'."\r\n";
      		$data_string .= '        "dataType": 3,'."\r\n";
      		$data_string .= '        "datapointType": 0,'."\r\n";
      		$data_string .= '        "datapointStatus": 0'."\r\n";
	    	rest_Viess($url,$ch,$username,$password,$data_string);
		}
    	break;

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

Re: Script pour Gestion Chaudière Viessmann connecté

Message par banane63 » 21 janv. 2018, 08:50

L'API ne répond plus ce matin ?
504 Gateway timeout

Pareil pour https://support.viessmann.io/#/

J’espère que c'est qu'une maintenance du site...

D’après mes logs ça marche plus depuis 0h44.

Va falloir marcher a l'ancienne, les jeedomeux !
Raspberry Pi 3 Jeedom - RFX433 - HUE - Mobile Alerts La Crosse Technology - Volets SOMFY - Viessmann Vitoconnect - Google Home Chromecast Wifi

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

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