[DZVents] Script de notifications ultime (mais pas que)

DZVents : Fonction de notification universelle

https://easydomoticz.com/forum/viewtopic.php?f=17&t=8167

Installation du script dans domoticz

Editer le fichier /home/pi/domoticz/scripts/dzVents/scripts/global_data.lua pour ajouter la Fonction de notification universelle https://github.com/papo-o/domoticz_scri ... l_data.lua

2 - créer un fichier JsonDescription.lua dans /home/pi/domoticz/scripts/dzVents/scripts/ et coller le contenu de ce script https://github.com/papo-o/domoticz_scri ... iption.lua

3 - modifier les devices concernés en ajoutant dans le champs description le json correspondant à la fonction que l'on souhaite ajouter. un exemple de chacune des fonctions disponible est décrit en début du fichier JsonDescription.lua

Exemple 1 :
éteindre l'appareil après 2 minutes :
{
"auto_off_minutes": 2
}
Exemple 2 : éteindre l'appareil lorsqu'il est allumé depuis 5 minutes et qu'aucun mouvement n'a été détecté par le dispositif "Overloop: Motion":
{
"auto_off_minutes": 5,
"auto_off_motion_device": "Overloop: Motion"
}
Exemple 3: éteindre l'appareil lorsqu'il est allumé depuis 2 minutes et qu'aucun mouvement n'a été détecté par
    l’un des dispositifs "Motion1" ou "Motion2":

{
"auto_off_minutes": 2,
"auto_off_motion_device": ["Motion1", "Motion2"]
}

Avec cette nouvelle version vous pouvez :
    - être averti après le délai défini si la température et / ou l'hygrométrie dépassent le seuil minimal ou maximal.
    - être averti si un périphérique est allumé, éteint ou hors service
    vous pouvez mélanger les notifications souhaitées, telles que uniquement le dépassement de température maxi,
    ou  l'hygrométrie mini et maxi, ou ne pas définir d'heures calmes, ou température mini et timeout
    si vous souhaitez utiliser les fonctions de notification,  la fréquence de notifications est nécessaire
	
Example 4 : éteindre l'appareil lorsqu'il est allumé depuis x minutes et qu'aucun mouvement n'a été détecté par
    le  dispositif restartTimer et que le dispositif notTimed est eteint

