jokob-sk / NetAlertX

🖧🔍 WIFI / LAN intruder detector. Scans for devices connected to your network and alerts you if new and unknown devices are found.
GNU General Public License v3.0
2.97k stars 178 forks source link

INTRSPD - Internet Speedtest Plugin not showing the Download Speed under "Plugin Objects #854

Open Stationary-1 opened 1 day ago

Stationary-1 commented 1 day ago

Is there an existing issue for this?

Current Behavior

Under Integrations > Plugins > Internet speedtest on the tab "Plugin Objects" only the "Upload Speed" shows up, but not the "Download Speed". This was tried and confirmed on various devices: iPad with Safari, MacBook with Safari or Firefox, Raspberry Pi5 with Chromium or Firefox.

Expected Behavior

Left to the green bar with the upload speed, a green bar with the download speed is expected.

Steps To Reproduce

1) Settings for Internet Speedtest: "schedule" "0 /6 ", Run timeout 300, Watched 0 items, Report on 0 items 2) once speedtests have run, go to Integration > Plugins > Internet speedtest, check on the tab "Plugin Objects"

This happens on both the production branch and the dev branch (I am currently using the latter built on 2024-10-19 for your recommendation given in another forum, thanks again for that!!).

From currently used DEV branch: netalertx IMG_1954

From previously used PRODUCTION branch: IMG_1951

I have seen the image you have shown me on another forum, where the green bar(s) under Download were present, but I have not been able to reproduce that, neither with cleared browser caches, reloaded pages or a freshly installed container.

app.conf

#-----------------AUTOGENERATED FILE-----------------#
#                                                    #
#         Generated:  2024-10-19_11-31-51            #
#                                                    #
#   Config file for the LAN intruder detection app:  #
#      https://github.com/jokob-sk/NetAlertX         #
#                                                    #
#-----------------AUTOGENERATED FILE-----------------#

# General
#---------------------------
LOADED_PLUGINS=['ARPSCAN','CSVBCKP','DBCLNP','INTRNT','MAINT','NEWDEV','NSLOOKUP','NTFPRCS','AVAHISCAN','SETPWD','SMTP','SYNC','VNDRPDT','WORKFLOWS','INTRSPD']
LOADED_PLUGINS__metadata="                      {}\n                    "
SCAN_SUBNETS=['xxx.xxx.xxx.0/24 --interface=eth0']
SCAN_SUBNETS__metadata="                      {}\n                    "
LOG_LEVEL='verbose'
LOG_LEVEL__metadata="                      {}\n                    "
TIMEZONE='xxx/xxx'
TIMEZONE__metadata="                      {}\n                    "
PLUGINS_KEEP_HIST=250
PLUGINS_KEEP_HIST__metadata="                      {}\n                    "
REPORT_DASHBOARD_URL='http://netalertx'
REPORT_DASHBOARD_URL__metadata="                      {}\n                    "
DAYS_TO_KEEP_EVENTS=90
DAYS_TO_KEEP_EVENTS__metadata="                      {}\n                    "
HRS_TO_KEEP_NEWDEV=0
HRS_TO_KEEP_NEWDEV__metadata="                      {}\n                    "
CLEAR_NEW_FLAG=0
CLEAR_NEW_FLAG__metadata="                      {}\n                    "
API_CUSTOM_SQL='SELECT * FROM Devices WHERE dev_PresentLastScan = 0'
API_CUSTOM_SQL__metadata="                      {}\n                    "
VERSION='1729324699'
VERSION__metadata="                      {}\n                    "
NETWORK_DEVICE_TYPES=['AP','Gateway','Firewall','Hypervisor','Powerline','Switch','WLAN','PLC','Router','USB LAN Adapter','USB WIFI Adapter','Internet']
NETWORK_DEVICE_TYPES__metadata="                      {}\n                    "

