Fehler: Lange Namen

Begonnen von Shax, 13 März 2015, 00:50:22

Vorheriges Thema - Nächstes Thema

Shax

Hallo zusammen!

Mir ist aufgefallen das wenn Geräte zu lange Namen haben, dass diese abgeschnitten werden.
Bei Homematic ist mir das aufgefallen bei den Thermostaten die per Autocreate angelegt wurden und Channel wie z.B. Climate nur nich _Cli hießen.
SwitchTR beim Wandthermostat wurde zu _Sw usw usw.

Jetzt bei der Buderus KM200 ist es fast nicht möglich Plots anzulegen da es immer wieder zu Fehlern führt, Beispielsweise:
/system/sensors/temperatures/hotWater_t2 wird zu /system/sensors/temperatures/ho

Das hatte ich sowohl in der File Variante, als auch jetzt in ConfigDB. Ist da irgendwo eine Variable mit zu wenigen Zeichen hinterlegt?

Wäre super wenn da jemand Ansatzpunkte hätte wo man da nachschauen könnte. Ich bin in Perl noch nicht ganz so fit, lerne es aber gerade fleissig.

Grüße
Shax
Raspberry Pi2 mit CUL SCC 1.2 - Raspberry Pi2 CUL SCC 2.0 - Raspberry Pi 3 mit RPI-RF-MOD - Raspberry Pi Relaissteuerung für Gartenstrom

rudolfkoenig

ZitatMir ist aufgefallen das wenn Geräte zu lange Namen haben, dass diese abgeschnitten werden.
Wo denn? Ich kann es nicht nachvollziehen, mit einem Namen der Laenge 80+ habe ich kein Problem, gerade probiert.

Shax

Hier mal auf die schnelle ein Beispiel, das mit dem Wandthermostat kann ich erst später dokumentieren wenn ich mal wieder eins einbinde:

(http://www.ip-team.org/beispiel2.jpg)

Dort sieht man die Variablen abgeschnitten, das passiert auch bei den Wandthermostaten so (nicht nur bei Plots).
Raspberry Pi2 mit CUL SCC 1.2 - Raspberry Pi2 CUL SCC 2.0 - Raspberry Pi 3 mit RPI-RF-MOD - Raspberry Pi Relaissteuerung für Gartenstrom

Shax

Ergänzung:
# $Id: fhem.pl 8192 2015-03-11 06:29:43Z rudolfkoenig $
# $Id: configDB.pm 7949 2015-02-12 22:04:09Z betateilchen $
# $Id: 00_CUL.pm 8176 2015-03-08 18:37:04Z martinp876 $
# $Id: 10_CUL_HM.pm 8175 2015-03-08 18:31:38Z martinp876 $
# $Id: 57_Calendar.pm 7701 2015-01-24 20:16:37Z borisneubert $
# $Id: 93_DbLog.pm 6573 2014-09-19 17:08:11Z tobiasfaust $
# $Id: 70_ENIGMA2.pm 8122 2015-03-01 14:26:30Z loredo $
# $Id: 01_FHEMWEB.pm 8097 2015-02-26 06:47:28Z rudolfkoenig $
# $Id: 98_JsonList.pm 5177 2014-03-09 16:16:17Z rudolfkoenig $
# $Id: 99_SUNRISE_EL.pm 6765 2014-10-14 18:24:29Z rudolfkoenig $
# $Id: 98_SVG.pm 8125 2015-03-01 16:54:09Z rudolfkoenig $
# $Id: 99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig $
# $Id: 98_autocreate.pm 8138 2015-03-02 19:26:54Z rudolfkoenig $
# $Id: 98_configdb.pm 8012 2015-02-16 21:31:50Z betateilchen $
# $Id: 73_km200.pm 0042 2015-03-04 20:00:00Z Matthias_Deeke $
# $Id: 91_notify.pm 8165 2015-03-07 14:35:16Z rudolfkoenig $
# $Id: 33_readingsGroup.pm 8158 2015-03-06 10:16:46Z justme1968 $
# $Id: 98_telnet.pm 8017 2015-02-17 11:10:16Z rudolfkoenig $
# $Id: 98_weblink.pm 5608 2014-04-23 10:57:16Z rudolfkoenig $
Raspberry Pi2 mit CUL SCC 1.2 - Raspberry Pi2 CUL SCC 2.0 - Raspberry Pi 3 mit RPI-RF-MOD - Raspberry Pi Relaissteuerung für Gartenstrom

marvin78

Ich frage mich, warum du sie nicht einfach umbenennst?

Shax

#5
Diese Werte kommen von der Heizung und sind teilweise noch deutlich länger. Ich kann das "Heizung:" davor umbenennen aber die Heizungsvariablen wüsste ich nicht das ich die einfach ändern kann.

Bei den Wandthermostaten hab ich natürlich die Channel wieder in die richtigen Namen (und kürzere, da standen so richtig lange HM-XXXXX-323454 usw), allerdings wollte ich den Fehler melden und nicht um ihn herumarbeiten ;)
Raspberry Pi2 mit CUL SCC 1.2 - Raspberry Pi2 CUL SCC 2.0 - Raspberry Pi 3 mit RPI-RF-MOD - Raspberry Pi Relaissteuerung für Gartenstrom

