Anbindung Viessmann Heizung mit VCONTROL300

Begonnen von srxp, 23 Februar 2017, 13:15:51

Vorheriges Thema - Nächstes Thema

W_Esch

Hallo zusammen,
ich habe meine Viessman Heizung seit längerem mit Vcontrol an FHEM laufen. Die Updatezeiten waren nicht besonders gut. Gestern habe ich mich nun daran gemacht auf VCONTROL300 umzustellen und habe mich dabei durch diverse Parameter gekämpft (die auch in der Vorgängerversion nicht liefen). Ergebnis: Ich habe eine Vitronic 300 GW2 mit ID 20A5 sauber mit dem kw Protokoll laufen. Config File anbei.
Ich habe außerdem festgestellt, dass FHEM crasht, wenn man bei SET URLAUB_BEGINN / ENDE nicht genau das Format DD:MM:YYYY_HH:MM:SS einhält. leider wird das Reading aber im Format Day,DD:MM:YYYY HH:MM:SS (ohne Unterstrich und mit Wochentag) aufgebaut. Da das reading als Vorschlag in den SET im GUI übernommen wird ist ein Crash nur ein Click entfernt. Ich habe daher in 89_VCONTROL300.pm (# $Id: 89_VCONTROL300.pm 11340 2017-01-09 23:16:00Z srxp) die Zeile 2199 in der SUB Date_Parse so geändert, dass das Format SET-gerecht ins reading geschrieben wird. Ich habe die 89_VCONTROL300.pm ebenfalls angehängt. Das Schöne ist, dass ich wirklich alle Parameter bekomme und setzen kann, kein Fehler oder Warning im LOG steht und das Ganze superschnell. Vielen Dank an alle, die daran gearbeitet habe. Ich hoffe mein kleiner Beitrag hilft dem einen oder anderen. 
FHEM, Viessmann 300, SMA inverter, Zaehler über OBIS, DeltaSol über VBUS, Bayrol SaltRelax über httpmod, MQTT, Firmata, Homematic, MAX, FS20, Gardena smart Bewässerung, OneWire, SONOS, InfluxDB, GRAFANA, alles integriert und alles auf Docker

frankreed

Hallo,

bei mir läuft das Ganze sehr gut mit dem VCONTROL300-Modul an einer Vitotronic 200 KW2.
Nur das setzen mit der Systemzeit der Heizung geht irgendwie nicht, ich blick' das Format nicht.
Kann mir jemand ein Beispiel nennen, wie ich das über das Dropdown-Feld mache? Oder manuell über set?

Name meines Devices: vito

Danke!

Gruß Patrick

frankreed

Selber geantwortet:

set <DEVICE> <READING> DD:MM:YYYY_HH:MM:SS

Bsp:
set vito Systemzeit 26:01:2019_16:05:53

TechnikNik

Hallo Leute,
seit einiger Zeit habe ich VCONTROL300 im Einsatz. FHEM läuft bei mir auf einem Raspi, der über ein original USB-Optolink-Adapter (wie er auch beim Vitoconnect 100 zum Einsatz kommt)
mit der Regelung verbunden ist. Grundsätzlich funktioniert die Verbindung auch einwandfrei.
Allerdings findet sich in der FHEM Logdatei mehrfach am Tag (unterschiedlich oft, zu unregelmäßigen Zeiten, auch mehrfach hintereinander, dann lange wieder nichts) Einträge, die wie folgt lauten:

/dev/ttyUSB0 disconnected, waiting to reappear

Ich habe das Ganze auch schon auf einem anderen Raspi ausprobiert, an dem der USB-Optolink-Adapter direkt angeschlossen war und auch ein original Pi Netzteil verwendet wurde.
Hat jemand eine Idee, wie es zu diesen Meldungen kommen kann?

Danke schon mal.

Grüße vom TechnikNik

300P

Diese Meldung hab ich wissentlich seit Nutzungsbeginn von FHEM vor ca. 3 Jahren noch nie im Logbuch bei mir entdeckt / gesehen.

Wenn auf dem RPI länger kein Update durchgeführt wurde......

evtl. mal auf RPI per CLI

->>>> sudo apt-get update && apt-get upgrade

oder sogar

->>> sudo rpi-update

ausführen (lassen).

und / oder FHEM update ???!!!!

Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

andies

Zitat von: TechnikNik am 31 Januar 2020, 23:37:10
/dev/ttyUSB0 disconnected, waiting to reappear
Versuche mal diese Einbindung; ich befürchte aber, das wird nichts ändern
https://wiki.fhem.de/wiki/Mehrere_USB-Ger%C3%A4te_einbinden#Nutzen_der_Serial_ID

Ich tippe eher auf den Raspi.
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

TechnikNik

#366
Danke für die schnellen Antworten.

@andies
Deine Möglichkeit brachte leider keinen Erfolg. Den Raspi würde ich erst einmal ausschließen, sonst müssten zwei defekt sein und den gleichen Fehler produzieren.

@300P
So, FHEM ist nun aktuell und läuft auf einem ebenfalls aktuallisierten Jessie-System (nur sudo "rpi-update" noch nicht).

Ein Blick nach den Updates war leider nicht von Erfolg gekröhnt. Ich habe mal einen Auschnitt aus dem Logfile kopiert:


2020.02.01 12:46:58 3: VCONTROL300: USB connection opened
2020.02.01 12:46:58 3: Opening Vitodens222F device /dev/ttyUSB0
2020.02.01 12:46:58 3: Setting Vitodens222F serial parameters to 4800,8,E,2
2020.02.01 12:46:58 3: Vitodens222F device opened
2020.02.01 12:47:02 3: VCONTROL300: USB device closed

2020.02.01 12:47:14 3: VCONTROL300: USB connection opened
2020.02.01 12:47:14 3: Opening Vitodens222F device /dev/ttyUSB0
2020.02.01 12:47:14 3: Setting Vitodens222F serial parameters to 4800,8,E,2
2020.02.01 12:47:14 3: Vitodens222F device opened

2020.02.01 12:47:17 1: /dev/ttyUSB0 disconnected, waiting to reappear (Vitodens222F)

2020.02.01 12:47:17 1: PERL WARNING: Use of uninitialized value $mybuf in unpack at ./FHEM/89_VCONTROL300.pm line 1222.
2020.02.01 12:47:17 2: VCONTROL300: Error while requesting data! Length of received data was 0!!!
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 1: PERL WARNING: Use of uninitialized value $mybuf in unpack at ./FHEM/89_VCONTROL300.pm line 1246.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 2: Attempt to write to disconnected device.
2020.02.01 12:47:17 3: VCONTROL300: USB device closed

2020.02.01 12:47:29 3: VCONTROL300: USB connection opened
2020.02.01 12:47:29 3: Opening Vitodens222F device /dev/ttyUSB0
2020.02.01 12:47:29 3: Setting Vitodens222F serial parameters to 4800,8,E,2
2020.02.01 12:47:29 3: Vitodens222F device opened

2020.02.01 12:47:39 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 23824
2020.02.01 12:47:39 2: VCONTROL300: USB device closed

2020.02.01 12:47:45 3: VCONTROL300: USB connection opened
2020.02.01 12:47:45 3: Opening Vitodens222F device /dev/ttyUSB0
2020.02.01 12:47:45 3: Setting Vitodens222F serial parameters to 4800,8,E,2
2020.02.01 12:47:45 3: Vitodens222F device opened
2020.02.01 12:47:48 3: VCONTROL300: USB device closed

2020.02.01 12:48:00 3: VCONTROL300: USB connection opened
2020.02.01 12:48:00 3: Opening Vitodens222F device /dev/ttyUSB0
2020.02.01 12:48:00 3: Setting Vitodens222F serial parameters to 4800,8,E,2
2020.02.01 12:48:00 3: Vitodens222F device opened
2020.02.01 12:48:04 3: VCONTROL300: USB device closed


Die Leerzeilen habe ich eingefügt, damit es etwas übersichtlicher ist. Bei den ertsten 5 Zeilen ist noch alles O.K.
Dann läuft es schief und erst ab der 10. letzten Zeile passt es wieder.
Könnt ihr da etwas mit anfangen?

Viele Grüße vom TechnikNik

300P

Unklar ist ob 1 oder evtl. mehrere USB-Schnittstellen auf dem Raspberry genutzt werden ->>>außer Tastatur und Maus?
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

TechnikNik

Also es wird nur eine USB-Schnittstelle benutzt (für den USB-Optolink-Adapter).
Ansonsten sind nur ein paar Sachen über den GPIO-Port angeschlossen (I2C + 1-Wire usw).
Der Raspi wird über das Netzwerk administriert. Keine Maus oder Tastatur oder Display angeschlossen.

300P

#369
Zitat von: TechnikNik am 01 Februar 2020, 15:59:26
Also es wird nur eine USB-Schnittstelle benutzt (für den USB-Optolink-Adapter).
Ansonsten sind nur ein paar Sachen über den GPIO-Port angeschlossen (I2C + 1-Wire usw).
Der Raspi wird über das Netzwerk administriert. Keine Maus oder Tastatur oder Display angeschlossen.


Hallo  TechnikNik,

hier einige Stichworte zum weiteren suchen in anderen Bereichen, wird hier OT:

In der "fhem.cfg"


  • usb create  - Nein - weg damit >:(
  • autocreate  - Ja :)



define autocreate autocreate
setuuid autocreate 5d017258-f33f-6c10-c41e-7bd73c74a5ce6d97  (wird automatisch eingetragen)  ;)
attr autocreate filelog ./log/%NAME-%Y.log