# INTRSPD
#---------------------------
INTRSPD_RUN='schedule'
INTRSPD_RUN__metadata="                      {\"function\": \"RUN\", \"events\": [\"run\"], \"type\": {\"dataType\": \"string\", \"elements\": [{\"elementType\": \"select\", \"elementOptions\": [], \"transformers\": []}]}, \"default_value\": \"disabled\", \"options\": [\"disabled\", \"once\", \"schedule\", \"always_after_scan\"], \"localized\": [\"name\", \"description\"], \"name\": [{\"language_code\": \"en_us\", \"string\": \"When to run\"}, {\"language_code\": \"es_es\", \"string\": \"Cuando ejecuta\"}, {\"language_code\": \"de_de\", \"string\": \"Wann ausf\\u00fchren\"}], \"description\": [{\"language_code\": \"en_us\", \"string\": \"Enable a regular internet speedtest. If you select <code>schedule</code> the scheduling settings from below are applied. If you select <code>once</code> the scan is run only once on start of the application (container) for the time specified in <a href=\\\"#INTRSPD_RUN_TIMEOUT\\\"><code>INTRSPD_RUN_TIMEOUT</code> setting</a>.\"}, {\"language_code\": \"de_de\", \"string\": \"Aktiviere periodische Internetgeschwindigkeitstests. Wenn <code>schedule</code> ausgew\\u00e4hlt ist, werden die Einstellungen von unten genutzt. Bei <code>once</code> wird der Test nur einmal beim Start der Applikation (Container) f\\u00fcr die unten in der <a href=\\\"#INTRSPD_RUN_TIMEOUT\\\"><code>INTRSPD_RUN_TIMEOUT</code> Einstellung</a> gesetzten Zeit durchgef\\u00fchrt.\"}]}\n                    "
INTRSPD_CMD='python3 /app/front/plugins/internet_speedtest/script.py'
INTRSPD_CMD__metadata="                      {\"function\": \"CMD\", \"type\": {\"dataType\": \"string\", \"elements\": [{\"elementType\": \"input\", \"elementOptions\": [{\"readonly\": \"true\"}], \"transformers\": []}]}, \"default_value\": \"python3 /app/front/plugins/internet_speedtest/script.py\", \"options\": [], \"localized\": [\"name\", \"description\"], \"name\": [{\"language_code\": \"en_us\", \"string\": \"Command\"}, {\"language_code\": \"es_es\", \"string\": \"Comando\"}, {\"language_code\": \"de_de\", \"string\": \"Befehl\"}], \"description\": [{\"language_code\": \"en_us\", \"string\": \"Command to run\"}, {\"language_code\": \"es_es\", \"string\": \"Comando a ejecutar\"}, {\"language_code\": \"de_de\", \"string\": \"Auszuf\\u00fchrender Befehl\"}]}\n                    "
INTRSPD_RUN_SCHD='0 */6 * * *'
INTRSPD_RUN_SCHD__metadata="                      {\"function\": \"RUN_SCHD\", \"type\": {\"dataType\": \"string\", \"elements\": [{\"elementType\": \"input\", \"elementOptions\": [], \"transformers\": []}]}, \"default_value\": \"*/30 * * * *\", \"options\": [], \"localized\": [\"name\", \"description\"], \"name\": [{\"language_code\": \"en_us\", \"string\": \"Schedule\"}, {\"language_code\": \"es_es\", \"string\": \"Schedule\"}, {\"language_code\": \"de_de\", \"string\": \"Zeitplan\"}], \"description\": [{\"language_code\": \"en_us\", \"string\": \"Only enabled if you select <code>schedule</code> in the <a href=\\\"#INTRSPD_RUN\\\"><code>INTRSPD_RUN</code> setting</a>. Make sure you enter the schedule in the correct cron-like format (e.g. validate at <a href=\\\"https://crontab.guru/\\\" target=\\\"_blank\\\">crontab.guru</a>). For example entering <code>0 4 * * *</code> will run the scan after 4 am in the <a onclick=\\\"toggleAllSettings()\\\" href=\\\"#TIMEZONE\\\"><code>TIMEZONE</code> you set above</a>. Will be run NEXT time the time passes.\"}, {\"language_code\": \"es_es\", \"string\": \"Solo habilitado si selecciona <code>schedule</code> en la configuraci\\u00f3n <a href=\\\"#INTRSPD_RUN\\\"><code>INTRSPD_RUN</code></a>. Aseg\\u00farese de ingresar el schedule en el formato similar a cron correcto (por ejemplo, valide en <a href=\\\"https://crontab.guru/\\\" target=\\\"_blank\\\">crontab.guru</a>). Por ejemplo, ingrese <code >0 4 * * *</code> ejecutar\\u00e1 el escaneo despu\\u00e9s de las 4 am en el <a onclick=\\\"toggleAllSettings()\\\" href=\\\"#TIMEZONE\\\"><code>TIMEZONE</code> que configur\\u00f3 arriba </a>. Se ejecutar\\u00e1 la PR\\u00d3XIMA vez que pase el tiempo.\"}, {\"language_code\": \"de_de\", \"string\": \"Nur aktiv, wenn <code>schedule</code> in der <a href=\\\"#INTRSPD_RUN\\\"><code>INTRSPD_RUN</code> Einstellung</a> ausgew\\u00e4hlt wurde. Sichergehen, dass das Intervall in einem korrekten cron-\\u00e4hnlichen Format angegeben wurde (z.B. auf <a href=\\\"https://crontab.guru/\\\" target=\\\"_blank\\\">crontab.guru</a> testen). <code>0 4 * * *</code> w\\u00fcrde den Scan t\\u00e4glich um 4 Uhr in der <a onclick=\\\"toggleAllSettings()\\\" href=\\\"#TIMEZONE\\\">oben ausgew\\u00e4hlten <code>TIMEZONE</code></a> starten. Wird erst beim N\\u00c4CHSTEN Intervall ausgef\\u00fchrt. <br/>Es wird empfohlen, das Intervall aller Plugins, welche nach neuen Ger\\u00e4ten suchen, auf den gleichen Wert zu setzen.\"}]}\n                    "
INTRSPD_RUN_TIMEOUT=300
INTRSPD_RUN_TIMEOUT__metadata="                      {\"function\": \"RUN_TIMEOUT\", \"type\": {\"dataType\": \"integer\", \"elements\": [{\"elementType\": \"input\", \"elementOptions\": [{\"type\": \"number\"}], \"transformers\": []}]}, \"default_value\": 60, \"options\": [], \"localized\": [\"name\", \"description\"], \"name\": [{\"language_code\": \"en_us\", \"string\": \"Run timeout\"}, {\"language_code\": \"es_es\", \"string\": \"Tiempo de espera de ejecuci\\u00f3n\"}, {\"language_code\": \"de_de\", \"string\": \"Zeitlimit\"}], \"description\": [{\"language_code\": \"en_us\", \"string\": \"Maximum time in seconds to wait for the script to finish. If this time is exceeded the script is aborted.\"}, {\"language_code\": \"es_es\", \"string\": \"Tiempo m\\u00e1ximo en segundos para esperar a que finalice el script. Si se supera este tiempo, el script se cancela.\"}, {\"language_code\": \"de_de\", \"string\": \"Maximale Zeit in Sekunden, die auf den Abschluss des Skripts gewartet werden soll. Bei \\u00dcberschreitung dieser Zeit wird das Skript abgebrochen.\"}]}\n                    "
INTRSPD_WATCH=[]
INTRSPD_WATCH__metadata="                      {\"function\": \"WATCH\", \"type\": {\"dataType\": \"array\", \"elements\": [{\"elementType\": \"select\", \"elementOptions\": [{\"multiple\": \"true\"}], \"transformers\": []}]}, \"default_value\": [], \"options\": [\"Watched_Value1\", \"Watched_Value2\", \"Watched_Value3\", \"Watched_Value4\"], \"localized\": [\"name\", \"description\"], \"name\": [{\"language_code\": \"en_us\", \"string\": \"Watched\"}, {\"language_code\": \"es_es\", \"string\": \"Visto\"}, {\"language_code\": \"de_de\", \"string\": \"\\u00dcberwacht\"}], \"description\": [{\"language_code\": \"en_us\", \"string\": \"Send a notification if selected values change. Use <code>CTRL + Click</code> to select/deselect. <ul> <li><code>Watched_Value1</code> is Download speed (not recommended)</li><li><code>Watched_Value2</code> is Upload speed (not recommended)</li><li><code>Watched_Value3</code> unused </li><li><code>Watched_Value4</code> unused </li></ul>\"}, {\"language_code\": \"de_de\", \"string\": \"Sende eine Benachrichtigung, wenn ein ausgw\\u00e4hlter Wert sich \\u00e4ndert. <code>STRG + klicken</code> zum aus-/abw\\u00e4hlen. <ul> <li><code>Watched_Value1</code> ist die Download-Geschwindigkeit (nicht empfohlen)</li><li><code>Watched_Value2</code> ist die Upload-Geschwindigkeit (nicht empfohlen)</li><li><code>Watched_Value3</code> ist nicht in Verwendung </li><li><code>Watched_Value4</code> ist nicht in Verwendung </li></ul>\"}]}\n                    "
INTRSPD_REPORT_ON=[]
INTRSPD_REPORT_ON__metadata="                      {\"function\": \"REPORT_ON\", \"type\": {\"dataType\": \"array\", \"elements\": [{\"elementType\": \"select\", \"elementOptions\": [{\"multiple\": \"true\"}], \"transformers\": []}]}, \"default_value\": [], \"options\": [\"new\", \"watched-changed\", \"watched-not-changed\", \"missing-in-last-scan\"], \"localized\": [\"name\", \"description\"], \"name\": [{\"language_code\": \"en_us\", \"string\": \"Report on\"}, {\"language_code\": \"es_es\", \"string\": \"Informar sobre\"}, {\"language_code\": \"de_de\", \"string\": \"Benachrichtige wenn\"}], \"description\": [{\"language_code\": \"en_us\", \"string\": \"Send a notification only on these statuses. <code>new</code> means a new unique (unique combination of PrimaryId and SecondaryId) object was discovered. <code>watched-changed</code> means that selected <code>Watched_ValueN</code> columns changed.\"}, {\"language_code\": \"es_es\", \"string\": \"Env\\u00ede una notificaci\\u00f3n solo en estos estados. <code>new</code> significa que se descubri\\u00f3 un nuevo objeto \\u00fanico (combinaci\\u00f3n \\u00fanica de PrimaryId y SecondaryId). <code>watched-changed</code> significa que seleccion\\u00f3 <code>Watched_ValueN Las columnas </code> cambiaron.\"}, {\"language_code\": \"de_de\", \"string\": \"Benachrichtige nur bei diesen Status. <code>new</code> bedeutet ein neues eindeutiges (einzigartige Kombination aus PrimaryId und SecondaryId) Objekt wurde erkennt. <code>watched-changed</code> bedeutet eine ausgew\\u00e4hlte <code>Watched_ValueN</code>-Spalte hat sich ge\\u00e4ndert.\"}]}\n                    "

