SIAPRO interprétation du code

Tags: #<Tag:0x00007f3863638c18>

Bonjour
Maintenant que le plugin SIAPRO fonctionne je me pose la question comment filtrer les codes ou interprétés les codes du logs pour lancer une action directement ou via scénario.

Pourriez vous me donner un lien qui parle de ce sujet sur le forum ou autre.

Dans le Plugin
On peut imaginer un filtre(s) qui ne garderait que les codes qui nous intéresseraient ou qui éliminerait les codes de routine.

Mais d’un manière générale comment extraire d’une ligne de log une variable pour l’utiliser dans une action ou un scénario.
Exemple ci dessous

2020-09-19 13:15:04][INFO] : jeeSIAPro:: jsonData:'{"account": "55263", "code": "YG", "zone": "Nri0", "message": "\"SIA-DCS\"0236L0#55263[#55263|Nri0/YG0]_11:14:39,09-19-2020", "uuid": "0"}'

j’ai une ligne avec le code YG qui n’est pas répertorié dans la doc que j’ai vu pour le standard SIA.
Je ne vois pas d’équipement dans le Plugin pour ce code ,Il pourrait être intégré dans le plugin!.
Mais peut être qu’il n’y à peu d’intérêt car si ce code est utilisé par une marque particulière (pour moi AJAX), il pourrait avoir une autre signification pour une autre marque ,d’où peut être l’intérêt d’extraire un code spécifique à une marque par ces propres moyens.
Quoique intégré un code particulier qui n’existe pas dans la doc officiel ,ne veut pas dire lui attacher une fonction particulière.il serait extrait(interprété) mais sans fonction officiel de rattaché car variable suivant une marque
Merci
bonne journée

Bonjour,

Je vous invite à prendre connaissance de ce poste, en particulier les points 6 et 11 en rapport avec le tag et le format des logs: Comment nous aider à vous aider - ou Comment poser une bonne question?

Pour donner une première réponse: non vous ne pouvez pas parser les logs pour déclencher une action, ce n’est pas la bonne façon de procéder.
Dans ce cas-ci, l’auteur du plugin pourra mieux décider de comment mettre cette info à disposition (et il verra votre demande grâce au tag sur le poste)

Ce code est déjà intégré dans le plugin :

"YG": { "Type": "Parameter Changed", "Description": "A TRANSMITTER'S parameters have been changed" }

Tu dois normalement avoir une commande « Code » sur ton équipement qui est justement présente car j’extrais du message brute du protocole SIA ce code sur 2 lettres.

Commande « Description » : explication détaillée du code (voir un exemple ci-dessus)
Commande « Type » : explication courte du code (voir un exemple ci-dessus)
Commande « Message » : trame brute SIA
Commande « Utilisateur/Zone » : utilisateur/zone qui a généré la trame SIA

Avec ces commandes, tu peux faire tout ce que tu souhaites par des scenarii et la puissance du core Jeedom

Je n’ai que deux équipements chacun pour le code RP pour 55263.Nri0 et 55263.Nri1.
Pour l’instant je n’ai pas renommé les équipements
image

Un équipement est automatiquement créé en fonction de l’assocation « [Numéro de compte].[groupe] » et chaque équipement comporte les commandes que je viens de t’indiquer.

Ok je crois comprendre.
Quand je clique sur code de l’objet je vois toujours RP.

Mais si je surveille ce code par un scénario par exemple ce CODE serait passé à YG à l’instant T et reprend la valeur de la dernière ligne.
C’est cela ?

La commande « Code » reflète le dernier état de l"équipement (trame SIA). Les 4 commandes sont mises à jour à chaque trame SIA que je recois…
Si tu actives un scenario sur un changement de valeur de cette commande, tu peux ainsi faire ce que tu souhaites.

Parfait je vais travailler la dessus.

Merci
Bonne journée

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