Page 1 sur 1

DZVENTS : persistent data

Publié : 12 nov. 2020, 12:21
par pierrotori
Bonjour
J'utilise de plus en plus les persistent data dans les programme afin de mémoriser certains états de traitement
Du coup je me posais la question si quelqu'un du forum avait monté en RAM le répertoire /home/pi/domoticz/scripts/dzVents/data ?
Pierre

Re: DZVENTS : persistent data

Publié : 12 nov. 2020, 21:37
par Keros
Tu souhaites les faire pour apporter de la réactivité ou pour soulager ton support de stockage ?

Pour moi, j'y vois trop de risques de déstabiliser ton système : une mise à jour ou un changement et ton DomoticZ peut-être en carafe :roll:

Re: DZVENTS : persistent data

Publié : 12 nov. 2020, 21:43
par pierrotori
avant tout c'est pour soulager la carte SD car script tourne toutes les min

certe par rapport à la mise à jour de domoticz mais vu que ce sont des données d'init et de gestion initialisé par les scripts le risque est minime. je pourrais mettre un link vers le rep tmp.

je vais finir mon script et faire test en RAM

Re: DZVENTS : persistent data

Publié : 13 nov. 2020, 06:53
par Keros
Si tu veux soulager ta carde SD, un moyen super efficace est de passer sur un SSD ;)

Re: DZVENTS : persistent data

Publié : 14 nov. 2020, 12:01
par pierrotori
oui je sais mais cette option n'est pas à l'ordre du jour

par contre quand je passe cette cmd : df | grep -E 'tmpfs|bloc'

Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur
devtmpfs 462568 0 462568 0% /dev
tmpfs 495848 0 495848 0% /dev/shm
tmpfs 495848 25224 470624 6% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 495848 0 495848 0% /sys/fs/cgroup
tmpfs 10240 28 10212 1% /tmp
tmpfs 10240 0 10240 0% /var/tmp
tmpfs 99168 0 99168 0% /run/user/1000

j'ai donc un répertoire tmp en ram si j'ajoute mon tmp/data dans ce répertoire , il sera en ram ou il faut aussi que je créé un tmpfs sur le var/tmp ?
dit autrement , est ce que les sous répertoires d'un répertoire en RAM sont systématiquement en RAM ?

Re: DZVENTS : persistent data

Publié : 16 nov. 2020, 12:34
par pierrotori
Du coup je viens de mettre en place le script notification universel se trouvant ici version 1.13
https://github.com/papo-o/domoticz_scri ... iption.lua

script puissant 45 devices scannées , richesses du paramétrage sur alertes interrupteur et température etc, par contre +10 % de plus de CPU sur la raspberry

Est ce que vous l'avez mis en place, qu'en pensez vous en terme d'exploitation?

Re: DZVENTS : persistent data

Publié : 16 nov. 2020, 12:36
par Keros
C'est pas le script de notification ultime qui est ?

Re: DZVENTS : persistent data

Publié : 16 nov. 2020, 13:14
par pierrotori
oui sur ton lien 1.11 et celui sur ghitub 1.13

un exemple pour 2 fenêtres ouvertes plus de 2 minutes avec ce codage dans description
{
"subsystems" : "HTTP",
"time_active_notification": 2,
"frequency_notifications": 10
}

13:17:00.467 NOTIFICATION UNIVERSELLE v1.13: salon_Sensor est à l'état Open
13:17:00.467 NOTIFICATION UNIVERSELLE v1.13: --------------------------------------------------------------------------------------------------
13:17:00.503 NOTIFICATION UNIVERSELLE v1.13: la moyenne des temperatures exterieures est de 0.0°C
13:17:00.503 NOTIFICATION UNIVERSELLE v1.13: la moyenne des temperatures intérieures est de 0.0°C
13:17:00.503 NOTIFICATION UNIVERSELLE v1.13: la moyenne des delta T est de 0.0°C
13:17:00.503 NOTIFICATION UNIVERSELLE v1.13: la moyenne des seuils est de 0.0°C
13:17:00.503 NOTIFICATION UNIVERSELLE v1.13: 45 devices scannés.
13:17:00.505 NOTIFICATION UNIVERSELLE v1.13: ------ Finished t_notification.lua

