Neues Modul: vitoconnect

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

Vorheriges Thema - Nächstes Thema

bruen985

gleiches Problem bei mir seit heute 13:38.

Logeintrag:
Can't use string ("2021-04-01T11:29:27.944Z") as an ARRAY ref while "strict refs" in use at ./FHEM/98_vitoconnect.pm line 1724.

Gruß
Oliver
- FHEM v6 | Rasberry PI 4
- ESP3 Enocean USB-Stick
- V 3.3.2.1-rc9 SIGNALduino cc1101, v3.4.4
- MQTT2_FHEM_Server

Udomatic

#556
Gleiche Situation bei mir auch ab 12.53. Das unheimliche war, dass FHEM dann in einem Loop meine Haustür aufgeschlossen hat über die Nuki Bridge!!
2x Raspberry 3B+, 1x Raspberry 4, Signalduino 433 (Somfy), CUL_HM (HM-MOD-RPI-PCB), MQTT, Hue, ConBee 2, Sonos, AVM DECT, Netatmo, eufy, Nuki,

Frini

Selbes Problem hier ab 12:17 Uhr.
Hab ne Benachrichtigung über telegram laufen wenn FHEM neustartet. Die Nachricht kam im 20 Sekundentakt.

Pe-Sal

Gleiches Problem bei mir seit heute kurz nach 12:00

Letzter Logeintrag:
Can't use string ("2021-04-01T17:59:02.848Z") as an ARRAY ref while "strict refs" in use at ./FHEM/98_vitoconnect.pm line 1724.

Beste Gruesse

Peter
FHEM auf Raspberry Pi3 mit:
- DUOFERNSTICK und DUOFERN-Funkmotore
- G-Homa WiFi Steckdosen
- HUE-Integration
- VitoConncent-Integration

mtron

Hi,
leider auch das gleiche Problem ab ca. 12:00 Uhr.

CoolTux

Ändert bitte einmal im Modul die Zeile 1724
von


my $Array = join( ",", @$Value );


nach


my $Array = ( ref($Value) eq 'ARRAY' ? join( ",", @$Value ) : $Value );


Das sollte den Absturz vorerst abfangen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mthome

@CoolTux - super vielen Dank - funktioniert  :D

plin

#562
Moin,

ich habe die Zeile 1724 angepasst und FHEM bleibt oben. Aber ich kriege keine Verbindung

2021.04.02 08:50:28 4: Heizung - GetUpdate called ...
2021.04.02 08:50:28 4: Heizung - getResourceCallback went ok
2021.04.02 08:50:28 4: Heizung - statusCode: 502 errorType:  message: DEVICE_COMMUNICATION_ERROR error: Bad Gateway
2021.04.02 08:50:28 1: Heizung - temporärer API Fehler


P.S. THX to @CoolTux für den schnellen Fix

Ist das bei Euch auch so?

Update: War ein lokales Problem - mein Optolink hatte die Verbindung verloren.

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

FNIK

@CoolTux - super vielen Dank - es funktioniert auch bei mir wieder  :D

bruen985

@CoolTux: funktioniert!! Danke Dir!

Gruß
Oliver
- FHEM v6 | Rasberry PI 4
- ESP3 Enocean USB-Stick
- V 3.3.2.1-rc9 SIGNALduino cc1101, v3.4.4
- MQTT2_FHEM_Server

andreas13

Hallo zusammen,
tut mir echt leid, dass es zu diesem Fehler gekommen ist. Der Bugfix ist schon eingespielt und kommt morgen.

Zum Hintergrund:
Viessmann hat an der API rumgeschraubt und hat dabei wohl das Klasse "heating.power.consumption" übersehen, die sie eigentlich schon vor langer Zeit durch "heating.power.consumption.total" ersetzt haben aber seither immer noch mit rumschleppen.

Da Viessmann diese Klasse eigentlich nicht mehr benutzt, haben sie wohl vergessen, sie zu testen und daher ist wohl nicht aufgefallen, dass
bei den Werten "heating.power.consumption.XXXValueReadAt" (XXX=year/day/month) als Feldtype "array" statt "string" steht. Da aber ein Zeitstempel (also ein String)  geliefert wird, kam mein Modul leider aus dem Tritt. In der Klasse "heating.power.consumption.total" sieht man, wie es richtig sein müsste.

Vielleicht hätte ich testen müssen, ob die API auch wirklich ein Array liefert, wenn sie das ankündigt, aber das nicht zu tun, ist schon ein bisschen gemein. Ich kann ja nicht jeden Verstoß gegen die Regeln der API vorhersehen, die sich Viessmann ausdenkt.

