Thermostat Tado: repasser en mode Automatique

Discussion sur la box eedomus

Thermostat Tado: repasser en mode Automatique

Messagepar sammy49 » 07 Déc 2022 14:51

Bonjour, il y a la possibilité de repasser en mode automatique Tado.

En modifiant le fichier tado_oauth.php et en rajoutant une boucle "else if", j'envoi à mon thermostat un ordre de température pour 1 minute seulement. Ainsi, celui-ci revient automatiquement par la suite au programme défini.

Avantage:
Avec un détecteur d'ouverture de fenêtre, je peux maintenant arrêter le chauffage de la pièce dès que j'ouvre la fenêtre et relancer la programmation défini dans Tado dès que je ferme la fenêtre.

Etape 1: ajouter une valeur au périphérique Consigne Thermostat
- Valeur Brute: 26
- Description: Programme ON
- URL, Type et Paramètres comme les autres valeurs

Etape 2: éditer le fichier tado_oauth.php

//Debut Modification
else if ($_GET['setpoint_temperature'] == '26.0')
{
// type = HEATING, AIR_CONDITIONING, HOT_WATER
$type = getArg('type');
$home_zone = getArg('home_zone');
$tok = explode('-', $home_zone);
$home_id = $tok[0];
$zone_id = $tok[1];

if ($_GET['setpoint_temperature'] != '')
{
saveVariable('setpoint_temperature_'.$home_id.'_'.$zone_id, $_GET['setpoint_temperature']);
}
$setpoint_temperature = sdk_get_tado_value('setpoint_temperature', 0, $home_id, $zone_id);

// mode = COOL, HEAT
if ($_GET['zone_mode'] != '')
{
saveVariable('zone_mode_'.$home_id.'_'.$zone_id, $_GET['zone_mode']);
}
$zone_mode = sdk_get_tado_value('zone_mode', 'HEAT', $home_id, $zone_id);

// fan speeds : fanSpeed = LOW, MIDDLE, HIGH, AUTO
if ($_GET['fan_speed'] != '')
{
saveVariable('fan_speed_'.$home_id.'_'.$zone_id, $_GET['fan_speed']);
}
$fan_speed = sdk_get_tado_value('fan_speed', 'MIDDLE', $home_id, $zone_id);


// Swings : swing = ON, OFF
if ($_GET['swing'] != '')
{
saveVariable('swing_'.$home_id.'_'.$zone_id, $_GET['swing']);
}
$swing = sdk_get_tado_value('swing', 'OFF', $home_id, $zone_id);

if ($setpoint_temperature == 0)
{
$power = 'OFF';
}
else
{
$power = 'ON';
}

if ($zone_mode == 'COOL' || $type == 'AIR_CONDITIONING')
{
$json_cooling = ', "fanSpeed" :"'.$fan_speed.'"';
}

// ## ERROR : Querying [https://my.tado.com/api/v2/homes/557101/zones/1/overlay] with [{"setting": {"type": "AIR_CONDITIONING", "power": "ON", "mode": "HEAT", "temperature": {"celsius": 23}, "fanSpeed" :"AUTO"},"termination": {"type": "MANUAL"}}] {"errors":[{"code":"setting.notSupported","title":"swing not in supported swings [OFF, ON]"}]}

// {"errors":[{"code":"setting.notSupported","title":"swing not allowed in mode HEAT"}]}

if ($zone_mode == 'COOL' || ($type == 'AIR_CONDITIONING' && $zone_mode != 'HEAT'))
{
$json_cooling .= ', "swing" :"'.$swing.'"';
}

//$json = '{"setting": {"type": "'.$type.'", "power": "'.$power.'", "mode": "'.$zone_mode.'", "temperature": {"celsius": '.$setpoint_temperature.'}'.$json_cooling.'},"termination": {"type": "MANUAL"}}';
//$json = '{"setting": {"type": "'.$type.'", "power": "'.$power.'", "mode": "'.$zone_mode.'", "temperature": {"celsius": 10.5}'.$json_cooling.'},"termination": {"type": "MANUAL"}}';
$json = '{"setting": {"type": "'.$type.'", "power": "'.$power.'", "mode": "'.$zone_mode.'", "temperature": {"celsius": 18.0}'.$json_cooling.'},"termination": {"type": "TIMER","durationInSeconds":60}}';


$url = $api_url.'api/v2/homes/'.$home_id.'/zones/'.$zone_id.'/overlay';
$response = sdk_tado_api_call($url, 'PUT', $json);

if (strpos($response, 'errors') !== false)
{
echo "## ERROR : Querying [$url] with [$json]\n";
}

echo $response;

saveVariable('last_xml_success_'.$home_id.'_'.$zone_id, 0);
}

