[MySQL] Error code : 22001 (1406) historiser une commande

Dans ton scénario qui génère le log, dans le bloc code tu peux faire json_decode('"' . $text_to_decode . '"');
exemple, si $str contient ton text:

$str = "D\u00e9sactivation";
$decoded_str = json_decode('"' . $str . '"');

Il y a quand meme un truc que je ne comprends pas avec cet histoire de topic homeassistant…
je stoppe le container myfox2mqtt. je fais mqtt explorer myfox2mqtt remonte dans le topic homeassistant. J’acitve le container, j’ai le topic myfox2mqtt qui remonte en plus de homeassistant. Pourquoi myfox2mqtt reste dans homeassistant s’il n’est pas activé ?

Je vais tester le bloc code mais a mon avais l’alarme va envoyé d’autre infos avec des accents. Faudrait que je regle le problème a la source. Je vais voir avec le dev du plug in je suis en contacte pour ajouter des options dans le plug in

désolé je n’ai rien compris à ton scénario.

peux-tu reformuler ceci?
tu « fais » quoi?

oui normal myfox2mqtt poste dans les 2

ca veut dire quoi « reste dans gomeassistant »?
qui n’est pas activé?


oublies ton installation « homeassistant », considère qu’elle n’existe pas;
je n’ai aucun homeassistant qui tourne pour l’instant, cela ne m’empêche pas d’utiliser les données qui se trouve dans ce topic.
le logiciel « homeassistant » ne poste jamais dans le topic « homeassistant », ce topic ne lui « appartient » pas,
le nom de ce topic est juste très mal choisi (ils ont aussi fait des mauvais choix parfois), le nom aurait dû être quelque chose comme « discovery »

petite question pour voir ce que je peux demander au dev du plug in, pourquoi dans les logs du conatiner j’ai bien les accents :


2023-09-20T19:18:01.116584332Z 2023-09-20 19:18:01,115 [INFO] [myfox.api:555] Site History: {'status': 'OK', 'timestamp': 1695237481, 'payload': {'items': [{'logId': 825731283, 'label': 'Désactivation de la protection depuis internet', 'type': 'security', 'createdAt': '2023-09-20T04:49:12Z'}, {'logId': 825748565, 'label': 'Activation totale de la protection par la télécommande « télécommande 4 boutons »', 'type': 'security', 'createdAt': '2023-09-20T06:32:47Z'}, {'logId': 825772029, 'label': 'Désactivation de la protection depuis internet', 'type': 'security', 'createdAt': '2023-09-20T09:44:27Z'}, {'logId': 825772101, 'label': 'Activa

Il se situe ou le problème ?

parce que le payload a été décodé de toute évidence, voir ma suggestion plus haut


mais du coup tu pars sur quelle solution là? quel plugin?

Pour l’instant je suis entrain de peaufiner des détails avec le dev. Sinon si ça marche avec Mqtt discovery je ferai avec celui la car cnest quand même pratique d’avoir les bons noms de commande.
Par contre dans un autre post j’ai signalé un problème sur l’exécution des commandes qui ne fonctionne pas

Et je pense utiliser logmàger pour gérer les logs de l’alarme et mette en avant les intrusions etc…

je comptais y répondre mais seulement si tu me confirmais que ca allait servir :wink:
du coup la suite là-bas

Petite question concernant mon histoire de log, le problème d’accents est résolu, j’ai reussi a faire une catégorie info ou warning si c’est une alerte alarme. Maintenant je voudrais avoir une notification lors d’une alarme. Quelle est la meilleure facon de faire ? Directement depuis le scénario ?
Ou alors il faut utiliser #lm-debug#, #lm-info#, #lm-warning# ou #lm-error# mais je n’ai pas compris comment l’intégrer dans un scénario
Merci

En déclencheur « tout simplement »:
image

mais si tu as déjà un scénario pour poster le log, ca me parait plus directe de faire ta notif depuis celui-ci

1 « J'aime »

encore une question si je veux envoyer uniquement les warnings sur un commande info vituel, je fais un event dans le scénario ? et je mets quoi dans l’event pour envoyer le warning correspondant ?

Montres ton scénario actuel

voici le scénario


ca donne ceci :

et je voudrais que les Warning s’affiche dans une commande info virtuelle
a la place de l"ancienne commande de l’ancien plug in myfox

donc dans ton « SI alarm », tu pousses la commande history dans ta commande info

avec la commande event c’est bien ca ?

oui avec l’instruction « event »

J’ai encore une question, est ce que c’est possible de nettoyer le log par exemple :
image

-10-03 18:25:19][INFO] : security 2023-10-03T16:25:10Z Désactivation de la protection depuis internet
[2023-10-03 18:11:36][INFO] : security 2023-10-03T16:11:30Z Activation totale de la protection depuis internet
[2023-10-03 15:44:55][INFO] : scenario 2023-10-03T11:36:04Z Lancement du scénario « test HA »
[2023-10-03 13:36:11][INFO] : scenario 2023-10-03T11:36:04Z Lancement du scénario « test HA »
[2023-10-03 13:19:32][WARNING] : alarm 2023-10-03T11:18:36Z Fin de l'alarme « Intrusion » levée par l'appareil « Jardin Optex 1 ».
[2023-10-03 13:19:31][WARNING] : alarm 2023-10-03T11:18:36Z Fin de l'alarme « Intrusion » levée par l'appareil « Jardin Optex 1 ».
[2023-10-03 13:19:22][WARNING] : alarm 2023-10-03T11:18:36Z Fin de l'alarme « Intrusion » levée par l'appareil « Jardin Optex 1 ».

Je voudrais enlever la partie horodatée qui n’est pas a l’heure… Par exemple

2023-10-03T11:18:36Z

Et est ce possible dans un virtuel de n’afficher que les logs en warning ?

une piste: avant de poster dans le log tu peux faire un regex et capturer ce qu’il y a avant et après et ne garder que ca
c’est un peu complex, tu vas avoir d’un bloc code
il existe des sites en ligne pour aider à construire une regex dynamiquement si tu veux essayer
p-e que quelqu’un aura une meilleur piste, là moi j’ai pas le temps d’y passer plus de temps

non en l’état ce n’est pas possible mais vu que c’est toi qui post dans ton log en mode info ou warning, pourquoi tu ne postes pas dans trois logs différents: un pour scénario, sécurity et alarm et vu qu’il n’y a que alarm (=warning) qui t’intéresse à l’affichage, tu n’affiches que celui là

oui en fait je n’ai qu’a faire ceci directement. ?

tu peux mais alors ca ne sert à rien de poster en mode info:
image

du coup pour l’afficher dans un virtuel je fais ceci

Et si je veux garder tous les logs dans logmanager et n’afficher que les warning dans un virtuel je fais ceci ?