Neues Modul: vitoconnect

Begonnen von andreas13, 24 November 2018, 17:42:33

Vorheriges Thema - Nächstes Thema

Basti-K

Gibt es irgendwo eine Anleitung wie man diesen API Schlüssel erstellt für fhem?
Ich verstehe das leider nicht.
Das Modul in FHEM anlegen ist klar, und dann?
Ich habe dies Tutorial gefunden, aber was ist mit der Redirect URI gemeint?
https://www.youtube.com/watch?v=F6MylvJC7NQ
Muss man auf dem Router den Port 4200 auf den FHEM Server mappen?
Intuitiv ist das leider nicht und die Doku verwirrt noch mehr.

sepultura30

#1051
Hallo,

hier musst du dich anmelden und dort bekommst du dann den ApiKey......

https://developer.viessmann.com

Redirect URIs
http://localhost:4200/

Denn trägst du im Modul ein + deine Login-Daten von der App

Grüße

Sandro

Basti-K

#1052
Also die Client ID ist der API key?

Ich dachte immer unten links müsste man noch etwas machen bei Generate Access Token.

hmm ich hab nee Vito 300 hoffen das die Supportet ist.

in jeden Fall danke für deine Antwort.

edit:
der Prozess dauert wohl... als ich es mir später nach mal ansehen wollte waren plötzlich readings vorhanden....

Gruß Seb.

JWRu

Ich habe gerade von Viessmann auf Anforderung meines Heizungsbetriebs, mit dem ich einen Wartungsvertrag habe, eine Vitoconnect Opto2 zugeschickt bekommen mit der Bitte, diese zu installieren.
Zur Zeit habe ich meine Viessmann-Heizung über VCONTROL300 angebunden und möchte nicht den Bedienungskomfort über FHEM verlieren.
Bevor ich die Vitoconnect Opto2 installiere, würde ich gerne wissen, ob auch diese vom Modul vitoconnect unterstützt wird.
In der FHEM-Referenz ist immer von Vitoconnect 100 die Rede.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

JWRu

Dieser Thread scheint ja relativ tot zu sein. Auch der Maintainer von 98_vitoconnect.pm war seit fast einem Jahr nicht mehr im Forum aktiv.

Mittlerweile habe meinen Opto2 in Betrieb genommen, API-Key generiert etc. - das Device läuft.
Jetzt habe ich eine Frage zum Reading Kessel_Solltemperatur (API: heating.boiler.temperature.value).
Das liefert bei mir meistens 5 (Heizung läuft z. Zt. im Modus dhw). Ab und zu geht der Wert aber unerkärlicherweise auf über 6000 hoch. Was hat das zu bedeuten?
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Strictor

Hallo zusammen,

ich habe gerade leider feststellen müssen, dass ich nicht mehr in der Lage bin Wete zu setzten, sondern nur noch abzurufen. Bspw. das Setzten der Temperturen von Warmwasser & Co. oder das einmalige Starten der Warmwasseraufbereitung.
Es kommt auch kein Fehler im Log oder in den Events, es passiert einfach gar nichts.
Hat noch jemand das Problem oder noch besser, sogar eine Idee wie man es lösen könnte?  ;)

Strictor

Zitat von: Strictor am 04 September 2024, 16:01:00Hallo zusammen,

ich habe gerade leider feststellen müssen, dass ich nicht mehr in der Lage bin Wete zu setzten, sondern nur noch abzurufen. Bspw. das Setzten der Temperturen von Warmwasser & Co. oder das einmalige Starten der Warmwasseraufbereitung.
Es kommt auch kein Fehler im Log oder in den Events, es passiert einfach gar nichts.
Hat noch jemand das Problem oder noch besser, sogar eine Idee wie man es lösen könnte?  ;)

Ich habe durch das Durcharbeiten des Codes eine Lösung gefunden. Falls noch jemand das Problem hat, bei mir hat es geholfen in der Funktion "sub vitoconnect_action" die Base URL zu ändern. Scheinbar wurde in dem Modul für das Abfragen und das Senden zwei BaseURLs genutzt.
Wenn man
url => $apiURLBase in
url => $apiURL ändert, klappt nach einem FHEM Neustart wieder alles wie zuvor.

