Page 1 sur 2

Commandes à répétition

Publié : 21 janv. 2017, 15:02
par Jihem
Bonjour
Un système de délestage éteint mes prises Chacon à chaque coupure ce qui m'oblige à renvoyer une commande "On" dans un script_time.lua toutes les minutes.
Cela fait 1440 commandes par jour et par prise.
En dehors du fait d'avoir des pages et des pages d'historique, cela peut il peut avoir une influence notable sur la durée de la carte?
S'agissant du maintient hors gel d'une maison en montagne (-20° ces jours), cela est de la plus haute importance.
Merci d'avance

Re: Commandes à répétition

Publié : 25 févr. 2017, 10:49
par Jihem
Bonjour
Je relance la question:
Est il dommageable pour la carte SD du raspberry d'avoir un grand nombre d'écritures de logs.

Code : Tout sélectionner

if otherdevices['MyDeviceName'] == 'On'  then
   commandArray['MyOtherDeviceName1']='On
écriture qui se reproduit toutes les minutes et pour chaque interrupteur dans un script_time.lua
Merci

Re: Commandes à répétition

Publié : 25 févr. 2017, 16:26
par balajol
Bonjour,
Je ne me prononcerai pas pour la carte SD mais je viens d'adopter une solution pour mon script "Thermostat"
J'ai détourné l'idée de Vil1driver qui consistait à créer un dispositif virtuel avec une mise à Off après la durée nécessaire avant une nouvelle exécution du script.
Post d'origine:
viewtopic.php?t=373

Dispositif virtuel créé: 'Frequence_MAJ_Thermostat' (On /Off)

Pour le thermostat j'ai mis une commande à off après 4 mn
et dans le script (Qui doit être de type "DEVICE" et non plus "TIME"):

Code : Tout sélectionner

commandArray = {}
if (devicechanged['Frequence_MAJ_Thermostat'] == 'Off') then
    commandArray['Frequence_MAJ_Thermostat']= 'On'
    
    
  --Ton script ici     
    
    
   end   
return commandArray 

De cette façon mon script thermostat s'exécute toutes les 4 mn , Ce qui est suffisant.
Cela m'évite de monopoliser DOMOTICZ pour envoyer plusieurs commandes inutiles toutes les minutes , ainsi que de diminuer les LOGS..
Cdt
Bertrand

Re: Commandes à répétition

Publié : 25 févr. 2017, 20:09
par vil1driver
Salut,

pour n'effectuer des actions que toutes les 4 minutes il y a plus simple,

ma bidouille c'était pour être en dessous de la minute...

tu peux donc faire ceci dans un script_time

Code : Tout sélectionner

time = os.date("*t")

if ( time.min%4 == 0 ) then

--Ton script ici   

end
@Jihem,

depuis que tu es sur ce forum, tu n'as jamais vu de sujet sur les préconisations pour préserver sa carte sd ? :o

Re: Commandes à répétition

Publié : 25 févr. 2017, 21:02
par balajol
vil1driver a écrit :Salut,

pour n'effectuer des actions que toutes les 4 minutes il y a plus simple,

ma bidouille c'était pour être en dessous de la minute...

tu peux donc faire ceci dans un script_time

Code : Tout sélectionner

time = os.date("*t")

if ( time.min%4 == 0 ) then

--Ton script ici   

end
Bonsoir,
une commande nouvelle apprise chaque jour :)
Merci
Cdt
Bertrand

Re: Commandes à répétition

Publié : 26 févr. 2017, 18:42
par Jihem
Bonjour Vil1driver
J'ai effectivement souvent vu des sujets concernant la préservation de la carte SD mais ils mettent en œuvre des méthodes que je ne maitrise pas vraiment.
Je ne sais pas bien non plus qui écrit quoi et où?
En l’occurrence, il s'agit des logs des interrupteurs qui, je pense, doivent être écrits dans la base de donnée qui est dans /home/pi/domoticz/.
Je ne sais pas du tout si l'on peut les écrire dans un Ramdrive?
Merci de tes lumières
Cordialement
Jihem

Re: Commandes à répétition

Publié : 26 févr. 2017, 19:37
par vil1driver
Je voulais juste dire que tu connais déjà la réponse à ta question
Jihem a écrit : Est il dommageable pour la carte SD du raspberry d'avoir un grand nombre d'écritures de logs.
C'est OUI.

Pour préserver je n'ai pas d'expérience donc je laisse les autres te conseiller..
Tu peux déjà éviter d'envoyer sans cesse la commande même si je trouve cela sécurisant..
Tu peux comme on le disait plus haut n'envoyer que toutes les 15 minutes par exemple, ce qui réduit déjà fortement le nombre d'écrire.

Pour le reste la meilleure méthode selon moi est d'avoir tout domoticz sur un disque usb..

Re: Commandes à répétition

Publié : 26 févr. 2017, 21:34
par aleph0
Je confirme, une flash qu'elle quelle soit à un nombre maximum d'écriture possible par cellule.

Pour tes logs, le plus simple est de les mettre dans un ram disk avec un bon log rotate adapté à la taille du ram disk.

Reste le problème de la dB. Il existe des systèmes de fichiers spécialisés pour les disques flash, qui répartissent les écritures sur le plus grand nombre de cellules possible. Donc formater la partition qui reçoit la dB avec un système de fichier de ce type peut permettre de gagner en durée de vie

Et surtout, ne pas perdre de vue qu'on joue avec le feu à mettre une dB sur une SD, donc en avoir une de rabe prête à prendre le relève, et mettre les backups auto ailleurs (cloud ?)

Re: Commandes à répétition

Publié : 28 févr. 2017, 15:11
par Jihem
Merci de vos réponses.
J'en conclue que cette pauvre "SD" est bien en sursis mais jusqu'à quand?
En attendant je vais suivre vos conseils, limiter les écritures et sauvegarde sur un autre support.
A défaut de pouvoir la seconder avec un disque dur il est peut-être aussi prudent de la changer régulièrement. (Ou d'utiliser une carte de grande capacité ?)

Re: Commandes à répétition

Publié : 28 févr. 2017, 15:17
par vil1driver
de grande capacité oui mais en veillant à ce que la partition système occupe le maximum d'espace, ce n'est pas toujours le cas