Utilisation du parser

Bonjour à tous,
serait-il possible d’avoir un exemple d’utilisation du Parser ?
A titre d’exemple, je souhaite récupérer la valeur de 2 compteurs (C12 et C13) d’un IPX 800 v4 à l’aide d’un Push.


La réponse obtenue est :

{
« product »: « IPX800_V4 »,
« status »: « Success »,
« C1 »: 0,
« C2 »: 0,
« C3 »: 1,
« C4 »: 0,
« C5 »: 0,
« C6 »: 0,
« C7 »: 0,
« C8 »: 0,
« C9 »: 0,
« C10 »: 0,
« C11 »: 0,
« C12 »: 8024,
« C13 »: 915,
« C14 »: 0,
« C15 »: 0,
« C16 »: 0
}

Je crée un objet Parser avec, pour Contenu Str, la string contenant la réponse du Push et je crée 2 clés pour définir les deux variables devant contenir les valeurs des deux compteurs :
image

Je bloque au niveau de la syntaxe à utiliser pour les 2 clés.

C12 et C13

Bonne journée

2 « J'aime »

merci pour la réponse rapide.

Je complète…

image

image

image

Et ça fonctionne :smiley:

1 « J'aime »

Remarque non liée directement au Parser : je reste toujours bluffé par le concept Objet/Lien un peu déroutant quand on vient de la V4 mais tellement puissant et pratique :grinning:.

Bonne journée

1 « J'aime »

Pour info un compteur doit etre parsé dans une ana32 (ana16 est trop petite)

Un message a été fusionné à un sujet existant : Push / pull IPX800v5

bonsoir
Tout d’abord un grand merci pour cette fonction parser tellement attendue, permettant de faire communiquer nos IPX intergénérationnelles.
Je vous salue bien bas…
NB pour rafraichir les données, j’ai utilisé la fonction clignotant Ta 10s TB 10s -->Push vers V4 et parser…

1 « J'aime »

bonjour,
c’est bien la méthode à mettre en place :slight_smile: .
Le Parser détecte les changements dans le résultat Json du Push et met ses variables à jour .
bonne soirée

Bonjour à tous,

Super cette nouveauté. Bravo GCE. Je rencontrais cette difficulté de pouvoir récupérer des infos de la v4 vers la V5 facilement depuis le début. J’ai commencé à paramétrer tous ça mais je rencontre une difficulté juste après avoir créé la fonction paser. Je me retrouve bien comme @Michel94 avec la valeur réel indiqué correctement en partie basse. Cette valeur est issue d’une entrée analogique de ma V4 (une sonde de température).

Mon objectif est d’afficher la valeur en °c de cette sonde sur le Dashboard de la V5.
Pour ce faire, selon moi, il faut envoyer le résultat de la paser dans une fonction permettant la conversion d’une sonde TC100.

Voici ce que j’ai fait :
image

Envoi vers la fonction :

Voici le paramétrage de ma fonction :
image

Envoi vers l’entrée analogique virtuelle que je compte utilisé dans mon dashboard:
image

Et la, pas de température :sob:

Je pense qu’il y a quelques choses que j’ai mal fait ou la succession de mes tâches ne sont pas les bonnes.

Merci à tous pour votre aide.

Du coup, avec l’actualisation du push via le clignotant, ça fonctionne. :smiley: :smiley:
C’est impeccable cet outil.
Bon ba finalement j’ai résolu mon problème.

1 « J'aime »

Bonjour à tous,

J’ai noté une limitations dans l’utilisation des Pushs Get=x vers la v4.

La plupart des réponses aux commandes JSON GET=x vers la v4 dépassent les 512 caractères.
Il s’ensuit des réponses tronquées :

  • Get=R : réponse sur l’état de R01 à R31 sur 56 relais
  • GET=D : réponse sur l’état des D01 à D31 sur 56 entrées
  • GET=A : réponse sur l’état des A1 à A4 (réponse complète)
  • GET=VA: réponse sur l’état des VA1 à VA29 sur 32 VA (dépends du contenu des VA)
  • GET=C : réponse sur l’état des C1 à C12 (réponse complète)
  • GET=VI : réponse sur l’état des VI118 à VI128
  • GET=VO : réponse sur l’état des VO118 à VO128
  • GET=XTHL : Réponse sur l’état des THL1-TEMP à THL7-TEMP (dépends du contenu des THL)

