Anbindung Viessmann Heizung mit VCONTROL300

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

Vorheriges Thema - Nächstes Thema

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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

crispyduck

Hi

Hab keine Probleme, geht hier nur um die Umstellung von:
    my $buf = DevIo_SimpleRead($hash);
auf:
    my $buf = DevIo_SimpleReadWithTimeout($hash,1);

Stephan (srxp) meinte er habe das Problem trotz letzter FHEM Version nicht.
Bin jetzt drauf gekommen das ich es mit einer älteren Perl version auch nicht hatte, erst nach einem update der Raspi stellten sich die Probleme ein.

Mir ist das gestern eher zufällig aufgefallen, und dachte ich poste es hier mal als Info für Stephan und alle anderen.

Wäre super wenn mal wieder wer ein Modul mit allen Änderungen machen könnte.

Verwende momentan das Modul von Stephan mit meinen Änderungen um die config in der DB zu speichern, postfux_ats DevIo_SimpleReadWithTimeout und testweise, auch wenn ich die Probleme mit meinem Selbstbau Kabel nicht habe auch die Änderungen von dir.

Funktioniert soweit auch alles bestens!

Bin leider auch kein Programmierer, und hab deshalb meine änderungen auch nur hier dokumentiert.

Lg
Crispyduck



andies