Die Variablen sind wie folgt belegt:
my $apiURLBase    = "https://api.viessmann-platform.io/iot/v1/equipment/";
my $apiURL        = "https://api.viessmann.com/iot/v1/equipment/";

Roger

Zitat von: Strictor am 04 September 2024, 16:30:09Ich habe durch das Durcharbeiten des Codes eine Lösung gefunden. Falls noch jemand das Problem hat, bei mir hat es geholfen in der Funktion "sub vitoconnect_action" die Base URL zu ändern. Scheinbar wurde in dem Modul für das Abfragen und das Senden zwei BaseURLs genutzt.
Wenn man
url => $apiURLBase in
url => $apiURL ändert, klappt nach einem FHEM Neustart wieder alles wie zuvor.

Die Variablen sind wie folgt belegt:
my $apiURLBase    = "https://api.viessmann-platform.io/iot/v1/equipment/";
my $apiURL        = "https://api.viessmann.com/iot/v1/equipment/";

Moin,
das ist aber noch die alte Version V1. In dem von mir überarbeiteten und am 4.11.2023 veröffentlichtem Code wird Version V2 verwendet.
https://api.viessmann.com/iot/v2/features/

//Roger
Zotac & RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly, Victron

FHEM PI

Wann wird das Modul aktualisiert?

alias2006

Zitat von: Roger am 05 September 2024, 18:27:04
Zitat von: Strictor am 04 September 2024, 16:30:09Moin,
das ist aber noch die alte Version V1. In dem von mir überarbeiteten und am 4.11.2023 veröffentlichtem Code wird Version V2 verwendet.
https://api.viessmann.com/iot/v2/features/

//Roger
Raspberry, Fritz, Qnap, it, Homatic, Viessmann, Netatmo, solaredge,Sonnen, shellies, PV Forecast, powerfox, usw.

alias2006

Wo kann ich V2 finden. Ich finde nur V1. Kannst du bitte einen Link posten?

Ich habe dasselbe Problem und kann die Werte nur noch lesen und nicht ändern.

Der Link: https://api.viessmann.com/iot/v2/features/ führt nirgendwo hin. Da sehe ich nix.
Raspberry, Fritz, Qnap, it, Homatic, Viessmann, Netatmo, solaredge,Sonnen, shellies, PV Forecast, powerfox, usw.

alias2006

An Strictor: Habe die Änderung vorgenommen und es funktioniert wieder, Danke.
Raspberry, Fritz, Qnap, it, Homatic, Viessmann, Netatmo, solaredge,Sonnen, shellies, PV Forecast, powerfox, usw.

davidgross

#1062
Moin,

ich habe eine Vitocal200S Wärmepumpe. Die API funktioniert soweit. Werte werden gelesen und einige kann man schreiben.

Es werden viele Werte gelesen, die nicht in der Liste "my $RequestList = { ..." stehen. Diese werden auch nicht übersetzt.
Was eigentlich kein Problem ist aber jetzt ist da ein Mix aus Englisch und Deutsch.
Soll ich die Liste mal mit der Übersetzung hier posten?
Trägt das jemand in der Liste ein?

Ein Problem für mich ist das Schreiben der Werte zur Heizung. Bei der WW-Haupttemperatur funktioniert das.
Bei anderen Werten wie HK1-Solltemperatur geht das nicht.

Der Wert wird bereits beim Auswählen des Wertes brereits nicht korrekt angezeigt. Das Festure für HK1-Solltemperatur bei mir heißt:
heating.circuits.0.operating.programs.normalHeating.temperature

und im aktuellen FHEM Modul:
"heating.circuits.0.operating.programs.normal.temperature" => "HK1-Solltemperatur_normal",

Ich kann mir gut vorstellen das es bei anderen Heizungen wieder anders aussieht, oder Viessmann den Wert irgendwann umbenennt.
Derzeit sind die Werte, die man schreiben kann, alle fest programmiert.
Wie kann man das Problem lösen?
Kann man hier ein variables Schreiben einführen, wo man wie einen String und einen Wert übergibt und der dann an die API übergeben wird?

Danke im Vorraus

Stephan27