{	
        "auto_off_minutes": 15,
	"auto_off_motion_device": {
		"restartTimer": "pir salon",
		"notTimed": "TV Salon"
	}
}
Example 5: : être averti si la température ou l'hygrométrie dépasse les seuils minimal ou maximal pendant un certain nombre de minutes     avec fréquence de notifications en minutes et notification des heures calmes 
{  "low_threshold_temp": 10,  "high_threshold_temp": 40,  "duration_exceeded_temp": 20,  "low_threshold_hr": 25,  "high_threshold_hr": 75,  "duration_exceeded_hr": 20,  "frequency_notifications": 60,  "quiet_hours":"23:00-07:15"   }
Example 6: être averti si le périphérique est allumé depuis x minutes
    avec fréquence de notifications en minutes et notification des heures calmes

  {
 "time_active_notification": 120,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Example 7: être averti si le périphérique est éteint depuis x minutes
    avec fréquence de notifications en minutes et notification des heures calmes

  {
 "time_inactive_notification": 2,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 8 : être averti si le périphérique est hors service depuis x minutes
    avec fréquence de notifications en minutes et notification des heures calmes

 {
"timeout_notification": 1440,
"frequency_notifications": 60,
"quiet_hours":"23:00-07:15"
  }
Exemple 9 : être averti si un périphérique % dépasse les seuils minimal ou maximal
    avec fréquence de notifications en minutes et notification des heures calmes

  {
 "low_threshold_percent": 10,
 "high_threshold_percent": 40,
 "duration_exceeded_percent": 20,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 10 :être averti si un périphérique Custom Sensor dépasse les seuils minimal ou maximal
    avec fréquence de notifications en minutes et notification des heures calmes

  {
 "low_threshold_custom": 1000,
 "high_threshold_custom": 4000,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 11 : être averti si un périphérique Alert dépasse un seuil prédéfini (1,2,3 ou 4)
    avec fréquence de notifications en minutes et notification des heures calmes

  {
 "high_threshold_color": 4,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 12 : être averti si la batterie d'un périphérique est inférieure un seuil bas
    avec fréquence de notifications en minutes et notification des heures calmes

  {
 "low_battery_level": 30,
 "high_threshold_temp": -15,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 13 : être averti si le niveau de signal (zwave, rfxcom) d'un périphérique est inférieure un seuil bas
    avec fréquence de notifications en minutes et notification des heures calmes

  {
 "low_signal_level": 2,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 14 : être averti si un périphérique puissance dépasse un seuil haut ou un seuil bas défini

  {
 "low_watt_usage": 0,
 "high_watt_usage": 10000,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
 Exemple 15 : être averti si un périphérique intensité dépasse un seuil haut ou un seuil bas défini

  {
 "low_current_usage": 0,
 "high_current_usage": 60,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 16 : allumer l'appareil après x minutes:

{
"auto_on_minutes": 1
}
Exemple 17 : être averti si le périphérique est éteint depuis x minutes
    avec fréquence de notifications en minutes et notification des heures calmes seulement via les notifications TELEGRAM
    Systèmes de notification disponibles :
    GOOGLE_CLOUD_MESSAGING, HTTP, KODI, LOGITECH_MEDIASERVER, NMA, PROWL, PUSHALOT, PUSHBULLET,PUSHOVER, PUSHSAFER, TELEGRAM

  {
  "subsystems" : "TELEGRAM",
 "time_inactive_notification": 2,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 18 : être averti si le périphérique est éteint depuis x minutes
    avec fréquence de notifications en minutes et notification des heures calmes seulement via les notifications TELEGRAM et PUSHBULLET
    Systèmes de notification disponibles :
    GOOGLE_CLOUD_MESSAGING, HTTP, KODI, LOGITECH_MEDIASERVER, NMA, PROWL, PUSHALOT, PUSHBULLET,PUSHOVER, PUSHSAFER, TELEGRAM
    Pour une notification sur plusieurs systèmes, séparez les systèmes par une virgule.

  {
  "subsystems" : "TELEGRAM,PUSHBULLET",
 "time_inactive_notification": 2,
 "frequency_notifications": 60,
 "quiet_hours":"23:00-07:15"
  }
Exemple 19  : moduler une lumière à niveau(x), jour(s) et heure(s) définis
    si "silent" : true permet de mettre à jour le niveau d'un device sans action
{
	"dimTo" : 
		{
			"1":{"level" : 75, "day" : "mon-tue-wed-thu-fri-sat", "hour" : "7:15"},
			"2":{"level" : 0,  "day" : "mon-tue-wed-thu-fri-sat", "hour" : "7:18"},
			"3":{"level" : 25,  "day" : "mon-tue-wed-thu-fri-sat", "hour" : "22:15", "silent" : true},
			"4":{"level" : 100,  "day" : "mon-tue-wed-thu-fri-sat", "hour" : "08:00", "silent" : true}
		}
}
 Exemple 20 : changer automatiquement l'icone personnalisé d'un switch selecteur
  syntaxe
  "levelNumber" : "iconNumber",
  
{"selectorIcons":{"0":"128","10":"129","20":"130","30":"131","40":"132","50":"133","60":"134","70":"135","80":"136","90":"137"}}
Exemple 21 : 
  déclarez un seuil de température via la sonde extérieure ainsi qu'une frequence de notifications et une période sans notifications éventuelle ainsi que le(s) systeme(s) de notification(s)
  dans le cas ou vous déclarez plus d'une sonde exterieure, une seule frequence de notifications et une seule période sans notification sont nécessaire
  une seule décalration de(s) systeme(s) de notification(s) suffit
  une moyenne des temperatures extérieures sera calculée chaque minute
  {
  "outdoor_temp" : 24,
  "frequency_notifications": 1440,
  "quiet_hours":"23:00-07:15",
  "subsystems" : "TELEGRAM"
  }
  déclarer ensuite un delta T entre T° extieure et T° interieure via les sondes interieures que vous souhaitez associer à cette notification.
  une moyenne des temperatures interieures et une moyenne des seuils seront calculées chaque minutes
  {"indoor_temp" : 2}