Cette page est une référence d'écran. Pour les concepts (régulation PV, chaîne parent/enfant, sécurité thermique), voir le guide thématique. Les valeurs se règlent dans l'interface web embarquée du module, servie sur son adresse locale.
Conventions de lecture
Le id est l'identifiant technique du champ (utile au support). Modifier un champ ne change la valeur qu'en mémoire : tant que vous n'avez pas cliqué un bouton Sauvegarder, rien n'est écrit — un redémarrage perdrait la modification. Un indicateur « modifications non enregistrées » s'allume dès qu'un champ est touché.
Badges utilisés dans l'interface
Immédiat appliqué à chaud Reboot effectif au prochain démarrage non testé fonction désactivée conditionnel visible selon le matériel
Éléments communs à toutes les pages
La barre latérale, la barre du haut et le pied de page sont identiques partout (sauf en mode point d'accès). Ils ne sont pas redécrits dans chaque écran.
Barre latérale (menu)
| Élément | Rôle |
|---|---|
| Watt-Modulator | Lien vers la racine / (tableau de bord). |
| Bloc d'état | Version du firmware, SSID Wi-Fi, signal RSSI en dBm — rafraîchis en continu depuis /state. |
| Modulator · Broker MQTT · Minuteur · Statistiques · Sauvegardes | Accès aux pages de réglage. |
| Informations · Debug · Console logs | Diagnostic. |
| Reboot | Appelle /reboot : redémarrage immédiat. |
Barre du haut & pied de page
En haut : un bandeau d'état global (vert = normal, orange = partiel, rouge = erreur) et l'horloge locale. En bas : lien vers le site et l'année.
Écran « Configuration »
Accès : menu › Modulator. Règle la sécurité thermique, la plage de puissance, le type de charge, la chaîne parent/enfant, le mode de pilotage, le boost, les sondes, l'heure (NTP) et la langue.
Mode point d'accès. Tant que le module n'est pas connecté au Wi-Fi, cette page redirige vers l'écran Wi-Fi (on configure d'abord le réseau).
Carte « Gestion de la température » 🌡
La sonde coupe le dimmer dès Température max et ne le redémarre que sous (MaxTemp − Trigger %).
| Champ (id) | Type | Plage | Défaut | Rôle |
|---|---|---|---|---|
| Température max (°C) — maxtemp | nombre | 0–80 | 65 | Au-delà, le dimmer est coupé immédiatement. Ex. 65 °C ECS, 32 °C piscine. |
| Trigger / Hystérésis (%) — trigger | nombre | 1–50 | 10 | Redémarre quand T < (MaxTemp − Trigger %). Ex. 65 °C / 10 % → 58,5 °C. Évite le yo-yo ON/OFF. |
Alerte. Si maxtemp = 0, un bandeau rouge prévient : le dimmer resterait coupé en permanence. Mettre une valeur réaliste.
Carte « Gestion de la puissance » 🔌
| Champ (id) | Type | Plage | Défaut | Rôle |
|---|---|---|---|---|
| Min Power (%) — minpow | nombre | 0–100 | 0 | En dessous, le dimmer s'éteint. Ex. 5 % — évite les micro-puissances où le triac ne conduit pas. |
| Max Power (%) — maxpow | nombre | 1–100 | 100 | Plafond de puissance. Ex. 80 % — protège une résistance. |
| Puissance au démarrage (%) — startingpow | nombre | 0–100 | 0 | Plancher à la 1ʳᵉ commande (« coup de pouce »). |
| État au démarrage — dimmer_on_off | liste | Actif / Inactif | Actif | Inactif = refuse toute commande au boot (maintenance). |
Conditionnel. « État au démarrage » est désactivé tant qu'aucune sonde n'est affectée au dimmer (voir Sondes › Affectation).
Carte « Appareil et Charge » 🔌
| Champ (id) | Type | Valeurs | Rôle |
|---|---|---|---|
| Type d'appareil — device_type | liste | Ballon ECS · Piscine · Chauffage · VMC · Recharge VE · Générique | Adapte les libellés et l'aide. « Piscine » renomme le champ ci-dessous et rappelle la sonde obligatoire. |
| Puissance de la charge (W) — charge1 | nombre | ≥ 0 (ex. 1000) | Puissance de la résistance / du réchauffeur sur la sortie dimmer. |
Carte « Dimmer enfant (child) » 🗺
Chaîne un second dimmer (architecture parent → enfant).
| Élément (id) | Type | Rôle |
|---|---|---|
| Dimmer enfant IP / Hostname — child | texte | none ou IP/hostname. Un lien http://<enfant> s'affiche dès qu'une valeur valide est saisie. |
| Bouton Rechercher | bouton | Découverte mDNS (/scandimmers). Résultats en badges cliquables. conditionnel caché sur ESP8266 (mDNS off → saisie manuelle). |
| Mode de répartition — delester | liste | Désactivé · Délester (surplus → enfant) · Égal (même consigne). |
| Bypass auto si ZC perdu — bypass_on_zc_loss | case | Si le zero-cross local disparaît : sortie locale à 0 W et toute la puissance transmise à l'enfant. La chaîne survit à une panne du matériel local. |
| Délai d'entrée / sortie (s) — bypass_zc_enter_s / bypass_zc_exit_s | nombre | Temporisations avant d'activer (5–600 s, déf. 30) puis de quitter (3–600 s, déf. 10) le bypass. |
Carte « Mode de fonctionnement » 📡
| Élément (id) | Type | Rôle |
|---|---|---|
| Mode autonome — mode_pilotage_autonome | radio | Par défaut. Piloté en HTTP par un Guardian, ou manuellement. |
| Mode piloté MQTT — mode_pilotage_mqtt | radio | non testé Désactivé. Recevrait la consigne via MQTT. |
| Source PV — SubscribePV + bouton Découvrir | texte | conditionnel visible en mode MQTT seulement. Topic publiant {"power": X} ; le bouton découvre les Guardians (/scanpvsources). |
Carte « Boost (marche forcée) » 🔥
Force la chauffe à pleine puissance pendant une durée, en ignorant la régulation PV.
| Champ (id) | Type | Plage | Défaut | Rôle |
|---|---|---|---|---|
| Température max (°C) — boost_temp | nombre | 0–80 | 60 | Sécurité thermique pendant le boost. |
| Puissance (%) — boost_power | nombre | 1–100 | 100 | Niveau forcé. |
| Durée (minutes) — boost_duration | nombre | 5–480 | 60 | Durée. Un libellé HH:MM se met à jour en direct. |
Alerte. boost_temp = 0 désactive la sécurité température pendant la marche forcée.
Carte « Sonde de température » 🌡
Bouton d'en-tête Rechercher : scan du bus OneWire (/scandallas).
Sondes locales (Dallas) — la liste affiche les sondes détectées (badge « maître ») ; DALLAS reçoit l'adresse ROM 16 hex (un clic sur une sonde la remplit).
Sondes distantes (MQTT) — 3 slots indépendants SubscribeTEMP1/2/3 ; bouton Découvrir (/scantempprobes).
Affectation par device — chaque organe reçoit sa sonde :
| Champ (id) | Valeurs | Rôle |
|---|---|---|
| Sonde du dimmer — dallas_dimmer | (aucune) · sondes locales · MQTT1/2/3 | Protège le dimmer. « (aucune) » désactive le cap thermique et l'activation. |
| Sonde relais 1 / 2 — dallas_relay1 / dallas_relay2 | idem | Sécurité des relais ; à défaut, la sonde maître est utilisée. |
Toute modification d'affectation est enregistrée immédiatement. Alertes possibles : sonde réutilisée par plusieurs devices, ou aucune sonde affectée.
Cartes « NTP & fuseau » 🕐 et « Langue » 🌐
| Élément (id) | Rôle |
|---|---|
| Serveur NTP — ntp_server + bouton Tester | Adresse du serveur de temps ; le bouton vérifie la synchro (/testntp). |
| Fuseau horaire — ntp_timezone | Liste mondiale ; gère l'heure d'été automatiquement. |
| Langue — lang | FR · EN · ES · IT · DE. Changement immédiat sur la page courante. |
Le bouton vert Sauvegarder et Appliquer envoie tous les champs, écrit en flash, republie l'auto-découverte MQTT et applique le NTP. Il ne couvre pas les cartes GPIO et Cloud, qui ont leur propre bouton.
Cartes « GPIO » 🔧 et « Relais cloud » ☁
La carte GPIO (repliable) réaffecte les broches. Chacune montre sa valeur compilée par défaut.
| Champ (id) | Plage | Effet |
|---|---|---|
| Bus OneWire — gpio_one_wire | 0–40 | Réinitialise la détection des sondes. Immédiat |
| Dimmer / Zero-cross / Relais 1-2 / Ventilateur | 0–40 | Broches de commande. Reboot |
| OLED SDA / SCL — gpio_oled_* | 0–48 | conditionnel si écran OLED (ESP32). Reboot |
| Résolution Dallas — gpio_temp_precision | 9–12 bits | Précision / temps de conversion. Reboot |
Relais cloud (ESP32 uniquement). Masquée par défaut, elle n'apparaît que si le firmware l'expose. Active l'envoi périodique d'un instantané chiffré (lecture seule, zero-knowledge) au relais cloud, pour la consultation à distance via l'app. Désactivée par défaut.
Données dynamiques & pièges
/stateest interrogé toutes les 5 s (état dimmer, température, puissance, sondes, capacité mDNS) ;/configpré-remplit les champs au chargement.- ESP8266 : boutons de découverte masqués (mDNS off), carte Cloud absente. Le mode MQTT est volontairement désactivé. Les scans sont différés (déclenchement puis sondage du résultat).
Écran « Tableau de bord »
Accès : racine / (index.html) une fois le module connecté au Wi-Fi. Vue de supervision rafraîchie depuis /state toutes les 5 s (plus /chain toutes les 30 s et /history toutes les 5 min). Tout y est en lecture seule, sauf la carte « Commandes ».
Badges masqués (FS47). Les badges d'en-tête (mode, état, master…) et la rangée de badges système (Wi-Fi, MQTT, NTP, heap…) sont volontairement masqués : l'information est reportée dans les cartes ci-dessous (Puissance, Température, Pilotage, Commandes…). Le code qui les alimente reste actif.
| Carte (id) | Affiche | Comportement |
|---|---|---|
| Architecture — arch-container | Schéma dynamique Source PV → ce module → dimmer(s) enfant(s). | Source en MQTT ou HTTP ; flèches étiquetées du mode de chaînage (déleste / égal / off) ; chaque nœud montre puissance, température et charge. Construit depuis /state + /chain. |
| Puissance routée — g-pct / g-watt | Consigne en % et en W, jauge. | Un badge g-bridle-badge « Limité » (en watts) et un trait orange g-bridle-mark apparaissent quand maxpow < 100 %. |
| Température — g-temp | Température de la sonde du dimmer (°C) + source (local 📍 / MQTT ⚡). | Trait orange à la consigne maxtemp. Affiche « Sonde requise » si aucune source, « Sonde perdue » si la valeur sentinelle 99,9 °C remonte. |
| Pilotage — master-badge / master-ip | État de l'asservissement par un master HTTP. | 4 états selon master_age_s : Standalone · Piloté actif (<5 s) · Master silencieux (<30 s) · Master attendu (<120 s) · Master perdu (>120 s). |
| Watchdog master — watchdog-rem / watchdog-bar | Compte à rebours (120 s) avant coupure de sécurité. | Vert → orange → rouge à l'approche du timeout ; signale « dimmer coupé » si le watchdog s'est déclenché. |
| Sondes Dallas — dallas-list | Une vignette par sonde (température + adresse, badge « maître »). | conditionnel la carte dallas-detail n'apparaît que si au moins une sonde est détectée. |
| Zero-Cross — zc-card | Fréquence secteur détectée (Hz). | conditionnel visible uniquement sur ESP32 avec détection zéro-passage (/state.zc=true). Rouge si aucun front détecté. |
| Historique — hist-card | Courbe puissance + température sur la journée, total kWh. | conditionnel ESP32 seulement (/history). Masquée sur ESP8266 (pas de données). |
La carte Commandes (commands-card-row) regroupe les actions directes :
| Bouton (id) | Endpoint | Rôle |
|---|---|---|
| ON / OFF — btn-onoff | /onoff | Bascule la sortie dimmer. conditionnel grisé « (sonde requise) » si aucune sonde n'est affectée au dimmer. |
| Boost — btn-boost | /boost | Lance / arrête la marche forcée (décompte affiché). conditionnel désactivé si le boost n'est pas configuré ou sans sonde. |
| Relais 1 / 2 — btn-relay1 / btn-relay2 | /get?relay1=2 · /get?relay2=2 | Bascule le relais. conditionnel masqué tant qu'aucune sonde n'est affectée au relais (dallas_relay1/2). |
Les badges cmd-bdg-boost et cmd-bdg-minuteur de cette carte montrent le boost en cours et le minuteur programmé.
Écran « Mode point d'accès » (onboarding Wi-Fi)
Accès : à la première mise sous tension (ou après un factory reset), le module démarre en point d'accès WATT-… et n'a pas d'accès Internet. La racine sert alors l'écran d'accueil dédié wifi-ap.html (mise en page autonome, sans barre latérale ; en mode AP, config.html redirige vers cet écran). Bascule de langue FR / EN en bas.
| Champ (id) | Type | Plage | Rôle |
|---|---|---|---|
| Réseau Wi-Fi — ssidSelect | liste | — | Réseaux détectés au scan (scanwifi), triés par signal, avec cadenas et barres de force. Dernière option : « Réseau caché ». |
| Re-scanner — rescanBtn | bouton | — | Relance scanwifi et repeint la liste. |
| Nom du réseau (SSID) — ssidManual | texte | max 31 | conditionnel apparaît seulement quand « Réseau caché » est choisi. |
| Signal — signalRow | indicateur | — | Force (Excellent / Bon / Moyen / Faible) + dBm + cadenas Sécurisé/Ouvert du réseau choisi. |
| Mot de passe — password | mot de passe | max 63 | Clé Wi-Fi. Bouton œil togglePwdBtn pour afficher/masquer. |
| Connecter et redémarrer — submitBtn | submit | — | Envoie savewifi?ssid=&password= puis affiche l'écran de redémarrage (rebootOverlay). |
L'en-tête affiche l'identité du produit (productName, serial, version) lue depuis getwifi.
Mini tableau de bord AP (index-AP.html). Une fois en AP, un tableau de bord minimal peut être servi : deux cartes state (puissance) et sigma (température) rafraîchies via /state toutes les 2 s, plus un lien vers la configuration. Si la connexion échoue, le module revient de lui-même en point d'accès après quelques minutes.
Écran « Broker MQTT »
Accès : menu › Broker MQTT. Un bandeau d'état (brokerStatusBar) reste visible en haut : non testé / connecté / non connecté. /getmqtt pré-remplit les champs.
| Champ (id) | Type | Défaut | Rôle |
|---|---|---|---|
| Serveur — server | texte | — | IP ou hostname du broker (ex. 192.168.1.40). 15 caractères max. |
| Port — port | nombre | 1883 | Port du broker (non chiffré par défaut). |
| Utilisateur — user | texte | (vide) | Optionnel — vide si pas d'authentification. |
| Mot de passe — password | mot de passe | (vide) | Optionnel. |
| Activer Home Assistant — ha_enabled | interrupteur | selon firmware | conditionnel la carte ha-card-row n'apparaît que si le firmware est compilé avec le support HA (/state.ha=true). Publie les topics d'auto-découverte. |
Bouton Tester (btnTest → /testmqtt?hostname=&port=) : le test TCP est différé (réponse « pending » puis re-sondage ~6 s plus tard sur ESP8266), sans sauvegarder. Bouton Sauvegarder et Appliquer (btnSave → /applymqtt) : enregistre et reconnecte Immédiat sans reboot. Toute modification du serveur ou du port repasse le bandeau en « non testé ».
Topics publiés : SolarMeshLabs/Watt-Modulator/<id>/…
Écran « Minuteur »
Accès : menu › Minuteur. Programme un appoint horaire (plages de marche) pour le dimmer et les deux relais. L'heure courante est affichée (heure). Trois onglets : Dimmer, Relais 1, Relais 2.
Gamme PRO requise. conditionnel si le module est en gamme basic (/state.tier), le contenu est masqué et un bandeau m_upgrade_banner invite à activer une licence PRO depuis le Watt-Guardian.
| Champ (id) | Type | Plage | Rôle |
|---|---|---|---|
| Démarrage / Arrêt — heure_demarrage_* / heure_arret_* | heure | HH:MM | Plage de marche. La durée est calculée en direct (duree_*) avec alerte « arrêt le lendemain » si la plage chevauche minuit. Vide / 00:00 = non programmé. |
| Température max (°C) — temperature_* | nombre | 0–80 | Consigne de sécurité haute température pendant la plage. |
| Puissance (%) — puissance_dimmer | nombre | 0–100 | Onglet Dimmer uniquement : niveau forcé pendant la plage. |
Boutons par onglet : Appliquer (/setminuteur?<dimmer|relay1|relay2> avec heure_demarrage, heure_arret, temperature [+ puissance]) et Réinitialiser (renvoie 00:00). Chargement via /getminuteur?<cible>.
Consigne à 0 °C. Dimmer : un bandeau rouge (warn-temp-dimmer) prévient que le dimmer resterait coupé en permanence. Relais : un bandeau jaune (warn-temp-relayN) signale que la sécurité température est désactivée. Sans sonde affectée, le programmateur horaire fonctionne toujours, mais la sécurité haute température et le pilotage par seuil deviennent inopérants (avertissement injecté par device).
Écran « Relais » (pilotage par seuil)
Accès : écran de configuration des relais (relai.html). Définit, pour chaque relais, des seuils de puissance et une température de consigne — complémentaire du minuteur, qui est horaire. Deux onglets : Relais 1 et Relais 2.
| Champ (id) | Type | Plage | Rôle |
|---|---|---|---|
| Seuil de démarrage (%) — seuil_demarrage_relayN | nombre | % de puissance | Au-dessus de ce niveau de routage, le relais s'enclenche. |
| Seuil d'arrêt (%) — seuil_arret_relayN | nombre | % de puissance | En dessous, le relais se coupe (hystérésis). |
| Température de consigne (°C) — temperature_relayN | nombre | 0–80 | Coupe le relais au-delà de la consigne. |
Le bouton Application des paramètres (submit) envoie /setseuil?<relay1|relay2> avec seuil_demarrage, seuil_arret et temperature ; les valeurs sont relues via /getseuil?<relayN>.
Consigne à 0 °C. Un bandeau jaune (warn-temp-relayN) prévient que la sécurité température est désactivée : le relais est alors piloté uniquement par le seuil de puissance.
Écran « Statistiques »
Accès : menu › Statistiques. Vue temps réel + cumul du jour, calculés côté navigateur (localStorage, remise à zéro à minuit) — aucun surcoût mémoire sur le module. Lecture seule, /state toutes les 5 s.
| Section / carte (id) | Affiche |
|---|---|
| Bilan du jour | kWh routés kpi-kwh, CO₂ évité kpi-co2 (+ km kpi-km), économies kpi-eur (tarif 0,26 €/kWh), pic du jour kpi-peak + heure kpi-peak-time. |
| Régulation 60 s | Puissance routée live-pow (courbe + min/moy/max) et stabilité de consigne stab-pct / stab-bar + nombre de transitions cycles-cnt. |
| Distribution consigne 60 s | Histogramme distrib-svg des consignes (alerte « souvent à 100 % » / « souvent au plancher »). |
| Pilotage & sécurité | Indicateur Master 4 états m-badge / m-ip et bridage maxpow b-pct / b-msg. |
À savoir. Les cumuls sont remis à zéro à minuit et ne sont pas persistés sur le long terme côté module ; ils vivent dans le navigateur qui affiche la page.
Écran « Sauvegardes »
Accès : menu › Sauvegardes. Trois zones : fichier local, broker MQTT, et zone dangereuse.
Carte « Sauvegarde sur fichier »
| Bouton (id) | Endpoint | Rôle |
|---|---|---|
| Télécharger la sauvegarde — backup | /config/export | Génère un JSON (config, mqtt, minuteurs dimmer + relais) nommé AAAA-MM-JJ-…-<nom>.json. |
| Restaurer depuis un fichier — restoreFile | POST /config/import | Charge un JSON local (avec son _device_token d'origine) ; redémarrage avec compte à rebours (8 s) puis redirection. |
Carte « Sauvegarde MQTT »
Statut mqttStatusBadge (Connecté / Déconnecté) et date mqttLastBackup via /mqttbackup/status (rafraîchi 10 s). conditionnel les boutons sont désactivés tant que le broker n'est pas connecté.
| Élément (id) | Endpoint | Rôle |
|---|---|---|
| Sauvegarde auto — mqttAutoToggle | /get?mqtt_backup=&save=1 | Publie (retain) la config au boot et à chaque reconnexion, et la restaure si manquante. |
| Sauvegarder vers MQTT — mqttPush | /mqttbackup/push | Publie immédiatement la config sur le broker. |
| Restaurer depuis MQTT — mqttPull | /mqttbackup/pull | Récupère la config ; si restaurée, reboot automatique avec compte à rebours. |
Carte « Zone dangereuse »
| Bouton (id) | Endpoint | Rôle |
|---|---|---|
| Reset config (garde WiFi) — eraseBtn | /config/erase | Efface la config mais garde le Wi-Fi — l'appareil reste joignable après reboot. |
| Factory reset (efface tout) — eraseAllBtn | /config/erase?all=1 | Efface tout, Wi-Fi compris — reboot en mode point d'accès. |
Irréversible. Les deux effacements demandent une confirmation puis redémarrent le module. Après un factory reset, il faut repasser par l'écran de point d'accès.
Écran « Informations système »
Accès : menu › Informations système. Tableaux lus via /info (rafraîchis toutes les 5 s), regroupés en cartes :
| Carte | Champs (ids préfixés i_) |
|---|---|
| Identité | i_name, i_board, i_fw (BUILD_FW), i_fs_build (BUILD_FS + badge ⚠ si FW/FS désynchronisés), i_release + bouton de mise à jour OTA. |
| Matériel | i_chip, i_cores, i_freq, i_flash, i_mac. |
| Mémoire | i_heap, i_maxalloc, i_frag, i_fs (utilisé / total). |
| Réseau | i_netmode, i_ssid, i_rssi, i_ip, i_gw. |
| Dimmer | i_dpower (%), i_dtemp (°C), i_dboost (point vert/rouge). |
| MQTT | i_mqbroker, i_mqconn, i_mqha. |
| Système | i_uptime, i_reset (cause du dernier reset). |
Mise à jour (modale OTA). Le bouton btn.ota_check ouvre la modale otaModal : préflight (/ota/preflight), vérification du manifest GitHub (/ota/check), puis états disponible / en cours / succès / à jour / erreur. Le lancement ota-btn-apply appelle POST /ota/apply et suit l'avancement via /ota/status et les évènements SSE ota_status. Compte à rebours 180 s. Penser à vider le cache du navigateur après une MAJ.
Écran « Debug forensic »
Accès : menu › Debug. Page de diagnostic avancée. Bouton Refresh et case auto 10 s (autoRefresh) ; les lectures sont échelonnées (1,5 s d'écart) pour ménager la mémoire ESP8266.
| Carte | Endpoint | Contenu |
|---|---|---|
| Reboot précédent | /debug/boot | Numéro de reboot (b_count), dernier uptime, reset code, âge loop (+ ⚠ si stall), heap/maxBlk précédents. |
| Heap now + deltas | /debug/heap | Free, max alloc, min historique, deltas 1 h / 6 h / 12 h, sparkline (free + max block). |
| Zero-Cross | /state · /zc_reset | conditionnel ESP32 seulement : fréquence, état, pulses 5 min, bouton Re-tester. |
| Event ring buffer | /debug/ring?n= | Derniers N évènements (r_n, filtre niveau r_lvl), colorés par sévérité ; total depuis le boot. |
Écran « Console logs »
Accès : menu › Console logs. Flux de logs en direct (logContainer), interrogé toutes les 2 s via /cs?c2=<id>. Format structuré : [HH:MM:SS][NIV][TAG] message, colorisé par niveau.
| Contrôle (id) | Rôle |
|---|---|
| Filtres niveau — badge-filter | TOUT / INF / WRN / ERR / DBG : masque les lignes hors du niveau choisi. |
| Auto-scroll — scrollBtn | Suit automatiquement le bas du flux (bascule ON/OFF). |
| Pause — pauseBtn | Gèle l'arrivée des nouvelles lignes (la pastille pollDot passe à l'orange). |
| Vider | Efface l'affichage local (clearLog). |
| log.txt | Télécharge le journal brut (/log.txt). |
ESP8266. Le ring buffer est très petit : seuls les évènements BOOT, WRN et ERR y sont conservés (les INF / DBG ne sortent que sur le port série à 115200). Pour un diagnostic détaillé, brancher le port USB.
À retenir. Le Watt-Modulator route le surplus PV vers une charge (résistance, réchauffeur…) via un dimmer, en autonomie ou piloté par un Watt-Guardian. La plupart des réglages de fond (sécurité thermique, puissance, chaîne, sondes) vivent dans l'écran Configuration ; les écrans ci-dessus en sont la supervision, la programmation et le diagnostic.