Hauptmenü

Unsinnige Log-Einträge

Begonnen von manne44, 15 Dezember 2016, 14:34:18

Vorheriges Thema - Nächstes Thema

manne44

Hallo,
es werden in regelmäßigen Abständen Einträge in mein Log-File gemacht, die für ein leeres Device " " gemacht werden und die unsinnig sind. Ich weiß nicht wie ich dieses "leere" Device löschen kann. Denn delete <leer> kann man sicher sinnvoll nicht machen. Auch weiß ich nicht wie das Ding in meine Konfiguration hineingeraten ist.

2016.12.15 14:10:08 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.
2016.12.15 14:10:35 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.
2016.12.15 14:10:52 1: Error:  has no TYPE
2016.12.15 14:11:01 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.
2016.12.15 14:11:35 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.
2016.12.15 14:11:45 1: Error:  has no TYPE
2016.12.15 14:11:46 1: Error:  has no TYPE
2016.12.15 14:12:01 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.
2016.12.15 14:12:35 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.


Die Aufrufe von
shownotypedevices
showignoreddevices


bringen kein Ergebnis. Wo und in welcher Datei könnte ich denn "händisch" eine Änderung machen, so daß hier wieder Konsistenz herrscht? Das ist sicher eine Expertenfrage, die nicht jeder beantworten kann, und ich will mal hoffen, daß diese Frage mal ein Experte liest.
Gruß
Manne
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

viegener

Ich weiss nicht ob ich ein Experte in diesen Fällen bin, aber es wäre sicher interessant wie es zu dem Device gekommen ist.

Eine Frage: Hast Du den FHEM-Server mal heruntergefahren und neu gestartet? Wenn ja, ist der Device danach weg?
Wenn nicht - ist wahrscheinlich, dass er irgendwie "dynamisch" entsteht, in der cfg würde auch ein define mit leerem Namen nicht durchlaufen

Es kann sein, dass Du ein zweites Mal durchstarten musst, um auch falsche EInträge im state file (vorher ein save ausführen) loszuwerden.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

KölnSolar

im room unsorted ist es nicht zu finden ?
Wenn Du mit den Tipps von viegener auch nicht weiterkommst, schick mir dazu
ZitatWo und in welcher Datei könnte ich denn "händisch" eine Änderung machen
ne PN.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Tedious

Naja, im Zweifelsfalle direkt im Config-File... da muss ja was drin stehen was da nicht hin gehört...
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

manne44

Vielen Dank erst einmal für die Antworten. Also im Config-File und den Includes steht nichts, was da ein leeres Device erzeugen könnte. Ich habe hier schon einiges gemacht, Devices ohne Typ gesucht, FHEM stop, start mehrmals, PI aus- und wieder eingeschaltet, alles mögliche, aber nicht das einzig Richtige, das ich aber nicht kenne.

Es kommt immer wieder folgendes:
2016.12.15 16:55:40 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.
2016.12.15 16:56:07 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.
2016.12.15 16:56:40 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.
2016.12.15 16:56:54 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:55 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:56 1: Error:  has no TYPE
2016.12.15 16:56:57 1: Error:  has no TYPE


und die Suche nach typelosen Devices, die man dann löschen könnte führt auch zu nichts. Wie kann man denn ein Device löschen, das keinen Namen hat?
shownotypedevices
zeigt auch nichts oder ein Leerzeichen, was man aber nicht sehen kann.
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

viegener

Wenn Du den Server durchgestartet hast und der Device immer noch da ist, wird er vermutlich dynamisch erzeugt. Ihn dann zu löschen würde wohl wenig bringen, denn vermutlich wäre er beim nächsten Neustart wieder da (oder früher)

Bist Du eigentlich sicher, dass der device " " heisst?

Probier doch mal folgendes  im fhemweb und poste das resultat, denn da sollte der device wohl dabei sein:

{ my $all="";; foreach my $k (keys(%defs)) { $all .=":$k:  length:".length($k)."\n" } return $all }
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Puschel74

Zum Thema
ZitatError:  has no TYPE
sollten sich aber doch einige Beiträge finden lassen.
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.

manne44

@viegener
Vielen Dank, ich habe das mal eingegeben und u.a. folgendes ausgegeben bekommen, in dem auch das Device mit Länge 0 vorhanden ist. Ergo. da ist es, aber wie bekomme ich das weg?