//Fin Modification

else if ($_GET['setpoint_temperature'] != '' || $_GET['zone_mode'] != '' || $_GET['fan_speed'] != '' || $_GET['swing'] != '')

Cordialement,
Jérôme
sammy49
 
Messages : 3
Inscription : 07 Déc 2022

Re: Thermostat Tado: repasser en mode Automatique

Messagepar sammy49 » 10 Jan 2023 17:31

Bonjour, désolé mais je ne peux pas répondre aux messages privés. Pas assez actif...
Du coup, merci de communiquer ici :)
sammy49
 
Messages : 3
Inscription : 07 Déc 2022

Re: Thermostat Tado: repasser en mode Automatique

Messagepar milillicuti » 11 Jan 2023 09:08

Merci @sammy49 ;)

Ton script bloque chez moi car il est impossible d'appliquer une température supérieure à 25°C.

Le retour en mode auto fonctionne bien si je modifie le script eedomus en ajoutant le timer.

Mais j'aimerais pouvoir conserver le pilotage de la température et ajouter en plus la commande qui permet de repasser en mode auto (après 1 minute à 6°C par exemple. Mais pour cela, il faut que la commande initiale ignore la valeur 6°C et la traite uniquement comme la commande de retour automatique. Ou alors une autre solution :D).

Merci !
Communication & publicité - Articles sur la dommotique : http://www.milillicuti.com
milillicuti
 
Messages : 394
Inscription : 28 Juin 2013

Re: Thermostat Tado: repasser en mode Automatique

Messagepar milillicuti » 11 Jan 2023 09:56

Bon je l'ai bidouillé comme ça en ajoutant une condition et une boucle, mais il y a surement plus simple.

Sur le périphérique consigne Tado, créer une valeur brute 6 qui activera alors un minuteur de 60secondes à une température de 6°C, puis retour à la programmation Tado.

Code :
Code : Tout sélectionner
<?php
// script créé par Connected Object pour eedomus

$CACHE_DURATION = 5; // minutes
$api_url = 'https://my.tado.com/';

$prev_code = loadVariable('code');

function sdk_get_tado_value($name, $default_value, $home_id, $zone_id)
{
   $value = loadVariable($name.'_'.$home_id.'_'.$zone_id);
   if ($value == '') { $value = $default_value; }
   saveVariable($name.'_'.$home_id.'_'.$zone_id, $value);
   return $value;
}

function sdk_tado_api_call($url, $action = 'GET', $post = NULL)
{
   $headers = array("Authorization: Bearer ".$GLOBALS['access_token']);
   if ($post != '')
   {
      $headers[] = 'Content-Type: application/json';
   }
   $response = httpQuery($url, $action, $post, 'tado_oauth2', $headers);
   //echo "url=[$url] post=[$post] response=[$response]";
   return $response;
}

if ($_GET['mode'] != 'verify')
{
   $refresh_token = loadVariable('refresh_token');

   $expire_time = loadVariable('expire_time');
   // s'il n'a pas expiré, on peut reprendre l'access_token
   if (time() < $expire_time)
   {
      $access_token = loadVariable('access_token');
   }
}


