erreur de script lua à heure fixe

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: erreur de script lua à heure fixe

Message par papoo »

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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
balajol
Messages : 864
Inscription : 13 nov. 2015, 18:54
Localisation : 62

Re: erreur de script lua à heure fixe

Message par balajol »

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"

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
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..
Erreur scipt-Time.JPG
Erreur scipt-Time.JPG (131.37 Kio) Consulté 7302 fois
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

Message par vil1driver »

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
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
balajol
Messages : 864
Inscription : 13 nov. 2015, 18:54
Localisation : 62

Re: erreur de script lua à heure fixe

Message par balajol »

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
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 ..
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: erreur de script lua à heure fixe

Message par Neutrino »

Mon code est forcément le meilleur, vu que c'est le mien :mrgreen:
@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.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: erreur de script lua à heure fixe

Message par papoo »

Neutrino a écrit : @papoo, c'est lequel de tes scripts qui plante ?
Il fonctionne très bien :)
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.
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: erreur de script lua à heure fixe

Message par vil1driver »

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 ;)
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
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: erreur de script lua à heure fixe

Message par papoo »

vil1driver a écrit :
Le modulo correspond au reste d'une division euclidienne
voila pourquoi je comprend pas :)
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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: erreur de script lua à heure fixe

Message par Neutrino »

papoo 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)
Je pense que ce sont les lignes de ce genre qui ralentisse (et non plante :) ) le script :

Code : Tout sélectionner

commandArray[1]={['OpenURL']=url_emoncms ..'post?apikey=' .. API_key .. '&json=' .. fields }   
Je ferais plutôt ça :

Code : Tout sélectionner

os.execute('curl -m3 "'..url_emoncms ..'post?apikey=' .. API_key .. '&json=' .. fields..'" &')
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: erreur de script lua à heure fixe

Message par papoo »

merci je vais tenter ça
à quoi correspond le parametre -m3 je ne trouve rien s'y rapportant?
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre