Accueil » Domotique » guides domotiques » Comment flasher le Sonoff NSPanel sous Tasmota et le piloter en MQTT via Jeedom et Home Assistant ?
guides domotiques

Comment flasher le Sonoff NSPanel sous Tasmota et le piloter en MQTT via Jeedom et Home Assistant ?

flash-sonoff-nspanel-guide-tuto-domotique-mqtt-jeedom-home-assistant

Voilà plusieurs semaines que j’ai le NSPanel en attente de test mais que je n’avais toujours pas trouvé le temps de me pencher dessus. Il faut dire que j’ai une idée bien spécifique de ce que je souhaite en faire, et j’avais besoin de temps pour étudier le projet. Je veux utiliser cet écran de pilotage en façade de mon local de piscine afin de disposer des constantes de l’eau, mais également de la météo ou encore pouvoir actionner les lumières ou la pompe manuellement. Une sorte de point de contrôle 4.0 pour la piscine.

Le NSPanel sorti de boîte – © domo-blog

Un projet qui est donc tout autre pour ce petit écran tactile qui sert normalement plus dans la maison pour piloter les lumières ou le chauffage. Mais mon projet sera toutefois facilement transposable à d’autres usages chez vous. L’intérêt n’est donc non pas de faire un test du NSPanel Sonoff dans sa version d’origine comme beaucoup l’ont déjà fait sur la toile, mais de vous proposer un guide complet qui vous explique comment flasher le firmware du NSPanel pour passer sous Tasmota et pouvoir interfacer ce dernier avec un système domotique, Jeedom ou Home Assistant via MQTT.

Vaste programme, mais grandement intéressant. J’ai profité de quelques jours de vacances pour me plonger dans ce petit projet et j’adore ce petit écran ! Voici donc un guide complet et détaillé pour vous permettre de vous aussi flasher votre NSPanel sous Tasmota et commencer à l’utiliser avec votre domotique.


Présentation du NSPanel

Commençons par une rapide présentation du produit. Le NS Panel est un écran tactile multifonctions au format interrupteur. Ce dernier prend donc place dans une boîte d’encastrement en lieu et place d’un interrupteur de la maison. Il dispose de deux relais capables donc de piloter deux charges lumineuses en remplacement d’un interrupteur, mais va aussi beaucoup plus loin puisqu’il peut aussi faire office de thermostat.

En effet, le NSPanel dispose d’une sonde de température ainsi que d’un petit écran tactile pré-configuré pour la gestion d’un chauffage. Nous n’allons pas voir cet aspect de l’écran intelligent Sonoff, puisque nous allons plutôt directement le flasher sous Tasmota et décupler ses capacités pour l’interfacer avec un système domotique. Bien plus intéressant et parfait pour répondre à mon projet, ma piscine étant déjà pilotée par la domotique, il ne manque plus qu’un écran intelligent pour consulter les données et piloter les équipements qui la compose. Je dispose bien d’un petit écran qui affiche la température de l’eau actuellement, mais je veux aller encore plus loin.

matériel nécessaire

Le FDTI, l’outil indispensable pour modifier les périphériques domotiques – © domo-blog

Pour réaliser le flash du NSPanel, il faut un petit peu de matériel, quelques câbles de PCB, un FDTI et des pin header (broches à souder, pas nécessaires mais recommandés), afin de simplifier le montage et garantir la bonne tenue des câbles pour le flash.

Logiciels nécessaires

Démontage du NSPanel

Pour pouvoir flasher le NSPanel, il est déjà nécessaire de le démonter pour accéder au port de maintenance. Commencez par démonter le dos du NSPanel en faisant levier à l’aide d’un petit tournevis plat.

Retrait de la partie relais du NSPanel – © domo-blog

Il faut ensuite retirer les deux vis à l’aide d’un tournevis cruciforme pour retirer le capot qui cache la partie électronique du module.

Retrait du dernier rempart avant d’apercevoir le port de flash – © domo-blog

Le port de maintenance qui va nous permettre de flasher l’écran est maintenant accessible (2), toutefois il faut encore retirer la nappe de l’écran afin de protéger celui-ci pendant le flash (1). Attention cette partie est peut-être la plus délicate, car il ne faut pas endommager la nappe de l’écran.

Attention quand vous manipulez la nappe de l’écran, c’est très fragile – © domo-blog

Voilà la plaque prête à accueillir le câblage qui servira à effectuer le flash vers Tasmota.

La carte du NSPanel est à nu, prête à être flashée – © domo-blog

Notez que pendant le flash, j’applique une légère pression comme ci-dessus sur les câbles pour garantir le contact de toutes les broches.

Câblage à effectuer pour flasher le NSPanel

Le câblage est assez simple, les couleurs importent peu, il faut simplement respecter le brochage suivant :

Côté FDTICôté NSPanel
Câble #1GNDGND
Câble #23V33V3
Câble #3RXTX
Câble #4TXRX
Câble #5GNDI00
Correspondance du câblage entre fdti et nspanel
Câblage entre le NSPanel et le FDTI – © domo-blog

Attention à bien veiller à ce que le cavalier soit bien sur la position 3V3 car le flash doit être fait sous cette tension !

Le dernier câble I00 côté NSPanel vient quant à lui se brancher sur la masse du FDTI. Embrochez simplement ce dernier dans le connecteur GND déjà branché.

Attention, le dernier câble doit être glissé dans celui de la masse (GND) – © domo-blog

Lancez le Flash du NSPanel vers Tasmota

Vous avez téléchargé les logiciels nécessaires en début de ce guide.

  1. Lancez simplement ESP-Flasher, sélectionnez le port COM du FDTI et pointez vers le firmware Tasmota (fichier tasmota32.bin).
Prêt pour le flash – © domo-blog

2. Lancez ensuite le flash via le bouton Flash ESP

Flash en cours – © domo-blog

Si tout s’est bien passé, vous obtenez le même écran que moi ci-dessus, le flash est terminé. Rien de plus, c’est finalement assez simple à réaliser. Il ne nous reste plus qu’à tester et configurer le module.

Test et configuration du NSPanel

Il n’est pas nécessaire de connecter immédiatement le NS Panel au 230V pour tester et effectuer la configuration. Je vous recommande d’ailleurs de faire comme moi et utiliser plutôt le 5V de FDTI pour faire la configuration sur le bureau, c’est bien plus simple.

Câblage en mode alimentation

Pour ce faire, effectuez le câblage comme ci-dessous selon le plan suivant :

Côté FDTICôté NSPanel (J2)
Câble #1GND2ème PIN sur la ligne inférieure
Câble #25V3ème PIN sur la ligne inférieure
Correspondance entre fdti et nspanel

Attention, il faut bien penser à repasser le FDTI en 5V à l’aide du cavalier.

Configuration du NSPanel

  1. Quelques secondes après démarrage de l’écran, vous devriez apercevoir un nouveau hotspot Wi-Fi tasmota- XXXX, connectez-vous à ce réseau pour effectuer la configuration.

2. Configurez alors le Wi-Fi de destination du NSPanel sur votre réseau domestique. Si la page ne s’ouvre pas automatiquement, il faut se rendre sur l’adresse 192.168.4.1 pour se connecter à l’écran.

3. Une fois la sauvegarde effectuée, l’écran redémarre et le navigateur vous affiche la nouvelle adresse. Il devrait même vous router directement vers cette nouvelle adresse.

4. Vous voici sous l’écran principal du NSPanel sous Tasmota. Vous pouvez depuis ce dernier agir sur les deux relais, mais également y configurer toutes les options.

5. Les configurations sont nombreuses, nous allons voir dans la seconde partie de ce guide toutes les configurations à effectuer pour commencer à utiliser le NSPanel sous MQTT et le piloter avec un système domotique que ce soit Jeedom, Home Assistant ou Domoticz, la méthode de configuration reste la même.

Configuration du template

Comme expliqué sur la page suivante, il faut en premier lieu charger le template du NSPanel fraîchement sous Tasmota. Pour cela copiez le code suivant puis rendez-vous dans le menu Configuration/Configure Other

{"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":"ADCParam 2,11200,10000,3950 | Sleep 0 | BuzzerPWM 1"}

Copiez ensuite le code dans le premier champ en supprimant son contenu au préalable. Cochez ensuite la case Activate au-dessous, puis profitez-en pour donner un nom à votre écran (ici PoolPanel). Enfin envoyez la modification avec le bouton Save.

Configuration des fichiers consoles

Commencez par télécharger le fichier nspanel.be puis rendez-vous dans le menu Consoles/Manage File system puis pointez vers le fichier télécharger pour l’envoyer vers le NSPanel puis faites Start Upload.

Utilisez à présent le bouton Create and edit new file afin de créer un nouveau fichier autoexec.be qui aura pour rôle de charger le fichier nspanel.be au démarrage. Renseignez alors les infos comme ci-dessous puis faire Save.

