Ajout publication MQTT (PubSubClient)
- Topics individuels par capteur sous un topic de base configurable (défaut: solar/) PV, batterie (tension/SOC/temp/statut), load, énergie, soleil, RS485, relais, entrées DI - Abonnement relay/1/set et relay/2/set pour piloter les relais depuis MQTT - Config NVS : serveur, port, user/pass optionnel, topic base, intervalle (défaut 30s) - Reconnexion automatique toutes les 15s si broker inaccessible - Publication immédiate après connexion et après changement de config - Route GET/POST /api/mqtt + UI onglet Config avec liste des topics générée dynamiquement - Stubs QEMU (#ifndef QEMU_BUILD) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -425,6 +425,57 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="regle-form">
|
||||
<div class="form-titre">Publication MQTT</div>
|
||||
<p class="aide">Envoie les données des capteurs vers un broker MQTT (Home Assistant, Mosquitto…). Les relais sont pilotables via les topics de commande.</p>
|
||||
|
||||
<div id="mqtt-status-bar" class="ec-statusbar">Chargement…</div>
|
||||
|
||||
<div class="form-ligne">
|
||||
<label>Activé</label>
|
||||
<select id="mqtt-enabled">
|
||||
<option value="false">Non</option>
|
||||
<option value="true">Oui</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-ligne">
|
||||
<label>Serveur</label>
|
||||
<input type="text" id="mqtt-server" placeholder="192.168.1.36" autocomplete="off">
|
||||
</div>
|
||||
<div class="form-ligne">
|
||||
<label>Port</label>
|
||||
<input type="number" id="mqtt-port" min="1" max="65535" value="1883">
|
||||
</div>
|
||||
<div class="form-ligne">
|
||||
<label>Utilisateur</label>
|
||||
<input type="text" id="mqtt-user" placeholder="Optionnel" autocomplete="off">
|
||||
</div>
|
||||
<div class="form-ligne">
|
||||
<label>Mot de passe</label>
|
||||
<input type="password" id="mqtt-pass" placeholder="Optionnel" autocomplete="new-password">
|
||||
</div>
|
||||
<div class="form-ligne">
|
||||
<label>Topic de base <span class="ec-aide" title="Tous les topics seront préfixés par cette valeur. Ex: solar → solar/battery/voltage">ℹ</span></label>
|
||||
<input type="text" id="mqtt-base" placeholder="solar" autocomplete="off">
|
||||
</div>
|
||||
<div class="form-ligne">
|
||||
<label>Intervalle</label>
|
||||
<div class="ec-field-unit">
|
||||
<input type="number" id="mqtt-interval" min="5" max="3600" value="30">
|
||||
<span class="ec-unit">s</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="mqtt-topics-info" class="hidden">
|
||||
<div class="form-section-label" style="margin-top:0.5rem">Topics publiés</div>
|
||||
<div id="mqtt-topics-list" class="aide" style="font-size:0.72rem;line-height:1.7"></div>
|
||||
<div class="form-section-label" style="margin-top:0.4rem">Topics de commande</div>
|
||||
<div id="mqtt-cmd-list" class="aide" style="font-size:0.72rem;line-height:1.7"></div>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primaire btn-plein" onclick="sauvegarderMqtt()">Enregistrer et appliquer</button>
|
||||
</div>
|
||||
|
||||
<div class="regle-form">
|
||||
<div class="form-titre">VPN WireGuard</div>
|
||||
<p class="aide">Tunnel chiffré vers votre serveur WireGuard. Nécessite une connexion WiFi (mode STA). Désactivé par défaut — la configuration locale reste accessible même si le VPN est coupé.</p>
|
||||
|
||||
Reference in New Issue
Block a user