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

Documentation Notif’heure

Cet article , pour décrire les différents paramètres du notif’heure , ou comment remonter , utiliser ou parametrer toute les infos utilisés dans le notif’heure.

Pour tous ceux qui veulent aller plus loin avec le notif’heure et développer leur propre interface ou un plugin pour une box domotique.

La plupart des commandes , fonctionne soit via requête http , soit via requête Websocket sur le port 81 .

Envoyer un message

La requête minimum pour envoyer un message , avec les valeurs par défaut , doit être sous la forme suivante :

http://ip_notifheure/Notification?msg=mon message

Il est possible d’y ajouter les mots clés suivants , afin de personnaliser l’affichage .Chaque argument dans l’url est séparé par le &.

  • intnotif : de 0 à 15 pour indiquer une valeur de luminositée
  • type : Type d’animation ou de comportement
    • BLINDS ,PAC ou OPENING : pour des effets d’animation avant la notification affiche l’info « txt » , contenu dans la variable txt.
    • INFO : associé au champ « pause » permet d’afficher un texte court  entre 0 et 60 secondes. 
    • FIX : Affiche un texte court , en permanence . Une nouvelle notification envoyée , enleverra le texte. Si , on désire effacer sans afficher de texte , il faut utiliser le mot clé  » !Clear! » dans le champ message.
  • txt : Un mot a afficher avant les effets d’animation ( par défaut : notif )
  • pause : Associé à INFO , permet de définir un temps d’affichage entre 0 et 60 secondes.
  • fi,fo et fio : Associé à INFO , permettent de modifier les effets d’animations . Indiquer un nombre entre 0 et 28 ( voir tableau ci dessous) .
    • fi : modifie l’effet d’entrée
    • fo : modifie l’effet de sortie
    • fio : Modifie les deux ( même effet en entrée et sortie )
  • flash : pour activer le flash lumineux ( 1 ) avant notification ( si LED présente ) 
  • important : 1 ou 0 , Permet de signaler le message comme important ( pour Historisation et indicateur LED )
// Exemple Notification avec style PAC Man , luminosité MAXS et flash lumineux avant
http://ip_notifheure/Notification?msg=mon message&lum=15&type=PAC&txt=notif&flash=1

// Affiche info courte avec un temps de pause de 30 s
http://ip_notifheure/Notification?msg=Alerte&lum=15&type=INFO&pause=30

// Affiche un texte Fixe ( Ne s'efface que si nouvelle notification )
http://ip_notifheure/Notification?msg=Alerte&lum=15&type=FIX

Tableau des effets : Effet de sortie et inversé à l’effet d’entrée , pour avoir des effets cohérents , il est préférable d’utiliser le même code pour fi et fo.

0Apparition / disparition par point
1Affichage sans effet
2Effet scanner horizontal
3Scrolling gauche
4Ne fait rien ( sert pour le fix )
5Apparition / disparition effet efface
6balayage verticale
7Scrolling diagonal haut-gauche
8Scrolling Haut
9Fondu
10Effet curseur ouverture
11Apparition / Disparition par le bas
12Scrolling diagonal haut-droite
13Blinds ( effet persienne )
14PAC MAN    /   PAC MAN + fantôme
15Ouverture / Fermeture
16Apparition / Disparition par le haut
17effet scanner vertical
18Scrolling diagonal bas-gauche
19curseur horizontal
20balayage horizontal
21Brouillage
22Entrelaçement
23Fermeture / Ouverture
24Effet curseur fermeture
25Scrolling diagonal haut-gauche
26Scrolling droite
27effet tranche
28Scrolling bas

Modifier une Option

Les options , peuvent être modifié , par l’envoie de la commande HTML suivante :

http://ip-notifheure/Options?OPT=valeur

ou OPT=valeur , dépend de l’option sélectionné.