// on a déjà un token d'accés non expiré pour le code demandée
if ($access_token == '')
{
  if ($_GET['oauth_code'] != '')
  {
    $code = $_GET['oauth_code'];
  }
  else
  {
    $code = $prev_code;
  }

   if (strlen($refresh_token) > 1)
   {
      // on peut juste rafraichir le token
      $grant_type = 'refresh_token';
      $postdata = 'grant_type='.$grant_type.'&refresh_token='.$refresh_token;
   }
   else
   {
      // 1ère utilisation aprés obtention du code
      $grant_type = 'authorization_code';
      $redirect_uri = 'https://secure.eedomus.com/sdk/plugins/tado/callback.php';
    $scope = 'identity:read home.details:read home.operation:read home.operation.overlay:write home.webhooks';
      $postdata = 'grant_type='.$grant_type.'&code='.$code.'&redirect_uri='.urlencode($redirect_uri).'&scope='.urlencode($scope);
   }
 
   $url = 'https://auth.tado.com/oauth/token';
   $response = httpQuery($url, 'POST', $postdata, 'tado_oauth2');
   $params = sdk_json_decode($response);

   if ($params['error'] != '')
   {
   
      die("Erreur lors de l'authentification:"." [".$params['error'].'] (grant_type='.$grant_type.'), vous pouvez lier à nouveau votre compte en cliquant sur [Lier à nouveau] depuis la configuration de votre périphérique'."\n\n".$response);
   }

   // on sauvegarde l'access_token et le refresh_token pour les authentifications suivantes
   if (isset($params['refresh_token']))
   {
      $access_token = $params['access_token'];
      saveVariable('access_token', $access_token);
      saveVariable('refresh_token', $params['refresh_token']);
      saveVariable('expire_time', time()+$params['expires_in']);
      if ($code != '')
      {
         saveVariable('code', $code);
      }
   }
   else if ($access_token == '')
   {
      die("Erreur lors de l'authentification, vous pouvez lier à nouveau votre compte en cliquant sur [Lier à nouveau] depuis la configuration de votre périphérique\n\n".$response);
   }
}

