Vitoconnect: Unterschied zwischen den Versionen
Zeile 49: | Zeile 49: | ||
===Readings === | ===Readings === | ||
Die Readings werden so ausgegeben, wie sie von der API geliefert werden! | 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" |
Version vom 24. Januar 2019, 20:58 Uhr
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.
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 Beispiel:
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! 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_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 | |
clearReadings | clear all readings immeadiatlely | |
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 | |
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-02T23:59:59.000Z | set holiday start time |
HK1-Urlaub_Ende <end> | 2019-02-16T00:00:00.000Z | set holiday end time |
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
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_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"\
}