Interface Vitodens 200 avec Raspberry Pi

  1. Arty68
    (68) Haut-Rhin
    Ok donne moi quelques jours et je reviens vers toi
     
    Arty68 , 13 Janvier 2020
    #321
  2. nini57
    (57) Moselle
    Super merci beaucoup
     
    nini57 , 13 Janvier 2020
    #322
  3. gchaud
    (92) Hauts-de-Seine
    Ton interface fonctionne.

    Je vois qu'il y a un problème sur la température pour la sonde extérieures (20°C), il faut donc trouver la bonne valeur mémoire.
     
    gchaud , 13 Janvier 2020
    #323
  4. nini57
    (57) Moselle
    oui c'est ce que je dis il va chercher sur la mauvaise adresse mémoire mais je ne sais pas laquelle renseigner
     
    nini57 , 13 Janvier 2020
    #324
  5. gchaud
    (92) Hauts-de-Seine
    Pour la température extérieure vitalk interroge 0x0800

    remplace par 0x080E dans vito_parameter.c
    et tu recompiles/reinstalles

    Indique nous les paramètres qui ne renvoient pas la bonne valeur.
     
    gchaud , 13 Janvier 2020
    #325
  6. nini57
    (57) Moselle
    toujours 20° avec cette adresse
     
    nini57 , 13 Janvier 2020
    #326
  7. Arty68
    (68) Haut-Rhin
    Je suis désolé j'étais très occupé ces derniers temp, j'ai pas pu trop jetter un oeil la dessus.

    Je te donne deja ma version du script a adapter :

    import telnetlib

    tn = telnetlib.Telnet('192.168.1.28', 23)
    tn.read_until(b'\x05')
    print("\nwriting ..." )
    tn.write(b'\x04')
    tn.read_until(b'\x05')
    i = 0
    while i < 256:
    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'\xCB')
    tn.write(byte)
    tn.write(b'\x04')
    tn.write(b'\x04')
    print("reading ..." )
    string = tn.read_until(b'\x05')
    #if len(string) == 3 :
    for char in string:
    print(hex(int(char)), end=' ' )
    i += 1
    tn.close()
     
    Dernière édition: 22 Janvier 2020
    Arty68 , 22 Janvier 2020
    #327
  8. Arty68
    (68) Haut-Rhin
    Premiere chose à faire c'est deja chercher quel est le tty que tu utilise pour interface optolink
    Ensuite remplacer :
    import telnetlib
    tn = telnetlib.Telnet('192.168.1.28', 23)
    par
    import serial
    ser = serial.Serial('/dev/ttyUSBX') ou ttyUSBX correspond à ton port utilisé par ton interface optolink
    remplacer tous les tn par ser

    remplacer tn.write(b'\xCB') par tn.write(b'\xF7') (cf https://github.com/openv/openv/wiki/Protokoll-KW)
    CB etant pour le GWG
    etc ...
     
    Arty68 , 22 Janvier 2020
    #328
  9. Arty68
    (68) Haut-Rhin
    import serial
    ser = serial.Serial('/dev/ttyUSBX')
    ser.read_until(b'\x05')
    print("\nwriting ..." )
    ser.write(b'\x04')
    ser.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))
    ser.write(b'\x01')
    ser.write(b'\xF7')
    ser.write(byte)
    ser.write(b'\x04')
    print("reading ..." )
    string = ser.read_until(b'\x05')
    for char in string:
    print(hex(int(char)), end=' ' )
    i += 1
    ser.close()
     
    Dernière édition: 23 Janvier 2020
    Arty68 , 23 Janvier 2020
    #329
  10. Arty68
    (68) Haut-Rhin
    Quelquechose comme ca puisque pour le KW on est sur 2 octets donc il faut monter 65536 au lieu 256

    A voir aussi si read_until fonctionne aussi pour le serial je n'ai pas testé
     
    Arty68 , 23 Janvier 2020
    #330
  11. nini57
    (57) Moselle
    Merci beaucoup
    j'ai une erreur avec le module serial, j'ai pourtant bien install pyserial avec pip3 mais impossible de faire fonctionner

    AttributeError: module 'serial' has no attribute 'Serial'
     
    Dernière édition: 23 Janvier 2020
    nini57 , 23 Janvier 2020
    #331
  12. Arty68
    (68) Haut-Rhin
    Verifie la version de python que tu utilise.
    C'est peut etre juste une histoire de version.
    Vire peut etre la version 2.7 de pyhton et garde juste la version 3. Python c'est super mais il faut bidouiller avec.
     
    Arty68 , 23 Janvier 2020
    #332
  13. gchaud
    (92) Hauts-de-Seine
    en 2.7 (version que j'utilise), serial fonctionne.
     
    gchaud , 23 Janvier 2020
    #333
  14. nini57
    (57) Moselle
    avec la V2.7 j'ai une autre erreur, une de syntaxe

    File "test.py", line 25
    print(hex(int(char)) , end=" ")
    ^
    SyntaxError: invalid syntax
     
    nini57 , 23 Janvier 2020
    #334
  15. Arty68
    (68) Haut-Rhin
    C'est mieu avec la version 3 de python
    Je n'ai pas teste avec la version 2.7

    Il faut aussi faire attention a l'indentation en python sinon on a facilement des erreurs

    Je l'ai mis dans un google doc. Sur le forum on voit pas l'indentation
    https://docs.google.com/document/d/1fvpcrRwZuCXo4xgei7V71eG0RPIIZCAECvZbMK9wxAY/edit?usp=drivesdk
     
    Dernière édition: 24 Janvier 2020
    Arty68 , 24 Janvier 2020
    #335
  16. nini57
    (57) Moselle
    même problème avec python 3

    File "test.py", line 2, in <module>
    ser = serial.Serial('/dev/ttyAMA0')

    AttributeError: module 'serial' has no attribute 'Serial'
     
    nini57 , 25 Janvier 2020
    #336
  17. Arty68
    (68) Haut-Rhin
    Google is your friend :

    https://stackoverflow.com/questions/33267070/no-module-named-serial/33267173

    Autrement dit il faut installer pySerial

    en python3 ca donne ca : pip3 install pyserial

    parcontre ce serai bien de faire des recherche sur internet avant de poser une qestion pour le moindre petit probleme.
    Il y a surement d'autrechoses qui vont pas marcher c'est quasi sur mais essaye de comprendre ce que tu fais avant de poser une question.
     
    Arty68 , 25 Janvier 2020
    #337
  18. nini57
    (57) Moselle
    justement j'ai déjà installé pyserial en pip et en pip3, j'ai aussi désinstallé en pip pour laissé que le python 3 c'est la même chose
     
    nini57 , 26 Janvier 2020
    #338
  19. Arty68
    (68) Haut-Rhin
    Chez moi ca fonctionne en installant pyserial avec python3 ( je n'ai pas d'erreur)
    Mais comme j'ai dit plus haut mon adaptateur optolink est branche par l'intermediaire d'un esp8266 en wifi (via telnet) et non en serie. Il va donc falloir que tu regarde toi meme pourquoi ca ne fonctionne pas etant donné que je ne peux pas tester pour toi. Prend la version du script de mon google doc. J'ai remarqué qu'il y avait encore des soucis d'indentation.

    Aussi pour info pour lancer en python3 sur le raspberry c'est "python3 test.py"
     
    Dernière édition: 26 Janvier 2020
    Arty68 , 26 Janvier 2020
    #339
  20. nini57
    (57) Moselle
    oui c'est ce que j'ai fais pour lancer python3, je vais regarder de mon coté en tout cas merci beaucoup.
    J'avais remarqué l'indentation je l'ai refait chez moi merci
     
    nini57 , 26 Janvier 2020
    #340
Chargement...
Autres sujets similaires Forum Date

[Résolu] Problème avec chaudière Viessmann Vitodens 200w !

Chauffage 9 Mars 2020

Vitodens 222F : réglage et domotique

Chauffage 5 Mars 2020

Defaut C5 sur chaudière Vitodens 333

Chauffage 21 Février 2020

Viessman Vitodens 200 WB2A - Vitotronic 200 - courbe de chauffe ??

Chauffage 4 Janvier 2020

Vitodens 200-W pas de code erreur

Chauffage 1 Novembre 2019