Fehler Viessmann API Bridge

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

rebell21
Beiträge: 184
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: Fehler Viessmann API Bridge

Beitrag von rebell21 »

Ich hatte vor einiger Zeit das Interface zur Heizung von Viessmann mit Eurer Hilfe hier auf SmartHome/J umgestellt. Das hat auch funktioniert. Trotzdem geht das Viessmann Interface in Openhab noch ab und zu offline

Die Bridge geht in den Status Error und nichts passiert mehr.

Wenn ich SmartHome/J Trace auf Debug umschalte, sehe ich Versuche von openhab, sich bei der Viessmann API anzumelden.

Code: Alles auswählen


Logger Class
org.smarthomej.binding.viessmann.internal.api.ViessmannAuth
Message
ViessmannAuth: Got null authorize response from Viessmann API 

Wenn ich versuche, die Bridge wiederzubeleben (disable/enable), bleibt sie im Status "initializing" stehen und es passiert stundenlang nichts mehr, Kennt hier jemand das Problem.
Das Problem hat hier nichts mit irgendwelchen API Limits exceed zu tun. Ich kann mit einem Python Programm problemlos auf die API zugriefen und erhalte Daten von ihr.
openhab 5.0.1 in Proxmox LXC Container mit debian bookworm (openhabian) auf Intel NUC

nojo
Beiträge: 46
Registriert: 17. Mai 2020 22:09
Answers: 0

Re: Fehler Viessmann API Bridge

Beitrag von nojo »

ich hatte heute auch keine Verbindung zum Viessmann Server, weil Viessmann die Internetadresse geändert hat.
aufgefallen ist es mir, nachdem ich das Viessmann Setup (http://deine.Openhab.IP.Adresse:8080/vicare/setup) aufgerufen habe und das Viessmann Developer Portal nicht mehr angezeigt wurde. -->

Die Adresse dieser Seite hat sich geändert
Diese Seite wird ab dem 23. November 2025 nicht mehr verfügbar sein.

Bitte verwenden Sie künftig die neue Adresse:
https://developer.viessmann-climatesolutions.com

Wir empfehlen Ihnen, Ihre Lesezeichen entsprechend zu aktualisieren.

hab dann einfach die Access Server URL Adresse im Binding von https://iam.viessmann.com/idp/v3/token auf https://iam.viessmann-climatesolutions.com/idp/v3/token geändert und alles hat wieder funktioniert.

rebell21
Beiträge: 184
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: Fehler Viessmann API Bridge

Beitrag von rebell21 »

Hallo,

ich verwende SmartHome/J viessmann zum Zugriff auf die API von Viessmann. Ich weiß leider nicht, wo ich die Access Server URL einstellen muss bei SmartHome/J. In der Bridge wird keine Access Server URL mehr eingestellt. Die URL konnte ich nur beim Viessmann Binding sebst einstellen. Aber bei SmartHome/J für Viessmann finde ich das nicht. Weiß das hier jemand ?

Wenn ich die Bridge (basierend auf SmatHome/J) einschalte (enable) erhalte ich im log die Fehlermeldung

Code: Alles auswählen

Log Details

    Time
    16:25:38.939
    Timestamp
    Nov 18, 2025, 3:25:38 PM
    Level
    INFO
    Logger Class
    org.smarthomej.binding.viessmann.internal.api.ViessmannApi
    Message
    API AuthException: Unable to execute GET: Can not set auth header because access token is null 
irgendetwas stimmt in der Tat nicht mit der Authorization. Aber wie kann man das in SmartHome/J umstellen oder anpassen ?
Ich will nicht alle things und items rund um viessmann wegschmeißen und ein andere Viessmann Binding installieren
openhab 5.0.1 in Proxmox LXC Container mit debian bookworm (openhabian) auf Intel NUC

Benutzeravatar
udo1toni
Beiträge: 15476
Registriert: 11. Apr 2018 18:05
Answers: 248
Wohnort: Darmstadt

Re: Fehler Viessmann API Bridge

Beitrag von udo1toni »

Da der Zugriff auf die API bei Viessmann momentan nicht funktioniert (Nach Login kommt eine Fehlermeldung) würde ich den Fehler tendenziell erst mal bei Viessmann suchen - vielleicht geht es in ein paar Tagen wieder?
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.1.1, LXC)