13:18:00.419 NOTIFICATION UNIVERSELLE v1.13: ------ Start external script: t_notification.lua:, trigger: "every minute"
13:18:00.493 NOTIFICATION UNIVERSELLE v1.13: la fréquence de notification pour cuisine_Sensor est de 10 minutes
13:18:00.494 NOTIFICATION UNIVERSELLE v1.13: cuisine_Sensor est à l'état Open
13:18:00.494 NOTIFICATION UNIVERSELLE v1.13: --------------------------------------------------------------------------------------------------
13:18:00.498 NOTIFICATION UNIVERSELLE v1.13: la fréquence de notification pour salon_Sensor est de 10 minutes
13:18:00.498 NOTIFICATION UNIVERSELLE v1.13: salon_Sensor est à l'état Open
13:18:00.498 NOTIFICATION UNIVERSELLE v1.13: --------------------------------------------------------------------------------------------------
13:18:00.535 NOTIFICATION UNIVERSELLE v1.13: la moyenne des temperatures exterieures est de 0.0°C
13:18:00.535 NOTIFICATION UNIVERSELLE v1.13: la moyenne des temperatures intérieures est de 0.0°C
13:18:00.535 NOTIFICATION UNIVERSELLE v1.13: la moyenne des delta T est de 0.0°C
13:18:00.535 NOTIFICATION UNIVERSELLE v1.13: la moyenne des seuils est de 0.0°C
13:18:00.535 NOTIFICATION UNIVERSELLE v1.13: 45 devices scannés.
13:18:00.537 NOTIFICATION UNIVERSELLE v1.13: ------ Finished t_notification.lua

13:19:00.437 NOTIFICATION UNIVERSELLE v1.13: ------ Start external script: t_notification.lua:, trigger: "every minute"
13:19:00.517 NOTIFICATION UNIVERSELLE v1.13: la fréquence de notification pour cuisine_Sensor est de 10 minutes
13:19:00.517 NOTIFICATION UNIVERSELLE v1.13: cuisine_Sensor est à l'état Open
13:19:00.517 NOTIFICATION UNIVERSELLE v1.13: cuisine_Sensor est actif depuis 2 minutes. Le délai est fixé à 2 minutes.
13:19:00.517 NOTIFICATION UNIVERSELLE v1.13: --------------------------------------------------------------------------------------------------
13:19:00.522 NOTIFICATION UNIVERSELLE v1.13: la fréquence de notification pour salon_Sensor est de 10 minutes
13:19:00.522 NOTIFICATION UNIVERSELLE v1.13: salon_Sensor est à l'état Open
13:19:00.522 NOTIFICATION UNIVERSELLE v1.13: salon_Sensor est actif depuis 2 minutes. Le délai est fixé à 2 minutes.
13:19:00.523 NOTIFICATION UNIVERSELLE v1.13: --------------------------------------------------------------------------------------------------
13:19:00.563 NOTIFICATION UNIVERSELLE v1.13: la moyenne des temperatures exterieures est de 0.0°C
13:19:00.563 NOTIFICATION UNIVERSELLE v1.13: la moyenne des temperatures intérieures est de 0.0°C
13:19:00.563 NOTIFICATION UNIVERSELLE v1.13: la moyenne des delta T est de 0.0°C
13:19:00.563 NOTIFICATION UNIVERSELLE v1.13: la moyenne des seuils est de 0.0°C
13:19:00.564 NOTIFICATION UNIVERSELLE v1.13: 45 devices scannés.
13:19:00.565 NOTIFICATION UNIVERSELLE v1.13: ------ Finished t_notification.lua

13:19:00.566 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
13:19:00.568 Status: Notification: Attention:
13:19:00.568 Status: Notification: Attention:
13:19:01.521 Notification sent (http) => Success
13:19:02.099 Notification sent (http) => Success

