Hallo zusammen.
Ich denke ich bin auf ein interessantes Problem gestoßen, insofenr man FHEM mit einer Postgres Datenback (>v9, beim mir 9.6, um genau zu sein) & configDB nutzt,
und gerne einen SVG Plot mit mehr als einem Reading erstellen möchte.
Erstelle ich den Plot mit einem Reading, ist alles okay, wird richtig angelegt & auch später richtig dargestellt.
Versuche ich aber dem PLot ein zweites Reading zu geben (z.B. ncht nur Temperatur, sondern auch Luftfeuchtigkeit darzustellen), und klicke auf "Write .gplot file",
stürzt FHEM ab.
Folgende Meldung findet sich im Log:
2017.03.16 14:11:40 4: configDB writing file: ./www/gplot/SVG_logdb_3.gplot
2017.03.16 14:11:40 1: PERL WARNING: DBD::Pg::st execute failed: ERROR: invalid input syntax for type bytea at configDB.pm line 364.
DBD::Pg::st execute failed: ERROR: invalid input syntax for type bytea at configDB.pm line 364.
2017.03.16 14:11:40 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Pg::db handle dbname=fhem;host=127.0.0.1;port=5432 at configDB.pm line 364.
Warum screibe ich explizit Postgres > Version 9?
Meine Recherche hat ergeben, dass in Postgres bei der Version 9 sich das escaping geändert hat:
ZitatSpecifically, Postgres 9.0 changed the handling of escape strings used with bytea: previous versions treated \ in regular string literals such as '\' as escape characters, whereas newer versions use the escape string syntax E'\'.
Siehe: https://www.postgresql.org/docs/9.3/static/datatype-binary.html (https://www.postgresql.org/docs/9.3/static/datatype-binary.html)
Aufgrund des Inhalts der svgplot files, würde ich einmal schwer darauf tippen, das es sich hier wirklich um dieses Problem handelt.
Eine Umstellung des Escapings in der postgres.conf
bytea_output = 'escape'
brachte leider aber keine Abhilfe.
Jetzt bin ich leider etwas ratlos, wie ich weiter mit dem Problem verfahren soll, vllt. hat ja jemand ähnliche Erfahrungen gemacht, oder auch sogar eine Lösung des Problems parat.
Freuen würde es mich...