Linky compteur

Hello,

J’ai fait un script php à déposer sur un espace d’hebergement (OVH ou autre) et qui remonte la conso de la veille

<?php

$token = "XXXXXX";
$prm = "YYYYYY";
$yesterday = date( 'Y-m-d', strtotime( 'yesterday' ) );
$today = date( 'Y-m-d', strtotime( 'today' ) );

$url = 'https://conso.boris.sh/api/daily_consumption?prm='.$prm.'&start='.$yesterday.'&end='.$today.'';


$options = array('http' => array(
    'method'  => 'GET',
    'header' => "Authorization: Bearer ".$token ,
    			"User-Agent: Homey"
));
$context  = stream_context_create($options);
$response = file_get_contents($url, false, $context);

$data = json_decode($response, true);
$Conso_hier = $data['interval_reading'][0][value];  
$Conso_kW= round($Conso_hier/1000,0);
echo $Conso_kW;
// close curl resource to free up system resources
curl_close($ch);


?>

puis grâce à HTTP Energy Meter Appli pour Homey | Homey il me semble que ca répondrait à la problématique.

NB : Je ne dispose pas encore d’une box Homey, le père noel devrait m’en déposer une j’espère.

1 Like

Voir Linky - Enedis Connect :slightly_smiling_face:

1 Like

Voici la version via Homeyscript basée sur les travaux de Boris.sh

// linky_boris

const options = { year: 'numeric', month: '2-digit', day: '2-digit' };
const locale = 'sv-SE';

// Date d'aujourd'hui
const date1 = new Date();
// Utilisation de toLocaleDateString() pour le formatage YYYY-MM-DD
const today = date1.toLocaleDateString(locale, options);

// Date d'hier
const date2 = new Date(date1);
date2.setDate(date2.getDate() - 1);
const yesterday = date2.toLocaleDateString(locale, options);

const prm = 'xxxxxxx';  //numero de compteur
const url = `https://conso.boris.sh/api/daily_consumption?prm=${prm}&start=${yesterday}&end=${today}`


// Code Bearer obtenu via l'API Enedis
var response = await fetch(url, {
  method: 'get',
  headers: {
    'Authorization': 'Bearer xxxxxxxxxxx',
  },
  
});
//Recuperation JSON
let data = await response.json(); 
//Extraction de la Conso
let conso = data['interval_reading'][0]['value'];

return Number(conso);

Le script retourne la conso élec de J-1. La valeur peut être reprise ensuite dans un flow.

Les valeurs prm et bearer sont à récupérer sur le site Boris.sh après inscription