:notify_ESP_Tx20cm:  length:17
:eventTypes:  length:10
:MuellterminDummy:  length:16
:WEB_192.168.178.38_49853:  length:24
:Hzg.Koch_ClimaTeam:  length:18
:SVG_fhemDbLog_BodenTemp:  length:23
:startINIT:  length:9
:SVG_fhemDbLog_Hzg.Koch:  length:22
:Hzg.Koch_Clima:  length:14
:notifyUStemp:  length:12
:notify_WDx:  length:10
:notAbfalltermine:  length:16
::  length:0
:c_dellog:  length:8
:Hzg.Wasch_Clima:  length:15
:not_swAdvent:  length:12
:swBellText:  length:10
:ESP_Temp_MinMax:  length:15
:notify_ESP_Tx60cm:  length:17
:sw_ch_1_Sw_08:  length:13
:sw_ch_1_Sw_04:  length:13
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

manne44

@Puschel74:
Vielen Dank, das war die endgültige Lösung. Ich habe die Suchfunktion hier und bei Google in dieser Sache ausgiebig genutzt, aber offenbar nicht in dieser richtigen Form mit
ZitatError:  has no TYPE
und habe eine Antwort von Dietmar63 auf ein gleiches eigenes Problem gefunden, die gestern gepostet wurde, wobei er aber offenbar über ein besseres Grundwissen verfügt:
Zitat{delete $defs{""}}
Damit verschwand dieser unsinnige Eintrag.

Vielen Dank für alle die zur Lösung beigetragen haben.
Gruß
Manne
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

manne44

Hallo,
ich muß nochmals darauf zurück kommen, denn obwohl ich mehrmals ein Device mit der Länge 0 gelöscht habe, kommt es immer wieder vor. Ich weiß nicht warum. Mittlerweile habe ich 316 Bezeichner, die ich wie folgt sichtbar mache:

{ my $all="";; foreach my $k (keys(%defs)) { $all .=":$k:  length:".length($k)."\n" } return $all }

Nach einer Zeit, keine Ahnung wann, kommen hintereinander laufend Fehlermeldungen

PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4634.

und wenn ich dann die Bezeichner auswerfen lasse kommt dann immer einer mit der Länge 0:

::  length:0

Es ist so, daß irgenwann dieser Bezeichner mit der Länge 0 von selbst erzeugt wird und ab da es dann diese ständigen Fehlermeldungen gibt.
Ich kann mir das nicht erklären, denn nirgends wird ein temporäres define gemacht, also im Programm-Code, alles ist in fhem.cfg definiert und nichts mit der Länge 0. Das würde schon bei der Prüfung beim Abspeichern nicht akzeptiert werden.
Hat jemand ähnliche Erfahrungen gemacht? Was kann man denn dagegen tun? Eigentlich kann ich damit leben, denn dann lösche ich das Logfile zyklisch, aber es ist sicherlich für die Laufzeit nicht vorteilhaft wenn immer sinnlose Log-Einträge gemacht werden.
Vielen Dank.
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

viegener

Ob das Auswirkungen auf die Laufzeit hat weiss ich nicht. Aber generell wäre es interessant herauszufinden, was in dem Device mit dem Bezeichner "" drin steht, vielleicht gibt das einen Hinweis auf die Ursache.

{ my $em=$defs{""};; my $all="";; foreach my $k (keys($em)) { $all .=":$k:  value:".($em->{$k})."\n" } return $all }

Zusätzliche Hinweise:
- Was steht im log bevor die erste Fehlermeldung auftaucht nach dem Löschen
- Was für Devices hast Du neue angelegt bzw. welches update als das Problem das erste mal aufgetaucht ist

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

manne44

#11
Vielen Dank für das Interesse. Nach dem Löschen werden folgende Einträge gemacht:
jump to the end

2017.01.19 17:44:44 1: Logfile gelöscht
2017.01.19 19:10:58 1: Error: >< has no TYPE, but following keys: ><
2017.01.19 19:11:18 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.19 19:11:30 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.19 19:12:07 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.19 19:12:18 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.19 19:12:30 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.19 19:12:46 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.


und weiter

