Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

andies

Auf den Fotos ist ja ein Handy zu sehen. Wenn es eine Cloud gibt, gibt es demzufolge eine Schnittstelle. Wie sieht denn die Kommunikation mit dem Handy aus?
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

hwiemann

Hallo Roger,

all die schönen Programme zum Auslesen der Heizungsdaten basieren meines Wissens auf der Nutzung der Optolink Schnittstelle als direkten Zugriff auf die Regelung. Da diese -wie es tatsächlich zu sein scheint- bei den neuesten Heizungen ersatzlos weggefallen, bzw. durch eine WLAN Verbindung ersetzt wurde, kannst Du all das was bisher hier gemacht wurde "in die Tonne kloppen". Das neue Prinzip beruht -soweit ich weiß- darauf, dass die Daten in eine Viessmann-Cloud übertragen werden und ein Teil der Daten dann wieder in der ViCare App zur verfügung gestellt werden. Das ist aber so wenig, dass es lediglich als Fernbedienung taugt.

Als Alternative bleibt also wahrscheinlich nur die offizielle Möglichkeit der Anbindung an die Haus-Automatisierung mittels VitoGate (falls es die noch gibt), oder der Versuch den Datenstrom zum Viessmann-Server mitzulesen. Welche Daten damit überhaupt zugänglich werden, müsste ausprobiert werden.

Tut mir leid, dass ich nicht helfen konnte
Heinz

hwiemann

Hallo Roger,

bin zufällig bei dem Beitrag "neues Modul: vitoconnect" von "andreas13" gelandet, das die Einbindung der VitoConnect Daten in FHEM behandelt. Dies könnte die Lösung für Dein Problem sein. Dabei werden die Daten, die die Heizung in die Viessmann-Cloud sendet, dort ausgelesen und in FHEM eingebunden. Das ist zwar noch in der Entwicklung, dürfte aber möglicherweise der Ansatz für alle neuen Viessmann Heizungen ohne Optolink Schnittstelle sein.

Viel Erfolg
Heinz

Roger

Hallo Heinz,
diese Art der Anbindung (über Cloud) nutze ich derzeit - aber da kommt nur ein Bruchteil der Werte.
Keine Anzahl Brennerstart, Stömungsgeschwindigkeiten, Abgastemperatur, ...  :(

Aber die Therme hat natürlich diese Werte. Die werden ja auch in dem hochmodernen Touchdisplay an der Therme angezeigt und können dort verändert werden. Ich suche halt nach einer Möglichkeit (trotz meiner modernen Version  >:() zuzugreifen.

//Roger
Zotac, BBB, RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly

hwiemann

Hallo Roger,

das ist ja genau das was dieser Ansatz macht. Er liest mehr aus, als das was Du normalerweise auf dem Handy zu sehen bekommst (ca. 40 Readings). Google mal nach "thetrueavatar", oder such' Dir den FHEM Forumsbeitrag von Andreas heraus.

Viele Grüße
Heinz

hoppel118

Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

z0lt1

Hi, ich hätte da mal eine Verständnisfrage:

Ich habe folgende Definition:
defmod Vitodens200W VCONTROL300 /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 /opt/fhem/89_VCONTROL300_VScotHO1.cfg 300 kw

Die Config-Datei dazu findet ihr im Anhang. In meinem fhem habe ich unter Betriebsart ein Dropdown-Feld, welches auch im Anhang zu sehen ist. Wo kommen denn diese Auswahlmöglichkeiten her? Ich habe diese in meiner Konfiguration gar nicht definiert! Außerdem funktioniert auch nur der Betriebszustand "Heizen_und_Warmwasser" und "Aus". Wie kann ich das richtigstellen? Vor allem würde ich auch gerne den Betriebszustand "Reduziert" einstellen können.



hwiemann

Schau' doch 'mal in Deine fhem.cfg Datei. Dort müsstest Du die entsprechenden Einträge in der Kommando-Set-List, bzw. in der Definition der Betriebsart-Anzeige finden. Ein Kommando Beispiel für den Party-Betrieb findest Du auf Seite 105 dieses Beitrags (Klick auf Icon schaltet PartyMode An/Aus). Den Datenpunkt 3302 (reduziert) in die ...VScotHO1.cfg eintragen und im Beispiel Party durch den entsprechenden Reduziert-Text ersetzen. Als Hilfe kannst Du ja auch in meine cfg-Dateien schauen und Dir -bei Bedarf- die entsprechenden Einträge 'rüberziehen.

Viel Erfolg
Heinz

z0lt1

#1583
Hi, also in meiner fhem.cfg kann ich dazu leider nichts finden ...

Sonst noch eine Idee?

EDIT: Hab in der 89_VCONTROL300.pm was gefunden:
#States the Heater can be set to
#my @mode0 = ("WW","RED","NORM","H+WW","H+WW FS","ABSCHALT");
my @mode;
my @mode0 = ("Nur_Warmwasser","Reduziert","Normal","Heizen_und_Warmwasser","Heizen_und_Warmwasser_FS","Abschaltbetrieb");
my @mode1 = ("Aus","Nur_Warmwasser","Heizen_und_Warmwasser","NA","Reduziert","Normal","Abschaltbetrieb","Nur_Kuehlen");
my @mode2 = ("Aus","Nur_Warmwasser","Heizen_und_Warmwasser","NA","NA","NA","NA","NA");
my @state = ("off","on");


Das wird es wohl sein... nur wie kann ich das jetzt für meine Gastherme anwenden?

hwiemann

Du hast in Deiner fhem.cfg Datei nur Displays definiert. Es gibt keine Kommandos.

Mein Kenntnisstand:
Dummies können nur Displays, keine Kommandos. Reading-Groups können auch Kommandos.

Meine Lösung:
Alle "nur Displays" als Dummy definieren. Alle Kommandos als Reading-Group mit nur EINEM Reading je Gruppe. Dazu dann die zugehörige Kommandodefinition.

Du findest die Beispiele in meiner fhem.cfg für alle Typen der Darstellung die ich benutze (Analogwert, Icon, Dropdown-Menue, Toggle-Icon). Jeweils 1 Gruppe für 1 Wert. Du kannst Dir die Kommando-Set-List und die benötigten Blöcke kopieren und in Deine fhem.cfg einknüpfeln. Nach Anpassung der Namen sollte das dann funktionieren.

Das ist wahrscheinlich nicht der eleganteste, aber für mich der übersichtlichste Ansatz.

Viel Erfolg
Heinz

z0lt1

Ich bin mir nicht ganz sicher ob wir vom gleichen sprechen. Eine Einstellung die an meine Heizung gesendet werden soll, hat doch normalerweise nicht mit dummys in meinem fhem zu tun... ich denke dieses Dropdown-Menü wird durch die Definitionen in der 89_VCONTROL300.pm erstellt. Man möge mich aber gerne eines Besseren belehren, wenn ich falsch liege.

amenomade

#1586
Die werden automatisch nach Attribut vitotronicType oder Protokoll in der DEF kalkuliert, es sei denn, Du hast explizit in deiner vito Config Datei die entrp. "SET" Kommandos für state definiert, was in deiner VScotHO1.cfg anscheinend nicht der Fall ist
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

hwiemann

Mein Kenntnisstand:

Die Kommunikationskette ist Heizung-Optolink-VCONTROL-FHEM. VCONTROL ist also die generische Anbindung der H/W an FHEM.

Die VScotHO1.cfg-Datei (als Beispiel, da abhängig von der Heizung) definiert die POLL-Adressen unter denen die Werte von VCONTROL abgerufen werden, sowie die Reading-Namen unter denen diese Werte an FHEM übergeben werden. Für Kommandos werden die Werte an die entsprechende SET-Adresse geschickt.

Die fhem.cfg-Datei definiert, was von FHEM mit den bereitgestellten Daten gemacht werden soll. Nur Anzeige als Analogwert, Icon usw., oder Anzeige mit der Möglichkeit ein Kommando zu senden (Dropdown Menue, Toggle usw.).

Jede Anzeige/Kommando benötigt also 2 Definitionen: 1. POLL/SET Adresse der Heizung und Reading-Name in der VScotHO1.cfg-Datei für VCONTROL und 2. Reading-Name und Anzeige-/Kommandodefinition in der fhem.cfg-Datei für FHEM.

Viele Grüße
Heinz

amenomade

#1588
Zitat von: hwiemann am 17 April 2020, 09:05:41
Jede Anzeige/Kommando benötigt also 2 Definitionen: 1. POLL/SET Adresse der Heizung und Reading-Name in der VScotHO1.cfg-Datei für VCONTROL und 2. Reading-Name und Anzeige-/Kommandodefinition in der fhem.cfg-Datei für FHEM.

Nicht ganz. Die von 2. werden von 1. deduziert, und sind nicht in fhem.cfg zu definieren.

Hast Du
POLL, 0800, 2ByteS, 10    , Temp-Aussen         , -
POLL, 0804, 2ByteS, 10    , Temp-WarmWasser-Ist , -
in deiner Vito.cfg Datei, so werden 2 Readings Temp-Aussen und Temp-WarmWasser-Ist in Fhem nach der erste Abfrage der Schnittstelle erscheinen

Hast Du
SET, 230100, 1ByteU, state      ,WW        , -
SET, 230103, 1ByteU, state      ,HWW       , -
SET, 230105, 1ByteU, state      ,AUS       , -
SET, 230200, 1ByteU, state_spar ,S-OFF     , -
SET, 230201, 1ByteU, state_spar ,S-ON      , P-OFF

in deiner Vito.cfg Datei, so werden 2 Kommandos zur Verfügung stehen: set (state) mit entweder WW, HWW oder AUS, und set state_spar mit S-OFF oder S-ON.

Natürlich sind die Adressen, Werte und Datatypes  Modell abhängig.

Definierst Du die Set Kommandos für state nicht in deiner Vito.cfg Datei, so wird das Modul versuchen, anhand des Protokolls in DEF oder des Attributs vitotronicType selbst zu raten.

EDIT: und das
ZitatDie Kommunikationskette ist Heizung-Optolink-VCONTROL-FHEM. VCONTROL ist also die generische Anbindung der H/W an FHEM.
stimmt auch nicht ganz.
Die Modulen 89_VCONTROL.pm (offiziell) oder 89_VCONTROL300.pm (unoffiziell) von Fhem lesen und schreiben direkt in der Optolink Schnittstelle, ohne dass etwas anderes benötigt wird. Ein define xxxx VCONTROL300 blabla und eine Vito.cfg Datei, und es reicht.
Die Kommunikationskette ist Heizung-Optolink-FHEM
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

hwiemann

Hallo amenomade,

vielen Dank für die Klarstellung und Präzisierung. Ich habe in Gedanken FHEM in 3 Bereiche unterteilt: a) VCONTROL (quasi als Gerätetreiber und Schnittstelle zur Heizung), b) FHEM (als Basisproramm) und c) mein Floorplan (Blockdiagramm) als Userinterface. Du hast natürlich recht, der Floorplan ist nicht erforderlich, ich kann mir die Daten auch direkt in FHEM anschauen.

Viele Grüße
Heinz