image

@GCE : serait-il possible d’ajouter, de façon optionnelle, l’interface ou la plage des interfaces souhaitées dans les commandes V4 (comme c’est déjà utilisé pour les commandes XPWM ou DMX) de type GET=VO|056 ou GET=VO|001-024 ?

Bonne journée

Je poursuis mes tests …
En essayant de récupérer les valeurs d’une THL de ma v4, j’ai la réponse tronquée suivante :
{
« product »: « IPX800_V4 »,
« status »: « Success »,
« THL1-TEMP »: 9.62,
« THL1-HUM »: 80.95,
« THL1-LUM »: 0,
« THL2-TEMP »: -46.85,
« THL2-HUM »: -6.00,
« THL2-LUM »: 0,
« THL3-TEMP »: -46.85,
« THL3-HUM »: -6.00,
« THL3-LUM »: 0,
« THL4-TEMP »: -46.85,
« THL4-HUM »: -6.00,
« THL4-LUM »: 0,
« THL5-TEMP »: -46.85,
« THL5-HUM »: -6.00,
« THL5-LUM »: 0,
« THL6-TEMP »: -46.85,
« THL6-HUM »: -6.00,
« THL6-LUM »: 0,
« THL7-TEMP »: -46.85,
"THL7

J’utilise le Parser suivant :
image

Aucune valeur n’est remontée :
image

Est-ce lié au fait que la réponse est corrompue ?

1 « J'aime »

Bonjour Michel94,

je ne pense pas.
Par contre (@fgtoul, @Jweb corrigez moi si je dis une bétise) le Parser ne se déclenche que lorsqu’il y a un changement de valeur.
Et entre 2 déclenchements de votre push il n’y a probablement eu aucun changement.

Bonne journée

bonjour c’est bien ça.
Il détecte les changements dans le Push et met ses variables sorties à jour si nécessaire.

Oui, si la réponse est tronquée, elle n’est pas reconnue comme JSON, donc non interprétée.

Il faut faire des requêtes renvoyant des Json plus courts, un ticket a été ouvert pour repousser la limite des 512 caractères de json.
bonne journée

Bonjour @grocrabe ,

Le jour ce lève et je vois, sur la v4, la luminosité augmenter alors que la sortie du parser reste désespérément à 0.
Pour info, le push est déclenché toute les minutes.
Je vais faire des tests avec les VO…

@fgtoul,

C’est un peu ce que je craignais : La récupération des données R, D, VA, VI, VO, XTHL n’est donc pas possible :astonished: :astonished: :astonished:

L’EDRT2 et l’IPX800 V4 sont dans le même cas lorsque les commandes de leur API renvoient des tableaux de valeurs (Get=R, …)
Des tickets sont ouverts :wink:

Bonjour.

Je confirme les valeurs des x-thl n’est pas remontée.
J’ai fait un essais sur les sorties virtuelles, les valeurs retournées correspondent aux X-THL.

Cdlt

Bonjour,

Voici un exemple d’utilisation de PARSER, je remonte l’état de mon chauffage X-FP de ma V4.
Eco, Confort, Hors gel et Arrêt dans chaque pièce de la maison.

Encore merci à toute l’équipe GCE ainsi qu’aux béta testeurs pour leur réactivité.

Cdlt

Le push :
push1


Le parser :

1 « J'aime »

Bonsoir,

Je souhaite envoyer l’état de mon chauffage à un écran TFT avec ESPEASY.
Pour cela j’utilise le résultat d’un PARSE que je met dans un push avec l’id du PARSE.
En faisant un essais avec le push j’ai le message invalide configuration.
Par contre pour les push: température, humidité, et état de la fenêtre ça fonctionne très bien.
Cdlt