if ($_GET['mode'] == 'verify')
{
   ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <title>eedomus</title>
  <style type="text/css">
 
  body,td,th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
  }
  </style>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  </head><?
  echo '<br>';
   echo "Sélectionnez un identifiant thermostat et copiez/collez le dans le paramètrage de votre périphérique Tado eedomus :";
  echo '<br>';
  echo '<br>';

   $url = $api_url.'api/v2/me';
   $response = sdk_tado_api_call($url);
   $json = sdk_json_decode($response);
   
   // aucune "homes", au cas où
   if (sizeof($json['homes']) <= 0)
   {
      var_dump($url, $response);
   }
   
   for ($i = 0; $i < sizeof($json['homes']); $i++)
   {
    $home_id = $json['homes'][$i]['id'];
    $home_name = $json['homes'][$i]['name'];
    //echo $home_id ." - ".$home_name.'<br>';
   
    $url = $api_url.'api/v2/homes/'.$home_id.'/zones';
    $response = sdk_tado_api_call($url);
    $zones = sdk_json_decode($response);
   
    // aucune "zones" désormais ?
    if (sizeof($zones) <= 0)
    {
         echo $home_name . " (## ERROR : "."Aucune Zone configurée, vérifiez votre compte Tado".") : ";
         echo ' <input onclick="this.select();" type="text" size="40" readonly="readonly" value="'.$home_id.'" />'.'<br>';
    }
      else
      {
         for ($j = 0; $j < sizeof($zones); $j++)
         {
            $zone_id = $zones[$j]['id'];
            $zone_name = $zones[$j]['name'];
            echo $home_name ." / ".$zone_name. " : ";
            echo ' <input onclick="this.select();" type="text" size="40" readonly="readonly" value="'.$home_id.'-'.$zone_id.'" />'.'<br>';
         }
      }
   }
}
else if ($_GET['mode'] == 'get')
{

  $home_zone = getArg('home_zone');
  $tok = explode('-', $home_zone);
  $home_id = $tok[0];
  $zone_id = $tok[1];
 
  $last_xml_success = loadVariable('last_xml_success_'.$home_id.'_'.$zone_id);
  if ((time() - $last_xml_success) / 60 < $CACHE_DURATION)
  {
    sdk_header('text/xml');
    $cached_xml = loadVariable('cached_xml_'.$home_id.'_'.$zone_id);
    echo $cached_xml;
    die();
  }
 
   $url = $api_url.'api/v2/homes/'.$home_id.'/zones/'.$zone_id.'/state';
   $response = sdk_tado_api_call($url);
   $json = sdk_json_decode($response);

   if ($json['errors'] != '')
   {
      die($response);
   }

   $inside_temperature = $json['sensorDataPoints']['insideTemperature']['celsius'];
   $humidity = $json['sensorDataPoints']['humidity']['percentage'];
   $overlay = $json['overlay'];
 
  $setting_type = $overlay['type'];
  $setpoint = $overlay['setting']['temperature']['celsius'];
 
  if ($setting_type == '')
  {
    $setting_type = "AUTO";
    $setpoint = $json['setting']['temperature']['celsius'];
  }
 
  if ($setpoint == '')
  {
    $setpoint = 0; // Off eedomus
  }

   $fan_speed = sdk_get_tado_value('fan_speed', 'MIDDLE', $home_id, $zone_id);
   if ($json['setting']['mode'] != '')
   {
      saveVariable('zone_mode_'.$home_id.'_'.$zone_id, $json['setting']['mode']);
   }
   $zone_mode = sdk_get_tado_value('zone_mode', 'HEAT', $home_id, $zone_id);
   
   $swing = sdk_get_tado_value('swing', 'OFF', $home_id, $zone_id);
   
   
   $power = $json['setting']['power'];
      
   $xml = "<tado>";
   
   $xml .= '<cached>0</cached>';
   $xml .= "<inside_temperature>$inside_temperature</inside_temperature>";
   $xml .= "<humidity>$humidity</humidity>";
   $xml .= "<setting_type>$setting_type</setting_type>";
   $xml .= "<setpoint>$setpoint</setpoint>";
   $xml .= "<fan_speed>$fan_speed</fan_speed>";
   $xml .= "<zone_mode>$zone_mode</zone_mode>";
   $xml .= "<power>$power</power>";
   $xml .= "<swing>$swing</swing>";
   
   $xml .= "</tado>";
   
  sdk_header('text/xml');
   echo $xml;
   
   $xml = str_replace('<cached>0</cached>', '<cached>1</cached>', $xml);
   if ($xml != '') // non vide
  {
    saveVariable('cached_xml_'.$home_id.'_'.$zone_id, $xml);
    saveVariable('last_xml_success_'.$home_id.'_'.$zone_id, time());
  }
}
else if (($_GET['setpoint_temperature'] != '' && $_GET['setpoint_temperature'] != '6.00') || $_GET['zone_mode'] != '' || $_GET['fan_speed'] != '' || $_GET['swing'] != '')
{
   // type = HEATING, AIR_CONDITIONING, HOT_WATER
   $type = getArg('type');
   $home_zone = getArg('home_zone');
   $tok = explode('-', $home_zone);
   $home_id = $tok[0];
   $zone_id = $tok[1];
 
   if ($_GET['setpoint_temperature'] != '')
   {
      saveVariable('setpoint_temperature_'.$home_id.'_'.$zone_id, $_GET['setpoint_temperature']);
   }
   $setpoint_temperature = sdk_get_tado_value('setpoint_temperature', 0, $home_id, $zone_id);
   
   // mode =  COOL, HEAT
   if ($_GET['zone_mode'] != '')
   {
      saveVariable('zone_mode_'.$home_id.'_'.$zone_id, $_GET['zone_mode']);
   }
   $zone_mode = sdk_get_tado_value('zone_mode', 'HEAT', $home_id, $zone_id);
   
   // fan speeds : fanSpeed = LOW, MIDDLE, HIGH, AUTO
   if ($_GET['fan_speed'] != '')
   {
      saveVariable('fan_speed_'.$home_id.'_'.$zone_id, $_GET['fan_speed']);
   }
   $fan_speed = sdk_get_tado_value('fan_speed', 'MIDDLE', $home_id, $zone_id);
   

   // Swings : swing = ON, OFF
   if ($_GET['swing'] != '')
   {
      saveVariable('swing_'.$home_id.'_'.$zone_id, $_GET['swing']);
   }
   $swing = sdk_get_tado_value('swing', 'OFF', $home_id, $zone_id);

  if ($setpoint_temperature == 0)
   {
      $power = 'OFF';
   }
   else
   {
      $power = 'ON';
   }
   
   if ($zone_mode == 'COOL' || $type == 'AIR_CONDITIONING')
   {
      $json_cooling = ', "fanSpeed" :"'.$fan_speed.'"';
   }
   
  // ## ERROR : Querying [https://my.tado.com/api/v2/homes/557101/zones/1/overlay] with [{"setting": {"type": "AIR_CONDITIONING", "power": "ON", "mode": "HEAT", "temperature": {"celsius": 23}, "fanSpeed" :"AUTO"},"termination": {"type": "MANUAL"}}] {"errors":[{"code":"setting.notSupported","title":"swing not in supported swings [OFF, ON]"}]}
 
  // {"errors":[{"code":"setting.notSupported","title":"swing not allowed in mode HEAT"}]}
 
   if ($zone_mode == 'COOL' || ($type == 'AIR_CONDITIONING' && $zone_mode != 'HEAT'))
   {
      $json_cooling .= ', "swing" :"'.$swing.'"';
   }
   
   /*
      if ($_GET['setpoint_temperature'] != ''  &&  $_GET['setpoint_temperature'] == '7.00')
   {
      saveVariable('setpoint_temperature_'.$home_id.'_'.$zone_id, $_GET['setpoint_temperature']);
   }
   $setpoint_temperature = sdk_get_tado_value('setpoint_temperature', 0, $home_id, $zone_id);*/
   
   
 $json = '{"setting": {"type": "'.$type.'", "power": "'.$power.'", "mode": "'.$zone_mode.'", "temperature": {"celsius": '.$setpoint_temperature.'}'.$json_cooling.'},"termination": {"type": "MANUAL"}}';
   //$json = '{"setting": {"type": "'.$type.'", "power": "'.$power.'", "mode": "'.$zone_mode.'", "temperature": {"celsius": '.$setpoint_temperature.'}'.$json_cooling.'},"termination": {"type": "TIMER","durationInSeconds":60}}';


  $url = $api_url.'api/v2/homes/'.$home_id.'/zones/'.$zone_id.'/overlay';
   $response = sdk_tado_api_call($url, 'PUT', $json);
 
  if (strpos($response, 'errors') !== false)
  {
     echo "## ERROR : Querying [$url] with [$json]\n";
  }
 
  echo $response;
   
   saveVariable('last_xml_success_'.$home_id.'_'.$zone_id, 0);
}


