klein0r / ioBroker.awtrix-light

Integrate your Awtrix Light device (e.g. Ulanzi TC001) via HTTP
https://haus-automatisierung.com
MIT License
62 stars 4 forks source link

Unable to update custom app - "ErrorParsingJson" #57

Closed baetzmr closed 1 year ago

baetzmr commented 1 year ago

The problem

After short time running the instance i get many warnings from awtrix-light:

warn: (custom?name=pvpower) Unable to update custom app "pvpower": AxiosError: Request failed with status code 500

warn: received 500 response from /api/custom?name=pvpower with content: "ErrorParsingJson"

Restarting the instance helps for a while, then warings return

Version of nodejs

v16.20.1

Version of ioBroker js-controller

5.0.9

Version of Adapter

0.7.0

Version of awtrix-light firmware

0.72

Operating system running ioBroker

Linux

Checklist of files to include below

Additional information & file uploads

No response

github-actions[bot] commented 1 year ago

Thanks for reporting @baetzmr!

  1. Check if this topic is not covered in the documentation
  2. Ensure that you use the latest beta version: NPM version
  3. Attach all necessary log files in debug mode, screenshots and other information to reproduce this issue
  4. Search for the issue topic in other/closed issues to avoid duplicates!
klein0r commented 1 year ago

Please share a log in debug mode

baetzmr commented 1 year ago

Sorry for late reply. Version of adapter is now 0.7.1 with firmware 0.73

Maybe you can see some issues inside the log.

awtrix-light.log.txt

awtrix-light_110823.log.txt

klein0r commented 1 year ago

Strange - this works:

2023-08-11 07:08:47.523 - debug: awtrix-light.0 (22401) sending "POST" request to "/api/custom?name=pvpower" with data: {"text":"125 W","textCase":2,"background":"#000000","color":"#faf303","icon":"44625"}
2023-08-11 07:08:47.633 - debug: awtrix-light.0 (22401) received 200 response from "/api/custom?name=pvpower" with content: "OK"

But this leads to an error:

2023-08-11 07:09:07.516 - debug: awtrix-light.0 (22401) sending "POST" request to "/api/custom?name=pvpower" with data: {"text":"128 W","textCase":2,"background":"#000000","color":"#faf303","icon":"44625"}
2023-08-11 07:09:07.583 - warn: awtrix-light.0 (22401) received 500 response from /api/custom?name=pvpower with content: "ErrorParsingJson"

I don't see the problem. Error is generated here:

https://github.com/Blueforcer/awtrix-light/blob/d6010841de6b3ac82298bacf271b617509e87ba6/src/ServerManager.cpp#L119

Maybe the device has no memory left? Can you check the memory state?

baetzmr commented 1 year ago

Habe eine RAM Aufzeichung gemacht. Ich weiß zwar noch nicht genau wieviel der RAM belegt sein darf aber es sind immer so um die 67kb. Ein paar "Ausreißer" nach unten sind drin aber eher unauffällig. Nach Reboot Sind es ca. 110kb und nach Instanz Neustart im iOBroker 98kb. Danach fällt der Wert auf 67kb und pendelt sich dort ein.

awtrix_free_ram

log

baetzmr commented 1 year ago

Kleiner Nachtrag... Sobald ich eine Custom App entferne (von 8 auf 7 und dann auf 6) steigt auch logischer Weise der freie RAM Speicher an. In dem Fall gibt es auch keine Warnmeldungen mehr. Sobald ich die App wieder aktiviere gehen die Warnmeldungen prompt wieder los. Scheint also quasi doch etwas mit dem freien Speicher zu tun zu haben.

log_6_7_apps

Ich werde mal mit 7 Apps weiter beobachten ob es dann ohne Warnungen geht.

klein0r commented 1 year ago

Also mit 7 Apps läuft es noch, aber mit 8 Apps nicht?

baetzmr commented 1 year ago

Habe noch mal reduziert auf 6 Apps und hier läuft alles stabil ohne Warnungen. Mit 7 Apps kommen die Warnungen sporadisch.

Freier RAM bei 78kb. Sieht aus als wäre alles was kleiner 70kb ist zu Warnmeldungen führen würde

baetzmr commented 1 year ago

0.75 geht leider noch schlechter. Nach dem flashen und starten der iobroker Instanz geht der RAM runter 53kb und dann ging nichts mehr. Werte konnten nicht mehr geupdated werden und das Web Interface war nicht mehr erreichbar. Es half nur noch ein Reboot am Gerät selbst.

Die Custom FW Firmware.bin (0.73) läuft bei mir problemlos mit mittlerweile 12 Apps

klein0r commented 1 year ago

Bitte mit 0.77 testen

baetzmr commented 1 year ago

update zur Version custom firmware.bin (0.78) lief die ganze nacht und bis heute mittag absolut unauffällig -> 12 custom Apps per MQTT über NodeRed, RAM lag konstant bei 87kb. Ab Mittag umgestellt auf ioBroker Adapter mit 12 custom Apps. läuft seit der Umstellung auch absolut unauffällig. Nicht eine Warnmeldung des Adapters! RAM liegt konstant bei 85kb... Heute Abend ist dann der Test mit der 0.79 dran, wobei ich mir auch überlegt habe den Speicher mal komplett zu löschen. Evtl. flash ich mal mit VS-Code

klein0r commented 1 year ago

Perfekt - ich mache hier mal zu, weil das mit dem Adapter ja nicht so viel zu tun hat. Ich nutze ja einfach nur die API und sende (wie es aussieht) immer gültige JSON Payloads.

Siehe https://github.com/Blueforcer/awtrix-light/issues/261