Skip to content

Offline client marked online through PIHOLEAPI plugin #1436

@sebingel

Description

@sebingel

What installation are you running?

Production (netalertx) 📦

Is there an existing issue for this?

The issue occurs in the following browsers. Select at least 2.

  • Firefox
  • Chrome
  • Edge
  • Safari (unsupported) - PRs welcome
  • N/A - This is an issue with the backend

Current Behavior

Client DSK01-CLI-HHU01.fritz.box is permanently marked online. This seems to be the case because it gets discovered by every run of the PIHOLEAPI plugin.

Last seen in the deviceDetails Page always matches the last execution of the PIHOLEAPI plugin:
Image

Arp-Scan shows the time when the device went offline under changed:
Image

PiHole API Scan shows Last Query a few moments before the device went offline:
Image

This matches the information the pi-hole web UI shows for this client:
Image

This behavior is not exclusive for this client but for all clients this plugin is reporting.
I am under the impression that the plugin gets all the known clients with every run and NetAlertX is treating every client as last seen at the moment the plugin reported these clients.
Either this behavior is intentional and defies the purpose of presence detection in NetAlertX or the last query information should be processed as the last seen value.

Expected Behavior

Client should not be marked online.

Steps To Reproduce

  1. configure PIHOLEAPI plugin
  2. run plugin
  3. see online devices

Relevant app.conf settings

I have no idea what could be relevant here.

docker-compose.yml

services:
  netalertx:
    container_name: netalertx
    image: ghcr.io/jokob-sk/netalertx:latest
    read_only: true

    cap_drop:
      - ALL

    cap_add:
      - NET_ADMIN
      - NET_RAW
      - NET_BIND_SERVICE
      - CHOWN
      - SETUID
      - SETGID

    volumes:
      - type: volume
        source: netalertx_data
        target: /data
        read_only: false
      - type: bind
        source: /etc/localtime
        target: /etc/localtime
        read_only: true

    tmpfs:
      - "/tmp:uid=${NETALERTX_UID:-20211},gid=${NETALERTX_GID:-20211},mode=1700,rw,noexec,nosuid,nodev,async,noatime,nodiratime"

    environment:
      LISTEN_ADDR: 0.0.0.0
      PORT: 20211
      GRAPHQL_PORT: 20212

    mem_limit: 2048m
    mem_reservation: 1024m
    cpu_shares: 512
    pids_limit: 512
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

    restart: unless-stopped

    networks:
      network: {}
      br0:
        ipv4_address: 192.168.178.11
    

volumes:
  netalertx_data:
    name: netalertx_data

networks:
  network:
    driver: bridge
  br0:
    name: br0
    external: true

Debug or Trace enabled

  • I have read and followed the steps in the wiki link above and provided the required debug logs and the log section covers the time when the issue occurs.

Relevant app.log section