rudolfkoenig

Da ich das Problem mit einem FileLog als Quelle nicht nachstellen kann, vermute ich DbLog als Ursache.

marvin78

DBLog kommt mit Beispiel-SQL Files. In denen ist die Länge der Device-Namen tatsächlich begrenzt auf 30 oder 60 Zeichen. Das lässt sich aber in der eigenen Installation sehr einfach anpassen, in dem man die Anzahl der möglichen Zeichen direkt in der DB erhöht, falls man tatsächlich nicht mit der Standardzeichenzahl zurecht kommt. Es handelt sich in der Spalte um den Datentyp VARCHAR. Dieser kann bis zu 255 Zeichen aufnehmen.

Shax

Da ich sehr fit mit MySQL bin, habe ich das als erstes gemacht. Leider keine Lösung des Problems. Es liegt scheinbar nicht an der MySQL.
Kann ich von configDB ohne weiteres auf file zurückmigrieren? Quasi so wie zu configDB hin? Dann teste ich es mal dort.
Raspberry Pi2 mit CUL SCC 1.2 - Raspberry Pi2 CUL SCC 2.0 - Raspberry Pi 3 mit RPI-RF-MOD - Raspberry Pi Relaissteuerung für Gartenstrom

Shax

#9
Zum Problem habe ich noch etwas hier im Forum gefunden:

http://forum.fhem.de/index.php?topic=22926.0

Dort wird geschrieben das 32 Zeichen bei der Entwicklung als ausreichend betrachtet wurden.

*** Update: Gerade die ConfigDB zurück zu File migriert. Mal sehen was nun passiert. Ich berichte.
Raspberry Pi2 mit CUL SCC 1.2 - Raspberry Pi2 CUL SCC 2.0 - Raspberry Pi 3 mit RPI-RF-MOD - Raspberry Pi Relaissteuerung für Gartenstrom

marvin78

configDB hat nichts mit DBLog zu tun.

Shax

Ich weiß schon was der Unterschied zwischen configDB und DBLog ist, ich habe es in beiden geändert. Es hat nichts bewirkt.
Übrigens: Filelog keine Probleme, nichts abgeschnitten. Der Fehler ist bei dem Datenbank Ding zu suchen. Ich habe die Zeichen dort auf 100 gesetzt gehabt und er hat sie trotzdem abgeschnitten...

Für mich ist das Problem gelöst, aber ich denke das der Fehler angegangen werden sollte. Da man bei so Dingen wie der Heizung nicht einfach die Variablen kürzen kann ist das eine starke Einschränkung.
Raspberry Pi2 mit CUL SCC 1.2 - Raspberry Pi2 CUL SCC 2.0 - Raspberry Pi 3 mit RPI-RF-MOD - Raspberry Pi Relaissteuerung für Gartenstrom

Puschel74

ZitatIch habe die Zeichen dort auf 100 gesetzt gehabt und er hat sie trotzdem abgeschnitten...
Du hast nach der Änderung auch das Modul neu geladen?
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

marvin78

So wie ich das sehe, ist die Spalte DEVICE bei der aktuellen DBLog Version auf 64 Zeichen begrenzt. Das reicht nicht?

Das ist übrigens kein Fehler. Works as designed.

betateilchen

Zitat von: Shax am 13 März 2015, 10:35:20
Für mich ist das Problem gelöst, aber ich denke das der Fehler angegangen werden sollte.

Die gleiche Diskussion haben vor längerem hier im Forum schon einmal geführt. Für mich ist das kein Fehler und ich habe derzeit keine Pläne, das in der configDB zu ändern. Und mir soll bitte auch niemand erzählen, dass man einen devicename nicht durch Umbenennen auf eine sinnvoll nutzbare Länge bringen kann.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!