Les Carnets de Byfeel domotique , Objets connectés , DIY , Programmation, Nouvelles Technologies ….

NotifheureXL v1.1.x

Mise à jour du firmware en version 1.1.0 . V1.1.1 ( update 17/12/21 )

Cette nouvelle version améliore la partie MQTT avec home assistant , en permettant la remontée automatique des entités et la centralisation par appareil.

Elle permet aussi la prise en charge de la nouvelle interface graphique en cours de développement ( avec vue.js )

Corrige aussi quelques bugs.

Le projet NotifheureXL

Pour ceux qui découvrent le projet , je vous invite à relire l’article suivant : NotifHeureXL

Liste des courses :

  • module esp8266 ( exemple wemos mini ), sur aliexpress ou autre site equivalent ( entre 3 et 4 euros ) ou encore sur amazon ( par deux )
  • Matrices type MAX7219 , par exemple chez amazon ( pré-assemblé en 4 qui est le minimum pour utiliser notifheure ).

Rappel des connexions par défaut sur firmware pré-compilé :

Obligatoire :

Matrices MAX71219 type FC16 ou ICSstation firmware dispo pour type FC16 ou ICSstation ( 4 minimum )

  • Exemple pour WEMOS MINI
  • CLK => CLK – GPIO 14 ( D5 sur Wemos Mini )
  • DIN => MOSI GPIO 13 ( D7 sur Wemos Mini )
  • CS => CS GPIO 15 ( D8 sur Wemos Mini )
  • VCC => VCC 5v
  • GND => GND

Pour une meilleure expérience , les options suivantes sont possibles :

Options :

  1. Photocell ( pour la gestion de la luminosité automatique )
    • Associer à une résistance de 10k
    • Branchement sur A0 ( entrée analogique , Attention 3,3v max sur cette entrée )
  1. Boutons ( jusqu’a deux boutons possibles , pour déclencher des actions )
    • Bouton 1 : GPIO 02 ( D4 wemos mini )
    • Bouton 2 : GPIO 00 ( D3 wemos mini )
    • Commun au GND
  1. Module DHT : DHT11 ou DHT22 ( Pour la température et Humidité )
    • DATA => GPIO 16 ( D2 sur Wemos mini )
numero des pattes DHT11
schema DHT11
  1. Notification visuelle ( via led / NEOPIXEL RING / Relais )
    • D IN ou IN DATA IN ( neopixel ) => GPIO 05
  1. Notification audio ( via buzzer , hp , relais )
    • Speaker – : GND
    • Speaker + : GPIO 4

Flashage du notifheureXL

En premier flash du système , test avec ancienne interface WEB
Puis en second on pousse le dossier data ( LittleFS )

Afin de faciliter le flashage , des fichiers binaires déjà compilés sont disponibles ici.
Pour rappel la documentation , sur comment flasher en ligne de commande .

Lors du premier flashage , il faudra passer par connexion USB
Commande pour connaitre le nom du port sur lequel est connecté l’ESP .

windows

commande : mode

Mac OS / linux

commande: ls /dev/tty.*

Exemple sous Windows : Si branché sur com6
esptool.py --port com6 write_flash -fm dio 0x00000 notifheureXL_ICS_1.0.0.bin 

Pour les flashages suivants , via OTA c’est possible , avec la commande suivante :

python espota.py -i 192.168.1.2 -f firmware.bin   ( pour le programme )
et
python espota.py -i 192.168.1.2 -s -f data.bin  ( pour les data dans memoires SPIFFS ou LittleFS )

Il est toujours possible de compiler soit même via PlatformIO, arduino ide , ou autre … en récupérant les sources sur mon Github. ( rappel sur la procédure dans l’articleNotifHeureXL )

NEW : Requête POST

Prise en charge des requêtes de type Post , avec envoie des données , au format JSON.

Si POST activé , il est possible d’envoyer des data sous le format JSON , exemple {« key »:123, »index »: »test chaine »} . Si non utilisé , la chaine JSON doit etre vide {} .

NotifheureXL et MQTT

rappel sur usage MQTT et notifheure

Le langage MQTT est privilégié avec le notifheureXL , pour assurer la continuité les commandes html restent fonctionnelles .

  • byfeel/NotifheureXL/<id_notif>/<nom_notif>/message : Envoie des notifications
  • byfeel/NotifheureXL/<id_notif>/<nom_notif>/options : Pour la gestion des Options ( affichage secondes , luminosité , affichage horloge , etc … )
  • byfeel/NotifheureXL/<id_notif>/<nom_notif>/state : Listes les états du NotifheureXL
  • byfeel/NotifheureXL/<id_notif>/<nom_notif>/config : Pour la configurations du NotifheureXL