Von daher fürchte ich, dass ich solche Fehler nie ganz verhindern kann. Gottseidank kommt es nicht allzuhäufig vor und CoolTux hat schnell einen Workaround geliefert. Dafür vielen Dank!

Als kleine Entschädigung gibt es mit dem morgigen Release ein paar neue Readings. Ich hoffe, dass jetzt alles wieder funktioniert und das Modul wieder stabil läuft.

Viele Grüße und schöne Ostern

Andreas


Zitat von: CoolTux am 02 April 2021, 03:04:05
Ändert bitte einmal im Modul die Zeile 1724
von


my $Array = join( ",", @$Value );


nach


my $Array = ( ref($Value) eq 'ARRAY' ? join( ",", @$Value ) : $Value );


Das sollte den Absturz vorerst abfangen.


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

andreas13

Hallo spenglermaus,
das sind erstmal nur Warnung. Wenn das Modul ansonsten funktioniert (d.h. es werden Readings angezeigt), dann ist alles ok.
Wenn nicht, dann setz "verbose" mal auf "4" und schau dann nochmal ins Logfile.

Viele Grüße
Andreas



Zitat von: spenglermaus am 14 März 2021, 23:08:45
Servus zusammen,

ich bin blutiger Anfänger und will mittels FHEM und diesem Modul meiner Brennstoffzelle ein paar Daten entlocken.
Ich habe glaube ich alles richtig auf dem Raspi installiert. Allerdings läuft es wohl nicht wie es soll. Ich habe folgende Logfile Einträge.

2021.03.14 22:44:14 3: vitodata - Passwort war bereits gespeichert
2021.03.14 22:44:25 1: PERL WARNING: Use of uninitialized value $installation in concatenation (.) or string at ./FHEM/98_vitoconnect.pm line 1566.
2021.03.14 22:44:25 1: PERL WARNING: Use of uninitialized value $gw in concatenation (.) or string at ./FHEM/98_vitoconnect.pm line 1570.
2021.03.14 22:44:25 1: PERL WARNING: Use of uninitialized value $installation in string eq at ./FHEM/98_vitoconnect.pm line 1592.

Kann man damit was Anfangen?

Mit besten Dank schon mal

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

mtron

Hallo andreas13,

super! Läuft wieder.  :)
Vielen Dank.

bruen985

Hallo Andreas,

vielen Dank für die Korrektur!! Ich habe das Update gleich heute morgen durchgeführt.

Sieht auch gut aus, jedoch habe ich nun doch etliche Logeinträge der folgenden Natur innerhalb weniger Stunden:


2021.04.03 10:41:49 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt
2021.04.03 10:41:49 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 10:41:49 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 10:41:49 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 10:41:49 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 11:11:50 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt
2021.04.03 11:11:50 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 11:11:50 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 11:11:50 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 11:11:50 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 11:41:52 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 11:41:52 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 11:41:52 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 11:41:52 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 11:41:52 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt
2021.04.03 12:11:53 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt
2021.04.03 12:11:53 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 12:11:53 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 12:11:53 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 12:11:53 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 12:42:05 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 12:42:05 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 12:42:05 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 12:42:05 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt
2021.04.03 12:42:05 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 13:12:06 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 13:12:06 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 13:12:06 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 13:12:06 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 13:12:06 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt
2021.04.03 13:42:07 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 13:42:07 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 13:42:07 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 13:42:07 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 13:42:07 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt
2021.04.03 14:12:08 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 14:12:08 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt
2021.04.03 14:12:08 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 14:12:08 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 14:12:08 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 14:42:10 1: Heizung - Array Workaround for Property: heating.power.consumption dayValueReadAt
2021.04.03 14:42:10 1: Heizung - Array Workaround for Property: heating.power.consumption monthValueReadAt
2021.04.03 14:42:10 1: Heizung - Array Workaround for Property: heating.power.consumption unit
2021.04.03 14:42:10 1: Heizung - Array Workaround for Property: heating.power.consumption weekValueReadAt
2021.04.03 14:42:10 1: Heizung - Array Workaround for Property: heating.power.consumption yearValueReadAt


Kann man das irgenwie etwas eindämmen?

Gruß
Oliver
- FHEM v6 | Rasberry PI 4
- ESP3 Enocean USB-Stick
- V 3.3.2.1-rc9 SIGNALduino cc1101, v3.4.4
- MQTT2_FHEM_Server

bruen985

..... kleine Ergänzung:
habe ein Intervall von 1800 sec (= 30 Min.) eingestellt.
Das ist genau der Abstand in dem die Logeinträge entstehen.

Gruß
Oliver
- FHEM v6 | Rasberry PI 4
- ESP3 Enocean USB-Stick
- V 3.3.2.1-rc9 SIGNALduino cc1101, v3.4.4
- MQTT2_FHEM_Server