FHEM Forum

FHEM => Sonstiges => Thema gestartet von: tiroso am 28 Dezember 2014, 08:21:33

Titel: Fehlerhaftes Abspeichern in mysql (configDB)
Beitrag von: tiroso am 28 Dezember 2014, 08:21:33
Hallo zusammen,

ich habe mich jetzt länger an einem Floorplan versucht. Soweit so gut, die Sicherung schien auch erstmal korrekt durchgelaufen zu sein. Nach neustarten von FHEM und beziehen der aktuellen Config war dieser aber alles andere als widerhergestellt.
Die HTML Codes im Modul weblink sind nach einer Anzahl Zeichen abgeschnitten und versauen mir somit auch das normale Frontend ;)
Ausserdem werden nicht alle Koordinaten in jedem Device gespeichert sondern mit Standartwerten überschrieben. Viele Devices liegen auf dem Floorplan an der Koordinate "107,713,0,", Komischerweise nur die Schalltaktoren von Homematic. Dummys haben ihre Poisition gespeichert.
im Logfile habe ich zum Zeitpunkt des Sicherns dann diese Zeilen gefunden:


2014.12.28 06:52:32 1: PERL WARNING: DBD::mysql::st execute failed: Got a packet bigger than 'max_allowed_packet' bytes at configDB.pm line 301.
2014.12.28 06:52:32 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle database=FhemConfig;host=192.168.178.150;port=3306 at configDB.pm line 301.


Ist der Fehler selbstverschuldet oder schon bekannt? Wie könnte ich Abhilfe schaffen?

Ein Device vom Typ "structure" ist auch auf dem Floorplan. Dieser beinhaltet die anderen Devices. Die Koordinate wird beim Abspeichern für alle Devices mit angegeben anstatt deren eigenen.

Ist das generell so oder nur in Verbindung mit configDB?
Titel: Antw:Fehlerhaftes Abspeichern in mysql (configDB)
Beitrag von: betateilchen am 28 Dezember 2014, 11:07:16
Zitat von: tiroso am 28 Dezember 2014, 08:21:33
Die HTML Codes im Modul weblink sind nach einer Anzahl Zeichen abgeschnitten

nach wievielen Zeichen?
Titel: Antw:Fehlerhaftes Abspeichern in mysql (configDB)
Beitrag von: tiroso am 28 Dezember 2014, 12:15:20
Hallo,

Ich habe mich geirrt. Ich habe in dem weblink HTMLCode eine Raute drin. Ab da ist der Rest weg.
Der String wurde korrekt in der SQL gespeichert allerdings fehlerhaft ausgelesen.

Wie escape ich diese Sonderzeichen?


Ein bearbeiten im Browser funktioniert. Auch ein Raute Zeichen bewirkt nichts negatives.
Wenn ich allerdings das Device über die Befehlseingabe definiere mit Sonderzeichen klappt es auch nicht. Und halt das auslesen aus der SqlDB
Titel: Antw:Fehlerhaftes Abspeichern in mysql (configDB)
Beitrag von: betateilchen am 04 Januar 2015, 10:53:48
Die Raute kennzeichnet innerhalb von perl einen Kommentar, das heißt, ab der Raute wird bei der Ausführung nicht weitergearbeitet. Du kannst versuchen, die URL in Deinem weblink normgerecht zu kodieren, dann sollte die Raute automatisch korrekt übergeben werden.
Titel: Antw:Fehlerhaftes Abspeichern in mysql (configDB)
Beitrag von: RoBra81 am 04 Januar 2015, 11:04:39
Ich hatte das auch schon - vermutlich war es keine URL sondern (so war es bei mir) eine  Farbangabe in RGB (color:#ffaacc)
Titel: Antw:Fehlerhaftes Abspeichern in mysql (configDB)
Beitrag von: tiroso am 11 Januar 2015, 07:19:22
Ja die Farbangabe war es. Bin das ganze durch Angabe von RGB Angaben umgangen.
Titel: Antw:Fehlerhaftes Abspeichern in mysql (configDB)
Beitrag von: betateilchen am 11 Januar 2015, 10:55:21
Na dann bin ich ja beruhigt :)