Vitoconnect - Verbesserte Version

Begonnen von stefanru, 14 Dezember 2024, 23:32:17

Vorheriges Thema - Nächstes Thema

Beta-User

Danke für die Rückmeldung und die Info, ich hoffe, dass sich dein weiteres Thema einigermaßen zeitnah und gut lösen läßt - unabhängig davon, wie schnell wir ggf. dann mit dem Modul weiterkommen.

Bei mir läuft das auch ziemlich nebenher, von daher wäre das Ziel, das vor der nächsten Heizperiode funktional zu haben ;D .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

stefanru

Hi Beta-User,
kurzes Lebenszeichen von mir.
Bis zur nächsten Heizperiode klingt realistisch ;-)
Bin aber noch die nächsten Wochen eingespannt.

Ich melde mich sobald ich etwas Luft habe.
Dann können wir mal schauen wie wir am besten weiter kommen und ich kann mir das mal anschauen und testen.

Gruß,
Stefan
 

Beta-User

Hi Stefan,

Danke für die Zwischeninfo :) , hat alles keine Eile!

Falls jemand testen will: Es gibt in https://forum.fhem.de/index.php?msg=1342809 eine Variante, bei der man ganz ohne Verzicht auf das aktuelle (svn-) Modul aus den raw-Reading-Namen in einem oder mehreren separaten Device/s "schöne" Reading-Namen erzeugen können sollte. Hab's noch nicht mit den "roger"- oder "svn"-mapping-files aus meinen letzten Beiträgen hier getestet, aber wenn es Events am "master" gibt, sollte es auch Aktualisierungen an den Proxy-Devices geben ;D .

weekprofile geht dann (mit der svn-Version) natürlich noch nicht, aber sonst _könnte_ sogar das mit den "normalen" (aber gemappten!) set-Befehlen schon funktional sein.
Wenn sich jemand (nicht stefanru selbst!) mal an einen Test für subDeviceProxy wagen würde, wäre das super (das geht auch ganz unabhängig von vitoconnect!).

Mein nächster Schritt wäre, meine Variante von vitoconnect weiter zu verschlanken und dann die "Dispatch"-Anweisungen reinzucoden; auch deswegen wäre ich froh, wenn jemand anderes sich die notifyFn-Variante "ertesten" würde ;) .
Wird auch etwas dauern, aber (sehr) vielleicht reicht es mir mit Dispatch bis Ende der kommenden Woche, mal schauen. So groß sollte der Aufwand nicht sein, aber der Teufel steckt halt oft im Detail....
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Schlimbo

Hi,
bei mir wird seit dem 23.04.2025 das Reading "device.messages.errors.raw.entries" nicht mehr aktualisiert, die API scheint diesen Wert nicht mehr auszugebe.
Auch in der resource_*.json konnte ich ihn nicht mehr finden.
Ist das bei euch auch so?

Beim Analysieren der resource_*.json ist mir außerdem noch etwas anderes aufgefallen, das vielleicht für manche interessant sein könnte:
Bei manchen Datenpunkte gibt es ein Feld "deprecated"
    "feature": "heating.dhw.sensors.temperature.hotWaterStorage",
      .
      .
      .
      }
      },
      "commands": {},
      "deprecated": {
        "removalDate": "2024-09-15",
        "info": "replaced by heating.dhw.sensors.temperature.dhwCylinder"
      }

Bei mir betrifft es folgende Readings:
heating.buffer.sensors.temperature.main                -->  replaced by heating.bufferCylinder.sensors.temperature.main
heating.buffer.sensors.temperature.top                 -->  replaced by heating.bufferCylinder.sensors.temperature.top
heating.dhw.sensors.temperature.hotWaterStorage        -->  replaced by heating.dhw.sensors.temperature.dhwCylinder
heating.dhw.sensors.temperature.hotWaterStorage.bottom -->  replaced by heating.dhw.sensors.temperature.dhwCylinder.bottom
heating.dhw.sensors.temperature.hotWaterStorage.top    -->  replaced by heating.dhw.sensors.temperature.dhwCylinder.top

Laut ChangeLog von Viessmann (Feb 2025) betrifft es aber noch mehr: https://documentation.viessmann.com/static/changelog

Obwohl der 15.09.2024 schon vorbei ist und die deprecated Readings weiterhin aktualisiert werden, habe ich meine Logiken vorsorglich mal auf die neuen Readings umgestellt. (evtl. haben sie auch ein Schreibfehler und meinen 2025)

Gruß Schlimbo

stefanru

Hi Schlimbo,
ich bin immer noch etwas außer gefecht.
Das mit den "device.messages.errors.raw.entries" habe ich mir angeschaut.
Im Februar kam es noch.
Jetzt ist es nicht enthalten.
Ich finde aber auch nichts weder im Google noch im Viessmann Forum dass das gelöscht wurde.
Viessmann will ja immer Daten sparen und Bandbreite.
In der API Doku unter DataPoints taucht es nicht auf https://documentation.viessmann.com/static/iot/data-points.
Entweder haben sie es entsorgt oder der Datenpunkt kommt nur wenn man auch einen Fehler hat.
Da meine Anlage zur Zeit mal keine Fehler hat kann ich das nicht prüfen.

Das Mapping wird von Viessmann geändert, deshalb sind ja Raw Readings eigentlich die bessere Wahl.
Dann wird automatisch umgestellt.