docker-compose.yml

version: "3.01"
services:
  netalertx:
    container_name: netalertx-dev
    # use the below line if you want to test the latest dev image
    # image: "jokobsk/netalertx-dev:latest" 
    image: "jokobsk/netalertx-dev:latest"      
    network_mode: "host"        
    restart: unless-stopped
    volumes:
      - /opt/netalertx-dev/config:/app/config
      - /opt/netalertx-dev/db/:/app/db/      
      # (optional) useful for debugging if you have issues setting up the container
      # - /opt/netalertx/log:/app/front/log
      - /opt/netalertx-dev/log:/app/front/log
    environment:
      - TZ=Europe/Berlin      
      - PORT=20211

What branch are you running?

Dev

app.log

it occurs always for me. I had to shorten the app.conf when submitting it said: maximum 65536 characters

Debug enabled

jokob-sk commented 21 hours ago

Hi @Stationary-1 ,

Thanks a lot for the detailed description. This helps a lot when debugging things and reducing back and forth questions 👍

It's weird that for me the download speed shows up. Can you try one of the following?

  1. You can send the app.log to my email netalertx@gmail.com or jokob.sk@gmail.com (let me know once you do - sometimes I miss it because it lands in SPAM).
  2. Can you post the part of the log where the SPDTEST plugin is executed?