Benutzeravatar
udo1toni
Beiträge: 15476
Registriert: 11. Apr 2018 18:05
Answers: 248
Wohnort: Darmstadt

Re: Fehler Viessmann API Bridge

Beitrag von udo1toni »

Kurze Info zum Thema: Gestern kam ich nicht auf die Viessmann-Seite, heute geht es aber.
Ich bin nun auf das im Marketplace verfügbare Binding umgestiegen, allerdings habe ich direkt den Snapshot genommen. Der lässt sich bequem über die Detailinfos des Bindings herunterladen. NICHT! das Binding aus dem Appstore installieren, das hat offenbar noch einige Bugs.
Die von mir installierte Version ist 5.1.0.202511200020, also ganz frisch :)

Es reicht nicht, das Binding zu installieren und die alten Zugangsdaten einzutragen (jedenfalls war das bei mir der Fall)
Nach dem Installieren der Snapshot Version (Datei in den addons-Ordner abgelegt) im Developer Portal von viessmann den vorhandenen Client löschen und einen neuen erzeugen. Dabei wird ein neuer APIkey generiert.
Als URL muss http://localhost:8080/viessmann/authcode/ eingetragen werden (Das Binding läuft auf dem openHAB System und erledigt die Autorisierung anschließend vollständig automatisch)
Danach noch den APIkey in die Zwischenablage kopieren und als erstes einen Account anlegen.
Im Unterschied zu den bisherigen Bindings kann das "neue" Viessmann Binding vollständig über Textdefinition konfiguriert werden:

Code: Alles auswählen

Bridge viessmann:account:bridge "Viessmann Bridge" [
    apiKey="123456789abcdef0123456789abcdef0", 
    user="meine@mailadres.se", 
    password="das zugehörige Passwort"
   ] {
    Bridge gateway vitoconnect "Viessmann Gateway VitoconnectOPTO2" [
      gatewaySerial="1234567890123456", 
      installationId="1234567"
   ] {
      Thing device heizung "Heizung"
      Thing device HeatDemandControl "Heizanforderung" [
         deviceId="HeatDemandControl"
      ]
      Thing device RoomControl_1 "Raumsteuerung" [
         deviceId="RoomControl-1"
      ]
   }
}
Der Trick: Man legt zunächst die Account-Bridge an und kopiert sich das automatisch generierte Thing als Textdefinition.
Anschließend wird die Autodiscovery das Gateway finden und in der Inbox anbieten. Von dort kann es kopiert werden (mitsamt gatewaySerial und installationId) und als neues Thing abgelegt werden.
Sobald das Gateway online ist, wird die Autodiscovery die übrigen Busteilnehmer finden und in der Inbox anbieten. Für diese kann man in der gleichen Weise verfahren wie mit dem Gateway.

Da openHAB die Textdefinition immer für das einzelne Thing erzeugt, muss man für die hierarchische Anordnung (siehe Beispielcode) die kopierte Definition etwas bearbeiten.
Alternativ kann man natürlich auch die separate Variante nutzen (die Bridge hat keine geschweiften Klammern, stattdessen wird das Thing unabhängig, dafür mit Bezug zur Bridge angegeben - dies ist die Form, die openHAB automatisch erzeugt)

Ich bin noch damit beschäftigt, die Items neu zu verbinden :) aber Account, Gateway und Devices sind wieder online und haben auch die gleichen Channel wie vorher...

Ach so... Also, es sind zwar alle Channel vorhanden, jedoch haben sich die ChannelIDs geändert, sie sind snake-like notiert, nicht mehr CamelCase.
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.1.1, LXC)

