Guichet d'ordres : Airtria demande, ce service decide et applique
Valide separement par le proprietaire le 16/09, comme la session OpenClaw et moi l'avions demande : c'est la premiere fois qu'une reponse WhatsApp touche au PILOTAGE et non a une etiquette consultative. ⚠️ LA LISTE BLANCHE EST DANS LE SERVICE, JAMAIS CHEZ L'AGENT — moindre privilege : il demande, il ne decide pas de ce qui est demandable. Six ordres admis : p12, p9, hc_nuit, strategie, vehicule, plafond_edf (borne 6-28). Les options d'un input_select sont lues EN DIRECT sur l'entite, jamais codees en dur : ZERO sera consomme sans modification quand la moto reviendra. ⚠️ HORS LISTE DEFINITIVEMENT : le contacteur EDF, les limites DVCC, la consigne de puissance reseau, les planchers SOC de securite — exactement ceux qui peuvent vider la batterie sous son plancher, la gaver sur le reseau, ou evincer le solaire une journee entiere. Garde supplementaire : un ordre de pilotage exige un canal HUMAIN. Une regle qui deduit « il faudrait activer P12 » n'a rien a faire ici — c'est une decision, pas une observation. Interrupteur DISTINCT de celui du concierge (input_boolean.airtria_ordres_enabled, a OFF), pour que couper le pilotage ne coupe pas l'etiquetage des vehicules. Il gate l'ECRITURE, pas la lecture : a OFF le service journalise ce qu'il aurait fait, ce qui permet d'eprouver la chaine avant qu'elle ne compte. NEUF ESSAIS, tous verifies. Refuses : ordre edf, dvcc, consigne_reseau, soc_stop_min (hors liste) · source regle-puissance (canal non humain) · plafond 45 A (hors bornes) · strategie « turbo » et vehicule « MEGANE » (absents des options, listees en direct). Applique : plafond_edf 28 -> 20, journalise avec l'etat anterieur ; rejeu du MEME confirmed_at -> ordre=0, rien ; nouveau confirmed_at -> restauration a 28. P12 intact tout du long. ⚠️ DEFAUT TROUVE EN EPROUVANT CECI : le mode --once n'appelait pas assurerConnexion(). Une base absente au demarrage lui donnait client = null, donc un TypeError au lieu d'un message clair. Trouve sur un simple mauvais numero de port. Corrige. Carte « Agents & surveillance » completee : le guichet et son dernier ordre, a cote du concierge et de l'etat du service. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
54
packages/airtria_ordres.yaml
Executable file
54
packages/airtria_ordres.yaml
Executable file
@@ -0,0 +1,54 @@
|
||||
# Guichet d'ordres — l'agent Airtria (OpenClaw) demande, le service applique
|
||||
#
|
||||
# Cree le 16/09/2026, sur validation EXPLICITE et SEPAREE du proprietaire.
|
||||
#
|
||||
# ⚠️ CE PAQUET EST D'UNE AUTRE NATURE QUE `airtria_concierge.yaml`.
|
||||
# Le concierge pose une ETIQUETTE consultative sur des sessions passees. Ici,
|
||||
# une reponse WhatsApp touche au PILOTAGE : P12, P9, la strategie, le plafond de
|
||||
# courant. C'est la premiere fois qu'une ecriture d'Airtria influence une
|
||||
# decision d'energie, et c'est pourquoi le proprietaire l'a validee a part,
|
||||
# plutot que fondue dans l'accord general sur le perimetre.
|
||||
#
|
||||
# ⚠️ LA LISTE BLANCHE N'EST PAS ICI. Elle est tenue dans le service
|
||||
# d'historisation (tools/historise-evcs.mjs, constante ORDRES), et c'est
|
||||
# delibere : Airtria ne doit jamais la detenir — moindre privilege. Il demande,
|
||||
# il ne decide pas de ce qui est demandable. Tout ordre hors liste est refuse et
|
||||
# journalise.
|
||||
#
|
||||
# ⚠️ CE QUI N'EST PAS DEMANDABLE, ET NE LE SERA PAS : le contacteur
|
||||
# `switch.edf_general_ok_switch`, les limites DVCC de l'Auto Charge Manager, la
|
||||
# consigne de puissance reseau, et les planchers SOC de securite. Ce sont
|
||||
# exactement ceux qui peuvent vider la batterie sous son plancher, la gaver sur
|
||||
# le reseau, ou evincer le solaire une journee entiere.
|
||||
|
||||
input_boolean:
|
||||
# Kill-switch PROPRE au guichet, distinct de celui du concierge.
|
||||
# Le proprietaire doit pouvoir couper le pilotage sans couper l'etiquetage des
|
||||
# vehicules : deux rayons d'action tres differents, deux interrupteurs.
|
||||
# Pas d'`initial:` — il desactiverait la restauration d'etat et remettrait la
|
||||
# valeur a chaque demarrage (piege corrige le 06/09 sur cinq helpers).
|
||||
airtria_ordres_enabled:
|
||||
name: Airtria - Appliquer les ordres de pilotage
|
||||
icon: mdi:remote
|
||||
|
||||
input_text:
|
||||
# Un ordre, en JSON, atomique :
|
||||
#
|
||||
# {"ordre":"p12","valeur":"on",
|
||||
# "confirmed_at":"2026-09-16T05:20:00.000Z","source":"whatsapp"}
|
||||
#
|
||||
# `confirmed_at` est l'horodatage de LA VALEUR, jamais du run de l'agent, et
|
||||
# il sert de clef d'idempotence : le service ne rejoue pas un ordre deja
|
||||
# applique. Airtria ne le reutilise jamais d'un ordre a l'autre.
|
||||
#
|
||||
# `source` doit etre un canal HUMAIN. Un ordre de pilotage deduit par une
|
||||
# regle n'a pas de sens : seule une personne decide de changer une strategie.
|
||||
#
|
||||
# `max: 255` EXPLICITE. Le defaut de Home Assistant est 100, et un texte trop
|
||||
# long est rejete EN SILENCE — le 08/09, un helper declare a 32 avalait les
|
||||
# messages d'erreur de 43 caracteres, quatre heures quarante-cinq de panne
|
||||
# sans une trace.
|
||||
airtria_ordre:
|
||||
name: Airtria - Ordre de pilotage demande
|
||||
max: 255
|
||||
icon: mdi:gesture-tap-button
|
||||
Reference in New Issue
Block a user