Neues Modul: vitoconnect

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

Vorheriges Thema - Nächstes Thema

cetri

Hallo zusammen,

Zitat von: kroemmel am 13 Oktober 2020, 09:34:42

JSON error while request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at ./FHEM/98_vitoconnect.pm line 1478.


Den selben Fehler habe ich auch. Letzter erfolgreicher Abruf war am 11.10. um 21:25 Uhr.

Gruß
Cetri

kroemmel

... und zack! Ohne Neustart, Update oder sonst irgendwas, kommen seit exakt 12.00 wieder Antworten von Viessmann. Ich würde also spekulieren, dass es nicht am Modul oder sonst was liegt, sondern das Viessmann (mal wieder) an seinem Server herumschraubt.

cheers,
kroemmel
() FHEM als Ubuntu-VM
() VCCU mit 1 HMLAN, 2 UARTs und div. Sensoren/Aktoren (primär HM), HUE,
() Integration Fritz!Box, Googlekalender, Unifi, Viessmann Heizung, Umweltbedingungen, Sonnenstand, PWM, Jalousiesteuerung, Anwesenheitserkennung, Raumklimaüberwachung, Telegram

docwoelle

Gleiches Bild: Bei mir ist die erste Messung wieder um 11:53 Uhr eingetroffen.
Es spricht also, wie schon erwähnt, viel dafür, dass es Serverfehler waren.

CQuadrat

Bei mir auch. Seit gestern ca. 16:50 keine Verbindung mehr.
Jetzt geht es wieder.

Das bestätigt eigentlich nur wieder meine Abneigung gegen Cloud-Lösungen. Meine Viessmann-Heizung ist hier leider die einzige Anwendung, die so etwas benötigt. Da ich aber eine Viessmann-Anlage wollte und die nur diese Cloud-Anbindung anbieten, musste ich da in den sauren Apfel beißen... :'(
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

renardfm

Zitat von: CQuadrat am 13 Oktober 2020, 13:28:19
.,..
Das bestätigt eigentlich nur wieder meine Abneigung gegen Cloud-Lösungen. Meine Viessmann-Heizung ist hier leider die einzige Anwendung, die so etwas benötigt. Da ich aber eine Viessmann-Anlage wollte und die nur diese Cloud-Anbindung anbieten, musste ich da in den sauren Apfel beißen... :'(

Geht mir genau so... Allerdings hat sich jetzt wieder der Entschluss gefestigt, die Optolink Lokallösung nach Ablauf der erweiterten Garantie anzugehen...

twinFHEM

Hallo zusammen,

bei mir tritt der Fehler "Heizung - temporärer API Fehler" auf. Bisher bin ich davon ausgegangen, dass es sich dabei um die Zugriffsbschränkung seitens Viessmann handelt.
Jetzt habe ich aber hier gelesen, dass weit über 1000 Zugriff pro Tag zugelassen sind und außerdem eine diesbezügliche Fehlermeldung anders aussähe. Wir haben eine gute
Internetverbindung und Einige von euch rufen im Minutentakt ab und bekommen Response.

Laut Script von Andreas ist das die Reaktion auf einen Status-Code 502 (Bad Gateway).
Hat jemand diese Fehlermeldung auch (so oft)?

thx & gruß

docwoelle

Zitat von: twinFHEM am 14 Oktober 2020, 09:29:33
Hallo zusammen,
(..)
Laut Script von Andreas ist das die Reaktion auf einen Status-Code 502 (Bad Gateway).
Hat jemand diese Fehlermeldung auch (so oft)?

thx & gruß

Also bei mir ist alle paar Tage mal ein Aussetzer von wenigen Stunden, mal auch nur von einer halben Stunde.

Jetzt im Moment ist aber wieder seit 00:19 heute Nacht kein Poll möglich.
Entweder haben die am Protokoll geschraubt oder bei denen ist was kaputt.

kroemmel

#502
Hey,

