Hallo Jörg,
wie berichtet hab ich mit regelmäßigen FHEM-Neustarts meiner Installation zu tun, ohne dass ich über negative Auswirkungen berichten könnte.
Auf meinem HP T610 mit einer 250 GB großen SSD und 4 GB (?, bin mir nicht sicher) Hauptspeicher läuft ein Debian 11, und auf dem alles mögliche:
Fhem, Unifi-Controller, Pi-Hole, MQTT, Rhasspy, Signal ...
Ich hab oft ca. 20 Freezers der milderen Sorte pro Tag, keine langen Hänger, häufig sind dann Internetabfragen involviert, von denen ich sehr viele hab.
Beim letzten, ungeplantem Fhem-Neustart hab ich keine Einträge im freezmonhlog gefunden.
Könnte mehr Hauptspeicher (8GB statt 4) helfen?
Ich hab auch ein Fhem-Device zum Überwachen des HP T610, hier ein list:
Internals:
CFGFN ./FHEM/NetzwerkServerTV.cfg
DEF 2 5 10 10
FUUID 5c99fcdc-f33f-e986-bd6a-d3c2edce4e82d091
INTERVAL_BASE 60
INTERVAL_MULTIPLIERS 2 5 10 10
MODE local
NAME T610.Sysmon
NOTIFYDEV global,TYPE=SYSMON
NR 1111
NTFY_ORDER 50-T610.Sysmon
STATE Temp: 56.9°C
last Fhem start: 10.09.2022 10:50
last server start: 16.08.2022 13:04
TYPE SYSMON
eventCount 502
READINGS:
2022-09-10 15:00:57 cpu0_freq 825
2022-09-10 15:00:57 cpu0_freq_stat 748.00 1798.00 894.21
2022-09-10 15:00:58 cpu0_idle_stat 0.00 98.14 89.92
2022-09-10 15:00:58 cpu0_temp 56.75
2022-09-10 15:00:58 cpu0_temp_avg 56.9
2022-09-10 15:00:58 cpu0_temp_stat 42.38 73.00 56.95
2022-09-10 15:00:57 cpu1_freq 826
2022-09-10 15:00:57 cpu1_freq_stat 695.00 1663.00 843.48
2022-09-10 15:00:58 cpu1_idle_stat 0.00 97.83 88.71
2022-09-10 15:00:58 cpu_core_count 8192
2022-09-10 15:00:57 cpu_freq 825
2022-09-10 15:00:57 cpu_freq_stat 748.00 1798.00 894.21
2022-09-10 15:00:58 cpu_idle_stat 1.49 97.62 89.32
2022-09-10 10:51:35 cpu_model_name AMD G-T56N Processor
2022-09-10 15:00:58 eth0 not available
2022-09-10 15:00:58 eth0_diff not available
2022-09-10 15:00:58 fhemstarttime 1662799821
2022-09-10 15:00:58 fhemstarttime_text 10.09.2022 10:50:21
2022-09-10 15:00:58 fhemstarttime_text2 10.09.2022 10:50
2022-09-10 15:00:58 fhemuptime 15036
2022-09-10 15:00:58 fhemuptime_text 0 days, 04 hours, 10 minutes
2022-09-10 15:00:58 idletime 471 0.02 %
2022-09-10 15:00:58 idletime_text 0 days, 00 hours, 07 minutes (0.02 %)
2022-09-10 15:00:58 loadavg 0.25 0.21 0.21
2022-09-10 10:51:35 perl_version v5.32.1
2022-09-10 15:00:58 ram Total: 3398.25 MB, Used: 2293.02 MB, 67.48 %, Free: 486.15 MB
2022-09-10 15:00:58 ram_used 2293.02 MB
2022-09-10 15:00:58 ram_used_stat 522.54 3255.02 2339.23
2022-09-10 15:00:58 root Total: 15059 MB, Used: 11979 MB, 85 %, Available: 2246 MB at /
2022-09-10 15:00:58 starttime 1660647892
2022-09-10 15:00:58 starttime_text 16.08.2022 13:04:52
2022-09-10 15:00:58 starttime_text2 16.08.2022 13:04
2022-09-10 15:00:58 stat_cpu 35376679 185230 7103813 386104066 148858 0 570243
2022-09-10 15:00:58 stat_cpu0 18260362 95162 3516486 192725233 56640 0 228798
2022-09-10 15:00:58 stat_cpu0_diff 1020 0 232 10621 1 0 11
2022-09-10 15:00:58 stat_cpu0_percent 8.58 0.00 1.95 89.36 0.01 0.00 0.09
2022-09-10 15:00:58 stat_cpu0_text user: 8.58 %, nice: 0.00 %, sys: 1.95 %, idle: 89.36 %, io: 0.01 %, irq: 0.00 %, sirq: 0.09 %
2022-09-10 15:00:58 stat_cpu1 17116316 90067 3587327 193378832 92218 0 341444
2022-09-10 15:00:58 stat_cpu1_diff 1346 0 242 10273 1 0 14
2022-09-10 15:00:58 stat_cpu1_percent 11.33 0.00 2.04 86.50 0.01 0.00 0.12
2022-09-10 15:00:58 stat_cpu1_text user: 11.33 %, nice: 0.00 %, sys: 2.04 %, idle: 86.50 %, io: 0.01 %, irq: 0.00 %, sirq: 0.12 %
2022-09-10 15:00:58 stat_cpu_diff 2366 0 473 20894 2 0 25
2022-09-10 15:00:58 stat_cpu_percent 9.96 0.00 1.99 87.94 0.01 0.00 0.11
2022-09-10 15:00:58 stat_cpu_text user: 9.96 %, nice: 0.00 %, sys: 1.99 %, idle: 87.94 %, io: 0.01 %, irq: 0.00 %, sirq: 0.11 %
2022-09-10 15:00:58 swap Total: 3556.00 MB, Used: 806.00 MB, 22.67 %, Free: 2750.00 MB
2022-09-10 15:00:58 swap_used_stat 0.00 2697.23 801.29
2022-09-10 15:00:58 uptime 2166965
2022-09-10 15:00:58 uptime_text 25 days, 01 hours, 56 minutes
2022-09-10 15:00:58 wlan0 not available
2022-09-10 15:00:58 wlan0_diff not available
helper:
sys_cpu0_freq 1
sys_cpu0_temp 1
sys_cpu1_freq 1
sys_cpu1_temp 0
sys_cpu2_freq 0
sys_cpu2_temp 0
sys_cpu3_freq 0
sys_cpu3_temp 0
sys_cpu4_freq 0
sys_cpu4_temp 0
sys_cpu5_freq 0
sys_cpu5_temp 0
sys_cpu6_freq 0
sys_cpu6_temp 0
sys_cpu7_freq 0
sys_cpu7_temp 0
sys_cpu_freq_rpi_bbb 1
sys_cpu_temp_bbb 0
sys_cpu_temp_rpi 0
sys_fb 0
sys_power_ac 0
sys_power_bat 0
sys_power_usb 0
u_first_mark 1
bm:
SYSMON_Get:
cnt 2
dmx -1000
dtot 0
dtotcnt 0
mTS 10.09. 14:25:56
max 0.0786612033843994
tot 0.0787832736968994
mAr:
HASH(0x5601e47ee568)
T610.Sysmon
update
SYSMON_Notify:
cnt 505
dmx -1000
dtot 0
dtotcnt 0
mTS 10.09. 14:44:56
max 7.39097595214844e-05
tot 0.0105834007263184
mAr:
HASH(0x5601e47ee568)
HASH(0x5601e47ee568)
SYSMON_Set:
cnt 155
dmx -1000
dtot 0
dtotcnt 0
mTS 10.09. 11:25:35
max 0.000427961349487305
tot 0.0256001949310303
mAr:
HASH(0x5601e47ee568)
T610.Sysmon
?
cur_readings_map:
cpu0_freq CPU frequency (core 0)
cpu0_freq_stat CPU frequency (core 0) stat
cpu0_idle_stat CPU0 min/max/avg (idle)
cpu0_temp CPU temperature (core 0)
cpu0_temp_avg Average CPU temperature (core 0)
cpu0_temp_stat CPU temperature stat (core 0)
cpu1_freq CPU frequency (core 1)
cpu1_freq_stat CPU frequency (core 1) stat
cpu1_idle_stat CPU1 min/max/avg (idle)
cpu2_idle_stat CPU2 min/max/avg (idle)
cpu3_idle_stat CPU3 min/max/avg (idle)
cpu4_idle_stat CPU4 min/max/avg (idle)
cpu5_idle_stat CPU5 min/max/avg (idle)
cpu6_idle_stat CPU6 min/max/avg (idle)
cpu7_idle_stat CPU7 min/max/avg (idle)
cpu_bogomips BogoMIPS
cpu_core_count Number of CPU cores
cpu_freq CPU frequency
cpu_freq_stat CPU frequency stat
cpu_idle_stat CPU min/max/avg (idle)
cpu_model_name CPU model name
date Date
eth0 Network adapter eth0
eth0_diff Network adapter eth0 (diff)
eth0_ip Network adapter eth0 (IP)
eth0_ip6 Network adapter eth0 (IP6)
eth0_rx Network adapter eth0 (RX)
eth0_speed Network adapter eth0 (speed)
eth0_tx Network adapter eth0 (TX)
fhemstarttime Fhem start time
fhemstarttime_text Fhem start time
fhemuptime System up time
fhemuptime_text FHEM up time
idletime Idle time
idletime_text Idle time
io_sda TEST
io_sda_diff TEST
io_sda_raw TEST
loadavg Load average
loadavg_1 Load average 1
loadavg_15 Load average 15
loadavg_5 Load average 5
perl_version Perl Version
ram RAM
ram_free RAM free
ram_free_percent RAM free %
ram_total RAM total
ram_used RAM used
ram_used_stat RAM used stat
root Filesystem /
starttime System start time
starttime_text System start time
stat_cpu CPU statistics
stat_cpu0 CPU0 statistics
stat_cpu0_diff CPU0 statistics (diff)
stat_cpu0_percent CPU0 statistics (diff, percent)
stat_cpu0_text CPU0 statistics (text)
stat_cpu1 CPU1 statistics
stat_cpu1_diff CPU1 statistics (diff)
stat_cpu1_percent CPU1 statistics (diff, percent)
stat_cpu1_text CPU1 statistics (text)
stat_cpu2 CPU2 statistics
stat_cpu2_diff CPU2 statistics (diff)
stat_cpu2_percent CPU2 statistics (diff, percent)
stat_cpu2_text CPU2 statistics (text)
stat_cpu3 CPU3 statistics
stat_cpu3_diff CPU3 statistics (diff)
stat_cpu3_percent CPU3 statistics (diff, percent)
stat_cpu3_text CPU3 statistics (text)
stat_cpu4 CPU4 statistics
stat_cpu4_diff CPU4 statistics (diff)
stat_cpu4_percent CPU4 statistics (diff, percent)
stat_cpu4_text CPU4 statistics (text)
stat_cpu5 CPU5 statistics
stat_cpu5_diff CPU5 statistics (diff)
stat_cpu5_percent CPU5 statistics (diff, percent)
stat_cpu5_text CPU5 statistics (text)
stat_cpu6 CPU6 statistics
stat_cpu6_diff CPU6 statistics (diff)
stat_cpu6_percent CPU6 statistics (diff, percent)
stat_cpu6_text CPU6 statistics (text)
stat_cpu7 CPU7 statistics
stat_cpu7_diff CPU7 statistics (diff)
stat_cpu7_percent CPU7 statistics (diff, percent)
stat_cpu7_text CPU7 statistics (text)
stat_cpu_diff CPU statistics (diff)
stat_cpu_idle_percent CPU statistics idle %
stat_cpu_io_percent CPU statistics io %
stat_cpu_irq_percent CPU statistics irq %
stat_cpu_nice_percent CPU statistics nice %
stat_cpu_percent CPU statistics (diff, percent)
stat_cpu_sirq_percent CPU statistics sirq %
stat_cpu_sys_percent CPU statistics sys %
stat_cpu_text CPU statistics (text)
stat_cpu_user_percent CPU statistics user %
swap swap
swap_free swap free
swap_total swap total
swap_used swap used
swap_used_percent swap used %
swap_used_stat swap used stat
uptime System up time
uptime_text System up time
wlan0 Network adapter wlan0
wlan0_diff Network adapter wlan0 (diff)
wlan0_ip Network adapter wlan0 (IP)
wlan0_ip6 Network adapter wlan0 (IP6)
wlan0_rx Network adapter wlan0 (RX)
wlan0_speed Network adapter wlan0 (speed)
wlan0_tx Network adapter wlan0 (TX)
excludes:
Attributes:
comment https://forum.fhem.de/index.php/topic,116301.msg1105767.html#msg1105767
ram_used {ReadingsVal("$name","ram",0) =~ m/Used:.(\d+.\d+.MB)/;; return $1}
Dies wird aber letztlich nicht weiterbenutzt, da die used % in ram steht.
group Performance
icon hewlettpackard
room Network
stateFormat Temp: cpu0_temp_avg°C
last Fhem start: fhemstarttime_text2
last server start: starttime_text2
userReadings fhemstarttime_text2 {substr((ReadingsVal($name,'fhemstarttime_text','')),0,16)},
starttime_text2 {substr((ReadingsVal($name,'starttime_text','')),0,16)},
ram_used {ReadingsVal("$name","ram",0) =~ m/Used:.(\d+.\d+.MB)/;; return $1}
Viele Grüße Gisbert
ram sieht doch gut aus. Logge es doch mal, um rauszufinden, ob Du mehr Speicher brauchst.
Na ja, nach 4h uptime kann man wenig sagen.
Zitat aus meinem anderen Beitrag:
ZitatWenn vorher nichts auffälliges im Log steht, würde ich auf systemd als Verursacher tippen, was bedeutet, dass dein System hin und wieder hängt, warum auch immer; es gibt Tools dazu wie Freezemon. Speicherprobleme halte ich für eher unwahrscheinlich, aber das zu monitoren kann auch nicht schaden.
Würde auf schlecht optimierte Eventverarbeitung iVm. sehr vielen Events tippen.
Zu den freezes: Wenn es "Internet-Devices" sind, die hängen, könnte eine (zum Aufrufe-Zeitpunkt) fehlende Internetleitung das Problem verursachen. Würde man das globale dns-Attribut checken.
RAM: muss man im Lauf der Zeit ansehen. Da bei dir noch ein paar andere Dienste laufen, kannst du z.B. mal eine Weile auf "top" starren, da siehst du ggf. auch, wieviele Perl-Prozesse parallel laufen. An sich sollte es bei deiner x64-Kiste auch egal sein, wenn der anfangen sollte zu swappen, beim Pi wäre das tödlich...
Wie viele FHEM-Prozesse jeweils laufen (forks) kann man mit systemctl ermitteln. Wäre auch interessant.
(OT) "autoremove" iVm. apt ist bekannt?
Zum letzten:
count NTFY_ORDER=.+
count NOTIFYDEV=.+
Um was es sich handelt, zeigt dir dann jeweils list mit diesen devspec.
Und dazu mal länger auf den Event-Monitor starren...
Hallo Markus,
hallo Jörg,
also der genutzte RAM liegt über viele Wochen/Monate immer im Bereich von 60 bis 80%, demnach liegt es wohl nicht am fehlenden Hauptspeicher.
Ich update Fhem jeden Samstagvormittag, den Server eher selten.
Das Problem an sich ist ja nicht existentiell, und gleichzeitig habe ich keine Idee, wo ich ansetzen könnte.
autoremove, meinst du das: sudo geht autoremove? Ja, das mach ich regelmäßig.
Count: 204 devices for devspec NTFY_ORDER=.+
Count: 139 devices for devspec NOTIFYDEV=.+
"Würde man das globale dns-Attribut checken." --> wie mach ich das?
"Und dazu mal länger auf den Event-Monitor starren..." --> das wird aber eine Herausforderung für mich.
Viele Grüße Gisbert
Zitat von: Gisbert am 10 September 2022, 17:17:59
also der genutzte RAM liegt über viele Wochen/Monate immer im Bereich von 60 bis 80%, demnach liegt es wohl nicht am fehlenden Hauptspeicher.
Das kommt mir relativ viel vor, top würde zeigen, wer da grade aktuell was braucht (muss man aber etwas beobachten, um eine Idee zu bekommen, wie das in etwa aussieht, Momentaufnahmen bringen da wenig).
Zitat
Count: 204 devices for devspec NTFY_ORDER=.+
Count: 139 devices for devspec NOTIFYDEV=.+
Na ja, das sieht eher "sauber" aus. Kannst ja mal versuchen rauszufinden, welche 65 Devices das sind, die "aus der Reihe tanzen". (zwei "list" => vergleichen, ggf. optimieren, wenn einer der anschließenden Eventhandler "viel" zu tun hat (Folgeaktionen))
Zitat
"Würde man das globale dns-Attribut checken." --> wie mach ich das?
help global
Zitat
"Und dazu mal länger auf den Event-Monitor starren..." --> das wird aber eine Herausforderung für mich.
Damit kannst du ein Gefühl dafür bekommst, was so alles passiert. Wenn es "nur so durchrauscht", ist was faul, wenn gar nichts passiert, ist es komisch. Dann würde ich mir die vornehmen, die viele/häufige Events haben. Und die halt nach und nach abarbeiten; vermutlich ergeben sich gewisse Muster, die man übertragen kann, wenn man mal das erste von diesem Typ im Griff hat.
Aber Achtung: wenn viele Readings im "bulk-Modus" aktualisiert werden, ist das Problem deutlich kleiner wie man vermuten würde (Beispiel: Module, die JSON-Blobs auspacken müssen, erzeugen zwar für jeden Datenpunkt im JSON eine Zeile, es ist aber nur jeweils eine "Event-loop" pro Blob)...
Hallo Jörg,
bei RAM sieht es so aus:
Unifi: 25-35%
Fhem: 10-20% (allerhöchsten)
Alles andere im kleinstelligen Prozentbereich, oder darunter
Event-Monitor: es rauscht eher vorbei, als dass es langsam zugeht. Für einen kurzen Moment steht das Bild, dann rauscht eine Handy-große Seite durch, kurzer Stopp usw.
Ich benutze ja noch MQTT-Devices, kann es daran liegen? Ich hab sehr viele davon, die im 1- bis 5-minütigem Abstand viel senden. Da ich mit Rhasspy MQTT2 benutze, hab ich noch mehr Bammel den Umstieg auf MQTT2 durchzuführen. Das Senden geht aber von den physischen Devices aus; dann sollte es doch egal sein, was ich in Fhem mache, oder?
Ich kann ja Mal versuchen alle Devices in der Häufigkeit zu halbieren und dann beobachte, wie häufig Fhem neustartet und wie sich Freezemon verhält.
Viele Grüße Gisbert
Zitat von: Gisbert am 10 September 2022, 18:51:29
bei RAM sieht es so aus:
Unifi: 25-35%
Fhem: 10-20% (allerhöchsten)
Alles andere im kleinstelligen Prozentbereich, oder darunter
Das ist dann m.E. eher unauffällig, zumal man da in der Regel nicht sieht, wie viel vom _reservierten RAM_ auch tatsächlich genutzt wird.
Die zugehörigen Prozessorlasten?
Zitat
Event-Monitor: es rauscht eher vorbei, als dass es langsam zugeht. Für einen kurzen Moment steht das Bild, dann rauscht eine Handy-große Seite durch, kurzer Stopp usw.
Das klingt zumindest auf den ersten Eindruck nicht optimal, aber wie ich bereits versucht habe zu erklären, muss das nicht unbedingt auch eine hohe Last bedeuten, Bulk oder nicht, das ist eine der Fragen...
Zitat
Ich benutze ja noch MQTT-Devices, kann es daran liegen? Ich hab sehr viele davon, die im 1- bis 5-minütigem Abstand viel senden.
Viel ist relativ. Wie bereits angesprochen: Zieh dir eines raus und schau mal, was bei diesem einen Device in Summe passiert, wie es reinkommt, und was du davon wirklich brauchst
Zitat
Da ich mit Rhasspy MQTT2 benutze, hab ich noch mehr Bammel den Umstieg auf MQTT2 durchzuführen.
Diese Argumentation kann ich nicht nachvollziehen. Ich unterstelle, du nutzt den Rhasspy-internen Server?
Aber selbst wenn nicht: Man kann notfalls auch zwei MQTT-Server parallel betreiben, alles kein großes Problem. Nur den, der für Rhasspy genutzt wird, den sollte man nicht auch für FHEM benutzen.
Zitat
Das Senden geht aber von den physischen Devices aus; dann sollte es doch egal sein, was ich in Fhem mache, oder?
Es ist definitv nicht egal, was du in FHEM machst, selbst wenn du das physische Device selbst nicht beeinflussen kannst - die Auswertung in FHEM kannst du sehr wohl beeinflussen. Man kann bestimmte Topics nicht abonnieren, und v.a. kann man "event-on-change-reading" (&Co) einsetzen, um eingehende Infos nach "wichtig" und "unwichtig" zu sortieren...
Zitat
Ich kann ja Mal versuchen alle Devices in der Häufigkeit zu halbieren und dann beobachte, wie häufig Fhem neustartet und wie sich Freezemon verhält.
Bevor du anfängst rumzuflashen solltest du m.E. die Stellschrauben in FHEM besser kennen.
Das globale Attribut hast du gefunden?
Hallo Jörg,
die Prozessorlasten liegen bei höchstens 10%.
Ich versuche in Fhem dann nur das zu subskribieren, was ich auch tatsächlich benötige; das ist sicher ordentlich was dabei, was weg kann. Gleichzeitig werde ich event-on-change-reading systematischer nutzen; bei älteren Devices gibt es auch da was zu holen.
help global liefert das bei mir, ich weiß aber nicht, was ich damit anstellen kann:
Internal command: global
global
The global device is used to set different global attributes. It will be automatically defined, it cannot be deleted or renamed and has no set or get parameters
Define
N/A
Set
N/A
Get
N/A
Internals
init_errors
contains configuration errors and security issues collected at FHEM startup.
Attributes
altitude
Specifies the mean sea level in meters. Default is 0.
archivedir
archivecmd
nrarchive
archivesort
archivesort may be set to the (default) alphanum or timestamp, and specifies how the last files are computed for the nrarchive attribute.
autoload_undefined_devices
If set, automatically load the corresponding module when a message of this type is received. This is used by the autocreate device, to automatically create a FHEM device upon receiving a corresponding message.
autosave
enable some modules to automatically trigger save after a configuration change, e.g. after a new device was created. Default is 1 (true), you can deactivate this feature by setting the value to 0. Configration errors at startup automatically deactivate this value.
backupcmd
You could pass the backup to your own command / script by using this attribute. If this attribute is specified, then it will be started as a shell command and passes a space separated list of files / directories as one argument to the command, like e.g.:
"/etc/fhem.cfg /var/log/fhem/fhem.save /usr/share/fhem/contrib /usr/share/fhem/FHEM /usr/share/fhem/foo /usr/share/fhem/foobar /usr/share/fhem/www"
Note: Your command / script has to return the string "backup done" or everything else to report errors, to work properly with update!
This Attribute is used by the backup command.
Example:
attr global backupcmd /usr/local/bin/myBackupScript.sh
backupdir
A folder to store the compressed backup file. This Attribute is used by the backup command.
Example:
attr global backupdir /Volumes/BigHD
backupsymlink
If this attribute is set to everything else as "no", the archive command tar will support symlinks in your backup. Otherwise, if this attribute is set to "no" symlinks are ignored by tar. This Attribute is used by the backup command.
Example:
attr global backupsymlink yes
blockingCallMax
Limit the number of parallel running processes started by the BlockingCall FHEM helper routine. Useful on limited hardware, default is 32. If the limit is reached, further calls are delayed.
configfile
Contains the name of the FHEM configuration file. If save is called without argument, then the output will be written to this file.
commandref
If set to "full", then a full commandref will be generated after each update. If set to modular (default since FHEM 6.1), there is only a short description at the beginning, and the module documentation is loaded from FHEM dynamically.
disableFeatures
comma separated list of values. Currently following values are recognized:
attrTemplate: to avoid loading the AttrTemplates (which currently consumes about 1MB of memory and needs some seconds to load on a slow hardware)
securityCheck: to avoid checking if each Server port is secured by password. May make sense to avoid warnings, if you know it better.
dnsHostsFile
If dnsServer is set, check the contents of the file specified as argument. To use the system hosts file, set it to /etc/hosts on Linux/Unix/OSX and C:\windows\system32\drivers\etc\hosts on Windows. Note: only IPv4 is supported.
dnsServer
Contains the IP address of the DNS Server. If some of the modules or user code calls the HttpUtils_NonblockingGet function, and this attribute is set, then FHEM specific nonblocking code will be used to resolve the given address. If this attribute is not set, the blocking OS implementation (inet_aton and gethostbyname) will be used.
encoding
Set the internal encoding used for storing strings. Possible values: bytestream (default) and unicode.
Notes:
Since not all modules were checked, if they work correctly with the internal unicode encoding, this feature is experimental.
Changing the attribute value triggers a save and a shutdown restart
featurelevel
Enable/disable old or new features, based on FHEM version. E.g. the $value hash for notify is only set for featurelevel up to 5.6, as it is deprecated, use the Value() function instead.
holiday2we
If this attribute is set, then the $we variable will be true, if it is either saturday/sunday, or the value of the holiday variable referenced by this attribute is not none.
If it is a comma separated list, then it is true, if one of the referenced entities is not none.
Example:
attr global holiday2we he
Note: if one of the elements in the list is named weekEnd, then the check for saturday/sunday is skipped If the name is noWeekEnd, and its Value is not none, than $we is 0.
httpcompress
the HttpUtils module is used by a lot of FHEM modules, and enables compression by default. Set httpcompress to 0 to disable this feature.
ignoreRegexp
Do not log messages matching the value into the FHEM log. Note: the usual ^ and $ will be appended to the regexp, like in notify or FileLog.
keyFileName
FHEM modules store passwords and unique IDs in the file FHEM/FhemUtils/uniqueID. In order to start multiple FHEM instances from the same directory, you may set this attribute, whose value will appended to FHEM/FhemUtils/
latitude
Used e.g. by SUNRISE_EL to calculate sunset/sunrise.
Default is Frankfurt am Main, Germany (50.112).
longitude
Used e.g. by SUNRISE_EL to calculate sunset/sunrise.
Default is Frankfurt am Main, Germany (8.686).
logdir
If set, the %L attribute in the logfile attribute (or in the FileLog modules file definition) is replaced wth the value of the attribute. Note: changing the value won't result in moving the files and may cause other problems.
logfile
Specify the logfile to write. You can use "-" for stdout, in this case the server won't background itself.
The logfile name can also take wildcards for easier logfile rotation, see the FileLog section. Just apply the archivecmd / archivedir / nrarchive attributes to the global device as you would do for a FileLog device.
You can access the current name of the logfile with { $currlogfile }.
maxChangeLog
FHEM stores the structural change history which is displayed by "save ?" or in FHEMWEB by clicking on the red question mark. By default this list is limited to 10 entries, this attribute changes the limit.
maxShutdownDelay
Some modules need some time at shutdown to finish the cleanup, but FHEM restricts the delay to 10 seconds. Use this attribute to modify the maximum delay.
modpath
Specify the path to the modules directory FHEM. The path does not contain the directory FHEM. Upon setting the attribute, the directory will be scanned for filenames of the form NN_<NAME>.pm, and make them available for device definition under <NAME>. If the first device of type <NAME> is defined, the module will be loaded, and its function with the name <NAME>_Initialize will be called. Exception to this rule are modules with NN=99, these are considered to be utility modules containing only perl helper functions, they are loaded at startup (i.e. modpath attribute definition time).
motd
Message Of The Day. Displayed on the homescreen of the FHEMWEB package, or directly after the telnet logon, before displaying the fhem> prompt. In addition, the content of the internal value init_errors will be displayed. To avoid displaying messages set its value to none.
mseclog
If set, the timestamp in the logfile will contain a millisecond part.
nofork
If set and the logfile is not "-", do not try to background. Needed on some Fritzbox installations, and it will be set automatically for Windows.
perlSyntaxCheck
by setting the global attribute perlSyntaxCheck, a syntax check will be executed upon definition or modification, if the command is perl and FHEM is already started.
pidfilename
Write the process id of the perl process to the specified file. The server runs as a daemon, and some distributions would like to check by the pid if we are still running. The file will be deleted upon shutdown.
proxy
IP:PORT of the proxy server to be used by HttpUtils.
proxyAuth
Base64 encoded username:password
proxyExclude
regexp for hosts to exclude when using a proxy
restoreDirs
update saves each file before overwriting it with the new version from the Web. For this purpose update creates a directory restoreDir/update in the global modpath directory, then a subdirectory with the current date, where the old version of the currently replaced file is stored. The default value of this attribute is 3, meaning that 3 old versions (i.e. date-directories) are kept, and the older ones are deleted.
fhem.cfg and fhem.state will be also copied with this method before executing save into restoreDir/save/YYYY-MM-DD. To restore the files, you can use the restore FHEM command.
If the attribute is set to 0, the feature is deactivated.
sendStatistics
statefile
Set the filename where the state and certain at information will be saved before shutdown. If it is not specified, then no information will be saved.
title
useInet6
try to use IPv6 in HttpUtils for communication. If the server does not have an IPv6 address, fall back to IPv4. Note: IO::Socket::INET6 is required.
userattr
A space separated list which contains the names of additional attributes for all devices. Without specifying them you will not be able to set them (in order to prevent typos).
userattr can also specified for other devices, in this case these additional attribute names are only valid for this device.
dupTimeout
Define the timeout for which 2 identical events from two different receiver are considered a duplicate. Default is 0.5 seconds.
showInternalValues
Show data used for internal computations. If the name of an internal value, reading or attribute starts with dot (.), then it is normally hidden, and will only be visible, if this attribute is set to 1. The attribute is checked by the list command, by the FHEMWEB room overview and by xmllist.
sslVersion
Specifies the accepted cryptography algorithms by all modules using the TcpServices helper module. The current default TLSv12:!SSLv3 is thought to be more secure than the previously used SSLv23:!SSLv3:!SSLv2, but it causes problems with some not updated web services.
stacktrace
if set (to 1), dump a stacktrace to the log for each "PERL WARNING".
restartDelay
set the delay for shutdown restart, default is 2 (seconds).
Events:
INITIALIZED
after initialization is finished.
REREADCFG
after the configuration is reread.
SAVE
before the configuration is saved.
SHUTDOWN
before FHEM is shut down.
DEFINED <devname>
after a device is defined.
DELETED <devname>
after a device was deleted.
RENAMED <old> <new>
after a device was renamed.
UNDEFINED <defspec>
upon reception of a message for an undefined device.
MODIFIED <defspec>
after a device modification.
UPDATE
after an update is completed.
CANNOT_FORK
if BlockingCall encounters this problem.
Viele Grüße Gisbert
Im Gegensatz zu meinen Vorrednern sehe ich doch ein gewisses RAM Problem bei Dir. Du hat in dem Beispiel 4h die Maschine laufen und es wird schon "reichlich" SWAP verwendet. Da eine SSD deutlich langsamer als ein RAM ist (Faktor 1000?), sollte er eigentlich erst viel später in die Richtung gehen müssen. Auch wenn Du zusätzlich schreibst, das Du 60-80% RAM (60% kein Problem, 80% dagegen schon nicht mehr so "nett"), würde ich in die Richtung mal optimieren.
Und bevor Du jetzt direkt Hardware kaufen, ist das Stichwort "swappines". siehe z.B. https://ubunlog.com/de/swappiness-como-ajustar-el-uso-de-la-memoria-virtual/ (https://ubunlog.com/de/swappiness-como-ajustar-el-uso-de-la-memoria-virtual/) oder https://wiki.ubuntuusers.de/Swap/ (https://wiki.ubuntuusers.de/Swap/)
Ich würde den mal auf ~20 setzen. Normalerweise steht er bei 60.
Zusätzlich:
Wobei die Hinweise der Eventreduzierung eine große Bedeutung für Dich haben. Brauchst Du wirklich jede (so schriebst Du) Minute Werten von einigen MQTT Device? Wenn man das z.B. auf 2 Minuten reduziert, erfolgt schon eine Reduzierung bei den Device um den Faktor 2.
Ich kenne mich mit Unifi nicht aus, aber wirklich 25-35% Speicher?
Hast Du einen Druckserver auf der Maschine (z.B. CUPS)
Zitat von: Wernieman am 10 September 2022, 21:18:53
Ich kenne mich mit Unifi nicht aus, aber wirklich 25-35% Speicher?
Ich weiß jetzt nicht, wie viel Speicher steckt.
Bei mir läuft Unifi-Controller auf einem PI4 4GB (zusammen mit anderen Dingen), fhem läuft "alleine" :)
Ich habe laut top einen Verbrauch von Unifi plus MongoDB von 400MB - (aktuell) 670MB...
Wächst langsam an und wenn ich dann mal boote (aber eher sehr selten), dann fängt es wieder bei so 300/400MB an...
EDIT: hast du das Standard systemd-Script oder angepasst? Ich hatte ja eine Abhängigkeit zu einem anderen Service (deCONZ) "reingemurkst" und mich gewundert, warum fhem ab und an neu gestartet wurde (war eine neuere Installation bei einem Freund mit deCONZ und fhem auf einem PI)...
...bis ich dann merkte, dass wohl deCONZ öfter mal neu startet und damit (dank mir ;) ) auch fhem...
Gruß, Joachim
Hallo Wernieman,
Fhem lief zu diesem Zeitpunkt 4 Stunden, der Server ca. 6-8 Wochen.
Ich hab gestern Abend (spät) den Server neu gestartet mit dem empfohlenen Wert für "swappiness" (vorher). Bis jetzt ist die Swap-Datei leer. Unifi gönnt sich nach wie vor mit 2 Prozessen 25% RAM.
Die Reduzierung der Events steht auf der to-do-Liste, ganz eindeutig. Einen Druckerserver hab ich nicht.
Hallo Joachim,
ZitatStandard systemd-Script oder angepasst?
das kann ich dir gar nicht sagen, ich hab nach Anleitung gehandelt, mit anderen Worten ich bin Laie. Was muss ich an Informationen, Daten liefern, dass du dir einen Überblick verschaffen kannst?
Viele Grüße Gisbert
Also wenn du nie in der Datei: /etc/systemd/system/fhem.service editiert hast, dann wird fhem wohl mit der Standarddatei gesteuert...
Ansonsten halt den Inhalt dieser Datei posten ;)
Gruß, Joachim
Hallo Joachim,
an der Datei fhem.service war ich nie dran.
Viele Grüße Gisbert
Hallo zusammen,
kurzes update.
Ich hab bei den allermeisten Devices (hauptsächlich MQTT-Devices) das update-Intervall höher gesetzt und gleichzeitig konsequent überall event-on-change-reading .* gesetzt. Damit werden die Events gefühlt auf die Hälfte reduziert.
Die Swap-Datei ist mittlerweile bei 12% angekommen. Ich werde das weiter beobachten.
Da ich jeden Samstag ein automatisiertes Fhem-Update fahre, was einen Neustart von Fhem beinhaltet, werde ich über einen Erfahrungsschatz von einer Woche nicht hinauskommen. Ich werde über eine längere Zeit beobachten müssen, ob unter der Woche dann noch ein Neustart stattfindet.
Viele Grüße Gisbert
Zitat von: Gisbert am 12 September 2022, 12:43:44
Ich hab bei den allermeisten Devices (hauptsächlich MQTT-Devices) das update-Intervall höher gesetzt und gleichzeitig konsequent überall event-on-change-reading .* gesetzt. Damit werden die Events gefühlt auf die Hälfte reduziert.
Eine gute Hilfe hierfür ist auch DOIF-Tools, das kann eine Statistik über Events und Events/Device usw. erzeugen.
Damit kann man sehr einfach sehen, was die "schlimmen Devices" sind (viele Events/Zeit).
Was mir noch einfällt: watchdog. Hast du einen eingerichtet? Also ich meine jetzt "System-Watchdog" nicht einen Watchdog/Modul/Device in fhem... ;)
Gruß, Joachim
Zitat von: MadMax-FHEM am 12 September 2022, 12:48:42
Was mir noch einfällt: watchdog. Hast du einen eingerichtet? Also ich meine jetzt "System-Watchdog" nicht einen Watchdog/Modul/Device in fhem... ;)
systemd selbst ist eine Art watchdog, und genau das scheint hier immer mal wieder zugeschlagen zu haben, ein Blick ins syslog sollte das ggf. bestätigen.
Zitat von: Gisbert am 12 September 2022, 12:43:44konsequent überall event-on-change-reading .* gesetzt. Damit werden die Events gefühlt auf die Hälfte reduziert.
Diese Pauschallösung finde ich immer noch gruselig, aber ok, es ist ein Anfang...
Was RAM angeht, könntest du ggf. noch schauen, was da im BIOS für Grafik reserviert ist. Evtl. kannst du da was freigeben, du hast ja keine GUI laufen, oder? (Trotzdem wäre es interessant rauszufinden, warum das Ding so schnell anfängt zu swappen, meiner macht das afaik praktisch nie).
Zitat von: Beta-User am 12 September 2022, 13:25:28
systemd selbst ist eine Art watchdog, und genau das scheint hier immer mal wieder zugeschlagen zu haben, ein Blick ins syslog sollte das ggf. bestätigen.
Jep aber durch einen "system-Watchdog" (sowas wie: fhem schreibt/verändert eine Datei und "das system" prüft das und wenn fhem hängt, dann wird neu gestartet) kommen u.U. weitere "Kriterien" für einen Neustart dazu, zusätzlich zu dem was systemd schon als Grund für "ich starte besser mal neu" hält...
So in der Art: https://forum.fhem.de/index.php?topic=25110.0 / https://raw.githubusercontent.com/hexenmeister/MyFHEM/master/FHEM/98_systemd_watchdog.pm
Nutze ich nicht aber es gab ab und an deswegen auch schon Neustarts, von denen die Anwender überrascht waren, bis sie eben drauf gekommen sind, dass sie (irgendwann) doch mal so einen Watchdog eingerichtet haben ;)
Gruß, Joachim
Hallo Jörg,
um ins BIOS reinzukommen, muss ich wohl einen Bildschirm und Tastatur anschließen und den Server neu starten.
Kann man evtl. mit dem folgenden erkennen, ob sich die Aktion lohnen könnte?
sudo dmidecode -t bios
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Hewlett-Packard
Version: K30 v01.16
Release Date: 05/24/2013
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 4 MB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
UEFI is supported
BIOS Revision: 1.16
Handle 0x001F, DMI type 13, 22 bytes
BIOS Language Information
Language Description Format: Long
Installable Languages: 12
en|US|iso8859-1
fr|FR|iso8859-1
es|ES|iso8859-1
de|DE|iso8859-1
it|IT|iso8859-1
da|DK|iso8859-1
fi|FI|iso8859-1
nl|NL|iso8859-1
no|NO|iso8859-1
pt|PT|iso8859-1
sv|SE|iso8859-1
ja|JP|unicode
Currently Installed Language: en|US|iso8859-1
ZitatSystem-Watchdog
Ich glaub, dass ich nichts eingerichtet hab, ich werde meine Installationsdoku noch durchsehen.
Hallo Joachim,
Ich hab DOIFtools definiert, mir ist aber auch nach dem Durchlesen des Wikiartikels und der Commander unklar, was ich nun tun kann/soll.
defmod DOIFtools DOIFtools associated DOIF: Anwesenheit.Zuhause Bad.Alarm BewegungsmelderFlurEG BewegungsmelderGarage Gaeste_WC.Alarm Garagentor.Alarm HKV.Bad HKV.EG HKV.OG Haushaltsraum.Lueftung Haustuer.Licht.Schaltzeit HeizungWarmwasser Heizung_alive Heizung_pressure Heizung_start IntervalSpeedtest Klingeln Kondensatbehaelter.Alarm Lichterkette.Schaltzeit Muellabfuhr PIRWestAlarm RollladengruppeOG RollladengruppeUp RollladengruppeWZ Rufumleitung SZ.Gisbert.Alarm Spitzboden.Lueftung Stellantriebe_reset Terrasse.Licht.Schaltzeit TreppenhausMarkisenBefehl Ueberwachung Update.Blitzer Update.Dieselpreise Update.Indices Warmwasser.Zirkulation Wohnzimmer.Licht.Fernseher Zeit_Warmwasser day_BatterySmokeDetector missedCall myreadingsWatcher_UAP_AC_LR_EG restart.FHEM
attr DOIFtools room Network
setstate DOIFtools initialized
setstate DOIFtools 2022-09-12 13:46:18 .t0 1662983178.03735
setstate DOIFtools 2022-09-12 13:46:18 .te 0
setstate DOIFtools 2022-09-12 13:46:18 Action event recording stopped and data deleted
setstate DOIFtools 2022-09-12 13:38:23 DOIF_version 98_DOIF.pm 26182 2022-06-29 18:57:26Z Damian
setstate DOIFtools 2022-09-12 13:46:18 doStatistics disabled
setstate DOIFtools 2022-09-12 13:47:27 recording_target_duration 168
setstate DOIFtools 2022-09-12 13:27:46 state initialized
setstate DOIFtools 2022-09-12 13:46:18 statisticHours 0.00
setstate DOIFtools 2022-09-12 13:46:18 statisticsTYPEs MQTT_DEVICE
Viele Grüße Gisbert
Zitat von: Gisbert am 12 September 2022, 15:04:45
Kann man evtl. mit dem folgenden erkennen, ob sich die Aktion lohnen könnte?
Schau mal hier rein, da hat sich jemand intensiver mit dem Thema beschäftigt:
https://www.parkytowers.me.uk/thin/hp/t610/firmware.shtml
Äh, also bei mir sind da Knöpfe zum Drücken:
set doStatistics enable (wenn noch nicht aktiv ansonsten: disable)
get statisticsReport -> man bekommt die Übersicht
Gruß, Joachim
Zitat von: MadMax-FHEM am 12 September 2022, 15:50:10
Äh, also bei mir sind da Knöpfe zum Drücken:
set doStatistics enable (wenn noch nicht aktiv ansonsten: disable)
get statisticsReport -> man bekommt die Übersicht
Gruß, Joachim
Hallo Joachim,
bei dem Style für mein Handy gibt es keine Knöpfe. Bei dem "üblichen" Style gibt es die Knöpfe - funktioniert.
Viele Grüße Gisbert
der syslog ausschnitt beim crash fehlt noch.
Zitat von: frank am 12 September 2022, 18:40:45
der syslog ausschnitt beim crash fehlt noch.
Hallo Frank,
mache ich gerne, aber ich benötige Hilfe, ich weiß nicht, wie ich das anstellen kann.
Viele Grüße Gisbert
Mit syslog meint er: /var/log/syslog
sudo cat /var/log/syslog
Und um den Zeitpunkt des Reboots die Zeilen posten.
P.S. Wenn es zu viel ist, geht auch less:
sudo less /var/log/syslog
mit PageUp/Down scrollen und mit q beenden. Copy&Paste mit der Maus
Hallo Wernieman,
ich schaue, ob ich den Zeitpunkt des letzten Absturzes noch hinbekomme. Ich muss in die Fhem-Logs reinschauen, um den Zeitpunkt wiederzufinden.
Viele Grüße Gisbert
Hallo Wernieman,
hallo Frank,
an die Informationen beim Absturz komme ich anscheinend nicht mehr ran, da ich später den Server selbst neu gestartet habe, nachdem ich den swappiness-Wert geändert hatte. Dann muss ich auf den nächsten Absturz warten und das Ergebnis posten.
ZitatMit syslog meint er: /var/log/syslog
sudo cat /var/log/syslog
Viele Grüße Gisbert
ls -lha /var/log/syslog*
Je nach Systemeinstellung wird das Logfile "rotiert" und komprimiert. Ältere Dateien kannst Du lesen mit:
zcat /var/log/syslogXXX
XXX bitte durch die Endung ergänzen, wie z.B. .1 oder .1.gz, je nach Systemeinstellung. Zum scrollen:
zcat /var/log/syslogXXX | less
augen auf und probieren/anschauen:
auf meinem pi gibt es 8 dateien, letzte 7 tage plus aktueller tag.
/var/log/syslog
/var/log/syslog.1
/var/log/syslog.2.gz
/var/log/syslog.3.gz
/var/log/syslog.4.gz
/var/log/syslog.5.gz
/var/log/syslog.6.gz
/var/log/syslog.7.gz
mit Absicht hatte ich bei ls die Parameter "-lha" gesetzt:
-l: Nicht nur Dateiname, sondern auch Benutzer, ketzte Änderung etc. Anzeigen (long Listing)
-h: Menschlich lesbare Größenangabe (Human-readable)
-a: Alle Dateien anzeigen, also auch die Geschützten Dateien, (Die mit dem ".")
Eigentlich währe für Dich -l ausreichend gewesen, da dort auch das Dateidatum angezeigt wird, aber automatisch verwende ich immer die Kombi der 3 Parameter.
Kannst Du uns bitte mal den kompletten Output geben:
ls -lha /var/log/syslog*
Hallo Wernieman,
hallo Frank,
hier der Auszug aus dem syslogfile zur Zeit des ungeplanten Fhem-Neustarts (insbesondere bei 01:00:00):
Sep 9 00:00:53 HPT610 systemd[1]: Starting Rotate log files...
Sep 9 00:00:53 HPT610 systemd[1]: Starting Daily man-db regeneration...
Sep 9 00:00:53 HPT610 systemd[1]: Reloading The Apache HTTP Server.
Sep 9 00:00:53 HPT610 systemd[1]: Reloaded The Apache HTTP Server.
Sep 9 00:00:53 HPT610 systemd[1]: logrotate.service: Succeeded.
Sep 9 00:00:53 HPT610 systemd[1]: Finished Rotate log files.
Sep 9 00:00:55 HPT610 systemd[1]: man-db.service: Succeeded.
Sep 9 00:00:55 HPT610 systemd[1]: Finished Daily man-db regeneration.
Sep 9 00:00:55 HPT610 systemd[1]: man-db.service: Consumed 1.239s CPU time.
Sep 9 00:09:00 HPT610 systemd[1]: Starting Clean php session files...
Sep 9 00:09:01 HPT610 systemd[1]: phpsessionclean.service: Succeeded.
Sep 9 00:09:01 HPT610 systemd[1]: Finished Clean php session files.
Sep 9 00:09:01 HPT610 CRON[1013635]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Sep 9 00:10:01 HPT610 CRON[1013658]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 00:17:01 HPT610 CRON[1013848]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Sep 9 00:20:01 HPT610 CRON[1013917]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 00:30:01 HPT610 CRON[1014181]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 00:39:00 HPT610 systemd[1]: Starting Clean php session files...
Sep 9 00:39:01 HPT610 systemd[1]: phpsessionclean.service: Succeeded.
Sep 9 00:39:01 HPT610 systemd[1]: Finished Clean php session files.
Sep 9 00:39:01 HPT610 CRON[1014482]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Sep 9 00:40:01 HPT610 CRON[1014504]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 00:50:01 HPT610 CRON[1014757]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 01:00:00 HPT610 kernel: [2030065.219487] traps: perl[781100] trap stack segment ip:55e7a0d578e4 sp:7ffea21be1b0 error:0 in perl[55e7a0d1d000+185000]
Sep 9 01:00:00 HPT610 systemd[1]: fhem.service: Main process exited, code=killed, status=7/BUS
Sep 9 01:00:01 HPT610 CRON[1015022]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 01:01:30 HPT610 systemd[1]: fhem.service: State 'stop-sigterm' timed out. Killing.
Sep 9 01:01:30 HPT610 systemd[1]: fhem.service: Killing process 781133 (perl) with signal SIGKILL.
Sep 9 01:01:30 HPT610 systemd[1]: fhem.service: Failed with result 'signal'.
Sep 9 01:01:30 HPT610 systemd[1]: fhem.service: Consumed 20h 47min 33.019s CPU time.
Sep 9 01:01:30 HPT610 systemd[1]: fhem.service: Scheduled restart job, restart counter is at 7.
Sep 9 01:01:30 HPT610 systemd[1]: Stopped FHEM Home Automation.
Sep 9 01:01:30 HPT610 systemd[1]: fhem.service: Consumed 20h 47min 33.019s CPU time.
Sep 9 01:01:30 HPT610 systemd[1]: Starting FHEM Home Automation...
Sep 9 01:01:32 HPT610 systemd[1]: Started FHEM Home Automation.
Sep 9 01:02:57 HPT610 unbound[631]: [1662678177] unbound[631:0] info: generate keytag query _ta-4f66. NULL IN
Sep 9 01:09:00 HPT610 systemd[1]: Starting Clean php session files...
Sep 9 01:09:01 HPT610 CRON[1015294]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Sep 9 01:09:01 HPT610 systemd[1]: phpsessionclean.service: Succeeded.
Sep 9 01:09:01 HPT610 systemd[1]: Finished Clean php session files.
Sep 9 01:10:01 HPT610 CRON[1015357]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 01:17:01 HPT610 CRON[1015546]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Sep 9 01:20:01 HPT610 CRON[1015614]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 01:25:24 HPT610 signal-cli[165265]: WARN ReceiveHelper - Connection closed unexpectedly, reconnecting in 100 ms
Sep 9 01:30:01 HPT610 CRON[1015871]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 9 01:39:00 HPT610 systemd[1]: Starting Clean php session files...
Sep 9 01:39:01 HPT610 systemd[1]: phpsessionclean.service: Succeeded.
Sep 9 01:39:01 HPT610 systemd[1]: Finished Clean php session files.
2022.09.09 01:01:32.403 1: Including fhem.cfg
2022.09.09 01:01:32.860 3: WEB: port 8083 opened
2022.09.09 01:01:32.942 3: WEBphone: port 8084 opened
2022.09.09 01:01:32.952 3: WEBtablet: port 8085 opened
2022.09.09 01:01:32.973 3: httpWEB: port 8086 opened
2022.09.09 01:01:32.989 3: telnetPort: port 7072 opened
Viele Grüße Gisbert
Sep 9 01:00:00 HPT610 kernel: [2030065.219487] traps: perl[781100] trap stack segment ip:55e7a0d578e4 sp:7ffea21be1b0 error:0 in perl[55e7a0d1d000+185000]
Sep 9 01:00:00 HPT610 systemd[1]: fhem.service: Main process exited, code=killed, status=7/BUS
die uhrzeit ist doch sicherlich kein zufall.
was macht dein fhem nachts punkt 01:00:00 uhr?
Hallo Frank,
um kurz nach Mitternacht habe ich ein at-Device, welches eine Tagesstatistik macht, aber nicht um 01:00:00.
Die Fhemabstürze finden ganz sicher nicht immer um 01:00:00 statt - das muss hier ein Zufall sein.
Viele Grüße Gisbert
Hallo Frank,
hallo Wernieman,
$ sudo wdctl
Device: /dev/watchdog0
Identity: SP5100 TCO timer [version 0]
Timeout: 60 seconds
Pre-timeout: 0 seconds
Timeleft: 60 seconds
FLAG DESCRIPTION STATUS BOOT-STATUS
KEEPALIVEPING Keep alive ping reply 1 0
MAGICCLOSE Supports magic close char 0 0
SETTIMEOUT Set timeout (in seconds) 0 0
Was bedeutet das, ist es sinnvoll und wenn nicht, wie kann es weggemacht werden?
Viele Grüße Gisbert
Hallo zusammen,
heute Nacht wurde Fhem exakt um 04:00:00 gestoppt - diesmal glaube ich nicht mehr an einen Zufall.
Ich frage etliche Wetterseiten ab, und da ist ein Stundentakt auch dabei.
Wie kann ich denn herausfinden, an welchem Device oder Modul es liegt, dass Fhem neu startet?
Freezemon gibt zur fraglichen Zeit keine Meldung raus.
Sep 14 04:00:00 HPT610 kernel: [258561.538355] show_signal: 1 callbacks suppressed
Sep 14 04:00:00 HPT610 kernel: [258561.538369] traps: perl[1017] trap stack segment ip:55707e38d8e4 sp:7ffc029ddf30 error:0 in perl[55707e353000+185000]
Sep 14 04:00:00 HPT610 systemd[1]: fhem.service: Main process exited, code=killed, status=7/BUS
Sep 14 04:00:01 HPT610 CRON[151595]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 14 04:01:30 HPT610 systemd[1]: fhem.service: State 'stop-sigterm' timed out. Killing.
Sep 14 04:01:30 HPT610 systemd[1]: fhem.service: Killing process 130120 (perl) with signal SIGKILL.
Sep 14 04:01:30 HPT610 systemd[1]: fhem.service: Failed with result 'signal'.
Sep 14 04:01:30 HPT610 systemd[1]: fhem.service: Consumed 10h 2min 45.936s CPU time.
Sep 14 04:01:30 HPT610 systemd[1]: fhem.service: Scheduled restart job, restart counter is at 1.
Sep 14 04:01:30 HPT610 systemd[1]: Stopped FHEM Home Automation.
Sep 14 04:01:30 HPT610 systemd[1]: fhem.service: Consumed 10h 2min 45.936s CPU time.
Sep 14 04:01:30 HPT610 systemd[1]: Starting FHEM Home Automation...
Sep 14 04:01:32 HPT610 systemd[1]: Started FHEM Home Automation.
Gibt es noch eine Meinung zu dem watchdog aus dem vorherigen Thread?
Viele Grüße Gisbert
Was sagt den das FHEM-Log zu dem Zeitpunkt?
Habe mal nach dem Fehler gesucht. Weiß nicht, ob das paßt (https://stackoverflow.com/questions/60275576/how-to-interpret-linux-kernel-trap-error-line), aber unlogisch klingt es nicht:
Zitaterror:0 means dividing by zero (if your application works on x86 architecture): https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/include/asm/traps.h#n148 (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/include/asm/traps.h#n148)
Da scheint also irgendeines deiner genau zu jeder Stunde ausgelösten Devices - gelegentlich! - irgendwas komisches zu machen. Normalerweise müßte dazu auch was im FHEM-log stehen. Ansonsten kann man nur versuchen, den (möglichen) Verursacher dadurch zu identifizieren, dass man alle anderen ausschaltet (oder ein Parallel-System aufbaut, dass dann jeweils nur einen enthält).
bei httpmod oder at gibt es das attribut aligntime.
damit wird die stündliche startzeit mit einer bestimmten uhrzeit verknüpft.
setzte beim ersten device zb 00:00:07
beim nächsten 00:00:13 usw...
ZitatSep 14 04:00:00 HPT610 systemd[1]: fhem.service: Main process exited, code=killed, status=7/BUS
BUS ERROR bedeutet entweder einen Hardware Fehler (unwahrscheinlich) oder Software Fehler im perl Binary oder einer der verwendeten Bibliotheken.
Es ist kein Fehler, was man (perfektes perl vorausgesetzt) mit perl Anweisungen in FHEM Code ausloesen kann.
Eine der moeglichen Loesungen ist die perl Zeilen zu finden, die das Problem ausloesen, und dann einen Workaround programmieren, das ist aber relativ aufwendig.
Ich wuerde vorher andere perl Versionen ausprobieren, z.Bsp. ueber perlbrew, da es mAn einfacher ist.
Auch wenn die Moeglichkeit besteht, dass alle getesteten perl Versionen den Fehler beinhalten.
Was mir dabei spontan einfällt ... es ist doch ein Pi, auf dem das FHEM läuft?
SDCard-Problem?
Es ist afaik ein Thin Client (HP T610), und vermutlich noch mit buster/Perl 5.28.1?
Ich nehme mein Pi Gedanken zurück ;)
Trotzdem könnte man beei solchen "lokalen" Problemen über ein Perl reinstall nachdenken. Nicht das dieses Perl-Binary einen "Hack" weg hat ,,,,
Hallo zusammen,
vielen Dank für eure zahlreichen Antworten.
Hier noch einige Ergänzungen:
Im Fhemlog steht nichts Erhellendes:
2022.09.14 03:50:21.704 3: [Freezemon] myFreezemon: possible freeze starting at 03:50:20, delay is 1.697 possibly caused by: tmr-CODE(0x5570855d2800)(GetUpdate)
2022.09.14 03:51:08.026 2: Received 1 values for radiation
2022.09.14 04:01:32.373 1: Including fhem.cfg
HTTPMOD und at starte ich mit aligntime, so dass ich die alle schön zeitlich separieren kann.
Der Rechner ist ein HP T610 ThinClient mit 4 GB RAM. Ich hab die Perl-Version 5.32.1.
Ich hab cpan installiert. Falls ein Perl reinstall sinnvoll sein sollte, wie mach ich das?
ZitatIch wuerde vorher andere perl Versionen ausprobieren, z.Bsp. ueber perlbrew, da es mAn einfacher ist.
Bin nicht erfahren in diesen Dingen, brauche evtl. Unterstützung dabei.
Viele Grüße Gisbert
ZitatIch hab cpan installiert. Falls ein Perl reinstall sinnvoll sein sollte, wie mach ich das?
.....
Bin nicht erfahren in diesen Dingen, brauche evtl. Unterstützung dabei.
Sorry, aber ich Wüste nicht, wie ich Dir das Erklären sollte .... hat jemand eine bessere Idee?
perlbrew: wie wär es hiermit, habe es selbst nie probiert.
https://forum.fhem.de/index.php/topic,84372.msg861586.html#msg861586 (https://forum.fhem.de/index.php/topic,84372.msg861586.html#msg861586)
edit:
@gisbert, könnte der spuk mit perl 5.32.1 begonnen haben?
Zitat von: frank am 14 September 2022, 12:28:04
perlbrew: wie wär es hiermit, habe es selbst nie probiert.
https://forum.fhem.de/index.php/topic,84372.msg861586.html#msg861586 (https://forum.fhem.de/index.php/topic,84372.msg861586.html#msg861586)
edit:
@gisbert, könnte der spuk mit perl 5.32.1 begonnen haben?
Hallo Frank,
ich kann leider nicht sagen, wann ich welche Perl-Version hatte, aber die in gewissen Abständen stattfindenden Fhem-Neustarts hab ich schon sehr lange.
Viele Grüße Gisbert
Da Du CPAN angesprochen hast, mal sämmtliche Module upgedatet?
https://blog.bartlweb.net/2018/03/installierte-perl-cpan-module-auf-einmal-aktualisieren/ (https://blog.bartlweb.net/2018/03/installierte-perl-cpan-module-auf-einmal-aktualisieren/)
System ist aktuell?
Zitat von: Gisbert am 14 September 2022, 11:27:23
HTTPMOD und at starte ich mit aligntime, so dass ich die alle schön zeitlich separieren kann.
da hatte ich einen gedankenfehler.
jedes "normale" sich wiederholende httpmod/at (ohne aligntime) startet ja etwa zu der zeit, wenn fhem startet.
fhem startet bei dir immer ca 90s nach einem crash.
es kann also in fhem nur eine routine in frage kommen, die explizit zur vollen stunde startet (zb auch aligntime=00:00:00). vermutlich kommt da gar nicht so viel in frage, aber eventuell schwer zu finden.
damals zu fhem@fritzbox-zeiten habe ich viel zeit damit verbracht, alle routinen schön zu separieren.
ich meine proplanta war zb so ein "ganove", der sich immer automatisch auf volle stunde synchronisiert hat.
Es könnte aber auch sein, dass "reread" durch ein Timer-Gerät (hier konkret vermutlich: DOIF?) angeschubst wird...
vielleicht mal 10s vor jeder vollen stunde global verbose=5 setzen und 10s nach der vollen stunde wieder löschen. ;)
Hallo zusammen,
mein Linux (Debian) ist aktuell. Ich hab cpanm (als root, hoffentlich war das richtig) installiert und die outdated Module aufgefrischt. Das hat insgesamt eine Stunde benötigt, ca. 25 Module, meist eine Versionsnummer höher beim update. Danach hab ich den Server und damit Fhem neu gestartet.
global verbose=5 setze ich vor jeder vollen Stunde, danach wieder zurück - gute Idee.
Viele Grüße Gisbert
Ein at hab ich nicht hinbekommen, aber ein DOIF, dann auf Minutenbasis:
defmod globalverbose5 DOIF ([+[1]:59]) (attr global verbose 5) \
DOELSEIF ([+[1]:01]) (attr global verbose 3)
attr globalverbose5 do always
Änderung:
set funktioniert nicht bei global, es ist ein Attribut.
Ergänzung:
Ich dachte, dass ich mit einem waittimer die Zeit von verbose=5 auf 10 Sekunden vor und nach einer vollen Stunde eingrenzen könnte, was aber wohl nicht funktioniert.
Änderung, als at-Definition (Klammern in Ausführungsteil sind nicht zulässig):
define gloverb5 at +*01:00:00 (attr -silent global verbose 5)
attr gloverb5 alignTime 00:59:50
define gloverb3 at +*01:00:00 (attr -silent global verbose 3)
attr gloverb3 alignTime 00:00:10
Kurzes Update:
Nach dem Update von Perlpaketen mit cpanm und Server-Neustart liegt die RAM-Nutzung stabil bei knapp 50%; damit dürfte sich diese Aktion gelohnt hat haben. Lediglich ein Paket (DB_File) ließ sich nicht updaten.
verbose=5, 10 Sekunden vor und nach jeder vollen Stunde läuft, hier noch die Definition, falls später Mal jemand drüber stolpert:
define gloverb5 at +*01:00:00 attr -silent global verbose 5
attr gloverb5 alignTime 00:59:50
define gloverb3 at +*01:00:00 attr -silent global verbose 3
attr gloverb3 alignTime 00:00:10
Viele Grüße Gisbert
So, es ist wieder soweit.
Gegen 12:00 hat wieder ein Neustart zugeschlagen, anbei der Auszug aus dem log mit verbose=5, startend bei 11:59:50 bis zum Neustart:
2022.09.15 11:59:50.004 5: Starting notify loop for global, 1 event(s), first is ATTR global verbose 5
2022.09.15 11:59:50.007 5: Battery.State: not on any display, ignoring notify
2022.09.15 11:59:50.010 5: [CO2Leverkusen] event:[ATTR global verbose 5], device:[global]
2022.09.15 11:59:50.039 5: [Rhasspy] NotifyFn called with event in global
2022.09.15 11:59:50.060 5: myUniFi (Unifi_Notify) - executed.
2022.09.15 11:59:50.075 5: End notify loop for global
2022.09.15 11:59:50.076 5: redefine at command gloverb5 as +*01:00:00 attr -silent global verbose 5
2022.09.15 11:59:50.079 5: Starting notify loop for gloverb5, 1 event(s), first is Next: 12:59:50
2022.09.15 11:59:50.080 5: Battery.State: not on any display, ignoring notify
2022.09.15 11:59:50.080 5: [CO2Leverkusen] event:[state: Next: 12:59:50], device:[gloverb5]
2022.09.15 11:59:50.100 5: End notify loop for gloverb5
2022.09.15 11:59:51.634 5: HMLAN_Send: HM_CFG_LAN_Adapter I:K
2022.09.15 11:59:51.638 5: HMLAN/RAW: /HHM-LAN-IF,03C5,KEQ1024001,257643,257643,862A4037,0000,00
2022.09.15 11:59:51.638 5: HMLAN_Parse: HM_CFG_LAN_Adapter V:03C5 sNo:KEQ1024001 d:257643 O:257643 t:862A4037 IDcnt:0000 L:0 %
2022.09.15 11:59:51.640 5: Starting notify loop for HM_CFG_LAN_Adapter, 2 event(s), first is loadLvl: low
2022.09.15 11:59:51.640 5: Battery.State: not on any display, ignoring notify
2022.09.15 11:59:51.641 5: [CO2Leverkusen] event:[loadLvl: low], device:[HM_CFG_LAN_Adapter]
2022.09.15 11:59:51.641 5: [CO2Leverkusen] event:[Connect: 2022-09-14 17:25], device:[HM_CFG_LAN_Adapter]
2022.09.15 11:59:51.678 5: End notify loop for HM_CFG_LAN_Adapter
2022.09.15 11:59:55.556 5: [Shelly_status] issue a non-blocking call to http://192.168.2.37/status
2022.09.15 11:59:55.557 5: HttpUtils url=http://192.168.2.37/status NonBlocking via http
2022.09.15 11:59:55.557 4: IP: 192.168.2.37 -> 192.168.2.37
2022.09.15 11:59:55.600 5: HttpUtils request header:
GET /status HTTP/1.0
Host: 192.168.2.37
User-Agent: fhem
Accept-Encoding: gzip,deflate
2022.09.15 11:59:55.650 4: http://192.168.2.37/status: HTTP response code 200
2022.09.15 11:59:55.651 5: HttpUtils http://192.168.2.37/status: Got data, length: 1169
2022.09.15 11:59:55.651 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Mongoose/6.18
Connection: close
Content-Type: application/json
Content-Length: 1169
2022.09.15 11:59:55.651 5: [Shelly_proc1G] device myShelly3EM has returned data {"wifi_sta":{"connected":true,"ssid":"IoTSenhamEG","ip":"192.168.2.37","rssi":-41},"cloud":{"enabled":false,"connected":false},"mqtt":{"connected":false},"time":"11:59","unixtime":1663235994,"serial":14774,"has_update":false,"mac":"3494546ED7EA","cfg_changed_cnt":1,"actions_stats":{"skipped":0},"relays":[{"ison":false,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"overpower":false,"is_valid":true,"source":"input"}],"emeters":[{"power":172.13,"pf":0.76,"current":0.96,"voltage":236.41,"is_valid":true,"total":251166.7,"total_returned":0.0},{"power":105.54,"pf":0.40,"current":1.11,"voltage":236.87,"is_valid":true,"total":619237.2,"total_returned":0.0},{"power":16.85,"pf":0.65,"current":0.11,"voltage":237.22,"is_valid":true,"total":128890.7,"total_returned":0.0}],"total_power":294.52,"emeter_n":{"current":0.00,"ixsum":1.65,"mismatch":false,"is_valid":false},"fs_mounted":true,"v_data":1,"ct_calst":0,"update":{"status":"idle","has_update":false,"new_version":"20220830-080542/v1.12-3EM-gcf4f7c2","old_version":"20220830-080542/v1.12-3EM-gcf4f7c2"},"ram_total":49928,"ram_free":31976,"fs_size":233681,"fs_free":154616,"uptime":850502}
2022.09.15 11:59:55.657 5: Starting notify loop for myShelly3EM, 8 event(s), first is power_0: 172.13
2022.09.15 11:59:55.658 5: myShelly3EMCalculator : ElectricityCalculator Begin_________________________________________________________________________________________________________________________
2022.09.15 11:59:55.658 5: myShelly3EMCalculator : ElectricityCalculator - Notify - Trigger Dev Name : myShelly3EM
2022.09.15 11:59:55.659 5: Battery.State: not on any display, ignoring notify
2022.09.15 11:59:55.660 5: [CO2Leverkusen] event:[power_0: 172.13], device:[myShelly3EM]
2022.09.15 11:59:55.661 5: [CO2Leverkusen] event:[voltage_0: 236.41], device:[myShelly3EM]
2022.09.15 11:59:55.661 5: [CO2Leverkusen] event:[power_1: 105.54], device:[myShelly3EM]
2022.09.15 11:59:55.661 5: [CO2Leverkusen] event:[voltage_1: 236.87], device:[myShelly3EM]
2022.09.15 11:59:55.661 5: [CO2Leverkusen] event:[power_2: 16.85], device:[myShelly3EM]
2022.09.15 11:59:55.662 5: [CO2Leverkusen] event:[voltage_2: 237.22], device:[myShelly3EM]
2022.09.15 11:59:55.662 5: [CO2Leverkusen] event:[Zeitstempel: 2022-09-15 11:59:55], device:[myShelly3EM]
2022.09.15 11:59:55.662 5: [CO2Leverkusen] event:[total_power: 0.29452], device:[myShelly3EM]
2022.09.15 11:59:55.706 4: monitoring (mymonitoring) triggered by "myShelly3EM Zeitstempel: 2022-09-15 11:59:55"
2022.09.15 11:59:55.707 5: monitoring (mymonitoring) errorFuncAdd and errorFuncRemove are preset
2022.09.15 11:59:55.707 5: monitoring (mymonitoring) only addRegex is defined
2022.09.15 11:59:55.708 5: monitoring (mymonitoring)
entering monitoring_modify
reading: error
operation: remove
value: myShelly3EM
at: now
2022.09.15 11:59:55.710 5: monitoring (mymonitoring)
entering monitoring_modify
reading: error
operation: add
value: myShelly3EM
at: 2022-09-15 13:59:55
2022.09.15 11:59:55.714 5: monitoring (mymonitoring) warningFuncAdd and warningFuncRemove are preset
2022.09.15 11:59:55.714 5: monitoring (mymonitoring) only addRegex is defined
2022.09.15 11:59:55.715 5: monitoring (mymonitoring)
entering monitoring_modify
reading: warning
operation: remove
value: myShelly3EM
at: now
2022.09.15 11:59:55.717 5: monitoring (mymonitoring)
entering monitoring_modify
reading: warning
operation: add
value: myShelly3EM
at: 2022-09-15 12:59:55
2022.09.15 11:59:55.720 5: End notify loop for myShelly3EM
2022.09.15 11:59:55.724 5: Cmd: >{SIP_rBU('blockCallcenter','state;listen_echo|listen_alive;1322|expire;300')}<
2022.09.15 11:59:55.725 5: blockCallcenter, readingB:state Val:listen_echo
2022.09.15 11:59:55.725 5: blockCallcenter, readingB:listen_alive Val:1322
2022.09.15 11:59:55.725 5: blockCallcenter, readingB:expire Val:300
2022.09.15 11:59:55.726 5: Starting notify loop for blockCallcenter, 3 event(s), first is listen_echo
2022.09.15 11:59:55.726 5: Battery.State: not on any display, ignoring notify
2022.09.15 11:59:55.727 5: [CO2Leverkusen] event:[state: listen_echo], device:[blockCallcenter]
2022.09.15 11:59:55.727 5: [CO2Leverkusen] event:[listen_alive: 1322], device:[blockCallcenter]
2022.09.15 11:59:55.727 5: [CO2Leverkusen] event:[expire: 300], device:[blockCallcenter]
2022.09.15 11:59:55.748 5: End notify loop for blockCallcenter
2022.09.15 11:59:56.536 4: Ignoring unknown_17C40D
2022.09.15 11:59:56.536 4: Ignoring unknown_1AF7F7
2022.09.15 11:59:56.536 4: Ignoring unknown_1B6D68
2022.09.15 11:59:56.536 4: Ignoring unknown_1B6D80
2022.09.15 11:59:56.537 4: Ignoring unknown_1BCFBB
2022.09.15 11:59:56.537 4: Ignoring unknown_1BDE12
2022.09.15 11:59:56.537 4: Ignoring unknown_238DC9
2022.09.15 11:59:56.537 4: Ignoring unknown_2670A4
2022.09.15 11:59:56.538 4: Ignoring unknown_28FDC6
2022.09.15 11:59:56.538 4: Ignoring unknown_2C5E75
2022.09.15 11:59:56.538 4: Ignoring unknown_2CC0E8
2022.09.15 11:59:56.538 4: Ignoring unknown_2FCE06
2022.09.15 11:59:56.538 4: Ignoring unknown_3189C9
2022.09.15 11:59:56.539 4: Ignoring unknown_32626A
2022.09.15 11:59:56.539 4: Ignoring unknown_33E04F
2022.09.15 11:59:56.539 4: Ignoring unknown_351AF0
2022.09.15 11:59:56.539 4: Ignoring unknown_3C64D9
2022.09.15 11:59:56.539 4: Ignoring unknown_3C6FEC
2022.09.15 11:59:56.540 4: Ignoring unknown_3D84DC
2022.09.15 11:59:56.540 4: Ignoring unknown_3FA1E7
2022.09.15 11:59:56.540 4: Ignoring unknown_40F77C
2022.09.15 11:59:56.540 4: Ignoring unknown_419B7A
2022.09.15 11:59:56.540 4: Ignoring unknown_459665
2022.09.15 11:59:56.541 4: Ignoring unknown_4E1876
2022.09.15 11:59:56.541 4: Ignoring unknown_4EBFD1
2022.09.15 11:59:56.541 4: Ignoring unknown_56EDF5
2022.09.15 11:59:56.541 4: Ignoring unknown_596BA5
2022.09.15 11:59:56.541 4: Ignoring unknown_5CB528
2022.09.15 11:59:56.542 4: Ignoring unknown_5DF56B
2022.09.15 11:59:56.542 4: Ignoring unknown_5E1E3C
2022.09.15 11:59:56.542 4: Ignoring unknown_647C26
2022.09.15 11:59:56.542 4: Ignoring unknown_654D39
2022.09.15 11:59:56.542 4: Ignoring unknown_67E73E
2022.09.15 11:59:56.543 4: Ignoring unknown_6842C4
2022.09.15 11:59:56.543 4: Ignoring unknown_6E19CC
2022.09.15 11:59:56.543 4: Ignoring unknown_6F4517
2022.09.15 11:59:56.543 4: Ignoring unknown_71D745
2022.09.15 11:59:56.544 4: Ignoring unknown_75CB39
2022.09.15 11:59:56.544 4: Ignoring unknown_7606DC
2022.09.15 11:59:56.544 4: Ignoring unknown_791B83
2022.09.15 11:59:56.544 4: Ignoring unknown_87CA4E
2022.09.15 11:59:56.544 4: Ignoring unknown_A56D6E
2022.09.15 11:59:56.545 4: Ignoring unknown_ABACF0
2022.09.15 11:59:56.545 4: Ignoring unknown_B0DAAF
2022.09.15 11:59:56.545 4: Ignoring unknown_B153C2
2022.09.15 11:59:56.545 4: Ignoring unknown_B732AE
2022.09.15 11:59:56.545 4: Ignoring unknown_B8A587
2022.09.15 11:59:56.546 4: Ignoring unknown_B8BDF1
2022.09.15 11:59:56.546 4: Ignoring unknown_BB34EA
2022.09.15 11:59:56.546 4: Ignoring unknown_BCED32
2022.09.15 11:59:56.546 4: Ignoring unknown_BF3CC7
2022.09.15 12:00:00.014 5: Starting notify loop for Warmwasser.Zirkulation, 1 event(s), first is cmd_count: 1
2022.09.15 12:00:00.015 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.015 5: [CO2Leverkusen] event:[cmd_count: 1], device:[Warmwasser.Zirkulation]
2022.09.15 12:00:00.054 5: End notify loop for Warmwasser.Zirkulation
2022.09.15 12:00:00.056 5: Cmd: >set Heizung POWER1 on<
2022.09.15 12:00:00.057 5: MQTT MyBroker message sent: Publish/at-most-once cmnd/Heizung/POWER1
6f 6e on
2022.09.15 12:00:00.057 5: DevIo_SimpleWrite MyBroker: 30170013636d6e642f4865697a756e672f504f574552316f6e
2022.09.15 12:00:00.065 5: Starting notify loop for Heizung, 3 event(s), first is POWER1: on
2022.09.15 12:00:00.066 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.066 5: [CO2Leverkusen] event:[POWER1: on], device:[Heizung]
2022.09.15 12:00:00.067 5: [CO2Leverkusen] event:[Warmwasserpumpe: <span style='color:#FF0000'><b>läuft</b></span>], device:[Heizung]
2022.09.15 12:00:00.067 5: [CO2Leverkusen] event:[Pumpe: 0], device:[Heizung]
2022.09.15 12:00:00.099 5: End notify loop for Heizung
2022.09.15 12:00:00.102 5: Starting notify loop for Heizung, 1 event(s), first is transmission-state: outgoing publish sent
2022.09.15 12:00:00.102 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.103 5: [CO2Leverkusen] event:[transmission-state: outgoing publish sent], device:[Heizung]
2022.09.15 12:00:00.129 5: End notify loop for Heizung
2022.09.15 12:00:00.130 5: Starting notify loop for Warmwasser.Zirkulation, 4 event(s), first is cmd_nr: 1
2022.09.15 12:00:00.131 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.131 5: [CO2Leverkusen] event:[cmd_nr: 1], device:[Warmwasser.Zirkulation]
2022.09.15 12:00:00.132 5: [CO2Leverkusen] event:[cmd: 1], device:[Warmwasser.Zirkulation]
2022.09.15 12:00:00.132 5: [CO2Leverkusen] event:[cmd_event: timer_11], device:[Warmwasser.Zirkulation]
2022.09.15 12:00:00.132 5: [CO2Leverkusen] event:[state: cmd_1], device:[Warmwasser.Zirkulation]
2022.09.15 12:00:00.185 5: End notify loop for Warmwasser.Zirkulation
2022.09.15 12:00:00.192 4: [GasDE] start request
2022.09.15 12:00:00.193 4: [GasDE] next request: 2022.09.15 15:00:00
2022.09.15 12:00:00.194 5: HttpUtils url=<hidden> NonBlocking via https
2022.09.15 12:00:00.195 5: DNS QUERY 7072010000010000000000000461677369036769650265750000010001
2022.09.15 12:00:00.211 5: Starting notify loop for Haushaltsraum.Lueftung, 1 event(s), first is cmd_count: 1
2022.09.15 12:00:00.211 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.212 5: [CO2Leverkusen] event:[cmd_count: 1], device:[Haushaltsraum.Lueftung]
2022.09.15 12:00:00.234 5: End notify loop for Haushaltsraum.Lueftung
2022.09.15 12:00:00.235 5: Cmd: >set HWR.Ventilator_ESP_Router command gpio 14 set low<
2022.09.15 12:00:00.236 5: MQTT MyBroker message sent: Publish/at-most-once /WiFi/ESPRouter_5f7345/command
67 70 69 6f 20 31 34 20 73 65 74 20 6c 6f 77 gpio 14 set low
2022.09.15 12:00:00.236 5: DevIo_SimpleWrite MyBroker: 302f001e2f576946692f455350526f757465725f3566373334352f636f6d6d616e646770696f20313420736574206c6f77
2022.09.15 12:00:00.241 5: Starting notify loop for HWR.Ventilator_ESP_Router, 2 event(s), first is transmission-state: outgoing publish sent
2022.09.15 12:00:00.242 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.242 5: [CO2Leverkusen] event:[transmission-state: outgoing publish sent], device:[HWR.Ventilator_ESP_Router]
2022.09.15 12:00:00.242 5: [CO2Leverkusen] event:[Zeitstempel: 2022-09-15 12:00], device:[HWR.Ventilator_ESP_Router]
2022.09.15 12:00:00.264 4: monitoring (mymonitoring) triggered by "HWR.Ventilator_ESP_Router Zeitstempel: 2022-09-15 12:00"
2022.09.15 12:00:00.265 5: monitoring (mymonitoring) errorFuncAdd and errorFuncRemove are preset
2022.09.15 12:00:00.265 5: monitoring (mymonitoring) only addRegex is defined
2022.09.15 12:00:00.266 5: monitoring (mymonitoring)
entering monitoring_modify
reading: error
operation: remove
value: HWR.Ventilator_ESP_Router
at: now
2022.09.15 12:00:00.267 5: monitoring (mymonitoring)
entering monitoring_modify
reading: error
operation: add
value: HWR.Ventilator_ESP_Router
at: 2022-09-15 14:00:00
2022.09.15 12:00:00.269 5: monitoring (mymonitoring) warningFuncAdd and warningFuncRemove are preset
2022.09.15 12:00:00.269 5: monitoring (mymonitoring) only addRegex is defined
2022.09.15 12:00:00.270 5: monitoring (mymonitoring)
entering monitoring_modify
reading: warning
operation: remove
value: HWR.Ventilator_ESP_Router
at: now
2022.09.15 12:00:00.271 5: monitoring (mymonitoring)
entering monitoring_modify
reading: warning
operation: add
value: HWR.Ventilator_ESP_Router
at: 2022-09-15 13:00:00
2022.09.15 12:00:00.273 5: End notify loop for HWR.Ventilator_ESP_Router
2022.09.15 12:00:00.274 5: Starting notify loop for Haushaltsraum.Lueftung, 4 event(s), first is cmd_nr: 3
2022.09.15 12:00:00.274 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.275 5: [CO2Leverkusen] event:[cmd_nr: 3], device:[Haushaltsraum.Lueftung]
2022.09.15 12:00:00.275 5: [CO2Leverkusen] event:[cmd: 3], device:[Haushaltsraum.Lueftung]
2022.09.15 12:00:00.275 5: [CO2Leverkusen] event:[cmd_event: timer_5], device:[Haushaltsraum.Lueftung]
2022.09.15 12:00:00.275 5: [CO2Leverkusen] event:[state: cmd_3], device:[Haushaltsraum.Lueftung]
2022.09.15 12:00:00.297 5: End notify loop for Haushaltsraum.Lueftung
2022.09.15 12:00:00.298 5: Starting notify loop for Haushaltsraum.Lueftung, 1 event(s), first is wait_timer: 15.09.2022 13:00:00 cmd_3 timer_5
2022.09.15 12:00:00.299 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.299 5: [CO2Leverkusen] event:[wait_timer: 15.09.2022 13:00:00 cmd_3 timer_5], device:[Haushaltsraum.Lueftung]
2022.09.15 12:00:00.319 5: End notify loop for Haushaltsraum.Lueftung
2022.09.15 12:00:00.323 5: DNS QUERY 707201000001000000000000097365727669636573370661726367697303636f6d0000010001
2022.09.15 12:00:00.323 4: [RKI7] start request
2022.09.15 12:00:00.324 4: [RKI7] next request: 2022.09.15 13:00:00
2022.09.15 12:00:00.325 5: HttpUtils url=https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_Landkreisdaten/FeatureServer/0/query?where=1%3D1&outFields=last_update,cases7_per_100k,BEZ,BEM,GEN,BL,county&returnGeometry=false&outSR=4326&f=json NonBlocking via https
2022.09.15 12:00:00.326 5: DNS QUERY 707201000001000000000000097365727669636573370661726367697303636f6d0000010001
2022.09.15 12:00:00.327 4: [coronaSpreadNRW] start request
2022.09.15 12:00:00.328 4: [coronaSpreadNRW] next request: 2022.09.15 13:00:00
2022.09.15 12:00:00.328 5: HttpUtils url=https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json NonBlocking via https
2022.09.15 12:00:00.329 5: DNS QUERY 707201000001000000000000097365727669636573370661726367697303636f6d0000010001
2022.09.15 12:00:00.353 4: BlockingCall (TRAFFIC_DoUpdate): created child (36728), uses telnetForBlockingFn_1663169046.15034 to connect back
2022.09.15 12:00:00.389 5: Starting notify loop for Ueberwachung, 10 event(s), first is cmd_nr: 2
2022.09.15 12:00:00.390 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.392 5: [CO2Leverkusen] event:[cmd_nr: 2], device:[Ueberwachung]
2022.09.15 12:00:00.392 5: [CO2Leverkusen] event:[cmd: 2], device:[Ueberwachung]
2022.09.15 12:00:00.392 5: [CO2Leverkusen] event:[cmd_event: timer_1], device:[Ueberwachung]
2022.09.15 12:00:00.392 5: [CO2Leverkusen] event:[state: cmd_2], device:[Ueberwachung]
2022.09.15 12:00:00.393 5: [CO2Leverkusen] event:[UeberwachungEG: 9.30], device:[Ueberwachung]
2022.09.15 12:00:00.393 5: [CO2Leverkusen] event:[ErfolgEG: 8.08], device:[Ueberwachung]
2022.09.15 12:00:00.393 5: [CO2Leverkusen] event:[UeberwachungOG: 21.45], device:[Ueberwachung]
2022.09.15 12:00:00.393 5: [CO2Leverkusen] event:[ErfolgOG: 19.73], device:[Ueberwachung]
2022.09.15 12:00:00.393 5: [CO2Leverkusen] event:[Sum_Ueberwachung: 30.75], device:[Ueberwachung]
2022.09.15 12:00:00.393 5: [CO2Leverkusen] event:[Erfolg: 27.81], device:[Ueberwachung]
2022.09.15 12:00:00.437 5: End notify loop for Ueberwachung
2022.09.15 12:00:00.465 5: Starting notify loop for CO2Leverkusen, 3 event(s), first is 74
2022.09.15 12:00:00.466 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.466 5: [CO2Leverkusen] event:[state: 74], device:[CO2Leverkusen]
2022.09.15 12:00:00.466 5: [CO2Leverkusen] event:[oeko_co2: 21], device:[CO2Leverkusen]
2022.09.15 12:00:00.466 5: [CO2Leverkusen] event:[standard_co2: 255], device:[CO2Leverkusen]
2022.09.15 12:00:00.490 5: End notify loop for CO2Leverkusen
2022.09.15 12:00:00.499 5: rhasspyMQTT2: dispatch autocreate=no\000rhasspyMQTT2\000cmnd/Heizung/POWER1\000on
2022.09.15 12:00:00.502 5: DNS ANSWER 145:707281800001000500000000097365727669636573370661726367697303636f6d0000010001c00c000500010000012c001f0e643138716b62366c7675356e666a0a636c6f756466726f6e74036e657400c032000100010000003c00041242f864c032000100010000003c00041242f82ac032000100010000003c00041242f86cc032000100010000003c00041242f82b
2022.09.15 12:00:00.503 4: DNS result for services7.arcgis.com: 18.66.248.100, ttl:60
2022.09.15 12:00:00.503 4: IP: services7.arcgis.com -> 18.66.248.100
2022.09.15 12:00:00.505 5: DNS ANSWER 61:7072818000010002000000000461677369036769650265750000010001c00c000100010000012c00046812185ac00c000100010000012c00046812195a
2022.09.15 12:00:00.506 4: DNS result for agsi.gie.eu: 104.18.24.90, ttl:300
2022.09.15 12:00:00.506 4: IP: agsi.gie.eu -> 104.18.24.90
2022.09.15 12:00:00.508 5: DNS ANSWER 145:707281800001000500000000097365727669636573370661726367697303636f6d0000010001c00c000500010000012c001f0e643138716b62366c7675356e666a0a636c6f756466726f6e74036e657400c032000100010000003c00041242f864c032000100010000003c00041242f82ac032000100010000003c00041242f86cc032000100010000003c00041242f82b
2022.09.15 12:00:00.509 4: DNS result for services7.arcgis.com: 18.66.248.100, ttl:60
2022.09.15 12:00:00.509 4: IP: services7.arcgis.com -> 18.66.248.100
2022.09.15 12:00:00.511 5: MQTT MyBroker message received: Publish/at-most-once cmnd/Heizung/POWER1
6f 6e on
2022.09.15 12:00:00.514 5: publish received for cmnd/Heizung/POWER1, on
2022.09.15 12:00:00.519 5: Starting notify loop for Heizung, 1 event(s), first is transmission-state: incoming publish received
2022.09.15 12:00:00.520 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.520 5: [CO2Leverkusen] event:[transmission-state: incoming publish received], device:[Heizung]
2022.09.15 12:00:00.543 5: End notify loop for Heizung
2022.09.15 12:00:00.543 5: calling readingsSingleUpdate(Heizung,POWER1,on,1)
2022.09.15 12:00:00.553 5: MQTT MyBroker message received: Publish/at-most-once stat/Heizung/RESULT
7b 22 50 4f 57 45 52 31 22 3a 22 4f 4e 22 7d {"POWER1":"ON"}
2022.09.15 12:00:00.556 5: publish received for stat/Heizung/RESULT, {"POWER1":"ON"}
2022.09.15 12:00:00.559 5: calling readingsSingleUpdate(Heizung,RESULT,{"POWER1":"ON"},1)
2022.09.15 12:00:00.561 5: Starting notify loop for Heizung, 1 event(s), first is RESULT: {"POWER1":"ON"}
2022.09.15 12:00:00.562 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.562 5: [CO2Leverkusen] event:[RESULT: {"POWER1":"ON"}], device:[Heizung]
2022.09.15 12:00:00.583 5: End notify loop for Heizung
2022.09.15 12:00:00.589 5: MQTT MyBroker message received: Publish/at-most-once stat/Heizung/POWER1
4f 4e ON
2022.09.15 12:00:00.592 5: publish received for stat/Heizung/POWER1, ON
2022.09.15 12:00:00.595 5: calling readingsSingleUpdate(Heizung,POWER1,ON,1)
2022.09.15 12:00:00.598 5: Starting notify loop for Heizung, 1 event(s), first is POWER1: ON
2022.09.15 12:00:00.598 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.599 5: [CO2Leverkusen] event:[POWER1: ON], device:[Heizung]
2022.09.15 12:00:00.612 5: HourCounter HourCount.Warmwasser Run.577 value:1 changedTimestamp:2022-09-15 11:55:00
2022.09.15 12:00:00.613 4: HourCounter HourCount.Warmwasser Run.657 rising edge; pauseTimeIncr:3269 countPerDay:12
2022.09.15 12:00:00.615 5: Starting notify loop for HourCount.Warmwasser, 10 event(s), first is countsPerDay: 12
2022.09.15 12:00:00.615 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.616 5: [CO2Leverkusen] event:[countsPerDay: 12], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.616 5: [CO2Leverkusen] event:[countsOverall: 29766], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.616 5: [CO2Leverkusen] event:[pulseTimeIncrement: 0], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.616 5: [CO2Leverkusen] event:[pauseTimeIncrement: 3269], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.617 5: [CO2Leverkusen] event:[pauseTimeEdge: 3269], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.617 5: [CO2Leverkusen] event:[pauseTimePerDay: 40081], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.617 5: [CO2Leverkusen] event:[pauseTimeOverall: 90874169], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.617 5: [CO2Leverkusen] event:[value: 1], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.617 5: [CO2Leverkusen] event:[state: 12], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.617 5: [CO2Leverkusen] event:[tickUpdated: 222], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.645 5: End notify loop for HourCount.Warmwasser
2022.09.15 12:00:00.646 5: Starting notify loop for HourCount.Warmwasser, 1 event(s), first is tickChanged: 598
2022.09.15 12:00:00.647 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.647 5: [CO2Leverkusen] event:[tickChanged: 598], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.667 5: End notify loop for HourCount.Warmwasser
2022.09.15 12:00:00.667 4: HourCounter HourCount.Warmwasser Run.729 tickChanged fired
2022.09.15 12:00:00.668 5: Starting notify loop for HourCount.Warmwasser, 1 event(s), first is tickHour: 19
2022.09.15 12:00:00.668 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.669 5: [CO2Leverkusen] event:[tickHour: 19], device:[HourCount.Warmwasser]
2022.09.15 12:00:00.689 5: End notify loop for HourCount.Warmwasser
2022.09.15 12:00:00.689 4: HourCounter HourCount.Warmwasser Run.738 tickHour fired
2022.09.15 12:00:00.689 4: HourCounter HourCount.Warmwasser ExecQueue.130 cnt: -1
2022.09.15 12:00:00.689 5: HourCounter HourCount.Warmwasser Run.801 nextCall:300 changedTimestamp:2022-09-15 12:00:00
2022.09.15 12:00:00.699 5: End notify loop for Heizung
2022.09.15 12:00:00.705 5: MQTT MyBroker message received: Publish/at-most-once /WiFi/ESPRouter_5f7345/system/response
53 75 63 63 65 73 73 66 75 6c 6c 79 20 65 78 65 Successfully exe
63 75 74 65 64 20 31 34 20 73 65 74 20 6c 6f 77 cuted 14 set low
0d 0a ..
2022.09.15 12:00:00.708 5: publish received for /WiFi/ESPRouter_5f7345/system/response, Successfully executed 14 set low
2022.09.15 12:00:00.711 5: Starting notify loop for HWR.Ventilator_ESP_Router, 1 event(s), first is transmission-state: incoming publish received
2022.09.15 12:00:00.711 5: Battery.State: not on any display, ignoring notify
2022.09.15 12:00:00.712 5: [CO2Leverkusen] event:[transmission-state: incoming publish received], device:[HWR.Ventilator_ESP_Router]
2022.09.15 12:00:00.732 5: End notify loop for HWR.Ventilator_ESP_Router
2022.09.15 12:00:00.732 5: calling readingsSingleUpdate(HWR.Ventilator_ESP_Router,response,Successfully executed 14 set low
,1)
2022.09.15 12:00:00.742 5: DNS ANSWER 145:707281800001000500000000097365727669636573370661726367697303636f6d0000010001c00c000500010000012c001f0e643138716b62366c7675356e666a0a636c6f756466726f6e74036e657400c032000100010000003c00041242f864c032000100010000003c00041242f82ac032000100010000003c00041242f86cc032000100010000003c00041242f82b
2022.09.15 12:00:00.742 4: DNS result for services7.arcgis.com: 18.66.248.100, ttl:60
2022.09.15 12:00:00.745 4: Connection accepted from telnetForBlockingFn_1663169046.15034_127.0.0.1_36938
2022.09.15 12:00:00.746 5: rhasspyMQTT2: dispatch autocreate=no\000rhasspyMQTT2\000stat/Heizung/RESULT\000{"POWER1":"ON"}
2022.09.15 12:00:00.747 5: rhasspyMQTT2: dispatch autocreate=no\000rhasspyMQTT2\000stat/Heizung/POWER1\000ON
2022.09.15 12:00:00.748 5: rhasspyMQTT2: dispatch autocreate=no\000rhasspyMQTT2\000/WiFi/ESPRouter_5f7345/command\000gpio 14 set low
2022.09.15 12:00:00.749 5: rhasspyMQTT2: dispatch autocreate=no\000rhasspyMQTT2\000/WiFi/ESPRouter_5f7345/system/response\000Successfully executed 14 set low\r\n
2022.09.15 12:00:00.769 5: Cmd: >{BlockingRegisterTelnet($cl,4348)}<
2022.09.15 12:00:00.797 5: HttpUtils request header:
GET /mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json HTTP/1.0
Host: services7.arcgis.com
User-Agent: fhem
Accept-Encoding: gzip,deflate
Accept: application/json
Accept-Charset: utf-8, iso-8859-1
2022.09.15 12:00:00.801 5: HttpUtils request header:
GET /mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_Landkreisdaten/FeatureServer/0/query?where=1%3D1&outFields=last_update,cases7_per_100k,BEZ,BEM,GEN,BL,county&returnGeometry=false&outSR=4326&f=json HTTP/1.0
Host: services7.arcgis.com
User-Agent: fhem
Accept-Encoding: gzip,deflate
Accept: application/json
Accept-Charset: utf-8, iso-8859-1
2022.09.15 12:00:00.808 5: HttpUtils request header:
GET /api?country=de&from=2022-03-01&size=300 be304ce79b2051f6d99f7d078e6b954e HTTP/1.0
Host: agsi.gie.eu
User-Agent: fhem
Accept-Encoding: gzip,deflate
x-key: be304ce79b2051f6d99f7d078e6b954e
Accept: application/json
Accept-Charset: utf-8, iso-8859-1
2022.09.15 12:00:00.819 4: https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json: HTTP response code 200
2022.09.15 12:00:00.819 5: HttpUtils https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json: Got data, length: 4018
2022.09.15 12:00:00.820 5: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 4018
Connection: close
Cache-Control: public, max-age=3600, s-maxage=3600
Last-Modified: Thu, 15 Sep 2022 01:10:36 GMT
ETag: sd2_272324887
X-ArcGIS-Trace-Id: 320155f7cdf101153bab1e9d57bc6fc5
x-esri-query-readonly-replica: true
x-esri-query-request-units: 2
x-esri-tiles-basic-query-mode: true
x-esri-tiles-basic-query-type: Basic
x-esri-org-request-units-per-min: usage=4;max=28800
X-ArcGIS-Correlation-Id: 00-320155f7cdf101153bab1e9d57bc6fc5-5cbbcff23a1ad9d4-00
X-ArcGIS-Instance: fkjr5dqbc000000
Strict-Transport-Security: max-age=63072000
Access-Control-Allow-Origin: *
Date: Thu, 15 Sep 2022 09:21:00 GMT
X-Cache: Hit from cloudfront
Via: 1.1 809c299e67c4ffca3db95351c7287bd8.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: DUS51-P1
X-Amz-Cf-Id: c38hAkBAQ83ny6or6L2URfREkQPl2_sIyHFRAb_iwmH8diiVINY2yQ==
Age: 2340
2022.09.15 12:00:00.821 4: [coronaSpreadNRW] api encoding is utf-8, designated encoder is utf-8-strict
2022.09.15 12:01:32.756 1: Including fhem.cfg
2022.09.15 12:01:33.196 3: WEB: port 8083 opened
2022.09.15 12:01:33.266 3: WEBphone: port 8084 opened
2022.09.15 12:01:33.276 3: WEBtablet: port 8085 opened
2022.09.15 12:01:33.298 3: httpWEB: port 8086 opened
2022.09.15 12:01:33.314 3: telnetPort: port 7072 opened
Der syslog:
Sep 15 12:00:00 HPT610 kernel: [67040.482424] show_signal: 1 callbacks suppressed
Sep 15 12:00:00 HPT610 kernel: [67040.482437] traps: perl[1000] trap stack segment ip:55c44a74d8e4 sp:7ffcbc208800 error:0 in perl[55c44a713000+185000]
Sep 15 12:00:00 HPT610 systemd[1]: fhem.service: Main process exited, code=killed, status=7/BUS
Sep 15 12:00:01 HPT610 CRON[36730]: (root) CMD ( PATH="$PATH:/usr/sbin:/usr/local/bin/" pihole updatechecker local)
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: State 'stop-sigterm' timed out. Killing.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Killing process 1322 (perl) with signal SIGKILL.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Failed with result 'signal'.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Consumed 2h 8min 37.127s CPU time.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Scheduled restart job, restart counter is at 1.
Sep 15 12:01:31 HPT610 systemd[1]: Stopped FHEM Home Automation.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Consumed 2h 8min 37.127s CPU time.
Sep 15 12:01:31 HPT610 systemd[1]: Starting FHEM Home Automation...
Sep 15 12:01:32 HPT610 systemd[1]: Started FHEM Home Automation.
Leider ist die RAM-Belegung jetzt wieder bei 70%.
Viele Grüße Gisbert
Das sieht doch nach 2022.09.15 12:00:00.821 4: [coronaSpreadNRW] api encoding is utf-8, designated encoder is utf-8-strict
als Grund(loop, sleep ?)aus. Oder dem, was stündlich danach kommt.
Grüße Markus
Vielleicht zeigst du mal ein list von dem Ding...
Nicht, dass ich seit ca. 2 Wochen Corona (mittlerweile wieder besser, aber körperlich immer noch platt) habe, jetzt schlägt dieser Virus auch noch in Fhem zu.
raw-Definition:
defmod coronaSpreadNRW JsonMod https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json
attr coronaSpreadNRW alias coronaSpread NRW
attr coronaSpreadNRW comment https://forum.fhem.de/index.php/topic,109413.msg1093720.html#msg1093720\
https://forum.fhem.de/index.php/topic,109413.msg1093770.html#msg1093770\
Ausrichtung wurde entfernt:\
my $ret = "<div style=\"text-align: left;;\">";;\
...\
$ret .= "</div>";;
attr coronaSpreadNRW event-on-update-reading .computedReadings
attr coronaSpreadNRW icon coronavirus
attr coronaSpreadNRW readingList multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_name'), property('attributes.LAN_ew_GEN'));;\
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_cases'), property('attributes.Fallzahl'));;\
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_deaths'), property('attributes.Death'));;\
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_lastUpdate'), property('attributes.Aktualisierung'));;\
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_RKI7'), property('attributes.cases7_bl_per_100k'));;
attr coronaSpreadNRW room Corona
attr coronaSpreadNRW sortby 3
attr coronaSpreadNRW stateFormat {my $ret .= "last RKI CoViD-19 check</br>on ";;\
$ret .= POSIX::strftime("%d.%m. %H:%M",localtime(time_str2num(ReadingsTimestamp($name,".computedReadings","2000-01-01 00:00:00"))))."</br>";;\
# $ret .= ReadingsVal($name,"0_name","-").":</br>";;\
$ret .= "RKI7: <font style=\"color:#147bff;;\">".round(ReadingsVal($name,"0_RKI7","-"),1)."</font></br>";;\
$ret .= "Fä;lle: <font style=\"color:#147bff;;\">".ReadingsVal($name,"0_cases","-")."</font></br>";;\
$ret .= "Tote: <font style=\"color:#147bff;;\">".ReadingsVal($name,"0_deaths","-")."</font>";;\
return $ret;;}
attr coronaSpreadNRW userReadings 0_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"0_lastUpdate",0)/1000));;}, 1_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"1_lastUpdate",0)/1000));;}
Ein list:
Internals:
CFGFN ./FHEM/Corona.cfg
DEF https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json
FUUID 5f8d5ff4-f33f-e986-f2ce-70433f69c3df99bd
NAME coronaSpreadNRW
NEXT 2022-09-15 13:00:00
NR 1209
STATE last RKI CoViD-19 check</br>on 15.09. 11:00</br>RKI7: <font style="color:#147bff;">222.7</font></br>Fälle: <font style="color:#147bff;">6690988</font></br>Tote: <font style="color:#147bff;">27230</font>
SVN 24783 2021-07-21 22:37:12 UTC
TYPE JsonMod
CONFIG:
IN_REQUEST 0
SOURCE https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json
SECRET:
READINGS:
2022-09-15 11:00:01 0_RKI7 222.665164901311
2022-09-15 11:00:01 0_cases 6690988
2022-09-15 11:00:01 0_deaths 27230
2022-09-15 11:00:01 0_lastUpdate 1663192800000
2022-09-15 11:00:01 0_lastUpdatedh 15.09. 00:00
2022-09-15 11:00:01 0_name Nordrhein-Westfalen
2022-09-15 11:00:01 1_lastUpdatedh 01.01. 01:00
helper:
bm:
JsonMod_Set:
cnt 3
dmx -1000
dtot 0
dtotcnt 0
mTS 15.09. 12:46:28
max 0.000174045562744141
tot 0.000291109085083008
mAr:
HASH(0x555a3f609e20)
coronaSpreadNRW
?
Attributes:
alias coronaSpread NRW
comment https://forum.fhem.de/index.php/topic,109413.msg1093720.html#msg1093720
https://forum.fhem.de/index.php/topic,109413.msg1093770.html#msg1093770
Ausrichtung wurde entfernt:
my $ret = "<div style=\"text-align: left;\">";
...
$ret .= "</div>";
event-on-update-reading .computedReadings
icon coronavirus
readingList multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_name'), property('attributes.LAN_ew_GEN'));
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_cases'), property('attributes.Fallzahl'));
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_deaths'), property('attributes.Death'));
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_lastUpdate'), property('attributes.Aktualisierung'));
multi(jsonPath("\$.features[?(\@.attributes.LAN_ew_GEN in ['Nordrhein-Westfalen'])]"), concat(count(),'_RKI7'), property('attributes.cases7_bl_per_100k'));
room Corona
sortby 3
stateFormat {my $ret .= "last RKI CoViD-19 check</br>on ";
$ret .= POSIX::strftime("%d.%m. %H:%M",localtime(time_str2num(ReadingsTimestamp($name,".computedReadings","2000-01-01 00:00:00"))))."</br>";
# $ret .= ReadingsVal($name,"0_name","-").":</br>";
$ret .= "RKI7: <font style=\"color:#147bff;\">".round(ReadingsVal($name,"0_RKI7","-"),1)."</font></br>";
$ret .= "Fälle: <font style=\"color:#147bff;\">".ReadingsVal($name,"0_cases","-")."</font></br>";
$ret .= "Tote: <font style=\"color:#147bff;\">".ReadingsVal($name,"0_deaths","-")."</font>";
return $ret;}
userReadings 0_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"0_lastUpdate",0)/1000));}, 1_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"1_lastUpdate",0)/1000));}
Viele Grüße Gisbert
wenn ich die url aus dem log im browser eingebe:
2022.09.15 12:00:00.819 5: HttpUtils https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json: Got data, length: 4018
erhalte ich eben weniger daten mit "content-length 1131", also nur etwa 1/4 von den 4018.
ist eventuell nur manchmal der json "defekt"?
@gisbert
wie gross war denn der content-length die stunden vor dem crash?
Bei den anderen Abfragen heute (vor und nach dem crash) war diese content-length immer bei 4018.
Sep 15 12:00:00 HPT610 kernel: [67040.482437] traps: perl[1000] trap stack segment ip:55c44a74d8e4 sp:7ffcbc208800 error:0 in perl[55c44a713000+185000]
Sep 15 12:00:00 HPT610 systemd[1]: fhem.service: Main process exited, code=killed, status=7/BUS
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: State 'stop-sigterm' timed out. Killing.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Killing process 1322 (perl) with signal SIGKILL.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Failed with result 'signal'.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Consumed 2h 8min 37.127s CPU time.
Sep 15 12:01:31 HPT610 systemd[1]: fhem.service: Scheduled restart job, restart counter is at 1.
Dein Fehlerbild kommt mir bekannt vor: [fhem.pl][98_JsonMod.pm?] Main process exited, code=killed, status=11 (https://forum.fhem.de/index.php/topic,119301.0.html). Anscheinend auch ähnliche (gleiche?) Quelle und Verwendung.
Meine Laienhafte (!) Vermutung (!) ist, dass JsonMod unter bestimmten Perl-Versionen mit bestimmten (fehlehaften?) Json-Quellen zu Speicheradressierungsfehler o.ä. führt.
Ich hatte damals keine Lösung gefunden/erhalten. Seitdem das JsonMod Device nicht mehr existiert ist auch Ruhe. Laut herrmannj (https://forum.fhem.de/index.php/topic,119301.msg1147603.html#msg1147603) kannst du es ja ggf mit einer neueren perl-Version via cpanel probieren.
Für einen dauerhaften stabilen (produktiven) FHEM-Betrieb würde ich kurzfristig das JsonMod-Device coronaSpreadNRW deaktivieren.
ich würde das device disabeln/löschen, um zu sehen, ob die crashes aufhören.
wenn der content unabhängig vom crash immer gleich gross ist, müsste man den inhalt des übertragenen content vielleicht mal vergleichen.
Hallo zusammen,
vielen Dank, dass eine wahrscheinliche Ursache gefunden wurde, zumindest aber vermutet wird.
Ich hab das entsprechende Device vorerst disabled, würde aber auch gerne den cpanel fork probieren.
Was muss ich dazu tun?
Cpanel::JSON::XS installieren - das krieg ich wohl hin.
use Cpanel::JSON::XS; im JsonModModul eintragen? Wenn ja, dann denke ich, krieg ich das auch hin.
Bitte um Bestätigung.
Vielen Dank und viele Grüße
Gisbert
Kann nicht viel zum Ersatz-Modul sagen, aber Folgendes koennte bis zum Fix als "Drop In Replacement" fuer die Definition dienen:
define coronaSpreadNRW at +*01:00 {\
HttpUtils_NonblockingGet({\
url=>"https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json",\
callback=>sub(){\
return Log 1, "coronaSpreadNRW: $_[1]" if($_[1]);;\
$_[2] =~ m/({"LAN_ew_GEN":"Nordrhein-Westfalen",[^}]*})/;;\
json2reading($defs{coronaSpreadNRW}, $1, undef, {\
cases7_bl_per_100k=>"0_RKI7",\
Fallzahl=>"0_cases",\
Death=>"0_deaths",\
Aktualisierung=>"0_lastUpdate",\
faelle_100000_EW=>".computedReadings",\
LAN_ew_GEN=>"0_name"})\
}})\
}
Die Attribute (bis auf readingList) sollte man ohne Aenderung uebernehmen koennen.
Danke, habs umgesetzt, die Attribute ergänzt, und es funktioniert.
Hallo zusammen,
hier ein kurzes Update nach einer Woche Laufzeit:
- Ich hab das JSONMod-Device disabled und stattdessen die Definition von Rudi benutzt.
- Es gab keinen Fhem-Crash in dieser Woche mehr!
- global verbose 5 kurz vor und nach einer vollen Stunde hab ich wieder abgestellt, (d.h. jetzt ist verbose 3).
- Ich hab die Anzahl der Events drastisch reduziert, mithilfe von DOIFTools. Das Attribut event-on-change-reading habe ich selektiv auf die notwendig erscheinenden Readings angewandt. Teilweise bin ich über's Ziel rausgeschossen, da Automatisierungen wegen fehlender Events nicht mehr funktionierten, oder Plot-Abrisse in Diagrammen auftraten. Das ließ sich aber im Einzelfall leicht beheben.
- Den swappiness-Wert habe ich dauerhaft auf 20 gesetzt. Am Ende der Woche lag der RAM-Verbrauch meiner 4GB bei 80-85% und die Swap-Datei war mit ca. 1 GB belegt (in Prozent: 25-30%).
Insgesamt sehe ich die Aktion sehr positiv und möchte mich herzlich bei allen bedanken, die mir mit ihren Ratschlägen oder Ideen geholfen haben.
Wie seht ihr die Situation beim RAM? Ist das etwas, was nicht schön, aber auch nicht dramatisch ist, also hingenommen werden kann? Wenn nein, würde ich auf 8 GB aufrüsten. Den Speichertyp werde ich wohl herausfinden, aber es gibt da immer verschiedene Frequenzen. Was muss ich da beachten? Kann ich auch Speicher einsetzen, die über der Mindestfrequenz liegen?
Viele Grüße Gisbert
ZitatWie seht ihr die Situation beim RAM?
Haengt davon ab, wie das 85% berechnet wurde.
Anhand der Ausgabe von free:
- (total-free)/total*100 => unkritisch.
- used/total*100 => eher ein Problem.
Hallo Rudi,
nach dem Server-Neustart hab ich jetzt folgendes im SYSMON-Device:
ram Total: 3396.66 MB, Used: 2066.33 MB, 60.83 %, Free: 480.41 MB
60% = Used/Total
Wie gesagt hatte ich vor dem Serverstart ca. 85%. Mit anderen Worten dann eher ein Problem.
Damit wäre ich wieder bei der Frage nach der Frequenz der Speicherbausteine.
sudo dmidecode --type 17
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0008, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0005
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator:
Type: Unknown
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
Rank: Unknown
Configured Memory Speed: Unknown
Handle 0x000A, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0005
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4 GB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator:
Type: DDR3
Type Detail: Synchronous
Speed: 800 MT/s
Manufacturer: Hynix Semiconduc
Serial Number: 0132AC3A
Asset Tag:
Part Number: HMT451S6AFR8A-PB
Rank: 1
Configured Memory Speed: Unknown
Unter Speed steht "Speed: 800 MT/s" = 800 MHz ?
Kann ich auch bedenkenlos welche mit 1600 MHz reinpacken?
Viele Grüße Gisbert
Teoretisch solltest Du es können, aber Praktisch ..... weißt Du, was für Speicherriegel "drin" steckt? Viel interessanter wäre die "Stromversorgung", also die Spannung.
Laut Google nach der "Part-Number" sind es "Low Voltage" .. also in der Richtung gucken.
Hinweis: Alle Angaben ohne Gewähr!
Unabhängig davon:
Mich würde eine Auslastung über 80% Nervös machen ...
Hallo zusammen,
ich hab heute einen zweiten 4 GB-Speicher eingebaut. Selbst vom gleichen Hersteller sehen die von außen nicht identisch aus.
sudo dmidecode --type 17
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0008, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0005
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4 GB
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator:
Type: DDR3
Type Detail: Synchronous
Speed: 800 MT/s
Manufacturer: Hynix Semiconduc
Serial Number: 41CA7A57
Asset Tag:
Part Number: HMT351S6EFR8C-PB
Rank: 2
Configured Memory Speed: Unknown
Handle 0x000A, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0005
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4 GB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator:
Type: DDR3
Type Detail: Synchronous
Speed: 800 MT/s
Manufacturer: Hynix Semiconduc
Serial Number: 0132AC3A
Asset Tag:
Part Number: HMT451S6AFR8A-PB
Rank: 1
Configured Memory Speed: Unknown
Ich hab bei der Gelegenheit auch mal einen Bildschirm und Tastatur angeschlossen und ins BIOS (F10) geschaut. Mir ist da aber nichts aufgefallen, kenne ich mich aber auch nicht sonderlich gut aus, als dass ich versucht hätte, etwas zu ändern.
Der Server läuft wieder, jetzt mit geschmeidigen 8 GB RAM.
Ansonsten hab ich ganz viel dazu gelernt, wie man unnötige Events vermeidet.
Vielen Dank nochmals an alle, die mir geholfen haben.
Viele Grüße
Gisbert
Und wie sieht jetzt die Speicherbelastung aus?
Hallo Wernieman,
beim Serverstart waren es gut 25% der 8GB, jetzt ein paar Stunden später sind es knapp 30%. Ich denke, dass es nach und nach noch auf 40 bis max. 50% steigen wird.
Operation gelungen.
Viele Grüße Gisbert
Wobei 40-50% bei 8G auch schon "nicht wenig" sind.
Mein Homeserver, der neben Hausautomatisation (FHEM) auch Mail (incl. Scan), Monitoring, Pi-Hole, Zentraler Logserver, Gut geboosterte Datenbank, etc. macht, hat trotz 16G *) aktuell 5G "gefüllt" (incl. Cache). Dass währe bei Deinem 8G Rechner c.a. 60% (Wenn ich mich nicht verschätzt habe, zu faul zum rechnen ;) )
Insofern wüste ich gerne, wo der Speicher bei Dir "verfressen" wird ...
*) die 16G hat er auch nur, da es zu Zeitpunkt einfach "günstig" war und ich es einfach ausprobieren wollte .... offiziell darf er nur 8G 8)
Hallo Wernieman,
der Unifi-Controller braucht von den 8 GB 12.5%, RHASSPY benötigt auch etwas, Pi-Hole, ubound, FHEM und jede Menge Services mit Zehntel-Prozentanteilen.
Nach dem Serverstart laufen ja alle Services und verbrauchen etwa 25%. Danach nehmen sie immer mehr Speicher in Beschlag, ohne ihn später wieder freizugeben.
Viele Grüße Gisbert
Ich frage mich wirklich, was der Unifi-Controlle damit macht .... aber dann nicht zu ändern ...
@Gisbert: was hast du denn für eine Netzwerk-Infrastruktur?
Ich habe aktuell 1x USG3, 1x 8Port POE Switch, 3x AP, 4x Flex Mini Switch und daran hängen ca. 50 Clients die Meisten per WLAN (6-8 per Kabel)...
Und ich habe einen Speicherverbrauch (laut top) von Unifi Controller und Mongo-DB von ca. 500MB...
...hatte ich ja schon mal geschrieben: https://forum.fhem.de/index.php/topic,129113.msg1234492.html#msg1234492
Läuft neben smb, pihole/bind, tftp, openvpn auf einem PI4 mit 4GB...
Gruß, Joachim
Hallo Rudi,
ich hab die angehängte Defintion im Einsatz; der Name lautet sub_coronaSpreadNRW, wobei das sub auf Sustitution eines nicht mehr funktionalen JSMOD-Devices hindeutet:
defmod sub_coronaSpreadNRW at +*04:00 {\
HttpUtils_NonblockingGet({\
url=>"https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/Coronaf%C3%A4lle_in_den_Bundesl%C3%A4ndern/FeatureServer/0/query?where=1%3D1&outFields=LAN_ew_GEN,Fallzahl,Aktualisierung,faelle_100000_EW,cases7_bl_per_100k,Death&returnGeometry=false&outSR=4326&f=json",\
callback=>sub(){\
return Log 1, "sub_coronaSpreadNRW: $_[1]" if($_[1]);;\
$_[2] =~ m/({"LAN_ew_GEN":"Nordrhein-Westfalen",[^}]*})/;;\
json2reading($defs{sub_coronaSpreadNRW}, $1, undef, {\
cases7_bl_per_100k=>"0_RKI7",\
Fallzahl=>"0_cases",\
Death=>"0_deaths",\
Aktualisierung=>"0_lastUpdate",\
faelle_100000_EW=>".computedReadings",\
LAN_ew_GEN=>"0_name"})\
}})\
}
attr sub_coronaSpreadNRW alignTime 00:00:00
attr sub_coronaSpreadNRW event-on-update-reading .computedReadings
attr sub_coronaSpreadNRW stateFormat {my $ret .= "last RKI CoViD-19 check<br/>on ";;\
$ret .= POSIX::strftime("%d.%m. %H:%M",localtime(time_str2num(ReadingsTimestamp($name,".computedReadings","2000-01-01 00:00:00"))))."<br/>";;\
$ret .= "RKI7: <font style=\"color:#147bff;;\">".round(ReadingsVal($name,"0_RKI7","-"),1)."</font><br/>";;\
$ret .= "Fä;lle: <font style=\"color:#147bff;;\">".ReadingsVal($name,"0_cases","-")."</font><br/>";;\
$ret .= "Tote: <font style=\"color:#147bff;;\">".ReadingsVal($name,"0_deaths","-")."</font>";;\
return $ret;;}
attr sub_coronaSpreadNRW userReadings 0_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"0_lastUpdate",0)/1000));;}, 1_lastUpdatedh {POSIX::strftime ("%d.%m. %H:%M", localtime(ReadingsVal($name,"1_lastUpdate",0)/1000));;}
Im state steht nicht Sinnvolles drin.
Beim Serverstart steht im logfile das folgende:
2023.03.12 14:16:40.814 1: PERL WARNING: Argument "-" isn't numeric in sprintf at .//FHEM/99_Utils.pm line 242, <$fh> line 129.
2023.03.12 14:16:40.814 3: eval: my $ret .= "last RKI CoViD-19 check<br/>on ";
$ret .= POSIX::strftime("%d.%m. %H:%M",localtime(time_str2num(ReadingsTimestamp($name,".computedReadings","2000-01-01 00:00:00"))))."<br/>";
$ret .= "RKI7: <font style=\"color:#147bff;\">".round(ReadingsVal($name,"0_RKI7","-"),1)."</font><br/>";
$ret .= "Fälle: <font style=\"color:#147bff;\">".ReadingsVal($name,"0_cases","-")."</font><br/>";
$ret .= "Tote: <font style=\"color:#147bff;\">".ReadingsVal($name,"0_deaths","-")."</font>";
return $ret;
Die URL liefert Daten, daran kann es nicht liegen.
Es hat ja schon mal funktioniert, jetzt aber nicht mehr.
Kannst du dir es bei Gelegenheit anschauen?
Viele Grüße und vielen Dank
Gisbert
round(ReadingsVal($name,"0_RKI7","-"),1)
=> Falls 0_RKI7 (noch?) nicht gesetzt ist, muss round das "-" auf eine Nachkommastelle runden, und verzweifelt dabei.
Danke für die Erklärung, das erklärt einiges.