OPT possible :

  • HOR : HOR=1 ou HOR = on pour afficher l’horloge , HOR=0 ou HOR=off pour eteinfre l’affichage de l’horloge
  • SEC : SEC=1 ou SEC=on pour afficher les secondes , SEC=0 ou SEC=off pour ne pas afficher les secondes.
  • LUM : LUM=1 ou LUM=auto Mode automatique pour la gestion luminosité , LUM=0 ou LUM=manu pour mode Manuel.
  • INT : Ne fonctionne que si Mode Manuel activé . Permet de régler la luminosité en Manuel . INT=6 met la luminosité à 6 . Valeurs possible de 0 à 15.
  • LED : Si LED présente , permet d’allumer ou d’eteindre la led . LED=1 ou LED=on , une autre valeur eteind la LED.

Il est possible , aussi de modifier ces options via requête Websocket  ( ip-notifheure:81 ) . Pour cela , il faudra envoyer une requête sous le format JSON suivant :

Pour les commandes HOR , SEC , LUM et LED :

{ file : « SetOptions »,
option : « OPT »,
valeur : val,
};

OPT = HOR , SEC , LUM ou LED  et valeur : True ou false 

Pour l’option INT :

{ file : « SetOptions »,
option : « INT »,
intensite : val,
};

ou intensite : vaut ici une valeur entre 0 et 15.

L’option Minuteur

Pour utiliser le minuteur via une commande html , les options utiles sont MIN et CR.

http://ip-notifheure/Options?OPT=valeur

  • MIN : MIN=300 , enclenche un minuteur de 300 s ( soit 5 minutes ) . MIN=0 annule le minuteur en cours. Pour des raisons de place sur l’affichage , le minuteur est possible entre 0 et 35999 sec ( soit de 0 à 9H 59m et 59 secondes ).
  • CR : CR=xx , quelque soit la valeur , bascule entre l’affichage ou le masquage du minuteur.

Exemple : http://ip-notifheure/Options?MIN=300

Les données d’information

Toutes les données d’informations utilisés par le notif’heure sont disponible de deux façons différentes .

Via Requête http :

http://ip_notifeure/getInfo

ou via requête Websocket :

ws://ip_notifheure:81
puis envoyer le mot clé : GetInfo

Dans les deux cas on obtient le fichier d’information au format JSON suivant :

{
"system":{
   "dhtsensor":true,
   "btnclic":[1,2,3,4,6,5],
   "version":"3.1.2b",
   "hostname":"testNotif-E4F566", 
   "mdnsname":"testNotif",
   "lieu":"test",
   "SSID":"byfeel_wifi",
   "RSSI":-59,
   "BSSID":"00:11:22:33:44:55:66",
   "channel":4,
   "DNS":"208.67.222.222",
   "DNS2":"1.1.1.1",
   "passerelle":"192.168.9.0",
   "IP":"192.168.9.127",
   "masque":"255.255.255.0",
   "MAC":"A0:B1:C2:D3:E4:F5:66",
   "LastSynchroNTP":"18:21:16 16/11/2018",
   "FirstSynchroNTP":"17:42:07 15/11/2018",
   "NTP":"pool.ntp.org",
   "uptime":"   1 days 00:51:46",
   "Debug":true,
   "Photocell":1,
   "Bouton1":true,
   "Bouton2":true,
   "multizone":false,
   "display":4,
   "LED":true,
   "box":true
},
"Options":{
   "SEC":true,
   "HOR":true,
   "LUM":true,
   "INT":1,
   "ddht":false,
   "txtAnim":"",
   "LEDstate":false
},
"dht":{
    "T":21.2,
    "H":40.9,
    "Hi":"20.44",
    "P":"7.41",
    "per":53,
    "Modele":"DHT22",
    "Status":"OK",
    "dht_date":"16-11-2018  18:31:54"
}
}
[adsense]

Le fichier json se décompose en 3 sections :

  • Les infos systémes
  • Les infos du DHT
  • Les etats des options

Info Systèmes : 

dhtsensor : Présence du sensor DHT ( valeur True ou false )

