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

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

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

Message par boum »

Wolfen38 a écrit : 26 août 2019, 19:37 Car la je m'y perds, lastseen existe ou n'existe pas ????
Ça devient un peu plus compliqué. Dans dzVents, device.lastUpdate est donc le temps depuis le dernier changement d'état. Il est possible d'obtenir la valeur « Last seen » de l'interface web, en passant par le JSON. Mais là l'attribut s'appelle LastUpdate ! :lol:

viewtopic.php?f=28&t=8251&start=10#p67960
https://www.domoticz.com/forum/viewtopi ... 46#p217772
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

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

Message par denis_brasseur »

Tu peux aussi utiliser une des fonctionnalités suivantes :
time_active_notification
time_inactive_notification

Code : Tout sélectionner

Example 5 : be notified if device is on since x minutes
    with notifications frequency in minutes and quiet hours notification
Exemple 5 : ê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 6 : be notified if device is off since x minutes
    with notifications frequency in minutes and quiet hours notification
Exemple 6 : ê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"
  }
Utilisable avec des périphériques On/Off ou Open/Close.

Pour utiliser l'attribut LastUpdate, tu peux insérer ceci dans le code

Code : Tout sélectionner

--[[
Exemple 18 : être averti si le lasteseen périphérique est supérieur à x minutes
    avec fréquence de notifications en minutes et notification des heures calmes

 {
"last_seen_notification": 1440,
"frequency_notifications": 60,
"quiet_hours":"23:00-07:15"
  }
  --]]

Code : Tout sélectionner

 -- Alarme dispositif injoignable => LastUpdate 
						
	if settings.last_seen_notification and device.lastUpdate.minutesAgo ~= nil then
		if device.lastUpdate.minutesAgo >= settings.last_seen_notification then --temps depuis le dernier changement d'état
			domoticz.log(device.name .. ' est injoignable. Sa dernière mise a jour remonte à ' .. device.lastUpdate.minutesAgo .. ' minutes (LastUpdate).', domoticz.LOG_INFO)
			message = device.name .. ' dernière mise a jour remonte à '.. tostring(settings.last_seen_notification) ..' minutes (LastUpdate).'
			domoticz.helpers.managedNotify(domoticz, subject, message, notificationTable(subSystems), frequency_notifications , quiet_hours)
		end
	end 
  
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

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

Message par Wolfen38 »

Merci les gars, je regarde tout va.
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

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

Message par Wolfen38 »

denis_brasseur a écrit : 27 août 2019, 18:29 Tu peux aussi utiliser une des fonctionnalités suivantes :
time_active_notification
time_inactive_notification

Code : Tout sélectionner

Example 5 : be notified if device is on since x minutes
    with notifications frequency in minutes and quiet hours notification
Exemple 5 : ê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 6 : be notified if device is off since x minutes
    with notifications frequency in minutes and quiet hours notification
Exemple 6 : ê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"
  }
Utilisable avec des périphériques On/Off ou Open/Close.

Pour utiliser l'attribut LastUpdate, tu peux insérer ceci dans le code

Code : Tout sélectionner

--[[
Exemple 18 : être averti si le lasteseen périphérique est supérieur à x minutes
    avec fréquence de notifications en minutes et notification des heures calmes

 {
"last_seen_notification": 1440,
"frequency_notifications": 60,
"quiet_hours":"23:00-07:15"
  }
  --]]

Code : Tout sélectionner

 -- Alarme dispositif injoignable => LastUpdate 
						
	if settings.last_seen_notification and device.lastUpdate.minutesAgo ~= nil then
		if device.lastUpdate.minutesAgo >= settings.last_seen_notification then --temps depuis le dernier changement d'état
			domoticz.log(device.name .. ' est injoignable. Sa dernière mise a jour remonte à ' .. device.lastUpdate.minutesAgo .. ' minutes (LastUpdate).', domoticz.LOG_INFO)
			message = device.name .. ' dernière mise a jour remonte à '.. tostring(settings.last_seen_notification) ..' minutes (LastUpdate).'
			domoticz.helpers.managedNotify(domoticz, subject, message, notificationTable(subSystems), frequency_notifications , quiet_hours)
		end
	end 
  
