https://technologie-geek.fr/flasher-le-nspanel-avec-tasmota-et-lovelace-ui/
https://docs.nspanel.pky.eu/ – https://tasmota.github.io/docs/
En premier lieu, Tasmota est un firmware qui vous permet de transformer vos appareils à base d’ESP8266, d’ESP8285 ainsi que d’ESP32 en module domotique personnalisable. Il vous permet de contrôler des appareils tels que des ampoules, des prises, mais aussi des capteurs et des thermostats. Ensuite, en flashant vos dispositifs avec Tasmota, vous prenez le contrôle total sur votre matériel en vous débarrassant ainsi des applications propriétaires restrictives. Pour finir, Tasmota prend en charge les protocoles de communication, notamment MQTT, HTTP ainsi que WebSockets.
Lovelace-ui est l’interface utilisateur open-source personnalisable conçue pour Home Assistant. Elle vous permet de créer des tableaux de bords interactifs pour contrôler, mais aussi surveiller vos modules domotiques. Ensuite, avec Lovelace-ui, vous pouvez organiser des cartes pour afficher des informations en temps réel, mais aussi des interrupteurs et des graphiques. Pour finir, Lovelace-ui permet aux utilisateurs de définir l’apparence ainsi que la disposition de leur tableau de bord.
En conclusion, en flashant votre NSPanel avec Tasmota et Lovelace-ui sur Docker, vous disposerez d’un écran de contrôle hautement personnalisable. Votre NSPanel vous permettra de piloter tous vos appareils domotiques, mais aussi d’afficher des informations provenant d’Home Assistant tel que la météo.
Que nous faut-il ?
Ce tutoriel fonctionne à partir de la version 2024.4.X d’Home Assistant. Pour les versions antérieures l’affichage de la météo sur le NSPanel ne fonctionnera plus suite à une modification de l’entité prévision « forecast ».
ATTENTION ! Avant de vous lancer, tous les prérequis doivent être opérationnels. Vous effectuez le flash de votre NSPanel en connaissances de causes. Il existe toujours un risque de détériorer votre module ! J’effectue les manipulations sous Docker, pour Home Assistant supervisé, les configurations de votre broker MQTT et AppDaemon diffèrent légèrement.
Premièrement, il vous faut une installation de Home Assistant sur Docker. Vous devez également disposer d’HACS, mais aussi d’un broker MQTT tel que Mosquitto. Ensuite, un adaptateur FTDI (convertisseur USB/TTL) et le driver CH340 ou CP210x. Pour finir, il faut AppDeamon sur Docker (Chapitre un et deux de mon article en déployant uniquement le conteneur AppDaemon).
Flasher le NSPanel avec Tasmota et Lovelace-ui
Pour débuter, vous devez ouvrir votre NSPanel. Pour cela, déclipser le module relais, retirer les deux vis à l’arrière de votre appareil, puis enlevé le cache et enfin déconnecter l’écran. Une fois le circuit en main, vous devez maintenant connecter votre convertisseur USB/TTL. Voir la photo ci-dessous.
Connexion USB/TTL
Flasher le NSPanel avec Tasmota et Lovelace-ui
Flash du firmware Tasmota :
Ensuite, vous devez installer Tasmota. Pour cela rendez-vous sur le site « https://tasmota.github.io/install/ » pour effectuer le flash en ligne. Vous devez utiliser un navigateur supportant « websockets » comme EDGE ou Google chrome. Une fois sur le site brancher votre module, sélectionner « Tasmota FR », puis cliquer sur « CONNECT » et laissez-vous guider sans oublier de cocher « Erase device ».
Démarrage du flash de Tasmota
Flasher le NSPanel avec Tasmota et Lovelace-ui
Enfin, après quelques minutes, vous devriez voir apparaitre l’écran ci-dessous.
Flash ok
Connexion et configuration du réseau :
Pour continuer de flasher le NSPanel avec Tasmota et Lovelace-ui, vous devez rebrancher votre platine sur le module 220V. Pour le moment vous n’avez pas besoin des caches ni de l’écran.
Flasher le NSPanel avec Tasmota et Lovelace-ui
Ensuite, rendez-vous dans le gestionnaire WiFi, vous devriez trouver un réseau « tasmota-xxxxxx-xxxx ».
Connexion NSPanel
Premièrement, une fois connecté, rendez-vous à l’adresse « http://192.168.4.1 ». Deuxièmement, sélectionner votre réseau WiFi et entrer votre mot de passe. Puis, patienter quelques instants et l’adresse IP de votre NSPanel doit apparaitre.
Flasher le NSPanel avec Tasmota et Lovelace-ui
Adresse IP NSPanel
Après avoir flashé votre NSPanel avec Tasmota, si vous souhaitez changer l’adresse IP de votre appareil, utiliser la commande suivante dans « Tools/console ». Pour ma part je vais lui donner l’IP « 192.168.1.155 ».
IPAddress1 votre-ip
Copier
Changement de l’adresse IP
Paramétrage de Tasmota pour le NSPanel :
Ensuite, vous devez définir le modèle. Pour cela, rendez-vous dans « Configuration/Autre configuration », puis dans l’onglet « Modèle » coller le code suivant. Enfin, redémarrer votre NSPanel.
{« NAME »:« NSPanel »,« GPIO »:[0,0,0,0,3872,0,0,0,0,0,32,0,0,0,0,225,0,480,224,1,0,0,0,33,0,0,0,0,0,0,0,0,0,0,4736,0],« FLAG »:0,« BASE »:1,« CMND »:« ADCParam1 2,11200,10000,3950 | Sleep 0 | BuzzerPWM 1 »}
Copier
Paramétrage de model
D’autre part, il faut paramétrer votre NSPanel sur « Module 0 ». Vous pouvez utiliser la commande suivante dans « Tools/console ». Pour terminer, redémarrer votre NSPanel.
Module 0
Copier
Flasher le NSPanel avec Tasmota et Lovelace-ui
NSPanel module 0
Pour continuer le flash du NSPanel avec Tasmota et Lovelace-ui, vous devez créer un fichier « nspanel.be » en utilisant Notepad++ par exemple (une fois créé faite un clique droit dessus et vérifier son extension « be »). Ensuite, télécharger le sur votre NSPanel en allant dans « tools/Gestion du Système de Fichier », sélectionner le et enfin, cliquer sur « Upload ». Vous pouvez trouver le fichier de base en cliquant sur le lien suivant.
https://raw.githubusercontent.com/blakadder/nspanel/main/nspanel.be
Je vous mets le début du fichier, il faut remplacer « votre-ville » par la ville où vous habitez en vérifiant qu’elle soit disponible sur le site ci-dessous.
# Sonoff NSPanel Tasmota driver v0.47 | code by blakadder and s-hadinger
var mode = "NSPanel"
import persist
var devicename = tasmota.cmd("DeviceName")["DeviceName"]
persist.tempunit = tasmota.get_option(8) == 1 ? "F" : "C"
if persist.has("dim") else persist.dim = "1" end
var loc = persist.has("loc") ? persist.loc : "votre-ville"
var weather_interval = persist.has("weather_interval") ? persist.weather_interval : "60"
persist.save() # save persist file until serial bug fixed
https://wttr.in/votre-ville
Copier
NSPanel.be
D’autre part, vous devez créer un second fichier nommé « autoexec.be » sur votre NSPanel. Pour cela, toujours dans « tools/Gestion du Système de Fichier » cliquer sur « Créer and modifier un nouveau fichier » et insérer le code suivant, puis enregistrer.
load(« nspanel.be »)
Copier
flasher le NSPanel avec Tasmota et Lovelace-ui
Votre NSPanel est maintenant opérationnel avec Tasmota ! Vous pouvez le débrancher, puis le réassembler. Une fois redémarré vous devriez voir l’écran suivant.
NSPanel avec Tasmota
Capteur de température :
Ensuite, si comme moi le capteur de température du NSPanel affiche des informations erroné, vous pouvez modifier les valeurs « ADCParam1 ». De base la valeur de la résistance est paramétrée sur 10k alors que la valeur réelle est de 8,8k. Passer le code suivant dans Tasmota, puis dans « Tools/console ». Vous pouvez ajuster la deuxième valeur jusqu’à obtenir la bonne température. Pour ma part les valeurs suivantes ont fonctionné.
ADCParam1 2,9400,8800,3950
Copier
Calibrage température
Pour continuer le flash de votre NSPanel avec Tasmota et Lovelace-ui, vous pouvez renommer les boutons dans Tasmota. Aller dans « Tools/console » et saisissez la commande suivante.
WebButton1 nom-de-votre-boutton
Copier
Flasher le NSPanel avec Tasmota et Lovelace-ui
WebButton
Connexion au broker MQTT :
Rendez-vous dans « Configuration/Autre configuration » pour modifier :
Premièrement, le « Nom de l’appareil », pour ma part ce sera « Lumière séjour ».
Ensuite, « Surnom 1 » et « Surnom 2 », pour ma part « Lumière salon » et « Lumière salle à manger ».
A vous d’ajuster selon vos besoins. Pour information, « Surnom 1 » correspond à « WebButton1 »…
Nom et surnom de l’appareil
Pour terminer la connexion sur votre broker MQTT, aller dans « Configuration/configuration MQTT », puis entrer les informations de connexion et le topic que vous souhaitez utiliser.
Connexion mqtt
Rendez-vous dans Home Assistant, vous devriez voir un nouvel appareil apparaitre. Si vous souhaitez vous arrêter là, votre NSPanel est parfaitement opérationnel uniquement avec Tasmota !
NSPanel Home Assistant
Flash du firmware de l’écran Nextion :
Présentation
Prérequis
Flash du firmware Tasmota
lovelace-ui, AppDaemon et HACS
Pour flasher le firmware Nextion, rendez-vous dans « Tools/console » pour télécharger un nouveau fichier « autoexec.be ».
Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; SetOption151 0;Restart 1
Copier
Ensuite, vous pouvez lancer le flash. Attention, je dispose de la version EU correspondant à la photo de présentation. Si ce n’est pas votre cas rendez-vous sur le site de « NSPanel lovelace-ui » dans l’onglet « Prepare NSPanel » pour récupérer la bonne commande (le lien se trouve au début de l’article). Si votre NSPanel bloque, pas de panique, redémarrer votre module et relancer le flash.
FlashNextion http://nspanel.pky.eu/lui-release.tft
Copier
NSPanel locelace-ui
Flash Nextion
Une fois terminé, vous devriez avoir cet écran.
Préparation de Lovelace-UI, AppDaemon et HACS :
Présentation
Prérequis
Flash du firmware Tasmota
Flash du firmware nextion
HACS :
Premièrement, pour connecter votre NSPanel sur Home Assistant, vous devez préparer HACS. Pour cela, aller dans « Paramètres », cliquer sur l’intégration « HACS » puis sur « CONFIGURER » et enfin, cocher la case « Enable AppDaemon apps discovery & tracking » et valider.
Flasher le NSPanel avec Tasmota et Lovelace-ui
Lovelace-ui :
Ensuite, vous devez installer « NSPanel Lovelace UI Backend » pour Home Assistant. Aller dans HACS, chercher et installer l’intégration.
Backend Lovelace-UI
NSPanel sur Home Assistant
AppDaemon sur Home Assistant :
Pour continuer le Flash du NSPanel avec Tasmota et Lovelace-ui sur Home Assistant, il reste trois fichiers à configurer. Connectez-vous en SSH sur votre serveur, ensuite, vous devez créer un fichier nommé « requirements.txt » avec une ligne « Babel » dans le dossier « appdaemon ». Il vous sert à la traduction de Lovelace-ui en français.
cd / && echo « Babel » >> /opt/docker/ha/config/appdaemon/requirements.txt
Copier
Flasher le NSPanel avec Tasmota et Lovelace-ui
Ensuite, vous devez modifier votre fichier « configuration.yaml » et ajouter le code suivant pour obtenir les données de prévision météo dans « appdaemon ».
nano opt/docker/ha/config/configuration.yaml
Copier
template:
configuration.yaml
Pour continuer de paramétrer Appdaemon sur Home Assistant, vous devez modifier le fichier « apps.yaml » dans le dossier « apps » d’Appdaemon et coller le code ci-dessous.
nano opt/docker/ha/config/appdaemon/apps/apps.yaml
Copier
nspanel-1:
module: nspanel-lovelace-ui
class: NsPanelLovelaceUIManager
config:
panelRecvTopic: tele/votre-topic/RESULT
panelSendTopic: cmnd/votre-topic/CustomSend
model: eu
updateMode: auto-notify
sleepTimeout: 20
sleepBrightness:
- time: « 6:00:00 »
value: 10
- time: « 23:00:00 »
value: 0
locale: fr_FR
screensaver:
type: screensaver
entities:
- entity: weather.forecast_maison
- entity: sensor.weather_forecast_daily
type: 0
- entity: sensor.weather_forecast_daily
type: 1
- entity: sensor.weather_forecast_daily
type: 2
- entity: sensor.weather_forecast_daily
type: 3
- entity: delete
Copier
apps.yaml
Enfin, après le redémarrage de vos conteneurs, vous devriez voir l’écran suivant !
NSPanel Lovelace UI