NEWS
Test ViessmannAPI v2.0.0
-
@blacktigga Ich habe dir dazu eine PN geschrieben
-
Der Viessmann Developer Portal Changelog-Eintrag vom Juli 2021 ist auch bezeichnend. Da wird schon angekündigt, dass Datenpunkte und Funktionen hinter der Paywall verschwinden sollen. Warmwasser starten, nur gegen Gebühr, toll ausgedacht, Viessmann!
"Hinweis: Die Funktionen der Basis (freien) Variante der API sind ein temporäres Angebot und der Umfang kann sich mit der Zeit gegenenfalls ändern."
-
@amgxda Das war klar, denn die Entwicklungs- und Betriebskosten der Server kann man kaum mit dem einmaligen Kauf einer Anlage abdecken, denke ich ...
Wenn's n paar Euro sind im Jahr.. wir werden sehen..Wenn's zu teuer wird, ist VControlD dann die Alternative.
-
@ilovegym
Ja, sollte Viessmann hier zu restriktiv vorgehen, werde ich die vcontrold-Lösung nutzen. Die Cloud-Lösung nutze ich hauptsächlich wegen der versprochenen 5-Jahre-Garantie. Wenn ich es richtig sehe, muss bei vcontrold nur das USB-Kabel an den RPi, der vcontrold laufen und mit iobroker.viessmann bekommt man auch noch die Datenpunkte. Das komplizierteste scheint die Erstellung der Konfigurationsdateien zu sein.Aber bis zum Garantie-Ende bin ich froh, dass es den viessmannapi-Adapter gibt
-
@blacktigga Ich habe eingebaut das die virtuelle Geräte nicht aktualisiert werden nochmal neu installieren und testen ob das limit jetzt reicht
-
@tombox Danke für die Rückmeldung nach langen Probieren denke ich, dass es hier noch einen Fehler in der API von Viessmann gibt
{
"mon":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],
...
"sun":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],
}Liefert Fehler 500
{"code":"500","reason":"COMMAND_EXECUTION_FAILURE","details":"Invalid schedule entry mode: standard."}}Wenn man aber unter /features/ventilation.schedule/ die momentan konfigurieren Modes anschaut, heißen sie dort: "levelThree" für Standard und "levelFour" für Intensive Lüftungsstufe.
Wenn man "levelThree" nutzt kommt aber auch ein Fehler:
{"code":"400","reason":"VALIDATION_ERROR","details":"The parameter newSchedule ... does not meet the constraints {"type":"Schedule","modes":["reduced","standard","intensive"],
"maxEntries":8,"resolution":10,"defaultMode":"basic","overlapAllowed":true}:
Entry 'mon' has invalid mode."}}Hab die Frage mal ins Viessmann Developer Forum gepostet
-
@tombox sagte in Test ViessmannAPI v2.0.0:
Ich habe eingebaut das die virtuelle Geräte nicht aktualisiert werden nochmal neu installieren und testen ob das limit jetzt reicht
Läuft seit heute morgen anstandslos durch
viessmannapi.0 2021-08-12 16:22:25.665 debug ignore type:virtual viessmannapi.0 2021-08-12 16:22:25.664 debug ignore type:virtual viessmannapi.0 2021-08-12 16:22:25.650 debug ignore type:gateway viessmannapi.0 2021-08-12 16:21:26.324 debug https://api.viessmann.com/iot/v1/equipment/installations/396344/gateways/7637415019518205/devices/0/features 0 {"data"
-
Moin an Alle,
ich hab nun schon gesucht und gesucht. Kann mir jemand sagen ob der Systemdruck bei den Datenpunkten dabei ist?
Danke
-
Hallo,
ich bin heute endlich dazu gekommen den neuen Adapter zu testen.
Zunächst hatte ich einfach, ohne den alten zu löschen, den neuen installiert und bekam folgende Fehler im Log:
viessmannapi.0 2021-08-13 14:50:48.768 error {"error":"internal server error"} viessmannapi.0 2021-08-13 14:50:48.768 error Error: Request failed with status code 500 viessmannapi.0 2021-08-13 14:50:48.533 info starting. Version 2.0.1 in /opt/iobroker/node_modules/iobroker.viessmannapi, node: v14.17.2, js-controller: 3.3.15
Dann habe ich ihn gelöscht und neu installiert mit dem gleichen Ergebnis, der Adapter bleibt auf Gelb mit diesen Einträgen im Log. Liegt das an mir oder an Viessmann?
-
@palm_maniac 500 ist ein Fehler bei viessmann einfach abwarten und später probieren
-
Hallo,
konnte eventuell schon jemand mit Wärmepumpe inkl. Kühlfunktion (NC) den entsprechenden Datenpunkt finden, woran man erkennt, dass die Kühlung gerade aktiv ist.
Ich finde viele Punkte zum Thema "Cooling", allerdings wird kein Datenpunkt auf "true" gesetzt,
obwohl gerade die Kühlung läuft...Grüße
-
@tombox also bei mir wird der Adapter auch nach fast 3 Tagen nicht grün, weiterhin Fehler 500. Da die App funktioniert und es wohl bei anderen auch funktioniert, verstehe ich nicht wieso es bei mir nicht will. So viel falsch machen kann man doch nicht...
PS: Oh mann, bin ich ein Honk.... Ich hatte Recaptcha noch an... Jetzt läufts.
-
Hallo zusammen,
ich schaffe es nicht die Zeitprogramme für Wasser oder für die Heizung zu ändern. Wenn ich setValue aufrufe, dann erhalte ich nachfolgenden Fehler:
statusCode":502,"errorType":"DEVICE_COMMUNICATION_ERROR","message":"DEVICE_COMMUNICATION_ERROR","extendedPayload":{"code":"500","reason":"INTERNAL_SERVER_ERROR","details":"entries[cur].map is not a function"}}
Ich habe bei zum Beispiel folgenden Wert bei viessmannapi.0.XXX.0.features.heating.dhw.schedule.commands.setSchedule.setValue verwendet:
{ "mon": [ { "start": "05:30", "end": "19:30", "mode": "on", "position": 0 } ] }
Wenn ich das Heizprogramm verändere, dann erhalte ich den gleichen Fehler.
-
@schueli86 Hast du mal hier gefragt
https://www.viessmann-community.com/t5/Getting-started-programming-with/bd-p/dev-viessmann-api-getting-started
ob sie helfen können wie der request korrekt aussehen soll -
@tombox bis jetzt noch nicht. Werde ich heute Abend mal machen. Ich hatte die Hoffnung, dass es hier schon jemand geschafft hat.
-
@schueli86 Ich habe in die github version die error message verbessert dann hilft es die frage zu stellen
-
@schueli86 Bei der Lüftung habe ich es nun hinbekommen, nachdem ein "Fehler" in der Viessmann API gefixed wurde.
Mit JSON.parse war bei mir der Fehler "entries[cur].map" .... weg.
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));
-
@tiger-vi Das funktioniert bei mir leider nicht
Hab jetzt folgenden Code von dir genommen und erhalte den gleichen Fehler.
var standard = '{"mon":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\ "wed":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\ "fri":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\ "sun":[{"start":"00:00","end":"24:00","mode":"normal","position":0}]}' setState('viessmannapi.0.XXX.0.features.heating.circuits.0.heating.schedule.commands.setSchedule.setValue', JSON.parse(standard));
Am Ende macht JSON.pars ja auch nur wieder einen JSON aus dem String. Ich hatte es bei mir mit den alten Adapter auch schon als JSON. Schade, hätte klappen können.
-
Hallo @tombox,
Ich habe den Fehler gefunden. Im Iobroker ist bei setValue als String angegeben. Wenn ich es auf JSON umstelle, dann funktioniert es. Können wir dies im Adapter ändern?
-
@schueli86 ich habe mal auf object gesetzt.
installiere neu
alle objekte löschen
instanze neustarten
und dann testen ob string werte und json funktionieren