erreur de script lua à heure fixe
Re: erreur de script lua à heure fixe
Le code incriminé fonctionne très bien 99% du temps
mais lorsqu'il se lance en même temps que les sauvegardes de BDD initiées par Dz (sauvegarde toutes les heures à 00) mon pi n'a pas les ressources suffisantes pour tout faire à la fois. Mais vous avez raison, il est surement possible de l'optimiser. Ce que je ne sais pas faire.
n’hésitez d'ailleurs pas à proposer des améliorations de mes scripts j'accepte la critique surtout lorsqu'elle est constructive
mais lorsqu'il se lance en même temps que les sauvegardes de BDD initiées par Dz (sauvegarde toutes les heures à 00) mon pi n'a pas les ressources suffisantes pour tout faire à la fois. Mais vous avez raison, il est surement possible de l'optimiser. Ce que je ne sais pas faire.
n’hésitez d'ailleurs pas à proposer des améliorations de mes scripts j'accepte la critique surtout lorsqu'elle est constructive
Re: erreur de script lua à heure fixe
Bonsoir,
J'ai le même type d'erreur dans un script très court qui me permet d'actualiser un dummy Thermostat avec les valeurs actuellement prises en comptes par le scipt Lua "thermostat"
J'ai longtemps cru que le script thermostat était en cause avant de m'apercevoir que
seules ces quelques lignes sont en cause et les ai donc sorties.. consigne_thermostat est une variable utilisateur type decimal
cdt
Bertrand
J'ai le même type d'erreur dans un script très court qui me permet d'actualiser un dummy Thermostat avec les valeurs actuellement prises en comptes par le scipt Lua "thermostat"
Code : Tout sélectionner
--Mise a jour thermostat Val_Cons_Actu
time = os.date("*t")
Val_Cons_Actu_= "644"-- idx dummy Thermostat Val_Cons_Actu
consigne2=uservariables["consigne_thermostat"]
commandArray = {}
if ( time.min%2 == 0 ) then--Lancement Script toutes les 2 minutes
commandArray= { ['UpdateDevice'] = Val_Cons_Actu_..'|0|'..consigne2 }
end
return commandArray
seules ces quelques lignes sont en cause et les ai donc sorties.. consigne_thermostat est une variable utilisateur type decimal
cdt
Bertrand
2024.6 PC Windows10 ; 2ème DEBIAN 10;DANFOSS LC13, Topp; Senseurs univ FIBARO FGBS001, Flood Sensor, ZMNHBD1 Flush 2 Relays ; FIBARO FGS222-FGS212;RFXCOM-RFXtrx433 USB 433.92MHz , Prises Phénix, Prises et Eclairage DI-O, SOMFY RTS,Sonoff ..
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: erreur de script lua à heure fixe
Je pense que ton problème aurait mérité son propre sujet..
2 choses,
Utilise un script de type variable c'est plus adapté
Ainsi il ne se lancerait pas inutilement.
Et, tu peux remplacer l'idx par otherdevices_idx['nom du device'], par simplicité d'usage
Bon tout ceci ne règlerait probablement pas ton souci..
Par contre tu peux tester au lieu du updatedevice un openurl vers la commande json qui va bien
J'ai souvent eu de meilleurs résultats ainsi
2 choses,
Utilise un script de type variable c'est plus adapté
Ainsi il ne se lancerait pas inutilement.
Et, tu peux remplacer l'idx par otherdevices_idx['nom du device'], par simplicité d'usage
Bon tout ceci ne règlerait probablement pas ton souci..
Par contre tu peux tester au lieu du updatedevice un openurl vers la commande json qui va bien
J'ai souvent eu de meilleurs résultats ainsi
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: erreur de script lua à heure fixe
Bonsoir,
Merci de ton retour,
J' ai pensé qu'il pouvait y avoir une cause commune (surement à tors
)
Je n'avais pas vu qu'il y avait la possibilité de scipt UserVariable .
Edit:
Précision: malgré le message d'erreur, le thermostat se met à jour.
Cdt
Bertrand
Merci de ton retour,
J' ai pensé qu'il pouvait y avoir une cause commune (surement à tors
Je n'avais pas vu qu'il y avait la possibilité de scipt UserVariable .
Edit:
Précision: malgré le message d'erreur, le thermostat se met à jour.
Cdt
Bertrand
Dernière modification par balajol le 12 avr. 2017, 01:43, modifié 1 fois.
2024.6 PC Windows10 ; 2ème DEBIAN 10;DANFOSS LC13, Topp; Senseurs univ FIBARO FGBS001, Flood Sensor, ZMNHBD1 Flush 2 Relays ; FIBARO FGS222-FGS212;RFXCOM-RFXtrx433 USB 433.92MHz , Prises Phénix, Prises et Eclairage DI-O, SOMFY RTS,Sonoff ..
Re: erreur de script lua à heure fixe
Mon code est forcément le meilleur, vu que c'est le mien
@papoo, c'est lequel de tes scripts qui plante ?
Je sais par exemple qu'en mettant un timeout sur mes requêtes 'curl' (et en gérant la réponse null derrière) j'ai fait disparaître ces vilaines erreurs.
@papoo, c'est lequel de tes scripts qui plante ?
Je sais par exemple qu'en mettant un timeout sur mes requêtes 'curl' (et en gérant la réponse null derrière) j'ai fait disparaître ces vilaines erreurs.
Re: erreur de script lua à heure fixe
Il fonctionne très bienNeutrino a écrit : @papoo, c'est lequel de tes scripts qui plante ?
il a juste un raté de temps à autre : Prévision de pluie en lua V2 => viewtopic.php?f=10&t=2788
mais aussi : export ThingSpeak => viewtopic.php?f=17&t=1925&p=25015
ou : export emoncms => viewtopic.php?f=17&t=2017
et un script qui n'est pas de moi : http://66bis.familyds.com/wordpress/?p=676
à l'occas si tu pouvais m'expliquer la logique du modulo et du -1 car je dois être tordu, je ne comprend pas (mais ça marche super)
Dernière modification par papoo le 11 avr. 2017, 22:06, modifié 1 fois.
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: erreur de script lua à heure fixe
Quand minute égale 1 ou 6 ou 11 ou 16 etc...
Moins un ça fait 0 ou 5 ou 10 ou 15 etc..
Donc c'est multiple de 5 comme précédemment
Moins un ça fait 0 ou 5 ou 10 ou 15 etc..
Donc c'est multiple de 5 comme précédemment
Le modulo correspond au reste d'une division euclidienne
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: erreur de script lua à heure fixe
voila pourquoi je comprend pasvil1driver a écrit :
Le modulo correspond au reste d'une division euclidienne
mais je commence à comprendre :
((time.min) % 5) == 0 à chaque fois que time.min et divisible par 5 avec un reste entier, la condition est juste
donc ((time.min-1) % 5) == 0 décale d'une minute time.min
mais je comprenais pas comment un moins pouvait faire plus
Re: erreur de script lua à heure fixe
Je pense que ce sont les lignes de ce genre qui ralentisse (et non plantepapoo a écrit : il a juste un raté de temps à autre : Prévision de pluie en lua V2 => viewtopic.php?f=10&t=2788
mais aussi : export ThingSpeak => viewtopic.php?f=17&t=1925&p=25015
ou : export emoncms => viewtopic.php?f=17&t=2017
et un script qui n'est pas de moi : http://66bis.familyds.com/wordpress/?p=676
à l'occas si tu pouvais m'expliquer la logique du modulo et du -1 car je dois être tordu, je ne comprend pas (mais ça marche super)
Code : Tout sélectionner
commandArray[1]={['OpenURL']=url_emoncms ..'post?apikey=' .. API_key .. '&json=' .. fields } Code : Tout sélectionner
os.execute('curl -m3 "'..url_emoncms ..'post?apikey=' .. API_key .. '&json=' .. fields..'" &')Re: erreur de script lua à heure fixe
merci je vais tenter ça
à quoi correspond le parametre -m3 je ne trouve rien s'y rapportant?
à quoi correspond le parametre -m3 je ne trouve rien s'y rapportant?