abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 
Beantwortet! Gehe zur Lösung.

API: Werte ändern

Hallo Zusammen,

 

ich versuche über NodeRed, das auf einem Rasbperry PI3 installiert ist bestimmte Werte zu ändern, z.B. die Temperatur oder den jeweiligen Modus. Der Abruf der jeweiligen Werte funktioniert tadellos.

 

Wenn ich nun versuche den Temperatur zu ändern, erhalte ich immer eine Fehlermeldung.... egal wie ich die Endpunkte anspreche. Hat jemand noch ein Idee? Im Screen habe ich im oberen Teil den Dateninput und im unteren Teil die Antwort der API abgebildet.

 

Ich danke euch vielmals.

 

meldung.png

 

 

 

meldung.png
1 AKZEPTIERTE LÖSUNG

Akzeptierte Lösungen

@ArrowX versuch bitte einmal mit Hilfe des Features "heating.circuits.N.operating.modes.active" den aktiven Betriebsmodus zu ändern. Führe dazu folgenden Befehl aus:

 

POST https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial...

 

Wichtig: Im Body des Befehls musst du noch den neuen gewünschten Mode mitgeben. Der Body sieht dann entsprechend so aus:

 

{
   "mode": {

      "dhw"

   }

}

 

Sag mir Bescheid, ob das für dich klappt.

 

@supermidi gerne komme ich auch auf dein Thema zurück. Den Scope "IoT User" musst du während der Authentifizierung mitgeben. Also wenn du dir deinen Access Token erstellst. Schau dazu gerne nochmal in unsere API Dokumentation rein und melde dich, falls ein Schritt dort unklar ist.

 

Gruß,

 

Michael

 

Lösung in ursprünglichem Beitrag anzeigen

5 ANTWORTEN 5

Hi @supermidi, es ist generell möglich bei bestimmten Features, Änderungen durchzuführen. Für das angegbene Feature "heating.circuits.N.operating.programs.reduced" kann die Zieltemperatur geändert werden.

 

Nach der Fehlermeldung im Screenshot zu urteilen, liegt dein Fehler nicht bei der Ausführung des Features selbst, aber an einem falschen Scope. Den Scope definiert man beim generieren eines Access Tokens während des Authentication Flows. Bitte stell sicher, dass als Scope "IoT User" genutzt wird. Schau dazu gerne auch nochmal in die API Dokumentation: https://documentation.viessmann.com/static/authentication

 

Gruß,

 

Michael

Hallo Michael,

 

Vielen Dank für deine Antwort, leider stehe ich immer noch auf dem Schlauch und komme nicht weiter und habe versucht den "iot user" in den postlink hinten angehangen..., aber auch das funktioniert nicht, ist der Befehl falsch zusammen gesetzt? Oder verstehe ich die Authentifizierung nicht? Wenn ja wie macht man dies konkret und mit welchen werten? 

 

Unten mein curl link... ich danke Ihnen für eine weitere Hilfe. 

 

curl --request POST /--url https://api.viessmann.com/iot/v1/equipment/installations/975492/gateways/7724827001100216/devices/0/... /

--header 'content-type: application/json' /

--header 'authorization: <bearer token>' /

--data '{"commandName": "update","commandBody": {"setTemperature": "22"}}'

 

 

 

 

 

Hi,

ich versuche ebenfalls, den "Operating Mode" von meiner Gastherme zu setzen.

In welchem Feature muss ich den Command posten bzw. wie sieht ein Post-String für das ändern des Operating Modes exemplarisch aus?

 

Hintergrund: Ich habe das Glück, neben der Gastherme eine Luft-Luft-Wärmepumpe installiert zu haben, die ich mit PV-Strom betreibe. Ich möchte gerne auch in der kalten Jahreszeit bei Verfügbarkeit von PV-Strom die Gastherme über eine automatisierte Regel in den Operating Mode "dhw" stellen und die Wohnung anstatt über die Gastherme mit der Luft-Luft-Wärmepumpe beheizen.

Viele Grüße!

Thomas

@ArrowX versuch bitte einmal mit Hilfe des Features "heating.circuits.N.operating.modes.active" den aktiven Betriebsmodus zu ändern. Führe dazu folgenden Befehl aus:

 

POST https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial...

 

Wichtig: Im Body des Befehls musst du noch den neuen gewünschten Mode mitgeben. Der Body sieht dann entsprechend so aus:

 

{
   "mode": {

      "dhw"

   }

}

 

Sag mir Bescheid, ob das für dich klappt.

 

@supermidi gerne komme ich auch auf dein Thema zurück. Den Scope "IoT User" musst du während der Authentifizierung mitgeben. Also wenn du dir deinen Access Token erstellst. Schau dazu gerne nochmal in unsere API Dokumentation rein und melde dich, falls ein Schritt dort unklar ist.

 

Gruß,

 

Michael

 

@MichaelHanna Herzlichen Dank, Dein Hinweis hat geholfen und meine Node-Red Implementierung funktioniert nun tadellos!