Gruß
300P

FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

jko

Hi,

Bei mir war das mal ein zu schwaches Netzteil...

Viele Grüße
Jürgen

gugu001

Guten Abend,

seit Weihnachten beschäftige ich mich nun intensiv mit der Einbindung meiner Viessmann Vitodens 300 WB3B mit Vitotronic 200. Der Grund ist, dass die Therme sehr oft ins takten kommt. (teilweise schon 50-80 Brennerstarts bei 3-4h Betrieb).
Das ist das Einstiegsprojekt mit Raspberry PI, FHEM und was noch dazu gehört.


Nun der Reihe nach bis zu meinem Problem:
1. Ich habe die Anleitung von openv für den direkten Anschluss an den RPi 3B+.
https://github.com/openv/openv/wiki/Bauanleitung-RaspberryPi
Die Verkabelung habe ich 3fach kontrolliert. Im Anhang mein Schaltplan

2. Da ich aber die serielle Schnittstelle nicht richtig ansprechen konnte, ich weiß nicht wie der defmod Befehl in FEHM genau lautet, habe ich einen Serial to USB Adapter mit CP2102 probiert. Hier kann ich mit "/dev/serial/by-id/usb-siliconlabs..." zumindest die richtige Schnittstelle ansprechen.

3. Dann habe ich lt. dem Eintrag für VCONTROL300 hier
https://wiki.fhem.de/wiki/VCONTROL300
die Datei 89_VCONTROL300.pm von hier
https://forum.fhem.de/index.php/topic,67744.msg764325.html#msg764325
in dem Ordner ..fhem/FHEM/ am RPI gespeichert.

