// airtria-charge-session.js — lecture seule : la session de charge EN COURS. // ----------------------------------------------------------------------------- // Réutilise makeClient de concierge-detection.js (rôle airtria_ro, résolution du mot de // passe, PG_BASE) : aucun autre droit, un seul SELECT. Airtria l'appelle via `exec` pour // répondre « combien la voiture a pris cette nuit » sans SUBSTITUER un compteur HA figé // (cf. AGENTS.md §1.7 et §5ter). En cas d'échec : le dire, ne rien inventer. // SQL fourni par EVCS (16/09) ; `dont_reseau = 0` = la voiture ne coûte rien au réseau. // ----------------------------------------------------------------------------- 'use strict'; const { makeClient } = require('./concierge-detection.js'); const SQL = ` SELECT vehicule, round(energie_kwh::numeric, 2) AS kwh_session, round(energie_reseau_kwh::numeric, 2) AS dont_reseau, to_char(debut, 'HH24:MI') AS depuis, source_mode FROM session_charge WHERE NOT terminee ORDER BY debut DESC LIMIT 1`; (async () => { const c = makeClient(); await c.connect(); try { const r = await c.query(SQL); if (!r.rows.length) { console.log('Aucune session de charge en cours.'); return; } const s = r.rows[0]; console.log(`${s.vehicule} : ${s.kwh_session} kWh pris cette session ` + `(dont ${s.dont_reseau} kWh du réseau), depuis ${s.depuis}. Mode : ${s.source_mode}.`); } finally { await c.end(); } })().catch(e => { console.error('[charge-session]', e.message); process.exit(1); });