Neues Modul: vitoconnect

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

Vorheriges Thema - Nächstes Thema

stefanru

Ja ich mache nach einem reload immer ein clearReadings und ein logResponseOnce.

Danach gehen alle Mappings soweit bei mir auch gefüllt.
Aktion_Status kommt schon aus der API, aber manchmal gibt die API einfach keinen Error code zurück.
Ich schaue mir das nochmal an, da in diesem Fall ein HTML kommt, leider aber kein Error und ich nicht anfangen wollte das HTML zu parsen.
Aber das kann man sicher noch verbessern.

Gruß,
Stefan

87insane

#1111
Habe das Modul neu heruntergeladen (hier aus dem Forum), neu hochgeladen auf meinen Server, reload logResponseOnce und es geht noch immer nicht.
Auch die Readings habe ich gelöscht.
FHEM bzw server neustart hilft auch nicht.

@stefanru: Kannst du mir mal dein git geben? ggf. stimmt einfach irgendwas nicht mit der Datei.

stefanru

@87insane: Hier mein Git versuche mal von dort das Modul zu holen. https://github.com/StefanRu1/FHEM
Sollte das auch nichts bringen mach mal verbose 3 an und schicke mir die Ausgaben aus dem FHEM log nach dem du eine Aktion ausgeführt hast.

Gruß,
Stefan


stefanru

Nur damit ja nichts schief geht mach mal bitte so, in der FHEM commandline (oben)
"wget -qO ./FHEM/98_vitoconnect.pm https://github.com/StefanRu1/FHEM/raw/refs/heads/main/FHEM/98_vitoconnect.pm"
dann auch oben
reload 98_vitoconnect.pm

Gruß,
Stefan

87insane

#1114
Genau so hab ich es getan, no way.

Aber das Verbose sagt da schon mehr.

2024.12.03 18:51:39 3: viessmann_server, vitoconnect_action url=https://api.viessmann.com/iot/v2/features/installations/123465/gateways//devices/0/features/heating.circuits.1.operating.modes.active/commands/setMode
2024.12.03 18:51:39 3: viessmann_server, vitoconnect_action data={"mode":"heating"}
2024.12.03 18:51:39 3: viessmann_server, vitoconnect_action call finished err:
2024.12.03 18:51:39 3: viessmann_server,vitoconnect_action: set viessmann_server HK2-Betriebsart heating, korrekt ausgefuehrt

Ist das doppel Slash das Thema (hinter gateways)?

EDIT:
In der resource json finde ich auch folgendes:
"uri": "https://api.viessmann.com/iot/v2/features/installations/123456/gateways/7734827434865505/devices/0/features/heating.circuits.1.operating.modes.active/commands/setMode"(IDs verfremdet)

Hier ist hinter Gateways noch eine ID. Daher mutmaßlich auch die doppel / bei mir. Diese scheint beim Aufruf zu fehlen.

stefanru

#1115
Oh wow da ist die GW Serial leer.
Da habe ich tatsächlich Änderungen vorgenommen.
Ich denke auch ich weiß woher das kommt.

Das hab ich nicht richtig durchdacht wenn man mehrere Serials hat wie man dann die Setter macht. Das geht eigentlich gar nicht.
Da überlege ich mir etwas.

Setze erstmal vitoconnect_serial auf deine Gateway Serial, dann sollte es gehen.

Gruß,
Stefan

stefanru

Vielen Dank für die Fehlermeldung.

Ich habe das Handling überarbeitet.
Es sollte nun für alle direkt funktionieren die nur eine Gateway Serial haben.

Habt ihr mehr als ein Gateway holt das Modul zwar die Daten, wollt ihr aber einen Setter verwenden fordert es euch auf eine Serial in vitoconnect_serial zu setzen.

Ich weiß nicht ob es wirklich Sinn macht mit mehreren Gateways in einem Device zu arbeiten, ich würde das vom Coding wahrscheinlich hinbekommen, ist aber einges an Arbeit.
Solange das niemand braucht lasse ich es.

Ich empfehle wie schon erwähnt bei mehreren Gateways über vitoconnect_serial diese auseinander zu steuern. Dann gehen auch die Setter.
Ansonsten gibts jetzt eine aussagekräftige Meldung.

@87insane: bitte testen und Rückmeldung geben, da ich JSON mit nur einem Gateway nicht testen kann hab zwei ;-)
Wie vorher oben in die FHEM Leiste genau diese Zeilen eingeben, zuerst die erste und ausführen dann die zweite und ausführen.
"wget -qO ./FHEM/98_vitoconnect.pm https://github.com/StefanRu1/FHEM/raw/refs/heads/main/FHEM/98_vitoconnect.pm"
reload 98_vitoconnect.pm

Gruß,
Stefan

buec65

Mit der Version vom 2.12. gibt es bei mir Probleme mit den API-Calls

Bei Abfrageintervall 180 Sekunden konnte ich immer in 2 fhem Installationen die Werte parallel holen, funktionierte mit der Version 30.11. auch noch.

statusCode: 429 errorType: RATE_LIMIT_EXCEEDED message: API calls rate limit has been exceeded. Please wait until your limit will renew. error:

stefanru

Hi Buec,

kannst du mir dein Setup genauer erklären?
Du hast 2 FHEM Instanzen die die API rufen.
Du hast ein Gateway den du abfragst?
Welche Attribute hast du am Device gesetzt?

Wenn das mit den 2 Devicen und einem Gerät so stimmt machst du 2x 480 Calls pro Tag = 960 Calls. (Ohne set Befehle und logResponce once).
Das Limit liegt bei 1400 pro Tag und es sollte somit locker passen.

Ich hatte mit einem anderen Modul schonmal das Problem das ein Timer hängen blieb.
Hier hatte ich das nie beobachtet.
Könntest du zur Sicherheit beide FHEM Instanzen neu starten?

Auf https://developer.viessmann.com/ kannst du deine Calls sehen.
Unter "Use of the API transaction" kannst du deine Calls sehen.
Hier scheint aber auch nicht richtig gerechnet zu werden von Viessmann, aber zumindest wenn du nur den heutigen Tag auswählst siehst du die calls von heute.

Ich habe heute bisher 575 calls.
Das mit einem Device mit Intervall 180 und mit einem mit Intervall 300.

Zur Zeit kann ich nur vermuten dass sich bei dir die Timer aus irgendwelchen Gründen verschluckt haben und alles doppelt lief.

Gruß,
Stefan


buec65

Hallo Stefan,

bei mir gibt es 2 Debian Rechner mit fhem Installation weil der ältere ersetzt werden soll. Die laufen schon länger parallel und es gab nie Probleme mit der Abfrage.

defmod Vito_300w vitoconnect Benutzer Kennwort 180

Bei einem steht bei gw

{"data":[{"gatewaySerial":"7724827....
   
Beim anderen

{"cursor":{"next":""},"data":[{"serial":"772482....

Sonst sehe ich keinen Unterschied.

Auf beiden identisch nur bei einer Installation das Modul vom 2.12. installiert

1451 Api-Calls

sepultura30

Hallo Stefan,

bei mir sind innerhalb von 6 Stunden alle API-Calls verbraucht gewesen.
Ich habe schon immer 120 sec. eingestellt, das hat auch bisher gut funktioniert.


Grüße

Sandro

stefanru

Ok,
so ganz verstehe ich das nicht.
Bei mir keine Probleme mit 2 Devices.

Wie gesagt startet mal FHEM durch. Ich denke dann ist der Spuk vorbei sobald ihr wieder API calls machen dürft.

Ich baue trotzdem mal ein Logging ein damit man das genau beobachten kann.

Gruß,
Stefan

sepultura30

Zitat von: stefanru am 04 Dezember 2024, 16:00:29Ok,
so ganz verstehe ich das nicht.
Bei mir keine Probleme mit 2 Devices.

Wie gesagt startet mal FHEM durch. Ich denke dann ist der Spuk vorbei sobald ihr wieder API calls machen dürft.

Ich baue trotzdem mal ein Logging ein damit man das genau beobachten kann.

Gruß,
Stefan

EventCount 4 im Modul

-> Viessmann Use of the API transaction 12 Total

Ein Abruf im Modul, verursacht 3 API-Calls

Grüße

Sandro

stefanru

Ich gehe nochmal alles durch und baue logging ein.

Trotzdem verstehe ich es nicht, da ich das Problem nicht habe. Ich gebe aber auch eine Gateway Serial vor, ihr wahrscheinlich nicht?

Bei logResponseOnce kann es sein das mehrere APICalls gemacht werden, da auch Installation und GW geholt wird aber bei einem Update dürfe es nur eine Ausführung geben (bzw. so viele wie Gateways da sind außer es ist durch vitoconnect_serial begrenzt auf eine).
Was sagt denn das Reading number_of_gateways wenn ihr vitoconnect_gw_readings auf 1 habt?

Gruß,
Stefan

stefanru

Ok Danke, ich habe den Fehler.
Update kommt heute noch....