Die Ressource ist zur Zeit nicht verfügbar (seit 6.0)

Mir ist gerade aufgefallen das seit einiger Zeit die Temperatur nicht mehr aktualisiert wird. Im log war ein Eintrag:

20.10.2021 13:44:35 | 00000 | ERROR | TimerPool | Die Ressource ist zur Zeit nicht verfügbar

Seit dem wurde kein Sensor mehr abgefragt, außer direkt danach der WSens…

Ein Etwas größerer ausschnitt:

20.10.2021 13:44:33 | 54552 | DEBUG | VariableManager | [>>>System\Überwachung\PC\Status] = false
20.10.2021 13:44:33 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 39 ~ Absender: TimerEvent ~ Dauer: 72 ms
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 240 ~ Absender: RunScript
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 313 ~ Absender: RunScript
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 313 ~ Absender: RunScript ~ Dauer: 1 ms
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 317 ~ Absender: RunScript
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 317 ~ Absender: RunScript ~ Dauer: 1 ms
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 303 ~ Absender: RunScript
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 303 ~ Absender: RunScript ~ Dauer: 1 ms
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 303 ~ Absender: RunScript
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 303 ~ Absender: RunScript ~ Dauer: 1 ms
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 303 ~ Absender: RunScript
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 303 ~ Absender: RunScript ~ Dauer: 1 ms
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 303 ~ Absender: RunScript
20.10.2021 13:44:34 | 36081 | DEBUG | VariableManager | [>>>System\Sensoren\Flur\Temperatur] = 20.1625000000
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 303 ~ Absender: RunScript ~ Dauer: 1 ms
20.10.2021 13:44:34 | 55293 | MESSAGE | VariableManager | [GeCoS_IO_V2\Letztes Keep Alive] = 1634730274
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 240 ~ Absender: RunScript ~ Dauer: 17 ms
20.10.2021 13:44:34 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 40 ~ Absender: TimerEvent
20.10.2021 13:44:35 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 40 ~ Absender: TimerEvent ~ Dauer: 3524 ms
20.10.2021 13:44:35 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 36 ~ Absender: TimerEvent
20.10.2021 13:44:35 | 00000 | DEBUG | ScriptEngine | Skriptausführung (Text) - Länge: 33 ~ Absender: TimerEvent
20.10.2021 13:44:35 | 13078 | DEBUG | VariableManager | [>>>System\Überwachung\CPE Pro 2\Status] = true
20.10.2021 13:44:35 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 39 ~ Absender: TimerEvent ~ Dauer: 2 ms
20.10.2021 13:44:35 | 00000 | ERROR | TimerPool | Die Ressource ist zur Zeit nicht verfügbar
20.10.2021 13:44:36 | 16558 | DEBUG | VariableManager | [>>>System\Sensoren\WSens Bad\Luftqualität Genauigkeit] = 0
20.10.2021 13:44:36 | 34950 | DEBUG | VariableManager | [>>>System\Sensoren\WSens Bad\CO 2] = 500
20.10.2021 13:44:36 | 10842 | DEBUG | VariableManager | [>>>System\Sensoren\WSens Bad\CO 2 Genauigkeit] = 0
20.10.2021 13:44:36 | 45629 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Intensität Weiß] = 108
20.10.2021 13:44:36 | 15412 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Intensität Rot] = 42
20.10.2021 13:44:36 | 36137 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Intensität Grün] = 45
20.10.2021 13:44:36 | 20721 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Intensität Blau] = 49
20.10.2021 13:44:36 | 31307 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Temperatur] = 20.7600000000
20.10.2021 13:44:36 | 29279 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Luftdruck (abs)] = 993.2700000000
20.10.2021 13:44:36 | 15542 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Luftfeuchtigkeit (rel)] = 69.1300000000
20.10.2021 13:44:36 | 28085 | DEBUG | VariableManager | [>>>System\Sensoren\WSens Bad\Luftqualität Index] = 25
20.10.2021 13:44:36 | 28607 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Taupunkt Temperatur] = 14.8900000000
20.10.2021 13:44:36 | 29554 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Luftfeuchtigkeit (abs)] = 12.4900000000
20.10.2021 13:44:36 | 14568 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Luftdruck (rel)] = 1004.6800000000
20.10.2021 13:44:37 | 54308 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Luftdruck 1h-Trend] = 0.1800000000
20.10.2021 13:44:37 | 42633 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Luftdruck 3h-Trend] = -0.9800000000
20.10.2021 13:44:37 | 17105 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Luftdruck 12h-Trend] = -7.6700000000
20.10.2021 13:44:37 | 16593 | MESSAGE | VariableManager | [>>>System\Sensoren\WSens Bad\Luftdruck 24h-Trend] = -12.3900000000
20.10.2021 13:44:37 | 17649 | DEBUG | VariableManager | [>>>System\Sensoren\WSens Bad\Luftqualität] = 1
20.10.2021 13:44:37 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 46 ~ Absender: TimerEvent ~ Dauer: 2190 ms
20.10.2021 13:44:39 | 54121 | DEBUG | VariableManager | [>>>System\Überwachung\UniFi DM Internet Controller\WAN1 Verfügbarkeit] = 6
20.10.2021 13:44:39 | 00000 | DEBUG | ScriptEngine | Skript ausgeführt (Text) - Länge: 42 ~ Absender: TimerEvent ~ Dauer: 4806 ms

Jemand eine Idee was das sein könnte?

„sudo reboot“ hing dann auch, die Console war über web erreichbar mit der Meldung „Server is shutting down…“ bis ich dann den Stecker gezogen habe.

Edit: Unter PHP Informationen war kein Timer Rot…