You can run the plugin manually if you are not sure that the app.log contains the relevant section. SSH into the container and run python3 /app/front/plugins/internet_speedtest/script.py if needed.

I'm looking for the log entry (you can search your existing log if you can find it - this is only available in the netalertx-dev branch for now - which I think you are running):

[INTRSPD] Result (down|up)

The whole log entry should look something like:

03:31:32 [INTRSPD] Result (down|up): 32.79 Mbps|19.18 Mbps
03:31:32 [Plugins] Processing file "/app/front/plugins/internet_speedtest/last_result.log"
03:31:32 [Plugins] SUCCESS, received 1 entries
03:31:32 [Plugins] sqlParam entries: [(0, 'INTRSPD', 'Speedtest', '2024-10-20 03:31:32+11:00', 'null', '2024-10-20 03:31:32', '32.79', '19.18', 'null', 'null', 'not-processed', 'null', 'null', 'null', '', '', '', '', '')]
03:31:32 [Plugins] Processing        : INTRSPD
03:31:32 [Plugins] Existing objects from Plugins_Objects: 2568
03:31:32 [Plugins] Logged events from the plugin run    : 1
03:31:32 [Plugins] pluginEvents      count: 1
03:31:32 [Plugins] pluginObjects     count: 2569
03:31:32 [Plugins] events_to_insert  count: 0
03:31:32 [Plugins] history_to_insert count: 2569
03:31:32 [Plugins] objects_to_insert count: 1
03:31:32 [Plugins] objects_to_update count: 2568