bei mir läuft es konstant durch - Poll auf 5 Minuten. Seit dem Aussetzer Vorgestern wieder einbahnfrei.

Ich fürchte, die schrauben was an den Servern. Wenn man dem Viessmann-Forum so folgt, drängt sich die Schlussfolgerung auf, dass die Zugriffe jeweils auf die SNR der "anrufenden" Komponenten zugeschnitten sind.
Will heißen: Wenn die eine Wartung / Änderung machen, ziehen die diese für bestimmte Nummerkreise produktiv (so war es damals auch für das Update bzgl. 300 NTP-Calls die Minute (!) ).

Vielleicht bekommen wir ja so eine Idee, wie das einzusortieren ist?


Vitodens 300W       SNR 7570947*********
Vitoconnect 100     SNR 7571381*********


cheers,
florian
() FHEM als Ubuntu-VM
() VCCU mit 1 HMLAN, 2 UARTs und div. Sensoren/Aktoren (primär HM), HUE,
() Integration Fritz!Box, Googlekalender, Unifi, Viessmann Heizung, Umweltbedingungen, Sonnenstand, PWM, Jalousiesteuerung, Anwesenheitserkennung, Raumklimaüberwachung, Telegram

andreas13

Hallo didy,
ich will nicht ausschließen, dass beim Ändern des Abfrageintervalls noch ein alter Time übrig geblieben ist und daher in 2x im Intervall abgefragt wird. Wäre interessant zu wissen, ob das nach einem Neustart dann auch noch so ist. Normalerweise macht das Modul eine Abfrage (die durchaus mal einige Sekunden dauern kann!) und startet dann einen neuen Timer, so dass das Intervall eine untere Schranke darstellt.

Die Abbildung der Rohnamen zu den "eleganten" findest Du ganz am Anfang im Sourcecode des Moduls. Änderungen daran führe ich stets in den Releasenotes auf (aber die liest vermutlich eh niemand  ;) ) Die Readings für "Service_faellig" und "Service_letzter" liefert die API seit einiger Zeit nicht mehr, also kann ich da auch nichts ausgeben.

Viele Grüße
Andreas


Zitat von: didy am 25 September 2020, 14:56:39
...

In einer zweiten Phase habe ich auf 120 Sekunden gestellt. Und das sieht jetzt definitiv nicht aus wie erwartet. Die 2 Minuten sind eher eine Obergrenze. Der Mittelwert liegt bei 1:07. Sieht man auch sehr schön an der blauen Linie, das ist immer der Mittelwert aus zwei Zeitdifferenzen.
Wenn ich alle mit Zeitdifferenz 0 aus meiner Tabelle lösche (Annahme, hier wird einfach zweimal das selbe ins Log geschrieben), sieht es optisch nicht sehr viel besser aus, Mittelwert dann bei 1:13
Erst wenn man alle mit Zeitdifferenz kleiner 5 Sekunden wegfiltere, sieht man Teilbereiche wo die 2 Minuten gut eingehalten werden. Es hat aber immer noch genügend Bereiche, wo das irgendwie einfach passen kann.

Zur Info: Auf der Aussentemperatur liegt ein "event-on-update-reading" und kein min- oder max- intervall.
Es gibt noch einige andere on-update, sowie einige on-change. Für die on-change gibt es dann häufig ein min-intervall alle 300, 600 oder 3600s. (Z.B. Betriebsart bei Änderung, mindestens alle 5 Sekunden. Brennerstarts bei Änderung, mindestens alle 1h, usw.)

Wo kann der Hund begraben liegen?



Andere Frage: Gibt es eine Tabelle, welche Roh-Namen unter welchen "eleganten" Namen geführt werden? Hier hat sich mindestens die Kessel-Solltemperatur geändert (war früher das rohe Kessel_Exact) was ich anpassen musste, und früher wohl auch Werte für Service_faellig und Service_letzter, die jetzt gar nicht mehr kommen?
Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT

andreas13