Auch beim Reboot werde alle Prozesse sauber beendet. Meine Vermutung - weil ich das selber schon hatte - das eine Script in IPS bei dir hängt und den IPS-Shutdown blochiert, somit uach den Reboot des Betriebssystem.

Ich bin bei mri dazu übergegegangen, IPS nicht mehr zu stoppen fürs Backups, das funktioniert bisher sehr gut und auch ein Recovery war problemlos möglich.

Beim Backup habe ich das auch schon umgestellt, nun lief aber ja mitten am Tag die Timer um die Temperatur Sensoren abzufragen nicht mehr, deswegen dann der Reboot.

Ist halt etwas bescheiden wenn darüber die Stellantriebe angesteuert werden aber die Temperatur nicht aktualisiert wird.

Interessant wäre dann ja auch irgendwie rauszufinden welches Script es gewesen ist?

Ich habe einen weiteren Kunden der genau das selbe Problem (vermutlich seit der 6.0) hat. Ich bin also dran - habe aber noch nicht viele Hinweise. Kannst du mir deinen /var/log/symcon Ordner mal zippen und per PM zukommen lassen?

Ich habe das neue Problem mal in ein neues Thema verschoben.

paresy

1 „Gefällt mir“

Bin heute leider im Büro, mach ich dann heute Abend oder morgen Früh eben…

Hab den Fehler gerade zufällig wieder gesehen:

Leider funktioniert das Modul „Variablenüberwachung“ dann auch nicht mehr… :frowning:

Habt ihr da schon etwas gefunden?

1 „Gefällt mir“

Leider noch nicht. Bisher habe ich auch keine neuen Hinweise was die Ursache sein könnten.

Könntest du dich aber mal auf die Box per SSH einloggen und folgendes ausführen?

ls /proc/$(pidof symcon)/task | wc -l

Steigt diese Zahl konstant, wenn du dies einfach mal eine Stunde/einen Tag später machst?

paresy

Hab es jetzt um 7:30 einmal ausgeführt, da war der Wert bei 77, jetzt um 7:33 bei 80… Ich werde es mal beobachten und dokumentieren.

Gibt es noch eine Möglichkeit das „extern“ zu überwachen? Da die Symcon meine Stellmotoren steuert, ist es etwas ärgerlich wenn es nachts ausfällt und es dann morgens Kalt oder Sehr Warm ist weil die Motoren in der Aktuellen Position hängen bleiben…

Und noch ne kleine Frage zu dem Befehl, die „pidof symcon“ muss ich nicht ersetzen?

Bisher schwankt der Wert zwischen 77 und 83…

Bei mir schwankt es zwischen 105 und 109

Hier noch ein kleines Skript, dass ein paar mehr Kennzahlen ins Logfile wirft:

IPS_LogMessage("All-Threads", exec("ls -1d /proc/*/task/* | wc -l"));
IPS_LogMessage("Symcon-Threads", exec("ls /proc/$(pidof symcon)/task | wc -l"));
IPS_LogMessage("All-FDs", exec("lsof | wc -l"));
IPS_LogMessage("Symcon-FDs", exec("ls -l /proc/$(pidof symcon)/fd | wc -l"));

Sofern nicht vorhanden müsst ihr noch per sudo apt install lsof das notwendige Tool nach installieren.

Vielen Dank fürs Mithelfen - ich hoffe, dass wir der Sache endlich mal auf die Spur kommen.

Ok Skript ist erstellt und funktioniert, wünsche wie oft das ausgeführt werden soll?

Btw. wird es dann ja auch nicht mehr ausgeführt wenn der Fehler auftritt… :smiley:

Der „ls /proc/$(pidof symcon)/task | wc -l“ Befehl gibt aktuell 85 aus, allerdings hab ich gestern die Steuerung ausersehen mal stromlos gemacht…

Tatsächlich wird es weiter ausgeführt. Es sind immer nur die internen Timer betroffen. Ereignisse laufen weiter. :slight_smile:

paresy

Jetzt steh ich aufm Schlauch, also brauch ich an das Skript kein Ereignis hängen, damit es regelmäßig ausgeführt wird?

Oder die Ereignisse laufen weiter, aber Modul interne Timer nicht?

Dann würde mir aber noch ein Wunsch fehlen, wie oft das Skript ausgeführt werden soll?

Doch vermute ich - interne Timer sind z.B. die Funktionen rund um das astromodul. So mein mein Verständnis.

Ich habe es woanders mit 30 Sekunden am Laufen. :slight_smile:

paresy

1 „Gefällt mir“

Hm. Daran scheint es nicht zu liegen.

Könnte ihr einmal per SSH free ausführen und die Ausgabe hier kopieren, während das Problem aktuell ist (also bevor Ihr IP-Symcon neu startet?) Evtl. ist das ganze Problem ja ein „simples“ Speicherleck.

Wenn ich das richtig sehe betrifft es weiterhin nur Linux Systeme (also RPi, SymBox, Ubuntu)?

Fügt im Skript gerne noch diese Zeile hinzu:

IPS_LogMessage("Memory", round(Sys_GetMemoryInfo()["AVAILPHYSICAL"] / 1024 / 1024) . " MB");

paresy

1 „Gefällt mir“

Hab’s mal mit in das Skript eingebaut.

Bei mir ist es zumindest ein RPi 4 mit 2GB Ram.

also auf der Symbox hatte ich gestern 300 MB und bin aktuell bei 217 MB. Auf ein Problem mit dem Speicher würde ich spontan nicht tippen.

Ist das Problem denn aufgetreten seither? Wenn es einen klaren Abwärtstrend gibt, dann passiert das Problem sobald es gegen 0 geht.

paresy