API SolarLog et IPX800-V5

Bonjour @boban

Oui pour la configuration de l’objet TCP MODBUS READ
je mettrai plutôt read output register

Et il vous faut une ou 4 ANA32 de 4 octets paramétrée comme suit (32 bits unsigned )

Merci. Malheureusement, je ne suis pas un expert en modbus.
Cela devrait-il fonctionner avec cette configuration ? Voir les images
que signifie 32 bits non signés ?
Si tout fonctionne bien, où puis-je trouver la valeur de la réponse ? Directement dans A32 dans le champ Valeur ?

J’ai demandé la licence ModBus TCP de mon Solar-Log

Cordialement, Boban

Cela signifie que vous ne pouvez pas avoir de valeurs négatives

Oui les valeurs des variables ANA32 en RAW accepte des 32 bits non signés

Quelle version de firmware et software avez-vous sur la v5?

Bonjour, vous pouvez contourner le problème en passant par un service tiers par exemple MQTT vers Node-red (sur jeedom, home assistant etc) puis Node-red vers votre système il y a des exemples sur le forum

Et un exemple de flows node-red vers solarlog
https://flows.nodered.org/flow/83617792aa2c2f50d15ed71f840d9905
Tenez nous au courant :wink:

Bonjour. La version est la plus récente. 5.4.1

Merci beaucoup pour la réponse.
Oh Mère. Ces solutions sont très belles. Malheureusement, je suis légèrement hors de mes compétences en informatique. Si j’ai bien compris, NodRed est-il une application ? Qui doit être installé sur une machine. Y aurait-il une solution pour Qnap ? J’ai un Qnap toujours en marche.
Sinon il y a des solutions dans le Cloud ?

Désolé mon français est traduit par google. Je parle italien. Je connais 30% de français, étant que j’habite en suisse c’est la troisième langue officielle.

Node-red est une application qui peut s’installer sur windows, linux, mac, raspberry, sur des solutions domotique domotique (home assistant) et qnap, vous avez tous les tutos sur node-red et l’install sur qnap sur google (https://www.youtube.com/watch?v=CSVWX4ccZ-s). Bonne journée

Salut à tous. Enfin, j’ai pu lire les données de mon SolarLog via Modbus TCP.
J’ai dû payer une licence de 85 euros mais ce n’est pas grave.
Je tiens à remercier en particulier Jweb pour m’avoir donné l’inspiration.
Merci à tous pour le soutien.
Je voudrais créer un autre indicateur qui me montre la différence entre le produit et la consommation. Exemple comme image de résultat.
Si la production est supérieure à la consommation, cela signifie que je vends.
Fondamentalement, le calcul (Analog32-consommation - Analog32-production) = résultat
prod-consumo
risultato

Merci

3 « J'aime »

Bonjour @boban

Votre calcul doit être possible en utilisant l’astuce suggérée par @fgtoul ici:

Vous récupérez les 2 variables lues avec le modbus TCP et vous utilisez l’astuce.
Si vous voulez faire moins souvent le calcul vous pouvez utiliser un blinker en réglant les Ta et Tb pour que le recalcul soit fait à la fréquence que vous souhaitez

1 « J'aime »

Merci Jweb, ça marche.
J’ai inséré un clignotant avec des temps TA : 1 seconde et TB : 5 secondes
Seul petit défaut : entre une requête et une autre la valeur change pendant 1 seconde puis revient à la normale prt 5 srcodi. Existe-t-il un moyen d’éviter ce changement ?

Deuxième question, dans la V4, le graphique existait sous forme de widget. Sur V5 il n’est pas possible d’avoir un graphique ?

Salut, Boban

Bonjour @boban

Pour éviter ceci créez une nouvelle variable à la sortie de la fonction et affectez lui le résultat de la fonction. C’est cette nouvelle variable que vous devez afficher.

Un module graphique devrait arriver prochainement sur la V5 :wink:

Salut; salut. J’ai fait. Malheureusement le résultat est le même. A la sortie de la fonction j’ai inséré un A32. Le résultat de A32 est le widget de jauge Risultato A32

Voir la vidéo
IPX-800-V5 - Google Chrome 2022-01-18 19-38-59 (2).zip (610,2 Ko)

Bonsoir @boban ,

Pouvez vous nous faire passer des copies d’écran de l’objet fonction et de la formule que vous utilisez?

Voici.
Trouvez l’écran d’impression de toutes les étapes.
Je lis la valeur dans une variable A32, puis cette valeur x/65536/1000
Pour obtenir la différence je devrais prendre les deux valeurs des variables A32production - A32consommation. Soit deux aboutissements de fonctions et faire production-consommation.
Malheureusement le résultat est faux.
Je ne comprends pas pourquoi ce calcul fonctionne. C’est un mystère pour moi.
($327707$ - $327724$) + $327724$ Pour moi, ce calcul n’a aucun sens. Important que ça marche
id.327707 est A32 production, id.327724 est A32 consommation.
ana32_produzione
Cattura


function_produzione

Salut, boban

Bonjour
image

attention :
si l’objet « Fonction » utilise des variables sous la forme $id$, il faut lier une analogique comme ipx.clock pour forcer le calcul.
Voir cette discussion :

Vous pouvez aussi lier un clignotant à l’entrée d’un Preset, régler la valeur OFF du Preset à 0 et la valeur ON à 0.0001 (il faut régler les décimales sur la sortie)
Ce Preset pourra être lié à l’entrée de l’objet Fonction, son Entrée vaudra donc tour à tour 0 puis 0.0001.
Vous pourrez alors utiliser X dans votre formule, ses valeurs insignifiantes ne devraient pas en modifier le résultat.

bonne journée

Merci. Valeur ON N’accepte pas 0.0001
Sortie Preset A16

Effectivement, bien vu, mais la méthode reste identique.

Il faut cliquer sur la sortie du Preset, passer en unité REAL et régler la précision décimale à 4
image

image

Quoi qu’il en soit, 0.0001 n’est qu’un exemple pour montrer qu’il est possible de valoriser l’entrée X de la fonction avec une valeur « insignifiante » devant le résultat attendu de la fonction.

1 « J'aime »

Bonsoir,
On ne voit pas toute la logique de calcul là mais n’est-il pas possible de lier en entrée de la fonction SolarLog-risulto une des valeurs utilisée pour le calcul (plutôt $327707$ d’ailleurs)? Cela permettra une execution de la function dès que la valeur de l’entrée fluctue !