I also noticed some console errors in your screenshot, can you switch to the browser console and share those?

image

Hope the above will give me hints what to fix.

Thanks in advance, j

Stationary-1 commented 9 hours ago

These are the messages displayed in the console:

(1) err1

(2) err2

(3) err3

(4) err4

(5) err5

(6) err6

(7) err7

The app.log data will follow in the next message.

Stationary-1 commented 9 hours ago

This is the app.log entry for the INTRSPD which I have run now manually:

11:19:38 [MAIN] Process: Wait 11:20:24 [2024-10-20 11:20:24+02:00] START Run: INTRSPD 11:20:24 [Plugins] Executing: python3 /app/front/plugins/internet_speedtest/script.py 11:20:25 [INTRSPD] In script 11:20:48 [INTRSPD] Result (down|up): 78.05 Mbps|24.45 Mbps 11:20:48 [HELPER] ⚠ ERROR not processed set_type: {'dataType': 'string', 'elements': [{'elementType': 'input', 'elementOptions': [{'cssClasses': 'col-xs-12'}], 'transformers': []}, {'elementType': 'button', 'elementOptions': [{'getStringKey': 'Gen_Generate'}, {'customParams': 'SYNC_encryption_key'}, {'onClick': 'generateApiToken(this, 30)'}, {'cssClasses': 'col-xs-12'}], 'transformers': []}]} 11:20:48 [HELPER] ⚠ ERROR not processed set_value:
11:20:48 [Plugins] SUCCESS, received 1 entries 11:20:48 [API] Updating table_appevents.json file in /front/api 11:20:48 [API] Updating table_plugins_history.json file in /front/api 11:20:48 [API] Updating table_plugins_objects.json file in /front/api 11:20:48 [2024-10-20 11:20:48+02:00] END Run: INTRSPD 11:20:53 [Plugin utils] ---------------------------------------------