btnclic : tableau de 6 valeurs ( de 1 à 7 ) , indiquant les actions pour les deux boutons , les trois premières valeurs sont pour le bouton 1 ( simple clic , double cilc et triple clic ) et les trois dernières pour le bouton 2. Les valeurs sont les suivantes :

  1. Affichage des secondes
  2. Affichage de l’horloge
  3. Mode Auto / Manuel
  4. ON / OFF LED
  5. Action 1 ( URL 1 )
  6. Action 2 ( URL 2 )
  7. Action 3 ( URL 3 )

version : la version en cours

hostname : le nom réseau composé selon la règle ( lieu + préfixe hostname + fin adresse MAC )

mdnsname : Le nom pour le protocole bonjour . permet d’appeller directement l’interface web , même si on ne connait pas son adresse IP . la syntaxe sera mdnsname.local.

lieu : nom  du module , endroit ou il se situe

SSID : Nom du réseau WIFI , sur lequel est connecté le Notif’heure

RSSI : Force du Signal WIFI ( en dBm ) 

BSSID : Adresse Mac sur lequel le notif’heure s’est connecté ( routeur ou point d’accès WIFI )

channel : Canal Wifi utilisé

IP,Passerelle, masque, DNS et DNS2 : Configuration réseau récupéré

MAC : Adresse Mac du Notif’Heure

LastSynchroNTP  et FristrsynchroNTP : indique respectivement la derniére et premiére synchro au serveur de temps NTP.

NTP : Adresse du serveur de temps

uptime : Durée de fonctionnement depuis le démarrage.

debug : indique si le mode Debug est activé

Bouton1 et Bouton2 : indique si présence d’un bouton

Photocell : indique si presence du capteur de luminosité

LED : indique si présence de la LED

multizone : Si Multizone est activé

display : le nombre de matrice

box : Si le mode domotique est activé ou non ( pour utilisation des actions via les boutons )

Infos Options

Dans cette section , on retrouvera les états des différentes options

SEC : indique si l’affichage des secondes est actif
HOR : Indique si l’horloge est affiché ou non
LUM : Indique si mode auto ( true ) ou mode manuel ( false )
INT : Indique el niveau d’intensité ( entre 0 et 15 )
ddht : Indique si l’affichage de la température est demandé sur le Display ( s’affichera en fonction du timer dht )
TxtAnim : Le texte à affiché avant l’animation
LEDstate : L’etat de la led ( true si on ) .
dht_date : Date du dernier relevé.

Infos DHT

Dans cette section on retrouvera toutes les infos remontés par le DHT.

T : la température en degrés
H : Le taux d’humidité en %
Hi : La température ressenti ( Heat index ) en degrés
p : température en degrés du point de rosée
per : Donnée en Farhenheit ( indique le confort ressentit ) , entre 50 et 59 le ressentit est confortable . Plus de détail sur ce site.
Modele : Nom du DHT en place
Status : Status du dht , si aucun probléme – ok est renvoyé , sinon code erreur.

Ci dessous , un exemple avec un script PHP , pour récupérer info version 

<?php
// exemple php pour récupérer info version
$json = file_get_contents("http://ipnotifeur/getInfo");

$parsed_json = json_decode($json);
$version = $parsed_json->{'system'}->{'version'};
echo $version;
?>
[adsense]

Le fichier de Configuration

Le fichier de configuration peut être exporté , via la page de configuration . A la première connexion , le login et mot de passe sont demandés . Par défaut ( admin / notif )

http://ip-notifheure/editconfig.html

Export ou import config

le fichier de configuration peut être , aussi , appelé directement via la requête http suivante :

http://ip-notifheure/config/config.json

ou encore , sous Websocket , en utilisant le mot clé : Config

On obtient , alors le fichier de configuration suivant . Format JSON : config.json 
Toutes les données dans ce fichiers sont modifiables , ces données sont sauvegardés et renseigne le Notif’heure lors du démarrage des valeurs par défaut à appliquer.