13:20:00.444 NOTIFICATION UNIVERSELLE v1.13: ------ Start external script: t_notification.lua:, trigger: "every minute"
13:20:00.516 NOTIFICATION UNIVERSELLE v1.13: la fréquence de notification pour cuisine_Sensor est de 10 minutes
13:20:00.517 NOTIFICATION UNIVERSELLE v1.13: cuisine_Sensor est à l'état Open
13:20:00.517 NOTIFICATION UNIVERSELLE v1.13: cuisine_Sensor est actif depuis 3 minutes. Le délai est fixé à 2 minutes.
13:20:00.517 NOTIFICATION UNIVERSELLE v1.13: le message 'Le délai fixé à 2 minutes pour cuisine_Sensor est dépassé' a été envoyé Lundi, 16 Novembre 2020 (13:19)
13:20:00.517 NOTIFICATION UNIVERSELLE v1.13: --------------------------------------------------------------------------------------------------
13:20:00.522 NOTIFICATION UNIVERSELLE v1.13: la fréquence de notification pour salon_Sensor est de 10 minutes
13:20:00.522 NOTIFICATION UNIVERSELLE v1.13: salon_Sensor est à l'état Open
13:20:00.522 NOTIFICATION UNIVERSELLE v1.13: salon_Sensor est actif depuis 3 minutes. Le délai est fixé à 2 minutes.
13:20:00.522 NOTIFICATION UNIVERSELLE v1.13: le message 'Le délai fixé à 2 minutes pour salon_Sensor est dépassé' a été envoyé Lundi, 16 Novembre 2020 (13:19)
13:20:00.522 NOTIFICATION UNIVERSELLE v1.13: --------------------------------------------------------------------------------------------------
13:20:00.558 NOTIFICATION UNIVERSELLE v1.13: la moyenne des temperatures exterieures est de 0.0°C
13:20:00.559 NOTIFICATION UNIVERSELLE v1.13: la moyenne des temperatures intérieures est de 0.0°C
13:20:00.559 NOTIFICATION UNIVERSELLE v1.13: la moyenne des delta T est de 0.0°C
13:20:00.559 NOTIFICATION UNIVERSELLE v1.13: la moyenne des seuils est de 0.0°C
13:20:00.559 NOTIFICATION UNIVERSELLE v1.13: 45 devices scannés.
13:20:00.560 NOTIFICATION UNIVERSELLE v1.13: ------ Finished t_notification.lua

ce qu'il y a dans -- Persistent Data

local multiRefObjects = {

} -- multiRefObjects
local obj1 = {
["domoticzLocation"] = "France";
["managedNotifications"] = {
["Le délai fixé à 2 minutes pour salon_Sensor est dépassé"] = 1605529140;
["Le délai fixé à 2 minutes pour cuisine_Sensor est dépassé"] = 1605529140;
};
}
return obj1

je trouve le script puissant et paramétrable facilement, merci à celui qui l'a créé
De mon côté j'aimerais faire le check de la porte ouverte plus de 2 min uniquement en automne et hiver

L'avantage du script il s'exécute et traite toutes les devices, sinon il aurait fallu en faire un par device ou par catégorie de règle à vérifier

Re: DZVENTS : persistent data

Publié : 16 nov. 2020, 18:22
par Keros
Je pense que tu peux faire un device virtuel que tu passes à On en automne et en hiver et tu rajoutes dans le script une condition sur ce device avant d'envoyer la notification.

Re: DZVENTS : persistent data

Publié : 16 nov. 2020, 18:44
par pierrotori
ou dans global_data

WhichSeason = function(domoticz)
local tNow = os.date("*t")
local dayofyear = tNow.yday
local season
if (dayofyear >= 79) and (dayofyear < 172) then season = "spring"
elseif (dayofyear >= 172) and (dayofyear < 266) then season = "summer"
elseif (dayofyear >= 266) and (dayofyear < 355) then season = "autumn"
else season = "winter"
end
return season
end,