4. Definiert wäre alles so:
Internals:
   DEF        /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 /opt/loxberry/data/plugins/fhem/FHEM/VDensHO1-Test.cfg 300 kw
   DeviceName /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0@4800,8,E,2
   FUUID      5e386000-f33f-b167-90e1-97f7a3fccc38e082
   INTERVAL   300
   NAME       Vitodens300
   NR         27
   PROTOCOL   kw
   STATE      defined
   TYPE       VCONTROL300
   UPDATESTATUS INACTIVE
   READINGS:
     2020-02-04 19:44:33   UpdateStatus    Inactive
   helper:
Attributes:
   verbose    3
   vitotronicType 200_HOxx


Wobei ich mit verbose und vitotonicType schon alles durchprobiert habe.
Die Bezeichnung des Serial Adapters habe ich mit putty, ls -la /dev/serial/by-id/ herausgefunden.

Ich weiß aber nicht welche Steuerung genau verbaut ist. siehe Bild im Anhang. Was ich bis jetzt herausgefunden habe müsste die Datei VDensHO1.cfg passen.


5. Damit ich mal einfach anfangen kann habe ich von der VDensHO1.cfg alles mit # auskommentiert bis auf:
#       Gerätekennung
POLL, 01F700F802, 2ByteS, 1    , Gerätekennung , -


