MAM78 Posté(e) le 24 mars Signaler Posté(e) le 24 mars J’ai essayé sous Safari et Edge, même résultat
MAM78 Posté(e) le 24 mars Signaler Posté(e) le 24 mars (modifié) Je viens de faire le test sous le navigateur Google Chrome. Idem J'obtiens ça comme au niveau du code source : J'obtiens ça comme au niveau de la console : Modifié le 24 mars par MAM78
MAM78 Posté(e) le 24 mars Signaler Posté(e) le 24 mars C'est bon j'ai trouvé, c'est le répertoire JS qui ne s'était pas chargé. Les erreurs ci-dessus m'ont mis sur la piste
Lazer Posté(e) le 24 mars Auteur Signaler Posté(e) le 24 mars Yes, erreur 404, c'est la plus connue Comme quoi, regarder les logs et chercher le message d'erreur, c'est toujours le premier réflexe à avoir 2
fredokl Posté(e) le 22 juillet Signaler Posté(e) le 22 juillet Hello. J'ai une erreur qui est apparue sans que je ne fasse quoi que ce soit. Est-ce-que quelqu'un a le même problème? [22.07.2024] [23:01:01] [TRACE] [QA_DOMOCHARTS_1300]: Found 10058 previously stored datas [22.07.2024] [23:01:01] [ERROR] [QA_DOMOCHARTS_1300]: Too much data already in cache [22.07.2024] [23:01:10] [ERROR] [QA_DOMOCHARTS_1300]: http://192.168.1.35/domocharts/data.php => Error #8 => PDOStatement::execute(): send of 32768 bytes failed with errno=104 Connection reset by peer [22.07.2024] [23:01:10] [WARNING] [QA_DOMOCHARTS_1300]: Memorize 10058 sensors data
Lazer Posté(e) le 22 juillet Auteur Signaler Posté(e) le 22 juillet Oui, tu dois avoir des messages avant celui là, qui te disent que ça fait un petit moment qu'il n'arrive plus à envoyer les données aux NAS / serveur / base de données. Du coup les données s'accumulent dans la mémoire cache du QuickApp, et sature (> 10000 mesures, configurable dans les variables du QA) Commence par chercher pourquoi ton serveur SQL ne répond plus.
fredokl Posté(e) le 23 juillet Signaler Posté(e) le 23 juillet Bon. J'ai une piste mais je n'en suis pas sur du tout. Lors d'une mise à jour de phpMyAdmin sur mon Synology, la version PHP est passé en 8.0828 alors que jusqu'à présent j'était en 7.4. Qu'est-ce-que vous en pensez?
Lazer Posté(e) le 23 juillet Auteur Signaler Posté(e) le 23 juillet Ouais, ça pourrait bien avoir cassé quelque chose.... là comme ça, il n'y a rien qui me vient à l'esprit, il faudrait chercher des logs, si tu en as, sur le Syno. En tout cas le log de Domocharts montre que PHP n'arrive pas à se connecter à la base SQL : "Connection reset by peer"
henri-allauch Posté(e) le 24 juillet Signaler Posté(e) le 24 juillet (modifié) Je suis passé en Php 8.1.2 en Novembre 2023 J'ai souvenir d'avoir rencontré quelques Problèmes lors de cette Maj de Php et voici ce que j'ai modifié : Dans device.php //Modif 27/11/2023 pour Php 8.3 //$type = explode('_', filter_input(INPUT_GET, 'type', FILTER_SANITIZE_STRING)); // explode() removes optional _day suffix $type = explode('_', filter_input(INPUT_GET, 'type', FILTER_UNSAFE_RAW)); // explode() removes optional _day suffix Dans data.php //*** Get URL parameters //Modif 27/11/2023 pour Php 8.3 //$type = filter_input(INPUT_GET, 'type', FILTER_SANITIZE_STRING); //$query = filter_input(INPUT_GET, 'query', FILTER_SANITIZE_STRING); $type = filter_input(INPUT_GET, 'type', FILTER_UNSAFE_RAW); $query = filter_input(INPUT_GET, 'query', FILTER_UNSAFE_RAW); //*** Get data if ( $query == 'timeseries' ) { $device = filter_input(INPUT_GET, 'device', FILTER_SANITIZE_NUMBER_INT); //Modif 27/11/2023 pour Php 8.3 //$value = filter_input(INPUT_GET, 'value' , FILTER_SANITIZE_STRING); $value = filter_input(INPUT_GET, 'value' , FILTER_UNSAFE_RAW); . . . else { $device = filter_input(INPUT_GET, 'device' , FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_THOUSAND); // Keep only numbers and commas //Modif 27/11/2023 pour Php 8.3 //$aggregate = filter_input(INPUT_GET, 'aggregate' , FILTER_SANITIZE_STRING); $aggregate = filter_input(INPUT_GET, 'aggregate' , FILTER_UNSAFE_RAW); . . . if (substr($type, -4) == '_day') { //Modif 27/11/2023 pour Php 8.3 //$date = filter_input(INPUT_GET, 'date' , FILTER_SANITIZE_STRING); //$begindate = filter_input(INPUT_GET, 'begindate', FILTER_SANITIZE_STRING); //$enddate = filter_input(INPUT_GET, 'enddate' , FILTER_SANITIZE_STRING); $date = filter_input(INPUT_GET, 'date' , FILTER_UNSAFE_RAW); $begindate = filter_input(INPUT_GET, 'begindate', FILTER_UNSAFE_RAW); $enddate = filter_input(INPUT_GET, 'enddate' , FILTER_UNSAFE_RAW); Je ne sais pas si cela corrigera tes problèmes, mais pour moi Domocharts tourne parfaitement avec cela. Modifié le 24 juillet par henri-allauch 2
Lazer Posté(e) le 24 juillet Auteur Signaler Posté(e) le 24 juillet Je me souviens du filtrage des données lors du passage en PHP8, mais là ce n'est certainement pas le problème, car PHP n'arrive pas à se connecter au serveur SQL du tout. Le serveur SQL n'aurait pas changé de port par hasard ? Je me souviens qu'on avait eu le problème dans le passé lors d'une mise à jour majeure de MariaDB.
jojo Posté(e) le 24 juillet Signaler Posté(e) le 24 juillet en effet, le port est une piste très sérieuse : il y a eu une modification de port (si je me souviens bien) entre de versions de MariaDB. Mais si tu n'a fait qu'un upgrade de phpMyadmin, j'ai 2 idées (saugrenues) : Les utilisateurs utilisés par Domochart sont-ils toujours ok ? la config de ton Webserveur est-elle toujours ok ?
fredokl Posté(e) le 24 juillet Signaler Posté(e) le 24 juillet Merci pour vos suggestions. Pour répondre aux questions: - les utilisateurs Domocharts sont bon. - la config pour le Webserveur n'ont pas été changé donc sont bon normalement. - le port de MariaDB est bon soit le 3307. J'ai fait une sauvegarde de la DB et ensuite une restauration. Je me retrouve maintenant avec seulement les données de températures qui sont remontées. Pour le reste, j'ai une page noir avec "No device found". Le QA, lui, fonctionne parfaitement sauf qu'il n'arrive pas à se connecter au fichier device.php Étant une buse dans le domaine, la recherche de l'erreur risque d'être assez longue.
Lazer Posté(e) le 25 juillet Auteur Signaler Posté(e) le 25 juillet Si tu vas sur les pages web des graphs, tu veux dire que le graph de température s'affiche bien, mais pour tous les autres graphs, tu as le message "No device found" ? Donc ça signifie que la connexion entre les pages web PHP et la base de données fonctionne bien. Et le QA de son coté ? C'est quoi le message avec le fichier device.php lorsque tu cliques manuellement sur le bouton du QA ? Et l'envoi des données ne se fait toujours pas ?
Lazer Posté(e) le 25 juillet Auteur Signaler Posté(e) le 25 juillet Hum, en relisant le message d'erreur, ça parle de 32 ko exactement de données qui n'ont pu être envoyées à la base SQL.... dans la nouvelle version de PHP, il n'y aura pas une limite de 32 ko de données manipulables (ce qui est très peu) ??? C'est une piste à creuser... surement un paramètre à modifier quelque part dans le config de PHP 8.
jojo Posté(e) le 25 juillet Signaler Posté(e) le 25 juillet suite à l'upgrade vers PHP8.0, l'estension pdo_mysql est-elle toujours activée (cfr doc d'installation, premier topic)
fredokl Posté(e) le 25 juillet Signaler Posté(e) le 25 juillet Voici les messages d'erreur sur le QA. [25.07.2024] [22:45:46] [DEBUG] [QA_DOMOCHARTS_1300]: Next loop at 22:46:00 in 14 seconds... [25.07.2024] [22:45:47] [DEBUG] [QA_DOMOCHARTS_1300]: DomoCharts:postAPI() success() response = {"status":200,"data":"{\"data\":[{\"type\":\"temperature\",\"success\":true,\"rowcount\":1880},{\"type\":\"humidity\",\"success\":true,\"rowcount\":658},{\"type\":\"light\",\"success\":true,\"rowcount\":188},{\"type\":\"gas\",\"success\":true,\"rowcount\":94},{\"type\":\"sound\",\"success\":true,\"rowcount\":94},{\"type\":\"pressure\",\"success\":true,\"rowcount\":94},{\"type\":\"voltage\",\"success\":true,\"rowcount\":376},{\"type\":\"current\",\"success\":true,\"rowcount\":376},{\"type\":\"power\",\"success\":true,\"rowcount\":3196}],\"success\":false,\"rowcount\":6956,\"error\":{\"code\":\"08S01\",\"message\":\"SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes\"}}","headers":{"Server":"nginx","Vary":"Accept-Encoding","Content-Type":"application\/json; charset=utf-8","Date":"Thu, 25 Jul 2024 20:45:46 GMT","Connection":"close","Transfer-Encoding":"chunked"}} [25.07.2024] [22:45:47] [ERROR] [QA_DOMOCHARTS_1300]: DomoCharts:postAPI() Error #08S01 => SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes [25.07.2024] [22:45:47] [ERROR] [QA_DOMOCHARTS_1300]: http://192.168.1.35/domocharts/data.php => Error #08S01 => SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes [25.07.2024] [22:45:47] [WARNING] [QA_DOMOCHARTS_1300]: Memorize 10058 sensors data [25.07.2024] [22:46:00] [DEBUG] [QA_DOMOCHARTS_1300]: loop() [25.07.2024] [22:46:01] [DEBUG] [QA_DOMOCHARTS_1300]: Total memory in use by Lua : 10095.36 KB, CPU consumed : 18522.03 ms ( 7.848 % ) [25.07.2024] [22:46:01] [TRACE] [QA_DOMOCHARTS_1300]: Found 10058 previously stored datas [25.07.2024] [22:46:01] [ERROR] [QA_DOMOCHARTS_1300]: Too much data already in cache
fredokl Posté(e) le 25 juillet Signaler Posté(e) le 25 juillet @Lazer: lorsque j'appui sur le bouton, cela fonctionne mais il me semble que la box tourne au ralenti, voici le log: [25.07.2024] [22:51:03] [TRACE] [QA_DOMOCHARTS_1300]: UIEvent: {"eventType":"onReleased","values":[],"deviceId":1300,"elementName":"buttonGetDevices"} [25.07.2024] [22:51:03] [DEBUG] [QA_DOMOCHARTS_1300]: QuickApp:buttonGetDevices_onReleased({"eventType":"onReleased","values":[],"deviceId":1300,"elementName":"buttonGetDevices"}) [25.07.2024] [22:51:03] [TRACE] [QA_DOMOCHARTS_1300]: Get devices @jojo: oui pdo_mysql est toujours activée. Et encore un nouveau log: [25.07.2024] [22:54:55] [DEBUG] [QA_DOMOCHARTS_1300]: Next loop at 22:55:00 in 5 seconds... [25.07.2024] [22:54:55] [ERROR] [QA_DOMOCHARTS_1300]: DomoCharts:postAPI() Connection error to http://192.168.1.35/domocharts/data.php : Bad file descriptor [25.07.2024] [22:54:56] [ERROR] [QA_DOMOCHARTS_1300]: http://192.168.1.35/domocharts/data.php => Connection error : Bad file descriptor [25.07.2024] [22:54:56] [TRACE] [QA_DOMOCHARTS_1300]: Update label "LabelStatus" to "Connection error : Bad file descriptor" [25.07.2024] [22:54:56] [WARNING] [QA_DOMOCHARTS_1300]: Memorize 10058 sensors data [25.07.2024] [22:54:56] [ERROR] [QA_DOMOCHARTS_1300]: DomoCharts:postAPI() Connection error to http://192.168.1.35/domocharts/data.php : Bad file descriptor [25.07.2024] [22:54:57] [ERROR] [QA_DOMOCHARTS_1300]: http://192.168.1.35/domocharts/data.php => Connection error : Bad file descriptor [25.07.2024] [22:54:57] [WARNING] [QA_DOMOCHARTS_1300]: Memorize 10058 sensors data [25.07.2024] [22:54:57] [ERROR] [QA_DOMOCHARTS_1300]: DomoCharts:postAPI() Connection error to http://192.168.1.35/domocharts/data.php : Bad file descriptor [25.07.2024] [22:54:57] [ERROR] [QA_DOMOCHARTS_1300]: http://192.168.1.35/domocharts/data.php => Connection error : Bad file descriptor [25.07.2024] [22:54:57] [WARNING] [QA_DOMOCHARTS_1300]: Memorize 10058 sensors data [25.07.2024] [22:54:57] [ERROR] [QA_DOMOCHARTS_1300]: http://192.168.1.35/domocharts/data.php => Connection error : Bad file descriptor [25.07.2024] [22:54:58] [WARNING] [QA_DOMOCHARTS_1300]: Memorize 10058 sensors data [25.07.2024] [22:54:58] [DEBUG] [QA_DOMOCHARTS_1300]: DomoCharts:postAPI() success() response = {"status":200,"data":"{\"data\":[{\"type\":\"temperature\",\"success\":true,\"rowcount\":1880},{\"type\":\"humidity\",\"success\":true,\"rowcount\":658},{\"type\":\"light\",\"success\":true,\"rowcount\":188},{\"type\":\"gas\",\"success\":true,\"rowcount\":94},{\"type\":\"sound\",\"success\":true,\"rowcount\":94},{\"type\":\"pressure\",\"success\":true,\"rowcount\":94},{\"type\":\"voltage\",\"success\":true,\"rowcount\":376},{\"type\":\"current\",\"success\":true,\"rowcount\":376},{\"type\":\"power\",\"success\":true,\"rowcount\":3196}],\"success\":false,\"rowcount\":6956,\"error\":{\"code\":\"08S01\",\"message\":\"SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes\"}}","headers":{"Server":"nginx","Vary":"Accept-Encoding","Content-Type":"application\/json; charset=utf-8","Date":"Thu, 25 Jul 2024 20:54:58 GMT","Connection":"close","Transfer-Encoding":"chunked"}} [25.07.2024] [22:54:58] [ERROR] [QA_DOMOCHARTS_1300]: DomoCharts:postAPI() Error #08S01 => SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes [25.07.2024] [22:54:58] [ERROR] [QA_DOMOCHARTS_1300]: http://192.168.1.35/domocharts/data.php => Error #08S01 => SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes [25.07.2024] [22:54:58] [TRACE] [QA_DOMOCHARTS_1300]: Update label "LabelStatus" to "Error #08S01 => SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes" [25.07.2024] [22:54:59] [WARNING] [QA_DOMOCHARTS_1300]: Memorize 10058 sensors data [25.07.2024] [22:55:01] [DEBUG] [QA_DOMOCHARTS_1300]: loop() [25.07.2024] [22:55:01] [DEBUG] [QA_DOMOCHARTS_1300]: Total memory in use by Lua : 10259.80 KB, CPU consumed : 19515.60 ms ( 9.035 % ) [25.07.2024] [22:55:01] [TRACE] [QA_DOMOCHARTS_1300]: Found 10058 previously stored datas [25.07.2024] [22:55:01] [ERROR] [QA_DOMOCHARTS_1300]: Too much data already in cache
fredokl Posté(e) le 25 juillet Signaler Posté(e) le 25 juillet (modifié) Comme indiqué, la box tournait au ralenti. Je l'ai redémarré et là plus d'erreur dans les logs du QA et tout semble remonter correctement. Les infos sont remontées et affichées correctement. Je vais attendre pour voir si ça recommence. Modifié le 25 juillet par fredokl
fredokl Posté(e) le 25 juillet Signaler Posté(e) le 25 juillet Bon, j'ai crié victoire trop vite! L'erreur device.php est revenu après avoir cliqué sur le bouton du QA: [25.07.2024] [23:34:30] [ERROR] [QA_DOMOCHARTS_1300]: DomoCharts:postAPI() Connection error to http://192.168.1.35/domocharts/device.php : Bad file descriptor [25.07.2024] [23:34:30] [ERROR] [QA_DOMOCHARTS_1300]: http://192.168.1.35/domocharts/device.php => Connection error : Bad file descriptor [25.07.2024] [23:34:30] [TRACE] [QA_DOMOCHARTS_1300]: Update label "LabelStatus" to "Connection error : Bad file descriptor"
Lazer Posté(e) le 25 juillet Auteur Signaler Posté(e) le 25 juillet Tu as quand même un message assez explicite : "Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes" Essaye de trouver dans la config de MariaDB comment augmenter la valeur de ce paramètre "max_allowed_packet" 1
henri-allauch Posté(e) le 26 juillet Signaler Posté(e) le 26 juillet Pour Info ( je suis sous mysql pas Mariadb ) Dans /etc/mysql/conf.d/mysqldump.cnf [mysqldump] quick quote-names max_allowed_packet = 16M 3
stipower Posté(e) le 13 octobre Signaler Posté(e) le 13 octobre Bonjour, Installé avec succès. Merci pour le partage. 1
yves.guern Posté(e) le 4 novembre Signaler Posté(e) le 4 novembre (modifié) Bonjour Lazer, Depuis 6 mois, j'utilise domochart (vers un NAS Synology) et je trouve cette QA géniale. J'utilise autre chose que grafana pour la visualisation mais c'est la seule "modification" que j'ai faite. Cela m'a permis de corriger et optimiser certaines QA qui ne l'étaient manifestement pas... A propos de temps CPU je pense avoir repéré un bug dans la fonction tools:garbage(interval) inclue dans le zip Initialement, je cherchais à diminuer le nombre de débug à la console et je me suis aperçu qu'il y a un désaccord entre la sortie de domochart sur sa consommation de CPU (en%) et la valeur obtenue par l'utilisation de collectgarbage("collect") ou de api.get("/diagnostics"): un facteur 4. Pour moi, dans print(cpuDelta/elapsedTime*100/self.nbCPUs), la division par le nombre de cœurs n'est pas nécessaire/significative: Si un CPU à 4 cœurs est occupé à 20% au total (ie la valeur de cpuDelta/elapsedTime*100) cela signifie que les 4 cœurs sont aussi chargés à 20% (en moyenne) même s'ils n'ont fait chacun que 1/4 du travail total. Dit autrement: 4 cœurs à 100% = 1 CPU à 100% ? Modifié le 4 novembre par yves.guern 1
Messages recommandés