Communication Telegram => Jeedom

Hello à tous,

J’ai le même souci que d’autres ont eu ici, mais j’ai pas trouvé de solution dans les autres threads.
J’ai le plugin telegram qui fonctionnait parfaitement depuis au moins 2 ans, mais le 27 juillet c’est fini: je reçois toujours les messages que jeedom envoie, mais quand moi j’envoie jeedom ne reçoit rien.
A savoir que je n’ai pas changé de fournisseur, je n’ai rien changé au niveau réseau.

Jeedom tourne sur une smart en v4.3.23 avec plusieurs update en attente mais il n’y a pas de màj de telegram. J’ai pas encore màj car la smart est limite en disque (9% de libre) alors migrer vers debian 11 est peut-être risqué.

J’ai activé le diagnostique sur le plugin mais:

  • Soit il me met qu’il reçoit bien le message « Test » plusieurs fois, alors que j’ai envoyé le message une seule fois y a un bout de temps, et que depuis j’en ai envoyé une 10aines et aucune réaction
0000|[2024-08-07 19:41:54]DEBUG : {"update_id":131703411, "message":{"message_id":27251,"from":{xxx},"chat":{xxx},"date":1723052449,"text":"Test"}}
0001|[2024-08-07 19:41:54]DEBUG : Recu message de Fabsky
0002|[2024-08-07 19:42:59]DEBUG : {"update_id":131703411, "message":{"message_id":27251,"from":{xxx},"chat":{xxx},"date":1723052449,"text":"Test"}}
0003|[2024-08-07 19:42:59]DEBUG : Recu message de Fabsky
0004|[2024-08-07 19:43:05]DEBUG : https://xxx.eu.jeedom.link/plugins/telegram/core/api/jeeTelegram.php?apikey=xxx&id=17
0005|[2024-08-07 19:43:05]DEBUG : {"ok":true,"result":true,"description":"Webhook is already set"}
0006|[2024-08-07 19:44:00]DEBUG : {"update_id":131703411, "message":{"message_id":27251,"from":{xxx},"chat":{xxx},"date":1723052449,"text":"Test"}}
0007|[2024-08-07 19:44:00]DEBUG : Recu message de Fabsky
0008|[2024-08-07 19:45:08]DEBUG : {"update_id":131703411, "message":{"message_id":27251,"from":{xxx},"chat":{xxx},"date":1723052449,"text":"Test"}}
0009|[2024-08-07 19:45:08]DEBUG : Recu message de Fabsky
0010|[2024-08-07 19:46:38]DEBUG : {"update_id":131703411, "message":{"message_id":27251,"from":{xxx},"chat":{xxx},"date":1723052449,"text":"Test"}}
0011|[2024-08-07 19:46:38]DEBUG : Recu message de Fabsky
0012|[2024-08-07 19:47:06]DEBUG : https://xxx.eu.jeedom.link/plugins/telegram/core/api/jeeTelegram.php?apikey=xxx&id=17
0013|[2024-08-07 19:47:06]DEBUG : {"ok":true,"result":true,"description":"Webhook is already set"}
0014|[2024-08-07 19:47:44]DEBUG : https://xxx.eu.jeedom.link/plugins/telegram/core/api/jeeTelegram.php?apikey=xxx&id=17
0015|[2024-08-07 19:47:44]DEBUG : {"ok":true,"result":true,"description":"Webhook is already set"}
0016|[2024-08-07 19:48:19]DEBUG : {"update_id":131703411, "message":{"message_id":27251,"from":{xxx},"chat":{xxx},"date":1723052449,"text":"Test"}}
0017|[2024-08-07 19:48:19]DEBUG : Recu message de Fabsky
0018|[2024-08-07 19:49:46]DEBUG : {"update_id":131703411, "message":{"message_id":27251,"from":{xxx},"chat":{xxx},"date":1723052449,"text":"Test"}}
0019|[2024-08-07 19:49:46]DEBUG : Recu message de Fabsky