La deuxième partie de code, enfin pas le commentaire, je le mets où dans le script ?
Merci.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

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

Message par papoo »

Denis t’indique les fonctionnalités du script, pour l’utiliser tel quel plutôt que de reconstruire un script à côté
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

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

Message par denis_brasseur »

Après ceci, par exemple :

Code : Tout sélectionner

            -- Alarme dispositif injoignable
                        if settings.timeout_notification and device.timedOut then
                            domoticz.log(device.name .. ' est injoignable. Sa dernière activité remonte à ' .. device.lastUpdate.minutesAgo .. ' minutes.', domoticz.LOG_INFO)
                            message = device.name .. ' est injoignable depuis '.. tostring(settings.timeout_notification) ..' minutes'
                            domoticz.helpers.managedNotify(domoticz, subject, message, notificationTable(subSystems), frequency_notifications , quiet_hours)
                        end   
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

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

Message par Wolfen38 »

Petit retour.

Avec ton rajout, je n'ai plus d'alertes intempestives déjà. Donc pour ca, c'est cool.

Maintenant j'attends qu'un device se déconnecte pour voir si j'ai bien la notif.

Merci.
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

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

Message par denis_brasseur »

Wolfen38 a écrit : 29 août 2019, 05:11 Petit retour.

Avec ton rajout, je n'ai plus d'alertes intempestives déjà. Donc pour ca, c'est cool.

Maintenant j'attends qu'un device se déconnecte pour voir si j'ai bien la notif.

Merci.
J'insiste encore un peu, ce n'est le fait qu'un device se déconnecte qui va générer la notification, mais le fait que ton périphérique ait un LastUpdate > à ta consigne, donc un changement d'état > à ta consigne.
Ce n'est pas parce que ma porte d'entrée est fermée depuis 917 mn que le périphérique est déconnecté.
Porte entree est injoignable. Sa dernière mise a jour remonte à 917 minutes (LastUpdate)
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
Wolfen38
Messages : 1983
Inscription : 19 oct. 2017, 14:49

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

Message par Wolfen38 »

denis_brasseur a écrit :
Wolfen38 a écrit : 29 août 2019, 05:11 Petit retour.

Avec ton rajout, je n'ai plus d'alertes intempestives déjà. Donc pour ca, c'est cool.

Maintenant j'attends qu'un device se déconnecte pour voir si j'ai bien la notif.

Merci.
J'insiste encore un peu, ce n'est le fait qu'un device se déconnecte qui va générer la notification, mais le fait que ton périphérique ait un LastUpdate > à ta consigne, donc un changement d'état > à ta consigne.
Ce n'est pas parce que ma porte d'entrée est fermée depuis 917 mn que le périphérique est déconnecté.
Porte entree est injoignable. Sa dernière mise a jour remonte à 917 minutes (LastUpdate)
Ah oui en effet c'est pas encore ce que je recherche. Tant pis.

Merci

Envoyé de mon Mi A1 en utilisant Tapatalk

djksage
Messages : 190
Inscription : 16 déc. 2015, 19:42

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

Message par djksage »

Bonjour,

merci pour votre partage, j'ai implémente ça hier et ça DECHIRE :o

avec le système de vérification de la conso minimum je sais savoir si il y a une panne de courant (mon rpi est connecté à un UPS), contrôler le % des batteries et surtout la gestion de l'éclairage couplé aux détecteurs de mouvement :P

Je n'y connais rien en script mais est-ce qu'il serais possible de contrôler le % d'intensité lumineuse en fonction d'un horaire?
par exemple :

{
"time_attenuation":"21:00-22:00",
"pourcentage_attenuation": 80,
"time_attenuation":"22:01-06:00",
"pourcentage_attenuation": 35,
"time_attenuation":"06:01-20:59",
"pourcentage_attenuation": 100
}

Je ne pense pas dans l'état car le script tourne toutes les minutes, faudrait lui ajouter un script pour pouvoir gérer ça mais c'est hors de ma porté :(
Répondre