Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

Begonnen von Adam, 15 Februar 2014, 18:17:35

Vorheriges Thema - Nächstes Thema

andies

#1440
Also zuerst würde ich das Empfangsteil komplett neu bauen. Aber warte mal, ich habe das zweimal gebaut und dasjenige, das nur unzuverlässig funktionierte, noch herumliegen. Zum testen reicht das allemal, sieht nur echt Sh** aus. Das würde an einen RPi angeschlossen, RxTx. Soll ich das mal raussuchen und Dir schicken? Kannste den Empfang als Problem ausschließen.

<edit>
(https://uploads.tapatalk-cdn.com/20171026/ede03f69407f9c665bd78693a4d5e780.jpg)
(https://uploads.tapatalk-cdn.com/20171026/345edd9bc540f9058343e72dc275e8b0.jpg)
(https://uploads.tapatalk-cdn.com/20171026/e34cd51b49121562404e6a757b8056d2.jpg)
Melde Dich bei Interesse per PM. Ich würde gern Warensendung nehmen, weil das am billigsten ist - weiß aber nicht, ob das nicht zu dick ist.
FHEM 6.3 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

argonaut

Vielleicht gibt es ja die Möglichkeit über den Heizungsbauer des Vertrauens für einen Versuch den offiziellen Viessmann-Adapter zu bekommen. Alternativ auch über Viessmann oder (auch wenn es nicht die feine Art ist) einen vorübergehend zu bestellen.

Gesendet von meinem Moto G (5) Plus mit Tapatalk


Bjoern3003

@andies, danke für deine Unterstützung. Evtl. komme ich mal drauf zurück, aber aktuelle glaube ich noch wirklich nicht an einen Defekt in der Heizung, sondern dass an meiner Schaltung oder an meinen Versuchen was nicht stimmt ;-) (typischer Anwenderfehler also)

Da ich ja eigentlich nur die Sendediode neu aufbauen müsste (empfangen geht ja), bräuchte ich also einen PNP Transistor. Kann ich da ggf. so nen Unversalteil, wie den BC558B nehmen? Die habe ich noch Hundertfach in meiner Kiste liegen. Einfach mal testen ist ja leider nicht, weil wenns nicht geht, weiss ich immer noch nicht, obs am Transistor oder immer noch woanders dran liegt ;-)

andies

Hast Du mal die Spannung an der Diode beim Senden gemessen? Wenn keine anliegt, also dann erübrigt sich vieles ;-)

Der Transistor muss (ich kenne mich da nicht wirklich aus) eigentlich nur das Signal aus Tx verstärken. Mehr macht der nicht, wenn ich den Schaltplan richtig lese. Insofern denke ich, da kann man fast jeden nehmen.
FHEM 6.3 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

Bjoern3003

Das er nur das Signal verstärkt, bekomme ich auch noch gerade so mit meinem Wissensstand zusammen  ;D Aber evtl. spielen da ja Faktoren wie Geschwindigkeit oder so ne Rolle, wieso gerade DIE Transistoren immer wieder bei Openv Projekten verwendet werden. SO ein BC Transistor ist doch wesentlich gängiger.

Und ja zu deiner anderen Frage, Spannung liegt natürlich an  :) Ich kann es ja auch mit meiner Kamera sehen, wie Sie aufblinkt.

andies

Ah: Hat die Sendediode die richtige Frequenz? Das ist ja im Infrarot-Bereich, in dem Viessmann empfängt.
FHEM 6.3 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

Bjoern3003

Sind sowohl die Sende, als auch Empfangsdioden, die auf der openv Seite empfohlen werden.

SFH487-2 bzw. SFH309F

Bjoern3003

Also, die Schaltung noch mal umgebaut und nen BC558B mit ein paar Widerständen an den Sender (SFH487-2) gelötet.

Was soll ich sagen. Direkt ein Signal erhalten. Ich nehme an, dass die Spannung einfach zusammenbricht, wenn ich versuche, da ein Befehl abzusetzen. Anders kann ich es mir nicht erklären. Werde das nun etwas kompakter zusammenbauen und dann weiter testen. Vielleicht hilft das ja in Zukunft dem ein oder anderen weiter.

andies

Ich habe einen 100mikroF an den 3,3V. Das macht anscheinend eine Menge aus.


<p style="font-size:small;"> Gesendet vom iPhone mit Tapatalk Pro</p>
FHEM 6.3 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

Bjoern3003

Stimmt, nen Cap hätte ich auch testen können. Naja jetzt ist es halt nen Transistor.  8)

andies

Also, nachdem ich heute den ganzen Tag (sind ja Ferien) an der Heizung herumgespielt habe, muss ich mal meine fruchtlosen Versuchen zusammenfassen:

  • Ich kann beim Ferienbetrieb (als Betriebsart RED bezeichnet) zwar die Termine setzen, nicht aber den eigentlichen Ferienbetrieb ein-
    oder ausschalten.
  • Das gilt anscheinend auch für einen Teil der Betriebsarten. Im worst case sende ich irgendwas, das Gerät schaltet aber einfach AUS.
  • Temperaturen lassen sich sowohl für Wasser als auch Heizung korrekt schalten, das gilt auch für die Heizzeiten (sowohl Wasser als auch beide Heizkreise).