Da dies bei allen Geräten funktionieren sollte.


So nun zu meinem Problem:
6. hier der Auszug aus dem Log file:
2020.02.04 19:44:23 3: VCONTROL300: USB connection opened
2020.02.04 19:44:23 3: Opening Vitodens300 device /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
2020.02.04 19:44:23 3: Setting Vitodens300 serial parameters to 4800,8,E,2
2020.02.04 19:44:23 3: Vitodens300 device opened
2020.02.04 19:44:28 1: PERL WARNING: Use of uninitialized value $mybuf in unpack at ./FHEM/89_VCONTROL300.pm line 1230.
2020.02.04 19:44:28 2: VCONTROL300: Warning while reading parameter 01F700F802. Maybe value is a sync byte? : Retry 0!!!
2020.02.04 19:44:30 2: VCONTROL300: Warning while reading parameter 01F700F802. Maybe value is a sync byte? : Retry 1!!!
2020.02.04 19:44:32 2: VCONTROL300: Warning while reading parameter 01F700F802. Maybe value is a sync byte? : Retry 2!!!
2020.02.04 19:44:33 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 1713
2020.02.04 19:44:33 2: VCONTROL300: USB device closed


So wie ich diese Zeilen verstehe funktioniert die Kommunikation nicht, und ich weiß nicht mehr weiter.
Kann mir jemand sagen welches .cfg File ist für meine Steuerung das richtige ist?
Bzw. wie ich zur Fehlerbehebung vorgehen soll?

Ich würde mich freuen wenn mich jemand mit einer Schritt für Schritt Anleitung unterstützen könnte. Da ich als Anfänger vermutlich etwas nicht gemacht habe, was für die Profis selbstverständlich ist.

Achja, in der Zwischenzeit habe ich mit einem nanoCUL schon diese Anleitung:
https://www.loxforum.com/forum/faqs-tutorials-howto-s/190604-howto-diehl-hydrus-wasserz%C3%A4hler-werte-an-loxone-mit-wmbus
umgesetzt. Das hat nach wenigen Versuchen funktioniert, somit hatte ich schon ein kleines Erfolgserlebnis, sieht man im Bild.

Schonmal vielen Dank für die Unterstützung!!

andies

2. verstehe ich nicht: ist denn jetzt ein serieller Adapter angeschlossen oder greifst du via UART beim RPi auf die Steuerung zu? Und sind die Ausgaben bei verbose 5?

Die Fehlermeldung heisst ja, dass es ein Problem lesen des Parameters gibt und er vermutet dort ein Sync-Byte. Das Sync-Byte wird mE in festen Abstand gesendet, um eine Kommunikation einzuleiten.
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

300P

Zitat von: gugu001 am 04 Februar 2020, 20:22:35
5. Damit ich mal einfach anfangen kann habe ich von der VDensHO1.cfg alles mit # auskommentiert bis auf:
#       Gerätekennung
POLL, 01F700F802, 2ByteS, 1    , Gerätekennung , -


Da dies bei allen Geräten funktionieren sollte.


