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.
0 | Apparition / disparition par point |
1 | Affichage sans effet |
2 | Effet scanner horizontal |
3 | Scrolling gauche |
4 | Ne fait rien ( sert pour le fix ) |
5 | Apparition / disparition effet efface |
6 | balayage verticale |
7 | Scrolling diagonal haut-gauche |
8 | Scrolling Haut |
9 | Fondu |
10 | Effet curseur ouverture |
11 | Apparition / Disparition par le bas |
12 | Scrolling diagonal haut-droite |
13 | Blinds ( effet persienne ) |
14 | PAC MAN / PAC MAN + fantôme |
15 | Ouverture / Fermeture |
16 | Apparition / Disparition par le haut |
17 | effet scanner vertical |
18 | Scrolling diagonal bas-gauche |
19 | curseur horizontal |
20 | balayage horizontal |
21 | Brouillage |
22 | Entrelaçement |
23 | Fermeture / Ouverture |
24 | Effet curseur fermeture |
25 | Scrolling diagonal haut-gauche |
26 | Scrolling droite |
27 | effet tranche |
28 | Scrolling 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 :
- Affichage des secondes
- Affichage de l’horloge
- Mode Auto / Manuel
- ON / OFF LED
- Action 1 ( URL 1 )
- Action 2 ( URL 2 )
- 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
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
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”
Projet Magnifique merci beaucoup à toi juste dommage que tout ne sois pas configuré pour un panneau led genre WS2812sa aurai donné encore plus d’effet 😉
bonjour brice ,
En effet avec un WS2812 , ça serait plus joli , mais cela couterait aussi plus cher et consommerait beaucoup plus. Le but du notifheure est d’offrir un petit afficheur économique et de pouvoir en brancher plusieurs dans la maison , sans faire exploser sa consommation .
Mais , il est possible que sur un autre projet , dédié au WS2812 ….
C’est encore moi pour une question subsidiaire (merci beaucoup pour ta réponse précédente) ! J’ai besoin, pour contourner un soucis que je ne réussi pas à cerner, de pouvoir rebooter le Wemos. Je ne trouve pas de solution ou s’il en existe une, je n’ai pas compris comment je pourrai initier un reboot sans passer manuellement par la page de config de NotifHeure ?
Bonjour ,
a ce jour le seul moyen de reboot à distance ne peut s’effectuer que via une commande Websocket , avec le mot clé REBOOT .
Je n’ai pas encore implanter cette fonction via une commande HTML , je met cela au programme des mises à jour et correctif à faire pour la v3.3.4
Bonsoir Byfeel, penses-tu qu’il serait possible d’ajouter la gestion du minuteur à ton API… pour le gérer par script ?
Bonjour Masterfion ,
En effet je n’ai oublié de mettre à jour la documentation , je vais le faire .
le minuteur , peut être programmé de la même façon que l’affichage des secondes . En utilisant l’url : http://ip-notifheure/Options?OPT=valeur
ou OPT = MIN et la valeur est le temps du minuteur en Secondes . par exemple pour un minuteur de 5 minutes .
http://ip-notifheure/Options?MIN=300
Pour annuler le minuteur il suffit de mettre à 0 la valeur.
http://ip-notifheure/Options?MIN=0 ( annule le minuteur en cours )
Pour afficher ou masquer le minuteur , j’utilise une simple bascule , qui peut etre activé avec l’option CR
http://ip-notifheure/Options?CR=xx ( pas d’importance pour la valeur xx ) – Affiche ou masque l’affichage du minuteur .
Hello Byfeel, je suis entrain de finaliser un plugin pour la box eedomus mais j’ai un souci : y a pas moyen de mettre deux options en meme temps ? Par exemple : http://192.168.X.XXX/Options?LUM=0&INT=0
L url option ne gère qu’une option à la fois.
Dans le cas de int ´ cette option n a d intérêts que si le mode manuel est activé.
En conclusion si on veut mettre la luminosité à zéro. Il faut dans un premier temps désactiver le mode auto ( qui prendra la valeur par défaut dû photocell) puis de régler int a zéro.
Pour info si pas de photocell installé le mode est manuel .
Pour une box , pas gênant il suffit d envoyer le code manuel puis un deuxième envoie pour int à zéro.
Ok merci pour cette précision, j’ai finalement crée une macro, c’est plus simple que devoir cliquer deux fois. Le plugin est prêt il manque les icônes, un membre du forum va m’en faire des plus jolies, un surprise t’attend 😉
Super , des que tu as finalisé tout ça , on pourra faire un article dessus. Je n’ai que l’experience de jeedom et domoticz pour l’instant .
Merci pour la doc détaillée 🙂
Merci pour ce résumé très pratique, je le garde en PDF chez moi.