Hallo Thorsten,
ich bin mir 100% sicher, dass DAS nichts mit dem Modul zu tun hat. Die API bietet keine Möglichkeit die Systemzeit einzustellen. Also kann das Modul die Systemzeit nicht einstellen oder verstellen.
Viele Grüße
Andreas

Zitat von: trs am 02 Oktober 2020, 08:57:07
Moin,

gibt es die Möglichkeit, über das Modul die Systemzeit von der Heizung einzustellen? Oder die Zeit anzeigen zu lassen? Bei mir ist die Urzeit manchmal verstellt, seit dem ich das Modul nutze, keine Ahnung warum. Dann ist das Warmwasser morgens so kalt...

Gruss
Thorsten
Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT

andreas13

Hallo zusammen,
mal ein paar ganz generelle Anmerkungen zum Umgang mit unerwartetem Verhalten des Moduls:

Lest bitte mein Posting: https://forum.fhem.de/index.php/topic,93664.msg1065705.html#msg1065705
Darin habe ich das wesentliche schon mal beschrieben.

Mittlerweile macht das Modul ein ganz passables Fehlerhandling. Das setzt natürlich voraus, dass Ihr die aktuelle Version des Moduls verwendet. Alte Versionen supporte ich nicht mehr!

Wenn grundsätzliche Dinge fehlschlagen (Server nicht erreichbar, Login nicht möglich, usw. gibt es entsprechende Fehlermelder im Log. Wenn die Kommunikaton mit dem Viessmann-Server grundsätzlich noch funktioniert, können noch folgende Fehlermeldungen auftauchen, die alle mit "vitoconnect - statusCode: xxx" anfangen.

xxx kann dabei folgendes sein:
401: Das ist kein richtiger Fehler. Er besagt nur dass Euer Token abgelaufen ist. Das Modul erneuert den Token danach aber automatisch und ihr braucht nichts zu tun.
404: Viessmann findet Euer Gerät nicht. Prüft mal Euren Optolink ob der sich vielleicht aufgehängt hat. Ggf mal die Stromversorgung unterbrechen.
429: Anzahl der möglichen API Calls in überschritten. Einfach warten, bis Viessmann Euere Sperre wieder aufhebt. Das Modul versucht es regelmäßig wieder.
502: Bad Gateway. Die API wurde nicht korrekt angesprochen. Das sollte eigentlich nur bei "set"-Befehlen vorkommen, wenn Ihr versucht Befehle auszuführen, die Eure Heizung nicht versteht (z.B. Befehle für Heizkreis 2 ausführen, wenn Eure Heizung nur einen Heizkreis hat oder die Solltemperatur auf 200 Grad setzen, wenn die Heizung maximal 30 Grad erlaubt.
Sollte da mal stehen "unbekannter Fehler: Bitte den Entwickler informieren!", dann postet die Fehlermeldung doch bitte hier, damit ich das einbauen kann.

Ansonsten kann ich nur wiederholen: Das Modul liest die Werte aus der API aus und gibt sie 1:1 wieder. Das Modul hat keinen Einfluss darauf warum ein Reading bei Eurer Heizung ein speziellen Wert zeigt oder ob ein Reading überhaupt exisitiert. Wenn Ihr meint der Wert sei falsch, dann liegt das mit 99,9%iger Sicherheit an Vissmann und der API und nicht an dem Modul. Aber mailt es ruhig hier in den Thread. Vielleicht liest ja ein Experte mit und kann die Frage beantworten. Ich bin allerdings KEIN Experte was Heizungen betriff.

Viele Grüße und weiterhin viel Spass mit dem Modul

Andreas







Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT

dsy

Hallo,
seit einiger Zeit bekomme ich nur ein login failure vom Modul.

In den Logs kommt :
vitoconnect - GetUpdate called ...
vitoconnect - ReadKeyValue tries to read value for passwd from file
vitoconnect - getCodeCallback went ok
vitoconnect - Received response: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
<META name="robots" content="noindex" /></HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="vicare://oauth-callback/everest?code=xxxx">here</A>.
</BODY></HTML>

vitoconnect - code: xxxxxxx
vitoconnect - getAccessTokenCallback went ok
vitoconnect - Received response
vitoconnect - Access Token:xxxx
vitoconnect - An error occured: gethostbyname api.viessmann-platform.io failed

Den Code und das Token hab ich mal mit xxxx für die anzeige hier überschrieben

leider komm ich da nicht weiter..

Rasbian 10 (buster) - aktuell
Auch Fhem und die Module sind aktuell.

dwallraff

Hallo zusammen!
Ich bin jetzt absolut NICHT so fit in FHEM wie ihr und habe eigentlich bisher Codeschnipsel "geklaut" und eingefügt.
Leider ist es mir in vielen Anläufen nicht gelungen wenigstens die kompakte Darstellung hinzubekommen.
Ebenso benötige ich keine Langzeitdaten, von daher auch keine SQL-Datenbank oder ähnliches (auch das habe ich mit meiner FHEM-Installation und meinem (un)Wissen nicht hinbekommen, da immer mehr Stolpersteine aufgetaucht sind.

Das Device an sich konnte ich anlegen und die Readings werden auch von Viessmann geholt.
Hat denn jemand Codeschnipsel um wenigstens eine Kompaktansicht, wie im Wiki, des Devices darstellen zu können?

Bitte keine Buh-Rufe und Verweise auf das FHEMWiki und Modul-Dokumentationen.

Vielen Dank
Dirk

andreas13

Hallo,
da funktioniert etwas mit der Namensauflösung in Deinem System nicht. Bis zur letzten Zeile ist noch alles normal.
Bitte gib mal auf deinem FHEM Server folgendes ein: nslookup api.viessmann-platform.io
Das Ergebnis sollte in etwa so aussehen:
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   api.viessmann-platform.io
Address: 52.155.238.156

Ggf mal prüfen, ob die Namensauflösung für andere Namen (zB www.web.de) funktioniert. Vielleicht ist der Fehler auch nur temporär. Ich hab die Fehlermeldung auch vereinzelt mal. Zuletzt
/opt/fhem/log/fhem-2020-11.log:2020.11.02 01:42:33 1: vitoconnect - An error occured: gethostbyname api.viessmann-platform.io failed
/opt/fhem/log/fhem-2020-11.log:2020.11.02 01:47:53 1: vitoconnect - An error occured: gethostbyname api.viessmann-platform.io failed

Vielleicht schraubt Viessmann mal wieder an Ihren Rechnern.

Ansonsten musst du mal auf dem FHEM-Server und/oder Deinem Router auf Suche gehen. Der Fehler hat aber an sich nichts mit dem Modul selbst zu tun.
Viele Grüße
Andreas



Zitat von: dsy am 03 November 2020, 13:41:07
Hallo,
seit einiger Zeit bekomme ich nur ein login failure vom Modul.

In den Logs kommt :
vitoconnect - GetUpdate called ...
vitoconnect - ReadKeyValue tries to read value for passwd from file
vitoconnect - getCodeCallback went ok
vitoconnect - Received response: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
<META name="robots" content="noindex" /></HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="vicare://oauth-callback/everest?code=xxxx">here</A>.
</BODY></HTML>

vitoconnect - code: xxxxxxx
vitoconnect - getAccessTokenCallback went ok
vitoconnect - Received response
vitoconnect - Access Token:xxxx
vitoconnect - An error occured: gethostbyname api.viessmann-platform.io failed

Den Code und das Token hab ich mal mit xxxx für die anzeige hier überschrieben

leider komm ich da nicht weiter..

Rasbian 10 (buster) - aktuell
Auch Fhem und die Module sind aktuell.
Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT

dsy

Vielen dank für den Schubser in die richtige Richtung.
Ein veralteter DNS Server Eintrag in der resolv.conf war die Ursache.

Nun läuft wieder alles super.