workspace: rapport solaire, prevision de nuit, concierge, courrier, fiche allegee

- Fiche agent maison (AGENTS.md) : prevision de nuit relayee par script, import
  EDF, regle JEEP midi, saisie vehicule/niveau/depart, concierge qui relaie
  « ✅ Noté » ou « Rien n'est noté », groupe A deplace (28 649 -> 25 831 car.).
- Nouvelles references : reference-concierge.md, reference-workspace.md.
- Scripts : rapport-solaire.js, prevision-nuit.js, airtria-ha-vehicule.js,
  concierge-live.js (answer ne sort plus jamais vide, mode CONCIERGE_SIMULATION).
- Courrier Orange / AIRTRIA / Gmail : audits, regles, menage, recents.
- Bancs EVCS tests-pv (G5 accepte « anomal »).
- .gitignore : liste blanche etendue aux nouveaux scripts et bancs.
This commit is contained in:
2026-09-30 11:32:44 +02:00
parent 973a736bc2
commit f121f0a196
37 changed files with 4030 additions and 328 deletions

View File

@@ -0,0 +1,86 @@
# Référence — Bourse
(Déplacé d’AGENTS.md le 26/09/2026 pour tenir sous le plafond de la fiche. Contenu identique, lu à la demande.)
## 3. Bourse
> ⚠️ OBSOLÈTES, ne plus jamais utiliser : `generate_chart.py`, `get_quote.py`,
> `clean_bourse_md.py`, `orange-bourse.md`. Toute la bourse passe par N8N.
### 3.1 Principe
Tu es l'INTERLOCUTEUR, N8N est l'EXÉCUTANT. Demande humaine → appel du webhook →
PNG en retour → tu l'envoies. Aucune donnée n'est stockée à la main : N8N récupère
les cours en direct de Yahoo Finance.
### 3.2 Source de vérité : `bourse-config.json`
`/home/node/.openclaw/workspace/bourse-config.json` contient la watchlist, les options
par défaut, et la liste `close_bilan.images` du bilan de clôture.
**Tu PEUX et tu DOIS éditer ce fichier** quand l'humain demande d'ajouter ou de retirer
une valeur ou un graphe. C'est le seul endroit où cette liste existe.
### 3.3 Webhook graphe — le seul outil bourse autorisé
- URL : `https://n8n.airtria.pro/webhook/bourse-graphe` — **POST uniquement** (un GET renvoie 404).
- Workflow N8N id : `4bluZIeN3TnbzIrv` (« Bourse — Graphe multi-tickers (v3) »).
- Retour : un PNG prêt à envoyer.
```bash
curl -s -X POST "https://n8n.airtria.pro/webhook/bourse-graphe" \
-H "Content-Type: application/json" \
-d '{"tickers":["ORA.PA","TTE.PA"],"range":"5d","interval":"60m","beginAtZero":true}' \
-o /home/node/.openclaw/workspace/charts/bourse.png
```
Body JSON, tous les champs optionnels :
- `tickers` : symboles Yahoo (défaut : lus dans `bourse-config.json`)
- `range` : `1d`,`5d`,`1mo`,`3mo`,`6mo`,`1y` (défaut `5d`)
- `interval` : `15m`,`60m`,`1d` (défaut `60m`)
- `beginAtZero` : `true` = axe Y depuis 0 ; `false` = zoom sur les variations
- `title` : titre du graphe
⚠️ Il n'existe **aucun paramètre de normalisation/rebase**. Tracer deux titres de
prix très différents (ex. NVDA ~250 $ et ORA.PA ~18 €) sur un même graphe donne une
courbe écrasée et illisible : faire un graphe par titre.
### 3.4 Prix chiffré rapide, sans graphe
```bash
curl -fs "https://query1.finance.yahoo.com/v8/finance/chart/SYMBOLE?interval=1d&range=1d" \
| jq '.chart.result[0].meta | {price: .regularMarketPrice, prev: .chartPreviousClose, currency}'
```
### 3.5 Mapping demande → action
| Demande | Action |
|---|---|
| « montre-moi Orange » | POST webhook avec `tickers=["ORA.PA"]` |
| « ajoute Total / Nvidia » | éditer `bourse-config.json`, puis POST avec la nouvelle liste |
| « retire tel graphe du bilan » | éditer `close_bilan.images` dans `bourse-config.json` |
| « fais commencer le graphe à 0 » | POST avec `beginAtZero:true` (+ mettre à jour les defaults) |
| « zoome sur les variations » | POST avec `beginAtZero:false` |
| « le cours d'Orange aujourd'hui » | POST avec `range="1d"`, `interval="15m"` |
| « Anthropic » | non cotée en bourse → le dire, ne pas inventer de ticker |
### 3.6 Règles
1. Ne pas réinventer un script Python de graphe : le webhook fait tout.
2. Tickers Yahoo : actions FR = suffixe `.PA` (ORA.PA, TTE.PA) ; US = sans suffixe (NVDA, AAPL).
3. PNG « Aucune donnée » = marché fermé ou ticker invalide → le dire, **ne jamais inventer un cours**.
4. Réponse bourse : **3 lignes maximum** + le PNG en pièce jointe. Format : `ORA.PA : 16,89€ (-0,68%)`.
Pas de tableau, pas de description longue.
5. Nouveau comportement de graphe impossible avec le workflow actuel → il peut être modifié
via le MCP `n8n-mcp` (`update_workflow`), workflow id `4bluZIeN3TnbzIrv`.
Node JS « Fetch + Build QuickChart » = logique fetch + rendu (QuickChart `version:"4"`).
### 3.7 Cron de clôture
`orange-cloture`, `40 17 * * 1-5` Europe/Paris. Il lit `close_bilan.images`, appelle le
webhook une fois par entrée, valide par `du -b` et envoie sur WhatsApp.
Son prompt est stocké dans le job cron, pas ici : pour changer son comportement,
c'est `openclaw cron edit`, pas ce fichier.
---