//AJOUT
else if (($_GET['setpoint_temperature'] != '' && $_GET['setpoint_temperature'] == '6.00') || $_GET['zone_mode'] != '' || $_GET['fan_speed'] != '' || $_GET['swing'] != '')
{
   // type = HEATING, AIR_CONDITIONING, HOT_WATER
   $type = getArg('type');
   $home_zone = getArg('home_zone');
   $tok = explode('-', $home_zone);
   $home_id = $tok[0];
   $zone_id = $tok[1];
 
   if ($_GET['setpoint_temperature'] != '')
   {
      saveVariable('setpoint_temperature_'.$home_id.'_'.$zone_id, $_GET['setpoint_temperature']);
   }
   $setpoint_temperature = sdk_get_tado_value('setpoint_temperature', 0, $home_id, $zone_id);
   
   // mode =  COOL, HEAT
   if ($_GET['zone_mode'] != '')
   {
      saveVariable('zone_mode_'.$home_id.'_'.$zone_id, $_GET['zone_mode']);
   }
   $zone_mode = sdk_get_tado_value('zone_mode', 'HEAT', $home_id, $zone_id);
   
   // fan speeds : fanSpeed = LOW, MIDDLE, HIGH, AUTO
   if ($_GET['fan_speed'] != '')
   {
      saveVariable('fan_speed_'.$home_id.'_'.$zone_id, $_GET['fan_speed']);
   }
   $fan_speed = sdk_get_tado_value('fan_speed', 'MIDDLE', $home_id, $zone_id);
   

   // Swings : swing = ON, OFF
   if ($_GET['swing'] != '')
   {
      saveVariable('swing_'.$home_id.'_'.$zone_id, $_GET['swing']);
   }
   $swing = sdk_get_tado_value('swing', 'OFF', $home_id, $zone_id);

  if ($setpoint_temperature == 0)
   {
      $power = 'OFF';
   }
   else
   {
      $power = 'ON';
   }
   
   if ($zone_mode == 'COOL' || $type == 'AIR_CONDITIONING')
   {
      $json_cooling = ', "fanSpeed" :"'.$fan_speed.'"';
   }
   
  // ## ERROR : Querying [https://my.tado.com/api/v2/homes/557101/zones/1/overlay] with [{"setting": {"type": "AIR_CONDITIONING", "power": "ON", "mode": "HEAT", "temperature": {"celsius": 23}, "fanSpeed" :"AUTO"},"termination": {"type": "MANUAL"}}] {"errors":[{"code":"setting.notSupported","title":"swing not in supported swings [OFF, ON]"}]}
 
  // {"errors":[{"code":"setting.notSupported","title":"swing not allowed in mode HEAT"}]}
 
   if ($zone_mode == 'COOL' || ($type == 'AIR_CONDITIONING' && $zone_mode != 'HEAT'))
   {
      $json_cooling .= ', "swing" :"'.$swing.'"';
   }
   
   /*
      if ($_GET['setpoint_temperature'] != ''  &&  $_GET['setpoint_temperature'] == '7.00')
   {
      saveVariable('setpoint_temperature_'.$home_id.'_'.$zone_id, $_GET['setpoint_temperature']);
   }
   $setpoint_temperature = sdk_get_tado_value('setpoint_temperature', 0, $home_id, $zone_id);*/
   
   
 //$json = '{"setting": {"type": "'.$type.'", "power": "'.$power.'", "mode": "'.$zone_mode.'", "temperature": {"celsius": '.$setpoint_temperature.'}'.$json_cooling.'},"termination": {"type": "MANUAL"}}';
   $json = '{"setting": {"type": "'.$type.'", "power": "'.$power.'", "mode": "'.$zone_mode.'", "temperature": {"celsius": '.$setpoint_temperature.'}'.$json_cooling.'},"termination": {"type": "TIMER","durationInSeconds":60}}';


  $url = $api_url.'api/v2/homes/'.$home_id.'/zones/'.$zone_id.'/overlay';
   $response = sdk_tado_api_call($url, 'PUT', $json);
 
  if (strpos($response, 'errors') !== false)
  {
     echo "## ERROR : Querying [$url] with [$json]\n";
  }
 
  echo $response;
   
   saveVariable('last_xml_success_'.$home_id.'_'.$zone_id, 0);
}

