NEWS
Test ViessmannAPI v2.0.0
-
Hi ich habe ein neuen Adapter für Viessman erstellt
Man benötigt eine ClientID von der Viessmann API
https://app.developer.viessmann.com besuchen und eine Client ID mit diesen Optionen erstellen:
Name: iobroker
Google reCAPTCHA deaktivieren
Redirect URI: http://localhost:4200/Die Client ID in die Einstellungen kopieren
Außentemperatur findet sich z.B. hier:
viessmannapi.0.XXXXX.0.features.heating.sensors.temperature.outside.properties.value.value
Weitere Beispiele siehe UntenRemote Befehle sind möglich unter
viessmannapi.0.XXXXX.0.features.heating.dhw.temperature.main.commands.setTargetTemperature.setValueZum Installieren:
Via AdaptersucheIn den Instanzoptionen die jeweiligen Optionen einstellen.
Github
https://github.com/TA2k/ioBroker.viessmannapiKompatibilitätsliste:
https://documentation.viessmann.com/static/compatibility
Regelungen für Wand- oder Kompaktgeräte
Vitotronic 200, Typ HO1, HO1A, HO1B, HO1D, HO2B, HO2C
Vitotronic 200 RF, Typ HO1C, HO1E
Regelungen für bodenstehende Heizkessel
Vitotronic 200, Typ KO1B, KO2B, KW6, KW6A, KW6B, KW1, KW2, KW4, KW5
Vitotronic 300, Typ KW3
Regelungen für Wärmepumpen und Hybridgeräte
Vitotronic 200, Typ WO1A, WO1B, WO1C
Regelungen für Festbrennstoffkessel
Vitoligno 200-S mit Ecotronic (ab Softwarestand 2.03)
Vitoligno 250-S mit Ecotronic (ab Softwarestand 2.00)
Vitoligno 300-C mit Ecotronic (ab Softwarestand 2.12)
Vitoligno 300-P mit Vitotronic 200 FO1
Vitoligno 300-S mit Ecotronic (ab Softwarestand 2.04)Liste aller Datenpunkte:
https://documentation.viessmann.com/static/iot/data-pointsFrage zu fehlende Datenpunkte bitte direkt an Viessmann
https://www.viessmann-community.com/t5/The-Viessmann-API/bd-p/dev-viessmann-apiBeispiele:
Vorlauftemperatur: viessmannapi.0.XXXX.features.heating.circuits.0.sensors.temperature.supply.properties.value.value, Brennerstatus: viessmannapi.0.XXXX.0.features.heating.burners.0.properties.active.value Anzahl Zündungen: viessmannapi.0.XXXXX.features.heating.burners.0.statistics.properties.starts.value Betriebsstunden viessmannapi.0.XXXXX.features.heating.burners.0.statistics.properties.hours.value Kesseltemperatur viessmannapi.0.XXXXX.features.heating.boiler.sensors.temperature.main.properties.unit.value Kompressor aktiv: viessmannapi.0.xxx.0.features.heating.compressors.0.properties.active.value Heizkreispumpe aktiv: viessmannapi.0.xxx.0.features.heating.circuits.1.circulation.pump.properties.status.value Warmwasserbereitung: viessmannapi.0.xxx.0.features.heating.dhw.charging.properties.active.value Heizungsmodus: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.modes.active.properties.value.value Heizprogramm: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.active.properties.value.value Temperatur Heizprogramm normal: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.normal.properties.temperature.value Temperatur Heizprogramm reduz.: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.reduced.properties.temperature.value Warmwasser Soll Temperatur: viessmannapi.0.xxx.0.features.heating.dhw.temperature.properties.value.value Warmwasser Ist Temperatur: viessmannapi.0.xxx.0.features.heating.dhw.sensors.temperature.hotWaterStorage.properties.value.value Temperatur Außensensor: viessmannapi.0.xxx.0.features.heating.sensors.temperature.outside.properties.value.value Statistik Kompressor Starts: viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.starts.value Statistik Kompressor Stunden: viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.hours.value Temperatursensoren der Heizkreise: viessmannapi.0.xxxxxxx.0.features.heating.circuits.0.sensors.temperature.supply.properties.value.value Primärkreis Vorlauftemperatur: viessmann.0.xxx.0.features.heating.primaryCircuit.sensors.temperature.supply.properties.value.value Sekundärkreis Vorlauftemperatur: viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.supply.properties.value.value Sekundärkreis Rücklauftemperatur: viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.return.properties.value.value ? viessmann.0.xxx.0.features.heating.sensors.temperature.return.properties.value.value Heizung an (Kompressor): viessmannapi.0.x.0.features.heating.compressors.0.properties.active.value WW Temp viessmannapi.0.x.0.features.heating.dhw.sensors.temperature.hotWaterStorage.properties.value.value HW Temp viessmannapi.0.x.0.features.heating.buffer.sensors.temperature.main.properties.value.value ZP features.heating.circuits.1.circulation.pump.properties.status.value WP_Aussentemperatur 0.features.heating.sensors.temperature.outside.properties.value.value WP_gemeinsame Vorlauftemperatur 0.features.heating.boiler.sensors.temperature.commonSupply.properties.value.value WP_Temperatur Pufferspeicher 0.features.heating.buffer.sensors.temperature.main.properties.value.value WP_Heizkörper_Umwälzpumpe ON/OFF 0.features.heating.circuits.0.circulation.pump.properties.status.value WP_Heizkörper_Umwälzpumpe_Frostschutz 0.features.heating.circuits.0.frostprotection.properties.status.value WP_Heizkörper_Niveau 0.features.heating.circuits.0.heating.curve.properties.shift.value WP_Heizkörper_Neigung 0.features.heating.circuits.0.heating.curve.properties.slope.value WP_Heizkörper_Zeitplan 0.features.heating.circuits.0.heating.schedule.properties.entries.value WP_Heizkörper_Komfort_Solltemperatur 0.features.heating.circuits.0.operating.programs.comfortHeating.properties.temperature.value WP_Heizkörper_Normal_Solltemperatur 0.features.heating.circuits.0.operating.programs.normalHeating.properties.temperature.value WP_Heizkörper_Reduziert_Solltemperatur 0.features.heating.circuits.0.operating.programs.reducedHeating.properties.temperature.value WP_Vorlauftemperatur Heizkörper 0.features.heating.circuits.0.sensors.temperature.supply.properties.value.value ???? 0.features.heating.circuits.0.operating.programs.comfortEnergySaving.properties.reason.value ???? 0.features.heating.circuits.0.operating.programs.normalEnergySaving.properties.reason.value WP_Heizkörper_FBH ON/OFF 0.features.heating.circuits.1.circulation.pump.properties.status.value WP_FBH_Umwälzpumpe_Frostschutz 0.features.heating.circuits.1.frostprotection.properties.status.value WP_FBH_Niveau 0.features.heating.circuits.1.heating.curve.properties.shift.value WP_FBH_Neigung 0.features.heating.circuits.1.heating.curve.properties.slope.value WP_FBH_Zeitplan 0.features.heating.circuits.1.heating.schedule.properties.entries.value WP_FBH_Komfort_Solltemperatur 0.features.heating.circuits.1.operating.programs.comfortHeating.properties.temperature.value WP_FBH_Normal_Solltemperatur 0.features.heating.circuits.1.operating.programs.normalHeating.properties.temperature.value WP_FBH_Reduziert_Solltemperatur 0.features.heating.circuits.1.operating.programs.reducedHeating.properties.temperature.value WP_FBH_Vorlauftemperatur 0.features.heating.circuits.1.sensors.temperature.supply.properties.value.value WP_Stromverbrauch_HEUTE 0.features.heating.power.consumption.summary.heating.properties.currentDay.value WP_Stromverbrauch_MONAT 0.features.heating.power.consumption.summary.heating.properties.currentMonth.value WP_Stromverbrauch_JAHR 0.features.heating.power.consumption.summary.heating.properties.currentYear.value WP_Stromverbrauch_LETZTER_MONAT 0.features.heating.power.consumption.summary.heating.properties.lastMonth.value WP_Stromverbrauch_LETZTEN_7_TAGE 0.features.heating.power.consumption.summary.heating.properties.lastSevenDays.value WP_Stromverbrauch_LETZTES_JAHR 0.features.heating.power.consumption.summary.heating.properties.lastYear.value WP_Primärkreis_Temperatur 0.features.heating.primaryCircuit.sensors.temperature.supply.properties.value.value WP_Sekundärkreis_Temperatur 0.features.heating.secondaryCircuit.sensors.temperature.supply.properties.value.value WP_Rücklauftemperatur 0.features.heating.sensors.temperature.return.properties.value.value WP_Volumenstrom 0.features.heating.sensors.volumetricFlow.allengra.properties.value.value Betriebsstunden Verdichter 0.features.heating.compressors.0.statistics.properties.hours.value
Beispiel zum setzen eines Schedule:
var standard = '{"mon":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\ "wed":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\ "fri":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\ "sun":[{"start":"00:00","end":"24:00","mode":"standard","position":0}]}' setState("viessmannapi.0.xxxxxxx.0.features.ventilation.schedule.commands.setSchedule.setValue", JSON.parse(standard));
Beispiel zirkulationspumpe
// schedule zum einschalten, allerdings nur zwischen 6 und 21 uhr var pump_on = '{"mon":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"tue":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"wed":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"thu":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"fri":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"sat":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"sun":[{"start":"06:00","end":"21:00","mode":"on","position":0}]}' // schedule leeren - pumpe ausschalten var pump_off = '{"mon":[], "tue":[],"wed":[],"thu":[],"fri":[],"sat":[],"sun":[]}' setState("viessmannapi.0.xxx.features.heating.dhw.pumps.circulation.schedule.commands.setSchedule.setValue", JSON.parse(pump_on)); // oder pump_off
Die Max. Heizleistung gibt es nicht als API Datenpunkt, kann nur am Gerät geändert werden.
Kostenlose Paket enthält:
-
@tombox Hi, installiert und laeuft ohne Fehler, holt jede Menge Daten und ich bin Happy!
System: Debian 10 Lxc, Node 14, js-controller 3.3.15
Super, vielen vielen Dank!
-
Hi @tombox,
ist installiert und läuft fehlerfrei. Alle benötigten Werte werden ausgelesen.
System:
js-controller 3.2.16
Node.js 12.20.2
Debian 10Viele Grüße und vielen Dank!
Christoph -
@tombox Habe den Adapter auch gerade installiert. Er läuft problemlos. Bislang hatte ich viessmannapi verwendet.
Mein System:
Debian 10, Node.js 12.20.2, js-controller 3.2.16Vielen Dank!
Gruß,
Jürgen -
Funktioniert "out of the box". Alle erwarteten Datenpunkte wurden ausgelesen.
Schreiben in Datenpunkte noch nicht getestet. Die Developer-Portal API-Call-Statistik zeigt bisher keine großen Ausschläge, von daher gehe ich davon aus, dass die API-Calls die Viessmann-API nicht überfordern und es nicht zum Blocking kommt.
System: Debian 10, Node 12.2, js-controller 3.3
Danke für die tolle Arbeit!
-
läuft bei mir auch, vielen Dank!
-
@tombox Läuft auf Anhieb und produziert jede Menge Daten, allerdings habe ich bis jetzt noch kaum relevanten Daten wir Programm, Kesseltemperatur etc. geliefert. Ich habe eine Vitodens 222-F, könnte das daran liegen? Die ist ja nicht in Deiner Liste oben.
EDIT: Die Kesseltemperatur habe ich eben in den Untiefen des Datenbaums gefunden
-
Schreib ruhig die states dann kann ich sie in die readme aufnehmen
-
@tombox : Bei mir funktioniert der Adapter auch wunderbar.
Danke für die tolle Arbeit:
Er produziert unheimlich viele Daten:
u.a.Vorlauftemperatur: viessmann.0.1344232.0.features.heating.circuits.0.sensors.temperature.supply.properties.value.value, hier müsste die zu finden sein,
Anzahl Zündungen:
viessmann.0.1344232.0.features.heating.burners.0.statistics.properties.starts.valueBetriebsstunden unter: viessmann.0.1344232.0.features.heating.burners.0.statistics.properties.hours.value
Kesseltemperatur müsste unter:
viessmann.0.1344232.0.features.heating.boiler.sensors.temperature.main.properties.unit.valuezu finden sein.
Weiß jemand wo man seinen Heizkreis ein- und ausschalten kann?
Viele Grüße
Daniel -
@dh1979 @Ahnungsbefreit @Hansi1234
Ich musst den Adapter nochmal umbennen da er ja den Adapter viessmannapi ersetzt. Ich empfehle den alten Adapter unter viessmann zu löschen und neuzuinstallieren damit ihr die zukünftigen updates mitbekommt.
-
Hier ein paar Datenpunkte (Luftwärmepumpe):
Kompressor aktiv: viessmannapi.0.xxx.0.features.heating.compressors.0.properties.active.value Heizkreispumpe aktiv: viessmannapi.0.xxx.0.features.heating.circuits.1.circulation.pump.properties.status.value Warmwasserbereitung: viessmannapi.0.xxx.0.features.heating.dhw.charging.properties.active.value Heizungsmodus: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.modes.active.properties.value.value Heizprogramm: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.active.properties.value.value Temperatur Heizprogramm normal: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.normal.properties.temperature.value Temperatur Heizprogramm reduz.: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.reduced.properties.temperature.value Warmwasser Soll Temperatur: viessmannapi.0.xxx.0.features.heating.dhw.temperature.properties.value.value Warmwasser Ist Temperatur: viessmannapi.0.xxx.0.features.heating.dhw.sensors.temperature.hotWaterStorage.properties.value.value Temperatur Außensensor: viessmannapi.0.xxx.0.features.heating.sensors.temperature.outside.properties.value.value Statistik Kompressor Starts: viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.starts.value Statistik Kompressor Stunden: viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.hours.value ?Primärkreis Vorlauftemperatur: viessmann.0.xxx.0.features.heating.primaryCircuit.sensors.temperature.supply.properties.value.value ?Sekundärkreis Vorlauftemperatur: viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.supply.properties.value.value ?Sekundärkreis Rücklauftemperatur: viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.return.properties.value.value ? viessmann.0.xxx.0.features.heating.sensors.temperature.return.properties.value.value
-
@amgxda: Weißt du welcher Datenpunkt es ermöglicht die Heizung einfach aus bzw. anzustellen?
-
Cool, danke @tombox für den neuen Viessmann Adapter
Auslesen der Werte meiner Wärmepumpe klappt super. Auch setzten von Temperaturwerten funktioniert, allerdings bekomme ich bei Strings eine Fehlermeldung. Ich habe versucht den Betriebsmodus auf dhw zu setzen, bekomme aber einen Error 422 von der API zurück. Benutzt habe ich den Datenpunkt hier: viessmannapi.0.xxxxxx.0.features.heating.circuits.0.operating.modes.active.commands.setMode.setValue
Im Log finde ich folgende Fehlermeldung:
[39m: viessmannapi.0 (6574) {"viErrorId":"req-7cb439014b054530bd19203d937e34d7","statusCode":422,"errorType":"VALIDATION_ERROR","message":"VALIDATION_ERROR","validationErrors":[],"extendedPayload":{"code":"400","reason":"VALIDATION_ERROR","details":"The parameter mode=0 does not meet the constraints {\"type\":\"string\",\"enum\":[\"standby\",\"dhw\",\"dhwAndHeatingCooling\"]}: Value '0' should be a string."}}
Sieht irgendwie so aus, als ob aus meinem String eine Zahl wird.
Viele Grüße
Andreas -
Ich nutze dafür den hier: viessmannapi.0.xxxxxx.0.features.heating.circuits.0.operating.modes.active.commands.setMode.setValue
Der kennt Standby (standby), Brauchwasser (dhw) und Heizen&Brauchwasser (dhwAndHeatingCooling). Bekomme den derzeit aber nicht geschrieben.
Viele Grüße
Andreas -
@asblass : Danke werde ich ausprobieren.
-
@asblass alle states nochmal löschen und Adapter neuinstallieren und nochmal probieren
-
@tombox Super, das war es Seit der Neuinstallation klappt es und ich kann wieder meine Heizung per ioBroker zwischen Brauchwasser und Standby hin und her schalten.
Dank Dir
Andreas -
@asblass: Geht bei mir jetzt auch. Danke für deinen Tipp!
-
@asblass kannst du den genauen State sagen und die Werte die du einsetzt
-
@tombox Ich nutze viessmannapi.0.xxxxxx.0.features.heating.circuits.0.operating.modes.active.commands.setMode.setValue
Mögliche Werte sind standby, dhw & dhwAndHeatingCooling. Nachdem ich den Adapter gelöscht und neu installiert habe, klappt jetzt aber alles so wie es soll