20:24:02 [Plugins] SUCCESS for PIHOLEAPI received 40 entries
20:24:02 [Plugins] Processing        : PIHOLEAPI
20:24:02 [Plugins] Existing objects from Plugins_Objects: 40
20:24:02 [Plugins] Logged events from the plugin run    : 40
20:24:02 [Import table_settings.json] checking table_settings.json file SETTINGS_LASTCACHEDATE: 1768849753.7884095 fileModifiedTime: 1768850641.7733455
20:24:02 [Settings] ⚠ ERROR - setting_missing - PIHOLEAPI_REPORT_ON not in /tmp/api/table_settings.json
20:24:02 [Plugins] pluginEvents      count: 40
20:24:02 [Plugins] pluginObjects     count: 40
20:24:02 [Plugins] events_to_insert  count: 0
20:24:02 [Plugins] history_to_insert count: 40
20:24:02 [Plugins] objects_to_insert count: 0
20:24:02 [Plugins] objects_to_update count: 40
20:24:02 [Plugins] objects_to_update: [('PIHOLEAPI', '00:06:78:79:4e:e4', '192.168.178.48', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device22.fritz.box', 'D&M Holdings Inc.', '1768799816', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '00:06:78:79:4e:e4', '', '', '', '', '', '2f435ebc-ef1a-f7d9-6f18-5d07df4ea1f9', 130), ('PIHOLEAPI', '00:17:88:a0:90:73', '192.168.178.39', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '001788a09073.fritz.box', 'Philips Lighting BV', '1768850585', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '00:17:88:a0:90:73', '', '', '', '', '', 'ee64cb56-b1ca-2877-a34f-9790e9b500c2', 126), ('PIHOLEAPI', '00:24:e4:d0:82:7c', '192.168.178.50', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device9.fritz.box', 'Withings', '1768807339', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '00:24:e4:d0:82:7c', '', '', '', '', '', '7115d00e-604d-2e0f-7555-c0946ea9731f', 138), ('PIHOLEAPI', '02:42:c0:a8:b2:02', '192.168.178.2', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '(unknown)', '', '0', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '02:42:c0:a8:b2:02', '', '', '', '', '', 'ff2ae9aa-81b6-eba7-1f05-36b01cb8aaf9', 161), ('PIHOLEAPI', '02:42:c0:a8:b2:0a', '192.168.178.10', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '(unknown)', '', '1768850642', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '02:42:c0:a8:b2:0a', '', '', '', '', '', 'bfaa088c-1e9a-7fde-a013-cce80417419d', 159), ('PIHOLEAPI', '04:7c:16:fd:8b:0c', '192.168.178.101', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'DSK01-CLI-HHU01.fritz.box', 'Micro-Star INTL CO., LTD.', '1768838486', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '04:7c:16:fd:8b:0c', '', '', '', '', '', '08a646b1-1dae-4404-d05e-396a108259de', 139), ('PIHOLEAPI', '04:7c:16:fd:8b:0c', '192.168.178.35', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'DSK01-CLI-HHU01.fritz.box', 'Micro-Star INTL CO., LTD.', '1768838486', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '04:7c:16:fd:8b:0c', '', '', '', '', '', '0c52c1fa-d03e-0a53-d6e6-d4720c98dd9c', 140), ('PIHOLEAPI', '0a:60:b8:ad:b6:9d', '192.168.178.64', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device2.fritz.box', '', '1768805858', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '0a:60:b8:ad:b6:9d', '', '', '', '', '', 'c2a7bfbc-e190-8824-368c-b01593baaac7', 148), ('PIHOLEAPI', '10:82:86:23:6f:69', '192.168.178.66', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device11.fritz.box', 'Luxshare Precision Industry Co.,Ltd', '1766182801', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '10:82:86:23:6f:69', '', '', '', '', '', 'f9070ff7-d64f-c761-0618-c65d55e02468', 150), ('PIHOLEAPI', '24:6a:0e:43:17:e8', '192.168.178.26', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device16.fritz.box', 'HP Inc.', '1768302798', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '24:6a:0e:43:17:e8', '', '', '', '', '', '81fb5a0d-5898-94ae-f66b-1a24a8986f9a', 146), ('PIHOLEAPI', '2c:3b:70:f0:79:21', '192.168.178.52', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device11.fritz.box', 'AzureWave Technology Inc.', '1768770902', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '2c:3b:70:f0:79:21', '', '', '', '', '', '6c286546-c213-c5b9-0095-754f1ff78db9', 143), ('PIHOLEAPI', '38:10:d5:0a:72:74', '192.168.178.3', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '(unknown)', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '0', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '38:10:d5:0a:72:74', '', '', '', '', '', '4744efd5-8dd0-853d-cfcb-4bfd85079c31', 160), ('PIHOLEAPI', '3c:61:05:de:14:31', '192.168.178.33', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device4-s-DE1431-spuehlmaschine.fritz.box', 'Espressif Inc.', '1761469056', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '3c:61:05:de:14:31', '', '', '', '', '', 'b5160269-799d-8dee-ee8c-5bb4e612504c', 151), ('PIHOLEAPI', '44:4e:6d:6b:41:ae', '192.168.178.1', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'myfritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '1768850400', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '44:4e:6d:6b:41:ae', '', '', '', '', '', '93f25165-cc1f-39f1-d912-9e9320770552', 123), ('PIHOLEAPI', '44:4e:6d:6b:41:ae', '192.168.178.203', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'Android_OX8AAT1G.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '1768850400', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '44:4e:6d:6b:41:ae', '', '', '', '', '', '167e5944-c57f-b8b9-6595-6cd9bf7fe75d', 124), ('PIHOLEAPI', '52:54:00:0e:88:22', '192.168.178.98', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device20.fritz.box', '', '1751927157', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:0e:88:22', '', '', '', '', '', '346aca74-0da3-5211-2d2e-1077177db2cc', 155), ('PIHOLEAPI', '52:54:00:45:32:c8', '192.168.178.97', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device21.fritz.box', '', '1751137896', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:45:32:c8', '', '', '', '', '', '949cb18b-139d-ff3c-e780-93b94ae8b457', 156), ('PIHOLEAPI', '52:54:00:8b:77:57', '192.168.178.78', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device13.fritz.box', '', '1768666017', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:8b:77:57', '', '', '', '', '', '84d79789-5008-260c-609f-24247508a69c', 132), ('PIHOLEAPI', '52:54:00:bf:9e:d8', '192.168.178.70', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device14.fritz.box', '', '1768484521', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:bf:9e:d8', '', '', '', '', '', 'e35b61ac-cf95-8228-1eca-51352a3c08c1', 144), ('PIHOLEAPI', '52:54:00:bf:9e:d8', '192.168.178.95', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device15.fritz.box', '', '1768484521', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:bf:9e:d8', '', '', '', '', '', '8a99c47e-b92d-92bf-f359-69e2702e2d99', 145), ('PIHOLEAPI', '52:54:00:fa:1b:69', '192.168.178.99', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device19.fritz.box', '', '1753022596', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:fa:1b:69', '', '', '', '', '', 'ce887af6-3982-c6f2-1517-05d2d418bbb4', 154), ('PIHOLEAPI', '54:08:3b:c0:5b:02', '192.168.178.84', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device2.fritz.box', '', '1768850163', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '54:08:3b:c0:5b:02', '', '', '', '', '', '4036efca-8e7d-be58-7f2e-afe7e985c22a', 127), ('PIHOLEAPI', '58:b0:d4:2b:a1:f3', '192.168.178.37', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device18.fritz.box', 'ZuniData Systems Inc.', '1759404931', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '58:b0:d4:2b:a1:f3', '', '', '', '', '', '92984aff-b22f-cd30-febc-1da964cfce11', 153), ('PIHOLEAPI', '74:42:7f:fb:6e:ac', '192.168.178.28', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device7.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '1768825134', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '74:42:7f:fb:6e:ac', '', '', '', '', '', '9dc018d7-2940-ac2e-4cdb-22ed8c454d8f', 134), ('PIHOLEAPI', '74:42:7f:fb:6e:ad', '192.168.178.25', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device6-fb6ead.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '1768836403', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '74:42:7f:fb:6e:ad', '', '', '', '', '', '59c0b11c-c21f-f233-dd83-41d999bf9d4b', 129), ('PIHOLEAPI', '7c:87:ce:b4:a8:69', '192.168.178.56', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device4-s-7C87CEB4A869.fritz.box', 'Espressif Inc.', '1768848490', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '7c:87:ce:b4:a8:69', '', '', '', '', '', '54ac27fa-41c7-0267-4e40-c97ac76740aa', 131), ('PIHOLEAPI', '80:ce:62:6d:af:f7', '192.168.178.32', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device17.fritz.box', 'Hewlett Packard', '1767723700', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '80:ce:62:6d:af:f7', '', '', '', '', '', '14f7d962-25de-fd6c-de8c-1aa955114956', 149), ('PIHOLEAPI', '80:f3:ef:12:a3:12', '192.168.178.30', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '(unknown)', 'Meta Platforms, Inc.', '1747382647', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '80:f3:ef:12:a3:12', '', '', '', '', '', 'f71af14e-0611-93a0-63bb-cb8e240d0db8', 157), ('PIHOLEAPI', '8c:a9:6f:05:2e:a2', '192.168.178.44', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device9.fritz.box', 'D&M Holdings Inc.', '1768812644', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '8c:a9:6f:05:2e:a2', '', '', '', '', '', '6ab26ad8-e56f-160b-ec14-3a6df966f732', 133), ('PIHOLEAPI', '8c:a9:6f:0f:a7:6f', '192.168.178.51', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device8.fritz.box', 'D&M Holdings Inc.', '1768816071', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '8c:a9:6f:0f:a7:6f', '', '', '', '', '', '5c1a6177-2484-908e-99d5-46f86b8f5957', 137), ('PIHOLEAPI', '8c:a9:6f:10:ce:e0', '192.168.178.24', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device23.fritz.box', 'D&M Holdings Inc.', '1768789725', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '8c:a9:6f:10:ce:e0', '', '', '', '', '', '45f532e9-8fe8-7942-8b71-99077595a755', 136), ('PIHOLEAPI', 'b0:b2:1c:11:6f:d4', '192.168.178.80', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device12-b0b21c116fd4.fritz.box', 'Espressif Inc.', '1768770511', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'b0:b2:1c:11:6f:d4', '', '', '', '', '', 'abfb4df3-e9d4-b797-2968-2176ecaebef7', 128), ('PIHOLEAPI', 'c8:2b:96:2f:50:1c', '192.168.178.36', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device5.fritz.box', 'Espressif Inc.', '1768848432', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'c8:2b:96:2f:50:1c', '', '', '', '', '', '7d5bc6d4-5340-4fda-b6d7-93dc98016ac0', 142), ('PIHOLEAPI', 'c8:4b:d6:18:6e:60', '192.168.178.57', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'MDE60-CLI-HHU01.fritz.box', 'Dell Inc.', '1741706902', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'c8:4b:d6:18:6e:60', '', '', '', '', '', '8431b0a8-5952-be71-7479-fb4b24a7ad70', 158), ('PIHOLEAPI', 'e0:d5:5e:ad:00:83', '192.168.178.27', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device1.fritz.box', 'Giga-Byte Technology Co.,Ltd.', '1768850640', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'e0:d5:5e:ad:00:83', '', '', '', '', '', '2cd2940e-7a49-9b2b-fc35-bdca9fc22370', 122), ('PIHOLEAPI', 'e4:aa:ea:33:e0:35', '192.168.178.73', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'DESKTOP-AVL9QV5.fritz.box', 'Liteon Technology Corporation', '1768213734', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'e4:aa:ea:33:e0:35', '', '', '', '', '', '5589800b-58d5-c43a-7b8d-82f118e0adc6', 147), ('PIHOLEAPI', 'e8:78:29:c0:ab:88', '192.168.178.83', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device3.fritz.box', '', '1768850162', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'e8:78:29:c0:ab:88', '', '', '', '', '', '0eb1945d-a565-d4da-8f3e-9d77c131bd78', 125), ('PIHOLEAPI', 'e8:db:84:81:96:73', '192.168.178.40', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device4-s-819673.fritz.box', 'Espressif Inc.', '1768780786', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'e8:db:84:81:96:73', '', '', '', '', '', 'de62d9e1-a187-77eb-bff7-98765c145648', 141), ('PIHOLEAPI', 'f8:01:b4:b4:67:94', '192.168.178.58', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device10-4CsI-1.fritz.box', 'LG Electronics', '1768770992', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'f8:01:b4:b4:67:94', '', '', '', '', '', 'c32d52ba-bb11-07e9-0490-3a3f17d785f6', 135), ('PIHOLEAPI', 'f8:32:e4:09:b6:03', '192.168.178.100', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'android-24061f9206c60c7d.fritz.box', 'ASUSTek COMPUTER INC.', '1759433123', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'f8:32:e4:09:b6:03', '', '', '', '', '', '18aa3dd9-f3b9-df18-1b1e-0873d887bfbb', 152)]
20:24:02 [Plugins] events_to_insert: []
20:24:02 [Plugins] history_to_insert: [('PIHOLEAPI', '00:06:78:79:4e:e4', '192.168.178.48', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device22.fritz.box', 'D&M Holdings Inc.', '1768799816', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '00:06:78:79:4e:e4', '', '', '', '', '', '2f435ebc-ef1a-f7d9-6f18-5d07df4ea1f9'), ('PIHOLEAPI', '00:17:88:a0:90:73', '192.168.178.39', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '001788a09073.fritz.box', 'Philips Lighting BV', '1768850585', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '00:17:88:a0:90:73', '', '', '', '', '', 'ee64cb56-b1ca-2877-a34f-9790e9b500c2'), ('PIHOLEAPI', '00:24:e4:d0:82:7c', '192.168.178.50', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device9.fritz.box', 'Withings', '1768807339', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '00:24:e4:d0:82:7c', '', '', '', '', '', '7115d00e-604d-2e0f-7555-c0946ea9731f'), ('PIHOLEAPI', '02:42:c0:a8:b2:02', '192.168.178.2', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '(unknown)', '', '0', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '02:42:c0:a8:b2:02', '', '', '', '', '', 'ff2ae9aa-81b6-eba7-1f05-36b01cb8aaf9'), ('PIHOLEAPI', '02:42:c0:a8:b2:0a', '192.168.178.10', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '(unknown)', '', '1768850642', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '02:42:c0:a8:b2:0a', '', '', '', '', '', 'bfaa088c-1e9a-7fde-a013-cce80417419d'), ('PIHOLEAPI', '04:7c:16:fd:8b:0c', '192.168.178.101', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'DSK01-CLI-HHU01.fritz.box', 'Micro-Star INTL CO., LTD.', '1768838486', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '04:7c:16:fd:8b:0c', '', '', '', '', '', '08a646b1-1dae-4404-d05e-396a108259de'), ('PIHOLEAPI', '04:7c:16:fd:8b:0c', '192.168.178.35', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'DSK01-CLI-HHU01.fritz.box', 'Micro-Star INTL CO., LTD.', '1768838486', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '04:7c:16:fd:8b:0c', '', '', '', '', '', '0c52c1fa-d03e-0a53-d6e6-d4720c98dd9c'), ('PIHOLEAPI', '0a:60:b8:ad:b6:9d', '192.168.178.64', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device2.fritz.box', '', '1768805858', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '0a:60:b8:ad:b6:9d', '', '', '', '', '', 'c2a7bfbc-e190-8824-368c-b01593baaac7'), ('PIHOLEAPI', '10:82:86:23:6f:69', '192.168.178.66', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device11.fritz.box', 'Luxshare Precision Industry Co.,Ltd', '1766182801', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '10:82:86:23:6f:69', '', '', '', '', '', 'f9070ff7-d64f-c761-0618-c65d55e02468'), ('PIHOLEAPI', '24:6a:0e:43:17:e8', '192.168.178.26', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device16.fritz.box', 'HP Inc.', '1768302798', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '24:6a:0e:43:17:e8', '', '', '', '', '', '81fb5a0d-5898-94ae-f66b-1a24a8986f9a'), ('PIHOLEAPI', '2c:3b:70:f0:79:21', '192.168.178.52', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device11.fritz.box', 'AzureWave Technology Inc.', '1768770902', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '2c:3b:70:f0:79:21', '', '', '', '', '', '6c286546-c213-c5b9-0095-754f1ff78db9'), ('PIHOLEAPI', '38:10:d5:0a:72:74', '192.168.178.3', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '(unknown)', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '0', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '38:10:d5:0a:72:74', '', '', '', '', '', '4744efd5-8dd0-853d-cfcb-4bfd85079c31'), ('PIHOLEAPI', '3c:61:05:de:14:31', '192.168.178.33', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device4-s-DE1431-spuehlmaschine.fritz.box', 'Espressif Inc.', '1761469056', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '3c:61:05:de:14:31', '', '', '', '', '', 'b5160269-799d-8dee-ee8c-5bb4e612504c'), ('PIHOLEAPI', '44:4e:6d:6b:41:ae', '192.168.178.1', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'myfritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '1768850400', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '44:4e:6d:6b:41:ae', '', '', '', '', '', '93f25165-cc1f-39f1-d912-9e9320770552'), ('PIHOLEAPI', '44:4e:6d:6b:41:ae', '192.168.178.203', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'Android_OX8AAT1G.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '1768850400', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '44:4e:6d:6b:41:ae', '', '', '', '', '', '167e5944-c57f-b8b9-6595-6cd9bf7fe75d'), ('PIHOLEAPI', '52:54:00:0e:88:22', '192.168.178.98', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device20.fritz.box', '', '1751927157', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:0e:88:22', '', '', '', '', '', '346aca74-0da3-5211-2d2e-1077177db2cc'), ('PIHOLEAPI', '52:54:00:45:32:c8', '192.168.178.97', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device21.fritz.box', '', '1751137896', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:45:32:c8', '', '', '', '', '', '949cb18b-139d-ff3c-e780-93b94ae8b457'), ('PIHOLEAPI', '52:54:00:8b:77:57', '192.168.178.78', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device13.fritz.box', '', '1768666017', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:8b:77:57', '', '', '', '', '', '84d79789-5008-260c-609f-24247508a69c'), ('PIHOLEAPI', '52:54:00:bf:9e:d8', '192.168.178.70', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device14.fritz.box', '', '1768484521', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:bf:9e:d8', '', '', '', '', '', 'e35b61ac-cf95-8228-1eca-51352a3c08c1'), ('PIHOLEAPI', '52:54:00:bf:9e:d8', '192.168.178.95', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device15.fritz.box', '', '1768484521', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:bf:9e:d8', '', '', '', '', '', '8a99c47e-b92d-92bf-f359-69e2702e2d99'), ('PIHOLEAPI', '52:54:00:fa:1b:69', '192.168.178.99', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device19.fritz.box', '', '1753022596', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '52:54:00:fa:1b:69', '', '', '', '', '', 'ce887af6-3982-c6f2-1517-05d2d418bbb4'), ('PIHOLEAPI', '54:08:3b:c0:5b:02', '192.168.178.84', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device2.fritz.box', '', '1768850163', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '54:08:3b:c0:5b:02', '', '', '', '', '', '4036efca-8e7d-be58-7f2e-afe7e985c22a'), ('PIHOLEAPI', '58:b0:d4:2b:a1:f3', '192.168.178.37', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device18.fritz.box', 'ZuniData Systems Inc.', '1759404931', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '58:b0:d4:2b:a1:f3', '', '', '', '', '', '92984aff-b22f-cd30-febc-1da964cfce11'), ('PIHOLEAPI', '74:42:7f:fb:6e:ac', '192.168.178.28', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device7.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '1768825134', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '74:42:7f:fb:6e:ac', '', '', '', '', '', '9dc018d7-2940-ac2e-4cdb-22ed8c454d8f'), ('PIHOLEAPI', '74:42:7f:fb:6e:ad', '192.168.178.25', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device6-fb6ead.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', '1768836403', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '74:42:7f:fb:6e:ad', '', '', '', '', '', '59c0b11c-c21f-f233-dd83-41d999bf9d4b'), ('PIHOLEAPI', '7c:87:ce:b4:a8:69', '192.168.178.56', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device4-s-7C87CEB4A869.fritz.box', 'Espressif Inc.', '1768848490', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '7c:87:ce:b4:a8:69', '', '', '', '', '', '54ac27fa-41c7-0267-4e40-c97ac76740aa'), ('PIHOLEAPI', '80:ce:62:6d:af:f7', '192.168.178.32', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device17.fritz.box', 'Hewlett Packard', '1767723700', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '80:ce:62:6d:af:f7', '', '', '', '', '', '14f7d962-25de-fd6c-de8c-1aa955114956'), ('PIHOLEAPI', '80:f3:ef:12:a3:12', '192.168.178.30', '2026-01-17 22:20:22', '2026-01-17 22:20:22', '(unknown)', 'Meta Platforms, Inc.', '1747382647', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '80:f3:ef:12:a3:12', '', '', '', '', '', 'f71af14e-0611-93a0-63bb-cb8e240d0db8'), ('PIHOLEAPI', '8c:a9:6f:05:2e:a2', '192.168.178.44', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device9.fritz.box', 'D&M Holdings Inc.', '1768812644', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '8c:a9:6f:05:2e:a2', '', '', '', '', '', '6ab26ad8-e56f-160b-ec14-3a6df966f732'), ('PIHOLEAPI', '8c:a9:6f:0f:a7:6f', '192.168.178.51', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device8.fritz.box', 'D&M Holdings Inc.', '1768816071', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '8c:a9:6f:0f:a7:6f', '', '', '', '', '', '5c1a6177-2484-908e-99d5-46f86b8f5957'), ('PIHOLEAPI', '8c:a9:6f:10:ce:e0', '192.168.178.24', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device23.fritz.box', 'D&M Holdings Inc.', '1768789725', '', 'watched-not-changed', 'PIHOLEAPI', 'null', '8c:a9:6f:10:ce:e0', '', '', '', '', '', '45f532e9-8fe8-7942-8b71-99077595a755'), ('PIHOLEAPI', 'b0:b2:1c:11:6f:d4', '192.168.178.80', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device12-b0b21c116fd4.fritz.box', 'Espressif Inc.', '1768770511', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'b0:b2:1c:11:6f:d4', '', '', '', '', '', 'abfb4df3-e9d4-b797-2968-2176ecaebef7'), ('PIHOLEAPI', 'c8:2b:96:2f:50:1c', '192.168.178.36', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device5.fritz.box', 'Espressif Inc.', '1768848432', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'c8:2b:96:2f:50:1c', '', '', '', '', '', '7d5bc6d4-5340-4fda-b6d7-93dc98016ac0'), ('PIHOLEAPI', 'c8:4b:d6:18:6e:60', '192.168.178.57', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'MDE60-CLI-HHU01.fritz.box', 'Dell Inc.', '1741706902', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'c8:4b:d6:18:6e:60', '', '', '', '', '', '8431b0a8-5952-be71-7479-fb4b24a7ad70'), ('PIHOLEAPI', 'e0:d5:5e:ad:00:83', '192.168.178.27', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device1.fritz.box', 'Giga-Byte Technology Co.,Ltd.', '1768850640', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'e0:d5:5e:ad:00:83', '', '', '', '', '', '2cd2940e-7a49-9b2b-fc35-bdca9fc22370'), ('PIHOLEAPI', 'e4:aa:ea:33:e0:35', '192.168.178.73', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'DESKTOP-AVL9QV5.fritz.box', 'Liteon Technology Corporation', '1768213734', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'e4:aa:ea:33:e0:35', '', '', '', '', '', '5589800b-58d5-c43a-7b8d-82f118e0adc6'), ('PIHOLEAPI', 'e8:78:29:c0:ab:88', '192.168.178.83', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device3.fritz.box', '', '1768850162', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'e8:78:29:c0:ab:88', '', '', '', '', '', '0eb1945d-a565-d4da-8f3e-9d77c131bd78'), ('PIHOLEAPI', 'e8:db:84:81:96:73', '192.168.178.40', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device4-s-819673.fritz.box', 'Espressif Inc.', '1768780786', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'e8:db:84:81:96:73', '', '', '', '', '', 'de62d9e1-a187-77eb-bff7-98765c145648'), ('PIHOLEAPI', 'f8:01:b4:b4:67:94', '192.168.178.58', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'device10-4CsI-1.fritz.box', 'LG Electronics', '1768770992', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'f8:01:b4:b4:67:94', '', '', '', '', '', 'c32d52ba-bb11-07e9-0490-3a3f17d785f6'), ('PIHOLEAPI', 'f8:32:e4:09:b6:03', '192.168.178.100', '2026-01-17 22:20:22', '2026-01-17 22:20:22', 'android-24061f9206c60c7d.fritz.box', 'ASUSTek COMPUTER INC.', '1759433123', '', 'watched-not-changed', 'PIHOLEAPI', 'null', 'f8:32:e4:09:b6:03', '', '', '', '', '', '18aa3dd9-f3b9-df18-1b1e-0873d887bfbb')]
20:24:02 [Plugin utils] In pluginEvents there are 40 events with the status "watched-not-changed" 
20:24:02 [Plugin utils] In pluginObjects there are 40 events with the status "watched-not-changed" 
20:24:02 [Plugins] Mapping objects to database table: CurrentScan
20:24:02 [Plugins] SQL query for mapping: INSERT OR IGNORE INTO CurrentScan ( "cur_MAC", "cur_IP", "cur_Name", "cur_Vendor", "cur_ScanMethod") VALUES ( ?, ?, ?, ?, ?)
20:24:02 [Plugins] SQL sqlParams for mapping: [('e0:d5:5e:ad:00:83', '192.168.178.27', 'device1.fritz.box', 'Giga-Byte Technology Co.,Ltd.', 'PIHOLEAPI'), ('00:17:88:a0:90:73', '192.168.178.39', '001788a09073.fritz.box', 'Philips Lighting BV', 'PIHOLEAPI'), ('44:4e:6d:6b:41:ae', '192.168.178.1', 'myfritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', 'PIHOLEAPI'), ('44:4e:6d:6b:41:ae', '192.168.178.203', 'Android_OX8AAT1G.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', 'PIHOLEAPI'), ('54:08:3b:c0:5b:02', '192.168.178.84', 'device2.fritz.box', '', 'PIHOLEAPI'), ('e8:78:29:c0:ab:88', '192.168.178.83', 'device3.fritz.box', '', 'PIHOLEAPI'), ('7c:87:ce:b4:a8:69', '192.168.178.56', 'device4-s-7C87CEB4A869.fritz.box', 'Espressif Inc.', 'PIHOLEAPI'), ('c8:2b:96:2f:50:1c', '192.168.178.36', 'device5.fritz.box', 'Espressif Inc.', 'PIHOLEAPI'), ('04:7c:16:fd:8b:0c', '192.168.178.101', 'DSK01-CLI-HHU01.fritz.box', 'Micro-Star INTL CO., LTD.', 'PIHOLEAPI'), ('04:7c:16:fd:8b:0c', '192.168.178.35', 'DSK01-CLI-HHU01.fritz.box', 'Micro-Star INTL CO., LTD.', 'PIHOLEAPI'), ('74:42:7f:fb:6e:ad', '192.168.178.25', 'device6-fb6ead.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', 'PIHOLEAPI'), ('74:42:7f:fb:6e:ac', '192.168.178.28', 'device7.fritz.box', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', 'PIHOLEAPI'), ('8c:a9:6f:0f:a7:6f', '192.168.178.51', 'device8.fritz.box', 'D&M Holdings Inc.', 'PIHOLEAPI'), ('8c:a9:6f:05:2e:a2', '192.168.178.44', 'device9.fritz.box', 'D&M Holdings Inc.', 'PIHOLEAPI'), ('00:24:e4:d0:82:7c', '192.168.178.50', 'device9.fritz.box', 'Withings', 'PIHOLEAPI'), ('0a:60:b8:ad:b6:9d', '192.168.178.64', 'device2.fritz.box', '', 'PIHOLEAPI'), ('00:06:78:79:4e:e4', '192.168.178.48', 'device22.fritz.box', 'D&M Holdings Inc.', 'PIHOLEAPI'), ('8c:a9:6f:10:ce:e0', '192.168.178.24', 'device23.fritz.box', 'D&M Holdings Inc.', 'PIHOLEAPI'), ('e8:db:84:81:96:73', '192.168.178.40', 'device4-s-819673.fritz.box', 'Espressif Inc.', 'PIHOLEAPI'), ('f8:01:b4:b4:67:94', '192.168.178.58', 'device10-4CsI-1.fritz.box', 'LG Electronics', 'PIHOLEAPI'), ('2c:3b:70:f0:79:21', '192.168.178.52', 'device11.fritz.box', 'AzureWave Technology Inc.', 'PIHOLEAPI'), ('b0:b2:1c:11:6f:d4', '192.168.178.80', 'device12-b0b21c116fd4.fritz.box', 'Espressif Inc.', 'PIHOLEAPI'), ('52:54:00:8b:77:57', '192.168.178.78', 'device13.fritz.box', '', 'PIHOLEAPI'), ('52:54:00:bf:9e:d8', '192.168.178.70', 'device14.fritz.box', '', 'PIHOLEAPI'), ('52:54:00:bf:9e:d8', '192.168.178.95', 'device15.fritz.box', '', 'PIHOLEAPI'), ('24:6a:0e:43:17:e8', '192.168.178.26', 'device16.fritz.box', 'HP Inc.', 'PIHOLEAPI'), ('e4:aa:ea:33:e0:35', '192.168.178.73', 'DESKTOP-AVL9QV5.fritz.box', 'Liteon Technology Corporation', 'PIHOLEAPI'), ('80:ce:62:6d:af:f7', '192.168.178.32', 'device17.fritz.box', 'Hewlett Packard', 'PIHOLEAPI'), ('10:82:86:23:6f:69', '192.168.178.66', 'device11.fritz.box', 'Luxshare Precision Industry Co.,Ltd', 'PIHOLEAPI'), ('3c:61:05:de:14:31', '192.168.178.33', 'device4-s-DE1431-spuehlmaschine.fritz.box', 'Espressif Inc.', 'PIHOLEAPI'), ('f8:32:e4:09:b6:03', '192.168.178.100', 'android-24061f9206c60c7d.fritz.box', 'ASUSTek COMPUTER INC.', 'PIHOLEAPI'), ('58:b0:d4:2b:a1:f3', '192.168.178.37', 'device18.fritz.box', 'ZuniData Systems Inc.', 'PIHOLEAPI'), ('52:54:00:fa:1b:69', '192.168.178.99', 'device19.fritz.box', '', 'PIHOLEAPI'), ('52:54:00:0e:88:22', '192.168.178.98', 'device20.fritz.box', '', 'PIHOLEAPI'), ('52:54:00:45:32:c8', '192.168.178.97', 'device21.fritz.box', '', 'PIHOLEAPI'), ('80:f3:ef:12:a3:12', '192.168.178.30', '(unknown)', 'Meta Platforms, Inc.', 'PIHOLEAPI'), ('c8:4b:d6:18:6e:60', '192.168.178.57', 'MDE60-CLI-HHU01.fritz.box', 'Dell Inc.', 'PIHOLEAPI'), ('02:42:c0:a8:b2:0a', '192.168.178.10', '(unknown)', '', 'PIHOLEAPI'), ('38:10:d5:0a:72:74', '192.168.178.3', '(unknown)', 'AVM Audiovisuelles Marketing und Computersysteme GmbH', 'PIHOLEAPI'), ('02:42:c0:a8:b2:02', '192.168.178.2', '(unknown)', '', 'PIHOLEAPI')]

Docker Logs

docker logs netalertx

 _   _      _    ___  _           _  __   __
| \ | |    | |  / _ \| |         | | \ \ / /
|  \| | ___| |_/ /_\ \ | ___ _ __| |_ \ V /
| .   |/ _ \ __|  _  | |/ _ \  __| __|/   \
| |\  |  __/ |_| | | | |  __/ |  | |_/ /^\ \
\_| \_/\___|\__\_| |_/_|\___|_|   \__\/   \/
   Network intruder and presence detector.
   https://netalertx.com


Startup pre-checks
--> data migration.sh 
--> capabilities audit.sh 
--> mounts.py 
 Path                     | R | W | Mount | RAMDisk | Performance | DataLoss 
--------------------------+---+---+-------+---------+-------------+----------
 /data                    | ✅| ✅|   ✅  |    ➖   |      ➖     |    ✅     
 /data/db                 | ✅| ✅|   ✅  |    ➖   |      ➖     |    ✅     
 /data/config             | ✅| ✅|   ✅  |    ➖   |      ➖     |    ✅     
 /tmp/run/tmp             | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅     
 /tmp/api                 | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅     
 /tmp/log                 | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅     
 /tmp/run                 | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅     
 /tmp/nginx/active-config | ✅| ✅|   ✅  |    ✅   |      ✅     |    ✅     
--> first run config.sh 
--> first run db.sh 
--> mandatory folders.sh 
    * Creating NetAlertX log directory.
    * Creating NetAlertX API cache.
    * Creating System services runtime directory.
    * Creating nginx active configuration directory.
    * Creating Plugins log.
    * Creating System services run log.
    * Creating System services run tmp.
    * Creating DB locked log.
    * Creating Execution queue log.
--> apply conf override.sh 
--> writable config.sh 
--> nginx config.sh 
--> expected user id match.sh 
--> host mode network.sh 
══════════════════════════════════════════════════════════════════════════════
⚠️  ATTENTION: NetAlertX is not running with --network=host.

    Bridge networking blocks passive discovery (ARP, NBNS, mDNS) and active
    scanning accuracy. Most plugins expect raw access to the LAN through host
    networking and CAP_NET_RAW capabilities.

    Restart the container with:
        docker run --network=host --cap-add=NET_RAW --cap-add=NET_ADMIN --cap-add=NET_BIND_SERVICE
    or set "network_mode: host" in docker-compose.yml.

    https://docs.netalertx.com/docker-troubleshooting/network-mode
══════════════════════════════════════════════════════════════════════════════
--> excessive capabilities.sh 
--> appliance integrity.sh 
--> ports available.sh 
APP_CONF_OVERRIDE detected (set from GRAPHQL_PORT)
Starting /usr/sbin/php-fpm83 -y "/services/config/php/php-fpm.conf" -F (tee stderr to app.php_errors.log)
Starting supercronic --quiet "/services/config/cron/crontab" >>"/tmp/log/cron.log" 2>&1 &
Starting python3  -m server > /tmp/log/stdout.log 2> >(tee /tmp/log/stderr.log >&2)
Starting /usr/sbin/nginx -p "/tmp/run/" -c "/tmp/nginx/active-config/nginx.conf" -g "error_log stderr; error_log /tmp/log/nginx-error.log; daemon off;" &
Successfully updated IEEE OUI database (112671 entries)
2026/01/17 21:28:14 [error] 227#227: *348 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-p1tj6ffpx HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:31:25 [error] 227#227: *367 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-nakh45uxm HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:43:01 [error] 229#229: *1200 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-1nu1gdpxb HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:43:07 [error] 229#229: *1200 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-zzwr3p8w8 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:44:23 [error] 229#229: *1200 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-h9fc0ty8f HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:44:31 [error] 229#229: *1200 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-ke7uxtoc4 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:46:06 [error] 227#227: *367 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-47p6yogxd HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:46:14 [error] 227#227: *367 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-rsw95rv3f HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:47:22 [error] 227#227: *367 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-b6anew4gd HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:49:37 [error] 231#231: *1489 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-4mkbpfv79 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:49:43 [error] 231#231: *1489 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-epp3ie2kb HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:52:55 [error] 231#231: *1639 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-dxig6umgn HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:58:01 [error] 232#232: *1708 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-5jmkusi56 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:59:03 [error] 232#232: *1662 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 21:59:03 [error] 232#232: *1708 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-5tbem5sj8 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:05:57 [error] 233#233: *1989 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:05:57 [error] 233#233: *2177 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-c7y2g56mm HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:07:12 [error] 233#233: *2177 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-yopemcxns HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:07:47 [error] 233#233: *2177 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-rb3xonly9 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:12:16 [error] 233#233: *2177 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-5ub8qqapu HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:13:04 [error] 234#234: *2565 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-qzk1bwk7l HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:13:19 [error] 234#234: *2565 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-nrhrvkge9 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:13:32 [error] 234#234: *2565 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-zl2n0yumi HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:19:48 [error] 228#228: *3006 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-z1h67jk9z HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:20:23 [error] 227#227: *3004 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-a7eg697vs HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:21:16 [error] 227#227: *3004 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-stbp2jx5g HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:22:18 [error] 233#233: *2177 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:22:19 [error] 233#233: *2177 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-n0mvvb2wt HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:22:24 [error] 233#233: *2177 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-j6pz9puau HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:24:58 [error] 228#228: *3199 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-x8kl8t2jg HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:29:17 [error] 228#228: *3228 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-p2kel26dc HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:44:52 [error] 231#231: *4018 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-0fqx8q5un HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:44:57 [error] 231#231: *4272 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-oosa1er65 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:54:49 [error] 231#231: *4018 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-f5rtxsz2b HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:57:50 [error] 234#234: *4913 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:57:51 [error] 234#234: *4913 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-92csz1qyn HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 22:57:58 [error] 234#234: *4969 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-upgtq17kz HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 23:05:36 [error] 227#227: *5305 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 23:05:36 [error] 227#227: *5305 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-coz5m9t3a HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 23:06:04 [error] 227#227: *5305 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-nuqffy4dq HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 23:11:31 [error] 228#228: *5586 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-be9p5uzsj HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/17 23:15:15 [error] 228#228: *5731 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-7r9nz4xha HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/18 16:41:43 [error] 227#227: *11180 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-kcbprbnvj HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/18 16:42:59 [error] 227#227: *11186 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-89gil1fxe HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/18 16:43:45 [error] 227#227: *11180 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-rch644s0e HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/18 17:46:40 [error] 229#229: *15170 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-degbusepa HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/devices.php"
2026/01/18 17:47:35 [error] 230#230: *15155 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-phkxlt68q HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/devices.php"
2026/01/18 17:57:30 [error] 229#229: *15421 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-zwncfjmsn HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 17:29:29 [error] 233#233: *21477 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-pxiy9e7f8 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 17:34:04 [error] 234#234: *21527 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 17:34:04 [error] 227#227: *21530 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-s4zfgga64 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 19:43:14 [error] 227#227: *22218 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-ytxgw85na HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 19:43:27 [error] 228#228: *22221 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-8j92031kw HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 19:46:37 [error] 230#230: *22260 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-degrv25jl HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 19:47:18 [error] 230#230: *22260 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 19:47:19 [error] 227#227: *22213 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-kl23dwzgz HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 20:06:31 [error] 231#231: *22581 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 20:06:32 [error] 231#231: *22581 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-sso7kojrj HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
Traceback (most recent call last):
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1536, in __call__
    return self.wsgi_app(environ, start_response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1514, in wsgi_app
    response = self.handle_exception(e)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/server/api_server/api_server_start.py", line 1006, in api_get_unread_notifications
    return get_unread_notifications()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/server/messaging/in_app.py", line 208, in get_unread_notifications
    notifications = json.load(f)
                    ^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 356, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1536, in __call__
    return self.wsgi_app(environ, start_response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1514, in wsgi_app
    response = self.handle_exception(e)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/server/api_server/api_server_start.py", line 1006, in api_get_unread_notifications
    return get_unread_notifications()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/server/messaging/in_app.py", line 208, in get_unread_notifications
    notifications = json.load(f)
                    ^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 356, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1536, in __call__
    return self.wsgi_app(environ, start_response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1514, in wsgi_app
    response = self.handle_exception(e)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/server/api_server/api_server_start.py", line 1006, in api_get_unread_notifications
    return get_unread_notifications()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/server/messaging/in_app.py", line 208, in get_unread_notifications
    notifications = json.load(f)
                    ^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 356, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1536, in __call__
    return self.wsgi_app(environ, start_response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1514, in wsgi_app
    response = self.handle_exception(e)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
                                                ^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/server/api_server/api_server_start.py", line 1006, in api_get_unread_notifications
    return get_unread_notifications()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/server/messaging/in_app.py", line 208, in get_unread_notifications
    notifications = json.load(f)
                    ^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 338, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 356, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2026/01/19 20:09:10 [error] 231#231: *22672 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-l1cklzz1e HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.php"
2026/01/19 20:13:29 [error] 233#233: *22799 open() "/app/front/favicon.ico" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /favicon.ico HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/php/server/query_logs.php?file=app.log"
2026/01/19 20:23:59 [error] 234#234: *22870 open() "/app/front/messaging/in-app/unread" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /messaging/in-app/unread HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/deviceDetails.php?mac=04:7c:16:fd:8b:0c"
2026/01/19 20:23:59 [error] 234#234: *22875 open() "/app/front/sse/state" failed (2: No such file or directory), client: 192.168.178.2, server: , request: "GET /sse/state?client=client-lhrgj8044 HTTP/1.1", host: "netalertx.bngl", referrer: "https://netalertx.bngl/settings.ph

Metadata

Metadata

Assignees

No one assigned

    Labels

    Docker 🐋Docker relatedWaiting for reply⏳Waiting for the original poster to respond, or discussion in progress.bug 🐛Something isn't workingnext release/in dev image 🚀This is coming in the next release or was already released if the issue is Closed.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions