Vitoconnect: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Link auf neuen Support-Thread eingetragen)
 
(31 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Baustelle}}
{{SEITENTITEL:vitoconnect}}{{Infobox Modul
{{Infobox Modul
|ModPurpose=Steuerung von Viessmann Heizungen
|ModPurpose=Steuerung von Viessmann Heizungen
|ModCategory=Heizungssteuerung/Raumklima
|ModCategory=Heizungssteuerung/Raumklima
|ModType=x
|ModCmdRef=vitoconnect
<!-- |ModCmdRef= ---- noch nicht Teil von FHEM -->
|ModFTopic=140073
|ModType=d
|ModForumArea=Heizungssteuerung/Raumklima
|ModForumArea=Heizungssteuerung/Raumklima
|ModTechName=98_vitoconnect.pm
|ModTechName=98_vitoconnect.pm
|ModOwner=andreas13}}
|ModOwner=Marc ({{Link2FU|45364|Forum}}/[[Benutzer Diskussion:Mcp|Wiki]])}}


[https://www.viessmann.de/de/viessmann-apps/vitoconnect.html Vitoconnect] ist die Schnittstelle zwischen Heizkessel und der App ViCare zum Bedienen von Viessmann Heizungsanlage.  
[https://www.viessmann.de/de/viessmann-apps/vitoconnect.html Vitoconnect] ist die Schnittstelle zwischen Heizkessel und der App ViCare zum Bedienen von Viessmann Heizungsanlagen.  


Mit dem FHEM Modul [[vitoconnect]] können die Daten, die über die Internetschnittstelle an den Herstellerserver gemeldet und von diesem über eine API zur Verfügung gestellt werden, in FHEM in Form von Readings angezeigt werden. Eine Steuerung der Heizung ist mit diesem Modul (noch) nicht möglich.
Mit dem FHEM Modul [[vitoconnect]] können die Daten, die über die Internetschnittstelle an den Herstellerserver gemeldet und von diesem über eine API zur Verfügung gestellt werden, in FHEM in Form von Readings angezeigt werden. Auch eine Steuerung der Heizung ist mit diesem Modul möglich.


Wen stört, dass die Daten in der Herstellercloud liegen oder die Heizung heute schon steuern möchte, sei das Modul [[Vitotronic 200 (Viessmann Heizungssteuerung)]] empfohlen.
Wen stört, dass die Daten in der Herstellercloud liegen, sei das Modul [[Vitotronic 200 (Viessmann Heizungssteuerung)]] empfohlen.


Die Idee zu dem Modul enstand aus dem Thread {{Link2Forum|Topic=86073|LinkText="Viessmann VitoConnect API"}}. Es basiert auf dem PHP Modul von [https://github.com/thetrueavatar/Viessmann-Api thetrueavatar].
Die Idee zu dem Modul enstand aus dem Thread {{Link2Forum|Topic=86073|LinkText="Viessmann VitoConnect API"}}. Es basiert auf dem PHP Modul von [https://github.com/thetrueavatar/Viessmann-Api thetrueavatar].


{{Hinweis|Das Modul befindet sich derzeit noch in der Entwicklung.
{{Randnotiz|RNTyp=r|RNText=Aktuelle Entwicklung des Moduls


Da man mit diesem Modul (noch) keine Werte der Heizung verändern kann, sollte die Benutzung risikoarm sein. Allerdings kann ich keine Garantie übernehmen, dass es nicht doch zu irgendwelchen unerwünschten Nebeneffekten kommt. Nutzung auf eigene Gefahr!
Das "offizielle" Modul im SVN ist derzeit "verwaist", der Maintainer (mcp) nicht mehr aktiv:
* Ursprüngliches Forenthema ({{Link2Forum|Topic=86073|LinkText=86073}}): geschlossen; enthält "inoffizielle" Modulupdates von verschiedenen Autoren in verschiedenen Beiträgen
* Neues Forenthema ({{Link2Forum|Topic=140073|LinkText=Vitoconnect - Verbesserte Version}}), Benutzer {{Link2FU|24242|stefanru}}; dieses Forenthema wird der neue "Entwicklungsthread" zum Modul. Dort werden auch (im ersten Beitrag) die Modul-Downloads zu finden sein.
}}
{{Randnotiz|RNTyp=g|RNText=Disclaimer zur Ursprungsversion des Moduls
 
Das Modul wurde nach bestem Wissen und Gewissen programmiert. Da Änderungen an der Heizung nur über die Viessmann API erfolgen, sollte die Nutzung risikoarm sein. Allerdings kann ich keine Garantie übernehmen, dass es nicht doch zu irgendwelchen unerwünschten Nebeneffekten kommt. Nutzung auf eigene Gefahr!


Diskussionen über Fehler, Verbesserungen usw. finden im Forum im Thread {{Link2Forum|Topic=93664|LinkText="Neues Modul: vitoconnect"}} statt.}}
Diskussionen über Fehler, Verbesserungen usw. finden im Forum im Thread {{Link2Forum|Topic=93664|LinkText="Neues Modul: vitoconnect"}} statt.}}


== Einrichtung ==
== Einrichtung ==
=== Vorbereitung ===
=== Vorbereitung ===
Zur Nutzung des Moduls muss vorhanden sein:
Zur Nutzung des Moduls muss vorhanden sein:
* Eine aktuelle FHEM Installation  
* Eine aktuelle FHEM Installation  
* Internet-Schnittstelle Vitoconnect 100 (Typ OPTO1)
* Internet-Schnittstelle Vitoconnect 100 (Typ OPTO1)
* Ein Viessmann ViCare Account, wie er im Rahmen der Nutzung der ViCare App erstellt wird.
* Ein Viessmann ViCare Account, wie er im Rahmen der Nutzung der ViCare App erstellt wird.
* Die Perl Library libtypes-path-tiny-perl muss installiert sein. Entweder mit '''sudo apt install libtypes-path-tiny-perl''' oder path::tiny via cpan installieren
* Seit 15. Juli 2021 auch einen persönlichen API Key (=Client-ID), diesen gibts hier: <nowiki>https://developer.viessmann.com</nowiki>
* Das Modul benötigt mindestens folgende Perl Libraries: Path::Tiny, JSON und DateTime. Diese können mit sudo apt install libtypes-path-tiny-perl libjson-perl libdatetime-perl oder via cpan. Sollten Libraries fehlen erhält man folgende Fehlermeldung "cannot load module vitoconnect". Dann bitte ins Logfile schauen, welche Lib fehlt.


=== Define des Devices ===
=== Define des Devices ===
Zeile 44: Zeile 49:
<code>define vitoconnect vitoconnect user@mail.xx fakePassword 60</code><br>
<code>define vitoconnect vitoconnect user@mail.xx fakePassword 60</code><br>
<code>set vitoconnect password correctPassword 60</code>
<code>set vitoconnect password correctPassword 60</code>
<br>
<br>
Nachträgliches Ändern des Intervalls:<br>
Man kann einfach das DEF aufrufen und dort die Parameter korrigieren (z.B. von 60 Sek. auf 180 Sek.) - dies gilt natürlich ebenso für nachträgliches Ändern des Usernamens oder Passwortes.
=== Betrieb ===
Der Zugriff auf die API von Viessmann ist aktuell auf 1450 pro Tag in der gratis Version beschränkt, daraus ergibt sich ein Maximum von ca. einer Abfrage pro Minute. Die Anzahl der Zugriffe ist im Entwicklerportal einsehbar:  https://developer.viessmann.com/de/clients/history


== Readings ==
== Readings ==
===Readings ===
===Readings ===
Die Readings werden so ausgegeben, wie sie von der API geliefert werden! Alle Reading für HK1 sind auch für HK2 und HK3 verfügbar sofern die Heizung solche Readings liefert.
Die Readings werden so ausgegeben, wie sie von der API geliefert werden! Alle Reading für HK1 sind auch für HK2 und HK3 verfügbar sofern die Heizung solche Readings liefert.


{|class="wikitable"
{| class="wikitable"
|-
|-
! Name !! Datentyp/<BR/>Wertebereich !! Bedeutung   
! Name !! Datentyp/<BR />Wertebereich !! Bedeutung   
|-
|-
|Aktive_Heizkreise ||0,1,2 ||Liste der aktiven Heizkreise. 0 entspricht HK1
|Aktive_Heizkreise ||0,1,2 ||Liste der aktiven Heizkreise. 0 entspricht HK1
Zeile 69: Zeile 79:
|  || ||
|  || ||
|-
|-
|Brenner_Betriebsstunden|| 934.336944444444 ||
|Brenner_Betriebsstunden|| 934.336944444444 || Brenner Betriebsstunden
|-
|-
|Brenner_Fehlercode || 0 || Brenner Fehlercode  
|Brenner_Fehlercode || 0 || Brenner Fehlercode  
|-
|-
|Brenner_Modulation|| 11 ||
|Brenner_Modulation|| 11 || Brenner Modulation in %
|-
|-
|Brenner_Starts|| 2717 ||
|Brenner_Starts|| 2717 || Brenner Starts
|-
|-
|Brenner_Status || ok ||Brenner Status  
|Brenner_Status || ok ||Brenner Status  
Zeile 87: Zeile 97:
|Device_Time_Offset || 61 || ???
|Device_Time_Offset || 61 || ???
|-
|-
|Fehlereinträge_Historie ||ErrorListChanges||???
|Fehlereinträge_Historie ||ErrorListChanges||??? (noch nicht implementiert)
|-
|-
|Fehlereinträge_aktive ||ErrorListChanges ||???
|Fehlereinträge_aktive ||ErrorListChanges ||??? (noch nicht implementiert)
|-
|-
|  || ||
|  || ||
|-
|-
|Gasverbrauch_Heizung/Jahr || 3293,0,0 ||Liste der jährlichen Gasverbräuche Heizung in kWH (aktuelles Jahr und die letzten beiden) '''(bis zum 09.12.2018 lieferte die API Werte, die noch durch 8 geteilt werden mussten, um auf kWh zu kommen!'''
|Gasverbrauch_Heizung/Jahr || 3293,0,0 ||Liste der jährlichen Gasverbräuche Heizung in kWH (aktuelles Jahr und die letzten beiden) '''(bis zum 09.12.2018 lieferte die API Werte, die noch durch 8 geteilt werden mussten, um auf kWh zu kommen!'''
Außerdem liefert Vissmann für manche Heizungstypen (noch) '''keine getrennten Werte für Heizung und WW'''. D.h. in den Reading für WW und Heizung steht der gleiche Wert (vermutlich der Gesamtverbrauch)!
Außerdem liefert Viessmann für manche Heizungstypen (noch) '''keine getrennten Werte für Heizung und WW'''. D.h. in den Reading für WW und Heizung steht der gleiche Wert (vermutlich der Gesamtverbrauch)!
|-
|-
|Gasverbrauch_Heizung/Monat || 1078,1384,590,241,0,0,0,0,0,0,0,0,0 ||Liste der monatlichen Gasverbräuche Heizung in kWH
|Gasverbrauch_Heizung/Monat || 1078,1384,590,241,0,0,0,0,0,0,0,0,0 ||Liste der monatlichen Gasverbräuche Heizung in kWH
Zeile 105: Zeile 115:
|| Liste der wöchentlichen Gasverbräuche Heizung in kWH
|| Liste der wöchentlichen Gasverbräuche Heizung in kWH
|-
|-
|Gasverbrauch_WW/Jahr || || Liste der jährlichen Gasverbräuche Warmwasser in kWH
|Gasverbrauch_WW/Jahr || 235,705,0 || Liste der jährlichen Gasverbräuche Warmwasser in kWH
|-
|-
|Gasverbrauch_WW/Monat || ||Liste der monatlichen Gasverbräuche Warmwasser in kWH
|Gasverbrauch_WW/Monat || 27,208,213,193,215,84,0,0,0,0,0,0,0 ||Liste der monatlichen Gasverbräuche Warmwasser in kWH
|-
|-
|Gasverbrauch_WW/Tag || ||Liste der täglichen Gasverbräuche Warmwasser in kWH
|Gasverbrauch_WW/Tag || 2,6,0,0,0,2,9,0 ||Liste der täglichen Gasverbräuche Warmwasser in kWH
|-
|-
|Gasverbrauch_WW/Woche || ||Liste der wöchentlichen Gasverbräuche Warmwasser in kWH
|Gasverbrauch_WW/Woche || 17,0,37,43,51,50,41,53,52,47,41,52,44,49,41,45,52,47,45,49,51,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ||Liste der wöchentlichen Gasverbräuche Warmwasser in kWH
|-
|-
|  || ||
|  || ||
Zeile 138: Zeile 148:
|-
|-
|HK1-Raum_Status || error ||Raumsensor?
|HK1-Raum_Status || error ||Raumsensor?
|-
|HK1-Raum_Temperatur || 20 ||Temperatur Raumsensor? Nur vorhanden, wenn HK1-Raum_Status "ok"
|-
|-
|HK1-Reduzierte_Temperatur_erzwungen || 0,1 ||xxx
|HK1-Reduzierte_Temperatur_erzwungen || 0,1 ||xxx
|-
|-
|HK1-Solltemperatur_aktiv || 0,1 ||xxx
|HK1-Solltemperatur_aktiv || 0,1 || Solltemperatur aktiv
|-
|-
|HK1-Solltemperatur_comfort || ||xxx
|HK1-Solltemperatur_comfort || 22 || Comfort Solltemeratur
|-
|-
|HK1-Solltemperatur_comfort_aktiv || 0,1 ||xxx
|HK1-Solltemperatur_comfort_aktiv || 0,1 || Comfort aktiv
|-
|-
|HK1-Solltemperatur_eco || ||
|HK1-Solltemperatur_eco || 24 || Eco Solltemperatur
|-
|-
|HK1-Solltemperatur_eco_aktiv || 0,1 ||
|HK1-Solltemperatur_eco_aktiv || 0,1 || Eco aktiv
|-
|-
|HK1-Solltemperatur_erzwungen || 0,1||
|HK1-Solltemperatur_erzwungen || 0,1 || Solltemperatur erzwungen
|-
|-
|HK1-Solltemperatur_normal || ||
|HK1-Solltemperatur_normal || 24 || Solltemperatur normal
|-
|-
|HK1-Solltemperatur_reduziert || ||
|HK1-Solltemperatur_reduziert || 16 || Solltemperatur reduziert
|-
|-
|HK1-Solltemperatur_reduziert_aktiv || 0,1 ||
|HK1-Solltemperatur_reduziert_aktiv || 0,1 || Reduziert aktiv
|-
|-
|HK1-Standby_aktiv || 0,1 ||xxx
|HK1-Standby_aktiv || 0,1 || Standby aktiv
|-
|-
| || ||
| || ||
|-
|-
|HK1-Urlaub_Ende || ||Urlaubsabsenkung Ende
|HK1-Urlaub_Ende || 2019-02-16T00:00:00.000Z ||Urlaubsabsenkung Ende
|-
|-
|HK1-Urlaub_Start || ||Urlaubsabsenkung Start
|HK1-Urlaub_Start || 2019-02-02T23:59:59.000Z ||Urlaubsabsenkung Start
|-
|-
|HK1-Urlaub_aktiv || 0,1 || Urlaubsabsenkung aktiv
|HK1-Urlaub_aktiv || 0,1 || Urlaubsabsenkung aktiv
Zeile 171: Zeile 183:
| || ||
| || ||
|-
|-
|HK1-Vorlauftemperatur || 81 ||
|HK1-Vorlauftemperatur || 81 || Vorlauftemperatir
|-
|-
|HK1-Vorlauftemperatur_aktiv || connected ||
|HK1-Vorlauftemperatur_aktiv || connected || Vorlauftemperatursensor verbunden
|-
|-
| || ||
| || ||
|-
|-
|HK1-WW_aktiv || 0,1  ||xxx
|HK1-WW_aktiv || 0,1  ||Modus WW (dhw) aktiv
|-
|-
|HK1-WW_und_Heizen_aktiv || 0,1 ||
|HK1-WW_und_Heizen_aktiv || 0,1 || Modus WW und Heizen (dhwAndHeating) aktiv
|-
|-
|HK1-Zeitsteuerung_Heizung || ||
|HK1-Zeitsteuerung_Heizung ||
wed start:05:00 mode:normal end:08:00 position:0, mode:normal end:23:00 position:1 start:16:00, sat position:0 end:23:00 mode:normal start:06:00,
thu position:0 mode:normal end:08:00 start:05:00, start:16:00 end:23:00 mode:normal position:1, sun start:06:00 position:0 end:23:00 mode:normal,
mon start:05:00 position:0 end:08:00 mode:normal, start:16:00 position:1 mode:normal end:23:00,
fri start:05:00 position:0 end:08:00 mode:normal, position:1 mode:normal end:23:00 start:16:00,
tue position:0 mode:normal end:08:00 start:05:00, mode:normal end:23:00 position:1 start:16:00,
|| Zeitplan für Heizung
|-
|-
|HK1-Zeitsteuerung_Heizung_aktiv || 0,1 ||
|HK1-Zeitsteuerung_Heizung_aktiv || 0,1 || Zeitplan Heizung aktiv
|-
|-
|HK1-Zeitsteuerung_Zirkulation || 0,1 ||
|''HK1-Zeitsteuerung_Zirkulation'' || 0,1 || Zeitplan für Zirkulationspumpe. Ist irgendwann nach WW gewandert?
|-
|-
|HK1-Zeitsteuerung_Zirkulation_aktiv || 0,1 ||
|''HK1-Zeitsteuerung_Zirkulation_aktiv'' || 0,1 || Zirkulationspumpe zeitgesteuert
|-
|-
| HK1-Zirkulationspumpe || on,off || xxx (neu seit 16.12.18?)
| HK1-Zirkulationspumpe || on,off || Zirkulationspumpe aktiv (neu seit 16.12.18?)
|-
|-
|HK1-aktiv || ||xxx
|HK1-aktiv || 1 ||HK1 aktiv
|-
|-
| || ||
| || ||
|-
|-
| Kessel_Common_Supply || error || ??? (neu seit 16.12.18?)
|Kessel_Common_Supply || error || ??? (neu seit 16.12.18?)
|-
|-
|Kessel_Status || ||xxx
|Kessel_Status || connected ||xxx
|-
|-
|Kesseltemperatur || ||xxx
|Kesseltemperatur || 53 ||xxx
|-
|-
|Kesseltemperatur_exact|| ||??? (neu seit 16.12.18?)
|Kesseltemperatur_exact|| 53 ||??? (neu seit 16.12.18?)
|-
|-
|Mehrfamilienhaus_aktiv || ||xxx
|Mehrfamilienhaus_aktiv || 0,1 ||xxx
|-
|-
| || ||
| || ||
Zeile 211: Zeile 229:
|''Service_Intervall_Betriebsstunden'' || 0 ||(wird seit 16.12.18 nicht mehr geliefert?)
|''Service_Intervall_Betriebsstunden'' || 0 ||(wird seit 16.12.18 nicht mehr geliefert?)
|-
|-
|Service_Intervall_Monate || 0 ||
|Service_Intervall_Monate || 0 || ???
|-
|-
|Service_Letzter || 1970-01-01T00:00:00.000Z ||
|Service_Letzter || 1970-01-01T00:00:00.000Z || ???
|-
|-
|''Service_Letzter_brennerbasiert'' || 1970-01-01T00:00:00.000Z ||(wird seit 16.12.18 nicht mehr geliefert?)
|''Service_Letzter_brennerbasiert'' || 1970-01-01T00:00:00.000Z ||(wird seit 16.12.18 nicht mehr geliefert?)
|-
|-
|Service_Monate_aktiv_seit_letzten_Service || ||
|Service_Monate_aktiv_seit_letzten_Service || 0 || ???
|-
|-
|Service_fällig || ||
|Service_fällig || 0,1 || Service fällig?
|-
|-
|Service_fällig_brennerbasiert || ||(wird seit 16.12.18 nicht mehr geliefert?)
|''Service_fällig_brennerbasiert'' || ||(wird seit 16.12.18 nicht mehr geliefert?)
|-
|-
| || ||
| || ||
|-
|-
|WW-Aufladung|| || (neu seit 16.12.18?)
|Stromverbrauch/Jahr|| 35573,66052,0 || Stromverbrauch im Jahr in Wh(?) (analog Gasverbrauch) (neu seit 15.02.19?)
|-
|Stromverbrauch/Monat|| 11860,23713,22851,19264,17924,6013,0,0,0,0,0,0,0 || Stromverbrauch im Monat(analog Gasverbrauch) (neu seit 15.02.19?)
|-
|-
|WW-Haupttemperatur|| || (neu seit 16.12.18?)
|Stromverbrauch/Tag|| 409,828,720,733,731,727,708,682 || Stromverbrauch im Tag (analog Gasverbrauch) (neu seit 15.02.19?)
|-
|-
|WW-Isttemperatur || 56 ||
|Stromverbrauch/Woche|| 4418,5058,5514,5802,5249,5109,5156,5702,5179,5547,4286,4710,5087,4236,
4075,4633,4307,3675,3721,4148,4594,1419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|| Stromverbrauch im Woche (analog Gasverbrauch) (neu seit 15.02.19?)
|-
|-
|WW-Sensoren_Auslauf_Status|| error || (neu seit 16.12.18?)
| || ||
|-
|-
|WW-Solltemperatur || 53 ||
|WW-Aufladung|| 0,1 || WW Vorrat wird erhitzt (neu seit 16.12.18?)
|-
|-
|WW-Temperatur_aktiv || connected ||
|WW-Haupttemperatur|| 54 || ?? (neu seit 16.12.18?)
|-
|-
|WW-Zeitplan || fri position:0 mode:on end:22:30 start:06:30, mon start:06:30 mode:on end:22:30 position:0,  
|WW-Isttemperatur || 56 || WW Ist-Temperatur
 
|-
sat start:06:30 position:0 mode:on end:22:30, wed end:22:30 mode:on position:0 start:06:30, thu start:06:30 position:0 mode:on end:22:30,
|WW-Sensoren_Auslauf_Status|| error || ??? (neu seit 16.12.18?)
 
|-
tue position:0 mode:on end:22:30 start:06:30, sun mode:on end:22:30 position:0 start:06:30, ||xxx
|WW-Solltemperatur || 53 || WW Solltemperatur
|-
|WW-Temperatur_aktiv || connected || WW aktiv
|-
|WW-Zeitplan ||
fri position:0 mode:on end:22:30 start:06:30, mon start:06:30 mode:on end:22:30 position:0,  
sat start:06:30 position:0 mode:on end:22:30, wed end:22:30 mode:on position:0 start:06:30,
thu start:06:30 position:0 mode:on end:22:30,
tue position:0 mode:on end:22:30 start:06:30, sun mode:on end:22:30 position:0 start:06:30,
|| WW Zeitplan
|-
|-
|WW-Zirkulationspumpe_Zeitsteuerung_aktiv || ||??? (neu seit 16.12.18?)
|WW-Zirkulationspumpe_Zeitsteuerung_aktiv || 0,1 || Zeitsteuerung Zirkulationspumpe aktiv(neu seit 16.12.18?)
|-
|-
|WW-Zirkulationspumpe_Status|| || (neu seit 16.12.18?)
|WW-Zirkulationspumpe_Status|| on || Status Zirkulationspumpe(neu seit 16.12.18?)
|-
|-
|WW-Zirkulationspumpe_Zeitplan|| || (neu seit 16.12.18?)
|WW-Zirkulationspumpe_Zeitplan ||
wed start:04:30 mode:on end:22:30 position:0, mon start:04:30 position:0 end:22:30 mode:on,
sun start:04:30 position:0 mode:on end:22:30, sat start:04:30 position:0 end:22:30 mode:on, thu start:04:30 end:22:30 mode:on position:0,
tue start:04:30 mode:on end:22:30 position:0, fri position:0 end:22:30 mode:on start:04:30,
|| Zeitplan für die Zirkulationspumpe (neu seit 16.12.18?)
|-
|-
|WW-Zirkulationspumpe_primaer|| || (neu seit 16.12.18?)
|WW-Zirkulationspumpe_primaer|| off || (neu seit 16.12.18?)
|-
|-
|WW-aktiv || 0,1 ||
|WW-aktiv || 0,1 || WW aktiv
|-
|-
|WW-onTimeCharge_aktiv || 0,1 ||
|WW-onTimeCharge_aktiv || 0,1 || einmaliges WW Aufladen aktiv
|-
|-
|WW-zeitgesteuert_aktiv || 0,1 ||
|WW-zeitgesteuert_aktiv || 0,1 || WW zeitgesteuert
|-
|-
| || ||
| || ||
Zeile 273: Zeile 308:
Befehle für HK1 sind auch für HK2 und HK3 verfügbar.  
Befehle für HK1 sind auch für HK2 und HK3 verfügbar.  


{|class="wikitable"
{| class="wikitable"
|-
|-
! Name !! Datentyp/<BR/>Wertebereich !! Beschreibung   
! Name !! Datentyp/<BR />Wertebereich !! Beschreibung   
|-
|-
|update|| ||löst ein Update der Reading zwischen manuell aus
|update|| ||löst ein Update der Reading zwischen manuell aus
Zeile 283: Zeile 318:
|password <passwd>||String|| store password in key store
|password <passwd>||String|| store password in key store
|-
|-
|logResponseOnce|| || dumps the json response of Vissmann server to entities.json, gw.json, actions.json in FHEM log directory
|logResponseOnce|| || dumps the json response of Viessmann server to entities.json, gw.json, actions.json in FHEM log directory
|-
|-
| || ||  
| || ||  
Zeile 299: Zeile 334:
|HK1-Solltemperatur_eco_aktiv activate,deactivate || || activate/deactivate eco temperature
|HK1-Solltemperatur_eco_aktiv activate,deactivate || || activate/deactivate eco temperature
|-
|-
|HK1-Urlaub_Start <start>|| 2019-02-02T23:59:59.000Z||  set holiday start time   
|HK1-Urlaub_Start <start>|| 2019-02-02 (früher war das Format mal 2019-02-02T23:59:59.000Z)||  set holiday start time   
|-
|-
|HK1-Urlaub_Ende <end>||2019-02-16T00:00:00.000Z || set holiday end time  
|HK1-Urlaub_Ende <end>||2019-02-16 (früher war das Format mal 2019-02-16T00:00:00.000Z)|| set holiday end time (geht nur, wenn schon eine Startzeit gesetzt ist)
|-
|-
|HK1-Urlaub_unschedule|| || remove holiday start and end time         
|HK1-Urlaub_unschedule|| || remove holiday start and end time         
Zeile 326: Zeile 361:
Derzeit gibt es keine "get"-Kommandos.
Derzeit gibt es keine "get"-Kommandos.


{|class="wikitable"
{| class="wikitable"
|-
|-
! Name !! Beschreibung
! Name !! Beschreibung
Zeile 337: Zeile 372:
===Attribute ===
===Attribute ===


{|class="wikitable"
{| class="wikitable"
|-
|-
! Name !! Datentyp/<BR/>Wertebereich !! Default-Wert !! Beschreibung
! Name !! Datentyp/<BR />Wertebereich !! Default-Wert !! Beschreibung
|-
|-
|disable|| 0,1 || ||disable updates
|disable|| 0,1 || ||disable updates
Zeile 352: Zeile 387:
== Hilfsmittel ==
== Hilfsmittel ==
=== Attribut zum Speichern der wichtigsten Werte mittels DbLog ===
=== Attribut zum Speichern der wichtigsten Werte mittels DbLog ===
<code>attr vitoconnect DbLogInclude Gasverbrauch_gestern,Gasverbrauch_Heizung/Jahr,Gasverbrauch_aktuelle_Woche,Gasverbrauch_aktueller_Monat,Gasverbrauch_heute,WW-aktiv,HK1-Frostschutz_Status,HK1-WW_und_Heizen_aktiv,HK1-WW_aktiv,HK1-Betriebsart,HK1-Programmstatus,Aussentemperatur,HK1-Solltemperatur_normal,Brenner_aktiv,HK1-Vorlauftemperatur,Kesseltemperatur,WW-Isttemperatur,WW-Solltemperatur</code>
<syntaxhighlight lang="Perl">attr vitoconnect DbLogInclude Gasverbrauch_gestern,Gasverbrauch_Heizung/Jahr,Gasverbrauch_aktuelle_Woche,Gasverbrauch_aktueller_Monat,Gasverbrauch_heute,WW-aktiv,
HK1-Frostschutz_Status,HK1-WW_und_Heizen_aktiv,HK1-WW_aktiv,HK1-Betriebsart,HK1-Programmstatus,Aussentemperatur,HK1-Solltemperatur_normal,Brenner_aktiv,
HK1-Vorlauftemperatur,Kesseltemperatur,WW-Isttemperatur,WW-Solltemperatur</syntaxhighlight>


=== Userreadings um Reading für Einzelwerte von Gasverbräuche zu erzeugen ===
=== Userreadings um Reading für Einzelwerte von Gasverbräuche zu erzeugen ===
<code>attr vitoconnect userReadings Gasverbrauch_heute:Gasverbrauch_Heizung/Tag.* { (split /,/, ReadingsVal("vitoconnect", \
<syntaxhighlight lang="Perl">
"Gasverbrauch_Heizung/Tag",0))[0] },\
attr vitoconnect userReadings
Gasverbrauch_gestern:Gasverbrauch_Heizung/Tag.* { (split /,/, ReadingsVal("vitoconnect",\
Gasverbrauch_heute:Gasverbrauch_Heizung/Tag.* { (split /,/, ReadingsVal("vitoconnect", "Gasverbrauch_Heizung/Tag",0))[0] },
"Gasverbrauch_Heizung/Tag",0))[1] },\
Gasverbrauch_gestern:Gasverbrauch_Heizung/Tag.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Tag",0))[1] },
Gasverbrauch_aktuelle_Woche:Gasverbrauch_Heizung/Woche.* { (split /,/, ReadingsVal("vitoconnect",\
Gasverbrauch_aktuelle_Woche:Gasverbrauch_Heizung/Woche.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Woche",0))[0] },
"Gasverbrauch_Heizung/Woche",0))[0] },\
Gasverbrauch_letzte_Woche:Gasverbrauch_Heizung/Woche.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Woche",0))[1] },
Gasverbrauch_letzte_Woche:Gasverbrauch_Heizung/Woche.* { (split /,/, ReadingsVal("vitoconnect",\
Gasverbrauch_aktueller_Monat:Gasverbrauch_Heizung/Monat.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Monat",0))[0] },
"Gasverbrauch_Heizung/Woche",0))[1] },\
Gasverbrauch_letzter_Monat:Gasverbrauch_Heizung/Monat.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Monat",0))[1] },
Gasverbrauch_aktueller_Monat:Gasverbrauch_Heizung/Monat.* { (split /,/, ReadingsVal("vitoconnect",\
Gasverbrauch_aktuelles_Jahr:Gasverbrauch_Heizung/Jahr.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Jahr",0))[0] },
"Gasverbrauch_Heizung/Monat",0))[0] },\
Gasverbrauch_letztes_Jahr:Gasverbrauch_Heizung/Jahr.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Jahr",0))[1] },
Gasverbrauch_letzter_Monat:Gasverbrauch_Heizung/Monat.* { (split /,/, ReadingsVal("vitoconnect",\
 
"Gasverbrauch_Heizung/Monat",0))[1] },\
Gasverbrauch_WW_heute:Gasverbrauch_WW/Tag.* { (split /,/, ReadingsVal("vitoconnect", "Gasverbrauch_WW/Tag",0))[0] },
Gasverbrauch_aktuelles_Jahr:Gasverbrauch_Heizung/Jahr.* { (split /,/, ReadingsVal("vitoconnect",\
Gasverbrauch_WW_gestern:Gasverbrauch_WW/Tag.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Tag",0))[1] },
"Gasverbrauch_Heizung/Jahr",0))[0] },\
Gasverbrauch_WW_aktuelle_Woche:Gasverbrauch_WW/Woche.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Woche",0))[0] },
Gasverbrauch_letztes_Jahr:Gasverbrauch_Heizung/Jahr.* { (split /,/, ReadingsVal("vitoconnect",\
Gasverbrauch_WW_letzte_Woche:Gasverbrauch_WW/Woche.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Woche",0))[1] },
"Gasverbrauch_Heizung/Jahr",0))[1] },\
Gasverbrauch_WW_aktueller_Monat:Gasverbrauch_WW/Monat.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Monat",0))[0] },
\
Gasverbrauch_WW_letzter_Monat:Gasverbrauch_WW/Monat.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Monat",0))[1] },
Gasverbrauch_WW_heute:Gasverbrauch_WW/Tag.* { (split /,/, ReadingsVal("vitoconnect", \
Gasverbrauch_WW_aktuelles_Jahr:Gasverbrauch_WW/Jahr.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Jahr",0))[0] },
"Gasverbrauch_WW/Tag",0))[0] },\
Gasverbrauch_WW_letztes_Jahr:Gasverbrauch_WW/Jahr.* { (split /,/, ReadingsVal("vitoconnect", "Gasverbrauch_WW/Jahr",0))[1] },
Gasverbrauch_WW_gestern:Gasverbrauch_WW/Tag.* { (split /,/, ReadingsVal("vitoconnect",\
 
"Gasverbrauch_WW/Tag",0))[1] },\
Stromverbrauch_heute:Stromverbrauch/Tag.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Tag",0))[0] },
Gasverbrauch_WW_aktuelle_Woche:Gasverbrauch_WW/Woche.* { (split /,/, ReadingsVal("vitoconnect",\
Stromverbrauch_gestern:Stromverbrauch/Tag.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Tag",0))[1] },
"Gasverbrauch_WW/Woche",0))[0] },\
Stromverbrauch_aktuelle_Woche:Stromverbrauch/Woche.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Woche",0))[0] },
Gasverbrauch_WW_letzte_Woche:Gasverbrauch_WW/Woche.* { (split /,/, ReadingsVal("vitoconnect",\
Stromverbrauch_letzte_Woche:Stromverbrauch/Woche.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Woche",0))[1] },
"Gasverbrauch_WW/Woche",0))[1] },\
Stromverbrauch_aktueller_Monat:Stromverbrauch/Monat.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Monat",0))[0] },
Gasverbrauch_WW_aktueller_Monat:Gasverbrauch_WW/Monat.* { (split /,/, ReadingsVal("vitoconnect",\
Stromverbrauch_letzter_Monat:Stromverbrauch/Monat.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Monat",0))[1] },
"Gasverbrauch_WW/Monat",0))[0] },\
Stromverbrauch_aktuelles_Jahr:Stromverbrauch/Jahr.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Jahr",0))[0] },
Gasverbrauch_WW_letzter_Monat:Gasverbrauch_WW/Monat.* { (split /,/, ReadingsVal("vitoconnect",\
Stromverbrauch_letztes_Jahr:Stromverbrauch/Jahr.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Jahr",0))[1] }
"Gasverbrauch_WW/Monat",0))[1] },\
 
Gasverbrauch_WW_aktuelles_Jahr:Gasverbrauch_WW/Jahr.* { (split /,/, ReadingsVal("vitoconnect",\
</syntaxhighlight>
"Gasverbrauch_WW/Jahr",0))[0] },\
Gasverbrauch_WW_letztes_Jahr:Gasverbrauch_WW/Jahr.* { (split /,/, ReadingsVal("vitoconnect",\
"Gasverbrauch_WW/Jahr",0))[1] }</code>


=== ReadingsGroup für eine kompakte Darstellung ===
=== ReadingsGroup für eine kompakte Darstellung ===


<code> defmod vitoconnect_rg readingsGroup vitoconnect:Aussentemperatur\
<syntaxhighlight lang="perl" style="width:90%;">
<Brenner>\
defmod vitoconnect_rg readingsGroup
vitoconnect:Brenner_Beriebsstunden\
vitoconnect:Aussentemperatur
vitoconnect:Brenner_Fehlercode\
<Brenner>
vitoconnect:Brenner_Modulation\
vitoconnect:Brenner_Betriebsstunden
vitoconnect:Brenner_Starts\
vitoconnect:Brenner_Fehlercode
vitoconnect:Brenner_Status\
vitoconnect:Brenner_Modulation
vitoconnect:Brenner_aktiv\
vitoconnect:Brenner_Starts
<Gasverbrauch Heizung>\
vitoconnect:Brenner_Status
vitoconnect:Gasverbrauch_heute, vitoconnect:Gasverbrauch_gestern\
vitoconnect:Brenner_aktiv
vitoconnect:Gasverbrauch_aktuelle_Woche\
<HK1>
vitoconnect:Gasverbrauch_letzte_Woche\
vitoconnect:HK1-aktiv
vitoconnect:Gasverbrauch_aktueller_Monat\
vitoconnect:HK1-Betriebsart
vitoconnect:Gasverbrauch_letzter_Monat\
vitoconnect:Gasverbrauch_aktuelles_Jahr\
vitoconnect:Gasverbrauch_letztes_Jahr\
<Gasverbrauch Warmwasser>\
vitoconnect:Gasverbrauch_WW_heute, vitoconnect:Gasverbrauch_WW_gestern\
vitoconnect:Gasverbrauch_WW_aktuelle_Woche\
vitoconnect:Gasverbrauch_WW_letzte_Woche\
vitoconnect:Gasverbrauch_WW_aktueller_Monat\
vitoconnect:Gasverbrauch_WW_letzter_Monat\
vitoconnect:Gasverbrauch_WW_aktuelles_Jahr\
vitoconnect:Gasverbrauch_WW_letztes_Jahr\
<HK1>\
vitoconnect:HK1-aktiv\
vitoconnect:HK1-Betriebsart\
\
vitoconnect:HK1-Frostschutz_Status\
\
vitoconnect:HK1-Heizkurve-Niveau\
vitoconnect:HK1-Heizkurve-Steigung\
\
vitoconnect:K1-Programmstatus\
vitoconnect:HK1-Raum_Status\
vitoconnect:HK1-Reduzierte_Temperatur_erzwungen\
vitoconnect:HK1-Solltemperatur_aktiv\
vitoconnect:HK1-Solltemperatur_erzwungen\
vitoconnect:HK1-Solltemperatur_normal\
vitoconnect:HK1-Solltemperatur_reduziert\
vitoconnect:HK1-Solltemperatur_reduziert_aktiv\
vitoconnect:HK1-Standby_aktiv\
\
vitoconnect:HK1-Urlaub_Ende\
vitoconnect:HK1-Urlaub_Start\
vitoconnect:HK1-Urlaub_aktiv\
\
vitoconnect:HK1-Vorlauftemperatur\
\
vitoconnect:HK1-WW_aktiv\
vitoconnect:HK1-WW_und_Heizen_aktiv\
vitoconnect:HK1-Zeitsteuerung_Heizung_aktiv\
vitoconnect:HK1-Zeitsteuerung_Zirkulation_aktiv\
vitoconnect:HK1-Zirkulationspumpe\
<Kessel>\
vitoconnect:Kesseltemperatur\
vitoconnect:Kesseltemperatur_exact\
<WW>\
vitoconnect:WW-Aufladung\
vitoconnect:WW-Haupttemperatur\
vitoconnect:WW-Isttemperatur\
vitoconnect:WW-Solltemperatur\
vitoconnect:WW-Zirklationspumpe_Zeitsteuerung_aktiv\
vitoconnect:WW-Zirkulationspumpe_Status\
vitoconnect:WW-Zirkulationspumpe_primaer\
vitoconnect:WW-aktiv\
vitoconnect:WW-onTimeCharge_aktiv\
vitoconnect:WW-zeitgesteuert_aktiv\


<br><br>
vitoconnect:HK1-Frostschutz_Status
attr vitoconnect_rg alias Heizung<br>
attr vitoconnect_rg cellStyle { \
"c:0"=>'style="text-align:left"', \
"c:1"=>'style="text-align:right"', \
"r:2"=>'style="text-align:right;;;;font-weight:bold"'\
\
}<br>
attr vitoconnect_rg mapping {\
"Aussentemperatur" => "Aussentemperatur",\
\
"Brenner_Beriebsstunden" => "Beriebsstunden",\
"Brenner_Fehlercode" => "Fehlercode",\
"Brenner_Modulation" => "Modulation",\
"Brenner_Starts" => "Starts",\
"Brenner_Status" => "Status",\
"Brenner_aktiv" => "aktiv",\
\
"Gasverbrauch_heute" => "heute",\
"Gasverbrauch_gestern" => "gestern",\
"Gasverbrauch_aktuelle_Woche" => "aktuelle Woche",\
"Gasverbrauch_letzte_Woche" => "letzte Woche",\
"Gasverbrauch_aktueller_Monat" => "aktueller Monat",\
"Gasverbrauch_letzter_Monat"  => "letzter Monat",\
"Gasverbrauch_aktuelles_Jahr" => "aktuelles Jahr",\
"Gasverbrauch_letztes_Jahr" => "letztes Jahr",\
"Gasverbrauch_WW_heute" => "heute",\
"Gasverbrauch_WW_gestern" => "gestern",\
"Gasverbrauch_WW_aktuelle_Woche" => "aktuelle Woche",\
"Gasverbrauch_WW_letzte_Woche" => "letzte Woche",\
"Gasverbrauch_WW_aktueller_Monat" => "aktueller Monat",\
"Gasverbrauch_WW_letzter_Monat"  => "letzter Monat",\
"Gasverbrauch_WW_aktuelles_Jahr" => "aktuelles Jahr",\
"Gasverbrauch_WW_letztes_Jahr" => "letztes Jahr",\
\
"HK1-aktiv" => "aktiv",\
"HK1-Betriebsart" => "Betriebsart",\
"HK1-Frostschutz_Status" => "Frostschutz_Status",\
"HK1-Heizkurve-Niveau" => "Heizkurve-Niveau",\
"HK1-Heizkurve-Steigung" => "Heizkurve-Steigung",\
"HK1-Raum_Status" => "Raum Status",\
"HK1-Reduzierte_Temperatur_erzwungen" => "Reduzierte Temperatur erzwungen",\
"HK1-Solltemperatur_aktiv" => "Solltemperatur aktiv",\
"HK1-Solltemperatur_erzwungen" => "Solltemperatur erzwungen",\
"HK1-Solltemperatur_normal" => "Solltemperatur normal",\
"HK1-Solltemperatur_reduziert" => "Solltemperatur reduziert",\
"HK1-Solltemperatur_reduziert_aktiv" => "Solltemperatur reduziert_aktiv",\
"HK1-Standby_aktiv" => "Standby aktiv",\
"HK1-Urlaub_Ende" => "Urlaub Ende",\
"HK1-Urlaub_Start" => "Urlaub Start",\
"HK1-Urlaub_aktiv" => "Urlaub aktiv",\
"HK1-Vorlauftemperatur" => "Vorlauftemperatur",\
"HK1-WW_aktiv" => "WW aktiv",\
"HK1-WW_und_Heizen_aktiv" => "WW und Heizen aktiv",\
"HK1-Zeitsteuerung_Heizung_aktiv" => "Zeitsteuerung Heizung aktiv",\
"HK1-Zirkulationspumpe" => "Zirkulationspumpe",\
\
"Kesseltemperatur" => "Kesseltemperatur",\
"Kesseltemperatur_exact" => "Kesseltemperatur exact",\
\
"WW-Aufladung" => "Aufladung",\
"WW-Haupttemperatur" => "Haupttemperatur",\
"WW-Isttemperatur" => "Isttemperatur",\
"WW-Solltemperatur" => "Solltemperatur",\
"WW-Zirklationspumpe_Zeitsteuerung_aktiv" => "Zirklationspumpe Zeitsteuerung aktiv",\
"WW-Zirkulationspumpe_Status" => "Zirkulationspumpe Status",\
"WW-Zirkulationspumpe_primaer" => "Zirkulationspumpe primaer",\
"WW-aktiv" => "aktiv",\
"WW-onTimeCharge_aktiv" => "onTimeCharge aktiv",\
"WW-zeitgesteuert_aktiv" => "zeitgesteuert aktiv"\
\
}<br>
attr vitoconnect_rg nostate 1<br>
attr vitoconnect_rg notime 1<br>
attr vitoconnect_rg room Heizung<br>
attr vitoconnect_rg sortby 1<br>
attr vitoconnect_rg valueFormat { "Brenner_Beriebsstunden" => "%2d" }<br>
attr vitoconnect_rg valueIcon {'Brenner_aktiv.0' => '1px-spacer', \
'Brenner_aktiv.1' => 'icoHEIZUNG',\
'HK1-Solltemperatur_reduziert_aktiv.0' => '10px-kreis-rot',\
'HK1-Solltemperatur_reduziert_aktiv.1' => '10px-kreis-gruen'\
}\<br>


attr vitoconnect_rg valueSuffix {\
vitoconnect:HK1-Heizkurve-Niveau
Aussentemperatur => "°C", \
vitoconnect:HK1-Heizkurve-Steigung
\
 
Brenner_Beriebsstunden => "h",\
vitoconnect:HK1-Programmstatus
Brenner_Modulation => "%",\
vitoconnect:HK1-Raum_Status
\
vitoconnect:HK1-Reduzierte_Temperatur_erzwungen
Gasverbrauch_aktuelles_Jahr => "kWh",\
vitoconnect:HK1-Solltemperatur_aktiv
Gasverbrauch_letztes_Jahr => "kWh",\
vitoconnect:HK1-Solltemperatur_erzwungen
Gasverbrauch_aktueller_Monat => "kWh",\
vitoconnect:HK1-Solltemperatur_normal
Gasverbrauch_letzter_Monat => "kWh", \
vitoconnect:HK1-Solltemperatur_reduziert
Gasverbrauch_aktuelle_Woche => "kWh",\
vitoconnect:HK1-Solltemperatur_reduziert_aktiv
Gasverbrauch_letzte_Woche => "kWh",\
vitoconnect:HK1-Standby_aktiv
Gasverbrauch_heute => "kWh", \
 
Gasverbrauch_gestern => "kWh", \
vitoconnect:HK1-Urlaub_Ende
\
vitoconnect:HK1-Urlaub_Start
Gasverbrauch_WW_aktuelles_Jahr => "kWh",\
vitoconnect:HK1-Urlaub_aktiv
Gasverbrauch_WW_letztes_Jahr => "kWh",\
 
Gasverbrauch_WW_aktueller_Monat => "kWh",\
vitoconnect:HK1-Vorlauftemperatur
Gasverbrauch_WW_letzter_Monat => "kWh",\
 
Gasverbrauch_WW_aktuelle_Woche => "kWh",\
vitoconnect:HK1-WW_aktiv
Gasverbrauch_WW_letzte_Woche => "kWh",\
vitoconnect:HK1-WW_und_Heizen_aktiv
Gasverbrauch_WW_heute => "kWh", \
 
Gasverbrauch_WW_gestern => "kWh", \
vitoconnect:HK1-Zeitsteuerung_Heizung_aktiv
\
vitoconnect:HK1-Zeitsteuerung_Zirkulation_aktiv
'HK1-Solltemperatur_normal' => "°C",\
 
'HK1-Solltemperatur_reduziert' => "°C",\
vitoconnect:HK1-Zirkulationspumpe
'HK1-Vorlauftemperatur' => " °C",\
<Kessel>
\
vitoconnect:Kesseltemperatur
Kesseltemperatur => "°C",\
vitoconnect:Kesseltemperatur_exact
Kesseltemperatur_exact => "°C",\
<WW>
\
vitoconnect:WW-Aufladung
'WW-Solltemperatur' => " °C",\
vitoconnect:WW-Haupttemperatur
'WW-Isttemperatur' => " °C",\
vitoconnect:WW-Isttemperatur
\
vitoconnect:WW-Solltemperatur
'WW-Solltemperatur' => "°C"\
vitoconnect:WW-Zirklationspumpe_Zeitsteuerung_aktiv
vitoconnect:WW-Zirkulationspumpe_Status
vitoconnect:WW-Zirkulationspumpe_primaer
vitoconnect:WW-aktiv
vitoconnect:WW-onTimeCharge_aktiv
vitoconnect:WW-zeitgesteuert_aktiv
</syntaxhighlight>
 
<syntaxhighlight lang="perl" style="width:90%;">
attr vitoconnect_rg alias Heizung
attr vitoconnect_rg cellStyle {
"c:0"=>'style="text-align:left"',  
"c:1"=>'style="text-align:left"',  
"r:2"=>'style="text-align:right;;;;font-weight:bold"'
}
}
attr vitoconnect_rg mapping {
"Aussentemperatur" => "Aussentemperatur",
"Brenner_Betriebsstunden" => "Betriebsstunden",
"Brenner_Fehlercode" => "Fehlercode",
"Brenner_Modulation" => "Modulation",
"Brenner_Starts" => "Starts",
"Brenner_Status" => "Status",
"Brenner_aktiv" => "aktiv",
"HK1-aktiv" => "aktiv",
"HK1-Betriebsart" => "Betriebsart",
"HK1-Frostschutz_Status" => "Frostschutz_Status",
"HK1-Heizkurve-Niveau" => "Heizkurve-Niveau",
"HK1-Heizkurve-Steigung" => "Heizkurve-Steigung",
"HK1-Programmstatus" => "Programmstatus",
"HK1-Raum_Status" => "Raum Status",
"HK1-Reduzierte_Temperatur_erzwungen" => "Reduzierte Temperatur erzwungen",
"HK1-Solltemperatur_aktiv" => "Solltemperatur aktiv",
"HK1-Solltemperatur_erzwungen" => "Solltemperatur erzwungen",
"HK1-Solltemperatur_normal" => "Solltemperatur normal",
"HK1-Solltemperatur_reduziert" => "Solltemperatur reduziert",
"HK1-Solltemperatur_reduziert_aktiv" => "Solltemperatur reduziert_aktiv",
"HK1-Standby_aktiv" => "Standby aktiv",
"HK1-Urlaub_Ende" => "Urlaub Ende",
"HK1-Urlaub_Start" => "Urlaub Start",
"HK1-Urlaub_aktiv" => "Urlaub aktiv",
"HK1-Vorlauftemperatur" => "Vorlauftemperatur",
"HK1-WW_aktiv" => "WW aktiv",
"HK1-WW_und_Heizen_aktiv" => "WW und Heizen aktiv",
"HK1-Zeitsteuerung_Heizung_aktiv" => "Zeitsteuerung Heizung aktiv",
"HK1-Zirkulationspumpe" => "Zirkulationspumpe",
"Kesseltemperatur" => "Kesseltemperatur",
"Kesseltemperatur_exact" => "Kesseltemperatur exact",
"WW-Aufladung" => "Aufladung",
"WW-Haupttemperatur" => "Haupttemperatur",
"WW-Isttemperatur" => "Isttemperatur",
"WW-Solltemperatur" => "Solltemperatur",
"WW-Zirklationspumpe_Zeitsteuerung_aktiv" => "Zirkulationspumpe Zeitsteuerung aktiv",
"WW-Zirkulationspumpe_Status" => "Zirkulationspumpe Status",
"WW-Zirkulationspumpe_primaer" => "Zirkulationspumpe primaer",
"WW-aktiv" => "aktiv",
"WW-onTimeCharge_aktiv" => "onTimeCharge aktiv",
"WW-zeitgesteuert_aktiv" => "zeitgesteuert aktiv"
}
attr vitoconnect_rg nostate 1
attr vitoconnect_rg notime 1
attr vitoconnect_rg room Heizung
attr vitoconnect_rg sortby 1
attr vitoconnect_rg valueFormat { "Brenner_Betriebsstunden" => "%2d" }
attr vitoconnect_rg valueIcon {'Brenner_aktiv.0' => '1px-spacer',
'Brenner_aktiv.1' => 'icoHEIZUNG',
'HK1-Solltemperatur_reduziert_aktiv.0' => '10px-kreis-rot',
'HK1-Solltemperatur_reduziert_aktiv.1' => '10px-kreis-gruen'
}
attr vitoconnect_rg valueSuffix {
Aussentemperatur => "°C",
Brenner_Betriebsstunden => "h",
Brenner_Modulation => "%",


</code>
'HK1-Solltemperatur_normal' => "°C",
'HK1-Solltemperatur_reduziert' => "°C",
'HK1-Vorlauftemperatur' => " °C",
 
Kesseltemperatur => "°C",
Kesseltemperatur_exact => "°C",
 
'WW-Solltemperatur' => " °C",
'WW-Isttemperatur' => " °C",
 
'WW-Solltemperatur' => "°C"
}
</syntaxhighlight>
<br>
<br>


[[Datei:ReadingsGroup für Vitoconnect Modul 2.jpg|400px]]
[[Datei:ReadingsGroup für Vitoconnect Modul 3.jpg|200px]]
 
=== ReadingsGroup für eine kompakte Darstellung der Verbräuche ===
 
<syntaxhighlight lang="Perl" style="width:100%;">
defmod Heizung_Verbrauch readingsGroup <>,<Periode>,<Heizung>,<Wasser>,<Strom>
vitoconnect:,<heute>,Gasverbrauch_heute,Gasverbrauch_WW_heute,Stromverbrauch_heute
vitoconnect:,<gestern>,Gasverbrauch_gestern,Gasverbrauch_WW_gestern,Stromverbrauch_gestern
vitoconnect:,<Woche>,Gasverbrauch_aktuelle_Woche,Gasverbrauch_WW_aktuelle_Woche,Stromverbrauch_aktuelle_Woche
vitoconnect:,<letzte>,Gasverbrauch_letzte_Woche,Gasverbrauch_WW_letzte_Woche,Stromverbrauch_letzte_Woche
vitoconnect:,<Monat>,Gasverbrauch_aktueller_Monat,Gasverbrauch_WW_aktueller_Monat,Stromverbrauch_aktueller_Monat
vitoconnect:,<letzter>,Gasverbrauch_letzter_Monat,Gasverbrauch_WW_letzter_Monat,Stromverbrauch_letzter_Monat
vitoconnect:,<Jahr>,Gasverbrauch_aktuelles_Jahr,Gasverbrauch_WW_aktuelles_Jahr,Stromverbrauch_aktuelles_Jahr
vitoconnect:,<letztes>,Gasverbrauch_letztes_Jahr,Gasverbrauch_WW_letztes_Jahr,Stromverbrauch_letztes_Jahr
 
attr Heizung_Verbrauch cellStyle {
"r:1"=>'style="text-align:left;;;;font-weight:bold"',
"c:1"=>'style="text-align:right;;;;font-weight:bold"'
}
attr Heizung_Verbrauch mapping &nbsp;;
attr Heizung_Verbrauch nostate 1
attr Heizung_Verbrauch room Heizung
attr Heizung_Verbrauch style style="text-align:right;;;;font-size:18px"
attr Heizung_Verbrauch valueFormat {
Gasverbrauch_heute => "%.0f kWh",
Gasverbrauch_WW_heute => "%.0f kWh",
Stromverbrauch_heute => "%.0f kWh",
Gasverbrauch_gestern => "%.0f kWh",
Gasverbrauch_WW_gestern => "%.0f kWh",
Stromverbrauch_gestern => "%.0f kWh",
Gasverbrauch_aktuelle_Woche => "%.0f kWh",
Gasverbrauch_WW_aktuelle_Woche => "%.0f kWh",
Stromverbrauch_aktuelle_Woche => "%.0f kWh",
Gasverbrauch_letzte_Woche => "%.0f kWh",
Gasverbrauch_WW_letzte_Woche => "%.0f kWh",
Stromverbrauch_letzte_Woche => "%.0f kWh",
Gasverbrauch_aktueller_Monat => "%.0f kWh",
Gasverbrauch_WW_aktueller_Monat => "%.0f kWh",
Stromverbrauch_aktueller_Monat => "%.0f kWh",
Gasverbrauch_letzter_Monat => "%.0f kWh",
Gasverbrauch_WW_letzter_Monat => "%.0f kWh",
Stromverbrauch_letzter_Monat => "%.0f kWh",
Gasverbrauch_aktuelles_Jahr => "%.0f kWh",
Gasverbrauch_WW_aktuelles_Jahr => "%.0f kWh",
Stromverbrauch_aktuelles_Jahr => "%.0f kWh",
Gasverbrauch_letztes_Jahr => "%.0f kWh",
Gasverbrauch_WW_letztes_Jahr => "%.0f kWh",
Stromverbrauch_letztes_Jahr => "%.0f kWh"
}
</syntaxhighlight>
[[Datei:Readuingsgroup Verbräuche aus Vitoconnect 2.jpg|200px]]
 


=== SVG Graphen ===
=== SVG Graphen ===
==== Gasverbrauch ====
==== Gas- und Stromverbrauch ====


[[Datei:SVG Gasverbrauch für vitoconnect Modul.jpg|400px]]
[[Datei:SVG Gasverbrauch für vitoconnect Modul.jpg|800px]]


[[Datei:Gasverbräuche aus vitoconnect.jpg|400px]]
[[Datei:Verbräuche aus Vitoconnect.jpg|800px]]


<br>
==== weitere Graphen ====
==== weitere Graphen ====
[[Datei:Beispiel für Grafiken aus vitoconnect Daten.jpg|800px]]
<br>
<br>
=== Speichern der wichtigsten Werte mittels FileLog und Erzeugung der entspr. SVG Plots ===
==== FileLog erstellen ====
Zunächst wird das FileLog mit ausgewählten Parametern erstellt. Dies ist die Voraussetzung für die SVG Plots.
<syntaxhighlight lang="Perl">
define FileLog_VitoConnect FileLog ./log/VitoConnect-%Y-%m.log vitoconnect:Aussentemperatur|vitoconnect:Brenner_Modulation|vitoconnect:Brenner_aktiv|vitoconnect:Gasverbrauch_Heizung/Jahr|vitoconnect:Gasverbrauch_aktuelle_Woche|vitoconnect:Gasverbrauch_aktueller_Monat|vitoconnect:Gasverbrauch_gestern|vitoconnect:Gasverbrauch_heute|vitoconnect:HK1-Betriebsart|vitoconnect:HK1-Frostschutz_Status|vitoconnect:HK1-Programmstatus|vitoconnect:HK1-Solltemperatur_aktiv|vitoconnect:HK1-Solltemperatur_normal|vitoconnect:HK1-Solltemperatur_reduziert|vitoconnect:HK1-Solltemperatur_reduziert_aktiv|vitoconnect:HK1-Vorlauftemperatur|vitoconnect:HK1-WW_aktiv|vitoconnect:HK1-WW_und_Heizen_aktiv|vitoconnect:HK1-Zirkulationspumpe|vitoconnect:Kessel_Common_Supply_Temperatur|vitoconnect:Kesseltemperatur_exact|vitoconnect:WW-Isttemperatur|vitoconnect:WW-Sensoren_Auslauf_Wert|vitoconnect:WW-Solltemperatur|vitoconnect:WW-Zirkulationspumpe_Status|vitoconnect:WW-zeitgesteuert_aktiv
attr FileLog_VitoConnect room Log
</syntaxhighlight>
==== SVG Graphen aus FileLog erstellen ====
Nachdem das FileLog erstellt wurde, kann aus dem Log nun der Plot von ausgewählten Werten erstellt werden.<br>
===== SVG Plot für Heizkreis1 =====
Im folgenden Beispiel werden hier verschiedene Graphen für Heizkreis1 (HK1) genommen.
Einige der Logwerte speichern "on"- oder "off"-Werte, diese müssten beispielsweise mit der Formel <syntaxhighlight lang="Perl">$fld[3]=~"on"?1.5:0</syntaxhighlight> erst in Werte (on=1.5, off=0) gewandelt werden.
<br>
<br>
SVG Plot mit Plot Editor:<br>
[[Datei:SVG FileLog VitoConnect 1 HK1 Temps.png|800px]]
<br>
<br>
…  mit dem entsprechenden <b>Code</b>:<br>
<syntaxhighlight lang="Perl">
defmod SVG_FileLog_VitoConnect_1 SVG FileLog_VitoConnect:SVG_FileLog_VitoConnect_1:CURRENT
attr SVG_FileLog_VitoConnect_1 room Heizung
setstate SVG_FileLog_VitoConnect_1 initialized
</syntaxhighlight>
<b>SVG_FileLog_VitoConnect_1.gplot</b>:
<syntaxhighlight lang="Perl">
# Created by FHEM/98_SVG.pm, 2019-11-04 20:35:38
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'HK1 Temps'
set ytics
set y2tics
set grid
set ylabel "°C"
set y2label "boolean"
set y2range [0:4]
#FileLog_VitoConnect 4:vitoconnect.Aussentemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Solltemperatur_normal\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Solltemperatur_reduziert\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Solltemperatur_aktiv\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Solltemperatur_reduziert_aktiv\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Vorlauftemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.Kesseltemperatur_exact\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Zirkulationspumpe\x3a::$fld[3]=~"on"?1.5:0
plot "<IN>" using 1:2 axes x1y1 title 'Außentemperatur' ls l7 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y1 title 'Soll normal' ls l0 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y1 title 'Soll reduziert' ls l1 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y2 title 'normal-prg' ls l0fill lw 2 with lines,\
    "<IN>" using 1:2 axes x1y2 title 'reduziert-prg' ls l1fill lw 2 with lines,\
    "<IN>" using 1:2 axes x1y1 title 'Vorlauf' ls l2 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y1 title 'Kesseltemp.' ls l5 lw 1 with lines
    "<IN>" using 1:2 axes x1y2 title 'Zirk.pumpe' ls l8fill lw 2 with lines,\
</syntaxhighlight>
===== SVG Plot für Warmwasser =====
Im folgenden Beispiel werden hier verschiedene Graphen für Warmwasser (WW) genommen.
Einige der Logwerte speichern "on"- oder "off"-Werte, diese müssten beispielsweise mit der Formel <syntaxhighlight lang="Perl">$fld[3]=~"on"?1.5:0</syntaxhighlight> erst in Werte (on=1.5, off=0) gewandelt werden.
<br>
<br>
SVG Plot mit Plot Editor:<br>
[[Datei:SVG FileLog VitoConnect 2 WW Temps.png|800px]]
<br>
<br>
…  mit dem entsprechenden <b>Code</b>:<br>
<syntaxhighlight lang="Perl">
defmod SVG_FileLog_VitoConnect_2 SVG FileLog_VitoConnect:SVG_FileLog_VitoConnect_2:CURRENT
attr SVG_FileLog_VitoConnect_2 room Heizung
setstate SVG_FileLog_VitoConnect_2 initialized
</syntaxhighlight>
<b>SVG_FileLog_VitoConnect_1.gplot</b>:
<syntaxhighlight lang="Perl">
# Created by FHEM/98_SVG.pm, 2019-11-04 21:08:37
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'WW Temps'
set ytics
set y2tics
set grid
set ylabel "°C"
set y2label "boolean"
set y2range [0:4]
#FileLog_VitoConnect 4:vitoconnect.Brenner_aktiv\x3a::
#FileLog_VitoConnect 4:vitoconnect.WW-Solltemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.WW-Isttemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.WW-Sensoren_Auslauf_Wert\x3a::
#FileLog_VitoConnect 4:vitoconnect.Kesseltemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.WW-Zirkulationspumpe_Status\x3a::$fld[3]=~"on"?1.5:0
plot "<IN>" using 1:2 axes x1y2 title 'Brenner' ls l0fill lw 2 with lines,\
    "<IN>" using 1:2 axes x1y1 title 'WW soll' ls l1 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y1 title 'WW ist' ls l2 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y1 title 'WW Auslaufwert' ls l3 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y1 title 'Kesseltemp.' ls l4 lw 1 with lines,\
    "<IN>" using 1:2 axes x1y2 title 'Zirk.pumpe' ls l8fill lw 2 with lines,\
</syntaxhighlight>


[[Datei:Beispiel für Grafiken aus vitoconnect Daten.jpg|400px]]


== Weblinks ==
== Weblinks ==
* {{Link2Forum|Topic=93664|LinkText="Thread zum Modul im Forum"}}
* {{Link2Forum|Topic=93664|LinkText="Thread zum Modul im Forum"}}


[[Kategorie:Gerätemodul]]   
[[Kategorie:Heizungssteuerung]]
[[Kategorie:Heizungssteuerung]]

Aktuelle Version vom 15. Dezember 2024, 16:29 Uhr

vitoconnect
Zweck / Funktion
Steuerung von Viessmann Heizungen
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Thema
Support (Forum) Heizungssteuerung/Raumklima
Modulname 98_vitoconnect.pm
Ersteller Marc (Forum /Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Vitoconnect ist die Schnittstelle zwischen Heizkessel und der App ViCare zum Bedienen von Viessmann Heizungsanlagen.

Mit dem FHEM Modul vitoconnect können die Daten, die über die Internetschnittstelle an den Herstellerserver gemeldet und von diesem über eine API zur Verfügung gestellt werden, in FHEM in Form von Readings angezeigt werden. Auch eine Steuerung der Heizung ist mit diesem Modul möglich.

Wen stört, dass die Daten in der Herstellercloud liegen, sei das Modul Vitotronic 200 (Viessmann Heizungssteuerung) empfohlen.

Die Idee zu dem Modul enstand aus dem Thread "Viessmann VitoConnect API". Es basiert auf dem PHP Modul von thetrueavatar.

X mark.svgAktuelle Entwicklung des Moduls

Das "offizielle" Modul im SVN ist derzeit "verwaist", der Maintainer (mcp) nicht mehr aktiv:

  • Ursprüngliches Forenthema (86073): geschlossen; enthält "inoffizielle" Modulupdates von verschiedenen Autoren in verschiedenen Beiträgen
  • Neues Forenthema (Vitoconnect - Verbesserte Version), Benutzer stefanru  ; dieses Forenthema wird der neue "Entwicklungsthread" zum Modul. Dort werden auch (im ersten Beitrag) die Modul-Downloads zu finden sein.
Info green.pngDisclaimer zur Ursprungsversion des Moduls

Das Modul wurde nach bestem Wissen und Gewissen programmiert. Da Änderungen an der Heizung nur über die Viessmann API erfolgen, sollte die Nutzung risikoarm sein. Allerdings kann ich keine Garantie übernehmen, dass es nicht doch zu irgendwelchen unerwünschten Nebeneffekten kommt. Nutzung auf eigene Gefahr!

Diskussionen über Fehler, Verbesserungen usw. finden im Forum im Thread "Neues Modul: vitoconnect" statt.


Einrichtung

Vorbereitung

Zur Nutzung des Moduls muss vorhanden sein:

  • Eine aktuelle FHEM Installation
  • Internet-Schnittstelle Vitoconnect 100 (Typ OPTO1)
  • Ein Viessmann ViCare Account, wie er im Rahmen der Nutzung der ViCare App erstellt wird.
  • Seit 15. Juli 2021 auch einen persönlichen API Key (=Client-ID), diesen gibts hier: https://developer.viessmann.com
  • Das Modul benötigt mindestens folgende Perl Libraries: Path::Tiny, JSON und DateTime. Diese können mit sudo apt install libtypes-path-tiny-perl libjson-perl libdatetime-perl oder via cpan. Sollten Libraries fehlen erhält man folgende Fehlermeldung "cannot load module vitoconnect". Dann bitte ins Logfile schauen, welche Lib fehlt.

Define des Devices

Dann kann das Gerät angelegt werden: define <name> vitoconnect <user> <password> <interval>

Z.B. : define vitoconnect vitoconnect user@mail.xx geheim 60

User und Passwort sind das gleiche wie in der ViCare App.

Da die Parameter, die beim Definieren des Devices angelegt werden im Klartext in der Detailansicht lesbar sind, kann man beim Definieren einfach ein falsches Passwort eingeben und das richtige später mit einem "set"-Kommando setzen. Also zum Beispiel:

define vitoconnect vitoconnect user@mail.xx fakePassword 60
set vitoconnect password correctPassword 60

Nachträgliches Ändern des Intervalls:
Man kann einfach das DEF aufrufen und dort die Parameter korrigieren (z.B. von 60 Sek. auf 180 Sek.) - dies gilt natürlich ebenso für nachträgliches Ändern des Usernamens oder Passwortes.

Betrieb

Der Zugriff auf die API von Viessmann ist aktuell auf 1450 pro Tag in der gratis Version beschränkt, daraus ergibt sich ein Maximum von ca. einer Abfrage pro Minute. Die Anzahl der Zugriffe ist im Entwicklerportal einsehbar: https://developer.viessmann.com/de/clients/history

Readings

Readings

Die Readings werden so ausgegeben, wie sie von der API geliefert werden! Alle Reading für HK1 sind auch für HK2 und HK3 verfügbar sofern die Heizung solche Readings liefert.

Name Datentyp/
Wertebereich
Bedeutung
Aktive_Heizkreise 0,1,2 Liste der aktiven Heizkreise. 0 entspricht HK1
Aussen_Status connected/notConnected Ist ein Außensensor angeschlossen?
Aussen_StatusWired connected/notConnected Ist ein Außensensor per Kabel angeschlossen? (wird seit 16.12.18 nicht mehr geliefert?)
Aussen_StatusWireless connected/notConnected Ist ein kabelloser Außensensor angeschlossen? (wird seit 16.12.18 nicht mehr geliefert?)
Aussentemperatur 2.4 Außentemperatur in °C
Brenner_Betriebsstunden 934.336944444444 Brenner Betriebsstunden
Brenner_Fehlercode 0 Brenner Fehlercode
Brenner_Modulation 11 Brenner Modulation in %
Brenner_Starts 2717 Brenner Starts
Brenner_Status ok Brenner Status
Brenner_aktiv 0,1 Brenneraktiv
Controller_Seriennummer 1234567890123456 Controller Seriennummer
Device_Time_Offset 61 ???
Fehlereinträge_Historie ErrorListChanges ??? (noch nicht implementiert)
Fehlereinträge_aktive ErrorListChanges ??? (noch nicht implementiert)
Gasverbrauch_Heizung/Jahr 3293,0,0 Liste der jährlichen Gasverbräuche Heizung in kWH (aktuelles Jahr und die letzten beiden) (bis zum 09.12.2018 lieferte die API Werte, die noch durch 8 geteilt werden mussten, um auf kWh zu kommen!

Außerdem liefert Viessmann für manche Heizungstypen (noch) keine getrennten Werte für Heizung und WW. D.h. in den Reading für WW und Heizung steht der gleiche Wert (vermutlich der Gesamtverbrauch)!

Gasverbrauch_Heizung/Monat 1078,1384,590,241,0,0,0,0,0,0,0,0,0 Liste der monatlichen Gasverbräuche Heizung in kWH
Gasverbrauch_Heizung/Tag 76,104,113,99,76,65,60,70 Liste der täglichen Gasverbräuche Heizung in kWH (aktueller und die letzten 7 Tage)
Gasverbrauch_Heizung/Woche 555,409,416,472,289,196,254,209,24,46,

183,192,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Liste der wöchentlichen Gasverbräuche Heizung in kWH
Gasverbrauch_WW/Jahr 235,705,0 Liste der jährlichen Gasverbräuche Warmwasser in kWH
Gasverbrauch_WW/Monat 27,208,213,193,215,84,0,0,0,0,0,0,0 Liste der monatlichen Gasverbräuche Warmwasser in kWH
Gasverbrauch_WW/Tag 2,6,0,0,0,2,9,0 Liste der täglichen Gasverbräuche Warmwasser in kWH
Gasverbrauch_WW/Woche 17,0,37,43,51,50,41,53,52,47,41,52,44,49,41,45,52,47,45,49,51,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Liste der wöchentlichen Gasverbräuche Warmwasser in kWH
HK1-Betriebsart standby, dwh, dhwAndHeating, forcedReduced, forcedNormal Aus, Nur Warmwasser aktiv , Heizung und Warmwasser aktiv, Dauernd Reduziert, Dauernd Tagbetrieb
HK1-External_Temperatur 0 Temperatur Raumsensor?
HK1-External_aktiv 0 Raumsensor aktiv?
HK1-Frostschutz_Status on, off Frostschutz Status
HK1-Heizkurve-Niveau 0 Heizkurve-Niveau
HK1-Heizkurve-Steigung 1.4 Heizkurve-Steigung
HK1-Programmstatus standby, reduced, normal, forcedReduced, forcedNormal Programmstatus
HK1-Raum_Status error Raumsensor?
HK1-Raum_Temperatur 20 Temperatur Raumsensor? Nur vorhanden, wenn HK1-Raum_Status "ok"
HK1-Reduzierte_Temperatur_erzwungen 0,1 xxx
HK1-Solltemperatur_aktiv 0,1 Solltemperatur aktiv
HK1-Solltemperatur_comfort 22 Comfort Solltemeratur
HK1-Solltemperatur_comfort_aktiv 0,1 Comfort aktiv
HK1-Solltemperatur_eco 24 Eco Solltemperatur
HK1-Solltemperatur_eco_aktiv 0,1 Eco aktiv
HK1-Solltemperatur_erzwungen 0,1 Solltemperatur erzwungen
HK1-Solltemperatur_normal 24 Solltemperatur normal
HK1-Solltemperatur_reduziert 16 Solltemperatur reduziert
HK1-Solltemperatur_reduziert_aktiv 0,1 Reduziert aktiv
HK1-Standby_aktiv 0,1 Standby aktiv
HK1-Urlaub_Ende 2019-02-16T00:00:00.000Z Urlaubsabsenkung Ende
HK1-Urlaub_Start 2019-02-02T23:59:59.000Z Urlaubsabsenkung Start
HK1-Urlaub_aktiv 0,1 Urlaubsabsenkung aktiv
HK1-Vorlauftemperatur 81 Vorlauftemperatir
HK1-Vorlauftemperatur_aktiv connected Vorlauftemperatursensor verbunden
HK1-WW_aktiv 0,1 Modus WW (dhw) aktiv
HK1-WW_und_Heizen_aktiv 0,1 Modus WW und Heizen (dhwAndHeating) aktiv
HK1-Zeitsteuerung_Heizung

wed start:05:00 mode:normal end:08:00 position:0, mode:normal end:23:00 position:1 start:16:00, sat position:0 end:23:00 mode:normal start:06:00, thu position:0 mode:normal end:08:00 start:05:00, start:16:00 end:23:00 mode:normal position:1, sun start:06:00 position:0 end:23:00 mode:normal, mon start:05:00 position:0 end:08:00 mode:normal, start:16:00 position:1 mode:normal end:23:00, fri start:05:00 position:0 end:08:00 mode:normal, position:1 mode:normal end:23:00 start:16:00, tue position:0 mode:normal end:08:00 start:05:00, mode:normal end:23:00 position:1 start:16:00,

Zeitplan für Heizung
HK1-Zeitsteuerung_Heizung_aktiv 0,1 Zeitplan Heizung aktiv
HK1-Zeitsteuerung_Zirkulation 0,1 Zeitplan für Zirkulationspumpe. Ist irgendwann nach WW gewandert?
HK1-Zeitsteuerung_Zirkulation_aktiv 0,1 Zirkulationspumpe zeitgesteuert
HK1-Zirkulationspumpe on,off Zirkulationspumpe aktiv (neu seit 16.12.18?)
HK1-aktiv 1 HK1 aktiv
Kessel_Common_Supply error ??? (neu seit 16.12.18?)
Kessel_Status connected xxx
Kesseltemperatur 53 xxx
Kesseltemperatur_exact 53 ??? (neu seit 16.12.18?)
Mehrfamilienhaus_aktiv 0,1 xxx
Service_Betriebsstunden_seit_letzten 0 (wird seit 16.12.18 nicht mehr geliefert?)
Service_Intervall_Betriebsstunden 0 (wird seit 16.12.18 nicht mehr geliefert?)
Service_Intervall_Monate 0 ???
Service_Letzter 1970-01-01T00:00:00.000Z ???
Service_Letzter_brennerbasiert 1970-01-01T00:00:00.000Z (wird seit 16.12.18 nicht mehr geliefert?)
Service_Monate_aktiv_seit_letzten_Service 0 ???
Service_fällig 0,1 Service fällig?
Service_fällig_brennerbasiert (wird seit 16.12.18 nicht mehr geliefert?)
Stromverbrauch/Jahr 35573,66052,0 Stromverbrauch im Jahr in Wh(?) (analog Gasverbrauch) (neu seit 15.02.19?)
Stromverbrauch/Monat 11860,23713,22851,19264,17924,6013,0,0,0,0,0,0,0 Stromverbrauch im Monat(analog Gasverbrauch) (neu seit 15.02.19?)
Stromverbrauch/Tag 409,828,720,733,731,727,708,682 Stromverbrauch im Tag (analog Gasverbrauch) (neu seit 15.02.19?)
Stromverbrauch/Woche 4418,5058,5514,5802,5249,5109,5156,5702,5179,5547,4286,4710,5087,4236,

4075,4633,4307,3675,3721,4148,4594,1419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Stromverbrauch im Woche (analog Gasverbrauch) (neu seit 15.02.19?)
WW-Aufladung 0,1 WW Vorrat wird erhitzt (neu seit 16.12.18?)
WW-Haupttemperatur 54 ?? (neu seit 16.12.18?)
WW-Isttemperatur 56 WW Ist-Temperatur
WW-Sensoren_Auslauf_Status error ??? (neu seit 16.12.18?)
WW-Solltemperatur 53 WW Solltemperatur
WW-Temperatur_aktiv connected WW aktiv
WW-Zeitplan

fri position:0 mode:on end:22:30 start:06:30, mon start:06:30 mode:on end:22:30 position:0, sat start:06:30 position:0 mode:on end:22:30, wed end:22:30 mode:on position:0 start:06:30, thu start:06:30 position:0 mode:on end:22:30, tue position:0 mode:on end:22:30 start:06:30, sun mode:on end:22:30 position:0 start:06:30,

WW Zeitplan
WW-Zirkulationspumpe_Zeitsteuerung_aktiv 0,1 Zeitsteuerung Zirkulationspumpe aktiv(neu seit 16.12.18?)
WW-Zirkulationspumpe_Status on Status Zirkulationspumpe(neu seit 16.12.18?)
WW-Zirkulationspumpe_Zeitplan

wed start:04:30 mode:on end:22:30 position:0, mon start:04:30 position:0 end:22:30 mode:on, sun start:04:30 position:0 mode:on end:22:30, sat start:04:30 position:0 end:22:30 mode:on, thu start:04:30 end:22:30 mode:on position:0, tue start:04:30 mode:on end:22:30 position:0, fri position:0 end:22:30 mode:on start:04:30,

Zeitplan für die Zirkulationspumpe (neu seit 16.12.18?)
WW-Zirkulationspumpe_primaer off (neu seit 16.12.18?)
WW-aktiv 0,1 WW aktiv
WW-onTimeCharge_aktiv 0,1 einmaliges WW Aufladen aktiv
WW-zeitgesteuert_aktiv 0,1 WW zeitgesteuert
state ok, Login failure Status

Settings

Set Befehle

Benutzung der Set-Befehle auf eigenes Risiko!

Das Modul prüft nicht, ob ein Befehl oder die Parameter für die Heizung sinnvoll und möglich sind. Die API scheint dies mit einem Fehler quittieren.

Befehle für HK1 sind auch für HK2 und HK3 verfügbar.

Name Datentyp/
Wertebereich
Beschreibung
update löst ein Update der Reading zwischen manuell aus
clearReadings clear all readings immeadiatlely
password <passwd> String store password in key store
logResponseOnce dumps the json response of Viessmann server to entities.json, gw.json, actions.json in FHEM log directory
HK1-Heizkurve-Niveau <shift> -13 bis 40 set shift of heating curve
HK1-Heizkurve-Steigung <slope> 0.2 bis 3.5 set slope of heating curve
HK1-Betriebsart <mode> standby,dhw,dhwAndHeating,forcedReduced or forcedNormal set HK1-Betriebsart
HK1-Solltemperatur_comfort_aktiv <activate,deactivate> activate/deactivate comfort temperature
HK1-Solltemperatur_comfort <targetTemperature> set comfort target temperatur
HK1-Solltemperatur_eco_aktiv activate,deactivate activate/deactivate eco temperature
HK1-Urlaub_Start <start> 2019-02-02 (früher war das Format mal 2019-02-02T23:59:59.000Z) set holiday start time
HK1-Urlaub_Ende <end> 2019-02-16 (früher war das Format mal 2019-02-16T00:00:00.000Z) set holiday end time (geht nur, wenn schon eine Startzeit gesetzt ist)
HK1-Urlaub_unschedule remove holiday start and end time
HK1-Solltemperatur_normal <targetTemperature> 3 and 37 sets the normale target temperature
HK1-Solltemperatur_reduziert <targetTemperature> 3 and 37 sets the reduced target temperature
WW-einmaliges_Aufladen activate,deactivate activate or deactivate one time charge for hot water
WW-Zirkulationspumpe_Zeitplan <schedule> not implemented
WW-Zeitplan <schedule> not implemented
WW-Haupttemperatur <targetTemperature> 10 and 60 sets hot water main temperature to targetTemperature
WW-Solltemperatur <targetTemperature> 10 and 60 sets hot water temperature to targetTemperature

Get

Derzeit gibt es keine "get"-Kommandos.

Name Beschreibung

Attribute

Attribute

Name Datentyp/
Wertebereich
Default-Wert Beschreibung
disable 0,1 disable updates
verbose 0,1,2,3,4,5 Loglevel
vitoconnect_raw_readings 0,1 lege Reading mit dem JSON Namen wie 'heating.circuits.0.heating.curve.slope' statt der Deutschen Bezeichnungen an
vitoconnect_actions_active 0,1 erzeuge Readings for Befehle wie 'heating.circuits.0.heating.curve.setCurve'

Hilfsmittel

Attribut zum Speichern der wichtigsten Werte mittels DbLog

attr vitoconnect DbLogInclude Gasverbrauch_gestern,Gasverbrauch_Heizung/Jahr,Gasverbrauch_aktuelle_Woche,Gasverbrauch_aktueller_Monat,Gasverbrauch_heute,WW-aktiv,
HK1-Frostschutz_Status,HK1-WW_und_Heizen_aktiv,HK1-WW_aktiv,HK1-Betriebsart,HK1-Programmstatus,Aussentemperatur,HK1-Solltemperatur_normal,Brenner_aktiv,
HK1-Vorlauftemperatur,Kesseltemperatur,WW-Isttemperatur,WW-Solltemperatur

Userreadings um Reading für Einzelwerte von Gasverbräuche zu erzeugen

attr vitoconnect userReadings
Gasverbrauch_heute:Gasverbrauch_Heizung/Tag.* { (split /,/, ReadingsVal("vitoconnect", "Gasverbrauch_Heizung/Tag",0))[0] },
Gasverbrauch_gestern:Gasverbrauch_Heizung/Tag.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Tag",0))[1] },
Gasverbrauch_aktuelle_Woche:Gasverbrauch_Heizung/Woche.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Woche",0))[0] },
Gasverbrauch_letzte_Woche:Gasverbrauch_Heizung/Woche.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Woche",0))[1] },
Gasverbrauch_aktueller_Monat:Gasverbrauch_Heizung/Monat.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Monat",0))[0] },
Gasverbrauch_letzter_Monat:Gasverbrauch_Heizung/Monat.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Monat",0))[1] },
Gasverbrauch_aktuelles_Jahr:Gasverbrauch_Heizung/Jahr.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Jahr",0))[0] },
Gasverbrauch_letztes_Jahr:Gasverbrauch_Heizung/Jahr.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_Heizung/Jahr",0))[1] },

Gasverbrauch_WW_heute:Gasverbrauch_WW/Tag.* { (split /,/, ReadingsVal("vitoconnect", "Gasverbrauch_WW/Tag",0))[0] },
Gasverbrauch_WW_gestern:Gasverbrauch_WW/Tag.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Tag",0))[1] },
Gasverbrauch_WW_aktuelle_Woche:Gasverbrauch_WW/Woche.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Woche",0))[0] },
Gasverbrauch_WW_letzte_Woche:Gasverbrauch_WW/Woche.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Woche",0))[1] },
Gasverbrauch_WW_aktueller_Monat:Gasverbrauch_WW/Monat.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Monat",0))[0] },
Gasverbrauch_WW_letzter_Monat:Gasverbrauch_WW/Monat.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Monat",0))[1] },
Gasverbrauch_WW_aktuelles_Jahr:Gasverbrauch_WW/Jahr.* { (split /,/, ReadingsVal("vitoconnect","Gasverbrauch_WW/Jahr",0))[0] },
Gasverbrauch_WW_letztes_Jahr:Gasverbrauch_WW/Jahr.* { (split /,/, ReadingsVal("vitoconnect", "Gasverbrauch_WW/Jahr",0))[1] },

Stromverbrauch_heute:Stromverbrauch/Tag.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Tag",0))[0] },
Stromverbrauch_gestern:Stromverbrauch/Tag.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Tag",0))[1] },
Stromverbrauch_aktuelle_Woche:Stromverbrauch/Woche.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Woche",0))[0] },
Stromverbrauch_letzte_Woche:Stromverbrauch/Woche.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Woche",0))[1] },
Stromverbrauch_aktueller_Monat:Stromverbrauch/Monat.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Monat",0))[0] },
Stromverbrauch_letzter_Monat:Stromverbrauch/Monat.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Monat",0))[1] },
Stromverbrauch_aktuelles_Jahr:Stromverbrauch/Jahr.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Jahr",0))[0] },
Stromverbrauch_letztes_Jahr:Stromverbrauch/Jahr.* { (split /,/, ReadingsVal("vitoconnect", "Stromverbrauch/Jahr",0))[1] }

ReadingsGroup für eine kompakte Darstellung

defmod vitoconnect_rg readingsGroup
vitoconnect:Aussentemperatur
<Brenner>
vitoconnect:Brenner_Betriebsstunden
vitoconnect:Brenner_Fehlercode
vitoconnect:Brenner_Modulation
vitoconnect:Brenner_Starts
vitoconnect:Brenner_Status
vitoconnect:Brenner_aktiv
<HK1>
vitoconnect:HK1-aktiv
vitoconnect:HK1-Betriebsart

vitoconnect:HK1-Frostschutz_Status

vitoconnect:HK1-Heizkurve-Niveau
vitoconnect:HK1-Heizkurve-Steigung

vitoconnect:HK1-Programmstatus
vitoconnect:HK1-Raum_Status
vitoconnect:HK1-Reduzierte_Temperatur_erzwungen
vitoconnect:HK1-Solltemperatur_aktiv
vitoconnect:HK1-Solltemperatur_erzwungen
vitoconnect:HK1-Solltemperatur_normal
vitoconnect:HK1-Solltemperatur_reduziert
vitoconnect:HK1-Solltemperatur_reduziert_aktiv
vitoconnect:HK1-Standby_aktiv

vitoconnect:HK1-Urlaub_Ende
vitoconnect:HK1-Urlaub_Start
vitoconnect:HK1-Urlaub_aktiv

vitoconnect:HK1-Vorlauftemperatur

vitoconnect:HK1-WW_aktiv
vitoconnect:HK1-WW_und_Heizen_aktiv

vitoconnect:HK1-Zeitsteuerung_Heizung_aktiv
vitoconnect:HK1-Zeitsteuerung_Zirkulation_aktiv

vitoconnect:HK1-Zirkulationspumpe
<Kessel>
vitoconnect:Kesseltemperatur
vitoconnect:Kesseltemperatur_exact
<WW>
vitoconnect:WW-Aufladung
vitoconnect:WW-Haupttemperatur
vitoconnect:WW-Isttemperatur
vitoconnect:WW-Solltemperatur
vitoconnect:WW-Zirklationspumpe_Zeitsteuerung_aktiv
vitoconnect:WW-Zirkulationspumpe_Status
vitoconnect:WW-Zirkulationspumpe_primaer
vitoconnect:WW-aktiv
vitoconnect:WW-onTimeCharge_aktiv
vitoconnect:WW-zeitgesteuert_aktiv
attr vitoconnect_rg alias Heizung
attr vitoconnect_rg cellStyle { 
"c:0"=>'style="text-align:left"', 
"c:1"=>'style="text-align:left"', 
"r:2"=>'style="text-align:right;;;;font-weight:bold"'
}
attr vitoconnect_rg mapping {
"Aussentemperatur" => "Aussentemperatur",

"Brenner_Betriebsstunden" => "Betriebsstunden",
"Brenner_Fehlercode" => "Fehlercode",
"Brenner_Modulation" => "Modulation",
"Brenner_Starts" => "Starts",
"Brenner_Status" => "Status",
"Brenner_aktiv" => "aktiv",

"HK1-aktiv" => "aktiv",
"HK1-Betriebsart" => "Betriebsart",
"HK1-Frostschutz_Status" => "Frostschutz_Status",
"HK1-Heizkurve-Niveau" => "Heizkurve-Niveau",
"HK1-Heizkurve-Steigung" => "Heizkurve-Steigung",
"HK1-Programmstatus" => "Programmstatus",
"HK1-Raum_Status" => "Raum Status",
"HK1-Reduzierte_Temperatur_erzwungen" => "Reduzierte Temperatur erzwungen",
"HK1-Solltemperatur_aktiv" => "Solltemperatur aktiv",
"HK1-Solltemperatur_erzwungen" => "Solltemperatur erzwungen",
"HK1-Solltemperatur_normal" => "Solltemperatur normal",
"HK1-Solltemperatur_reduziert" => "Solltemperatur reduziert",
"HK1-Solltemperatur_reduziert_aktiv" => "Solltemperatur reduziert_aktiv",
"HK1-Standby_aktiv" => "Standby aktiv",
"HK1-Urlaub_Ende" => "Urlaub Ende",
"HK1-Urlaub_Start" => "Urlaub Start",
"HK1-Urlaub_aktiv" => "Urlaub aktiv",
"HK1-Vorlauftemperatur" => "Vorlauftemperatur",
"HK1-WW_aktiv" => "WW aktiv",
"HK1-WW_und_Heizen_aktiv" => "WW und Heizen aktiv",
"HK1-Zeitsteuerung_Heizung_aktiv" => "Zeitsteuerung Heizung aktiv",
"HK1-Zirkulationspumpe" => "Zirkulationspumpe",

"Kesseltemperatur" => "Kesseltemperatur",
"Kesseltemperatur_exact" => "Kesseltemperatur exact",

"WW-Aufladung" => "Aufladung",
"WW-Haupttemperatur" => "Haupttemperatur",
"WW-Isttemperatur" => "Isttemperatur",
"WW-Solltemperatur" => "Solltemperatur",
"WW-Zirklationspumpe_Zeitsteuerung_aktiv" => "Zirkulationspumpe Zeitsteuerung aktiv",
"WW-Zirkulationspumpe_Status" => "Zirkulationspumpe Status",
"WW-Zirkulationspumpe_primaer" => "Zirkulationspumpe primaer",
"WW-aktiv" => "aktiv",
"WW-onTimeCharge_aktiv" => "onTimeCharge aktiv",
"WW-zeitgesteuert_aktiv" => "zeitgesteuert aktiv"
}

attr vitoconnect_rg nostate 1
attr vitoconnect_rg notime 1
attr vitoconnect_rg room Heizung
attr vitoconnect_rg sortby 1
attr vitoconnect_rg valueFormat { "Brenner_Betriebsstunden" => "%2d" }
attr vitoconnect_rg valueIcon {'Brenner_aktiv.0' => '1px-spacer', 
'Brenner_aktiv.1' => 'icoHEIZUNG',
'HK1-Solltemperatur_reduziert_aktiv.0' => '10px-kreis-rot',
'HK1-Solltemperatur_reduziert_aktiv.1' => '10px-kreis-gruen'
}

attr vitoconnect_rg valueSuffix {
Aussentemperatur => "°C", 

Brenner_Betriebsstunden => "h",
Brenner_Modulation => "%",

'HK1-Solltemperatur_normal' => "°C",
'HK1-Solltemperatur_reduziert' => "°C",
'HK1-Vorlauftemperatur' => " °C",

Kesseltemperatur => "°C",
Kesseltemperatur_exact => "°C",

'WW-Solltemperatur' => " °C",
'WW-Isttemperatur' => " °C",

'WW-Solltemperatur' => "°C"
}


ReadingsGroup für Vitoconnect Modul 3.jpg

ReadingsGroup für eine kompakte Darstellung der Verbräuche

defmod Heizung_Verbrauch readingsGroup <>,<Periode>,<Heizung>,<Wasser>,<Strom>
vitoconnect:,<heute>,Gasverbrauch_heute,Gasverbrauch_WW_heute,Stromverbrauch_heute
vitoconnect:,<gestern>,Gasverbrauch_gestern,Gasverbrauch_WW_gestern,Stromverbrauch_gestern
vitoconnect:,<Woche>,Gasverbrauch_aktuelle_Woche,Gasverbrauch_WW_aktuelle_Woche,Stromverbrauch_aktuelle_Woche
vitoconnect:,<letzte>,Gasverbrauch_letzte_Woche,Gasverbrauch_WW_letzte_Woche,Stromverbrauch_letzte_Woche
vitoconnect:,<Monat>,Gasverbrauch_aktueller_Monat,Gasverbrauch_WW_aktueller_Monat,Stromverbrauch_aktueller_Monat
vitoconnect:,<letzter>,Gasverbrauch_letzter_Monat,Gasverbrauch_WW_letzter_Monat,Stromverbrauch_letzter_Monat
vitoconnect:,<Jahr>,Gasverbrauch_aktuelles_Jahr,Gasverbrauch_WW_aktuelles_Jahr,Stromverbrauch_aktuelles_Jahr
vitoconnect:,<letztes>,Gasverbrauch_letztes_Jahr,Gasverbrauch_WW_letztes_Jahr,Stromverbrauch_letztes_Jahr

attr Heizung_Verbrauch cellStyle { 
"r:1"=>'style="text-align:left;;;;font-weight:bold"',
"c:1"=>'style="text-align:right;;;;font-weight:bold"'
}
attr Heizung_Verbrauch mapping &nbsp;;
attr Heizung_Verbrauch nostate 1
attr Heizung_Verbrauch room Heizung
attr Heizung_Verbrauch style style="text-align:right;;;;font-size:18px"
attr Heizung_Verbrauch valueFormat {
Gasverbrauch_heute				=> "%.0f kWh",
Gasverbrauch_WW_heute			=> "%.0f kWh",
Stromverbrauch_heute			=> "%.0f kWh",
Gasverbrauch_gestern			=> "%.0f kWh",
Gasverbrauch_WW_gestern			=> "%.0f kWh",
Stromverbrauch_gestern			=> "%.0f kWh",
Gasverbrauch_aktuelle_Woche		=> "%.0f kWh",
Gasverbrauch_WW_aktuelle_Woche	=> "%.0f kWh",
Stromverbrauch_aktuelle_Woche	=> "%.0f kWh",
Gasverbrauch_letzte_Woche		=> "%.0f kWh",
Gasverbrauch_WW_letzte_Woche	=> "%.0f kWh",
Stromverbrauch_letzte_Woche		=> "%.0f kWh",
Gasverbrauch_aktueller_Monat	=> "%.0f kWh",
Gasverbrauch_WW_aktueller_Monat	=> "%.0f kWh",
Stromverbrauch_aktueller_Monat	=> "%.0f kWh",
Gasverbrauch_letzter_Monat		=> "%.0f kWh",
Gasverbrauch_WW_letzter_Monat	=> "%.0f kWh",
Stromverbrauch_letzter_Monat	=> "%.0f kWh",
Gasverbrauch_aktuelles_Jahr		=> "%.0f kWh",
Gasverbrauch_WW_aktuelles_Jahr	=> "%.0f kWh",
Stromverbrauch_aktuelles_Jahr	=> "%.0f kWh",
Gasverbrauch_letztes_Jahr		=> "%.0f kWh",
Gasverbrauch_WW_letztes_Jahr	=> "%.0f kWh",
Stromverbrauch_letztes_Jahr		=> "%.0f kWh"
}

Readuingsgroup Verbräuche aus Vitoconnect 2.jpg


SVG Graphen

Gas- und Stromverbrauch

SVG Gasverbrauch für vitoconnect Modul.jpg

Verbräuche aus Vitoconnect.jpg


weitere Graphen

Beispiel für Grafiken aus vitoconnect Daten.jpg

Speichern der wichtigsten Werte mittels FileLog und Erzeugung der entspr. SVG Plots

FileLog erstellen

Zunächst wird das FileLog mit ausgewählten Parametern erstellt. Dies ist die Voraussetzung für die SVG Plots.

define FileLog_VitoConnect FileLog ./log/VitoConnect-%Y-%m.log vitoconnect:Aussentemperatur|vitoconnect:Brenner_Modulation|vitoconnect:Brenner_aktiv|vitoconnect:Gasverbrauch_Heizung/Jahr|vitoconnect:Gasverbrauch_aktuelle_Woche|vitoconnect:Gasverbrauch_aktueller_Monat|vitoconnect:Gasverbrauch_gestern|vitoconnect:Gasverbrauch_heute|vitoconnect:HK1-Betriebsart|vitoconnect:HK1-Frostschutz_Status|vitoconnect:HK1-Programmstatus|vitoconnect:HK1-Solltemperatur_aktiv|vitoconnect:HK1-Solltemperatur_normal|vitoconnect:HK1-Solltemperatur_reduziert|vitoconnect:HK1-Solltemperatur_reduziert_aktiv|vitoconnect:HK1-Vorlauftemperatur|vitoconnect:HK1-WW_aktiv|vitoconnect:HK1-WW_und_Heizen_aktiv|vitoconnect:HK1-Zirkulationspumpe|vitoconnect:Kessel_Common_Supply_Temperatur|vitoconnect:Kesseltemperatur_exact|vitoconnect:WW-Isttemperatur|vitoconnect:WW-Sensoren_Auslauf_Wert|vitoconnect:WW-Solltemperatur|vitoconnect:WW-Zirkulationspumpe_Status|vitoconnect:WW-zeitgesteuert_aktiv
attr FileLog_VitoConnect room Log

SVG Graphen aus FileLog erstellen

Nachdem das FileLog erstellt wurde, kann aus dem Log nun der Plot von ausgewählten Werten erstellt werden.

SVG Plot für Heizkreis1

Im folgenden Beispiel werden hier verschiedene Graphen für Heizkreis1 (HK1) genommen.

Einige der Logwerte speichern "on"- oder "off"-Werte, diese müssten beispielsweise mit der Formel

$fld[3]=~"on"?1.5:0

erst in Werte (on=1.5, off=0) gewandelt werden.



SVG Plot mit Plot Editor:
SVG FileLog VitoConnect 1 HK1 Temps.png

… mit dem entsprechenden Code:

defmod SVG_FileLog_VitoConnect_1 SVG FileLog_VitoConnect:SVG_FileLog_VitoConnect_1:CURRENT
attr SVG_FileLog_VitoConnect_1 room Heizung

setstate SVG_FileLog_VitoConnect_1 initialized

SVG_FileLog_VitoConnect_1.gplot:

# Created by FHEM/98_SVG.pm, 2019-11-04 20:35:38
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'HK1 Temps'
set ytics 
set y2tics 
set grid
set ylabel "°C"
set y2label "boolean"
set y2range [0:4]

#FileLog_VitoConnect 4:vitoconnect.Aussentemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Solltemperatur_normal\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Solltemperatur_reduziert\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Solltemperatur_aktiv\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Solltemperatur_reduziert_aktiv\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Vorlauftemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.Kesseltemperatur_exact\x3a::
#FileLog_VitoConnect 4:vitoconnect.HK1-Zirkulationspumpe\x3a::$fld[3]=~"on"?1.5:0

plot "<IN>" using 1:2 axes x1y1 title 'Außentemperatur' ls l7 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Soll normal' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Soll reduziert' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'normal-prg' ls l0fill lw 2 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'reduziert-prg' ls l1fill lw 2 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Vorlauf' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Kesseltemp.' ls l5 lw 1 with lines
     "<IN>" using 1:2 axes x1y2 title 'Zirk.pumpe' ls l8fill lw 2 with lines,\
SVG Plot für Warmwasser

Im folgenden Beispiel werden hier verschiedene Graphen für Warmwasser (WW) genommen.

Einige der Logwerte speichern "on"- oder "off"-Werte, diese müssten beispielsweise mit der Formel

$fld[3]=~"on"?1.5:0

erst in Werte (on=1.5, off=0) gewandelt werden.



SVG Plot mit Plot Editor:
SVG FileLog VitoConnect 2 WW Temps.png

… mit dem entsprechenden Code:

defmod SVG_FileLog_VitoConnect_2 SVG FileLog_VitoConnect:SVG_FileLog_VitoConnect_2:CURRENT
attr SVG_FileLog_VitoConnect_2 room Heizung

setstate SVG_FileLog_VitoConnect_2 initialized

SVG_FileLog_VitoConnect_1.gplot:

# Created by FHEM/98_SVG.pm, 2019-11-04 21:08:37
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'WW Temps'
set ytics 
set y2tics 
set grid
set ylabel "°C"
set y2label "boolean"
set y2range [0:4]

#FileLog_VitoConnect 4:vitoconnect.Brenner_aktiv\x3a::
#FileLog_VitoConnect 4:vitoconnect.WW-Solltemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.WW-Isttemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.WW-Sensoren_Auslauf_Wert\x3a::
#FileLog_VitoConnect 4:vitoconnect.Kesseltemperatur\x3a::
#FileLog_VitoConnect 4:vitoconnect.WW-Zirkulationspumpe_Status\x3a::$fld[3]=~"on"?1.5:0

plot "<IN>" using 1:2 axes x1y2 title 'Brenner' ls l0fill lw 2 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'WW soll' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'WW ist' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'WW Auslaufwert' ls l3 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Kesseltemp.' ls l4 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Zirk.pumpe' ls l8fill lw 2 with lines,\


Weblinks