Zitat von: Strictor am 04 September 2024, 16:30:09Ich habe durch das Durcharbeiten des Codes eine Lösung gefunden. ...

Ich habe mich jetzt extra angemeldet, um mich nochmal für deinen Anstoß hier zu bedanken.
Es dürften jetzt ca. 2 Wochen sein, was ich mich mit der API und dem Vitoconnect-Modul herumgeärgert habe. Meine Vermutung ging auch genau in die Richtung, dass sich am Aufruf bzw. der Domäne etwas verändert hat, ich habe aber einfach an der falschen Stelle geschaut und den Aufruf nicht gefunden. Was traurig ist, dass man selbst im Forum der Viessmann-Community, wo auch die Viessmann-Entwickler unterwegs sind, keine Auskunft auf die Anfragen nach der URL bekommt. Ich hatte dort nämlich aus dem Log-File den Aufruf gepostet, wo zu sehen war, dass mein Modul noch auf "https://api.viessmann-platform.io" gezeigt hat. Ich war da gerade auch dran, dass mir Jemand der HomeAssistant verwendet mal seinen Log schickt, aber der hat bis heute nicht geliefert. (er hatte aber bestätigt, dass seine Aufrufe noch funktionieren)

Felix_86

#1064
Hallo zusammen,

ich bin ebenfalls in das Problem gelaufen, dass ich seit Anfang September keine Werte mehr setzen konnte. Daraufhin habe ich das Modul auf die Version vom 08.11.23 aktualisiert.
Das setzen der Werte funktioniert wieder, bis auf die Betriebsart vom HK1. Hier steht nur noch "active" und "standby" zur Verfügung.

Die Optionen "dhwAndHeating" (für Heißwasser und Heizung) und "dhw" (für Heißwasser) stehen mir in meinem Fall nicht zur Verfügung.

Zitat2024.09.17 18:13:13 3: set Vitoconnect HK1-Betriebsart dhwAndHeating : unknown value HK1-Betriebsart, choose one of update:noArg clearReadings:noArg password apiKey logResponseOnce:noArg WW_einmaliges_Aufladen:activate,deactivate WW_Zirkulationspumpe_Zeitplan:textField-long WW_Zeitplan:textField-long WW_Solltemperatur:slider,10,1,60 WW_Temperatur_2:slider,10,1,60 WW_Betriebsart:balanced,off Urlaub_Start_Zeit Urlaub_Ende_Zeit Urlaub_stop:noArg HK1_Heizkurve_Niveau:slider,-13,1,40 HK1_Heizkurve_Steigung:slider,0.2,0.1,3.5,1 HK1_Zeitsteuerung_Heizung:textField-long HK1_Urlaub_Start_Zeit HK1_Urlaub_Ende_Zeit HK1_Urlaub_stop:noArg HK1_Betriebsart:active,standby HK1_Soll_Temp_comfort_aktiv:activate,deactivate HK1_Soll_Temp_comfort:slider,4,1,37 HK1_Soll_Temp_eco_aktiv:activate,deactivate HK1_Soll_Temp_normal:slider,3,1,37 HK1_Soll_Temp_reduziert:slider,3,1,37 HK1_Name

Laut der Viessmann-API Rückmeldung, gibt es diese Werte aber, im Gegensatz zu "active":

Zitat2024.09.17 18:13:38 1: Vitoconnect,vitoconnect_action: set Vitoconnect HK1_Betriebsart 1, Fehler bei Befehlsausfuehrung:  :: {"viErrorId":"|00-54b606d11111111111111111111111a76c74-0de055911111111f0-01.468f6840_","statusCode":400,"errorType":"DEVICE_COMMUNICATION_ERROR","message":"","extendedPayload":{"httpStatusCode":"BadRequest","code":"400","reason":"VALIDATION_ERROR","details":"The parameter mode=\"active\" does not meet the constraints {\"type\":\"string\",\"enum\":[\"dhw\",\"dhwAndHeating\",\"forcedNormal\",\"forcedReduced\",\"standby\"]}: Value 'active' is not within allowed values: dhw, dhwAndHeating, forcedNormal, forcedReduced, standby"}}

Kann das Modul um diese Optionen angepasst werden?
Sind weitere Informationen erforderlich?

Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 330 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS, Nina, MQTT2