The one which has run automatically this morning looks like this:

06:01:10 [Plugin utils] --------------------------------------------- 06:01:10 [Plugin utils] display_name: Internet speedtest 06:01:10 [Plugins] Executing: python3 /app/front/plugins/internet_speedtest/script.py 06:01:10 [INTRSPD] In script 06:01:31 [INTRSPD] Result (down|up): 135.74 Mbps|29.95 Mbps 06:01:32 [HELPER] ⚠ ERROR not processed set_type: {'dataType': 'string', 'elements': [{'elementType': 'input', 'elementOptions': [{'cssClasses': 'col-xs-12'}], 'transformers': []}, {'elementType': 'button', 'elementOptions': [{'getStringKey': 'Gen_Generate'}, {'customParams': 'SYNC_encryption_key'}, {'onClick': 'generateApiToken(this, 30)'}, {'cssClasses': 'col-xs-12'}], 'transformers': []}]} 06:01:32 [HELPER] ⚠ ERROR not processed set_value:
06:01:32 [Plugins] SUCCESS, received 1 entries 06:01:32 [API] Updating table_appevents.json file in /front/api 06:01:32 [API] Updating table_plugins_history.json file in /front/api 06:01:32 [API] Updating table_plugins_objects.json file in /front/api 06:01:32 [Process Scan] Exclude ignored devices 06:01:32 [Process Scan] Processing scan results 06:01:32 [Process Scan] Print Stats 06:01:32 [Scan Stats] Devices Detected.......: 21 06:01:32 [Scan Stats] New Devices............: 0 06:01:32 [Scan Stats] Down Alerts............: 0 06:01:32 [Scan Stats] New Down Alerts........: 0 06:01:32 [Scan Stats] New Connections........: 10 06:01:32 [Scan Stats] Disconnections.........: 1 06:01:32 [Scan Stats] IP Changes.............: 4 06:01:32 [Scan Stats] Scan Method Statistics: 06:01:32 INTRNT: 1 06:01:32 arp-scan: 19 06:01:32 local_MAC: 1 06:01:32 [Process Scan] Stats end 06:01:32 [Process Scan] Sessions Events (connect / disconnect) 06:01:32 [Process Scan] Creating new devices 06:01:32 [Process Scan] Updating Devices Info 06:01:32 [Process Scan] Voiding false (ghost) disconnections 06:01:32 [Process Scan] Pairing session events (connection / disconnection) 06:01:32 [Process Scan] Creating sessions snapshot 06:01:32 [Process Scan] Inserting scan results into Online_History 06:01:32 [Process Scan] Skipping repeated notifications 06:01:32 [Skip Repeated Notifications] Skip Repeated 06:01:32 [Plugin utils] ---------------------------------------------

jokob-sk commented 8 hours ago

Hi @Stationary-1 ,

Thanks a lot! I cam see that this indicates that the data is captured by the plugin:

06:01:31 [INTRSPD] Result (down|up): 135.74 Mbps|29.95 Mbps

Hummm, can you also post the app.log line where the data gets saved in the DB, something like:

03:31:32 [Plugins] sqlParam entries: [(0, 'INTRSPD', 'Speedtest', '2024-10-20 03:31:32+11:00', 'null', '2024-10-20 03:31:32', '32.79', '19.18', 'null', 'null', 'not-processed', 'null', 'null', 'null', '', '', '', '', '')]

If it's not in your log, make sure the LOG_LEVEL is set to debug. I want to make sure the data is passed to the SQL query correctly.

Just checking, in the Integrations -> Plugins -> Internet speed -> Events History - are the data in there or are they missing too?

Thanks in advance!

Stationary-1 commented 8 hours ago

in the Integrations -> Plugins -> Internet speed -> Events History - are the data in there or are they missing too?

There the data is visible: speed1