rebell21
Beiträge: 184
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: Fehler Viessmann API Bridge

Beitrag von rebell21 »

Danke,

das hat bei mir geklappt. Ich konnte ein Account Thing anlegen. Dann wurde ein Gateway Thing discovered. Das habe ich auch angelegt.
Ich musste übrigens keinen neuen Viessmann Client anlegen. Ich konnte das account thing mit meiner existierenden Viessmann Client ID online bringen
Dann habe ich bei dem existierenden Thing für die Heizung die Thing UID der bisherigen Bridge durch die Thing UID des neuen Gateways ersetzt.
Ich hoffe, das das Binding die gleichen Kanäle unterstützt wie SmartHome/J und dass die Kanäle auch die gleiche Bedeutung haben
Ich sehe nun, dass die existierenden Items wieder aktualisiert werden.



Ich musste aber in der Openhab Console das SmartHome/J Binding über "bundle:uninstall #no Binding" entfernen. Sonst habe ich bei den Things in der MainUI seltsame Fehlermeldungen über unerlaubte Casts von Java Class A auf Java Class B erhalten. Die Fehlermeldungen deuteten aber darauf hin, dass das neue viessmann Binding inkompatibel mit dem alten SmartHome/J Binding ist.

Und ich sehe in der openhab console nach bundle:list zwei dieser Viessmann Bindings in der Openhab Console. Eines (Version 5.1.0.202511161327) ist "active", eines (Version 5.1.0.2025112000020) ist "waiting". Soll ich Version 5.1.0.202511161327 mit bundle:uninstall deinstallieren ?

Code: Alles auswählen


openhab>bundle:list
.
.
.
369 │ Active  │  80 │ 5.1.0.202511161327    │ openHAB Add-ons :: Bundles :: Viessmann Binding
370 │ Waiting │  80 │ 5.1.0.202511200020    │ openHAB Add-ons :: Bundles :: Viessmann Binding



Welche Bedeutung haben denn die beiden Things "Viessmann Device TCU" und "Viessmann Device Room Control-1"?


Mit Viessmann in openhab hat man nur Ärger. In openhab 4.x über dein Viessmann Binding. In Openhab 5 zunächst über das SmartHome/J Binding. Nun wieder ein Viessmann Binding. Das macht keinen Spaß
openhab 5.0.1 in Proxmox LXC Container mit debian bookworm (openhabian) auf Intel NUC

Benutzeravatar
udo1toni
Beiträge: 15476
Registriert: 11. Apr 2018 18:05
Answers: 248
Wohnort: Darmstadt

Re: Fehler Viessmann API Bridge

Beitrag von udo1toni »

Also, ich habe nur ein Binding bei mir gelistet, das mit der 20 hinten :)
Was genau RoomControl macht, kann ich Dir nicht sagen, bei mir tauchen für vier Heizkreise jeweils drei Switches auf, die wohl Status der betreffenden Heizkreise wiedergeben.
Ein TCU habe ich nicht. Welche Geräte auftauchen, hängt von der Anlage ab, letztlich siehst Du die "Busteilnehmer" der Steuerbusse der Heizung.

Ganz grundsätzlich zum Viessmann Binding: Die Firma Viessmann macht da keine gute Figur, aber es gibt auch bei den anderen Herstellern kaum positive Beispiele (jedenfalls soweit ich das bisher mitbekommen habe).
Das Binding greift über die offizielle API zu, und Viessmann doktort daran herum, incl. Nicht-Erreichbarkeit der Server (immer mal wieder - ich sehe das nicht in openHAB, sondern an der WLAN-Schnittstelle der Heizung...). Der letzte "große Wurf" war jetzt das komplette Umheben auf einen anderen fqdn.
Ja, das nervt mich auch, aber was soll man machen? Die nächste Heizung wird eine Wärmepumpe, aber so alt ist meine Heizung noch nicht...
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.1.1, LXC)

Antworten