On peut remarquer que c’est toujours le même message_id, et la date « 1723052449 » correspond à 19h40 ce qui est bien le moment où j’ai envoyé le message.
Même si il me dit qu’il a bien reçu ce message (et aucun autre) je n’ai pas de réaction (message retour me disant qu’il ne comprend pas ma demande).

Plusieurs heures plus tard je reçois toujours de temps en temps le même message:

0050|[2024-08-08 00:40:49]DEBUG : {"update_id":131703411, "message":{"message_id":27251,xxx,"date":1723052449,"text":"Test"}}
0051|[2024-08-08 00:40:49]DEBUG : Recu message de Fabsky
0052|[2024-08-08 00:41:22]DEBUG : {"update_id":131703411, "message":{"message_id":27251,xxx,"date":1723052449,"text":"Test"}}
0053|[2024-08-08 00:41:22]DEBUG : Recu message de Fabsky
0054|[2024-08-08 00:42:27]DEBUG : {"update_id":131703411, "message":{"message_id":27251,xxx,"date":1723052449,"text":"Test"}}
0055|[2024-08-08 00:42:27]DEBUG : Recu message de Fabsky
0056|[2024-08-08 00:43:52]DEBUG : {"update_id":131703411, "message":{"message_id":27251,xxx,"date":1723052449,"text":"Test"}}
0057|[2024-08-08 00:43:52]DEBUG : Recu message de Fabsky
0058|[2024-08-08 00:45:16]DEBUG : {"update_id":131703411, "message":{"message_id":27251,xxx,"date":1723052449,"text":"Test"}}
0059|[2024-08-08 00:45:16]DEBUG : Recu message de Fabsky
0060|[2024-08-08 00:46:55]DEBUG : {"update_id":131703411, "message":{"message_id":27251,xxx,"date":1723052449,"text":"Test"}}
0061|[2024-08-08 00:46:55]DEBUG : Recu message de Fabsky
0062|[2024-08-08 00:48:45]DEBUG : {"update_id":131703411, "message":{"message_id":27251,xxx,"date":1723052449,"text":"Test"}}
0063|[2024-08-08 00:48:45]DEBUG : Recu message de Fabsky

Probablement c’est quand je fait des tests dans telegram etc.

  • Soit il me met juste rien … j’ai désactivé / réactivé le plugin, et j’envoi des message et dans le log il n’y a absolument rien …
0022|[2024-08-07 19:50:26]DEBUG : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php  plugin_id=telegram function=remove callInstallFunction=1
0023|[2024-08-07 19:50:31]DEBUG : https://xxx.eu.jeedom.link/plugins/telegram/core/api/jeeTelegram.php?apikey=xxx&id=17
0024|[2024-08-07 19:50:31]DEBUG : {"ok":true,"result":true,"description":"Webhook is already set"}
0025|[2024-08-07 19:50:31]INFO : Début d'activation du plugin
0026|[2024-08-07 19:50:32]INFO : Info sur le démon : {"launchable_message":"","launchable":"nok","state":"nok","log":"nok","auto":0}
0027|[2024-08-07 19:50:32]DEBUG : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php  plugin_id=telegram function=install callInstallFunction=1

Concernant le certifificat ssl, j’utilise ceux de jeedom avec un lien https://xxx.eu.jeedom.link (avec openvpn )
J’ai vérifié, le rating SSL est bien toujours en A. Le lien pointe bien toujours sur mon jeedom vu que je peux y accéder.

J’ai fait un revoke du token et encodé le nouveau, mais ça change rien.
J’ai également redémarré la box, sans succès.
Je n’ai pas voulu non plus modifier trop car comme je vais bientôt prendre un peu de congé j’ai pas envie de faire pire que mieux et me retrouver complètement sans notification :slight_smile:

De toute façon je suis à cours d’idée moi … donc est-ce que qqun a une idée ?
Il 'y a pas moyen d’avoir du logging côté Telegram ?