#137
Ich muss noch einmal mein Leid klagen und eventuell hat jemand einen Tipp. Ich habe mir von openv die Konstruktion einer RaspberryPi "Schnittstelle" angeschaut und nachgebaut (hier der Link https://openv.wikispaces.com/Bauanleitung+RaspberryPi). Da dieser Raspberry, der Viessmann auslesen soll, aber nicht FHEM besitzt, habe ich mit ser2net die serielle Schnittstelle auf einen Port "übertragen" und der FHEM-RPi fragt regelmäßig diesen Port über das Netz ab.

Mit dieser Konstruktion gab es manchmal Probleme. Es gab Zeiten, da ließen sich die Daten sehr gut auslesen, mal kam gar nichts an. Eine typische Fehlermeldung sah so aus

2017.10.09 20:50:00 2: VCONTROL300: Warning while reading parameter 7660. Maybe value is a sync byte? : Retry 0!!!
2017.10.09 20:50:05 2: VCONTROL300: Warning while reading parameter 7660. Maybe value is a sync byte? : Retry 1!!!
2017.10.09 20:50:09 2: VCONTROL300: Warning while reading parameter 7660. Maybe value is a sync byte? : Retry 2!!!
2017.10.09 20:50:12 1: Timeout for VCONTROL300_DoUpdate reached, terminated process 15003
2017.10.09 20:50:12 2: VCONTROL300: TCP connection closed


Also habe ich zuerst die Spannung an meiner Konstruktion gemessen, weil das die erste Fehlerquelle sein könnte: stabile 3.31 Volt. Danach habe ich timeout eingeführt und auf bis zu 5 Minuten erhöht. Auch nichts. Danach habe ich mich entschlossen, die ganze Konstruktion erneut nachzubauen, mit komplett neuen Teilen. Diesmal habe ich mich sklavisch an die Materialliste von openv gehalten. Der Anschluss meiner Konstruktion an die Viessmann-Heizung erfolgt mit einem Adapter, der auf onshape kopiert werden konnte (siehe diesen Link http://openv.wikispaces.com/Vitodens+200+aus+Baujahr+2000+auslesen sowie https://cad.onshape.com/documents/66645bf35fd8411abba97b46/w/55aae95fe2234df196941294). Ich habe daraufhin diesen Adapter mit einem 3D-Drucker drucken lassen und das ganze noch einmal bestückt und gelötet. Es sieht jetzt um einiges besser aus, wie man auf den Bildern sehen kann. Die Entfernung der Dioden vom Viessmann-Gerät dürfte 1mm betragen, nicht wesentlich mehr. Seitenlicht kommt, soweit ich das erkennen kann, nicht hinein.

Dennoch habe ich nach wie vor Ausfälle wie oben. Also war die schlechte Konstruktion, die ich zuerst hatte, gar nicht so schlecht bzw. es liegt an etwas anderem. Jetzt meine Frage: Hat jemand eine Idee, woran?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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

crispyduck

Hallo,

Also glaube deine Konstruktion passt so schon; habe meine Eigenbau Platine, eigentluch nur mit einem Stüvk Karton agesteckt. Und das läuft seit einem Jahr.

Welches Protokoll nutzt du eigentlich? kw oder300?

Lg
Crispyduck

andies

300

<EDIT> Ich sehe gerade, dass anscheinend die serielle Schnittstelle nicht reagiert. Das ist beim RPi3 etwas aufwendig, weil da normalerweise Bluetooth draufliegt, aber die Hinweise aus dem Netz habe ich alle befolgt.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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

LuckyDay

Internals:
   DEF        192.168.2.105:3002 /opt/fhem/FHEM/VScotHO1_300.cfg 3600 kw
   DeviceName 192.168.2.105:3002
   INTERVAL   3600
   NAME       Viessmann
   NR         137
   PROTOCOL   kw
   STATE      WW & Heizung (zeitgest.)
   TYPE       VCONTROL300
   UPDATESTATUS INACTIVE
ZitatPROTOCOL   kw

finde es "lustig" nimmst das 300 Modul, fährst aber kw Protokoll  ;D

ich habe auch einen Rpi nur für Vissmann im HzKeller, allerdings mit Fhem , er macht nebenbei noch ein bischen 1-Wire.
der läuft seit anfang 2015 ohne Fehler und Probleme.

amenomade

Ich nutze auch VCONTROL300 mit kw Protokoll. Das Vorteil ist die Geschwindigkeit.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

crispyduck

Und das VCONTROl300 nonblocking arbeitet!

Hatte jetzt auch immer das kw Protokoll laufen, bin jetzt aber auf das 300er umgestiegen wo es dank der checksum keine Warnings mehr gibt wenn ein Wert zufällig gleich dem sync byte ist.
Kommt beim kw protokoll ein Wert zurück der gleich dem sync byte ist, wird es 3 mal versucht, bevor es akzeptiert wird.

Das sieht dann auch genau so aus:
2017.10.09 20:50:00 2: VCONTROL300: Warning while reading parameter 7660. Maybe value is a sync byte? : Retry 0!!!
2017.10.09 20:50:05 2: VCONTROL300: Warning while reading parameter 7660. Maybe value is a sync byte? : Retry 1!!!
2017.10.09 20:50:09 2: VCONTROL300: Warning while reading parameter 7660. Maybe value is a sync byte? : Retry 2!!!


Lg
Crispyduck

andies

Zitat von: fhem-hm-knecht am 10 Oktober 2017, 01:16:14
finde es "lustig" nimmst das 300 Modul, fährst aber kw Protokoll  ;D

Oh Mann, betriebsblind. Da bastle ich Stunden im Keller und dann dieser Fehler. Bin unterwegs und teste das heute Abend, hoffentlich war es das.

Ihr seid toll, danke!


Gesendet von iPhone mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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

andies

Mist, es funktioniert nicht: Weiterhin Fehler,
2017.10.10 12:11:19 3: Viessmann device opened
2017.10.10 12:11:19 4: VCONTROL300: Start of update...
2017.10.10 12:11:19 4: VCONTROL300: Start of polling values...
2017.10.10 12:11:19 4: VCONTROL300: Waiting for sync byte...
2017.10.10 12:11:19 5: SW: 04
2017.10.10 12:11:20 4: VCONTROL300: Waiting for sync byte...
2017.10.10 12:11:20 5: SW: 04
2017.10.10 12:11:21 4: VCONTROL300: Waiting for sync byte...
2017.10.10 12:11:21 5: SW: 04
2017.10.10 12:11:21 4: VCONTROL300: Received sync byte!
2017.10.10 12:11:21 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:21 5: SW: 160000
2017.10.10 12:11:24 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:24 5: SW: 160000
2017.10.10 12:11:27 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:27 5: SW: 160000
2017.10.10 12:11:29 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:29 5: SW: 160000
2017.10.10 12:11:31 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:31 5: SW: 160000
2017.10.10 12:11:33 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:33 5: SW: 160000
2017.10.10 12:11:36 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:36 5: SW: 160000
2017.10.10 12:11:38 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:38 5: SW: 160000
2017.10.10 12:11:40 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:40 5: SW: 160000
2017.10.10 12:11:42 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:42 5: SW: 160000
2017.10.10 12:11:45 4: VCONTROL300: Waiting for init byte...
2017.10.10 12:11:45 5: SW: 160000
2017.10.10 12:11:47 4: VCONTROL300: Init status: 'error'!
2017.10.10 12:11:47 4: VCONTROL300: Did not receive init byte after 11 retries
2017.10.10 12:11:47 4: VCONTROL300: End of polling values! Duration: 27.47
2017.10.10 12:11:47 4: VCONTROL300: Update done!
2017.10.10 12:11:47 3: VCONTROL300: TCP connection closed
2017.10.10 12:11:47 5: VCONTROL300: Undef set_cmd_list_values!
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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

andies

Ich habe mich ein wenig eingelesen, man kann einen debug-Modus fahren. Das habe ich zwar nur mit vcontrold geschafft, aber das ergab schon mal was:
vctrld>getBetriebArtM1: SEND 00 01 23 01 01;RECV 1 BA
Bit (BP): 255
Unit: BetriebsArt (BA)
  Type: enum
  Get-Calc: (null)
  Set-Calc: (null)
Einheit: (null)
  Enum Bytes:00 Text:WW
  Enum Bytes:01 Text:RED
  Enum Bytes:02 Text:NORM
  Enum Bytes:04 Text:H+WW FS
  Enum Bytes:03 Text:H+WW
  Enum Bytes:05 Text:ABSCHALT
  Enum Bytes:<default> Text:UNKNOWN
 
vctrld>getBetriebArtM1
DEBUG:Tue Oct 10 21:32:09 2017 : Befehl: getBetriebArtM1
DEBUG:Tue Oct 10 21:32:09 2017 : Process 2194 tries to aquire lock
DEBUG:Tue Oct 10 21:32:09 2017 : Process 2194 got lock
DEBUG:Tue Oct 10 21:32:09 2017 : >FRAMER: open device /dev/serial0 ProtocolID 41
DEBUG:Tue Oct 10 21:32:09 2017 : konfiguriere serielle Schnittstelle /dev/serial0

Danach war Schluss. Also scheint etwas mit der seriellen Schnittstelle nicht zu stimmen.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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

andies

#146
Kurzes update. Ich habe heute eine kaputte IP-Cam genommen, mit der man IR-Signale empfangen kann (unfreiwillig, "Selbstbau IR-Cam"). Ich sehe deutlich das Signal aus der Viessmann-Heizung, das blinkt hinter der grünen Diode.

An meinem Selbstbau-Optolink liegen 3.3 Volt an. Wenn ich meine Empfangsdiode mit einer Taschenlampe anleuchte, bricht die Spannung an der Diode von 3.3V auf fast 0V ein, VCC bleibt stabil bei 3.3V. Das funktioniert also.

Wenn ich die Spannung an der seriellen Schnittstelle des RPi (genau Tx) messe, liegen da ebenfalls 3.3V. Wenn ich mit VControl irgend etwas sende, verändert sich die dritte Stelle hinterm Komma an Tx, mehr aber nicht. Das könnte eventuell damit zusammenhängen, dass die Kommunikation so schnell läuft und mein Multimeter das nicht mitbekommt? Ich habe leider kein Oszilloskop, müsste mir eines borgen. Ich vermute aber, dass die serielle Schnittstelle funktioniert (sicher ist das nicht).

Meine Leuchtdiode scheint das Problem zu sein. Denn wenn ich die normalerweise dranliegenden 3.3V an die Diode gebe, sehe ich nichts in meiner IR-Cam. Wenn ich die 3.3V wegnehme, sehe ich auch nichts. GND traue ich mich derzeit nicht an die Diode zu geben. Aber das ist doch faul, oder? Ich müsste doch in wenigstens einem der Fälle 3.3V oder nichts ein Signal mit meiner IR-Cam "sehen", oder?     

<EDIT> Ich habe mir nochmal die Datenblätter angeschaut. Ich hatte einem Blogeintrag vertraut und einen anderen als den angegebenen Emitter gekauft, "weil der die passende Wellenlänge hat". Das habe ich Idiot nicht überprüft. Es stimmt nämlich nicht. Viessmann sendet und empfängt wohl auf 880nm, diese Diode hat 940nm. Wenn das stimmt, kann die ewig senden. So ein Mist, jetzt muss ich das erneut auseinandernehmen.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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

andies

Diode ausgetauscht; leider besteht das Problem noch:
2017.10.12 16:52:35 2: Viessmann: first attempt to read timed out, trying to close and open the device.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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

gadget

Hallo,

Ich hab meinen Optolink und noch zwei weitere für die Verwandschaft hier http://openv.wikispaces.com/Bauanleitung+USB bestellt und mir bei einem 3D-Druck-Dienstleister noch passende Gehäuse drucken lassen. STL-Datei liegt auf der gleichen Seite. Die Adapter tun seit bald zwei Jahren problemlos ihren Dienst. Für das Geld selber bauen würde ich nie und nimmer.

Grüße, gadget

andies

Danke für den Hinweis, mein Problem: es könnte auch an dem RPi liegen! Und hinzu kommt, noch habe ich das Jagdfieber in mir, die Sache selbst zu erwischen. Aber ich schaue mir die Details jetzt mal an, irgendwann muss auch mal Schluss mit dem Theater sein...


Gesendet von iPad mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
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