Dev

Bonjour, j'utilise depuis une semaine ce code pour afficher ma suivi de conso. 
Je suis avec un abonnement heures creuses et il arrive souvent que sur le graph j'ai une valeur de 0W car pour certains seuil (<~ 180 w) mon compteur envoi une valeur de 0W. 
Pour afficher un graph plus au moins réaliste je recalcule la puissance instantanée avec les valeurs de hchp ou hchc  pour les valeurs a 0W.

Je ne suis pas tres familiaire avec les posts sur github, ceci etant ma premiere donc vous m'excuserez si ceci n'est pas la bonne manière de s'y prendre.

J'ai modifier queries.php pour avoir hchp et hchc. 
Voici la modification dans la fonction daily() du json.php.
```php

$prec_hchp = null;
  $prec_hchc = null;
  $hchp = null;
  $hchc = null;
  $start = 0;
    $row = mysql_data_seek($result, 0); // Revient au début (car on a déjà lu un enreg)
    while ($row = mysql_fetch_array($result))
    {
    	
		if($start == 1){
				if($row["PTEC"]=="HP")
					$prec_hchp=$hchp;
				else {
					if($row["PTEC"]=="HC")
						$prec_hchc=$hchc;
				}
		}
				
        $ts = intval($row["TIMESTAMP"]);
        if ($ts < $timestampdebut2) {
            // Période précédente
            $ts = ( $ts + $periodesecondes ) * 1000; // Avance d'une période

         
            $val = floatval(str_replace(",", ".", $row["PAPP"]));
            
            $hchp = floatval($row["HP"]);
           $hchc = floatval($row["HC"]);
           
			if ($val == 0){
				if($row["PTEC"]=="HP"){
					if($prec_hchp!==null){
						$val = $hchp- $prec_hchp;
					}
				}else {
					if($row["PTEC"]=="HC"){
						if($prec_hchc!==null){
							$val =$hchc -   $prec_hchc;
						}
					}
				}
				
			}
            $array["PREC"][] = array($ts, $val); // php recommande cette syntaxe plutôt que array_push
            if ($courbe_max["PREC"] < $val) {$courbe_max["PREC"] = $val; $courbe_maxdate["PREC"] = $ts;};
            if ($courbe_min["PREC"] > $val) {$courbe_min["PREC"] = $val; $courbe_mindate["PREC"] = $ts;};
			
			
			$start = 1;
        }
        else {
            if($start == 1){
                $prec_hchp = null;
                 $prec_hchc = null;
                    $hchp = null;
                     $hchc = null;
                     $prec_papp = $val;
               }
            if($start == 2){
                if($row["PTEC"]=="HP")
                    $prec_hchp=$hchp;
                else {
                    if($row["PTEC"]=="HC")
                        $prec_hchc=$hchc;
                }
                }
            
            // Période courante
            if ($date_deb==0) {
                $date_deb = $row["TIMESTAMP"];
            }
            $ts = $ts * 1000;

            
        
            $val = floatval(str_replace(",", ".", $row["PAPP"]));
            $curptec = $teleinfo["PTEC"][$row["PTEC"]]; 
            
            /********************************************************************
             * ******************************************************************/
             $hchp = floatval($row["HP"]);
             $hchc = floatval($row["HC"]);
        
            if ($val == 0 ){
                if( $prec_papp!==null){
                      $val = $prec_papp;
                    $prec_papp = null;
                }else{
               if($row["PTEC"]=="HP"){
                    if($prec_hchp!==null){
                        $val = $hchp- $prec_hchp;
                    }
                }else {
                    if($row["PTEC"]=="HC"){
                        if($prec_hchc!==null){
                            $val =$hchc -   $prec_hchc;
                        }
                    }
                 }
            }
              
            }
            
            //changement de phase
           /// modification pour avoir un graph uniform
            if($prec_hchp!==null && $prec_hchc!==null){
                  if($row["PTEC"]=="HP"){
                //  $array["HP"][] = array($ts,$hchp- $prec_hchp);
                $array["HC"][] = array($ts,$val);
                   $prec_hchc=null;   
                }else {
                    if($row["PTEC"]=="HC"){
                         // $array["HP"][] =array($ts, $hchc- $prec_hchc);
                         $array["HP"][] =array($ts, $val);
                           $prec_hchp=null;   
                    }
                }
            }

         $start=2;
            /*********************************************************************************************/

```       

J'ai le même souci avec la gauge, pour ce faire je prend les 2 dernières valeurs (si disponible) et calcul la différence si la puissance est a 0W.

 Bonne continuation