Virtuel transformation valeur

je ne pense pas qu’il manque un bout j’arrive a avoir un virtuel de base si je laisse le type d’info sur autre.
virtuel
oui il envoi cette info je veux la retravailler pour mettre un widget avec une jauge.


la Valeur varie de 20 a 100% suivant l’état de charge des batterie solaire.

Merci de ton aide,

Pour moi, votre commande a un problème, il ne devrait pas y avoir le mot value, mais juste 65.

Cela doit ce supprimer avec une petite commande PHP
Je suis sur mon smartphone, mais rechercher avec str_replace()

Merci de ta réponse cependant j’ai du mal avec les scenario code en php peux m’aider ? J’ai commencé avec Ça :

$cmd = cmd::byString("#[Aucun][Venus Gx][xxx:battery:512:Soc]#");
$value = $cmd->execCmd();
$scenario->setData("test_php", $value);

C’est faisable plus simplement directement dans le virtuel.

J’ai pas trouver d’info sur le net qu’elle commande maitre dans le virtuel ?

Je viens de tester, mes connaissances sont très limitées.
Ce que je vous proposait, ne fonctionne pas à cause des {}
C’est la fonction : str_replace('chercher','remplacer',{value:62})

Il n’y aurait pas eu les {}, cela fonctionnait par exemple : str_replace('value:','',value:62)

Je ne sais pas supprimer les {}
@olive : help me !

Bizarre cette valeur quand même… je ne connais pas Jmqtt mais je me demande si c’est bien normal d’obtenir ce genre de retour ? :thinking:

Quoi qu’il en soit, cette fonction devrait permettre de récupérer uniquement la valeur :

str_replace(['{value:', '}'], '', $value);
1 « J'aime »

La valeur 62 doit pouvoir être récupérée dans le plugin-jmqtt.
Essaye d’ajouter {value} à la fin de l’expression dans le champ Topic.

3 « J'aime »

Ou mettre cette commande je fais un scenario code ou dans le virtuel derrière mon équipement ?

@Salvialf ou mètre cette fonction ? je suis novice dans ce domaine.

Testez dans votre virtuel, sous cette forme :
str_replace(['{value:', '}'], '', #[ici][votre][equipement]#)

Mais, peut-être est-il préférable de suivre les indications de @Jeandhom

  • Bien que je n’ai pas non plus compris la réponse :wink:

S’il vous plait, détaillez vos réponses pour qu’elles puissent être comprises par tous.

Je rejoins @Fabrice, la réponse de @Jeandhom doit être plus adaptée car il connait le fonctionnement du plugin Jmqtt.

As-tu essayé ce qu’il te propose ?

Dans le plugin-jmqtt, si le Topic mon/topic donne comme valeur {"value":62} alors le Topic mon/topic{value} devrait donner la valeur 62.

1 « J'aime »

@Jeandhom le champ topic n’est pas accessible :


Quand je clique dessus:

On voit la valeur que j’ai sous la forme :

 {"value": 0}

Voici sous virtuel :


Avec la commande de @Fabrice le résultat et vide :

Il faut installer les deux PR de @naboleo

@Jeandhom dans le topic de la commande j’ai :

N/xxx/system/0/Dc/Pv/Power/topic{value}

J’ai aussi essayé avec ça :

N/xxx/system/0/Dc/Pv/Power{value}

Cela ne change rien a la valeur obtenue je suis tombé sur le forum où j’ai pu voir que cela marchait en V3 Interface Jeedom / Victron Venus via le plugin jMQTT - Page 5 - Forum Communauté Jeedom

Il faut, peut être, attendre que la valeur se mette à jour.

je recommence de zéro :
Installation de JMQTT OK
Création du broker avec l’ip du VenusOS OK
Mode inclusion OK il ajout un équipement N
Équipement N création d’une commande action:

R/ID-du-Venus/system/0/Serial

Création d’un scénario pour exécuter la commande action tout les minute OK
Jmqtt détecte les commande info (le venus envois beaucoup d’info >200) du type :


Si jeu modifie une de ces commande elle se rajoute au prochain cycle de la commande action mais perd sa modification et la commande modifié ne marche plus.
La valeur reçu et toujours du type :

{"value": 000}

Elle change tout les minute en fonction des paramètres du système.

Il faut décocher ;

Capture d’écran du 2021-02-21 19-29-08

Tu peux aussi créer une commande info supplémentaire, cela conservera la commande info d’origine.

1 « J'aime »

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