Notification sur une donnée précise
Notification sur une donnée précise
Bonjour,
étant novice dans le domaine et mes recherches étant infructueuses je me tourne vers vous .
J'ai un OWL me donnant la conso instantané et la conso global sur une journée, j'essaie tant bien que mal de mettre en place une notification quand un seuil est dépassé ( 30 Kwh )
j'ai essayer de mettre en place une notification directement dans domoticz le problème c'est que ce n'est pas fonctionnel , je reçois des notifications à 3h du mat me disant que j'ai dépassé ... alors que je ne suis pas encore au seuil.
J'ai essayer de faire cela avec un script :
return
{
on =
{
devices = {'Consommation'}
},
execute = function(domoticz, device)
if domoticz.devices("Consommation").counterToday == 30 then
domoticz.email('Electricite','oh','XXX')
end
end
}
Malheureusement cela ne fonctionne pas non plus car on dirait que il ne passe pas par la valeur 30 , il passe probablement de 29.930 à 30.123 -> donc je ne reçois pas de notification.
Si je change ma variable en > alors je reçois des notification toute les 2 minutes ...
Comment puis-je résoudre ce petit problème.
Merci
étant novice dans le domaine et mes recherches étant infructueuses je me tourne vers vous .
J'ai un OWL me donnant la conso instantané et la conso global sur une journée, j'essaie tant bien que mal de mettre en place une notification quand un seuil est dépassé ( 30 Kwh )
j'ai essayer de mettre en place une notification directement dans domoticz le problème c'est que ce n'est pas fonctionnel , je reçois des notifications à 3h du mat me disant que j'ai dépassé ... alors que je ne suis pas encore au seuil.
J'ai essayer de faire cela avec un script :
return
{
on =
{
devices = {'Consommation'}
},
execute = function(domoticz, device)
if domoticz.devices("Consommation").counterToday == 30 then
domoticz.email('Electricite','oh','XXX')
end
end
}
Malheureusement cela ne fonctionne pas non plus car on dirait que il ne passe pas par la valeur 30 , il passe probablement de 29.930 à 30.123 -> donc je ne reçois pas de notification.
Si je change ma variable en > alors je reçois des notification toute les 2 minutes ...
Comment puis-je résoudre ce petit problème.
Merci
Re: Notification sur une donnée précise
Qu'est ce qu'il se passe si l'info de conso passe de 29.99 et 30.01 ? Il n'a jamais pris la valeur.
Maintenant si tu testes avec un >=, tu recevras une notification à chaque changement au dessus de 30 : 30.01, 30.1, 30.2, etc ...
Il faudrait passer par une variable "drapeau" qui enregistre que la notification a été envoyée pour la journée. A moins qu'il y ait d'autres fonctions dans DomoticZ pour faire cela.
Une variable drapeau c'est une variable que tu passe à On lorsque tu atteins une première fois ta consigne. A ce moment là, tu envois ta notification.
Et lorsque ta consigne sera de nouveau atteinte, si la variable drapeau est à On, c'est que la notification a déjà été envoyée et donc il ne faut pas le refaire.
Évidement, il faudra remettre ta variable drapeau à Off en début de journée.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Notification sur une donnée précise
Qqchose comme ça :
?
Code : Tout sélectionner
return {
on = {
devices = { 'Consommation' },
timer = { 'at 00:07' }, -- éviter heure fixe
},
data = {
dejaNotif = { initial = false },
},
execute = function(domoticz, item)
if item.isTimer then
domoticz.data.dejaNotif = false
elseif (not domoticz.data.dejaNotif) and item.counterToday > 30 then
domoticz.email('Electricite','oh','XXX')
domoticz.data.dejaNotif = true
end
end
}Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
Re: Notification sur une donnée précise
OK je vois ,
effectivement on dirait qu'il ne prends pas ma valeur définie 30 , il passe au dessus et ne "passe" pas par 30
je vais analyser ça et tester merci
effectivement on dirait qu'il ne prends pas ma valeur définie 30 , il passe au dessus et ne "passe" pas par 30
je vais analyser ça et tester merci
Re: Notification sur une donnée précise
Non je n'y arrive pas .
voila le message qu'il me met dans les logs :
2020-05-30 16:53:24.240 Status: EventSystem: Script event triggered: /usr/local/domoticz/dzVents/runtime/dzVents.lua
2020-05-30 16:53:24.240 Error: dzVents: Error: (3.0.1) There was a problem writing the storage values
2020-05-30 16:53:24.240 Error: dzVents: Error: (3.0.1) /usr/local/domoticz/dzVents/runtime/persistence.lua:24: /usr/local/domoticz/var/scripts/dzVents/data/__data_Script #1.lua: No such file or directory
2020-05-30 16:53:26.045 Status: Notification sent (Email)
je reçois l'email toute les minutes
voila le message qu'il me met dans les logs :
2020-05-30 16:53:24.240 Status: EventSystem: Script event triggered: /usr/local/domoticz/dzVents/runtime/dzVents.lua
2020-05-30 16:53:24.240 Error: dzVents: Error: (3.0.1) There was a problem writing the storage values
2020-05-30 16:53:24.240 Error: dzVents: Error: (3.0.1) /usr/local/domoticz/dzVents/runtime/persistence.lua:24: /usr/local/domoticz/var/scripts/dzVents/data/__data_Script #1.lua: No such file or directory
2020-05-30 16:53:26.045 Status: Notification sent (Email)
je reçois l'email toute les minutes
Re: Notification sur une donnée précise
Je viens de tester le script de Boum en l'adaptant à ma config et il fonctionne
Tu as d'autres scripts DZvents qui fonctionnent ?
Mets nous tout ton script et dis nous où il est enregistré (dans domoticz ou dans un dossier [lequel?])
Tu as d'autres scripts DZvents qui fonctionnent ?
Mets nous tout ton script et dis nous où il est enregistré (dans domoticz ou dans un dossier [lequel?])
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Notification sur une donnée précise
Voici le script :
return {
on = {
devices = { 'Consommation' },
timer = { 'at 00:16' }, -- éviter heure fixe
},
data = {
dejaNotif = { initial = false },
},
execute = function(domoticz, item)
if item.isTimer then
domoticz.data.dejaNotif = false
elseif (not domoticz.data.dejaNotif) and item.counterToday > 21.250 then
domoticz.email('Electricite','Dépassement 25Kwh','john@xxxx.com')
domoticz.data.dejaNotif = true
end
end
}
le script est directement dans domoticz il est vrais que dans le choix des script dzvents il y a plusieurs choix :
All
Minimal
Device
...
la j'ai sélectionné device
Merci
return {
on = {
devices = { 'Consommation' },
timer = { 'at 00:16' }, -- éviter heure fixe
},
data = {
dejaNotif = { initial = false },
},
execute = function(domoticz, item)
if item.isTimer then
domoticz.data.dejaNotif = false
elseif (not domoticz.data.dejaNotif) and item.counterToday > 21.250 then
domoticz.email('Electricite','Dépassement 25Kwh','john@xxxx.com')
domoticz.data.dejaNotif = true
end
end
}
le script est directement dans domoticz il est vrais que dans le choix des script dzvents il y a plusieurs choix :
All
Minimal
Device
...
la j'ai sélectionné device
Merci
Re: Notification sur une donnée précise
Tu ne m'a pas répondu :
Pour comprendre ce qui plante, il faut déboguer. Tu sais utiliser : domoticz.log('XXX', domoticz.LOG_INFO) ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Notification sur une donnée précise
je n'ai pas d'autre script en dzvents, lua oui.
j'avais mon premier en dzvents et il fonctionnait sans probleme ( sauf qu'il m'envoyait des message toute les minutes )
non je ne connais pas le domoticz.log ...
j'avais mon premier en dzvents et il fonctionnait sans probleme ( sauf qu'il m'envoyait des message toute les minutes )
non je ne connais pas le domoticz.log ...
Re: Notification sur une donnée précise
Je pose la question car des fois DZvents ne fonctionne pas sur certaines plateformes (par exemple Windows). Donc ça vient pas de là.
Donc, il faut passer au débogage : la ligne domoticz.log('XXX', domoticz.LOG_INFO) correspond au print('XX') en LUA. Tu vois ce que c'est ?
L'idée est d'en ajouter dans ton code pour afficher les infos utilisées afin de trouver à quel niveau se trouve l'erreur.
Donc, il faut passer au débogage : la ligne domoticz.log('XXX', domoticz.LOG_INFO) correspond au print('XX') en LUA. Tu vois ce que c'est ?
L'idée est d'en ajouter dans ton code pour afficher les infos utilisées afin de trouver à quel niveau se trouve l'erreur.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos