Je cherche un voltmètre domotique, en Z-wave par exemple.
J’ai besoin de récupérer une valeur en Volt d’une batterie afin de connaitre son niveau de batterie (lithium).
Un Voltmetre me parait le plus simple, mais il faut qu’il soit en communication avec ma jeedom, ça existe ?
Un voltmètre, il est éteint sauf quand tu l’utilises.
Un périphérique Z-Wave est censé resté allumé.
Déjà que peu de personnes possèdent un Voltmètre (proportionnellement)… Je ne vois aucun intérêt à ce qu’un fabriquant nous ponde un Voltmètre Z-Wave. Ce serait bien trop spécifique.
Après peut-être qu’en opérant le Voltmètre et en branchant dessus un module du type Fibaro Smart Implant, il y a peut-être moyen de faire quelque chose… Je ne sais pas.
Néanmoins, tu peux peux faire un Voltmètre grâce à un Arduino.
Un Arduino, tu peux le lier à Jeedom via le plugin Jeeduino. Par contre, il faudra peut-être mettre les mains dans les sketchs.
Quelle serait la tension Max de ta batterie à mesurer ?
Le Smart Implant supporte jusqu’a 10VDC sur ces entrées et la tension est récupérée dans Jeedom (pas automatiquement il me semble. Peut être qu’il faut forcer un refresh à 5 min au lieu d’auto pour que cela fonctionne)
En revanche, est ce que le fait de laisser l’entree du Smart Implant tout le temps sur la batterie ne vas pas influencer la durée de vie de la batterie …
Le Smart Implant refresh bien les informations.
Il y avait un souci au tout début pour certaines personnes (avant que ce soit intégré au plugin) mais je crois que c’est OK là.
Pour ma part, j’utilise un Smart Implant pour piloter une porte de garage.
Dessus est également connecté un détecteur magnétique.
Dès que j’ouvre ou ferme la porte, c’est immédiatement indiqué dans Jeedom, sans perte de temps.
Peut-être que dans des cas comme le sien, c’est différent…
En partant d’un esp 8266 ou esp 32
il est assez simple d’utiliser d’utiliser une entrée analogique a l’aide d’un pont diviseur ( 2 résistances ) qu’il faut adapter a la tension a mesurer.
le résultat de la mesure envoyer sur un virtuel par exemple.
Je cherche à avoir le résultat en VOLT de ma batterie (de maison avec les panneaux solaires) Pylontech sur mon Jeedom, ce qui me sert à savoir l’état de la batterie.
Si tu est prêt a mettre les mains dans le cambouis j’ai tout ce qu’il te faut.
on interroge directement les pylontech. et le résultat est ca :
# exemple de reponse a une commande pwr
'''
pwr
@
Power Volt Curr Tempr Tlow Thigh Vlow Vhigh Base.St Volt.St Curr.St Temp.St Coulomb Time B.V.St B.T.St
1 49390 0 21000 18000 18000 3291 3294 Idle Normal Normal Normal 35% 2019-12-22 15:07:15 Normal Normal
2 49400 0 21000 18000 18000 3292 3294 Idle Normal Normal Normal 33% 2019-12-22 15:07:14 Normal Normal
3 49404 0 21000 18000 18000 3292 3295 Idle Normal Normal Normal 42% 2019-12-22 15:07:14 Normal Normal
4 49405 0 21000 18000 18000 3292 3295 Idle Normal Normal Normal 43% 2019-12-22 15:07:14 Normal Normal
5 49398 0 20000 17000 17000 3292 3294 Idle Normal Normal Normal 44% 2019-12-22 15:07:14 Normal Normal
6 49393 0 20000 17000 17000 3292 3294 Idle Normal Normal Normal 39% 2019-12-22 15:07:14 Normal Normal
7 49393 0 20000 16000 17000 3292 3294 Idle Normal Normal Normal 41% 2019-12-22 15:07:14 Normal Normal
8 49402 0 19000 15000 16000 3293 3295 Idle Normal Normal Normal 44% 2019-12-22 15:07:14 Normal Normal
Command completed successfully
$$
pylon>
'''
il y a toutes les informations pour toutes tes batteries
Coté pylontech j’ai suivi au pied de la lettre le tuto qui se trouve ici :
une fois ceci-fait j’ai ajouter un script qui va juste interroger le petit serveur
avec un petit script comme celui-ci
pour info pour moi je ne récupère que le % de la batterie la plus faible
mais tu peut récupérer ce que tu veut
#!/usr/bin/python
import time
import os
import json
import requests
from requests.auth import HTTPDigestAuth
import pprint
import sys
# exemple de reponse a une commande pwr
'''
pwr
@
Power Volt Curr Tempr Tlow Thigh Vlow Vhigh Base.St Volt.St Curr.St Temp.St Coulomb Time B.V.St B.T.St
1 49390 0 21000 18000 18000 3291 3294 Idle Normal Normal Normal 35% 2019-12-22 15:07:15 Normal Normal
2 49400 0 21000 18000 18000 3292 3294 Idle Normal Normal Normal 33% 2019-12-22 15:07:14 Normal Normal
3 49404 0 21000 18000 18000 3292 3295 Idle Normal Normal Normal 42% 2019-12-22 15:07:14 Normal Normal
4 49405 0 21000 18000 18000 3292 3295 Idle Normal Normal Normal 43% 2019-12-22 15:07:14 Normal Normal
5 49398 0 20000 17000 17000 3292 3294 Idle Normal Normal Normal 44% 2019-12-22 15:07:14 Normal Normal
6 49393 0 20000 17000 17000 3292 3294 Idle Normal Normal Normal 39% 2019-12-22 15:07:14 Normal Normal
7 49393 0 20000 16000 17000 3292 3294 Idle Normal Normal Normal 41% 2019-12-22 15:07:14 Normal Normal
8 49402 0 19000 15000 16000 3293 3295 Idle Normal Normal Normal 44% 2019-12-22 15:07:14 Normal Normal
Command completed successfully
$$
pylon>
'''
def question_pylon(): # inerroge le BMS Pylontech avec une commande pwr
resp = requests.get('http://192.168.0.199/req?code=pwr')
if resp.status_code == requests.codes.ok:
#print('ca marche')
reponse = str(resp.text)
#print ('reponse OK')
else:
#print('ca marche pas')
reponse=''
return reponse
# reherche de la plus petite valeur des % de charge des 8 bateries
def pcbt():
rep = question_pylon()
x = rep.find("%") # cherche le 1er %
a=rep[x-4:x] # prend la valeur sur 2 caracteres
#print(a)
b=a # stock la valeur dans b
x = rep.find("%",x+1) # cherche le % suivant
a=rep[x-2:x] # prend la valeur sur 2 caracteres
if a<b: # si la valeur est plus petite
b=a # on la stock dans b
x = rep.find("%",x+1) # on recommence jusqu'a 8 fois
a=rep[x-2:x]
if a<b:
b=a
x = rep.find("%",x+1)
a=rep[x-2:x]
if a<b:
b=a
x = rep.find("%",x+1)
a=rep[x-2:x]
if a<b:
b=a
x = rep.find("%",x+1)
a=rep[x-2:x]
if a<b:
b=a
x = rep.find("%",x+1)
a=rep[x-2:x]
if a<b:
b=a
x = rep.find("%",x+1)
a=rep[x-2:x]
if a<b:
b=a
return(b) # retourne la valeur la plus petite des % de charge des 8 bateries
print(pcbt())
voilà tu sait tout ou presque n’hésite pas a revenir vers moi si tu a des questions.