Also werde ich mir mit FHEM wahrscheinlich einen eigenen Ferienbetrieb bauen. Das sieht dann so aus, dass Warmwasser auf Soll=15° gesetzt wird, weiterhin das Soll bei beiden Heizkreisen auf reduziertes Soll gesetzt wird und die Heizzeiten evtl auf 10 Minuten pro Tag verkürzt werden. Damit geht dann mehr oder weniger das, was ich wollte. 
FHEM 6.3 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

robert81nbg

Hi,

ich möchte den Solarertrag auslesen.
Es gibt 8 Einträge im Speicher. Es wird ein 32 Byte Block ausgelesen und dann sind jeweils 4 Byte der Ertrag.

Gibt's da schon einen Parser oder kann man zur Adresse einen Offset hinzurechnen?
  <EventType>
    <ID>NRx_SolarErtrag_0~0xCF30</ID>
    <Description>@@viessmann.eventtype.NRx_SolarErtrag_0.description</Description>
    <SDKDataType>Double</SDKDataType>
    <Unit>ecnUnit.Wh</Unit>
    <ALZ>0</ALZ>
    <LowerBorder>0</LowerBorder>
    <UpperBorder>4294967295</UpperBorder>
    <Stepping>1</Stepping>
    <AccessMode>Read</AccessMode>
    <Conversion>NoConversion</Conversion>
    <ConversionFactor>0</ConversionFactor>
    <ConversionOffset>0</ConversionOffset>
    <Address>0xCF30</Address>
    <FCRead>Virtual_READ</FCRead>
    <FCWrite>undefined</FCWrite>
    <Parameter>Int4</Parameter>
    <BlockLength>32</BlockLength>
    <BytePosition>0</BytePosition>
    <ByteLength>4</ByteLength>
   <BitPosition>0</BitPosition>
    <BitLength>0</BitLength>
    <BlockFactor>0</BlockFactor>
    <MappingType>0</MappingType>
  </EventType



Interesannt ist hier die Bitposition
<BitPosition>0</BitPosition>
bzw
<BitPosition>4</BitPosition>
<BitPosition>8</BitPosition>

Gibt es irgendwo eine Anleitung wie ich obiges in Fhem umsetze.

Es steht ja alles drinn die Adressen die Datentypen die Units...

Die Zuordnung zu

#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION
######################################################################################
POLL, 01F7080002, 2ByteS, 10    , Temp-Aussen         , -


fällt mir recht schwer....
Oder ist hier alles in den Parsern Hardcodiert?

Theoretisch müsste man doch alle Attribute übernehmen?

Mag mir jemand helfen?

Wie kann ich sagen springe zur Adresse 0xCF30 lies einen 32 Byte block ein und nimm den 3. 4 Byte Block

Danke fürs helfen

Robert

LuckyDay

Solar Tagesertrag   0xCF30 Wh  4
andere Liste mit der Adresse sagt nichts von 32 Byte,

Ich würde das mal so probieren
ungetestet

POLL, 01F7CF3002, 2ByteU,       1 , Solarertrag Wh       , day

robert81nbg

Sorry .... Meinte Blocklänge 32

Jeder Ertrag hat  immer die selbe Adresse: 0xCF30
Bedeutet den Ertrag 0 kann ich mit folgender Definition auslesen

POLL, 01F7CF3004, 4Byte,    1 , Solarertrag0        , -

Solarertrag0 550   2017-11-07 19:45:05

Solarertrag 0 scheint heute zu sein auf der Heizung steht 0.6 kWh
Heist die 550 Wh sind sogar genauer als die Anzeige an der Heizung direkt

<Unit>ecnUnit.Wh</Unit>


Ertrag0

  <ID>NRx_SolarErtrag_0~0xCF30</ID>
  <Description>@@viessmann.eventtype.NRx_SolarErtrag_0.description</Description>
    <Address>0xCF30</Address>
   <ByteLength>4</ByteLength>
    <BlockLength>32</BlockLength>
    <BytePosition>0</BytePosition>


Ertrag1

  <ID>NRx_SolarErtrag_1~0xCF30</ID>
  <Description>@@viessmann.eventtype.NRx_SolarErtrag_1.description</Description>
    <Address>0xCF30</Address>
   <ByteLength>4</ByteLength>
    <BlockLength>32</BlockLength>
     <BytePosition>4</BytePosition>


Ertrag2

  <ID>NRx_SolarErtrag_2~0xCF30</ID>
  <Description>@@viessmann.eventtype.NRx_SolarErtrag_1.description</Description>
    <Address>0xCF30</Address>
   <ByteLength>4</ByteLength>
    <BlockLength>32</BlockLength>
     <BytePosition>8</BytePosition>


...
Ertrag7

  <ID>NRx_SolarErtrag_1~0xCF30</ID>
  <Description>@@viessmann.eventtype.NRx_SolarErtrag_7.description</Description>
    <Address>0xCF30</Address>
   <ByteLength>4</ByteLength>
    <BlockLength>32</BlockLength>
     <BytePosition>28</BytePosition>


Meine Quelle ist das ecnEventType.xml aus der originalen Viessmann-Software-Config
Dort ist eigentlich alles aufgelistet........

Also wie kann ich 4 Byte im Block weiterspringen?

Vielen Dank und viele Grüße

Robert

LuckyDay

die nächste wäre dann CF34

kannst auch noch mit verbose 4 am Modul setzen zuschauen, was über die Schnittstelle geht.