?>
Communication & publicité - Articles sur la dommotique : http://www.milillicuti.com
milillicuti
 
Messages : 394
Inscription : 28 Juin 2013

Re: Thermostat Tado: repasser en mode Automatique

Messagepar Fab_Rice » 11 Jan 2023 12:16

Bonjour,

Perso je gère les Tado depuis eedomus (plus sur la prog Tado), mais ce qu'il serait intéressant d'avoir dans le plugin de base, c'est l'info de "fenêtre ouverte" qui remonte sur mobile, ça serait peut être plus simple non ?
Dire que l'on ne sait pas est une preuve d'intelligence
Eedomus+, Zigate V2, volets Somfy & Bubbendorf, radiateurs en Tado° & fil pilote, gestion chaudière bois/fioul, gestion borne IRVE, gestion piscine ...
Fab_Rice
 
Messages : 817
Inscription : 27 Déc 2020

Re: Thermostat Tado: repasser en mode Automatique

Messagepar milillicuti » 11 Jan 2023 13:46

Oui ce serait plus simple et ça remplacerait même un éventuel capteur d'ouverture !
Mais est-ce que l'API partage l'info ?

Mon souci, dans la gestion 100% eedomus, c'est qu'il me semble qu'on ne peut pas piloter Tado en local... Et là c'est rédhibitoire pour moi.
Communication & publicité - Articles sur la dommotique : http://www.milillicuti.com
milillicuti
 
