Neues Modul: vitoconnect

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

Vorheriges Thema - Nächstes Thema

RoBe

verbose 5 liefert seeehr viel output. Ich sehe nichts auffälliges. Wonach sollte ich denn suchen?

Mit 0 Perl-Kenntnissen habe ich den Code mal angesehen. M.E. ist $Reading nicht initialisiert. Das sollte aber mit (! defined($Reading)) abgefangen werden. Weiß der Geier was Perl da treibt.

awe

#406
Zitat von: RoBe am 05 Dezember 2019, 12:14:14
Ich stehe hier vor der gleichen Warnung:

PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_vitoconnect.pm line 1374.

nach "update all" und "shutdown restart" erscheint diese Meldung innerhalb 15 Sekunden. Im Log finde ich keinen Hinweis auf ein fehlendes Perl-Modul. Andererseits kann ich auch keine Fehlfunktion feststellen. Alle Readings (die ich benötige) sind vorhanden und werden auch aktualisiert. Ist das nur ein kosmetisches Problem?
Auch ich erhalte exakt die obige Fehlermeldung und eine weitere:
PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_vitoconnect.pm line 1419.
Beide kommen zusammen (etwa 20 Sek. nach "shutdown restart").

Des Weiteren ist mir aufgefallen, dass vitoconnect nach beliebigen Tagen nichts mehr ins Logfile schreibt (das können mal >10 Tage sein oder auch mal nur 2½).
Die letzte Meldung im Log vor dem "Ausfall" war folgende:
vitoconnect - 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 1291.
Shutdown restart hat auch hier geholfen, aber könnte man diesen Fehler noch irgendwie einkreisen oder einen Watchdog darauf einrichten?

andreas13

Hallo zusammen,

eine Warnung ist kein Fehler. Das Modul arbeitet trotzdem einwandfrei. Ich bin leider kein guter Perl Programmierer. Wenn mir jemand sagt, wie ich die Warnungen beseitigen kann, baue ich das gerne ein. Melden müsst ihr das aber nicht, wenn das Modul ansonsten gut funktioniert

Den JSON Fehler habe ich schon gefunden. Wird mit dem nächsten Update gefixt.

Wenn die Readings nicht mehr aktualisiert werden, reicht

set vitoconnect update

Ein restart ist nicht notwendig.

VG

Andreas


Gesendet von iPad mit Tapatalk Pro
Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT

andreas13

Hallo zusammen,

Morgen gibt es endlich mal wieder ein Release.

Ich hoffe, ich habe diesmal alle Stellen gefunden, bei denen es vorkommen konnte, dass Readings nicht mehr aktualisiert werden. Da ich die Fehler auf meinem System nicht nachstellen konnte, bin ich auf Eure Feedback angewiesen.

Außerdem habe ich einiges Readings ergänzt. U.a. einige, die darauf hindeuten, dass es bald ein Geofencing in der App geben könnte (FHEM Nutzer können das dank meines Moduls ja bereits heute  ;D )


# 2019-12-25      heating.solar.power.cumulativeProduced.value, heating.circuits.X.geofencing.active, heating.circuits.X.geofencing.status hinzugefügt
#                   Behoben: Readings wurden nicht mehr aktualisiert, wenn Resource an weiteren Stellen nicht als JSON interpretiert werden konnte(Forum: #390)


Achtung! Wenn das Modul nicht mehr geladen wird, fehlen vermutlich Perlmodule! Bitte ins Logfile schauen und diese mit CPAN und/oder apt installieren!

Feedback wie immer willkommen!

Andreas


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

challo

Hallo zusammen,
hat von euch jemand auch eine Lüftungsanlage über Modbus an der Wärmepumpe angeschlossen.
Hier sind auch einige Readings verfügbar. Interessant wäre hier allerdings auch das setzen von Werten.

Gibt es Erfahrungen?

andreas13

Zitat von: challo am 24 Januar 2020, 11:58:48
Hallo zusammen,
hat von euch jemand auch eine Lüftungsanlage über Modbus an der Wärmepumpe angeschlossen.
Hier sind auch einige Readings verfügbar. Interessant wäre hier allerdings auch das setzen von Werten.

Gibt es Erfahrungen?

In dem Thread geht es um Vitoconnect und nicht um  modbus


Gesendet von iPhone mit Tapatalk Pro
Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT

challo

Das ist mir schon klar. Hab dein Modul im Einsatz mit meiner Wärmepumpe. Zusätzlich ist aber noch meine Lüftung vitovent an der Wärmepumpe angeschlossen und wird über diese gesteuert. Hier werden auch Daten über vitoconnect übertragen. Die Frage wäre ob man auch Werte über vitoconnect setzen kann. Ähnlich der Betriebsart bei der Heizung.

andreas13

#412
Zitat von: challo am 28 Januar 2020, 20:28:54
Das ist mir schon klar. Hab dein Modul im Einsatz mit meiner Wärmepumpe. Zusätzlich ist aber noch meine Lüftung vitovent an der Wärmepumpe angeschlossen und wird über diese gesteuert. Hier werden auch Daten über vitoconnect übertragen. Die Frage wäre ob man auch Werte über vitoconnect setzen kann. Ähnlich der Betriebsart bei der Heizung.

Das hängt von der API ab. Wenn diese Funktionen zum Setzen dieser Werte anbietet, kann ich das gerne einbauen.

Welche Funktionen die API anbietet, kann man sehen, wenn man

"attr vitoconnect vitoconnect_actions_active 1"

setzt. Nach dem nächsten Update gibt es dann Readings der Art:

