[GELÖST] Fhem optimiert, mein Erfahrungsbericht

Begonnen von Gueco315, 03 Juni 2020, 13:46:41

Vorheriges Thema - Nächstes Thema

Gueco315

Hallo Zusammen,

durch diese "zufälligen" Maßnahmen ist mein FHEM rasend schnell geworden!

Nachdem ich vor einiger Zeit auf den RASPI 4 gewechselt bin, war die Performance schon besser, aber der Aufbau von "Unsorted" dauerte keine 45 Sekunden sondern nur noch
20 Sekunden. Für mich ein Quantensprung. Immerhin konnte ich damit dann wieder meine geliebt IOS-App "FhemMobile" nutzen, sie lief zuletzt beim Start in einen Timeout und war somit unbrauchbar. Viele Hinweise aus dem Forum wie Event-on-change-Reading Attribut setzen, AppTime etc. setzte ich um, brachten aber nicht viel.

Was habe ich HEUTE gemacht? Ich hatte diverse "globale Userattr" in meiner Konfiguration gefunden, die waren mir schon längere Zeit ein Dorn im Auge, weil kryptisch Soundstruc_Map oder so etwas ..und scheinbar aus meinen Anfängen mit FHEM von 2015 stammen. Löschen war mir immer zu riskant. Damals hatte ich mit FS20 Aktoren begonnen. Diese und ein paar andere verwaiste STRUCTURES, die überhaupt keinen Bezug zu Aktoren mehr hatten, habe ich einfach gelöscht. Danach habe ich noch die Datei eventTypes.txt gelöscht. Das war es eigentlich schon. Neustart und mein FHEM rennt. Der Aufbau von "Unsorted" dauert nun nur noch max. 5 Sekunden.

@Entwickler: Es wäre schön, wenn es eine Funktion gäbe, (vielleicht gibt die es schon) Aktoren, Attribute , Geräte ohne irgendeinen Bezug per Abfrage filtern zu lassen.
Dann könnte man hin und wieder seine Konfiguration überprüfen

Jetzt macht mein FHEM, und die Konfiguration ist im Laufe ordentlich gewachsen,
ystem Info

ConfigType:
configFile
SVN rev:
22098
OS: Linux Perl:5.28.1
uniqueId:
370...

Modules
Model
Count

CUL
CUL
2
CUL_FHTTK
4

FHT80TF-2
3

CUL_HM

HM-RC-4-3
7
HM-LC-SW2-FM
1
HM-LC-DIM1TPBU-FM
1
HM-ES-PMSW1-PL
3
HM-MOD-RE-8
9
HM-RC-DIS-H-X-EU
1
HM-PB-2-WM55
1
HM-TC-IT-WM-W-EU
2
HM-CC-RT-DN
12
CCU-FHEM
1
DOIF
FHEM
54
Perl
2
EGPM
8
EGPM2LAN
1
ENIGMA2
solose
1
ET9200
1
ET7000
2
FBAHAHTTP
1
FBDECT
Dect200
1
FB_CALLLIST
1
FB_CALLMONITOR
1
FHEMWEB
3
FLOORPLAN
6
FRITZBOX
FRITZ!Box 7490
3
FS20
4
fs20st
1
fs20su
1
fs20di
2
FileLog
29
HMinfo
1
HTTPMOD
5
IT
itswitch
8
JSONMETER
LS120
1
JeeLink
LaCrosseITPlusReader.10.1s
1
LaCrosse
13
MQTT
1
MQTT_DEVICE
27
PIONEERAVR
1
PRESENCE
local-bluetooth
2
Pushover
1
SB_SERVER
1
SVG
13
UWZ
1
alexa
1
allowed
4
at
73
autocreate
3
dummy
45
eventTypes
1
expandJSON
1
holiday
1
mailcheck
1
notify
240
readingsGroup
3
structure
6
telnet
1
watchdog
15
weblink
9



.. wieder richtig Spaß

Gruß GÜnter


Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

xenos1984

Bei mir dauert der Aufbau von "Unsorted" < 1 Sekunde... Da liegen aber auch nur Astro, Global, eventTypes und logProxy, weil alles andere in Räume sortiert ist.

Die Frage ist, woran man (programmatisch) erkennen kann, dass ein Gerät verwaist ist, also nicht mehr benutzt wird. Man sieht ja z.B. einen Dummy nicht an, ob er in irgendeiner Funktion in 99_MyUtils ausgelesen wird. Oder ob die Hardware, mit der ein MQTT Gerät kommunizieren soll, noch vorhanden ist.

Beta-User

...bei mir ist in unsorted nur Zeug drin, das temporär erstellt wird (eigentlich nur at's). Ist also auch m.E. kein tauglicher Maßstab...

Was eventTypes angeht, ist das Löschen der Datei m.E. nur ein Teil der Lösung, siehe Commandref zu dem Modul. Im Hinterkopf ist mir, dass man das eigentlich irgendwann gar nicht mehr braucht, aber du schreibst nur was vom Löschen der Datei?

Was "verwaiste" Eventhandler angeht, ist das vermutlich wirklich ein Problem in vielen Installationen, einen "Königsweg" zur Lösung habe ich aber auch nicht. Was mit was zusammenhängt, ist aber - außer bei generalisierten Dingen - meistens mit einem "list" zu erfahren, und man kann z.B. bei Readings oder Attributen auch recht einfach rausfinden, ob die noch genutzt werden:list .* Soundstruc_Maphätte z.B. melden sollen, was es dazu gibt, und wer configDB nutzt, kann auch configdb search %item% verwenden, um solche Details aufzuspüren (alle anderen können z.B. grep@commandline verwenden, falls FHEM auf einem Linux läuft).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gueco315

Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

Gueco315

Hallo,

ich stimme Beta-User zu, der Raum "Unsorted" ist wirklich kein gutes Beispiel!
Gemessen habe ich das Öffnen des Raums Everything. Und das hat sich super beschleunigt.

Gruß
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA