Vitoconnect

Aus FHEMWiki


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


Vitoconnect
Zweck / Funktion
Steuerung von Viessmann Heizungen
Allgemein
Typ Inoffiziell
Details
Dokumentation siehe Forum
Support (Forum) Heizungssteuerung/Raumklima
Modulname 98_vitoconnect.pm
Ersteller andreas13
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 Heizungsanlage.

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.

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.

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


Info blue.png
Das Modul befindet sich derzeit noch in der Entwicklung.

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!

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.
  • 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

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 Beipiel:

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

Readings

Readings

Die Readings werden so ausgegeben, wie sie von der API geliefert werden!

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_Beriebsstunden 934.336944444444
Brenner_Fehlercode 0 Brenner Fehlercode
Brenner_Modulation 11
Brenner_Starts 2717
Brenner_Status ok Brenner Status
Brenner_aktiv 0,1 Brenneraktiv
Controller_Seriennummer 1234567890123456 Controller Seriennummer
Device_Time_Offset 61 ???
Fehlereinträge_Historie ErrorListChanges ???
Fehlereinträge_aktive ErrorListChanges ???
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 waren die Werte für Heizung und WW bis Mitte Dezember noch nicht seperat!)
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 Liste der jährlichen Gasverbräuche Warmwasser in kWH
Gasverbrauch_WW/Monat Liste der monatlichen Gasverbräuche Warmwasser in kWH
Gasverbrauch_WW/Tag Liste der täglichen Gasverbräuche Warmwasser in kWH
Gasverbrauch_WW/Woche 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-Reduzierte_Temperatur_erzwungen 0,1 xxx
HK1-Solltemperatur_aktiv 0,1 xxx
HK1-Solltemperatur_comfort xxx
HK1-Solltemperatur_comfort_aktiv 0,1 xxx
HK1-Solltemperatur_eco xxx
HK1-Solltemperatur_eco_aktiv 0,1 xxx
HK1-Solltemperatur_erzwungen 0,1 xxx
HK1-Solltemperatur_normal xxx
HK1-Solltemperatur_reduziert xxx
HK1-Solltemperatur_reduziert_aktiv 0,1 xxx
HK1-Standby_aktiv 0,1 xxx
HK1-Urlaub_Ende Urlaubsabsenkung Ende
HK1-Urlaub_Start Urlaubsabsenkung Start
HK1-Urlaub_aktiv 0,1 Urlaubsabsenkung aktiv
HK1-Vorlauftemperatur 81 xxx
HK1-Vorlauftemperatur_aktiv connected xxx
HK1-WW_aktiv 0,1 xxx
HK1-WW_und_Heizen_aktiv 0,1 xxx
HK1-Zeitsteuerung_Heizung xxx
HK1-Zeitsteuerung_Heizung_aktiv 0,1 xxx
HK1-Zeitsteuerung_Zirkulation 0,1 xxx
HK1-Zeitsteuerung_Zirkulation_aktiv 0,1 xxx
HK1-Zirkulationspumpe on,off xxx (neu seit 16.12.18?)
HK1-aktiv xxx
Kessel_Common_Supply error ??? (neu seit 16.12.18?)
Kessel_Status xxx
Kesseltemperatur xxx
Kesseltemperatur_exact ??? (neu seit 16.12.18?)
Mehrfamilienhaus_aktiv 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 xxx
Service_fällig xxx
Service_fällig_brennerbasiert (wird seit 16.12.18 nicht mehr geliefert?)
WW-Aufladung ??? (neu seit 16.12.18?)
WW-Haupttemperatur ??? (neu seit 16.12.18?)
WW-Isttemperatur 56 xxx
WW-Sensoren_Auslauf_Status error ??? (neu seit 16.12.18?)
WW-Solltemperatur 53 xxx
WW-Temperatur_aktiv connected xxx
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, ||xxx
WW-Zirkulationspumpe_Zeitsteuerung_aktiv ??? (neu seit 16.12.18?)
WW-Zirkulationspumpe_Status ??? (neu seit 16.12.18?)
WW-Zirkulationspumpe_Zeitplan ??? (neu seit 16.12.18?)
WW-Zirkulationspumpe_primaer ??? (neu seit 16.12.18?)
WW-aktiv 0,1 xxx
WW-onTimeCharge_aktiv 0,1 xxx
WW-zeitgesteuert_aktiv 0,1 xxx
counter 6057 Anzahl API Aufrufe
state ok, Login failure Status

Settings

Set Befehle

Name Datentyp/
Wertebereich
Beschreibung
update löst ein Update der Reading zwischen manuell aus

Get

Name Beschreibung

Attribute

Attribute

Name Datentyp/
Wertebereich
Default-Wert Beschreibung
verbose 0,1,2,3,4,5 Loglevel

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_aktueller_Monat:Gasverbrauch_Heizung/Monat.* { (split /,/, ReadingsVal("vitoconnect",\
"Gasverbrauch_Heizung/Monat",0))[0] },\
Gasverbrauch_aktuelles_Jahr:Gasverbrauch_Heizung/Jahr.* { (split /,/, ReadingsVal("vitoconnect",\
"Gasverbrauch_Heizung/Jahr",0))[0] },\
\
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_aktueller_Monat:Gasverbrauch_WW/Monat.* { (split /,/, ReadingsVal("vitoconnect",\
"Gasverbrauch_WW/Monat",0))[0] },\
Gasverbrauch_WW_aktuelles_Jahr:Gasverbrauch_WW/Jahr.* { (split /,/, ReadingsVal("vitoconnect",\
"Gasverbrauch_WW/Jahr",0))[0] }

ReadingsGroup für eine kompakte Darstellung

defmod vitoconnect_rg readingsGroup vitoconnect:Aussentemperatur\
vitoconnect:Brenner_aktiv\
vitoconnect:Gasverbrauch_heute\
vitoconnect:Gasverbrauch_gestern\
vitoconnect:Gasverbrauch_aktuelle_Woche\
vitoconnect:Gasverbrauch_aktueller_Monat\
vitoconnect:Gasverbrauch_aktuelles_Jahr\
vitoconnect:HK1-Solltemperatur_reduziert_aktiv\
vitoconnect:Kesseltemperatur\
vitoconnect:WW-Isttemperatur\
vitoconnect:WW-Solltemperatur

attr vitoconnect_rg alias Heizung

attr vitoconnect_rg mapping $READING

attr vitoconnect_rg nostate 1

attr vitoconnect_rg notime 1

attr vitoconnect_rg sortby 1


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 valueStyle style="text-align:right"

attr vitoconnect_rg valueSuffix {\
Aussentemperatur => "°C", \
Kesseltemperatur => " °C",\
'HK1-Vorlauftemperatur' => " °C", HK1_Solltemperatur_normal => " °C",\
'WW-Solltemperatur' => " °C",\
'WW-Isttemperatur' => " °C",\
Gasverbrauch_aktuelles_Jahr => " kWh",\
Gasverbrauch_aktueller_Monat => " kWh", \
Gasverbrauch_aktuelle_Woche => " kWh",\
Gasverbrauch_heute => " kWh", \
Gasverbrauch_gestern => " kWh", \
'WW-Solltemperatur' => "°C"\
}

ReadingsGroup für Vitoconnect Modul.jpg

SVG Graphen

Gasverbrauch

SVG Gasverbrauch für vitoconnect Modul.jpg

Weblinks