I also have an interesting one for you: Where the speedtest has been initiated manually, in one case both up and down is filled in the plugin objects (11:20) in another case (12:25) not. When it runs automatically, so far it only shows the upload: speed2

I'll check the log with log_level debug and post that in the next message.

Stationary-1 commented 8 hours ago

app.log with log level set to debug: 12:33:56 [2024-10-20 12:33:56+02:00] START Run: INTRSPD 12:33:56 [Plugins] Timeout: 300 12:33:56 [Plugin utils] Pre-Resolved CMD: python3/app/front/plugins/internet_speedtest/script.py 12:33:56 [Plugins] Executing: python3 /app/front/plugins/internet_speedtest/script.py 12:33:56 [Plugins] Resolved : ['python3', '/app/front/plugins/internet_speedtest/script.py'] 12:33:56 [INTRSPD] In script 12:34:17 [INTRSPD] Result (down|up): 133.5 Mbps|29.69 Mbps 12:34:17 [HELPER] ⚠ ERROR not processed set_type: {'dataType': 'string', 'elements': [{'elementType': 'input', 'elementOptions': [{'cssClasses': 'col-xs-12'}], 'transformers': []}, {'elementType': 'button', 'elementOptions': [{'getStringKey': 'Gen_Generate'}, {'customParams': 'SYNC_encryption_key'}, {'onClick': 'generateApiToken(this, 30)'}, {'cssClasses': 'col-xs-12'}], 'transformers': []}]} 12:34:17 [HELPER] ⚠ ERROR not processed set_value:
12:34:17 [Plugins] Processing file "/app/front/plugins/internet_speedtest/last_result.log" 12:34:17 [Plugins] SUCCESS, received 1 entries 12:34:17 [Plugins] sqlParam entries: [(0, 'INTRSPD', 'Speedtest', '2024-10-20 12:34:17+02:00', 'null', '2024-10-20 12:34:17', '133.5', '29.69', 'null', 'null', 'not-processed', 'null', 'null', 'null', '', '', '', '', '')] 12:34:17 [Plugins] Processing : INTRSPD 12:34:17 [Plugins] Existing objects from Plugins_Objects: 7 12:34:17 [Plugins] Logged events from the plugin run : 1 12:34:17 [Plugins] pluginEvents count: 1 12:34:17 [Plugins] pluginObjects count: 8 12:34:17 [Plugins] events_to_insert count: 0 12:34:17 [Plugins] history_to_insert count: 8 12:34:17 [Plugins] objects_to_insert count: 1 12:34:17 [Plugins] objects_to_update count: 7

image

jokob-sk commented 8 hours ago

Thanks a lot - I think I've found the issue. I had a maximum value of 100 for the threshold for the DL/UL speed columns so if the value to be displayed went over 100, it didn't know what to do. This screenshot gave me the hint:

image

This should be available in the next release. It would be great if you could test this. Can you please switch to the netalertx-dev docker image (backup everything at first), in about 15 minutes (or after the last action finishes) from now.

Make sure you refresh your browser cache - and click the 🔄 refresh button in the top right corner.

Thanks in advance, j

Stationary-1 commented 8 hours ago

DSL too fast?

jokob-sk commented 8 hours ago

DSL too fast?

lol, yes

Stationary-1 commented 7 hours ago

We were lucky...that speedtest ran once while my son was heavily drawing bandwidth on the guest net, that depressed the main net bandwidth... anyway the speed is poor for a 250 Mbit/s connection which we are supposed to have... I'll try your next commit as soon as available and report back.

Stationary-1 commented 7 hours ago

Perfect: image

Thank you very much for you effort!!!

jokob-sk commented 7 hours ago

Thanks for helping me to get to the bottom of this :)

Stationary-1 commented 7 hours ago

That was in my own interest. :-) But if you have more to try, I am willing to test and supply logs.

jokob-sk commented 7 hours ago

Let's see maybe something comes up :) thanks for the help 😉