017.01.19 19:16:30 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.19 19:16:35 1: Error: >< has no TYPE, but following keys: ><
2017.01.19 19:16:36 1: Error: >< has no TYPE, but following keys: ><
2017.01.19 19:16:36 1: Error: >< has no TYPE, but following keys: ><
2017.01.19 19:16:36 1: Error: >< has no TYPE, but following keys: ><
2017.01.19 19:17:12 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.19 19:17:18 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.


und auch
2017.01.20 00:55:47 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.20 00:56:26 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.20 00:56:27 1: PERL WARNING: keys on reference is experimental at (eval 53674) line 1.
2017.01.20 00:56:38 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.20 00:57:26 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.20 00:57:38 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.
2017.01.20 00:57:52 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4672.


Um 2017.01.19 19:10:58 tauchte der erste Eintrag überhaupt als Fehler auf. Ein Auszug aus DbLog ergibt um diesen Zeitraum auch nichts auffälliges:


2017-01-19 19:09:13 sw_dect_1 FBDECT IntPower: 2.6 IntPower 2.6
2017-01-19 19:09:21 Hzg.Wasch CUL_HM actuator: 5 actuator 5
2017-01-19 19:09:23 usDistance MQTT_DEVICE Distance: 35 Distance 35
2017-01-19 19:09:28 Hzg.HolzL CUL_HM measured-temp: 25.5 measured-temp 25.5
2017-01-19 19:09:54 Hzg.SchlafL CUL_HM measured-temp: 16.2 measured-temp 16.2
2017-01-19 19:09:59 sw_hm_1_Pwr CUL_HM power: 1.36 power 1.36
2017-01-19 19:09:59 sw_hm_1_Pwr CUL_HM IntPower: 1.4 IntPower 1.4
2017-01-19 19:10:28 Hzg.Koch CUL_HM actuator: 9 actuator 9
2017-01-19 19:10:40 HzOel_Pwr CUL_HM power: 40.29 power 40.29
2017-01-19 19:10:40 HzOel_Pwr CUL_HM kWh_monAct: 38476.7 kWh_monAct 38476.7
2017-01-19 19:10:40 HzOel_Pwr CUL_HM kWh_dayAct: 1773.8 kWh_dayAct 1773.8
2017-01-19 19:10:51 Hzg.Bad CUL_HM measured-temp: 17.1 measured-temp 17.1
2017-01-19 19:11:04 Hzg.WohnL CUL_HM measured-temp: 13.5 measured-temp 13.5
2017-01-19 19:11:13 sw_dect_1 FBDECT IntPower: 3.0 IntPower 3.


Nach Ausführung von
Zitat{ my $em=$defs{""};; my $all="";; foreach my $k (keys($em)) { $all .=":$k:  value:".($em->{$k})."\n" } return $all }
wird für das Device mit dem Bezeichner "" auch "" ausgegeben.
Völlig unklar.
Was habe ich gemacht? Allerlei, denn ich habe das Problem schon länger, weitere optische Fensterkontakte, ESP8266-Modul mit DS1820, Mosquitto (mqtt) erweitert usw. Zuletzt chinesische Sonoff-Module über Mosquitto eingebunden, aber da war das Problem schon längere Zeit akut. Und es ist mir völlig unklar wie da solche Devices hervorgezaubert werden können, wo doch alles "händisch" eingegeben wurde, aber keine leeren Bezeichner.
Unklar.
RPI4-Buster mit SSD, RPI-Zero mit Bookworm

viegener

Ist es vielleicht autocreate?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

manne44

Keine Ahnung, ich habe mal testweise

# define autocreate autocreate
# attr autocreate autosave 1
# attr autocreate device_room %TYPE
# attr autocreate filelog ./log/%NAME-%Y-%m.log
# attr autocreate weblink 1


auskommentiert, aber

attr global autoload_undefined_devices 1

unverändert gelassen.

Mal sehen, ob das was bringt.

RPI4-Buster mit SSD, RPI-Zero mit Bookworm

manne44

Bis jetzt ist nichts weiter im Log-File aufgetaucht. Aber wenn ich neue Geräte einbringen will, dann müßte ich autocreate wieder definieren. Aber was zum Teufel kann denn durch einen Funkbefehl ein leeres typeloses Device erzeugen? Denn so wie ich gelesen habe wirkt autocreate nur auf neue Geräte, die Funkdaten absetzen?
RPI4-Buster mit SSD, RPI-Zero mit Bookworm