heating.circuits.0.heating.curve.setCurve               action: slope shift
usw.

Wenn Du die "action"s hier postest oder mit per PN schickst, kann ich versuchen, die ins Modul einzubauen.

Viele Grüße

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

jo25

Hallo zusammen,

Erstmal dickes Lob, das Modul ist wirklich gut. Ich möchte u.a. die Warmwasser-Solltermperatur und die Temperatur vom HK1 setzen.
Es klappt technisch auch, der Wert wird geändert. Allerdings taucht im Log die Meldung auf:
Fehler während der Befehlsausführung:  ::

Verbose Jogging zeigt, dass Viessman mit 204 Antwortet. Im Code ist überall die Prüfung
if ($err ne "" || defined($data)) { Log3 $name, 1, "set $name $opt $args[0]: Fehler während der Befehlsausführung: ,$err, :: ,$data,";
                }

Es scheint, dass zumindest bei mir data defined ist. Aus meiner Sicht sollte die Prüfung eigentlich nur auf $err gehen, wenn man sich die Doku von HTTPUtils anschaut. Habe das bei mir an den Stellen mal so lokal geändert...

was meint ihr?

andreas13

Zitat von: jo25 am 23 Februar 2020, 17:49:27
Hallo zusammen,

Erstmal dickes Lob, das Modul ist wirklich gut. Ich möchte u.a. die Warmwasser-Solltermperatur und die Temperatur vom HK1 setzen.
Es klappt technisch auch, der Wert wird geändert. Allerdings taucht im Log die Meldung auf:
Fehler während der Befehlsausführung:  ::

Verbose Jogging zeigt, dass Viessman mit 204 Antwortet. Im Code ist überall die Prüfung
if ($err ne "" || defined($data)) { Log3 $name, 1, "set $name $opt $args[0]: Fehler während der Befehlsausführung: ,$err, :: ,$data,";
                }

Es scheint, dass zumindest bei mir data defined ist. Aus meiner Sicht sollte die Prüfung eigentlich nur auf $err gehen, wenn man sich die Doku von HTTPUtils anschaut. Habe das bei mir an den Stellen mal so lokal geändert...

was meint ihr?

Ich bin leider kein guter Perl Programmierer. Ich bin mir sicher, dass es mal Sinn gemacht hat. Nur welchen, weiss ich leider auch nicht mehr. Daher werde ich werde es im nächsten Release wieder rausnehmen. Mal sehen, ob sich einer beschwert. Bei mir funktioniert es jedenfalls.

Kannst Du mit der Fehlermeldung bis dahin leben?

Viele Grüße

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

plin

Zitat von: andreas13 am 03 März 2020, 15:53:12
if ($err ne "" || defined($data)) { Log3 $name, 1, "set $name $opt $args[0]: Fehler während der Befehlsausführung: ,$err, :: ,$data,";
Ich schätze Du hast irgendwann mal festgestellt, dass Du $data nur ausgeben kannst wenn es definiert ist. Sonst hast Du direkt einen Folgefehler.
Wenn die Variable aber immer existiert brauchst Du die Sicherheitsabfrage im if nicht.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

andreas13

Zitat von: plin am 03 März 2020, 17:48:04
Ich schätze Du hast irgendwann mal festgestellt, dass Du $data nur ausgeben kannst wenn es definiert ist. Sonst hast Du direkt einen Folgefehler.
Wenn die Variable aber immer existiert brauchst Du die Sicherheitsabfrage im if nicht.

Ja, aber dann hätte ich die Bedingungen ,,und" verknüpfen müssen.


Gesendet von iPhone mit Tapatalk Pro
Maintainer des Vitoconnect Moduls
In Betrieb: FritzBox 7590, Homematic
piko Wechelrichter (HTTPMOD). Sonos ....
noch: IT

plin

Zitat von: andreas13 am 03 März 2020, 19:17:42
Ja, aber dann hätte ich die Bedingungen ,,und" verknüpfen müssen.
da ist was dran  ;D
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

iBeSmart

Hi liebe Leute,

hat sonst noch jemand ne EMail von Viessmann erhalten, dass die API ab kommender Woche für Drittanbieter gesperrt wird?
Laut Mail arbeiten sie an einer neuen API, da das System derzeit wohl an seine Grenzen kommt, wenn alle fröhlich auf die Viessmann Server zugreifen...

ZitatThat's why we have now taken the decision to limit access to our API. From the coming week on, a threshold will become active that prevents from unauthorized use of the API. This will affect all third-party solutions, which can thereby no longer be used.

Ich bin mal gespannt, ob das vitoconnect Modul nächste Woche noch funktioniert...

War auf jeden Fall begeistert wie gut und zuverlässig das System lief!
Großes DANKE an den Modul-Entwickler!!!!

rb0

Hallo,

ich habe die E-Mail auch erhalten. Ich habe das Modul seit letzter Woche in Betrieb und würde das Abschalten auch sehr ärgerlich finden, weil die API für neue Thermen soweit ich weiß die einzige Möglichkeit ist, mitzuloggen was die Heizung so treibt.

Aber vielleicht ist das Ganze auch eine Chance:

ZitatWe are aware that the demand for APIs to our technologies for integration into other solutions and third-party systems is increasing. To provide you with an opportunity for this, we will launch a portal in the next two months for all developers to get access to our API. With the Viessmann Developer Portal, we intend to open ourselves up, release a documentation of the interface and co-develop new solutions together with you. In addition, we are planning to provide you with useful information around our heating systems you need for your development and to offer you a first-level support concerning our APIs.