Utilisation du CPU = 19%
HDD Boot = 55%
Dispositifs / devices = 280
script_device = 10
script_time = 8
Le RI ⇒ free
total used free shared buff/cache available
Mem: 945368 183464 439544 15396 322360 692468
Swap: 102396 0 102396
Bonjour,
j'ai tellement cherché d'où venait le problème.... Je n'en peux plus.
Ce message est long car j'ai fait beaucoup de tests et j'essaye de donner le maximum de précisions.
J'ai besoin d'aide s'il-vous-plaît, et de pistes.
==⇒ La plupart des “devicechanged” ne répondent pas ou rarement (au début, il y a 4 ans, pas de problème).
J'ai installé un SSD il y a quelques semaines. Cela a améliorer les choses mais le problème persiste.
Les amélioration ont été : moins de “ ..popo.lua has been running for more than 10 seconds”.
J'ai un script-device très long => 700 lignes, il est optimisé et fait appel surtout à des “os.execute( 'curl '”.... vers des ESP
et une ligne json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")();
J'ai beaucoup de mess MQTT provenant d'une passerelle OpenDTU, j'ai arrêté le “MQTT Discover” pour ces tests.
Pour le test qui suit :
Le device “Boutton-Rond-Blanc-Velux-Bureau” est un bouton “ON/OFF”, pour mes tests avec des délais d'allumage et d"exctinction à 0.
Si je change ces délais => pas de changement.
Mes tests =>
1- changement de SD par SSD => mieux mais non.
2- Arrêt des MQTT => non.
3- Arrêt de mon script_device gourmand => non, car j'ai souvent “ ..popo.lua has been running for more than 10 seconds”
Exemples de mon test : ==> Nom du script = “script _device_Test.lua”
commandArray = {}
if (devicechanged["Boutton-Rond-Blanc-Velux-Bureau"] == 'On') then
print(' ICI ICI');
print('══════ script _device_Test ********** LastUpdate '..otherdevices_lastupdate["Boutton-Rond-Blanc-Velux-Bureau"]);
end;
return commandArray
Cas n° 1 : Dans le log qui suit , en ligne 06, on voit que l'appui sur le “Boutton-Rond-Blanc-Velux-Bureau” est détecté par le RFXCom,
mais le code ne rentre pas dans la condition, je n'ai pas “ICI ICI” dans le log. C'est très souvent le cas alors que le système n'est pas trop chargé.
Ce cas est très fréquent.
01- 2023-12-10 11:07:53.097 Mon RFX: Current/Energy (Owl_Terr_Clim)
02- 2023-12-10 11:07:54.729 Mon RFX: Current/Energy (Owl_Garage)
03- 2023-12-10 11:07:57.750 Mon RFX: Temp + Humidity (Out Rubicson/IW008T/TX95)
04- 2023-12-10 11:07:58.524 Mon RFX: Current/Energy (Owl_Toit_456)
05- 2023-12-10 11:07:58.762 Status: EventSystem: Script event triggered: script_device_owl
06- 2023-12-10 11:08:00.504 Mon RFX: Lighting 4 (Boutton-Rond-Blanc-Velux-Bureau) <==============
07- 2023-12-10 11:08:01.527 Mon RFX: Energy (owl-5-CM160)
08- 2023-12-10 11:08:02.650 Mon RFX: Energy (OWL-12-3264 FU6 C.Sol)
09- 2023-12-10 11:08:04.313 Mon RFX: Temp + Humidity (Chambre WS1700)
10- 2023-12-10 11:08:05.080 Mon RFX: Temp + Humidity (Chambre WS1700)
11- 2023-12-10 11:08:05.232 Status: EventSystem: Script event triggered: script_device_owl
12- 2023-12-10 11:08:08.529 MotherBoard: General/Percentage (RI-Memory-Usage)
13- 2023-12-10 11:08:08.535 MotherBoard: General/Custom Sensor (Process Usage)
14- 2023-12-10 11:08:09.730 Mon RFX: Current/Energy (owl-1)
15- 2023-12-10 11:08:11.300 Status: EventSystem: Script event triggered: script_device_owl
16- 2023-12-10 11:08:11.375 Status: EventSystem: Script event triggered: script_time_dahua_ecran
Cas n° 2 : Dans le log qui suit, un autre appui sur le bouton => cela fonctionne, mais rarement.
2023-12-10 11:13:40.443 Mon RFX: Current/Energy (Owl_06_2023_Clim)
2023-12-10 11:13:40.623 Status: EventSystem: Script event triggered: script_device_owl
2023-12-10 11:13:44.505 Status: EventSystem: Script event triggered: script_device_owl
2023-12-10 11:13:45.844 Mon RFX: Lighting 4 (Boutton-Rond-Blanc-Velux-Bureau) <====================
2023-12-10 11:13:45.989 Status: LUA: ICI ICI
2023-12-10 11:13:45.989 Status: LUA: ══════════════════════════════════ Script _device_Test ********** LastUpdate 2023-12-10 11:10:58
2023-12-10 11:13:46.512 Mon RFX: Current/Energy (Owl_Toit_456)
2023-12-10 11:13:49.176 Mon RFX: Current/Energy (Owl_Pignon)
2023-12-10 11:13:49.630 MotherBoard: General/Percentage (RI-CPU-Usage)
2023-12-10 11:13:49.646 MotherBoard: General/Custom Sensor (Arm Clock Speed)
2023-12-10 11:13:49.669 MotherBoard: General/Custom Sensor (V3D Clock Speed)
2023-12-10 11:13:49.681 MotherBoard: General/Custom Sensor[/size]
Cas n° 3 : Dans le log qui suit, un autre appui sur le bouton => cela fonctionne, mais le “LastUpdate 2023-12-10 11:30:06” donne “11:30” ?.!.? Il y a donc un retard, parfois il est de 1 heure !
2023-12-10 11:31:58.740 Status: EventSystem: Script event triggered: script_device_owl
2023-12-10 11:32:01.524 Mon RFX: Energy (owl-5-CM160)
2023-12-10 11:32:02.149 Mon RFX: Lighting 4 (Boutton-Rond-Blanc-Velux-Bureau) <==================== 11:32
2023-12-10 11:32:02.660 Mon RFX: Energy (OWL-12-3264 FU6 C.Sol)
2023-12-10 11:32:04.611 Mon RFX: Current/Energy (OWL-B2)
2023-12-10 11:32:05.303 Status: EventSystem: Script event triggered: script_device_owl
2023-12-10 11:32:06.533 Mon RFX: Temp (Terrasse Abri LaCrosse TX3)
2023-12-10 11:32:08.115 Status: EventSystem: Script event triggered: script_time_dahua_ecran
2023-12-10 11:32:09.477 Mon RFX: Current/Energy (Owl_Toit_123)
2023-12-10 11:32:09.754 Mon RFX: Current/Energy (owl-1)
2023-12-10 11:32:11.275 Status: LUA: ICI ICI
2023-12-10 11:32:11.275 Status: LUA: ══════════════════════════════════ Script _device_Test ********** LastUpdate 2023-12-10 11:30:06
2023-12-10 11:32:13.638 Mon RFX: Energy (owl-Juin-2023)
2023-12-10 11:32:13.719 MotherBoard: General/Percentage (RI-Memory-Usage)
2023-12-10 11:32:13.727 MotherBoard: General/Custom Sensor
Mes pauvres pistes :
1- je change de système ! lequel? (petite blague car je n'en peux plus
2- faire des scripts Shell ? je ne sais pas vraiment de quoi je parle...
3- pour mes commandes CURL : les réécrire-les pour utiliser openURL() ou envoyez-les en arrière-plan en ajoutant « & » à la commande.
Actuellement je les écris comme cela : os.execute( 'curl '..ESP_IP_39..'tft,rf,20,1,420,112,black,black'); (c'est un affichage sur un écran via un esp8266 (wifi) )
4- fichier log de domoticz trop gros? =>
5- Quand je “redémarrer le système”, domoticz répond mieux pendant quelques minutes => le relancer tous les jours avec un script, ou toutes les 6 heures par exemple?
6- Quand je ne relance pas le système pendant plusieurs jours => cela empire, la plupart des devicechanged ne répondent plus ou avec quelques minutes de retard, voire, 1 heure de retard.
7- un script_time trop gourmand en temps “EventSystem: Warning!, lua script Script_time_ESP has been running for more than 10 seconds” ?
8- Passé en DzEvent => cela ne devrait rien changé, car si j'aibien compris , c'est du LUA sois disant simplifié pour l'écriture.
9- Le RI ne semble pas en cause, car quand je relance Domoticz, c'est mieux.
10- Des variables “local” dans les scripts ? Pour moi, toutes les variables sont “locales” au script, donc à quoi sert ce local?
Quelles pistes pourraient-je explorer?
Merci pour votre aide.