olimans
21
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
olimans
23
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