{
"Hostname":"Notif",
"Name":"new",
"NTPserver":"pool.ntp.org",
"timeZone":1,
"DLS":true,
"DEBUG":false,
"BOUTON1":true,
"BOUTON2":true,
"LED":true,
"multizone":false,
"DispRight":false,
"LZTime":2,
"speed_time":35,
"pause_time":3,
"interval_lux":15,
"interval_dht":10,
"interval_debug":40,
"AutoIn":true,
"TimeOn":true,
"DisSec":true,
"intensite":8,
"ddht":false,
"maxdisplay":4,
"btn1":[1,2,3],
"btn2":[4,5,6],
"txtAnim":"",
"URL_Update":"",
"URL_Action1":"",
"URL_Action2":"",
"URL_Action3":"",
"JEEDOM":true
}
  • Hostname  et name : renseigne sur la construction des différents noms utilisés sur le reseau .
    • Nom réseau = name hostname – 6derniers chiffres adresse MAC
    • Nom Bonjour : name + hostname +.local
    • Nom Notifheure / Emplacement  : name
  • NTPServer : adrese du serveur NTP
  • timezone : décalage horaire selon Zone ( entre -11 et +12 )
  • DLS : Gestion automatique heure été / Hiver
  • DEBUG : Activer / Désactiver Info DEBUG ( voir console , dans options developpement navigateur WEB )
  • Bouton1 , Bouton2 , LED : Pour activer les  boutons ou la LED . Renseigner true , si installé.
  • multizone : Pour activer / désactiver option Multizone
  • DispRight : Pour afficher l’heure à droite ( par défaut à gauche )
  • LZtime : Largeur de la Zone Horloge ( si Multizone actif ) , le reste est attribué à la zone Message.
  • speed_time : Vitesse de défilement ( valeur entre 10 et 80 ) 10 tres rapide , et 80 très très lent.
  • pause_time : Entre 0 et 30 secondes . Le temps de pause à la fin du scrolling , avant que la notification disparaisse ( 3 secondes par défaut )
  • intervall_lux : Temps en seconde , pour ajustement en mode auto de la luminosité.
  • intervall_dht : Temps en seconde , pour la lecture des données du DHT
  • intervall_debug : temps en seconde , pour remontée des infos de débogage ( dans outil serial )
  • AutoIn : Mode Auto ( true ) ou Manuel ( false )
  • TimeOn : Affichage Horloge ( true ) ou display éteint (false )
  • DisSec : Affichage des secondes ( true ) ou non ( false )
  • Intensite : Valeur de l’intensité pour mode manuel
  • ddht : Affichage de la température ( true ) sur display , ou non ( false )
  • maxdisplay : Permet de configurer le multizone dans page config ( ne pas modifier ici ) , la valeur prend celle définit dans le sketch
  • btn1 et btn2 : Action associé à chaque bouton . Pour chaque type de clic ( 1 clic , 2 clic ou 3 clic )
  • txtAnim : Valeur du texte affiché avant animation
  • URL_update : URL pour mise à jour info dans jeedom , suite à modification via bouton ou interface web
  • URL_actions : Action à définir pour les boutons.
  • JEEDOM : permet l’utilisation des URL update et actions ( true ) ou les désactive (false )

Il est possible de modifier ce fichier directement , et de le réinjecter  ( attention au format – Fichier JSON uniquement )

Via interface HTML :

En cliquant sur le bouton importer de la page config , ou en utilisant directement l’url suivante :

http://ip-notifheure/Upload

Page upload fichier config

ou via WebSocket , en envoyant une requête au format JSON du fichier config.

Autre mots clés WebSocket

Via le protocole , websocket d’autres mots clé , ont été mis en place .

MDNS : Renvoie la liste des notif’heure sur le réseau

REBOOT : Redémarre le Notif’heure

13 commentaires sur “Documentation Notif’heure”

Les commentaires sont fermés.