Dans l’interface web , j’explique l’utilisation de ses différents Topic . Retrouvez le détail de l’utilisation de MQTT dans l’article suivant : NotifheureXL et home assistant.

Interface configuration paramètres MQTT sur NotifheureXL

Avec Home Assistant

Le notifheure intègre par défaut le possibilité de créer automatiquement le device dans Home Assistant.
Interface MQTT Home assistant si discovery activé.

le notifheureXL est reconnu automatiquement par Home Assistant , les entités sont créés et les déclencheurs aussi. Ainsi que les déclencheurs pour les automatisations.

exemple déclencheur notifheure

Envoie d’une notification via home assistant :

Il est très facile d’envoyer une notification depuis home assistant via l’utilisation des scripts .

Exemple dans mon fichier notifheure.yaml ( script notifheure )

############################################
############ Notifheure ####################
############################################
############################################
# script envoie notif selon emplacement
script:
  notify_notifheure:
    description: "Send a notification to Notifheure"
    fields:
      target:
        description: "choice of Notifheure target (optional)"
        example: "office"
      message:
        description: "The message content"
        example: "The light is on!"
      options:
        description: "display options"
        example: "nzo=0;pause=5"
    sequence:
    - service: mqtt.publish
      data_template:
        payload: '{"msg":"{{ message }}","opt":"{{ options }}"}'
        qos: 1
        retain: false
        topic: >
          {% if target == "bureau" %} 
          byfeel/NotifheureXL/46fda8/bureau/message 
          {% elif target == "salon" %} 
          byfeel/NotifheureXL/226a33/salon/message 
          {% elif target == "matt" %} 
          byfeel/NotifheureXL/680c76/matt/message
          {% else %} 
          byfeel/NotifheureXL/46fda8/bureau/message 
          {% endif %}

Ce qui donne , le script suivant :

exemple envoie notif sur tous les notifheures

### Script notification tous les notifheure
  notify_notifheure_all:
      alias: Notification vers tous les Notifheures
      sequence:
      - service: script.notify_notifheure
        data:
          message: '{{ message }}'
          target: salon
          options: '{{ option }}'
      - service: script.notify_notifheure
        data:
          message: '{{ message }}'
          target: bureau
          options: '{{ option }}'
      - service: script.notify_notifheure
        data:
          message: '{{ message }}'
          target: matt
          options: '{{ option }}'
      mode: single

Avec Jeedom :

J’ai arrêté le developpement du plugin jeedom , afin de me concentrer sur MQTT et permettre l’utilisation du Notifheure sur toutes les plateformes.

Utilisation de MQTT avec Jeedom , voir mon ancien article sur MQTT et ESP

Pour rappel , configuration sous jeedom ( via jmqtt )

Astuces MQTT : Je vous conseille l’utilisation de l’outil MQTT explorer , qui permet de visualiser ce qui se passe sur votre broker

New: Nouvelle interface

J’ai profité de cette longue absence , pour repenser l’interface Web . J’ai utilisé pour cela le framework vue.js.

Ci dessous des aperçus de cette interface :

Interface Premier Parametrage

Gestion des Langues

Cette nouvelle interface apporte la gestion des langues , par défaut j’ai réalisé un fichier pour le français et l’anglais.

Si parmi vous , certains souhaitent corriger ces fichiers, ou ajouter d’autres langues, merci de me communiquer vos modifications . Je les ajouterais au fur et à mesure.

Le format du fichier est JSON , le premier est le mot clé ( ne pas modifier ) , le second est la traduction.

exemple :

Traduction simple
"total":"Total number of Matrices ",
"total" = Mot clé (Ne pas modifier )
"Total number of Matrices " = traduction a réaliser

Traduction avec des variables
info_sup":"this give {nbmsg} zone(s) of {clocksize} matrix",
Ne pas modifier la variable {nbmsg} ou {clocksize} , les valeurs entrent accolade sont des variables
exemple traduction en français 
info_sup":"Soit {nbmsg} zone(s) de {clocksize} matrices,

Lien vers fichier en.json à modifier en fonction de la langue désiré.

Je suis en train de travailler sur cette nouvelle interface j’ai surement dû faire des erreurs, des bugs ou des problèmes de syntaxe … Je suis preneur de vos corrections.

Mise a jour

  • Version 1.1.1 ( 17/12/21 )
    • Correction bug sur offset décimal
    • Ajout etiquette FIX et INFO pour commande MQTT
    • ajout Upload , pour charger configuration
    • Correction pb DHT
    • Correction bug interface ( sur affichage boutons et notif )
    • et toujours des amliorations du code , afin d’apporter une meilleure expérience…

40 commentaires sur “NotifheureXL v1.1.x”

Les commentaires sont fermés.