Vous avez à présent tout le nécessaire pour commencer à utiliser le NSPanel avec votre système domotique. Que ce soit Jeedom ou Home Assistant, ou encore Domoticz, peu importe car tout se passe via MQTT !

Configuration de MQTT

Rendez-vous dans le menu Configuration/Configure MQTT et renseignez les informations de votre serveur MQTT (adresse IP, Port et identifiants si vous en avez sur votre broker MQTT).

Pensez aussi à donner un nom au topic MQTT pour l’identifer plus rapidement, ici PoolPanel_%06X, changez simplement le nom et laissez les caractères derrière.

Enfin, Définissez le topic complet, je vous conseille de définir comme moi à savoir :

SmartHome/%topic%/%prefix%/

Utilisez votre logiciel favori pour communiquer avec MQTT, pour ma part j’utilise MQTT explorer, sous ce dernier, mon nouveau topic est déjà disponible :

De nombreuses infos y sont disponibles, nous allons donc pouvoir tout faire avec MQTT entre le système domotique et le NsPanel.

Test d’envoi de la température via MQTT

Afin de tester que l’interaction est OK, vous pouvez effectuer un test via MQTT Explorer. Pour ce faire, créez simplement une publication dans le topic qui va bien comme ci-dessous :

la syntaxe à utiliser est la suivante pour définir la température à l’écran.

{"temperature":10}

Cliquez sur Publish et constatez la température envoyée sur le NSPanel.

La publication de la température de l’eau de la piscine via Jeedom

Pour rappel, mon objectif avec ce NSPanel est de l’utiliser pour piloter ma piscine. Je souhaite donc y afficher la température de l’eau relevée par une sonde connectée à Jeedom. Pour ce faire nous allons bien évidemment utiliser MQTT et le plugin jMQTT Jeedom.

Créez un nouvel actionneur jMQTT et affectez lui une nouvelle commande. Cette dernière utilisera la valeur de la sonde de température immergée qui est remontée au système domotique vers l’écran, le tout via MQTT.

La publication de la température de l’eau de la piscine via Home Assistant

Côté Home Assistant, il faut identifier le nom du sensor temperature sur lequel nous allons nous appuyer pour mettre à jour la température sur le NSPanel.

1. Pour cela, rendez-vous dans le menu « Outils de développement » et recherchez le nom de votre sonde. Une fois trouvée, copiez le nom de l’entité (sensor.stats_t_piscine dans mon cas).

2. Définissez ensuite le playload template qui mettra à jour la température sur le NSPanel dès que sa valeur changera. Toujours dans « Outils de développement », rendez-vous dans l’onglet « Modèles » et définissez votre template sur le modèle suivant :

{{ states.sensor.stats_t_piscine.state }}
modele-playload-template-temperature-home-assistant

3. Une fois que vous visualisez votre température dans le champ de droite, c’est gagné. Il ne reste plus qu’à définir le tout dans le fichier configuration.yaml avec le bloc de code suivant :

- sensor MQTT
  alias: eau Piscine Temperature 
  trigger:
    platform: state
    entity_id: sensor.pool_temperature
  action:
    service: mqtt.publish
  data:
    topic: "SmartHome/PoolPanel_2BEF48/cmnd/NSPsend"
    payload_template: "{{ states.sensor.stats_t_piscine.state }}"

4. Maintenant, à chaque changement de la valeur de votre sonde de température, cette dernière sera mise à jour sur l’écran du NSPanel. Il en va de même pour les autres infos/actions.

Les autres configurations nécessaires

Si nous avons vu l’essentiel des configurations, il y a encore quelques petits ajustements à faire pour un fonctionnement optimal du NSPanel sous Tasmota, piloté par la box domotique.

Empêcher la mise à jour de la température par la sonde du NSPanel

Etant donné que c’est le système domotique qui va définir la température à afficher à l’écran, il est nécessaire de bloquer la mise à jour de cette dernière par l’écran lui-même. Sans qui, il actualise régulièrement la température en utilisant celle de la sonde intégrée (qui n’est pas des plus précise au passage…).

Pour bloquer cette actualisation, il faut se rendre dans le menu Console/Manage File system puis éditez le fichier nspanel.be via le petit icône ) à droite.