Un grand merci,
Fab

J’ai finalement trouvé comment avoir le statut côté Telegram, en faisant directement les appels aux APIs du bot:

https://api.telegram.org/bot<bot_key>/getWebhookInfo
{
  "ok": true,
  "result": {
    "url": "https://xxx.eu.jeedom.link/plugins/telegram/core/api/jeeTelegram.php?apikey=xxx&id=17",
    "has_custom_certificate": false,
    "pending_update_count": 18,
    "last_error_date": 1723071603,
    "last_error_message": "Wrong response from the webhook: 500 Internal Server Error",
    "max_connections": 40,
    "ip_address": "162.19.xxx.xx"
  }
}

On peut donc voir qu’il y a bien une erreur 500 quand telegram appelle l’URL
Pourtant si moi j’appelle l’URL j’ai pas d’erreur 500 retournée (mais j’ai un log « Message non supporté » vu que j’envoie pas de message).

J’ai donc essayé en supprimant le webhook

https://api.telegram.org/bot<bot_key>/deleteWebhook

{"ok":true,"result":true,"description":"Webhook was deleted"}

Confirmation qu’il est bien supprimé:

https://api.telegram.org/bot<bot_key>/getWebhookInfo
{"ok":true,"result":{"url":"","has_custom_certificate":false,"pending_update_count":18}}

Et j’ai désactivé / réactivé le plugin dans jeedom pour qu’il recrée le webhook, mais ça change rien, l’erreur revient avec un timestamp mis à jour …

Ensuite j’ai été voir dans le log http.error et j’ai trouvé ça :

4957|[Wed Aug 07 23:19:13.642664 2024] [php7:error] [pid 26822] [client 91.108.6.96:0] PHP Fatal error:  Uncaught Error: Class 'telegram' not found in /var/www/html/plugins/telegram/core/api/jeeTelegram.php:28
4958|Stack trace:
4959|#0 {main}
4960|thrown in /var/www/html/plugins/telegram/core/api/jeeTelegram.php on line 28
4961|[Wed Aug 07 23:19:16.190508 2024] [php7:error] [pid 3414] [client 91.108.6.96:0] PHP Fatal error:  Uncaught Error: Class 'telegram' not found in /var/www/html/plugins/telegram/core/api/jeeTelegram.php:28
4962|Stack trace:
4963|#0 {main}
4964|thrown in /var/www/html/plugins/telegram/core/api/jeeTelegram.php on line 28

Du coup là je me demande bien d’où ça vient…

Bonjour,

Dans Plugins, Communication, Telegram vous avez votre équipement Telegram
Dans l’onglet commandes, a la colonne paramètres, Interactions Jeedom est-il coché ?

Bonjour
Oui, j’avais vérifié ça aussi, j’aurais pu le mettre d’ailleurs mais j’ai oublié
Merci :slight_smile:

Hier soir j’ai reçu sur telegram environ 20 réponses de jeedom d’un coup, càd tout ce que j’avais envoyé à telegram depuis plusieurs jours est arrivé d’un coup dans jeedom et j’ai reçu la réponse. Ca semble correspondre au « pending_update_count » que me retournait l’api de telegram.

Et puis aujourd’hui de nouveau ça ne fonctionne plus.

Pour moi le problème se situe bien côté jeedom et pas côté télégram, à un moment l’URL sur jeedom a fonctionné et tout les messages que telegram gardait en stock sont passés d’un coup.

Bonjour,
J’ai le meme problème, Telegram arrive a communiqué avec moi, mais je ne peux plus communiquer avec lui. l fonctionné très bien et un jour plus rien. C’est surement lié à une maj, mais j’ignore laquelle, je ne me suis pas rendu compte du problème rapidement.
De plus, les seuls logs d’entrer (communication de Telegram) sont sur http_error. Le plugin n’a pas d’info des requete entrantes.

Voici un extrait:

