[Tuto] Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
Bonjour,
Je déterre ce sujet.
J'ai :
réalisé la carte de connexion par moi-même ( vérifiée et revérifiée x fois),
modifié le boot du rpi3
installé le soft vitalk de base.
Le premier message indique une connexion correcte,
mais le deuxième indique une erreur :
pi@rasppi-b:/var/viessmann/vitalk $ sudo ./vitalk -f -t /dev/ttyAMA0
Reset Communication to KW Proto..Success.
Try Proto 300 Init: failed! 5
Ici, je reçoisla valeur 5 alors que vitalk attend la valeur 6.
Problème de compatibilté avec ma chaudière ?
Chaudière : Vitodens 222-W type B2LB
Vitotronic HO2B
Raps ; Rpi3B
boot/config.txt
ajout : dtoverlay=pi3-disable-bt
cdmline.txt = ôter console=serial0, 115200
disable Bluetooth : sudo systemctl disable hciuart
Toute aide bien venue.
A+
Bernard
Je déterre ce sujet.
J'ai :
réalisé la carte de connexion par moi-même ( vérifiée et revérifiée x fois),
modifié le boot du rpi3
installé le soft vitalk de base.
Le premier message indique une connexion correcte,
mais le deuxième indique une erreur :
pi@rasppi-b:/var/viessmann/vitalk $ sudo ./vitalk -f -t /dev/ttyAMA0
Reset Communication to KW Proto..Success.
Try Proto 300 Init: failed! 5
Ici, je reçoisla valeur 5 alors que vitalk attend la valeur 6.
Problème de compatibilté avec ma chaudière ?
Chaudière : Vitodens 222-W type B2LB
Vitotronic HO2B
Raps ; Rpi3B
boot/config.txt
ajout : dtoverlay=pi3-disable-bt
cdmline.txt = ôter console=serial0, 115200
disable Bluetooth : sudo systemctl disable hciuart
Toute aide bien venue.
A+
Bernard
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
Bonjour,
ta chaudière est récente ? Peut-être que le protocole utilisé a changé.
La mienne est de 2009.
Sur ce sujet, regarde ici si tu ne peux pas avoir de l'aide :
https://www.bricozone.fr/t/interface-vi ... -pi.14671/
ta chaudière est récente ? Peut-être que le protocole utilisé a changé.
La mienne est de 2009.
Sur ce sujet, regarde ici si tu ne peux pas avoir de l'aide :
https://www.bricozone.fr/t/interface-vi ... -pi.14671/
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
@berco63
viewtopic.php?f=17&t=1955&start=440#p62381
si cela peut servir.
Je ne comprends pas les 2 messages, connexion correcte, puis erreur, mais je ne me souvient plus....
Pour moi on doit avoir:
Try Proto 300 Init: Success.
Now Listening to telnet Port 83
As-tu ce messages?
Si oui, tu peux te connecter sur le port 83 et passer des commandes vitalk
Je suppose que tu as lu tout de ce topic, mais au cas où, j'ai fait un bilan de mon installation (avec problèmes!) ici avec qq points d'attention.berco63 a écrit : 29 févr. 2020, 15:40
Le premier message indique une connexion correcte,
mais le deuxième indique une erreur :
pi@rasppi-b:/var/viessmann/vitalk $ sudo ./vitalk -f -t /dev/ttyAMA0
Reset Communication to KW Proto..Success.
Try Proto 300 Init: failed! 5
Ici, je reçoisla valeur 5 alors que vitalk attend la valeur 6.
viewtopic.php?f=17&t=1955&start=440#p62381
si cela peut servir.
Je ne comprends pas les 2 messages, connexion correcte, puis erreur, mais je ne me souvient plus....
Pour moi on doit avoir:
Try Proto 300 Init: Success.
Now Listening to telnet Port 83
As-tu ce messages?
Si oui, tu peux te connecter sur le port 83 et passer des commandes vitalk
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
@js-martin et @hestia
merci,
Grace à vos conseils , aux 48 pages de ce topic, j'ai réussi à faire fonctionner l'interface avec ma chaudière.
A+
Bernard
merci,
Grace à vos conseils , aux 48 pages de ce topic, j'ai réussi à faire fonctionner l'interface avec ma chaudière.
A+
Bernard
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
Bravo.
Il faut beaucoup de motivation pour y arriver, mais le résultat est la récompense.
Il faut beaucoup de motivation pour y arriver, mais le résultat est la récompense.
Domotisation de : mes compteurs EDF, solaire, eau / mon alarme / ma Chaudière Viessamnn / mon congel / ma sonnette. Matériels : Pi2 - RFXTrx433e - Zwave+ Aeotec, ampoules Hue - Détecteur et prises Fibaro - Capteurs Oregon - présentation installation => lien
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
Bonjour à tous,
voilà j'ai un vitotronic 050, jusque là pas trop de problème vitalk fonctionne mais pas totalement.
Je m'expliquer certaines valeurs comme par exemple la température intérieur est toujours à 20°, or en réalité ce n'est pas le cas.
J'ai mené mon enquête, il s'avère que vitalk essaye de lire sur une adresse mémoire qui n'est pas bonne.
Personne n'a répertorié les adresses mémoires avec la correspondance de ces valeur du vitotronic 050.
J'ai donc voulu faire un scanner d'adresse et je bloque, je suis archi nul en python. Quelq'un sur un autre forum m'a envoyé ce code mais il ne fonctionne pas.
voici l'erreur
Toute aide sera la bienvenue pour faire un scanner d'adresses afin que je puisse modifier vitalk
Merci d'avance
voilà j'ai un vitotronic 050, jusque là pas trop de problème vitalk fonctionne mais pas totalement.
Je m'expliquer certaines valeurs comme par exemple la température intérieur est toujours à 20°, or en réalité ce n'est pas le cas.
J'ai mené mon enquête, il s'avère que vitalk essaye de lire sur une adresse mémoire qui n'est pas bonne.
Personne n'a répertorié les adresses mémoires avec la correspondance de ces valeur du vitotronic 050.
J'ai donc voulu faire un scanner d'adresse et je bloque, je suis archi nul en python. Quelq'un sur un autre forum m'a envoyé ce code mais il ne fonctionne pas.
Code : Tout sélectionner
import telnetlib
tn = telnetlib.Telnet('192.168.0.148', 83)
tn.read_until(b'\x05')
print("\nwriting ..." )
tn.write(b'\x04')
tn.read_until(b'\x05')
i = 0
while i < 65535:
hexStr = hex(i)[2:]
if len(hexStr) == 1:
res = hexStr.rjust(1 + len(hexStr), '0')
else:
res = hexStr
byte = bytes.fromhex(res)
print("hexStr : "+hexStr)
print("hexbyte : "+str(byte))
tn.write(b'\x01')
tn.write(b'\xF7')
tn.write(byte)
tn.write(b'\x04')
tn.write(b'\x04')
print("reading ..." )
string = tn.read_until(b'\x05')
for char in string:
print(hex(int(char)), end=' ' )
i += 1
tn.close()
Code : Tout sélectionner
File "test.py", line 4, in <module>
tn.read_until(b'\x05')
File "/usr/lib/python3.7/telnetlib.py", line 313, in read_until
if selector.select(timeout):
File "/usr/lib/python3.7/selectors.py", line 415, in select
fd_event_list = self._selector.poll(timeout)
KeyboardInterrupt
Merci d'avance
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
bonjour nini57
je l'avais fait, mais je ne l'ai pas gardé
J'étais simplement partir du pyton domo2vito qui a une fonction "def viTalk_read_address(addr)" et j'avais fait une boucle dessus.
Je ne sais pas si c'est dans le script initial, mais c'est dans un mien sur ce topic
Pour lire une adresse
Il faut faire un boucle dessus
En espérant que ça aide...
je l'avais fait, mais je ne l'ai pas gardé
J'étais simplement partir du pyton domo2vito qui a une fonction "def viTalk_read_address(addr)" et j'avais fait une boucle dessus.
Je ne sais pas si c'est dans le script initial, mais c'est dans un mien sur ce topic
Pour lire une adresse
Code : Tout sélectionner
#######################################################################
###### viTalk_read_address(addr) : read the value of an address
#######################################################################
def viTalk_read_address(addr):
global log_Info
global tn
retry=3
value=""
while retry!=0:
tn.read_until(b"$", 5)
tn.write(b"rg "+addr+"\n")
value=tn.read_until(b"$", 5).strip("\n$")
if value!="" and value!='NULL':
break
retry-=1
if retry==0:
print "Connection ERROR - I try to restart viTalk deamon"
os.system('sudo service vitalk restart')
#tn.close()
print(addr+": "+value+" error")
sys.exit()
value = value.strip("\n$")
if log_Detail:
print "read address "+addr+" : answer = "+value
return value
####
Il faut faire un boucle dessus
En espérant que ça aide...
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
j'ai refait qqch qui a l'air de fonctionner
il faut choisir le début et la fin de la boucle
A noter que je ne suis pas codeur et que j'ai découvert python dans ce topic et d'ailleurs je ne comprends pas tout à la fonction utilisée...
ça sort qqch comme ça
Code : Tout sélectionner
#!/usr/bin/python
#
#Read and list vtalk addresses
import telnetlib
import sys
import os
import time
import datetime
import requests
from requests.auth import HTTPBasicAuth
import json
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Mode log_Info
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
log_Info=True # basic info about execution
log_Detail=False # more info about execution
print 'Start '+time.strftime("%H")+':'+time.strftime("%M")
#######################################################################
###### viTalk_connect() : connect to viTalk localhost:83
#######################################################################
def viTalk_connect():
global log_Info
retry=3
while retry!=0:
try:
# tn = telnetlib.Telnet("localhost", 83)
tn = telnetlib.Telnet("vito", 83)
if log_Info:
print "Connected to viTalk telnet !"
return tn
except:
print "Connection ERROR - I try to restart viTalk deamon"
#I try to restart viTalk
cmd = 'sudo service vitalk restart'
os.system(cmd)
time.sleep(10)
retry-=1
else:
tn.read_until(b"$", 5)
if retry==0:
tn.close()
print "Connection ERROR - I could not restart viTalk deamon"
sys.exit()
####
#######################################################################
###### viTalk_read_address(addr) : read the value of an address
#######################################################################
def viTalk_read_address(addr):
global log_Info
global tn
value=""
tn.read_until(b"$", 5)
tn.write(b"rg "+addr+"\n")
value=tn.read_until(b"$", 5).strip("\n$")
print "read address "+addr+" : answer = "+value
return value
####
#######################################################################
###### viTalk_check() : test viTalk and restart it if needed
#######################################################################
def viTalk_check():
global log_Info
global tn
retry=3
value=""
while retry!=0:
tn.read_until(b"$", 5)
tn.write(b"g saving \n")
value=tn.read_until(b"$", 5).strip("\n$")
if value!="" and value!='NULL':
if log_Info:
print "Check viTalk data OK ! (no NULL data received)"
break
retry-=1
if retry==0:
print "Connection ERROR - I try to restart viTalk deamon"
os.system('sudo service vitalk restart')
sys.exit()
####
#-----------------------------------### START ###--------------------------------------------#
##
tn=viTalk_connect()
viTalk_check()
# Addresses for reduce mode time intervals
i=1000
while i<2350:
istr=str(i)
viTalkAddress=viTalk_read_address(istr+" 8")
i+=1
A noter que je ne suis pas codeur et que j'ai découvert python dans ce topic et d'ailleurs je ne comprends pas tout à la fonction utilisée...
ça sort qqch comme ça
Start 19:42
Connected to viTalk telnet !
Check viTalk data OK ! (no NULL data received)
read address 1000 8 : answer = 128;19;16;145;5;16;0;64;
read address 1001 8 : answer = NULL
read address 1002 8 : answer = NULL
read address 1003 8 : answer = NULL
read address 1004 8 : answer = NULL
Re: Contrôler sa chaudière Viessmann avec Domoticz via une interface infrarouge
Merci beaucoup j'arrive enfin à lire les adresses