So nun zu meinem Problem:
6. hier der Auszug aus dem Log file:
2020.02.04 19:44:23 3: VCONTROL300: USB connection opened
2020.02.04 19:44:23 3: Opening Vitodens300 device /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
2020.02.04 19:44:23 3: Setting Vitodens300 serial parameters to 4800,8,E,2
2020.02.04 19:44:23 3: Vitodens300 device opened
2020.02.04 19:44:28 1: PERL WARNING: Use of uninitialized value $mybuf in unpack at ./FHEM/89_VCONTROL300.pm line 1230.
2020.02.04 19:44:28 2: VCONTROL300: Warning while reading parameter 01F700F802. Maybe value is a sync byte? : Retry 0!!!
2020.02.04 19:44:30 2: VCONTROL300: Warning while reading parameter 01F700F802. Maybe value is a sync byte? : Retry 1!!!
2020.02.04 19:44:32 2: VCONTROL300: Warning while reading parameter 01F700F802. Maybe value is a sync byte? : Retry 2!!!
2020.02.04 19:44:33 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 1713
2020.02.04 19:44:33 2: VCONTROL300: USB device closed


So wie ich diese Zeilen verstehe funktioniert die Kommunikation nicht, und ich weiß nicht mehr weiter.
Kann mir jemand sagen welches .cfg File ist für meine Steuerung das richtige ist?
Bzw. wie ich zur Fehlerbehebung vorgehen soll?


Schonmal vielen Dank für die Unterstützung!!


Auch Guten Abend,

bitte besser richtig hinschauen ->>  :-[
und die VCONTROL300 Schreibweise für CMD (POLL/SET) beachten


######################################################################################
# Polling Commands
######################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION
######################################################################################
POLL, 00F8, 2ByteH, 1     , ID-Vito             , -


nicht
#       Gerätekennung
POLL, 01F700F802, 2ByteS, 1    , Gerätekennung , -


8)   oder  ;D


Dann sollte es was werden.....

Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

gugu001

#374
Guten Morgen,

danke für die Antworten!
Zitat2. verstehe ich nicht: ist denn jetzt ein serieller Adapter angeschlossen oder greifst du via UART beim RPi auf die Steuerung zu? Und sind die Ausgaben bei verbose 5?

Urspünglich habe ich die Kabel direkt an den RPi GPIO Kontakte angeschlossen. Es kam immer die Meldung, das die Verbindung nicht aufgebaut werden kann, bzw. so was ähnliches wie "no such file/directory".
Weil ich aber im FHEM nicht wusste wie ich das define (defmode..) richtig schreiben muss, habe ich einen CP2102 Serial to USB Adapter bestellt (werde ohnehin einen für den SmartMeter brauchen). Jetzt, aktuell, hängen die Kabel an dem Adapter. Da ich mit der nanoCUL Erfahrung wusste wie ich zur Adresse komme, war es einfacher für mich:
defmode Vitodens300 VCONTROL300 dev/serial/by-id/usb-Silikon.....  300 kw

Jetzt weiß ich auch was verbose bedeutet: https://de.wikipedia.org/wiki/Verbose
Die Ausgabe war mit verbose 3 -> stelle ich dann heute Abend um auf 5!


Zitatbitte besser richtig hinschauen ->>  :-[
und die VCONTROL300 Schreibweise für CMD (POLL/SET) beachten

Danke für den Hinweis. Ich dachte mir, dass es etwas banales sein muss. Wäre mir in 100 Jahren nicht aufgefallen.

Habe ich das richtig verstanden, VCONTROL300 arbeitet immer mit dieser Schreibweise:
https://github.com/openv/openv/wiki/Protokoll-300
obwohl in FHEM im define das kw Protokoll angesprochen wird:
https://github.com/openv/openv/wiki/Protokoll-KW

D.h. egal welche Steuerung ich habe, ich muss in der .cfg Datei Befehle im Protokoll 300 Format schreiben, und kann mir dann im define "aussuchen", wenn nötig, das kw Protokoll anzusprechen, richtig?

nochmals Danke, ich werde das heute Abend testen und berichten.