Ich kann die neuen Mappings aber gerne auch irgendwann nachtragen.

Gruß,
Stefan

Beta-User

Scheint, wir haben ein Problem mit Path::Tiny, ich zitiere das auch mal hier:

Zitat von: Olaf am 29 Juni 2025, 10:17:24Can't locate object method "child" via package "6" (perhaps you forgot to load "6"?) at ./FHEM/98_vitoconnect.pm line 3924.[...]
Welche Infos werden noch benötigt, um hier weiterhelfen zu können?

Weitere Diskussion im Ausgangsthread.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

stefanru

Hi, schau ich mir im Ausgangsthread an, kann das bei mir aber nicht nachstellen.

Kohle77

Guten morgen,
ich habe ein mail bekommen das sich wohl die Domain ändert bei Viessmann.
Bin mir aber nicht sicher ob das Spam oder sowas ist.

Dear Developer Portal user,

As part of the continuous optimization and modernization of our services, we are currently in the process of switching our applications and websites to the new domain viessmann-climatesolutions.com. This change will also affect the domains for resources such as the Developer Portal and the API Documentation.

 

For your integrations, this requires the following technical updates:

 

1. API Endpoints:

    The base URI for all API calls is changing. You need to update your code to use the new domain.

Old: api.viessmann.com
New: api.viessmann-climatesolutions.com
 
<--truncated--->
The API endpoints under the new domain are already available, and we ask you to please use the new addresses with immediate effect. The old viessman.com domain will be deactivated during Q4/2025, by the end of the year at the latest.


We understand that these changes may require adjustments to your existing code. To assist you in this process, we recommend referring to the API documentation.


Ist da was dran?

Gruß
Christian

Beta-User

Habe das auch bekommen, sieht offiziell aus.

Dürfte aber nicht dramatisch sein:

ZitatThe API endpoints under the new domain are already available, and we ask you to please use the new addresses with immediate effect. The old viessmann�.com domain will be deactivated during Q4/2025, by the end of the year at the latest. 
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

JWRu

Ich habe das auch bekommen. Da bleibt ja noch genügend Zeit, um das Modul anzupassen.
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

andies

Ich habe seit einiger Zeit keine updates gemacht und hatte daher noch das alte vitoconnect-Modul. Dort habe ich testweise die URIs geändert, erhielt dann aber im Logfile Fehlermeldungen der Form:
2025.07.13 11:35:53 1: Hannah - An error occured: DNS: Cant find host
2025.07.13 11:40:53 1: Hannah - An error occured: DNS: Cant find host
2025.07.13 11:45:53 1: Hannah - An error occured: DNS: Cant find host
2025.07.13 11:50:53 1: Hannah - An error occured: DNS: Cant find host
2025.07.13 11:55:53 1: Hannah - An error occured: DNS: Cant find host
Da scheint also was falsch zu sein. Ich habe jetzt Version 0.8.7, dort aber die neuen URIs nicht getestet. Man würde eigentlich die URIs ändern, oder?
my $apiURL        = "https://api.viessmann.com/iot/v1/equipment/";
my $iotURL_V1     = "https://api.viessmann.com/iot/v1/equipment/";
my $iotURL_V2     = "https://api.viessmann.com/iot/v2/features/";
my $errorURL_V3   = "https://api.viessmann.com/service-documents/v3/error-database";
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

stefanru

Hi, ja das mit den URLs habe ich auf dem Schirm und wollte das demnächst mal umstellen.
Habe die URLs noch nicht getestet, werde es aber demnächst versuchen.
Da wollte ich mir auch das mit dem File write anschauen ob ich es auf FHEM Standard umstellen kann um Path::Tiny zu umgehen.

Gruß,
Stefan

stefanru

Hi,

ich habe die neuen URLs umgesetzt.
Habe die Base URLs nun auch herausgezogen so dass diese bei der nächsten Änderung einfach zu ändern sind.
Ich habe es getestet und es scheint ohne Probleme zu funktionieren.
Konnte auch nicht feststellen dass sich etwas an den gelieferten Daten geändert hätte.

Im Anhang eine neue Version mit folgenden URLs:
my $callback_uri  = "http://localhost:4200/";
my $apiBaseURL    = "https://api.viessmann-climatesolutions.com";
my $iamBaseURL    = "https://iam.viessmann-climatesolutions.com";
my $iotURL_V1     = "$apiBaseURL/iot/v1/equipment/";
my $iotURL_V2     = "$apiBaseURL/iot/v2/features/";
my $authorizeURL  = "$iamBaseURL/idp/v2/authorize";
my $tokenURL      = "$iamBaseURL/idp/v2/token";
my $errorURL_V3   = "$apiBaseURL/service-documents/v3/error-database";

Bitte testet mal. Wenn es keine Beschwerden gibt werde ich es ins GIT und ins SVN übernehmen.

Bei Gelegenheit schaue ich nach dem File Write, obwohl das wohl ein sehr System spezifisches und exotisches Problem ist.

Gruß,
Stefan

andies

Ich habe (zuerst die neue Versionsnummer eingegeben 8) und dann) das hochgeladen sowie einen Neustart gemacht. Klappt, danke!
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

stefanru

Ok,
danke fürs Testen.

Neue Version 0.9.0  - bugfix:  98_vitoconnect: New api and iam URL
ist im GIT und im SVN ab morgen.

Gruß,
Stefan