Ajoutez simplement un commentaire (#) devant la ligne suivante :

set displayed indoor temperature to value:int

Confirmez avec un Save puis redémarrer l’écran pour prendre en compte le changement. Vous constaterez qu’au démarrage, toutes les infos seront chargées, mais pas la température. C’est maintenant uniquement Jeedom qui met à jour cette valeur.

Forcez la localisation

Il reste à configurer la localisation et la forcer sur votre ville pour obtenir les bonnes informations concernant la météo. Pour cela, il faut une fois encore éditer le fichier nspanel.be.

Il faut ensuite obtenir les coordonnées de votre ville, pour cela utiliser le site wttr.in Pour Marseille par exemple, tapez l’url https://wttr.in/marseille et copiez les coordonnées qui sont générées en bas de page.

Recherchez ensuite la ligne suivante dans le fichier et remplacez les coordonnées par celles de votre ville :

var loc = persist.has("loc") ? persist.loc : "43.2961743,5.3699525"

Enfin, faites Save, puis redémarrez le NSPanel pour prendre en compte la nouvelle localisation.

Définir l’heure

Pour forcer l’heure sur l’heure d’été chez nous en france, il faut ouvrir une console et passez la commande suivante :

timezone +2

Définir l’écran comme toujours allumé

Dernière petite configuration à faire, il s’agit de modifier le comportement de l’écran afin qu’il ne se coupe plus et reste allumé. Pour cela, modifiez le fichier _persist.json

{"tempunit":"C","dim":"0"}

Conclusion

Vous savez à présent comment flasher votre NSPanel ou celui que vous projetez d’acheter. Vous avez peut-être comme moi été attiré par cet écran intelligent, mais ne saviez pas comment faire, ou tout simplement ce qu’il serait possible d’en faire avec votre système domotique. Avec ce guide vous avez maintenant tout ce qu’il faut pour vous lancer.

Un dernier point sur le prix de cet écran tactile intelligent, il est proposé au tarif de 69.99€ chez Domadoo (54€ jusqu’à ce soir), maintenant que vous savez ce que vous pouvez faire avec, vous pouvez vous lancer. De mon côté, je continue mon projet pour intégrer au maximum ce dernier dans le pilotage de ma piscine mais je dois dire que pour le moment il fait déjà bien le travail.

J’ai en effet en façade de mon poolhouse (sous abris bien sûr) la météo et la température de l’air, la température de l’eau et je peux agir sur la filtration via les deux boutons. Je souhaite aller encore plus loin, mais ce sera pour un autre guide car je dois encore creuser quelques pistes pour cela.



Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je test, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog pour améliorer votre quotidien dans la maison connectée !

Table des matières

Présentation du NSPanelmatériel nécessaireLogiciels nécessairesDémontage du NSPanelCâblage à effectuer pour flasher le NSPanelLancez le Flash du NSPanel vers TasmotaTest et

Présentation du NSPanel

Commençons par une rapide présentation du produit. Le NS Panel est un écran tactile multifonctions au format interrupteur. Ce dernier

matériel nécessaire

Le FDTI, l’outil indispensable pour modifier les périphériques domotiques – © domo-blog

Logiciels nécessaires

ESP FlasherLe fichier tasmota32.bin

Démontage du NSPanel

Pour pouvoir flasher le NSPanel, il est déjà nécessaire de le démonter pour accéder au port de maintenance. Commencez par

Câblage à effectuer pour flasher le NSPanel

Le câblage est assez simple, les couleurs importent peu, il faut simplement respecter le brochage suivant :

Lancez le Flash du NSPanel vers Tasmota

Vous avez téléchargé les logiciels nécessaires en début de ce guide.

Test et configuration du NSPanel

Il n’est pas nécessaire de connecter immédiatement le NS Panel au 230V pour tester et effectuer la configuration. Je vous

Configuration du NSPanel

Quelques secondes après démarrage de l’écran, vous devriez apercevoir un nouveau hotspot Wi-Fi tasmota- XXXX, connectez-vous à ce réseau pour

Les autres configurations nécessaires

Si nous avons vu l’essentiel des configurations, il y a encore quelques petits ajustements à faire pour un fonctionnement optimal

Conclusion

Vous savez à présent comment flasher votre NSPanel ou celui que vous projetez d’acheter. Vous avez peut-être comme moi été

  • Table des matières
  • Présentation du NSPanel
  • matériel nécessaire
  • Logiciels nécessaires
  • Démontage du NSPanel
  • Câblage à effectuer pour flasher le NSPanel
  • Lancez le Flash du NSPanel vers Tasmota
  • Test et configuration du NSPanel
  • Configuration du NSPanel
  • Les autres configurations nécessaires
  • Conclusion