Messages : 394
Inscription : 28 Juin 2013

Re: Thermostat Tado: repasser en mode Automatique

Messagepar milillicuti » 11 Jan 2023 13:50

J'en profite pour ajouter, hors sujet, que la régulation Tado fonctionne plutôt bien, notamment dans mon cas avec une tête sur chaque radiateur. Je suis content de mon choix :D
Communication & publicité - Articles sur la dommotique : http://www.milillicuti.com
milillicuti
 
Messages : 394
Inscription : 28 Juin 2013

Re: Thermostat Tado: repasser en mode Automatique

Messagepar sammy49 » 11 Jan 2023 22:47

Bonjour, concernant la valeur 26, je l'ai choisi justement car pas utilisée. Voilà ce que j'ai fait:
- Clique dans configuration sur eedomus
- sélectionne l'objet correspondant à la tête thermostatique que tu veux configurer
- clique sur configurer
- selectionne le canal gérant la consigne
- clique sur l'onglet "valeurs" et la ajoute une nouvelle ligne avec les infos suivantes:

- Valeur Brute: 26
- Description: Programme ON
- URL, Type et Paramètres comme les autres valeurs

Ensuite je me suis fait quelques petites règles:
- si fenêtre devient maintenant égale à "ouverte" alors consigne = OFF (valeur brute = 0)
- si fenêtre devient maintenant égale à "fermée" alors consigne = PROGRAMME ON (valeur brute = 26)

La je vais passer dans le script dans la partie que j'ai rajoutée (elseif(($_GET['setpoint_temperature'] == '26.0'))

qui va passer la temperature à 18°C pour 60secondes et ensuite repasser en mode programme automatiquement, ce que l'on cherche à faire.

Voilà, j'espère que ça clarifie ma première explication.
Cordialement,
Dernière édition par sammy49 le 12 Jan 2023 11:43, édité 1 fois.
sammy49
 
Messages : 3
Inscription : 07 Déc 2022

Re: Thermostat Tado: repasser en mode Automatique

Messagepar milillicuti » 12 Jan 2023 10:13

Merci pour ta réponse.

Mon problème avec ton mode opératoire, c’est que, sans condition, les 26 renvoient un message d’erreur car Tado limite à 25.
D’où ma proposition d’avant mais qui est très lourde.
Communication & publicité - Articles sur la dommotique : http://www.milillicuti.com
milillicuti
 
Messages : 394
Inscription : 28 Juin 2013


Retour vers Box eedomus

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 39 invité(s)