0732|[Sat Jan 04 13:50:34.858037 2025] [php7:error] [pid 49011:tid 49011] [client 91.108.5.118:0] PHP Fatal error:  Uncaught Exception: [MySQL] Error code : 22007 (1366). Incorrect string value: '\\xF0\\x9F\\x8F\\x85",...' for column `jeedom`.`cmd`.`configuration` at row 1  : UPDATE `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert WHERE id = :id in /var/www/html/core/class/DB.class.php:120\nStack trace:\n#0 /var/www/html/core/class/DB.class.php(238): DB::Prepare()\n#1 /var/www/html/core/class/cmd.class.php(1102): DB::save()\n#2 /var/www/html/plugins/telegram/core/api/jeeTelegram.php(98): cmd->save()\n#3 {main}\n  thrown in /var/www/html/core/class/DB.class.php on line 120
0733|[Sat Jan 04 13:52:30.944915 2025] [php7:error] [pid 49750:tid 49750] [client 91.108.5.118:0] PHP Fatal error:  Uncaught Exception: [MySQL] Error code : 22007 (1366). Incorrect string value: '\\xF0\\x9F\\x8F\\x85",...' for column `jeedom`.`cmd`.`configuration` at row 1  : UPDATE `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert WHERE id = :id in /var/www/html/core/class/DB.class.php:120\nStack trace:\n#0 /var/www/html/core/class/DB.class.php(238): DB::Prepare()\n#1 /var/www/html/core/class/cmd.class.php(1102): DB::save()\n#2 /var/www/html/plugins/telegram/core/api/jeeTelegram.php(98): cmd->save()\n#3 {main}\n  thrown in /var/www/html/core/class/DB.class.php on line 120
0734|[Sat Jan 04 13:53:51.033095 2025] [php7:error] [pid 49748:tid 49748] [client 91.108.5.118:0] PHP Fatal error:  Uncaught Exception: [MySQL] Error code : 22007 (1366). Incorrect string value: '\\xF0\\x9F\\x8F\\x85",...' for column `jeedom`.`cmd`.`configuration` at row 1  : UPDATE `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert WHERE id = :id in /var/www/html/core/class/DB.class.php:120\nStack trace:\n#0 /var/www/html/core/class/DB.class.php(238): DB::Prepare()\n#1 /var/www/html/core/class/cmd.class.php(1102): DB::save()\n#2 /var/www/html/plugins/telegram/core/api/jeeTelegram.php(98): cmd->save()\n#3 {main}\n  thrown in /var/www/html/core/class/DB.class.php on line 120
0735|[Sat Jan 04 13:55:10.119389 2025] [php7:error] [pid 49750:tid 49750] [client 91.108.5.118:0] PHP Fatal error:  Uncaught Exception: [MySQL] Error code : 22007 (1366). Incorrect string value: '\\xF0\\x9F\\x8F\\x85",...' for column `jeedom`.`cmd`.`configuration` at row 1  : UPDATE `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert WHERE id = :id in /var/www/html/core/class/DB.class.php:120\nStack trace:\n#0 /var/www/html/core/class/DB.class.php(238): DB::Prepare()\n#1 /var/www/html/core/class/cmd.class.php(1102): DB::save()\n#2 /var/www/html/plugins/telegram/core/api/jeeTelegram.php(98): cmd->save()\n#3 {main}\n  thrown in /var/www/html/core/class/DB.class.php on line 120

Si quelqu’un a une idée, mais il semblerai qu’une donnée de la requete de Telegram ne sot pas bien interpreté.
je n’ai pas et ne sais pas comment intercepté la requete pour avoir la donnée qui pose probleme.
Merci,

Merci à tous, mais j’ai trouvé mon problème.
le problème était present parce que j’avais mis une emoji dans mon nom Telegram.
ce symbole pose probleme pour l’insertion dans la base.
donc, il suffit de modifier le nom pour que tout refonctionne normalement. enfin presque, il y a semble t’il un délai pour que le symbole soit levé de la requete recu par Jeedom.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.