diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f650015..83e04aa 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,15 +1,10 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file - version: 2 updates: - - package-ecosystem: "ruby" # See documentation for possible values - directory: "/web" # Location of package manifests + - package-ecosystem: "ruby" + directory: "/web" schedule: interval: "weekly" - - package-ecosystem: "python" # See documentation for possible values - directory: "/data" # Location of package manifests + - package-ecosystem: "python" + directory: "/" schedule: interval: "weekly" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 602ff18..409bb10 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,14 +1,3 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# name: "CodeQL Advanced" on: @@ -20,20 +9,10 @@ on: jobs: analyze: name: Analyze (${{ matrix.language }}) - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners (GitHub.com only) - # Consider using larger runners or machines with greater resources for possible analysis time improvements. runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} permissions: - # required for all workflows security-events: write - - # required to fetch internal or private CodeQL packs packages: read - - # only required for workflows in private repositories actions: read contents: read @@ -47,53 +26,14 @@ jobs: build-mode: none - language: javascript-typescript build-mode: none - # CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift' - # Use `c-cpp` to analyze code written in C, C++ or both - # Use 'java-kotlin' to analyze code written in Java, Kotlin or both - # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both - # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, - # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. - # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how - # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages steps: - name: Checkout repository - uses: actions/checkout@v4 - - # Add any setup steps before running the `github/codeql-action/init` action. - # This includes steps like installing compilers or runtimes (`actions/setup-node` - # or others). This is typically only required for manual builds. - # - name: Setup runtime (example) - # uses: actions/setup-example@v1 - - # Initializes the CodeQL tools for scanning. + uses: actions/checkout@v5 - name: Initialize CodeQL uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - # If the analyze step fails for one of the languages you are analyzing with - # "We were unable to automatically build your code", modify the matrix above - # to set the build mode to "manual" for that language. Then modify this step - # to build your code. - # ℹ️ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - if: matrix.build-mode == 'manual' - shell: bash - run: | - echo 'If you are using a "manual" build mode for one or more of the' \ - 'languages you are analyzing, replace this with the commands to build' \ - 'your code, for example:' - echo ' make bootstrap' - echo ' make release' - exit 1 - - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 with: diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index ca3ccaf..a17b613 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -1,6 +1,3 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python - name: Python on: @@ -13,7 +10,7 @@ permissions: contents: read jobs: - build: + test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 diff --git a/.gitignore b/.gitignore index 84ce222..24dc2b0 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,7 @@ Gemfile.lock # Python cache directories __pycache__/ .coverage +coverage/ coverage.xml htmlcov/ reports/ diff --git a/data/mesh.sh b/data/mesh.sh index 9d7dc10..b2ee14a 100755 --- a/data/mesh.sh +++ b/data/mesh.sh @@ -18,5 +18,5 @@ set -euo pipefail python -m venv .venv source .venv/bin/activate -pip install -U meshtastic +pip install -U meshtastic black pytest exec python mesh.py diff --git a/data/messages.sql b/data/messages.sql index e00b79f..821b8a2 100644 --- a/data/messages.sql +++ b/data/messages.sql @@ -13,18 +13,18 @@ -- limitations under the License. CREATE TABLE IF NOT EXISTS messages ( - id INTEGER PRIMARY KEY, -- meshtastic packet id - rx_time INTEGER NOT NULL, -- unix seconds when received - rx_iso TEXT NOT NULL, -- ISO8601 UTC timestamp - from_id TEXT, -- sender node id (string form) - to_id TEXT, -- recipient node id - channel INTEGER, -- channel index - portnum TEXT, -- application portnum (e.g. TEXT_MESSAGE_APP) - text TEXT, -- decoded text payload if present - snr REAL, -- signal-to-noise ratio - rssi INTEGER, -- received signal strength - hop_limit INTEGER, -- hops left when received - raw_json TEXT -- entire packet JSON dump + id INTEGER PRIMARY KEY, + rx_time INTEGER NOT NULL, + rx_iso TEXT NOT NULL, + from_id TEXT, + to_id TEXT, + channel INTEGER, + portnum TEXT, + text TEXT, + snr REAL, + rssi INTEGER, + hop_limit INTEGER, + raw_json TEXT ); CREATE INDEX IF NOT EXISTS idx_messages_rx_time ON messages(rx_time); diff --git a/test/mesh.db b/test/mesh.db deleted file mode 100644 index 4ece084..0000000 Binary files a/test/mesh.db and /dev/null differ diff --git a/test/messages.json b/test/messages.json deleted file mode 100644 index df0b39a..0000000 --- a/test/messages.json +++ /dev/null @@ -1,3242 +0,0 @@ -[ - { - "id":3094667674, - "rx_time":1758002943, - "rx_iso":"2025-09-16T06:09:03Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Moin!", - "rssi":-79, - "hop_limit":6, - "snr":11.0, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1596569460, - "rx_time":1758001093, - "rx_iso":"2025-09-16T05:38:13Z", - "from_id":"!177cfa26", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Guten Morgen", - "rssi":-116, - "hop_limit":2, - "snr":-11.75, - "node":{ - "snr":-11.75, - "raw_json":null, - "node_id":"!177cfa26", - "num":394066470, - "short_name":"lun1", - "long_name":"Lunet One", - "macaddr":"2y4XfPom", - "hw_model":"T_ECHO", - "role":"CLIENT", - "public_key":"YnT5fSoIXf7S5zLBhR7wR9Bd8VOQxNsRqtElF2gy1B8=", - "is_unmessagable":null, - "is_favorite":null, - "hops_away":1, - "last_heard":1758001093, - "first_heard":1757768167, - "battery_level":101.0, - "voltage":4.847, - "channel_utilization":0.0, - "air_util_tx":0.62547225, - "uptime_seconds":1029644, - "position_time":1758000320, - "location_source":"LOC_EXTERNAL", - "latitude":52.5021165, - "longitude":13.5000622, - "altitude":61.0 - } - }, - { - "id":32924066, - "rx_time":1758000325, - "rx_iso":"2025-09-16T05:25:25Z", - "from_id":"!9ea0c780", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Moin ☕️", - "rssi":-52, - "hop_limit":5, - "snr":11.25, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!9ea0c780", - "num":2661336960, - "short_name":"nguE", - "long_name":"ngud E Mobile", - "macaddr":"nBOeoMeA", - "hw_model":"HELTEC_WIRELESS_PAPER", - "role":"CLIENT", - "public_key":"J0g4pBWbfIYtD1tY/fCFplkx+slnQ5pyzPQcbLLa+yI=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758000325, - "first_heard":1757808007, - "battery_level":64.0, - "voltage":3.843, - "channel_utilization":5.0299997, - "air_util_tx":0.02638889, - "uptime_seconds":61, - "position_time":1757979817, - "location_source":"LOC_MANUAL", - "latitude":52.5369344, - "longitude":13.484032, - "altitude":66.0 - } - }, - { - "id":219813646, - "rx_time":1757999805, - "rx_iso":"2025-09-16T05:16:45Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Mehr!", - "rssi":-51, - "hop_limit":1, - "snr":10.75, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1470988520, - "rx_time":1757996560, - "rx_iso":"2025-09-16T04:22:40Z", - "from_id":"!e80cda12", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Gutn Mrgn", - "rssi":-55, - "hop_limit":3, - "snr":11.5, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!e80cda12", - "num":3893156370, - "short_name":"mowW", - "long_name":"mirkosw /pWisMeshTag", - "macaddr":"/ijoDNoS", - "hw_model":"WISMESH_TAG", - "role":"CLIENT_MUTE", - "public_key":"cJi950aF2cgxa0xThMEX2vmeQ0+dxGEm1GFOzvm0byQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758000127, - "first_heard":1757797822, - "battery_level":94.0, - "voltage":4.114, - "channel_utilization":3.01, - "air_util_tx":0.014333334, - "uptime_seconds":66, - "position_time":1758000127, - "location_source":"LOC_INTERNAL", - "latitude":52.4725355, - "longitude":13.3700968, - "altitude":-39.0 - } - }, - { - "id":2844052841, - "rx_time":1757996484, - "rx_iso":"2025-09-16T04:21:24Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"moin", - "rssi":-54, - "hop_limit":6, - "snr":11.0, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":476809275, - "rx_time":1757993848, - "rx_iso":"2025-09-16T03:37:28Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Moin", - "rssi":-53, - "hop_limit":4, - "snr":11.5, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":2844052817, - "rx_time":1757984695, - "rx_iso":"2025-09-16T01:04:55Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"direkt", - "rssi":-55, - "hop_limit":6, - "snr":11.5, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":944620241, - "rx_time":1757969871, - "rx_iso":"2025-09-15T20:57:51Z", - "from_id":"!a0cb1608", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Yay, direct SNR -11.25", - "rssi":-115, - "hop_limit":4, - "snr":-11.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!a0cb1608", - "num":2697664008, - "short_name":"KBV5", - "long_name":"KeinBierVor5", - "macaddr":"MO2gyxYI", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"7nIzxu/WSZ87cIkFFUzBjV08Sut9SGhjAyLka1GGziU=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757990312, - "first_heard":1757823622, - "battery_level":101.0, - "voltage":4.28, - "channel_utilization":1.2866666, - "air_util_tx":0.78044444, - "uptime_seconds":138304, - "position_time":1757980957, - "location_source":"LOC_EXTERNAL", - "latitude":52.4976128, - "longitude":13.5102464, - "altitude":40.0 - } - }, - { - "id":2873331581, - "rx_time":1757968463, - "rx_iso":"2025-09-15T20:34:23Z", - "from_id":"!bcf10936", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Gute Nacht zusammen!", - "rssi":-47, - "hop_limit":2, - "snr":10.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!bcf10936", - "num":3169913142, - "short_name":"0936", - "long_name":"Hopfensender HQ", - "macaddr":"0D688Qk2", - "hw_model":"RAK4631", - "role":"CLIENT", - "public_key":"XhxIf5cQIDMLvHCfCPIicjwSCKYycM0Yz0jdOOe5Rlk=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1758002497, - "first_heard":1757833703, - "battery_level":98.0, - "voltage":4.167, - "channel_utilization":3.8283334, - "air_util_tx":0.98713887, - "uptime_seconds":6373, - "position_time":1758001364, - "location_source":"LOC_MANUAL", - "latitude":52.5729792, - "longitude":13.43488, - "altitude":57.0 - } - }, - { - "id":1782815903, - "rx_time":1757968301, - "rx_iso":"2025-09-15T20:31:41Z", - "from_id":"!194a7351", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Hi", - "rssi":-13, - "hop_limit":7, - "snr":11.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!194a7351", - "num":424309585, - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "macaddr":"0p4ZSnNR", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "public_key":"UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", - "is_unmessagable":0, - "is_favorite":1, - "hops_away":0, - "last_heard":1758001135, - "first_heard":1757828307, - "battery_level":99.0, - "voltage":4.176, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "uptime_seconds":303417, - "position_time":1758001135, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0 - } - }, - { - "id":1376017812, - "rx_time":1757966842, - "rx_iso":"2025-09-15T20:07:22Z", - "from_id":"!a0cc6904", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Hi", - "rssi":-118, - "hop_limit":1, - "snr":-13.25, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!a0cc6904", - "num":2697750788, - "short_name":"Kdû", - "long_name":"Khazad-dûm", - "macaddr":"MO2gzGkE", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"BKETsLZtRk2Ck8OG7Qg6WeRhWNlx96Vao29xUaX2BlQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757992840, - "first_heard":1757819079, - "battery_level":4.0, - "voltage":3.195, - "channel_utilization":0.7366667, - "air_util_tx":0.7919166, - "uptime_seconds":154899, - "position_time":1757987158, - "location_source":"LOC_INTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":57.0 - } - }, - { - "id":716585726, - "rx_time":1757966820, - "rx_iso":"2025-09-15T20:07:00Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Hi", - "rssi":-48, - "hop_limit":6, - "snr":10.5, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":2504325195, - "rx_time":1757966797, - "rx_iso":"2025-09-15T20:06:37Z", - "from_id":"!9eeb25ec", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Hi, just trying putting my node upstairs in my apartment.", - "rssi":-48, - "hop_limit":6, - "snr":11.0, - "node":{ - "snr":10.0, - "raw_json":null, - "node_id":"!9eeb25ec", - "num":2666210796, - "short_name":"25ec", - "long_name":"Meshtastic 25ec", - "macaddr":"nBOe6yXs", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757949314, - "first_heard":1757949314, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1376017811, - "rx_time":1757966748, - "rx_iso":"2025-09-15T20:05:48Z", - "from_id":"!a0cc6904", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"It seems to work.", - "rssi":-119, - "hop_limit":2, - "snr":-14.0, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!a0cc6904", - "num":2697750788, - "short_name":"Kdû", - "long_name":"Khazad-dûm", - "macaddr":"MO2gzGkE", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"BKETsLZtRk2Ck8OG7Qg6WeRhWNlx96Vao29xUaX2BlQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757992840, - "first_heard":1757819079, - "battery_level":4.0, - "voltage":3.195, - "channel_utilization":0.7366667, - "air_util_tx":0.7919166, - "uptime_seconds":154899, - "position_time":1757987158, - "location_source":"LOC_INTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":57.0 - } - }, - { - "id":2504325191, - "rx_time":1757966655, - "rx_iso":"2025-09-15T20:04:15Z", - "from_id":"!9eeb25ec", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Hi, just trying putting my node upstairs in my apartment.", - "rssi":-48, - "hop_limit":6, - "snr":11.25, - "node":{ - "snr":10.0, - "raw_json":null, - "node_id":"!9eeb25ec", - "num":2666210796, - "short_name":"25ec", - "long_name":"Meshtastic 25ec", - "macaddr":"nBOe6yXs", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757949314, - "first_heard":1757949314, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":2504325189, - "rx_time":1757966636, - "rx_iso":"2025-09-15T20:03:56Z", - "from_id":"!9eeb25ec", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Hi, just trying putting my node upstairs in my apartment.", - "rssi":-48, - "hop_limit":6, - "snr":11.5, - "node":{ - "snr":10.0, - "raw_json":null, - "node_id":"!9eeb25ec", - "num":2666210796, - "short_name":"25ec", - "long_name":"Meshtastic 25ec", - "macaddr":"nBOe6yXs", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757949314, - "first_heard":1757949314, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":2504325187, - "rx_time":1757966612, - "rx_iso":"2025-09-15T20:03:32Z", - "from_id":"!9eeb25ec", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Hi, just trying putting my node upstairs in my apartment.", - "rssi":-48, - "hop_limit":5, - "snr":11.75, - "node":{ - "snr":10.0, - "raw_json":null, - "node_id":"!9eeb25ec", - "num":2666210796, - "short_name":"25ec", - "long_name":"Meshtastic 25ec", - "macaddr":"nBOe6yXs", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757949314, - "first_heard":1757949314, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1782815563, - "rx_time":1757958051, - "rx_iso":"2025-09-15T17:40:51Z", - "from_id":"!194a7351", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Ich habe uns eine Webseite gebastelt. https://potatomesh.net", - "rssi":-64, - "hop_limit":7, - "snr":11.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!194a7351", - "num":424309585, - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "macaddr":"0p4ZSnNR", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "public_key":"UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", - "is_unmessagable":0, - "is_favorite":1, - "hops_away":0, - "last_heard":1758001135, - "first_heard":1757828307, - "battery_level":99.0, - "voltage":4.176, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "uptime_seconds":303417, - "position_time":1758001135, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0 - } - }, - { - "id":2783818859, - "rx_time":1757957659, - "rx_iso":"2025-09-15T17:34:19Z", - "from_id":"!03b9ca11", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Huhu, ich bin Back in Town. Irgendwas spannendes passiert seit Freitag?", - "rssi":-63, - "hop_limit":3, - "snr":10.75, - "node":{ - "snr":10.75, - "raw_json":null, - "node_id":"!03b9ca11", - "num":62507537, - "short_name":"ca11", - "long_name":"Meshtastic ca11", - "macaddr":null, - "hw_model":"UNSET", - "role":"CLIENT", - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":2, - "last_heard":1757957659, - "first_heard":1757957659, - "battery_level":57.0, - "voltage":3.869, - "channel_utilization":2.3766665, - "air_util_tx":0.1098889, - "uptime_seconds":26711, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":2939052889, - "rx_time":1757956367, - "rx_iso":"2025-09-15T17:12:47Z", - "from_id":"!db2b23f4", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"👍", - "rssi":-77, - "hop_limit":4, - "snr":7.5, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!db2b23f4", - "num":3677037556, - "short_name":"Eagl", - "long_name":"Gwaihir", - "macaddr":"EFHbKyP0", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"LL4XdtW32i1+U2L/aC32cBSV6U7/dJKQk1oUQqud9mg=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":4, - "last_heard":1757998529, - "first_heard":1757822402, - "battery_level":95.0, - "voltage":4.129, - "channel_utilization":5.5466666, - "air_util_tx":1.0283333, - "uptime_seconds":14291, - "position_time":1757998529, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":41.0 - } - }, - { - "id":1782815506, - "rx_time":1757956356, - "rx_iso":"2025-09-15T17:12:36Z", - "from_id":"!194a7351", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"👍", - "rssi":null, - "hop_limit":7, - "snr":10.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!194a7351", - "num":424309585, - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "macaddr":"0p4ZSnNR", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "public_key":"UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", - "is_unmessagable":0, - "is_favorite":1, - "hops_away":0, - "last_heard":1758001135, - "first_heard":1757828307, - "battery_level":99.0, - "voltage":4.176, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "uptime_seconds":303417, - "position_time":1758001135, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0 - } - }, - { - "id":2939052888, - "rx_time":1757956315, - "rx_iso":"2025-09-15T17:11:55Z", - "from_id":"!db2b23f4", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Beste Werbung für Meshtastic: https://mastodon.social/@chatcontrol/115204439983078498 komplett beknackt der typ.", - "rssi":-52, - "hop_limit":5, - "snr":10.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!db2b23f4", - "num":3677037556, - "short_name":"Eagl", - "long_name":"Gwaihir", - "macaddr":"EFHbKyP0", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"LL4XdtW32i1+U2L/aC32cBSV6U7/dJKQk1oUQqud9mg=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":4, - "last_heard":1757998529, - "first_heard":1757822402, - "battery_level":95.0, - "voltage":4.129, - "channel_utilization":5.5466666, - "air_util_tx":1.0283333, - "uptime_seconds":14291, - "position_time":1757998529, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":41.0 - } - }, - { - "id":1343076781, - "rx_time":1757955702, - "rx_iso":"2025-09-15T17:01:42Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Nabend 👋", - "rssi":-52, - "hop_limit":null, - "snr":10.75, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":716585724, - "rx_time":1757955668, - "rx_iso":"2025-09-15T17:01:08Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Nabend Leute", - "rssi":-52, - "hop_limit":6, - "snr":10.0, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":2310268022, - "rx_time":1757954148, - "rx_iso":"2025-09-15T16:35:48Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"877c ich bekomme dich hier direkt rein. Empfang ist gut. Empfängst du meine Node?", - "rssi":-52, - "hop_limit":3, - "snr":10.5, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1376017806, - "rx_time":1757948886, - "rx_iso":"2025-09-15T15:08:06Z", - "from_id":"!a0cc6904", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Servus", - "rssi":-45, - "hop_limit":1, - "snr":11.0, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!a0cc6904", - "num":2697750788, - "short_name":"Kdû", - "long_name":"Khazad-dûm", - "macaddr":"MO2gzGkE", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"BKETsLZtRk2Ck8OG7Qg6WeRhWNlx96Vao29xUaX2BlQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757992840, - "first_heard":1757819079, - "battery_level":4.0, - "voltage":3.195, - "channel_utilization":0.7366667, - "air_util_tx":0.7919166, - "uptime_seconds":154899, - "position_time":1757987158, - "location_source":"LOC_INTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":57.0 - } - }, - { - "id":109295131, - "rx_time":1757948827, - "rx_iso":"2025-09-15T15:07:07Z", - "from_id":"!2f945044", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Servus", - "rssi":-118, - "hop_limit":4, - "snr":-12.25, - "node":{ - "snr":-12.25, - "raw_json":null, - "node_id":"!2f945044", - "num":798249028, - "short_name":"BND", - "long_name":"Briansnachrichtendienst", - "macaddr":"FCsvlFBE", - "hw_model":"TLORA_V2_1_1P6", - "role":"CLIENT", - "public_key":"WZDH1WkYCpwoOrmjV7ctC2BgOONiXc9C6tBlQPgxNgM=", - "is_unmessagable":null, - "is_favorite":null, - "hops_away":2, - "last_heard":1757948827, - "first_heard":1757787385, - "battery_level":96.0, - "voltage":4.14, - "channel_utilization":6.011667, - "air_util_tx":0.0335, - "uptime_seconds":61, - "position_time":1757947583, - "location_source":"LOC_EXTERNAL", - "latitude":52.4435456, - "longitude":13.3906432, - "altitude":50.0 - } - }, - { - "id":717959241, - "rx_time":1757941762, - "rx_iso":"2025-09-15T13:09:22Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"mal wieder n Test: piep !?", - "rssi":-45, - "hop_limit":4, - "snr":11.0, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1542608087, - "rx_time":1757939642, - "rx_iso":"2025-09-15T12:34:02Z", - "from_id":"!9ee71c38", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Polarlichter incoming", - "rssi":-70, - "hop_limit":null, - "snr":10.5, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!9ee71c38", - "num":2665946168, - "short_name":"1c38", - "long_name":"Varus1c38", - "macaddr":"nBOe5xw4", - "hw_model":"HELTEC_V3", - "role":null, - "public_key":"+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757934899, - "first_heard":1757784888, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1376017801, - "rx_time":1757939575, - "rx_iso":"2025-09-15T12:32:55Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"KP größer 5. Sonne macht Action.", - "rssi":-67, - "hop_limit":1, - "snr":10.75, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1782814906, - "rx_time":1757937579, - "rx_iso":"2025-09-15T11:59:39Z", - "from_id":"!194a7351", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Die Meldung kommt aber auch erst, wenn das Gewitter schon fast durch ist 😅", - "rssi":-58, - "hop_limit":7, - "snr":11.0, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!194a7351", - "num":424309585, - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "macaddr":"0p4ZSnNR", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "public_key":"UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", - "is_unmessagable":0, - "is_favorite":1, - "hops_away":0, - "last_heard":1758001135, - "first_heard":1757828307, - "battery_level":99.0, - "voltage":4.176, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "uptime_seconds":303417, - "position_time":1758001135, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0 - } - }, - { - "id":49, - "rx_time":1757934215, - "rx_iso":"2025-09-15T11:03:35Z", - "from_id":"!7c5b0920", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"🚨 KATWARN 🚨 Amtliche WARNUNG vor STARKEM GEWITTER", - "rssi":-67, - "hop_limit":5, - "snr":10.5, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!7c5b0920", - "num":2086340896, - "short_name":"FFTB", - "long_name":"Freifunk-Teufelsberg BOT 868", - "macaddr":"JFh8Wwkg", - "hw_model":"HELTEC_V3", - "role":"ROUTER", - "public_key":"bJtTR+CFGycDx7wjziwOUsHjqQvcP9QITqY1K1uDxWg=", - "is_unmessagable":null, - "is_favorite":null, - "hops_away":1, - "last_heard":1757959423, - "first_heard":1757828009, - "battery_level":97.0, - "voltage":4.149, - "channel_utilization":0.58, - "air_util_tx":1.0519166, - "uptime_seconds":43287, - "position_time":1757946866, - "location_source":"LOC_MANUAL", - "latitude":52.49795, - "longitude":13.24061, - "altitude":160.0 - } - }, - { - "id":48, - "rx_time":1757932990, - "rx_iso":"2025-09-15T10:43:10Z", - "from_id":"!194a7351", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"😁", - "rssi":-56, - "hop_limit":7, - "snr":10.25, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!194a7351", - "num":424309585, - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "macaddr":"0p4ZSnNR", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "public_key":"UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", - "is_unmessagable":0, - "is_favorite":1, - "hops_away":0, - "last_heard":1758001135, - "first_heard":1757828307, - "battery_level":99.0, - "voltage":4.176, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "uptime_seconds":303417, - "position_time":1758001135, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0 - } - }, - { - "id":47, - "rx_time":1757932794, - "rx_iso":"2025-09-15T10:39:54Z", - "from_id":"!9ea0c780", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Jetzt ist es in Alt HH auch nass 😆", - "rssi":-64, - "hop_limit":4, - "snr":11.25, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!9ea0c780", - "num":2661336960, - "short_name":"nguE", - "long_name":"ngud E Mobile", - "macaddr":"nBOeoMeA", - "hw_model":"HELTEC_WIRELESS_PAPER", - "role":"CLIENT", - "public_key":"J0g4pBWbfIYtD1tY/fCFplkx+slnQ5pyzPQcbLLa+yI=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758000325, - "first_heard":1757808007, - "battery_level":64.0, - "voltage":3.843, - "channel_utilization":5.0299997, - "air_util_tx":0.02638889, - "uptime_seconds":61, - "position_time":1757979817, - "location_source":"LOC_MANUAL", - "latitude":52.5369344, - "longitude":13.484032, - "altitude":66.0 - } - }, - { - "id":46, - "rx_time":1757926859, - "rx_iso":"2025-09-15T09:00:59Z", - "from_id":"!0910c922", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"@varus in Hönow kam msg an👍", - "rssi":-61, - "hop_limit":4, - "snr":10.75, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!0910c922", - "num":152095010, - "short_name":"c922", - "long_name":"Meshtastic c922", - "macaddr":"4SYJEMki", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "public_key":"wpoWw1Lt4eBRmWB5kGorVMb6muRYSVko6BK35NCKjDs=", - "is_unmessagable":null, - "is_favorite":null, - "hops_away":3, - "last_heard":1757941729, - "first_heard":1757830191, - "battery_level":60.0, - "voltage":3.807, - "channel_utilization":9.351667, - "air_util_tx":1.0132778, - "uptime_seconds":31630, - "position_time":1757928193, - "location_source":"LOC_MANUAL", - "latitude":52.559872, - "longitude":13.6577024, - "altitude":null - } - }, - { - "id":45, - "rx_time":1757925469, - "rx_iso":"2025-09-15T08:37:49Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"hi", - "rssi":-64, - "hop_limit":1, - "snr":11.0, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":44, - "rx_time":1757925434, - "rx_iso":"2025-09-15T08:37:14Z", - "from_id":"!9ee71430", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"👀", - "rssi":-66, - "hop_limit":1, - "snr":11.0, - "node":{ - "snr":10.75, - "raw_json":null, - "node_id":"!9ee71430", - "num":2665944112, - "short_name":"FiSp", - "long_name":"FireSpark", - "macaddr":"nBOe5xQw", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"3TCf45+01J1qATTKrxG8+PGMeFJEVnKBi/GyuOr7ZEQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758001545, - "first_heard":1757838749, - "battery_level":95.0, - "voltage":4.125, - "channel_utilization":0.31333333, - "air_util_tx":0.21124999, - "uptime_seconds":327578, - "position_time":1758001545, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":67.0 - } - }, - { - "id":43, - "rx_time":1757924308, - "rx_iso":"2025-09-15T08:18:28Z", - "from_id":"!194a7351", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"du kannst einstellen, wie viele \"hops\" deine nachricht macht, also über wie viele nodes sie springt. ich höre dich über 3. ich hab das auf 7 gestellt.", - "rssi":-56, - "hop_limit":7, - "snr":11.5, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!194a7351", - "num":424309585, - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "macaddr":"0p4ZSnNR", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "public_key":"UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", - "is_unmessagable":0, - "is_favorite":1, - "hops_away":0, - "last_heard":1758001135, - "first_heard":1757828307, - "battery_level":99.0, - "voltage":4.176, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "uptime_seconds":303417, - "position_time":1758001135, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0 - } - }, - { - "id":42, - "rx_time":1757924200, - "rx_iso":"2025-09-15T08:16:40Z", - "from_id":"!bcf10936", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"📍 Hopfensender HQ has shared their position and requested a response with your position.", - "rssi":-63, - "hop_limit":3, - "snr":10.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!bcf10936", - "num":3169913142, - "short_name":"0936", - "long_name":"Hopfensender HQ", - "macaddr":"0D688Qk2", - "hw_model":"RAK4631", - "role":"CLIENT", - "public_key":"XhxIf5cQIDMLvHCfCPIicjwSCKYycM0Yz0jdOOe5Rlk=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1758002497, - "first_heard":1757833703, - "battery_level":98.0, - "voltage":4.167, - "channel_utilization":3.8283334, - "air_util_tx":0.98713887, - "uptime_seconds":6373, - "position_time":1758001364, - "location_source":"LOC_MANUAL", - "latitude":52.5729792, - "longitude":13.43488, - "altitude":57.0 - } - }, - { - "id":41, - "rx_time":1757922177, - "rx_iso":"2025-09-15T07:42:57Z", - "from_id":"!16ced364", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"😀", - "rssi":-75, - "hop_limit":null, - "snr":11.0, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!16ced364", - "num":382653284, - "short_name":"Pat", - "long_name":"Pat HQ BS", - "macaddr":"mKMWztNk", - "hw_model":"STATION_G2", - "role":"CLIENT", - "public_key":"d0SBNj6IwFd/v52oXKRjSXlANm5dWt4CnOj64t35oRQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1758000721, - "first_heard":1757830983, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":1757994446, - "location_source":"LOC_MANUAL", - "latitude":52.4596978, - "longitude":13.3195129, - "altitude":72.0 - } - }, - { - "id":40, - "rx_time":1757921772, - "rx_iso":"2025-09-15T07:36:12Z", - "from_id":"!9ee71c38", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Wird diese Nachricht immer nur von den aktuellen Nodes in meiner Reichweite empfangen oder wird die noch weiter ins Mesh hinausgetragen? Versuche noch das alles zu verstehen;)", - "rssi":-77, - "hop_limit":null, - "snr":11.25, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!9ee71c38", - "num":2665946168, - "short_name":"1c38", - "long_name":"Varus1c38", - "macaddr":"nBOe5xw4", - "hw_model":"HELTEC_V3", - "role":null, - "public_key":"+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757934899, - "first_heard":1757784888, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":39, - "rx_time":1757920491, - "rx_iso":"2025-09-15T07:14:51Z", - "from_id":"!9ee71c38", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Montags Wetterblues", - "rssi":-78, - "hop_limit":null, - "snr":10.5, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!9ee71c38", - "num":2665946168, - "short_name":"1c38", - "long_name":"Varus1c38", - "macaddr":"nBOe5xw4", - "hw_model":"HELTEC_V3", - "role":null, - "public_key":"+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757934899, - "first_heard":1757784888, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":38, - "rx_time":1757920100, - "rx_iso":"2025-09-15T07:08:20Z", - "from_id":"!a3deea53", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Was erlaube Wetter? Wo ist die Sonne? :/", - "rssi":-80, - "hop_limit":2, - "snr":10.25, - "node":{ - "snr":10.0, - "raw_json":null, - "node_id":"!a3deea53", - "num":2749295187, - "short_name":"🐸", - "long_name":"green", - "macaddr":"/2mj3upT", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "public_key":"2F/3iuOgrVto9DgNZtUdknYaEI1ZVM+lvLOrPzSlCD8=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757949419, - "first_heard":1757920065, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":37, - "rx_time":1757918563, - "rx_iso":"2025-09-15T06:42:43Z", - "from_id":"!9ea0c780", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Guten Morgen ☕️", - "rssi":-85, - "hop_limit":5, - "snr":9.0, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!9ea0c780", - "num":2661336960, - "short_name":"nguE", - "long_name":"ngud E Mobile", - "macaddr":"nBOeoMeA", - "hw_model":"HELTEC_WIRELESS_PAPER", - "role":"CLIENT", - "public_key":"J0g4pBWbfIYtD1tY/fCFplkx+slnQ5pyzPQcbLLa+yI=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758000325, - "first_heard":1757808007, - "battery_level":64.0, - "voltage":3.843, - "channel_utilization":5.0299997, - "air_util_tx":0.02638889, - "uptime_seconds":61, - "position_time":1757979817, - "location_source":"LOC_MANUAL", - "latitude":52.5369344, - "longitude":13.484032, - "altitude":66.0 - } - }, - { - "id":36, - "rx_time":1757918014, - "rx_iso":"2025-09-15T06:33:34Z", - "from_id":"!bba83318", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Moin Moin Umland ☕️", - "rssi":-77, - "hop_limit":3, - "snr":11.5, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!bba83318", - "num":3148362520, - "short_name":"BerF", - "long_name":"Bernau-Friedenstal", - "macaddr":"LLy7qDMY", - "hw_model":"TBEAM", - "role":"CLIENT", - "public_key":"GfyQJ3jYKh+l0Li4w+8PzpA4i/vls1nrdCkcwVj2ICM=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758001805, - "first_heard":1757825270, - "battery_level":101.0, - "voltage":-0.001, - "channel_utilization":7.01, - "air_util_tx":0.030944444, - "uptime_seconds":61, - "position_time":1758001805, - "location_source":"LOC_INTERNAL", - "latitude":52.6778368, - "longitude":13.565952, - "altitude":21.0 - } - }, - { - "id":35, - "rx_time":1757917080, - "rx_iso":"2025-09-15T06:18:00Z", - "from_id":"!9ee71c38", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Guten Morgen!", - "rssi":-84, - "hop_limit":1, - "snr":9.25, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!9ee71c38", - "num":2665946168, - "short_name":"1c38", - "long_name":"Varus1c38", - "macaddr":"nBOe5xw4", - "hw_model":"HELTEC_V3", - "role":null, - "public_key":"+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757934899, - "first_heard":1757784888, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":34, - "rx_time":1757912511, - "rx_iso":"2025-09-15T05:01:51Z", - "from_id":"!e80cda12", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Aber gaaaaaaanaz viel Kaffee", - "rssi":-71, - "hop_limit":2, - "snr":10.25, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!e80cda12", - "num":3893156370, - "short_name":"mowW", - "long_name":"mirkosw /pWisMeshTag", - "macaddr":"/ijoDNoS", - "hw_model":"WISMESH_TAG", - "role":"CLIENT_MUTE", - "public_key":"cJi950aF2cgxa0xThMEX2vmeQ0+dxGEm1GFOzvm0byQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758000127, - "first_heard":1757797822, - "battery_level":94.0, - "voltage":4.114, - "channel_utilization":3.01, - "air_util_tx":0.014333334, - "uptime_seconds":66, - "position_time":1758000127, - "location_source":"LOC_INTERNAL", - "latitude":52.4725355, - "longitude":13.3700968, - "altitude":-39.0 - } - }, - { - "id":33, - "rx_time":1757910410, - "rx_iso":"2025-09-15T04:26:50Z", - "from_id":"!a0cc6904", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Moin", - "rssi":-109, - "hop_limit":1, - "snr":-5.0, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!a0cc6904", - "num":2697750788, - "short_name":"Kdû", - "long_name":"Khazad-dûm", - "macaddr":"MO2gzGkE", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"BKETsLZtRk2Ck8OG7Qg6WeRhWNlx96Vao29xUaX2BlQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757992840, - "first_heard":1757819079, - "battery_level":4.0, - "voltage":3.195, - "channel_utilization":0.7366667, - "air_util_tx":0.7919166, - "uptime_seconds":154899, - "position_time":1757987158, - "location_source":"LOC_INTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":57.0 - } - }, - { - "id":32, - "rx_time":1757910388, - "rx_iso":"2025-09-15T04:26:28Z", - "from_id":"!e80cda12", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Guten Morgen allerseits", - "rssi":-40, - "hop_limit":1, - "snr":11.0, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!e80cda12", - "num":3893156370, - "short_name":"mowW", - "long_name":"mirkosw /pWisMeshTag", - "macaddr":"/ijoDNoS", - "hw_model":"WISMESH_TAG", - "role":"CLIENT_MUTE", - "public_key":"cJi950aF2cgxa0xThMEX2vmeQ0+dxGEm1GFOzvm0byQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758000127, - "first_heard":1757797822, - "battery_level":94.0, - "voltage":4.114, - "channel_utilization":3.01, - "air_util_tx":0.014333334, - "uptime_seconds":66, - "position_time":1758000127, - "location_source":"LOC_INTERNAL", - "latitude":52.4725355, - "longitude":13.3700968, - "altitude":-39.0 - } - }, - { - "id":31, - "rx_time":1757909639, - "rx_iso":"2025-09-15T04:13:59Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Morgen", - "rssi":-103, - "hop_limit":3, - "snr":0.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":30, - "rx_time":1757890487, - "rx_iso":"2025-09-14T22:54:47Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"GN", - "rssi":-40, - "hop_limit":4, - "snr":11.25, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":29, - "rx_time":1757886696, - "rx_iso":"2025-09-14T21:51:36Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Gute Nacht", - "rssi":-43, - "hop_limit":2, - "snr":11.5, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":28, - "rx_time":1757879734, - "rx_iso":"2025-09-14T19:55:34Z", - "from_id":"!16ced364", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Weiss nicht ob die Node case insentitiv macht, nimm mal TEST als Großbuchstaben...", - "rssi":-79, - "hop_limit":3, - "snr":10.0, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!16ced364", - "num":382653284, - "short_name":"Pat", - "long_name":"Pat HQ BS", - "macaddr":"mKMWztNk", - "hw_model":"STATION_G2", - "role":"CLIENT", - "public_key":"d0SBNj6IwFd/v52oXKRjSXlANm5dWt4CnOj64t35oRQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1758000721, - "first_heard":1757830983, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":1757994446, - "location_source":"LOC_MANUAL", - "latitude":52.4596978, - "longitude":13.3195129, - "altitude":72.0 - } - }, - { - "id":27, - "rx_time":1757879364, - "rx_iso":"2025-09-14T19:49:24Z", - "from_id":"!a0cb1608", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Währe sehr praktisch", - "rssi":-77, - "hop_limit":6, - "snr":11.0, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!a0cb1608", - "num":2697664008, - "short_name":"KBV5", - "long_name":"KeinBierVor5", - "macaddr":"MO2gyxYI", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"7nIzxu/WSZ87cIkFFUzBjV08Sut9SGhjAyLka1GGziU=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757990312, - "first_heard":1757823622, - "battery_level":101.0, - "voltage":4.28, - "channel_utilization":1.2866666, - "air_util_tx":0.78044444, - "uptime_seconds":138304, - "position_time":1757980957, - "location_source":"LOC_EXTERNAL", - "latitude":52.4976128, - "longitude":13.5102464, - "altitude":40.0 - } - }, - { - "id":26, - "rx_time":1757879358, - "rx_iso":"2025-09-14T19:49:18Z", - "from_id":"!a0cb1608", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Wie kann ich in den TEST channel?", - "rssi":-81, - "hop_limit":6, - "snr":9.5, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!a0cb1608", - "num":2697664008, - "short_name":"KBV5", - "long_name":"KeinBierVor5", - "macaddr":"MO2gyxYI", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"7nIzxu/WSZ87cIkFFUzBjV08Sut9SGhjAyLka1GGziU=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757990312, - "first_heard":1757823622, - "battery_level":101.0, - "voltage":4.28, - "channel_utilization":1.2866666, - "air_util_tx":0.78044444, - "uptime_seconds":138304, - "position_time":1757980957, - "location_source":"LOC_EXTERNAL", - "latitude":52.4976128, - "longitude":13.5102464, - "altitude":40.0 - } - }, - { - "id":25, - "rx_time":1757878454, - "rx_iso":"2025-09-14T19:34:14Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"ja", - "rssi":-75, - "hop_limit":5, - "snr":10.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":24, - "rx_time":1757878126, - "rx_iso":"2025-09-14T19:28:46Z", - "from_id":"!43b6e530", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"@mowW 🎙Is this thing on?\n4 hops", - "rssi":-80, - "hop_limit":3, - "snr":11.0, - "node":{ - "snr":10.5, - "raw_json":null, - "node_id":"!43b6e530", - "num":1136059696, - "short_name":"FFSR", - "long_name":"Freifunk-Scherer BOT 868", - "macaddr":"SMpDtuUw", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"VbueTxbv8SjGmcLLrlt9/um15QDvis/HpIHiV2flyiI=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757994889, - "first_heard":1757832883, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":1757993935, - "location_source":"LOC_MANUAL", - "latitude":52.5481294, - "longitude":13.3669095, - "altitude":0.0 - } - }, - { - "id":23, - "rx_time":1757878115, - "rx_iso":"2025-09-14T19:28:35Z", - "from_id":"!e80cda12", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Guten Abend , liest denn jemand im TEST Channel mit ? 😃", - "rssi":-77, - "hop_limit":null, - "snr":11.0, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!e80cda12", - "num":3893156370, - "short_name":"mowW", - "long_name":"mirkosw /pWisMeshTag", - "macaddr":"/ijoDNoS", - "hw_model":"WISMESH_TAG", - "role":"CLIENT_MUTE", - "public_key":"cJi950aF2cgxa0xThMEX2vmeQ0+dxGEm1GFOzvm0byQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1758000127, - "first_heard":1757797822, - "battery_level":94.0, - "voltage":4.114, - "channel_utilization":3.01, - "air_util_tx":0.014333334, - "uptime_seconds":66, - "position_time":1758000127, - "location_source":"LOC_INTERNAL", - "latitude":52.4725355, - "longitude":13.3700968, - "altitude":-39.0 - } - }, - { - "id":22, - "rx_time":1757877363, - "rx_iso":"2025-09-14T19:16:03Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"ja wenn dann LF", - "rssi":-78, - "hop_limit":5, - "snr":11.0, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":21, - "rx_time":1757877318, - "rx_iso":"2025-09-14T19:15:18Z", - "from_id":"!16ced364", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Meinte 434.1 MHz als Amateurfunker, auf LongModerate nun fast 3h gehorcht, tot. Bin da der einzigste.", - "rssi":-79, - "hop_limit":1, - "snr":10.25, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!16ced364", - "num":382653284, - "short_name":"Pat", - "long_name":"Pat HQ BS", - "macaddr":"mKMWztNk", - "hw_model":"STATION_G2", - "role":"CLIENT", - "public_key":"d0SBNj6IwFd/v52oXKRjSXlANm5dWt4CnOj64t35oRQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1758000721, - "first_heard":1757830983, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":1757994446, - "location_source":"LOC_MANUAL", - "latitude":52.4596978, - "longitude":13.3195129, - "altitude":72.0 - } - }, - { - "id":20, - "rx_time":1757875848, - "rx_iso":"2025-09-14T18:50:48Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"ne das is 868", - "rssi":-74, - "hop_limit":5, - "snr":10.5, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":19, - "rx_time":1757870521, - "rx_iso":"2025-09-14T17:22:01Z", - "from_id":"!194a7351", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Alles MediumFast, aber nutz jemand wirklich 43MhHz?", - "rssi":-31, - "hop_limit":7, - "snr":10.75, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!194a7351", - "num":424309585, - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "macaddr":"0p4ZSnNR", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "public_key":"UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", - "is_unmessagable":0, - "is_favorite":1, - "hops_away":0, - "last_heard":1758001135, - "first_heard":1757828307, - "battery_level":99.0, - "voltage":4.176, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "uptime_seconds":303417, - "position_time":1758001135, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0 - } - }, - { - "id":18, - "rx_time":1757867411, - "rx_iso":"2025-09-14T16:30:11Z", - "from_id":"!abbdf3f7", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Medium fast", - "rssi":-43, - "hop_limit":null, - "snr":11.0, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!abbdf3f7", - "num":2881352695, - "short_name":"f3f7", - "long_name":"Smobi", - "macaddr":"/vmrvfP3", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT_MUTE", - "public_key":"dyVfk9OfJ5EslgHoeWg+AtmH305m7QtI9vWhD58XLQM=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757991481, - "first_heard":1757800536, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":1757991481, - "location_source":"LOC_INTERNAL", - "latitude":52.4550144, - "longitude":13.500416, - "altitude":41.0 - } - }, - { - "id":17, - "rx_time":1757864125, - "rx_iso":"2025-09-14T15:35:25Z", - "from_id":"!c0c32348", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Ping @icea\n", - "rssi":-42, - "hop_limit":2, - "snr":10.5, - "node":{ - "snr":-13.0, - "raw_json":null, - "node_id":"!c0c32348", - "num":3234014024, - "short_name":"CooP", - "long_name":"Cooper", - "macaddr":"/OjAwyNI", - "hw_model":"TBEAM", - "role":"CLIENT", - "public_key":"pVtIIO4i1Guq81AsLBLpn8Rh+3MWoojhggVOl7fP8i0=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757998318, - "first_heard":1757863184, - "battery_level":101.0, - "voltage":3.487, - "channel_utilization":6.44, - "air_util_tx":0.025638888, - "uptime_seconds":61, - "position_time":1757998318, - "location_source":"LOC_INTERNAL", - "latitude":52.5467648, - "longitude":13.4873088, - "altitude":62.0 - } - }, - { - "id":16, - "rx_time":1757863227, - "rx_iso":"2025-09-14T15:20:27Z", - "from_id":"!16ced364", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Weiss einer welche Modem Betriebsart auf 433MHz in Berlin genutzt wird, war auf LF und kein Empfang.", - "rssi":-43, - "hop_limit":3, - "snr":11.0, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!16ced364", - "num":382653284, - "short_name":"Pat", - "long_name":"Pat HQ BS", - "macaddr":"mKMWztNk", - "hw_model":"STATION_G2", - "role":"CLIENT", - "public_key":"d0SBNj6IwFd/v52oXKRjSXlANm5dWt4CnOj64t35oRQ=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1758000721, - "first_heard":1757830983, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":1757994446, - "location_source":"LOC_MANUAL", - "latitude":52.4596978, - "longitude":13.3195129, - "altitude":72.0 - } - }, - { - "id":15, - "rx_time":1757861974, - "rx_iso":"2025-09-14T14:59:34Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"❤️", - "rssi":-43, - "hop_limit":null, - "snr":10.5, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":14, - "rx_time":1757861768, - "rx_iso":"2025-09-14T14:56:08Z", - "from_id":"!a0cb1608", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"🦫", - "rssi":-117, - "hop_limit":6, - "snr":-12.5, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!a0cb1608", - "num":2697664008, - "short_name":"KBV5", - "long_name":"KeinBierVor5", - "macaddr":"MO2gyxYI", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"7nIzxu/WSZ87cIkFFUzBjV08Sut9SGhjAyLka1GGziU=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":2, - "last_heard":1757990312, - "first_heard":1757823622, - "battery_level":101.0, - "voltage":4.28, - "channel_utilization":1.2866666, - "air_util_tx":0.78044444, - "uptime_seconds":138304, - "position_time":1757980957, - "location_source":"LOC_EXTERNAL", - "latitude":52.4976128, - "longitude":13.5102464, - "altitude":40.0 - } - }, - { - "id":13, - "rx_time":1757861679, - "rx_iso":"2025-09-14T14:54:39Z", - "from_id":"!da635e24", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"🍻🍕", - "rssi":-43, - "hop_limit":6, - "snr":11.0, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!da635e24", - "num":3663945252, - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "macaddr":"NLfaY14k", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757996484, - "first_heard":1757820949, - "battery_level":101.0, - "voltage":4.203, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "uptime_seconds":61, - "position_time":1757921223, - "location_source":"LOC_MANUAL", - "latitude":52.5343, - "longitude":13.4996, - "altitude":null - } - }, - { - "id":12, - "rx_time":1757861565, - "rx_iso":"2025-09-14T14:52:45Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"🤖☠️", - "rssi":-114, - "hop_limit":2, - "snr":-8.75, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":11, - "rx_time":1757861136, - "rx_iso":"2025-09-14T14:45:36Z", - "from_id":"!5d823fb1", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Ping", - "rssi":-42, - "hop_limit":null, - "snr":10.25, - "node":{ - "snr":-14.0, - "raw_json":null, - "node_id":"!5d823fb1", - "num":1568817073, - "short_name":"3fb1", - "long_name":"SoswB", - "macaddr":"5Hpdgj+x", - "hw_model":"RAK4631", - "role":"CLIENT", - "public_key":"7IFrQCY8KjH2jlHfz5zS7zYCZLOakjZsKm8FoZW+XXY=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1757945442, - "first_heard":1757774595, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":10, - "rx_time":1757861105, - "rx_iso":"2025-09-14T14:45:05Z", - "from_id":"!43b6e530", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"@MGN1 🏓PONG\nSNR:-2.0 RSSI:-95", - "rssi":-42, - "hop_limit":2, - "snr":11.25, - "node":{ - "snr":10.5, - "raw_json":null, - "node_id":"!43b6e530", - "num":1136059696, - "short_name":"FFSR", - "long_name":"Freifunk-Scherer BOT 868", - "macaddr":"SMpDtuUw", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"VbueTxbv8SjGmcLLrlt9/um15QDvis/HpIHiV2flyiI=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":1, - "last_heard":1757994889, - "first_heard":1757832883, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":1757993935, - "location_source":"LOC_MANUAL", - "latitude":52.5481294, - "longitude":13.3669095, - "altitude":0.0 - } - }, - { - "id":9, - "rx_time":1757861102, - "rx_iso":"2025-09-14T14:45:02Z", - "from_id":"!849a8ba4", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Ping", - "rssi":-42, - "hop_limit":3, - "snr":11.0, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!849a8ba4", - "num":2224720804, - "short_name":"MGN1", - "long_name":"Magnus 1", - "macaddr":"sIGEmouk", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"OfaBBiVBvYUijwF6t5jNN+UFBwyw+AV7W85pE3xB6xw=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":4, - "last_heard":1757998761, - "first_heard":1757829564, - "battery_level":101.0, - "voltage":4.201, - "channel_utilization":0.0, - "air_util_tx":0.025305556, - "uptime_seconds":740673, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":8, - "rx_time":1757860555, - "rx_iso":"2025-09-14T14:35:55Z", - "from_id":"!849a8ba4", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Ping", - "rssi":-118, - "hop_limit":1, - "snr":-13.25, - "node":{ - "snr":11.25, - "raw_json":null, - "node_id":"!849a8ba4", - "num":2224720804, - "short_name":"MGN1", - "long_name":"Magnus 1", - "macaddr":"sIGEmouk", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "public_key":"OfaBBiVBvYUijwF6t5jNN+UFBwyw+AV7W85pE3xB6xw=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":4, - "last_heard":1757998761, - "first_heard":1757829564, - "battery_level":101.0, - "voltage":4.201, - "channel_utilization":0.0, - "air_util_tx":0.025305556, - "uptime_seconds":740673, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":7, - "rx_time":1757858547, - "rx_iso":"2025-09-14T14:02:27Z", - "from_id":"!9c93a2df", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Empfangen in Baumschulenweg ", - "rssi":-42, - "hop_limit":3, - "snr":10.75, - "node":{ - "snr":10.75, - "raw_json":null, - "node_id":"!9c93a2df", - "num":2626921183, - "short_name":"xaRa", - "long_name":"xayax RAK", - "macaddr":"znKck6Lf", - "hw_model":"RAK4631", - "role":"CLIENT", - "public_key":"Rxo/Fw/ergQIhRqBbrHasLYy3gU+Ay8hrhu4OVnIPQc=", - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":1757983466, - "first_heard":1757799869, - "battery_level":77.0, - "voltage":3.962, - "channel_utilization":3.2316666, - "air_util_tx":0.5660833, - "uptime_seconds":215189, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":6, - "rx_time":1757852693, - "rx_iso":"2025-09-14T12:24:53Z", - "from_id":"!9ee71c38", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Latsche gerade durch Britz herum und teste das neue Gerät. Bin ganz frisch dabei bei Meshtastic.", - "rssi":-43, - "hop_limit":1, - "snr":11.25, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!9ee71c38", - "num":2665946168, - "short_name":"1c38", - "long_name":"Varus1c38", - "macaddr":"nBOe5xw4", - "hw_model":"HELTEC_V3", - "role":null, - "public_key":"+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757934899, - "first_heard":1757784888, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":5, - "rx_time":1757852049, - "rx_iso":"2025-09-14T12:14:09Z", - "from_id":"!9ee71c38", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Sehr schön:)", - "rssi":-43, - "hop_limit":1, - "snr":11.0, - "node":{ - "snr":11.5, - "raw_json":null, - "node_id":"!9ee71c38", - "num":2665946168, - "short_name":"1c38", - "long_name":"Varus1c38", - "macaddr":"nBOe5xw4", - "hw_model":"HELTEC_V3", - "role":null, - "public_key":"+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":null, - "last_heard":1757934899, - "first_heard":1757784888, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":4, - "rx_time":1757851803, - "rx_iso":"2025-09-14T12:10:03Z", - "from_id":"!5d823fb1", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Kam an. 😁", - "rssi":-41, - "hop_limit":null, - "snr":11.0, - "node":{ - "snr":-14.0, - "raw_json":null, - "node_id":"!5d823fb1", - "num":1568817073, - "short_name":"3fb1", - "long_name":"SoswB", - "macaddr":"5Hpdgj+x", - "hw_model":"RAK4631", - "role":"CLIENT", - "public_key":"7IFrQCY8KjH2jlHfz5zS7zYCZLOakjZsKm8FoZW+XXY=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1757945442, - "first_heard":1757774595, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":3, - "rx_time":1757851437, - "rx_iso":"2025-09-14T12:03:57Z", - "from_id":"!6c73bf84", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Hängt wohl auch hoch auf dem Dach", - "rssi":-42, - "hop_limit":3, - "snr":11.0, - "node":{ - "snr":2.75, - "raw_json":null, - "node_id":"!6c73bf84", - "num":1819524996, - "short_name":"ts1", - "long_name":"Tegeler See Node 1", - "macaddr":"oN1sc7+E", - "hw_model":"TBEAM", - "role":"CLIENT", - "public_key":"AW0bHoCVF0Yzo3yWx96b8XtA2kNZBQsWRyoQjKKm02A=", - "is_unmessagable":0, - "is_favorite":null, - "hops_away":3, - "last_heard":1757964116, - "first_heard":1757824664, - "battery_level":100.0, - "voltage":4.179, - "channel_utilization":6.3450003, - "air_util_tx":0.28575, - "uptime_seconds":30670, - "position_time":null, - "location_source":"LOC_MANUAL", - "latitude":52.559872, - "longitude":13.2907008, - "altitude":35.0 - } - }, - { - "id":2, - "rx_time":1757851276, - "rx_iso":"2025-09-14T12:01:16Z", - "from_id":null, - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Test mit neuer Antenne. Vlt geht ja so mal was raus.", - "rssi":-42, - "hop_limit":1, - "snr":11.25, - "node":{ - "snr":null, - "raw_json":null, - "node_id":null, - "num":null, - "short_name":null, - "long_name":null, - "macaddr":null, - "hw_model":null, - "role":null, - "public_key":null, - "is_unmessagable":null, - "is_favorite":null, - "hops_away":null, - "last_heard":null, - "first_heard":null, - "battery_level":null, - "voltage":null, - "channel_utilization":null, - "air_util_tx":null, - "uptime_seconds":null, - "position_time":null, - "location_source":null, - "latitude":null, - "longitude":null, - "altitude":null - } - }, - { - "id":1, - "rx_time":1757850801, - "rx_iso":"2025-09-14T11:53:21Z", - "from_id":"!194a7351", - "to_id":"^all", - "channel":0, - "portnum":"TEXT_MESSAGE_APP", - "text":"Noch jemand im ICC heute?", - "rssi":-18, - "hop_limit":7, - "snr":11.25, - "node":{ - "snr":11.0, - "raw_json":null, - "node_id":"!194a7351", - "num":424309585, - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "macaddr":"0p4ZSnNR", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "public_key":"UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", - "is_unmessagable":0, - "is_favorite":1, - "hops_away":0, - "last_heard":1758001135, - "first_heard":1757828307, - "battery_level":99.0, - "voltage":4.176, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "uptime_seconds":303417, - "position_time":1758001135, - "location_source":"LOC_EXTERNAL", - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0 - } - } -] diff --git a/test/nodes.json b/test/nodes.json deleted file mode 100644 index 6343f7b..0000000 --- a/test/nodes.json +++ /dev/null @@ -1,3553 +0,0 @@ -[ - { - "node_id":"!e138f77e", - "short_name":"PN", - "long_name":"Pankow-Nord", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1758002982, - "first_heard":1757808582, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":52.6123008, - "longitude":13.3955584, - "altitude":45.0, - "last_seen_iso":"2025-09-16T06:09:42Z" - }, - { - "node_id":"!4359d8f8", - "short_name":"fax", - "long_name":"fantastix", - "hw_model":"HELTEC_WIRELESS_PAPER", - "role":"CLIENT", - "snr":10.5, - "battery_level":101.0, - "voltage":4.243, - "last_heard":1758002976, - "first_heard":1757832819, - "uptime_seconds":61, - "channel_utilization":10.321667, - "air_util_tx":0.027138889, - "position_time":null, - "latitude":52.43278, - "longitude":13.47092, - "altitude":50.0, - "last_seen_iso":"2025-09-16T06:09:36Z" - }, - { - "node_id":"!33602324", - "short_name":"Jan", - "long_name":"Jan SUPREME", - "hw_model":"LILYGO_TBEAM_S3_CORE", - "role":"CLIENT", - "snr":10.75, - "battery_level":101.0, - "voltage":1.54, - "last_heard":1758002860, - "first_heard":1757867591, - "uptime_seconds":279305, - "channel_utilization":2.2266667, - "air_util_tx":1.0572499, - "position_time":1758002860, - "latitude":52.5074432, - "longitude":13.4479872, - "altitude":108.0, - "last_seen_iso":"2025-09-16T06:07:40Z", - "pos_time_iso":"2025-09-16T06:07:40Z" - }, - { - "node_id":"!ba60638c", - "short_name":"638c", - "long_name":"Meshtastic 638c", - "hw_model":"HELTEC_V3", - "role":"CLIENT_MUTE", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1758002818, - "first_heard":1757821860, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1758002818, - "latitude":52.5074432, - "longitude":13.6052736, - "altitude":57.0, - "last_seen_iso":"2025-09-16T06:06:58Z", - "pos_time_iso":"2025-09-16T06:06:58Z" - }, - { - "node_id":"!0c63e027", - "short_name":"l5ye", - "long_name":"l5yth e027 mf", - "hw_model":"T_ECHO", - "role":"CLIENT_MUTE", - "snr":-16.5, - "battery_level":101.0, - "voltage":4.403, - "last_heard":1758002651, - "first_heard":1757775015, - "uptime_seconds":64961, - "channel_utilization":1.3966666, - "air_util_tx":0.033833332, - "position_time":1758002651, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":50.0, - "last_seen_iso":"2025-09-16T06:04:11Z", - "pos_time_iso":"2025-09-16T06:04:11Z" - }, - { - "node_id":"!bcf10936", - "short_name":"0936", - "long_name":"Hopfensender HQ", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.0, - "battery_level":98.0, - "voltage":4.167, - "last_heard":1758002497, - "first_heard":1757833703, - "uptime_seconds":6373, - "channel_utilization":3.8283334, - "air_util_tx":0.98713887, - "position_time":1758001364, - "latitude":52.5729792, - "longitude":13.43488, - "altitude":57.0, - "last_seen_iso":"2025-09-16T06:01:37Z", - "pos_time_iso":"2025-09-16T05:42:44Z" - }, - { - "node_id":"!6e11aaed", - "short_name":"ARSH", - "long_name":"Marschi", - "hw_model":"HELTEC_MESH_POCKET", - "role":"CLIENT_MUTE", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1758002375, - "first_heard":1757954437, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1758002375, - "latitude":52.527104, - "longitude":13.4545408, - "altitude":50.0, - "last_seen_iso":"2025-09-16T05:59:35Z", - "pos_time_iso":"2025-09-16T05:59:35Z" - }, - { - "node_id":"!db29aa78", - "short_name":"_blx", - "long_name":"DB0BLX", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":101.0, - "voltage":4.229, - "last_heard":1758002284, - "first_heard":1757829484, - "uptime_seconds":480825, - "channel_utilization":0.8166667, - "air_util_tx":0.7813056, - "position_time":1758001092, - "latitude":52.4550144, - "longitude":13.3431296, - "altitude":null, - "last_seen_iso":"2025-09-16T05:58:04Z", - "pos_time_iso":"2025-09-16T05:38:12Z" - }, - { - "node_id":"!433ad740", - "short_name":"TWR3", - "long_name":"TWR3-Node", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-12.25, - "battery_level":101.0, - "voltage":4.204, - "last_heard":1758001973, - "first_heard":1757825041, - "uptime_seconds":475705, - "channel_utilization":4.1749997, - "air_util_tx":1.7455277, - "position_time":1758001973, - "latitude":52.525056, - "longitude":13.3255168, - "altitude":34.0, - "last_seen_iso":"2025-09-16T05:52:53Z", - "pos_time_iso":"2025-09-16T05:52:53Z" - }, - { - "node_id":"!ed6a8dc9", - "short_name":"PTA1", - "long_name":"K4PUT techo1", - "hw_model":"T_ECHO", - "role":"CLIENT", - "snr":-13.0, - "battery_level":101.0, - "voltage":4.765, - "last_heard":1758001946, - "first_heard":1757813123, - "uptime_seconds":60250, - "channel_utilization":1.39, - "air_util_tx":0.7958611, - "position_time":1758001946, - "latitude":52.4550144, - "longitude":13.3955584, - "altitude":77.0, - "last_seen_iso":"2025-09-16T05:52:26Z", - "pos_time_iso":"2025-09-16T05:52:26Z" - }, - { - "node_id":"!c0c321b4", - "short_name":"AFCK", - "long_name":"AufAckse", - "hw_model":"TBEAM", - "role":"ROUTER", - "snr":10.75, - "battery_level":101.0, - "voltage":0.0, - "last_heard":1758001928, - "first_heard":1757976245, - "uptime_seconds":61, - "channel_utilization":8.728333, - "air_util_tx":0.033555556, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T05:52:08Z" - }, - { - "node_id":"!bba83318", - "short_name":"BerF", - "long_name":"Bernau-Friedenstal", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":11.25, - "battery_level":101.0, - "voltage":-0.001, - "last_heard":1758001805, - "first_heard":1757825270, - "uptime_seconds":61, - "channel_utilization":7.01, - "air_util_tx":0.030944444, - "position_time":1758001805, - "latitude":52.6778368, - "longitude":13.565952, - "altitude":21.0, - "last_seen_iso":"2025-09-16T05:50:05Z", - "pos_time_iso":"2025-09-16T05:50:05Z" - }, - { - "node_id":"!db2b2418", - "short_name":"AmHe", - "long_name":"Amon Hen", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-13.75, - "battery_level":101.0, - "voltage":4.401, - "last_heard":1758001776, - "first_heard":1757830524, - "uptime_seconds":109810, - "channel_utilization":13.245, - "air_util_tx":1.0662222, - "position_time":1758001776, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":46.0, - "last_seen_iso":"2025-09-16T05:49:36Z", - "pos_time_iso":"2025-09-16T05:49:36Z" - }, - { - "node_id":"!b03d7b74", - "short_name":"unb2", - "long_name":"unblau-2", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":101.0, - "voltage":4.295, - "last_heard":1758001763, - "first_heard":1757829896, - "uptime_seconds":2159910, - "channel_utilization":4.366667, - "air_util_tx":0.45886108, - "position_time":1758001763, - "latitude":52.547584, - "longitude":13.3029888, - "altitude":0.0, - "last_seen_iso":"2025-09-16T05:49:23Z", - "pos_time_iso":"2025-09-16T05:49:23Z" - }, - { - "node_id":"!02788f81", - "short_name":"HanS", - "long_name":"Meshtastic 8f81", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT", - "snr":10.75, - "battery_level":58.0, - "voltage":3.877, - "last_heard":1758001632, - "first_heard":1758001632, - "uptime_seconds":471594, - "channel_utilization":3.7566667, - "air_util_tx":0.061694447, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T05:47:12Z" - }, - { - "node_id":"!849c4c24", - "short_name":"TMGG", - "long_name":"TMG green", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":101.0, - "voltage":4.239, - "last_heard":1758001547, - "first_heard":1757828747, - "uptime_seconds":1222581, - "channel_utilization":5.535, - "air_util_tx":1.0828055, - "position_time":1757988237, - "latitude":52.527104, - "longitude":13.5462912, - "altitude":60.0, - "last_seen_iso":"2025-09-16T05:45:47Z", - "pos_time_iso":"2025-09-16T02:03:57Z" - }, - { - "node_id":"!9ee71430", - "short_name":"FiSp", - "long_name":"FireSpark", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":95.0, - "voltage":4.125, - "last_heard":1758001545, - "first_heard":1757838749, - "uptime_seconds":327578, - "channel_utilization":0.31333333, - "air_util_tx":0.21124999, - "position_time":1758001545, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":67.0, - "last_seen_iso":"2025-09-16T05:45:45Z", - "pos_time_iso":"2025-09-16T05:45:45Z" - }, - { - "node_id":"!6eec6364", - "short_name":"FR_C", - "long_name":"Frosch/c", - "hw_model":"T_ECHO", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":101.0, - "voltage":4.759, - "last_heard":1758001515, - "first_heard":1757827060, - "uptime_seconds":5645, - "channel_utilization":3.7783332, - "air_util_tx":0.01511111, - "position_time":1758001515, - "latitude":52.5180928, - "longitude":13.5520256, - "altitude":50.0, - "last_seen_iso":"2025-09-16T05:45:15Z", - "pos_time_iso":"2025-09-16T05:45:15Z" - }, - { - "node_id":"!af51a025", - "short_name":"Mry0", - "long_name":"Mry BaseStation", - "hw_model":"SEEED_SOLAR_NODE", - "role":"CLIENT", - "snr":10.75, - "battery_level":65.0, - "voltage":3.846, - "last_heard":1758001298, - "first_heard":1757843714, - "uptime_seconds":192440, - "channel_utilization":1.3983333, - "air_util_tx":0.6596111, - "position_time":1757974248, - "latitude":52.4681216, - "longitude":13.303808, - "altitude":49.0, - "last_seen_iso":"2025-09-16T05:41:38Z", - "pos_time_iso":"2025-09-15T22:10:48Z" - }, - { - "node_id":"!da621dbc", - "short_name":"WbXn", - "long_name":"WebXnode", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-12.75, - "battery_level":101.0, - "voltage":4.81, - "last_heard":1758001266, - "first_heard":1757963288, - "uptime_seconds":32446, - "channel_utilization":1.8850001, - "air_util_tx":0.8733612, - "position_time":1757998084, - "latitude":52.6286848, - "longitude":13.3332992, - "altitude":45.0, - "last_seen_iso":"2025-09-16T05:41:06Z", - "pos_time_iso":"2025-09-16T04:48:04Z" - }, - { - "node_id":"!433e67e8", - "short_name":"FR_W", - "long_name":"Frosch/w", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":101.0, - "voltage":4.289, - "last_heard":1758001248, - "first_heard":1757819862, - "uptime_seconds":394618, - "channel_utilization":0.895, - "air_util_tx":1.0310278, - "position_time":1758001248, - "latitude":52.5180928, - "longitude":13.5520256, - "altitude":30.0, - "last_seen_iso":"2025-09-16T05:40:48Z", - "pos_time_iso":"2025-09-16T05:40:48Z" - }, - { - "node_id":"!fa6bb504", - "short_name":"TWR2", - "long_name":"TWR2-Zentrum", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-15.25, - "battery_level":101.0, - "voltage":4.216, - "last_heard":1758001199, - "first_heard":1757831988, - "uptime_seconds":2480111, - "channel_utilization":2.0066667, - "air_util_tx":0.5283889, - "position_time":null, - "latitude":52.5254656, - "longitude":13.3251072, - "altitude":82.0, - "last_seen_iso":"2025-09-16T05:39:59Z" - }, - { - "node_id":"!849a8b90", - "short_name":"📶", - "long_name":"bert", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-12.75, - "battery_level":101.0, - "voltage":4.274, - "last_heard":1758001165, - "first_heard":1757950681, - "uptime_seconds":56369, - "channel_utilization":10.768333, - "air_util_tx":1.1604723, - "position_time":1758001165, - "latitude":52.5074432, - "longitude":13.4479872, - "altitude":48.0, - "last_seen_iso":"2025-09-16T05:39:25Z", - "pos_time_iso":"2025-09-16T05:39:25Z" - }, - { - "node_id":"!da63e474", - "short_name":"🐧", - "long_name":"belug.de 868MHz", - "hw_model":"LILYGO_TBEAM_S3_CORE", - "role":"CLIENT_MUTE", - "snr":11.25, - "battery_level":100.0, - "voltage":4.121, - "last_heard":1758001158, - "first_heard":1757793513, - "uptime_seconds":1347958, - "channel_utilization":0.0, - "air_util_tx":0.0375, - "position_time":1758001158, - "latitude":52.5345, - "longitude":13.35849, - "altitude":null, - "last_seen_iso":"2025-09-16T05:39:18Z", - "pos_time_iso":"2025-09-16T05:39:18Z" - }, - { - "node_id":"!194a7351", - "short_name":"l5y7", - "long_name":"l5yth 7351 mf", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":99.0, - "voltage":4.176, - "last_heard":1758001135, - "first_heard":1757828307, - "uptime_seconds":303417, - "channel_utilization":1.475, - "air_util_tx":0.026222222, - "position_time":1758001135, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":39.0, - "last_seen_iso":"2025-09-16T05:38:55Z", - "pos_time_iso":"2025-09-16T05:38:55Z" - }, - { - "node_id":"!177cfa26", - "short_name":"lun1", - "long_name":"Lunet One", - "hw_model":"T_ECHO", - "role":"CLIENT", - "snr":-11.75, - "battery_level":101.0, - "voltage":4.847, - "last_heard":1758001093, - "first_heard":1757768167, - "uptime_seconds":1029644, - "channel_utilization":0.0, - "air_util_tx":0.62547225, - "position_time":1758000320, - "latitude":52.5021165, - "longitude":13.5000622, - "altitude":61.0, - "last_seen_iso":"2025-09-16T05:38:13Z", - "pos_time_iso":"2025-09-16T05:25:20Z" - }, - { - "node_id":"!4eb3bc8d", - "short_name":"Alex", - "long_name":"Alex /p1 (T-Echo)", - "hw_model":"T_ECHO", - "role":"CLIENT_MUTE", - "snr":11.25, - "battery_level":101.0, - "voltage":4.983, - "last_heard":1758000951, - "first_heard":1757798660, - "uptime_seconds":666909, - "channel_utilization":7.1883335, - "air_util_tx":0.014333334, - "position_time":1758000951, - "latitude":52.5074432, - "longitude":13.3431296, - "altitude":25.0, - "last_seen_iso":"2025-09-16T05:35:51Z", - "pos_time_iso":"2025-09-16T05:35:51Z" - }, - { - "node_id":"!6c740610", - "short_name":"🦄", - "long_name":"IDDQD 10435", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1758000816, - "first_heard":1758000812, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1758000717, - "latitude":52.54, - "longitude":13.41, - "altitude":null, - "last_seen_iso":"2025-09-16T05:33:36Z", - "pos_time_iso":"2025-09-16T05:31:57Z" - }, - { - "node_id":"!16ced364", - "short_name":"Pat", - "long_name":"Pat HQ BS", - "hw_model":"STATION_G2", - "role":"CLIENT", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1758000721, - "first_heard":1757830983, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757994446, - "latitude":52.4596978, - "longitude":13.3195129, - "altitude":72.0, - "last_seen_iso":"2025-09-16T05:32:01Z", - "pos_time_iso":"2025-09-16T03:47:26Z" - }, - { - "node_id":"!b03b3b38", - "short_name":"3b38", - "long_name":"Meshtastic 3b38", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.5, - "battery_level":78.0, - "voltage":3.977, - "last_heard":1758000599, - "first_heard":1757829178, - "uptime_seconds":2531225, - "channel_utilization":6.7633333, - "air_util_tx":1.1645555, - "position_time":1758000599, - "latitude":52.4550144, - "longitude":13.4479872, - "altitude":0.0, - "last_seen_iso":"2025-09-16T05:29:59Z", - "pos_time_iso":"2025-09-16T05:29:59Z" - }, - { - "node_id":"!44968f61", - "short_name":"PMRB", - "long_name":"PotatoMesh Rummelsburg MF", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":10.75, - "battery_level":101.0, - "voltage":-0.001, - "last_heard":1758000564, - "first_heard":1757827764, - "uptime_seconds":303956, - "channel_utilization":1.72, - "air_util_tx":0.70775, - "position_time":1757698889, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":50.0, - "last_seen_iso":"2025-09-16T05:29:24Z", - "pos_time_iso":"2025-09-12T17:41:29Z" - }, - { - "node_id":"!5bcdae60", - "short_name":"Euv", - "long_name":"Euv Solar1", - "hw_model":"SEEED_SOLAR_NODE", - "role":"ROUTER_LATE", - "snr":10.75, - "battery_level":98.0, - "voltage":4.168, - "last_heard":1758000540, - "first_heard":1757795030, - "uptime_seconds":61396, - "channel_utilization":6.4266667, - "air_util_tx":1.4744445, - "position_time":1758000540, - "latitude":52.5074432, - "longitude":13.4479872, - "altitude":54.0, - "last_seen_iso":"2025-09-16T05:29:00Z", - "pos_time_iso":"2025-09-16T05:29:00Z" - }, - { - "node_id":"!a0cc1800", - "short_name":"SIXB", - "long_name":"bea22.mt.sixtopia.net", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-13.25, - "battery_level":101.0, - "voltage":4.266, - "last_heard":1758000359, - "first_heard":1757819160, - "uptime_seconds":50708, - "channel_utilization":1.0716666, - "air_util_tx":1.0038055, - "position_time":1757993488, - "latitude":52.5693177, - "longitude":13.2319891, - "altitude":0.0, - "last_seen_iso":"2025-09-16T05:25:59Z", - "pos_time_iso":"2025-09-16T03:31:28Z" - }, - { - "node_id":"!9ea0c780", - "short_name":"nguE", - "long_name":"ngud E Mobile", - "hw_model":"HELTEC_WIRELESS_PAPER", - "role":"CLIENT", - "snr":11.25, - "battery_level":64.0, - "voltage":3.843, - "last_heard":1758000325, - "first_heard":1757808007, - "uptime_seconds":61, - "channel_utilization":5.0299997, - "air_util_tx":0.02638889, - "position_time":1757979817, - "latitude":52.5369344, - "longitude":13.484032, - "altitude":66.0, - "last_seen_iso":"2025-09-16T05:25:25Z", - "pos_time_iso":"2025-09-15T23:43:37Z" - }, - { - "node_id":"!e80cda12", - "short_name":"mowW", - "long_name":"mirkosw /pWisMeshTag", - "hw_model":"WISMESH_TAG", - "role":"CLIENT_MUTE", - "snr":11.5, - "battery_level":94.0, - "voltage":4.114, - "last_heard":1758000127, - "first_heard":1757797822, - "uptime_seconds":66, - "channel_utilization":3.01, - "air_util_tx":0.014333334, - "position_time":1758000127, - "latitude":52.4725355, - "longitude":13.3700968, - "altitude":-39.0, - "last_seen_iso":"2025-09-16T05:22:07Z", - "pos_time_iso":"2025-09-16T05:22:07Z" - }, - { - "node_id":"!b03ceb58", - "short_name":"base", - "long_name":"c-base.org 868MHz", - "hw_model":"HELTEC_WIRELESS_TRACKER", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1758000087, - "first_heard":1757827634, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1758000087, - "latitude":52.512859, - "longitude":13.420156, - "altitude":57.0, - "last_seen_iso":"2025-09-16T05:21:27Z", - "pos_time_iso":"2025-09-16T05:21:27Z" - }, - { - "node_id":"!970588c4", - "short_name":"MxHQ", - "long_name":"Max HQ", - "hw_model":"HELTEC_VISION_MASTER_E290", - "role":"CLIENT_MUTE", - "snr":-13.75, - "battery_level":101.0, - "voltage":4.428, - "last_heard":1758000033, - "first_heard":1757830407, - "uptime_seconds":66, - "channel_utilization":1.4399999, - "air_util_tx":0.012, - "position_time":1758000032, - "latitude":52.4729555, - "longitude":13.3166989, - "altitude":50.0, - "last_seen_iso":"2025-09-16T05:20:33Z", - "pos_time_iso":"2025-09-16T05:20:32Z" - }, - { - "node_id":"!b03c97a4", - "short_name":"BLN1", - "long_name":"BLNo1 Fhain Süd ", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-14.5, - "battery_level":null, - "voltage":null, - "last_heard":1757999721, - "first_heard":1757831824, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757999721, - "latitude":52.502528, - "longitude":13.4561792, - "altitude":38.0, - "last_seen_iso":"2025-09-16T05:15:21Z", - "pos_time_iso":"2025-09-16T05:15:21Z" - }, - { - "node_id":"!a0cc2af8", - "short_name":"2af8", - "long_name":"Meshtastic 2af8", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.25, - "battery_level":76.0, - "voltage":3.958, - "last_heard":1757999631, - "first_heard":1757817531, - "uptime_seconds":71724, - "channel_utilization":0.0, - "air_util_tx":0.5922222, - "position_time":1757999631, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":61.0, - "last_seen_iso":"2025-09-16T05:13:51Z", - "pos_time_iso":"2025-09-16T05:13:51Z" - }, - { - "node_id":"!18de8f57", - "short_name":"TWR4", - "long_name":"TWR4-Node", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.0, - "battery_level":93.0, - "voltage":4.1, - "last_heard":1757999530, - "first_heard":1757826734, - "uptime_seconds":2522712, - "channel_utilization":2.3633332, - "air_util_tx":0.46722224, - "position_time":null, - "latitude":52.6032896, - "longitude":13.3308416, - "altitude":70.0, - "last_seen_iso":"2025-09-16T05:12:10Z" - }, - { - "node_id":"!db2b13fc", - "short_name":"SO36", - "long_name":"", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.5, - "battery_level":null, - "voltage":null, - "last_heard":1757999484, - "first_heard":1757828830, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T05:11:24Z" - }, - { - "node_id":"!2b292b2c", - "short_name":"RüP", - "long_name":"Rüdesheimer Platz", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757999468, - "first_heard":1757970516, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757999468, - "latitude":52.4731107, - "longitude":13.3152098, - "altitude":61.0, - "last_seen_iso":"2025-09-16T05:11:08Z", - "pos_time_iso":"2025-09-16T05:11:08Z" - }, - { - "node_id":"!ea24e0b4", - "short_name":"TWRu", - "long_name":"TWRu-Node", - "hw_model":"TLORA_V2_1_1P6", - "role":"CLIENT", - "snr":-14.0, - "battery_level":101.0, - "voltage":4.311, - "last_heard":1757998811, - "first_heard":1757829609, - "uptime_seconds":1928320, - "channel_utilization":7.2566667, - "air_util_tx":0.68994445, - "position_time":1757976799, - "latitude":52.6245888, - "longitude":13.4815744, - "altitude":61.0, - "last_seen_iso":"2025-09-16T05:00:11Z", - "pos_time_iso":"2025-09-15T22:53:19Z" - }, - { - "node_id":"!849a8ba4", - "short_name":"MGN1", - "long_name":"Magnus 1", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.25, - "battery_level":101.0, - "voltage":4.201, - "last_heard":1757998761, - "first_heard":1757829564, - "uptime_seconds":740673, - "channel_utilization":0.0, - "air_util_tx":0.025305556, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T04:59:21Z" - }, - { - "node_id":"!a0cc1394", - "short_name":"KBV4", - "long_name":"KeinBierVor4", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.5, - "battery_level":96.0, - "voltage":4.143, - "last_heard":1757998637, - "first_heard":1757864736, - "uptime_seconds":136967, - "channel_utilization":2.6966667, - "air_util_tx":0.51630557, - "position_time":1757998637, - "latitude":52.6123008, - "longitude":13.3431296, - "altitude":45.0, - "last_seen_iso":"2025-09-16T04:57:17Z", - "pos_time_iso":"2025-09-16T04:57:17Z" - }, - { - "node_id":"!b1fa2b07", - "short_name":"FROG", - "long_name":"Frosch/p", - "hw_model":"T_ECHO", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":101.0, - "voltage":4.752, - "last_heard":1757998630, - "first_heard":1757911631, - "uptime_seconds":122785, - "channel_utilization":2.385, - "air_util_tx":0.038000003, - "position_time":1757998630, - "latitude":52.518912, - "longitude":13.5512064, - "altitude":68.0, - "last_seen_iso":"2025-09-16T04:57:10Z", - "pos_time_iso":"2025-09-16T04:57:10Z" - }, - { - "node_id":"!db2b23f4", - "short_name":"Eagl", - "long_name":"Gwaihir", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":95.0, - "voltage":4.129, - "last_heard":1757998529, - "first_heard":1757822402, - "uptime_seconds":14291, - "channel_utilization":5.5466666, - "air_util_tx":1.0283333, - "position_time":1757998529, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":41.0, - "last_seen_iso":"2025-09-16T04:55:29Z", - "pos_time_iso":"2025-09-16T04:55:29Z" - }, - { - "node_id":"!9ea0bcbc", - "short_name":"bcbc", - "long_name":"Meshtastic bcbc", - "hw_model":"HELTEC_WIRELESS_PAPER", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757998485, - "first_heard":1757872713, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T04:54:45Z" - }, - { - "node_id":"!c0c32348", - "short_name":"CooP", - "long_name":"Cooper", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":-13.0, - "battery_level":101.0, - "voltage":3.487, - "last_heard":1757998318, - "first_heard":1757863184, - "uptime_seconds":61, - "channel_utilization":6.44, - "air_util_tx":0.025638888, - "position_time":1757998318, - "latitude":52.5467648, - "longitude":13.4873088, - "altitude":62.0, - "last_seen_iso":"2025-09-16T04:51:58Z", - "pos_time_iso":"2025-09-16T04:51:58Z" - }, - { - "node_id":"!dc6e4013", - "short_name":"Kn5S", - "long_name":"Kein5Stein 4013 P", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.0, - "battery_level":94.0, - "voltage":4.111, - "last_heard":1757998259, - "first_heard":1757825108, - "uptime_seconds":380026, - "channel_utilization":1.8349999, - "air_util_tx":0.42697224, - "position_time":1757998259, - "latitude":52.4636282, - "longitude":13.3223541, - "altitude":50.0, - "last_seen_iso":"2025-09-16T04:50:59Z", - "pos_time_iso":"2025-09-16T04:50:59Z" - }, - { - "node_id":"!9eecb2fc", - "short_name":"scf1", - "long_name":"smartCityFarm-eV-greenhouse", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":101.0, - "voltage":4.273, - "last_heard":1757998157, - "first_heard":1757798528, - "uptime_seconds":573904, - "channel_utilization":0.2866667, - "air_util_tx":0.8055833, - "position_time":1757998157, - "latitude":52.4730368, - "longitude":13.4660096, - "altitude":43.0, - "last_seen_iso":"2025-09-16T04:49:17Z", - "pos_time_iso":"2025-09-16T04:49:17Z" - }, - { - "node_id":"!92476202", - "short_name":"WMDF", - "long_name":"WMDF/RAK", - "hw_model":"RAK2560", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757997879, - "first_heard":1757799337, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T04:44:39Z" - }, - { - "node_id":"!102cb4b8", - "short_name":"JAN", - "long_name":"Jan T114", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757997682, - "first_heard":1757877459, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757997682, - "latitude":52.512682, - "longitude":13.4566423, - "altitude":84.0, - "last_seen_iso":"2025-09-16T04:41:22Z", - "pos_time_iso":"2025-09-16T04:41:22Z" - }, - { - "node_id":"!9c56b631", - "short_name":"KatS", - "long_name":"KatSComm", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.0, - "battery_level":74.0, - "voltage":3.936, - "last_heard":1757997367, - "first_heard":1757824568, - "uptime_seconds":637262, - "channel_utilization":3.8866665, - "air_util_tx":0.86419445, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T04:36:07Z" - }, - { - "node_id":"!6c7311ec", - "short_name":"ts2", - "long_name":"Tegeler See Node 2", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":-14.0, - "battery_level":null, - "voltage":null, - "last_heard":1757997350, - "first_heard":1757824323, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T04:35:50Z" - }, - { - "node_id":"!068e1ebc", - "short_name":"f2ag", - "long_name":"free2air gateway", - "hw_model":"RAK11200", - "role":"CLIENT", - "snr":-13.0, - "battery_level":101.0, - "voltage":5.268, - "last_heard":1757996793, - "first_heard":1757829634, - "uptime_seconds":1849223, - "channel_utilization":2.33, - "air_util_tx":0.4883333, - "position_time":1757996793, - "latitude":52.5309528, - "longitude":13.40785, - "altitude":122.0, - "last_seen_iso":"2025-09-16T04:26:33Z", - "pos_time_iso":"2025-09-16T04:26:33Z" - }, - { - "node_id":"!da635e24", - "short_name":"LAN", - "long_name":"LAN (\"ping\"/SF)", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":101.0, - "voltage":4.203, - "last_heard":1757996484, - "first_heard":1757820949, - "uptime_seconds":61, - "channel_utilization":16.29, - "air_util_tx":0.012527777, - "position_time":1757921223, - "latitude":52.5343, - "longitude":13.4996, - "altitude":null, - "last_seen_iso":"2025-09-16T04:21:24Z", - "pos_time_iso":"2025-09-15T07:27:03Z" - }, - { - "node_id":"!25c2e7dc", - "short_name":"e7dc", - "long_name":"Julia Kløckchain", - "hw_model":"TLORA_V2_1_1P6", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757996090, - "first_heard":1757781280, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757996090, - "latitude":52.5074432, - "longitude":13.4479872, - "altitude":50.0, - "last_seen_iso":"2025-09-16T04:14:50Z", - "pos_time_iso":"2025-09-16T04:14:50Z" - }, - { - "node_id":"!90a0ecac", - "short_name":"MxSc", - "long_name":"Max Screen", - "hw_model":"SENSECAP_INDICATOR", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757995637, - "first_heard":1757822815, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T04:07:17Z" - }, - { - "node_id":"!ef6a21c5", - "short_name":"SEAm", - "long_name":"DMSEA mobil", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":101.0, - "voltage":4.207, - "last_heard":1757995531, - "first_heard":1757829688, - "uptime_seconds":42551, - "channel_utilization":0.465, - "air_util_tx":0.013194445, - "position_time":1757995531, - "latitude":52.4550144, - "longitude":13.500416, - "altitude":69.0, - "last_seen_iso":"2025-09-16T04:05:31Z", - "pos_time_iso":"2025-09-16T04:05:31Z" - }, - { - "node_id":"!fa6baed0", - "short_name":"TWR1", - "long_name":"TWR1-Nord", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":97.0, - "voltage":4.152, - "last_heard":1757995313, - "first_heard":1757811714, - "uptime_seconds":14463, - "channel_utilization":5.741667, - "air_util_tx":0.31316668, - "position_time":1757954484, - "latitude":52.604928, - "longitude":13.3341184, - "altitude":65.0, - "last_seen_iso":"2025-09-16T04:01:53Z", - "pos_time_iso":"2025-09-15T16:41:24Z" - }, - { - "node_id":"!45edbd08", - "short_name":"SOL1", - "long_name":"SOL1-Karow☀️", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.5, - "battery_level":97.0, - "voltage":4.155, - "last_heard":1757995081, - "first_heard":1757825874, - "uptime_seconds":5887731, - "channel_utilization":2.1116667, - "air_util_tx":0.6923889, - "position_time":null, - "latitude":52.6241792, - "longitude":13.481984, - "altitude":62.0, - "last_seen_iso":"2025-09-16T03:58:01Z" - }, - { - "node_id":"!43b6e530", - "short_name":"FFSR", - "long_name":"Freifunk-Scherer BOT 868", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.5, - "battery_level":null, - "voltage":null, - "last_heard":1757994889, - "first_heard":1757832883, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757993935, - "latitude":52.5481294, - "longitude":13.3669095, - "altitude":0.0, - "last_seen_iso":"2025-09-16T03:54:49Z", - "pos_time_iso":"2025-09-16T03:38:55Z" - }, - { - "node_id":"!5d9c7329", - "short_name":"mowM", - "long_name":"mirkosw /MF", - "hw_model":"T_ECHO", - "role":"CLIENT", - "snr":11.0, - "battery_level":87.0, - "voltage":4.032, - "last_heard":1757993742, - "first_heard":1757769553, - "uptime_seconds":563502, - "channel_utilization":8.078333, - "air_util_tx":0.8741944, - "position_time":1757993742, - "latitude":52.4629608, - "longitude":13.5136113, - "altitude":18.0, - "last_seen_iso":"2025-09-16T03:35:42Z", - "pos_time_iso":"2025-09-16T03:35:42Z" - }, - { - "node_id":"!a0cc6904", - "short_name":"Kdû", - "long_name":"Khazad-dûm", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.5, - "battery_level":4.0, - "voltage":3.195, - "last_heard":1757992840, - "first_heard":1757819079, - "uptime_seconds":154899, - "channel_utilization":0.7366667, - "air_util_tx":0.7919166, - "position_time":1757987158, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":57.0, - "last_seen_iso":"2025-09-16T03:20:40Z", - "pos_time_iso":"2025-09-16T01:45:58Z" - }, - { - "node_id":"!ba653ae8", - "short_name":"3ae8", - "long_name":"Meshtastic 3ae8", - "hw_model":"HELTEC_V3", - "role":"ROUTER", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757992712, - "first_heard":1757795468, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757976528, - "latitude":52.6385152, - "longitude":13.631488, - "altitude":70.0, - "last_seen_iso":"2025-09-16T03:18:32Z", - "pos_time_iso":"2025-09-15T22:48:48Z" - }, - { - "node_id":"!459d6743", - "short_name":"FiCr", - "long_name":"FireCracker", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":11.25, - "battery_level":95.0, - "voltage":4.129, - "last_heard":1757992472, - "first_heard":1757766762, - "uptime_seconds":114732, - "channel_utilization":15.9366665, - "air_util_tx":0.38538888, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T03:14:32Z" - }, - { - "node_id":"!3dd7fd1e", - "short_name":"nguT", - "long_name":"ngud T", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.0, - "battery_level":100.0, - "voltage":4.193, - "last_heard":1757992035, - "first_heard":1757829747, - "uptime_seconds":6545, - "channel_utilization":3.2233336, - "air_util_tx":0.73758334, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T03:07:15Z" - }, - { - "node_id":"!1d60dd3c", - "short_name":"FFZW", - "long_name":"Freifunk-Zwingli BOT 868", - "hw_model":"TLORA_V2_1_1P6", - "role":"CLIENT", - "snr":11.25, - "battery_level":98.0, - "voltage":4.164, - "last_heard":1757991741, - "first_heard":1757579680, - "uptime_seconds":29060, - "channel_utilization":5.3433332, - "air_util_tx":0.82975, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T03:02:21Z" - }, - { - "node_id":"!d224b9ee", - "short_name":"b2", - "long_name":"Bobby 👾", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "snr":-13.5, - "battery_level":101.0, - "voltage":4.153, - "last_heard":1757991724, - "first_heard":1757808116, - "uptime_seconds":204023, - "channel_utilization":1.4983333, - "air_util_tx":0.0, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T03:02:04Z" - }, - { - "node_id":"!9e17349d", - "short_name":"TPT2", - "long_name":"teapot418 Mobile 2", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":101.0, - "voltage":4.137, - "last_heard":1757991656, - "first_heard":1757842651, - "uptime_seconds":118157, - "channel_utilization":1.475, - "air_util_tx":0.0048333337, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T03:00:56Z" - }, - { - "node_id":"!abbdf3f7", - "short_name":"f3f7", - "long_name":"Smobi", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT_MUTE", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1757991481, - "first_heard":1757800536, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757991481, - "latitude":52.4550144, - "longitude":13.500416, - "altitude":41.0, - "last_seen_iso":"2025-09-16T02:58:01Z", - "pos_time_iso":"2025-09-16T02:58:01Z" - }, - { - "node_id":"!3addea0f", - "short_name":"BHMS", - "long_name":"BLN Hdf Stat", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757991088, - "first_heard":1757796687, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T02:51:28Z" - }, - { - "node_id":"!a0cb1608", - "short_name":"KBV5", - "long_name":"KeinBierVor5", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":101.0, - "voltage":4.28, - "last_heard":1757990312, - "first_heard":1757823622, - "uptime_seconds":138304, - "channel_utilization":1.2866666, - "air_util_tx":0.78044444, - "position_time":1757980957, - "latitude":52.4976128, - "longitude":13.5102464, - "altitude":40.0, - "last_seen_iso":"2025-09-16T02:38:32Z", - "pos_time_iso":"2025-09-16T00:02:37Z" - }, - { - "node_id":"!14f7692b", - "short_name":"692b", - "long_name":"Deft0nes 692b", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":11.5, - "battery_level":87.0, - "voltage":4.037, - "last_heard":1757990232, - "first_heard":1757795817, - "uptime_seconds":202119, - "channel_utilization":6.7833333, - "air_util_tx":1.0818888, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T02:37:12Z" - }, - { - "node_id":"!e50b45d8", - "short_name":"45d8", - "long_name":"Meshtastic 45d8", - "hw_model":"T_ECHO", - "role":"CLIENT", - "snr":-14.0, - "battery_level":73.0, - "voltage":3.923, - "last_heard":1757989890, - "first_heard":1757780400, - "uptime_seconds":164253, - "channel_utilization":1.6033332, - "air_util_tx":0.2508611, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T02:31:30Z" - }, - { - "node_id":"!d2545511", - "short_name":"pix", - "long_name":"knapix", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "snr":10.25, - "battery_level":101.0, - "voltage":4.177, - "last_heard":1757989799, - "first_heard":1757825026, - "uptime_seconds":65238, - "channel_utilization":4.6466665, - "air_util_tx":0.032055557, - "position_time":1757989799, - "latitude":52.4419072, - "longitude":13.4610944, - "altitude":67.0, - "last_seen_iso":"2025-09-16T02:29:59Z", - "pos_time_iso":"2025-09-16T02:29:59Z" - }, - { - "node_id":"!b03d89fc", - "short_name":"SEAo", - "long_name":"DMSEA Oberschöneweide", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":97.0, - "voltage":4.153, - "last_heard":1757989024, - "first_heard":1757827023, - "uptime_seconds":329641, - "channel_utilization":4.17, - "air_util_tx":0.5981111, - "position_time":1757964172, - "latitude":52.4659233, - "longitude":13.5175972, - "altitude":null, - "last_seen_iso":"2025-09-16T02:17:04Z", - "pos_time_iso":"2025-09-15T19:22:52Z" - }, - { - "node_id":"!8d36a17d", - "short_name":"TPTS", - "long_name":"teapot418 Station", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":12.0, - "battery_level":99.0, - "voltage":4.184, - "last_heard":1757988854, - "first_heard":1757778153, - "uptime_seconds":97637, - "channel_utilization":1.195, - "air_util_tx":0.5630556, - "position_time":1757988854, - "latitude":52.5565952, - "longitude":13.3726208, - "altitude":42.0, - "last_seen_iso":"2025-09-16T02:14:14Z", - "pos_time_iso":"2025-09-16T02:14:14Z" - }, - { - "node_id":"!9ee70ed0", - "short_name":"AAMB", - "long_name":"AufAckse MB", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":0.0, - "voltage":3.09, - "last_heard":1757988219, - "first_heard":1757924327, - "uptime_seconds":29115, - "channel_utilization":6.14, - "air_util_tx":0.8681667, - "position_time":1757968452, - "latitude":52.6319616, - "longitude":13.5069696, - "altitude":0.0, - "last_seen_iso":"2025-09-16T02:03:39Z", - "pos_time_iso":"2025-09-15T20:34:12Z" - }, - { - "node_id":"!849c3d08", - "short_name":"LAN2", - "long_name":"LAN2 Frag mich @llm oder via DM", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.5, - "battery_level":null, - "voltage":null, - "last_heard":1757987152, - "first_heard":1757987152, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T01:45:52Z" - }, - { - "node_id":"!9eecf808", - "short_name":"F0oz", - "long_name":"(ㆆ_ㆆ) F0oz", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757983521, - "first_heard":1757814557, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T00:45:21Z" - }, - { - "node_id":"!9c93a2df", - "short_name":"xaRa", - "long_name":"xayax RAK", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":10.75, - "battery_level":77.0, - "voltage":3.962, - "last_heard":1757983466, - "first_heard":1757799869, - "uptime_seconds":215189, - "channel_utilization":3.2316666, - "air_util_tx":0.5660833, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T00:44:26Z" - }, - { - "node_id":"!6aac99f2", - "short_name":"GW10", - "long_name":"Greifswalder 10", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":11.25, - "battery_level":97.0, - "voltage":4.149, - "last_heard":1757983226, - "first_heard":1757828430, - "uptime_seconds":5584130, - "channel_utilization":8.151667, - "air_util_tx":0.94258326, - "position_time":null, - "latitude":52.529706, - "longitude":13.426035, - "altitude":58.0, - "last_seen_iso":"2025-09-16T00:40:26Z" - }, - { - "node_id":"!a2e17674", - "short_name":"MATg", - "long_name":"DB9MAT G2", - "hw_model":"STATION_G2", - "role":"CLIENT", - "snr":10.75, - "battery_level":101.0, - "voltage":0.0, - "last_heard":1757982809, - "first_heard":1757826009, - "uptime_seconds":4280244, - "channel_utilization":1.0916667, - "air_util_tx":0.7342778, - "position_time":1757982809, - "latitude":52.5214663, - "longitude":13.6291073, - "altitude":60.0, - "last_seen_iso":"2025-09-16T00:33:29Z", - "pos_time_iso":"2025-09-16T00:33:29Z" - }, - { - "node_id":"!a6683ea5", - "short_name":"🏞", - "long_name":"sitnchill", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.5, - "battery_level":93.0, - "voltage":4.101, - "last_heard":1757982686, - "first_heard":1757820684, - "uptime_seconds":202779, - "channel_utilization":2.4883335, - "air_util_tx":0.36124998, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T00:31:26Z" - }, - { - "node_id":"!f9b0938c", - "short_name":"Ed-1", - "long_name":"Y35RO Plänterwald ", - "hw_model":"TLORA_V2_1_1P6", - "role":"CLIENT", - "snr":11.25, - "battery_level":101.0, - "voltage":4.212, - "last_heard":1757982431, - "first_heard":1757803142, - "uptime_seconds":58146, - "channel_utilization":1.3100001, - "air_util_tx":0.61825, - "position_time":null, - "latitude":52.4550144, - "longitude":13.4479872, - "altitude":36.0, - "last_seen_iso":"2025-09-16T00:27:11Z" - }, - { - "node_id":"!b03bd350", - "short_name":"d350", - "long_name":"Meshtastic d350", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":101.0, - "voltage":4.317, - "last_heard":1757981824, - "first_heard":1757830628, - "uptime_seconds":832947, - "channel_utilization":4.1949997, - "air_util_tx":0.87469447, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T00:17:04Z" - }, - { - "node_id":"!fe794c32", - "short_name":"4c32", - "long_name":"Meshtastic 4c32", - "hw_model":"HELTEC_MESH_POCKET", - "role":"CLIENT", - "snr":10.75, - "battery_level":59.0, - "voltage":3.721, - "last_heard":1757981588, - "first_heard":1757830385, - "uptime_seconds":410078, - "channel_utilization":2.5049999, - "air_util_tx":0.40355557, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-16T00:13:08Z" - }, - { - "node_id":"!f1f67380", - "short_name":"ULLL", - "long_name":"ULLL", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.0, - "battery_level":91.0, - "voltage":4.072, - "last_heard":1757981349, - "first_heard":1757808552, - "uptime_seconds":1578588, - "channel_utilization":12.368334, - "air_util_tx":0.55258334, - "position_time":null, - "latitude":52.5156352, - "longitude":13.3251072, - "altitude":null, - "last_seen_iso":"2025-09-16T00:09:09Z" - }, - { - "node_id":"!da627d58", - "short_name":"DEF1", - "long_name":"Defcom1", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757979939, - "first_heard":1757829932, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757972506, - "latitude":52.5262848, - "longitude":13.3275648, - "altitude":34.0, - "last_seen_iso":"2025-09-15T23:45:39Z", - "pos_time_iso":"2025-09-15T21:41:46Z" - }, - { - "node_id":"!c0c30b10", - "short_name":"WIES", - "long_name":"7LA 0b10", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":11.0, - "battery_level":101.0, - "voltage":-0.001, - "last_heard":1757979778, - "first_heard":1757979778, - "uptime_seconds":58896, - "channel_utilization":0.0, - "air_util_tx":0.71275, - "position_time":null, - "latitude":52.4550144, - "longitude":13.3431296, - "altitude":59.0, - "last_seen_iso":"2025-09-15T23:42:58Z" - }, - { - "node_id":"!b6428bf9", - "short_name":"WB", - "long_name":"W-Base", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":10.5, - "battery_level":73.0, - "voltage":3.921, - "last_heard":1757979520, - "first_heard":1757809702, - "uptime_seconds":60983, - "channel_utilization":6.5733337, - "air_util_tx":0.88427776, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T23:38:40Z" - }, - { - "node_id":"!45a351b8", - "short_name":"DLS", - "long_name":"NDB Luebars 📡 Replacement", - "hw_model":"HELTEC_VISION_MASTER_T190", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757975133, - "first_heard":1757809531, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":52.6139, - "longitude":13.3636, - "altitude":70.0, - "last_seen_iso":"2025-09-15T22:25:33Z" - }, - { - "node_id":"!849b8194", - "short_name":"ip83", - "long_name":"ijp83", - "hw_model":"HELTEC_V3", - "role":"CLIENT_MUTE", - "snr":-13.25, - "battery_level":45.0, - "voltage":3.683, - "last_heard":1757975065, - "first_heard":1757932193, - "uptime_seconds":47947, - "channel_utilization":7.023333, - "air_util_tx":0.0044444446, - "position_time":null, - "latitude":52.5074432, - "longitude":13.3431296, - "altitude":70.0, - "last_seen_iso":"2025-09-15T22:24:25Z" - }, - { - "node_id":"!d42e18e8", - "short_name":"RRun", - "long_name":"Road-Runner", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.5, - "battery_level":101.0, - "voltage":4.165, - "last_heard":1757975060, - "first_heard":1757831063, - "uptime_seconds":424452, - "channel_utilization":0.0, - "air_util_tx":0.8189722, - "position_time":1757946202, - "latitude":52.604928, - "longitude":13.3341184, - "altitude":69.0, - "last_seen_iso":"2025-09-15T22:24:20Z", - "pos_time_iso":"2025-09-15T14:23:22Z" - }, - { - "node_id":"!db898113", - "short_name":"8113", - "long_name":"xberg solar 8113", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757974079, - "first_heard":1757951837, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757974079, - "latitude":52.5074432, - "longitude":13.3955584, - "altitude":49.0, - "last_seen_iso":"2025-09-15T22:07:59Z", - "pos_time_iso":"2025-09-15T22:07:59Z" - }, - { - "node_id":"!9ee70320", - "short_name":"NS-N", - "long_name":"Klub Łączności ODRA baza \"N\"📡", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-14.0, - "battery_level":null, - "voltage":null, - "last_heard":1757974062, - "first_heard":1757974062, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T22:07:42Z" - }, - { - "node_id":"!e00cea30", - "short_name":"NHR1", - "long_name":"NHGR1_ea30", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.25, - "battery_level":101.0, - "voltage":4.275, - "last_heard":1757971839, - "first_heard":1757774673, - "uptime_seconds":1199785, - "channel_utilization":4.4483333, - "air_util_tx":0.7357222, - "position_time":1757971839, - "latitude":52.5074432, - "longitude":13.6577024, - "altitude":64.0, - "last_seen_iso":"2025-09-15T21:30:39Z", - "pos_time_iso":"2025-09-15T21:30:39Z" - }, - { - "node_id":"!90520695", - "short_name":"FuLo", - "long_name":"Funklochfüller", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757971200, - "first_heard":1757835032, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757971200, - "latitude":52.4550144, - "longitude":13.500416, - "altitude":37.0, - "last_seen_iso":"2025-09-15T21:20:00Z", - "pos_time_iso":"2025-09-15T21:20:00Z" - }, - { - "node_id":"!88071b58", - "short_name":"FlxS", - "long_name":"Flux/S", - "hw_model":"RAK4631", - "role":"CLIENT_MUTE", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757969892, - "first_heard":1757786586, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T20:58:12Z" - }, - { - "node_id":"!3269942c", - "short_name":"LLL", - "long_name":"Live Laugh Love", - "hw_model":"HELTEC_MESH_POCKET", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":89.0, - "voltage":4.051, - "last_heard":1757969171, - "first_heard":1757828787, - "uptime_seconds":1413885, - "channel_utilization":2.4150002, - "air_util_tx":0.0, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T20:46:11Z" - }, - { - "node_id":"!bb8a1ac6", - "short_name":"EDUP", - "long_name":"7EDU_Portable", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":10.0, - "battery_level":null, - "voltage":null, - "last_heard":1757967029, - "first_heard":1757871014, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757967029, - "latitude":52.4970876, - "longitude":13.4645596, - "altitude":40.0, - "last_seen_iso":"2025-09-15T20:10:29Z", - "pos_time_iso":"2025-09-15T20:10:29Z" - }, - { - "node_id":"!849b7154", - "short_name":"7154", - "long_name":"Meshtastic 7154", - "hw_model":"HELTEC_V3", - "role":"CLIENT_MUTE", - "snr":-14.5, - "battery_level":39.0, - "voltage":3.623, - "last_heard":1757967022, - "first_heard":1757915428, - "uptime_seconds":64985, - "channel_utilization":7.1850004, - "air_util_tx":0.00825, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T20:10:22Z" - }, - { - "node_id":"!bb9f80ca", - "short_name":"b1", - "long_name":"Bobby 🔌", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.75, - "battery_level":101.0, - "voltage":4.107, - "last_heard":1757966180, - "first_heard":1757825782, - "uptime_seconds":724212, - "channel_utilization":6.181667, - "air_util_tx":0.79294443, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T19:56:20Z" - }, - { - "node_id":"!da9d5a98", - "short_name":"5a98", - "long_name":"xberg 5a98", - "hw_model":"TLORA_V2_1_1P6", - "role":"CLIENT", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1757964900, - "first_heard":1757961563, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T19:35:00Z" - }, - { - "node_id":"!433ecff8", - "short_name":"44er", - "long_name":"DO7DSL stat.", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":101.0, - "voltage":4.285, - "last_heard":1757964614, - "first_heard":1757824216, - "uptime_seconds":739020, - "channel_utilization":1.6650001, - "air_util_tx":0.4716389, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T19:30:14Z" - }, - { - "node_id":"!43561304", - "short_name":"NBS", - "long_name":"NBS14 Base Station", - "hw_model":"HELTEC_WIRELESS_PAPER", - "role":"CLIENT", - "snr":11.5, - "battery_level":null, - "voltage":null, - "last_heard":1757964526, - "first_heard":1757820798, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T19:28:46Z" - }, - { - "node_id":"!9eecf3c0", - "short_name":"WT", - "long_name":"WalkieTextie", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":101.0, - "voltage":4.266, - "last_heard":1757964501, - "first_heard":1757808022, - "uptime_seconds":120864, - "channel_utilization":0.0, - "air_util_tx":0.03461111, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T19:28:21Z" - }, - { - "node_id":"!b03ca90c", - "short_name":"tnvr", - "long_name":"Tarnover", - "hw_model":"HELTEC_V3", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":91.0, - "voltage":4.077, - "last_heard":1757964497, - "first_heard":1757813299, - "uptime_seconds":1262032, - "channel_utilization":1.5583334, - "air_util_tx":0.0, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T19:28:17Z" - }, - { - "node_id":"!6c73bf84", - "short_name":"ts1", - "long_name":"Tegeler See Node 1", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":2.75, - "battery_level":100.0, - "voltage":4.179, - "last_heard":1757964116, - "first_heard":1757824664, - "uptime_seconds":30670, - "channel_utilization":6.3450003, - "air_util_tx":0.28575, - "position_time":null, - "latitude":52.559872, - "longitude":13.2907008, - "altitude":35.0, - "last_seen_iso":"2025-09-15T19:21:56Z" - }, - { - "node_id":"!6cf821fb", - "short_name":"OKP1", - "long_name":"Okapi 1 (he) mobil", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT", - "snr":10.75, - "battery_level":85.0, - "voltage":4.051, - "last_heard":1757963585, - "first_heard":1757959167, - "uptime_seconds":66, - "channel_utilization":5.4233336, - "air_util_tx":0.03694444, - "position_time":1757962779, - "latitude":52.5074432, - "longitude":13.4479872, - "altitude":51.0, - "last_seen_iso":"2025-09-15T19:13:05Z", - "pos_time_iso":"2025-09-15T18:59:39Z" - }, - { - "node_id":"!7f7d7914", - "short_name":"hau2", - "long_name":"Hauke 2", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757963065, - "first_heard":1757963065, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T19:04:25Z" - }, - { - "node_id":"!7c5b0920", - "short_name":"FFTB", - "long_name":"Freifunk-Teufelsberg BOT 868", - "hw_model":"HELTEC_V3", - "role":"ROUTER", - "snr":11.5, - "battery_level":97.0, - "voltage":4.149, - "last_heard":1757959423, - "first_heard":1757828009, - "uptime_seconds":43287, - "channel_utilization":0.58, - "air_util_tx":1.0519166, - "position_time":1757946866, - "latitude":52.49795, - "longitude":13.24061, - "altitude":160.0, - "last_seen_iso":"2025-09-15T18:03:43Z", - "pos_time_iso":"2025-09-15T14:34:26Z" - }, - { - "node_id":"!7a6d877c", - "short_name":"877c", - "long_name":"【ツ】 877c", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":11.75, - "battery_level":null, - "voltage":null, - "last_heard":1757959338, - "first_heard":1757858681, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T18:02:18Z" - }, - { - "node_id":"!03b9ca11", - "short_name":"ca11", - "long_name":"Meshtastic ca11", - "hw_model":"UNSET", - "role":"CLIENT", - "snr":10.75, - "battery_level":57.0, - "voltage":3.869, - "last_heard":1757957659, - "first_heard":1757957659, - "uptime_seconds":26711, - "channel_utilization":2.3766665, - "air_util_tx":0.1098889, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T17:34:19Z" - }, - { - "node_id":"!43b6f328", - "short_name":"775", - "long_name":"BF775 ", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.5, - "battery_level":null, - "voltage":null, - "last_heard":1757954810, - "first_heard":1757774419, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T16:46:50Z" - }, - { - "node_id":"!28978f94", - "short_name":"8f94", - "long_name":"Landsberger K", - "hw_model":"TBEAM", - "role":"CLIENT_MUTE", - "snr":11.5, - "battery_level":2.0, - "voltage":3.099, - "last_heard":1757953198, - "first_heard":1757939754, - "uptime_seconds":13504, - "channel_utilization":8.165, - "air_util_tx":0.051833335, - "position_time":1757953102, - "latitude":52.559872, - "longitude":13.500416, - "altitude":115.0, - "last_seen_iso":"2025-09-15T16:19:58Z", - "pos_time_iso":"2025-09-15T16:18:22Z" - }, - { - "node_id":"!9d3dba8a", - "short_name":"FLV2", - "long_name":"Fluvius 2", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "snr":-13.5, - "battery_level":null, - "voltage":null, - "last_heard":1757950866, - "first_heard":1757820166, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T15:41:06Z" - }, - { - "node_id":"!a3deea53", - "short_name":"🐸", - "long_name":"green", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "snr":10.0, - "battery_level":null, - "voltage":null, - "last_heard":1757949419, - "first_heard":1757920065, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T15:16:59Z" - }, - { - "node_id":"!aafba2a5", - "short_name":"syn1", - "long_name":"I'm syncing ", - "hw_model":"T_ECHO", - "role":"CLIENT", - "snr":10.0, - "battery_level":null, - "voltage":null, - "last_heard":1757949399, - "first_heard":1757849097, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T15:16:39Z" - }, - { - "node_id":"!9eeb25ec", - "short_name":"25ec", - "long_name":"Meshtastic 25ec", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.0, - "battery_level":null, - "voltage":null, - "last_heard":1757949314, - "first_heard":1757949314, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T15:15:14Z" - }, - { - "node_id":"!2f945044", - "short_name":"BND", - "long_name":"Briansnachrichtendienst", - "hw_model":"TLORA_V2_1_1P6", - "role":"CLIENT", - "snr":-12.25, - "battery_level":96.0, - "voltage":4.14, - "last_heard":1757948827, - "first_heard":1757787385, - "uptime_seconds":61, - "channel_utilization":6.011667, - "air_util_tx":0.0335, - "position_time":1757947583, - "latitude":52.4435456, - "longitude":13.3906432, - "altitude":50.0, - "last_seen_iso":"2025-09-15T15:07:07Z", - "pos_time_iso":"2025-09-15T14:46:23Z" - }, - { - "node_id":"!5d823fb1", - "short_name":"3fb1", - "long_name":"SoswB", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":-14.0, - "battery_level":null, - "voltage":null, - "last_heard":1757945442, - "first_heard":1757774595, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T14:10:42Z" - }, - { - "node_id":"!c5abeec2", - "short_name":"ICEM", - "long_name":"ICE Mobile", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT", - "snr":10.5, - "battery_level":84.0, - "voltage":4.047, - "last_heard":1757944855, - "first_heard":1757928259, - "uptime_seconds":22332, - "channel_utilization":6.893333, - "air_util_tx":0.7370833, - "position_time":1757944853, - "latitude":52.4156928, - "longitude":13.5135232, - "altitude":35.0, - "last_seen_iso":"2025-09-15T14:00:55Z", - "pos_time_iso":"2025-09-15T14:00:53Z" - }, - { - "node_id":"!0910c922", - "short_name":"c922", - "long_name":"Meshtastic c922", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":11.25, - "battery_level":60.0, - "voltage":3.807, - "last_heard":1757941729, - "first_heard":1757830191, - "uptime_seconds":31630, - "channel_utilization":9.351667, - "air_util_tx":1.0132778, - "position_time":1757928193, - "latitude":52.559872, - "longitude":13.6577024, - "altitude":null, - "last_seen_iso":"2025-09-15T13:08:49Z", - "pos_time_iso":"2025-09-15T09:23:13Z" - }, - { - "node_id":"!28978dd4", - "short_name":"Gelb", - "long_name":"Gelb innen", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":10.5, - "battery_level":null, - "voltage":null, - "last_heard":1757941652, - "first_heard":1757770565, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T13:07:32Z" - }, - { - "node_id":"!1551a9dc", - "short_name":"PELA", - "long_name":"PELA a9dc", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757939305, - "first_heard":1757913601, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757939302, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":31.0, - "last_seen_iso":"2025-09-15T12:28:25Z", - "pos_time_iso":"2025-09-15T12:28:22Z" - }, - { - "node_id":"!c0c309ec", - "short_name":"NJM1", - "long_name":"NHGJM1_09ec", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757939019, - "first_heard":1757820219, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T12:23:39Z" - }, - { - "node_id":"!64e2ecc2", - "short_name":"d0m", - "long_name":"d0m", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757936716, - "first_heard":1757831284, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T11:45:16Z" - }, - { - "node_id":"!9ee71c38", - "short_name":"1c38", - "long_name":"Varus1c38", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.5, - "battery_level":null, - "voltage":null, - "last_heard":1757934899, - "first_heard":1757784888, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T11:14:59Z" - }, - { - "node_id":"!da73ea58", - "short_name":"🏡", - "long_name":"dmho-ho", - "hw_model":"SEEED_XIAO_S3", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757934581, - "first_heard":1757882020, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T11:09:41Z" - }, - { - "node_id":"!9ea1bea4", - "short_name":"zwgl", - "long_name":"Zwanglos Boddin", - "hw_model":"HELTEC_V3", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":101.0, - "voltage":4.29, - "last_heard":1757924831, - "first_heard":1757838418, - "uptime_seconds":1194263, - "channel_utilization":0.29, - "air_util_tx":0.0, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T08:27:11Z" - }, - { - "node_id":"!6c6964f4", - "short_name":"BXU9", - "long_name":"The Unknown Station #9", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":11.0, - "battery_level":101.0, - "voltage":0.0, - "last_heard":1757922959, - "first_heard":1757892003, - "uptime_seconds":2223, - "channel_utilization":0.6433333, - "air_util_tx":0.09477778, - "position_time":1757922346, - "latitude":52.3829248, - "longitude":13.6511488, - "altitude":76.0, - "last_seen_iso":"2025-09-15T07:55:59Z", - "pos_time_iso":"2025-09-15T07:45:46Z" - }, - { - "node_id":"!9eecf544", - "short_name":"f544", - "long_name":"Meshtastic f544", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.0, - "battery_level":101.0, - "voltage":4.27, - "last_heard":1757920953, - "first_heard":1757775822, - "uptime_seconds":41210, - "channel_utilization":0.0, - "air_util_tx":0.35269445, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T07:22:33Z" - }, - { - "node_id":"!01bb88db", - "short_name":"GSBM", - "long_name":"Gedenkstätte Berliner Mauer", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":8.0, - "battery_level":null, - "voltage":null, - "last_heard":1757918174, - "first_heard":1757820966, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-15T06:36:14Z" - }, - { - "node_id":"!2b1f7a6f", - "short_name":"kerc", - "long_name":"kermit-cap", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "snr":10.75, - "battery_level":101.0, - "voltage":4.188, - "last_heard":1757912588, - "first_heard":1757821520, - "uptime_seconds":203658, - "channel_utilization":0.0, - "air_util_tx":0.015694445, - "position_time":1757912567, - "latitude":52.5008896, - "longitude":13.4283264, - "altitude":26.0, - "last_seen_iso":"2025-09-15T05:03:08Z", - "pos_time_iso":"2025-09-15T05:02:47Z" - }, - { - "node_id":"!433b36c4", - "short_name":"36c4", - "long_name":"Meshtastic 36c4", - "hw_model":"HELTEC_V3", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":101.0, - "voltage":4.22, - "last_heard":1757890305, - "first_heard":1757826915, - "uptime_seconds":61, - "channel_utilization":2.02, - "air_util_tx":0.013027778, - "position_time":1757890305, - "latitude":52.4550144, - "longitude":13.3955584, - "altitude":51.0, - "last_seen_iso":"2025-09-14T22:51:45Z", - "pos_time_iso":"2025-09-14T22:51:45Z" - }, - { - "node_id":"!433ef3e8", - "short_name":"F&F1", - "long_name":"F&F Node 1", - "hw_model":"HELTEC_V3", - "role":"CLIENT_MUTE", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1757889266, - "first_heard":1757889266, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T22:34:26Z" - }, - { - "node_id":"!2d070d01", - "short_name":"0d01", - "long_name":"Pankow-0d01", - "hw_model":"RAK4631", - "role":"ROUTER", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1757887925, - "first_heard":1757769107, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T22:12:05Z" - }, - { - "node_id":"!9ea12df0", - "short_name":"Ed-2", - "long_name":"Plänti-2", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757886951, - "first_heard":1757798479, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T21:55:51Z" - }, - { - "node_id":"!dc7494c4", - "short_name":"narc", - "long_name":"free2air narcissus", - "hw_model":"T_ECHO", - "role":"CLIENT", - "snr":11.0, - "battery_level":101.0, - "voltage":4.885, - "last_heard":1757886215, - "first_heard":1757802406, - "uptime_seconds":120272, - "channel_utilization":1.08, - "air_util_tx":0.40763888, - "position_time":1757886215, - "latitude":52.5074432, - "longitude":13.3955584, - "altitude":98.0, - "last_seen_iso":"2025-09-14T21:43:35Z", - "pos_time_iso":"2025-09-14T21:43:35Z" - }, - { - "node_id":"!435b0714", - "short_name":"GR", - "long_name":"GolfRomeo", - "hw_model":"LILYGO_TBEAM_S3_CORE", - "role":"CLIENT", - "snr":11.75, - "battery_level":null, - "voltage":null, - "last_heard":1757880681, - "first_heard":1757796511, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757880661, - "latitude":52.5074432, - "longitude":13.3955584, - "altitude":6.0, - "last_seen_iso":"2025-09-14T20:11:21Z", - "pos_time_iso":"2025-09-14T20:11:01Z" - }, - { - "node_id":"!fa6a3d6c", - "short_name":"Kn1S", - "long_name":"Kein1Stein_3d6c", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1757877889, - "first_heard":1757778421, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757877868, - "latitude":52.4645919, - "longitude":13.323267, - "altitude":20.0, - "last_seen_iso":"2025-09-14T19:24:49Z", - "pos_time_iso":"2025-09-14T19:24:28Z" - }, - { - "node_id":"!f6b3f9bf", - "short_name":"f9bf", - "long_name":"Meshtastic f9bf", - "hw_model":"UNSET", - "role":"CLIENT", - "snr":10.0, - "battery_level":92.0, - "voltage":4.084, - "last_heard":1757873438, - "first_heard":1757802296, - "uptime_seconds":587624, - "channel_utilization":0.0, - "air_util_tx":0.5816389, - "position_time":1757873438, - "latitude":52.5074432, - "longitude":13.3431296, - "altitude":10.0, - "last_seen_iso":"2025-09-14T18:10:38Z", - "pos_time_iso":"2025-09-14T18:10:38Z" - }, - { - "node_id":"!78299711", - "short_name":"EDUT", - "long_name":"7EDU_Tracker", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "snr":10.0, - "battery_level":null, - "voltage":null, - "last_heard":1757872010, - "first_heard":1757872010, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T17:46:50Z" - }, - { - "node_id":"!7a6bf888", - "short_name":"g0r", - "long_name":"g0r", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757866046, - "first_heard":1757866046, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T16:07:26Z" - }, - { - "node_id":"!2fbb1f99", - "short_name":"TWR5", - "long_name":"TWR5-Node", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":-12.0, - "battery_level":96.0, - "voltage":4.135, - "last_heard":1757863942, - "first_heard":1757831000, - "uptime_seconds":461385, - "channel_utilization":9.408333, - "air_util_tx":0.37438887, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T15:32:22Z" - }, - { - "node_id":"!b03c9678", - "short_name":"9678", - "long_name":"Meshtastic 9678", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.5, - "battery_level":null, - "voltage":null, - "last_heard":1757862351, - "first_heard":1757862351, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T15:05:51Z" - }, - { - "node_id":"!43b7c694", - "short_name":"FFVH", - "long_name":"Freifunk-Vaterhaus 868", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-9.5, - "battery_level":101.0, - "voltage":-0.001, - "last_heard":1757860460, - "first_heard":1757596854, - "uptime_seconds":91324, - "channel_utilization":19.016666, - "air_util_tx":4.991889, - "position_time":1757860460, - "latitude":52.4649417, - "longitude":13.4852833, - "altitude":null, - "last_seen_iso":"2025-09-14T14:34:20Z", - "pos_time_iso":"2025-09-14T14:34:20Z" - }, - { - "node_id":"!2448d855", - "short_name":"D7DS", - "long_name":"DO7DSL port.", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":11.0, - "battery_level":58.0, - "voltage":3.785, - "last_heard":1757860140, - "first_heard":1757827324, - "uptime_seconds":96555, - "channel_utilization":3.425, - "air_util_tx":0.42688888, - "position_time":1757860140, - "latitude":52.4713984, - "longitude":13.4709248, - "altitude":37.0, - "last_seen_iso":"2025-09-14T14:29:00Z", - "pos_time_iso":"2025-09-14T14:29:00Z" - }, - { - "node_id":"!6d022fe7", - "short_name":"ACAB", - "long_name":"Køpi Bleibt!!", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":-13.5, - "battery_level":null, - "voltage":null, - "last_heard":1757859810, - "first_heard":1757859810, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T14:23:30Z" - }, - { - "node_id":"!abf83f48", - "short_name":"3f48", - "long_name":"xberg mqtt B<->HH 3f48", - "hw_model":"TBEAM", - "role":"CLIENT", - "snr":10.5, - "battery_level":100.0, - "voltage":4.159, - "last_heard":1757848344, - "first_heard":1757842531, - "uptime_seconds":394662, - "channel_utilization":1.1066667, - "air_util_tx":0.35994443, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T11:12:24Z" - }, - { - "node_id":"!bfbdc5ca", - "short_name":"c5ca", - "long_name":"gordon-shumway", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757846433, - "first_heard":1757846433, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T10:40:33Z" - }, - { - "node_id":"!ba6a8d40", - "short_name":"8d40", - "long_name":"Meshtastic 8d40", - "hw_model":"UNSET", - "role":"CLIENT", - "snr":10.5, - "battery_level":101.0, - "voltage":4.264, - "last_heard":1757841940, - "first_heard":1757841940, - "uptime_seconds":15602, - "channel_utilization":6.1633334, - "air_util_tx":1.1865834, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T09:25:40Z" - }, - { - "node_id":"!a2ed9ab0", - "short_name":"NFN1", - "long_name":"NFN-134#18-01 / notfunknetzwerk.de", - "hw_model":"STATION_G2", - "role":"CLIENT", - "snr":11.25, - "battery_level":101.0, - "voltage":0.0, - "last_heard":1757835205, - "first_heard":1757773995, - "uptime_seconds":223751, - "channel_utilization":6.5866666, - "air_util_tx":0.65761113, - "position_time":1757834618, - "latitude":52.5635584, - "longitude":13.3771264, - "altitude":82.0, - "last_seen_iso":"2025-09-14T07:33:25Z", - "pos_time_iso":"2025-09-14T07:23:38Z" - }, - { - "node_id":"!b03d9170", - "short_name":"9170", - "long_name":"Meshtastic 9170", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":11.0, - "battery_level":68.0, - "voltage":3.872, - "last_heard":1757830324, - "first_heard":1757830324, - "uptime_seconds":23462, - "channel_utilization":5.65, - "air_util_tx":0.76186115, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-14T06:12:04Z" - }, - { - "node_id":"!ba0cae50", - "short_name":"NJMA", - "long_name":"NHGJMA_ae50", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-10.0, - "battery_level":54.0, - "voltage":3.758, - "last_heard":1757816213, - "first_heard":1757816213, - "uptime_seconds":61, - "channel_utilization":2.675, - "air_util_tx":0.018166667, - "position_time":1757815898, - "latitude":52.5074432, - "longitude":13.6577024, - "altitude":72.0, - "last_seen_iso":"2025-09-14T02:16:53Z", - "pos_time_iso":"2025-09-14T02:11:38Z" - }, - { - "node_id":"!1bf8ed79", - "short_name":"MxMG", - "long_name":"Max Mobil Grau", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT_MUTE", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757815963, - "first_heard":1757815963, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757791826, - "latitude":52.477952, - "longitude":13.320192, - "altitude":41.0, - "last_seen_iso":"2025-09-14T02:12:43Z", - "pos_time_iso":"2025-09-13T19:30:26Z" - }, - { - "node_id":"!9ee71b3c", - "short_name":"🐸", - "long_name":"spuck", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-10.5, - "battery_level":18.0, - "voltage":3.406, - "last_heard":1757815862, - "first_heard":1757815862, - "uptime_seconds":99670, - "channel_utilization":5.3599997, - "air_util_tx":0.92630553, - "position_time":null, - "latitude":52.5074432, - "longitude":13.500416, - "altitude":49.0, - "last_seen_iso":"2025-09-14T02:11:02Z" - }, - { - "node_id":"!9ea1af60", - "short_name":"stph", - "long_name":"Stephie", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":-9.75, - "battery_level":null, - "voltage":null, - "last_heard":1757814507, - "first_heard":1757814507, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757814953, - "latitude":52.5041664, - "longitude":13.451264, - "altitude":36.0, - "last_seen_iso":"2025-09-14T01:48:27Z", - "pos_time_iso":"2025-09-14T01:55:53Z" - }, - { - "node_id":"!c8b928d6", - "short_name":"BPS", - "long_name":"BlackPress", - "hw_model":"RAK4631", - "role":"CLIENT", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1757804907, - "first_heard":1757804907, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-13T23:08:27Z" - }, - { - "node_id":"!f9b262d4", - "short_name":"FPUD", - "long_name":"DD6UAT Vogelsdorf", - "hw_model":"TLORA_V2_1_1P6", - "role":"CLIENT", - "snr":11.25, - "battery_level":101.0, - "voltage":4.397, - "last_heard":1757796130, - "first_heard":1757796130, - "uptime_seconds":60, - "channel_utilization":2.5533333, - "air_util_tx":0.021277778, - "position_time":1757796133, - "latitude":52.5074432, - "longitude":13.76256, - "altitude":0.0, - "last_seen_iso":"2025-09-13T20:42:10Z", - "pos_time_iso":"2025-09-13T20:42:13Z" - }, - { - "node_id":"!2f91531c", - "short_name":"ijon", - "long_name":"mobile.ijon.tychie", - "hw_model":"T_DECK_PRO", - "role":"CLIENT", - "snr":11.0, - "battery_level":null, - "voltage":null, - "last_heard":1757786605, - "first_heard":1757786605, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-13T18:03:25Z" - }, - { - "node_id":"!433af570", - "short_name":"LB", - "long_name":"LAN Backpack", - "hw_model":"HELTEC_V3", - "role":"CLIENT_MUTE", - "snr":10.75, - "battery_level":101.0, - "voltage":4.226, - "last_heard":1757783077, - "first_heard":1757783077, - "uptime_seconds":61, - "channel_utilization":1.55, - "air_util_tx":0.007972223, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-13T17:04:37Z" - }, - { - "node_id":"!99bc90a8", - "short_name":"d**b", - "long_name":"d**b Deck", - "hw_model":"T_DECK", - "role":"CLIENT_MUTE", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1757781032, - "first_heard":1757781032, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-13T16:30:32Z" - }, - { - "node_id":"!5b835c1c", - "short_name":"APRL", - "long_name":"AprilAllTheTime ", - "hw_model":"HELTEC_MESH_NODE_T114", - "role":"CLIENT", - "snr":10.75, - "battery_level":null, - "voltage":null, - "last_heard":1757776492, - "first_heard":1757776492, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757777355, - "latitude":52.5074432, - "longitude":13.3431296, - "altitude":36.0, - "last_seen_iso":"2025-09-13T15:14:52Z", - "pos_time_iso":"2025-09-13T15:29:15Z" - }, - { - "node_id":"!f840cb2d", - "short_name":"cb2d", - "long_name":"Meshtastic cb2d", - "hw_model":"UNSET", - "role":"CLIENT", - "snr":11.25, - "battery_level":null, - "voltage":null, - "last_heard":1757767695, - "first_heard":1757767695, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757767678, - "latitude":52.5074432, - "longitude":13.3955584, - "altitude":-6.0, - "last_seen_iso":"2025-09-13T12:48:15Z", - "pos_time_iso":"2025-09-13T12:47:58Z" - }, - { - "node_id":"!336019dc", - "short_name":"🥚", - "long_name":"Meshtastic 19dc", - "hw_model":"LILYGO_TBEAM_S3_CORE", - "role":"CLIENT", - "snr":10.25, - "battery_level":101.0, - "voltage":4.164, - "last_heard":1757767317, - "first_heard":1757767317, - "uptime_seconds":22630, - "channel_utilization":1.86, - "air_util_tx":0.74213886, - "position_time":1757796407, - "latitude":52.4896667, - "longitude":13.3502437, - "altitude":38.0, - "last_seen_iso":"2025-09-13T12:41:57Z", - "pos_time_iso":"2025-09-13T20:46:47Z" - }, - { - "node_id":"!17f58f25", - "short_name":"imja", - "long_name":"imja", - "hw_model":"TRACKER_T1000_E", - "role":"TRACKER", - "snr":10.25, - "battery_level":34.0, - "voltage":3.794, - "last_heard":1757766359, - "first_heard":1757766359, - "uptime_seconds":25255, - "channel_utilization":2.9433334, - "air_util_tx":1.000861, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-13T12:25:59Z" - }, - { - "node_id":"!b5954cf7", - "short_name":"jofi", - "long_name":"jofi 4cf7", - "hw_model":"TRACKER_T1000_E", - "role":"CLIENT", - "snr":-11.75, - "battery_level":null, - "voltage":null, - "last_heard":1757765297, - "first_heard":1757765297, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":1757765291, - "latitude":52.5074432, - "longitude":13.2907008, - "altitude":34.0, - "last_seen_iso":"2025-09-13T12:08:17Z", - "pos_time_iso":"2025-09-13T12:08:11Z" - }, - { - "node_id":"!ee59338a", - "short_name":"pizi", - "long_name":"Pitztaler Straße Panketal", - "hw_model":"SEEED_SOLAR_NODE", - "role":"CLIENT", - "snr":-1.25, - "battery_level":null, - "voltage":null, - "last_heard":1757765246, - "first_heard":1757765246, - "uptime_seconds":null, - "channel_utilization":null, - "air_util_tx":null, - "position_time":null, - "latitude":null, - "longitude":null, - "altitude":null, - "last_seen_iso":"2025-09-13T12:07:26Z" - }, - { - "node_id":"!db2b4f3c", - "short_name":"rboM", - "long_name":"rbo-mobile", - "hw_model":"HELTEC_V3", - "role":"CLIENT", - "snr":10.75, - "battery_level":99.0, - "voltage":4.178, - "last_heard":1757759115, - "first_heard":1757759115, - "uptime_seconds":45209, - "channel_utilization":1.1933333, - "air_util_tx":0.6788611, - "position_time":1757743846, - "latitude":52.5672448, - "longitude":13.5241728, - "altitude":76.0, - "last_seen_iso":"2025-09-13T10:25:15Z", - "pos_time_iso":"2025-09-13T06:10:46Z" - } -] diff --git a/test/debug.py b/tests/debug.py similarity index 100% rename from test/debug.py rename to tests/debug.py diff --git a/tests/mesh.db b/tests/mesh.db new file mode 100644 index 0000000..cfd6476 Binary files /dev/null and b/tests/mesh.db differ diff --git a/tests/messages.json b/tests/messages.json new file mode 100644 index 0000000..98d2c01 --- /dev/null +++ b/tests/messages.json @@ -0,0 +1,4002 @@ +[ + { + "id": 3105865265, + "rx_time": 1758021531, + "rx_iso": "2025-09-16T11:18:51Z", + "from_id": "!bba83318", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Mahlzeit ", + "rssi": -121, + "hop_limit": 1, + "snr": -13.25, + "node": { + "snr": -13.25, + "raw_json": null, + "node_id": "!bba83318", + "num": 3148362520, + "short_name": "BerF", + "long_name": "Bernau-Friedenstal", + "macaddr": "LLy7qDMY", + "hw_model": "TBEAM", + "role": "CLIENT", + "public_key": "GfyQJ3jYKh+l0Li4w+8PzpA4i/vls1nrdCkcwVj2ICM=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 4, + "last_heard": 1758022862, + "first_heard": 1757825270, + "battery_level": 101.0, + "voltage": -0.001, + "channel_utilization": 7.01, + "air_util_tx": 0.030944444, + "uptime_seconds": 61, + "position_time": 1758022862, + "location_source": "LOC_INTERNAL", + "latitude": 52.6712832, + "longitude": 13.5593984, + "altitude": 50.0 + } + }, + { + "id": 1787405016, + "rx_time": 1758020618, + "rx_iso": "2025-09-16T11:03:38Z", + "from_id": "!43b6e530", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "@RRun 🏓PONG\n1 hops", + "rssi": -117, + "hop_limit": 3, + "snr": -12.0, + "node": { + "snr": -12.0, + "raw_json": null, + "node_id": "!43b6e530", + "num": 1136059696, + "short_name": "FFSR", + "long_name": "Freifunk-Scherer BOT 868", + "macaddr": "SMpDtuUw", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "VbueTxbv8SjGmcLLrlt9/um15QDvis/HpIHiV2flyiI=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758022410, + "first_heard": 1757832883, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758022410, + "location_source": "LOC_MANUAL", + "latitude": 52.5481294, + "longitude": 13.3669095, + "altitude": 0.0 + } + }, + { + "id": 785587518, + "rx_time": 1758020613, + "rx_iso": "2025-09-16T11:03:33Z", + "from_id": "!d42e18e8", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Ping", + "rssi": -116, + "hop_limit": 5, + "snr": -13.5, + "node": { + "snr": 11.0, + "raw_json": null, + "node_id": "!d42e18e8", + "num": 3559790824, + "short_name": "RRun", + "long_name": "Road-Runner", + "macaddr": "xrjULhjo", + "hw_model": "RAK4631", + "role": "CLIENT", + "public_key": "iL0CyO7cx9qTVyXpQ/f6dCBiW3vwqa+qMrQSZS7I8QM=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 5, + "last_heard": 1758021865, + "first_heard": 1757831063, + "battery_level": 94.0, + "voltage": 4.106, + "channel_utilization": 5.725, + "air_util_tx": 0.9239167, + "uptime_seconds": 452482, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 785587517, + "rx_time": 1758020588, + "rx_iso": "2025-09-16T11:03:08Z", + "from_id": "!d42e18e8", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hallo Meshland ...Mahlzeit !", + "rssi": -117, + "hop_limit": 4, + "snr": -13.0, + "node": { + "snr": 11.0, + "raw_json": null, + "node_id": "!d42e18e8", + "num": 3559790824, + "short_name": "RRun", + "long_name": "Road-Runner", + "macaddr": "xrjULhjo", + "hw_model": "RAK4631", + "role": "CLIENT", + "public_key": "iL0CyO7cx9qTVyXpQ/f6dCBiW3vwqa+qMrQSZS7I8QM=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 5, + "last_heard": 1758021865, + "first_heard": 1757831063, + "battery_level": 94.0, + "voltage": 4.106, + "channel_utilization": 5.725, + "air_util_tx": 0.9239167, + "uptime_seconds": 452482, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 3818864534, + "rx_time": 1758019647, + "rx_iso": "2025-09-16T10:47:27Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Willkommen zum Mesh, Okapi & Random", + "rssi": -12, + "hop_limit": 7, + "snr": 11.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 221661412, + "rx_time": 1758018231, + "rx_iso": "2025-09-16T10:23:51Z", + "from_id": "1322478544", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "hey, wie geht's?", + "rssi": -57, + "hop_limit": null, + "snr": 11.25, + "node": { + "snr": 11.25, + "raw_json": null, + "node_id": "!4ed36bd0", + "num": 1322478544, + "short_name": "RDM", + "long_name": "Random Man", + "macaddr": "gLVO02vQ", + "hw_model": "T_DECK", + "role": "CLIENT", + "public_key": "dcLnAwTX6nmGIqpZVaRBeybklmxh5jDVpQaGqiWpsCU=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758023526, + "first_heard": 1758018235, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758023526, + "location_source": "LOC_INTERNAL", + "latitude": 52.4550144, + "longitude": 13.4479872, + "altitude": 64.0 + } + }, + { + "id": 3818864533, + "rx_time": 1758016394, + "rx_iso": "2025-09-16T09:53:14Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Richtig herbstlich 🍃", + "rssi": -12, + "hop_limit": 7, + "snr": 11.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 3818864532, + "rx_time": 1758016367, + "rx_iso": "2025-09-16T09:52:47Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "💨", + "rssi": -12, + "hop_limit": 7, + "snr": 10.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 2844884382, + "rx_time": 1758016313, + "rx_iso": "2025-09-16T09:51:53Z", + "from_id": "!b03c97a4", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hier nicht. Stattdessen Wolken und stürmisch 🤮", + "rssi": -53, + "hop_limit": 2, + "snr": 12.0, + "node": { + "snr": 12.0, + "raw_json": null, + "node_id": "!b03c97a4", + "num": 2956760996, + "short_name": "BLN1", + "long_name": "BLNo1 Fhain Süd ", + "macaddr": "NM2wPJek", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "VlEeppB6lRZ0vu78gvmwjHw8YXU6t0QJNFhp/vyIcVY=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758020843, + "first_heard": 1757831824, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758020843, + "location_source": "LOC_EXTERNAL", + "latitude": 52.502528, + "longitude": 13.4561792, + "altitude": 38.0 + } + }, + { + "id": 2310435040, + "rx_time": 1758016203, + "rx_iso": "2025-09-16T09:50:03Z", + "from_id": "!9eeb25ec", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "👍", + "rssi": -121, + "hop_limit": 5, + "snr": -15.0, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9eeb25ec", + "num": 2666210796, + "short_name": "25ec", + "long_name": "Meshtastic 25ec", + "macaddr": "nBOe6yXs", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758023552, + "first_heard": 1757949314, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758023552, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 52.0 + } + }, + { + "id": 1291522804, + "rx_time": 1758016171, + "rx_iso": "2025-09-16T09:49:31Z", + "from_id": "!f9b0938c", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Ich", + "rssi": -54, + "hop_limit": 3, + "snr": 11.25, + "node": { + "snr": 11.25, + "raw_json": null, + "node_id": "!f9b0938c", + "num": 4189098892, + "short_name": "Ed-1", + "long_name": "Y35RO Plänterwald ", + "macaddr": "8CT5sJOM", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "public_key": "Ms8ww6GB7pUEk9MUHTR9VQT3wEb9DIBJZ1g7Lr8Tsmc=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758021840, + "first_heard": 1757803142, + "battery_level": 101.0, + "voltage": 4.264, + "channel_utilization": 3.4916666, + "air_util_tx": 0.6040555, + "uptime_seconds": 91873, + "position_time": 1758021840, + "location_source": "LOC_EXTERNAL", + "latitude": 52.4550144, + "longitude": 13.4479872, + "altitude": 36.0 + } + }, + { + "id": 1348816042, + "rx_time": 1758014678, + "rx_iso": "2025-09-16T09:24:38Z", + "from_id": "!6c73bf84", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Oh die Sonne kommt raus ☀️🏝️", + "rssi": -45, + "hop_limit": 4, + "snr": 11.25, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!6c73bf84", + "num": 1819524996, + "short_name": "ts1", + "long_name": "Tegeler See Node 1", + "macaddr": "oN1sc7+E", + "hw_model": "TBEAM", + "role": "CLIENT", + "public_key": "AW0bHoCVF0Yzo3yWx96b8XtA2kNZBQsWRyoQjKKm02A=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 4, + "last_heard": 1758014737, + "first_heard": 1757824664, + "battery_level": 100.0, + "voltage": 4.179, + "channel_utilization": 6.3450003, + "air_util_tx": 0.28575, + "uptime_seconds": 30670, + "position_time": null, + "location_source": "LOC_MANUAL", + "latitude": 52.559872, + "longitude": 13.2907008, + "altitude": 35.0 + } + }, + { + "id": 1136075264, + "rx_time": 1758012786, + "rx_iso": "2025-09-16T08:53:06Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "👍", + "rssi": -68, + "hop_limit": 2, + "snr": 11.25, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 3818864531, + "rx_time": 1758011553, + "rx_iso": "2025-09-16T08:32:33Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Moin, wer ist den gerade alles online?", + "rssi": -57, + "hop_limit": 7, + "snr": 11.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 1354428383, + "rx_time": 1758010293, + "rx_iso": "2025-09-16T08:11:33Z", + "from_id": "!6cf821fb", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "🫖", + "rssi": -67, + "hop_limit": 1, + "snr": 11.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!6cf821fb", + "num": 1828200955, + "short_name": "OKP1", + "long_name": "Okapi 1 (he) mobil", + "macaddr": "+tVs+CH7", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "public_key": "ZatOOt4nfXsDgJv6/UOw9CKb2vPOfXcxwUq80TS2Tno=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757963585, + "first_heard": 1757959167, + "battery_level": 85.0, + "voltage": 4.051, + "channel_utilization": 5.4233336, + "air_util_tx": 0.03694444, + "uptime_seconds": 66, + "position_time": 1757962779, + "location_source": "LOC_INTERNAL", + "latitude": 52.5074432, + "longitude": 13.4479872, + "altitude": 51.0 + } + }, + { + "id": 1354428382, + "rx_time": 1758010255, + "rx_iso": "2025-09-16T08:10:55Z", + "from_id": "!6cf821fb", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "👋", + "rssi": -70, + "hop_limit": null, + "snr": 10.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!6cf821fb", + "num": 1828200955, + "short_name": "OKP1", + "long_name": "Okapi 1 (he) mobil", + "macaddr": "+tVs+CH7", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "public_key": "ZatOOt4nfXsDgJv6/UOw9CKb2vPOfXcxwUq80TS2Tno=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757963585, + "first_heard": 1757959167, + "battery_level": 85.0, + "voltage": 4.051, + "channel_utilization": 5.4233336, + "air_util_tx": 0.03694444, + "uptime_seconds": 66, + "position_time": 1757962779, + "location_source": "LOC_INTERNAL", + "latitude": 52.5074432, + "longitude": 13.4479872, + "altitude": 51.0 + } + }, + { + "id": 1004988335, + "rx_time": 1758009746, + "rx_iso": "2025-09-16T08:02:26Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Morgähn! Puh mehr Kaffee ☕️ ", + "rssi": -65, + "hop_limit": 4, + "snr": 10.5, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 2939053303, + "rx_time": 1758009621, + "rx_iso": "2025-09-16T08:00:21Z", + "from_id": "!db2b23f4", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Pong/Moin/GuMo", + "rssi": -69, + "hop_limit": 5, + "snr": 10.25, + "node": { + "snr": 10.25, + "raw_json": null, + "node_id": "!db2b23f4", + "num": 3677037556, + "short_name": "Eagl", + "long_name": "Gwaihir", + "macaddr": "EFHbKyP0", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "LL4XdtW32i1+U2L/aC32cBSV6U7/dJKQk1oUQqud9mg=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758012346, + "first_heard": 1757822402, + "battery_level": 101.0, + "voltage": 4.235, + "channel_utilization": 3.4016664, + "air_util_tx": 1.0981389, + "uptime_seconds": 52420, + "position_time": 1758012332, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 41.0 + } + }, + { + "id": 1354428381, + "rx_time": 1758007602, + "rx_iso": "2025-09-16T07:26:42Z", + "from_id": "!6cf821fb", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hallo von einem Neuling.", + "rssi": -71, + "hop_limit": 1, + "snr": 11.25, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!6cf821fb", + "num": 1828200955, + "short_name": "OKP1", + "long_name": "Okapi 1 (he) mobil", + "macaddr": "+tVs+CH7", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "public_key": "ZatOOt4nfXsDgJv6/UOw9CKb2vPOfXcxwUq80TS2Tno=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757963585, + "first_heard": 1757959167, + "battery_level": 85.0, + "voltage": 4.051, + "channel_utilization": 5.4233336, + "air_util_tx": 0.03694444, + "uptime_seconds": 66, + "position_time": 1757962779, + "location_source": "LOC_INTERNAL", + "latitude": 52.5074432, + "longitude": 13.4479872, + "altitude": 51.0 + } + }, + { + "id": 3094667674, + "rx_time": 1758002943, + "rx_iso": "2025-09-16T06:09:03Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Moin!", + "rssi": -79, + "hop_limit": 6, + "snr": 11.0, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 1596569460, + "rx_time": 1758001093, + "rx_iso": "2025-09-16T05:38:13Z", + "from_id": "!177cfa26", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Guten Morgen", + "rssi": -116, + "hop_limit": 2, + "snr": -11.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!177cfa26", + "num": 394066470, + "short_name": "lun1", + "long_name": "Lunet One", + "macaddr": "2y4XfPom", + "hw_model": "T_ECHO", + "role": "CLIENT", + "public_key": "YnT5fSoIXf7S5zLBhR7wR9Bd8VOQxNsRqtElF2gy1B8=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758017722, + "first_heard": 1757768167, + "battery_level": 101.0, + "voltage": 4.847, + "channel_utilization": 1.0316666, + "air_util_tx": 0.021694444, + "uptime_seconds": 1046205, + "position_time": 1758000320, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5021165, + "longitude": 13.5000622, + "altitude": 61.0 + } + }, + { + "id": 32924066, + "rx_time": 1758000325, + "rx_iso": "2025-09-16T05:25:25Z", + "from_id": "!9ea0c780", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Moin ☕️", + "rssi": -52, + "hop_limit": 5, + "snr": 11.25, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!9ea0c780", + "num": 2661336960, + "short_name": "nguE", + "long_name": "ngud E Mobile", + "macaddr": "nBOeoMeA", + "hw_model": "HELTEC_WIRELESS_PAPER", + "role": "CLIENT", + "public_key": "J0g4pBWbfIYtD1tY/fCFplkx+slnQ5pyzPQcbLLa+yI=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758022219, + "first_heard": 1757808007, + "battery_level": 58.0, + "voltage": 3.79, + "channel_utilization": 6.225, + "air_util_tx": 0.03836111, + "uptime_seconds": 61, + "position_time": 1758004811, + "location_source": "LOC_MANUAL", + "latitude": 52.5369344, + "longitude": 13.484032, + "altitude": 66.0 + } + }, + { + "id": 219813646, + "rx_time": 1757999805, + "rx_iso": "2025-09-16T05:16:45Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Mehr!", + "rssi": -51, + "hop_limit": 1, + "snr": 10.75, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 1470988520, + "rx_time": 1757996560, + "rx_iso": "2025-09-16T04:22:40Z", + "from_id": "!e80cda12", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Gutn Mrgn", + "rssi": -55, + "hop_limit": 3, + "snr": 11.5, + "node": { + "snr": 11.0, + "raw_json": null, + "node_id": "!e80cda12", + "num": 3893156370, + "short_name": "mowW", + "long_name": "mirkosw /pWisMeshTag", + "macaddr": "/ijoDNoS", + "hw_model": "WISMESH_TAG", + "role": "CLIENT_MUTE", + "public_key": "cJi950aF2cgxa0xThMEX2vmeQ0+dxGEm1GFOzvm0byQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758000138, + "first_heard": 1757797822, + "battery_level": 94.0, + "voltage": 4.114, + "channel_utilization": 3.01, + "air_util_tx": 0.014333334, + "uptime_seconds": 66, + "position_time": 1758000127, + "location_source": "LOC_INTERNAL", + "latitude": 52.4725355, + "longitude": 13.3700968, + "altitude": -39.0 + } + }, + { + "id": 2844052841, + "rx_time": 1757996484, + "rx_iso": "2025-09-16T04:21:24Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "moin", + "rssi": -54, + "hop_limit": 6, + "snr": 11.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 476809275, + "rx_time": 1757993848, + "rx_iso": "2025-09-16T03:37:28Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Moin", + "rssi": -53, + "hop_limit": 4, + "snr": 11.5, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 2844052817, + "rx_time": 1757984695, + "rx_iso": "2025-09-16T01:04:55Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "direkt", + "rssi": -55, + "hop_limit": 6, + "snr": 11.5, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 944620241, + "rx_time": 1757969871, + "rx_iso": "2025-09-15T20:57:51Z", + "from_id": "!a0cb1608", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Yay, direct SNR -11.25", + "rssi": -115, + "hop_limit": 4, + "snr": -11.75, + "node": { + "snr": -9.75, + "raw_json": null, + "node_id": "!a0cb1608", + "num": 2697664008, + "short_name": "KBV5", + "long_name": "KeinBierVor5", + "macaddr": "MO2gyxYI", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "7nIzxu/WSZ87cIkFFUzBjV08Sut9SGhjAyLka1GGziU=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 1, + "last_heard": 1758022713, + "first_heard": 1757823622, + "battery_level": 83.0, + "voltage": 4.01, + "channel_utilization": 2.9883332, + "air_util_tx": 0.89416665, + "uptime_seconds": 160927, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 2873331581, + "rx_time": 1757968463, + "rx_iso": "2025-09-15T20:34:23Z", + "from_id": "!bcf10936", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Gute Nacht zusammen!", + "rssi": -47, + "hop_limit": 2, + "snr": 10.75, + "node": { + "snr": 10.25, + "raw_json": null, + "node_id": "!bcf10936", + "num": 3169913142, + "short_name": "0936", + "long_name": "Hopfensender HQ", + "macaddr": "0D688Qk2", + "hw_model": "RAK4631", + "role": "CLIENT", + "public_key": "XhxIf5cQIDMLvHCfCPIicjwSCKYycM0Yz0jdOOe5Rlk=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 5, + "last_heard": 1758023735, + "first_heard": 1757833703, + "battery_level": 97.0, + "voltage": 4.148, + "channel_utilization": 4.778333, + "air_util_tx": 0.7001944, + "uptime_seconds": 39435, + "position_time": 1758023735, + "location_source": "LOC_MANUAL", + "latitude": 52.5729792, + "longitude": 13.43488, + "altitude": 57.0 + } + }, + { + "id": 1782815903, + "rx_time": 1757968301, + "rx_iso": "2025-09-15T20:31:41Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hi", + "rssi": -13, + "hop_limit": 7, + "snr": 11.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 1376017812, + "rx_time": 1757966842, + "rx_iso": "2025-09-15T20:07:22Z", + "from_id": "!a0cc6904", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hi", + "rssi": -118, + "hop_limit": 1, + "snr": -13.25, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!a0cc6904", + "num": 2697750788, + "short_name": "Kdû", + "long_name": "Khazad-dûm", + "macaddr": "MO2gzGkE", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "BKETsLZtRk2Ck8OG7Qg6WeRhWNlx96Vao29xUaX2BlQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1757992840, + "first_heard": 1757819079, + "battery_level": 4.0, + "voltage": 3.195, + "channel_utilization": 0.7366667, + "air_util_tx": 0.7919166, + "uptime_seconds": 154899, + "position_time": 1757987158, + "location_source": "LOC_INTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 57.0 + } + }, + { + "id": 716585726, + "rx_time": 1757966820, + "rx_iso": "2025-09-15T20:07:00Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hi", + "rssi": -48, + "hop_limit": 6, + "snr": 10.5, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 2504325195, + "rx_time": 1757966797, + "rx_iso": "2025-09-15T20:06:37Z", + "from_id": "!9eeb25ec", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hi, just trying putting my node upstairs in my apartment.", + "rssi": -48, + "hop_limit": 6, + "snr": 11.0, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9eeb25ec", + "num": 2666210796, + "short_name": "25ec", + "long_name": "Meshtastic 25ec", + "macaddr": "nBOe6yXs", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758023552, + "first_heard": 1757949314, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758023552, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 52.0 + } + }, + { + "id": 1376017811, + "rx_time": 1757966748, + "rx_iso": "2025-09-15T20:05:48Z", + "from_id": "!a0cc6904", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "It seems to work.", + "rssi": -119, + "hop_limit": 2, + "snr": -14.0, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!a0cc6904", + "num": 2697750788, + "short_name": "Kdû", + "long_name": "Khazad-dûm", + "macaddr": "MO2gzGkE", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "BKETsLZtRk2Ck8OG7Qg6WeRhWNlx96Vao29xUaX2BlQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1757992840, + "first_heard": 1757819079, + "battery_level": 4.0, + "voltage": 3.195, + "channel_utilization": 0.7366667, + "air_util_tx": 0.7919166, + "uptime_seconds": 154899, + "position_time": 1757987158, + "location_source": "LOC_INTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 57.0 + } + }, + { + "id": 2504325191, + "rx_time": 1757966655, + "rx_iso": "2025-09-15T20:04:15Z", + "from_id": "!9eeb25ec", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hi, just trying putting my node upstairs in my apartment.", + "rssi": -48, + "hop_limit": 6, + "snr": 11.25, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9eeb25ec", + "num": 2666210796, + "short_name": "25ec", + "long_name": "Meshtastic 25ec", + "macaddr": "nBOe6yXs", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758023552, + "first_heard": 1757949314, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758023552, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 52.0 + } + }, + { + "id": 2504325189, + "rx_time": 1757966636, + "rx_iso": "2025-09-15T20:03:56Z", + "from_id": "!9eeb25ec", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hi, just trying putting my node upstairs in my apartment.", + "rssi": -48, + "hop_limit": 6, + "snr": 11.5, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9eeb25ec", + "num": 2666210796, + "short_name": "25ec", + "long_name": "Meshtastic 25ec", + "macaddr": "nBOe6yXs", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758023552, + "first_heard": 1757949314, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758023552, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 52.0 + } + }, + { + "id": 2504325187, + "rx_time": 1757966612, + "rx_iso": "2025-09-15T20:03:32Z", + "from_id": "!9eeb25ec", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hi, just trying putting my node upstairs in my apartment.", + "rssi": -48, + "hop_limit": 5, + "snr": 11.75, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9eeb25ec", + "num": 2666210796, + "short_name": "25ec", + "long_name": "Meshtastic 25ec", + "macaddr": "nBOe6yXs", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "oZYuBP50vk3H9u4/pszh1EUlSDaWpQpxokgnn4PbFzk=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758023552, + "first_heard": 1757949314, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758023552, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 52.0 + } + }, + { + "id": 1782815563, + "rx_time": 1757958051, + "rx_iso": "2025-09-15T17:40:51Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Ich habe uns eine Webseite gebastelt. https://potatomesh.net", + "rssi": -64, + "hop_limit": 7, + "snr": 11.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 2783818859, + "rx_time": 1757957659, + "rx_iso": "2025-09-15T17:34:19Z", + "from_id": "!03b9ca11", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Huhu, ich bin Back in Town. Irgendwas spannendes passiert seit Freitag?", + "rssi": -63, + "hop_limit": 3, + "snr": 10.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!03b9ca11", + "num": 62507537, + "short_name": "ca11", + "long_name": "Meshtastic ca11", + "macaddr": null, + "hw_model": "UNSET", + "role": "CLIENT", + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1757957659, + "first_heard": 1757957659, + "battery_level": 57.0, + "voltage": 3.869, + "channel_utilization": 2.3766665, + "air_util_tx": 0.1098889, + "uptime_seconds": 26711, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 2939052889, + "rx_time": 1757956367, + "rx_iso": "2025-09-15T17:12:47Z", + "from_id": "!db2b23f4", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "👍", + "rssi": -77, + "hop_limit": 4, + "snr": 7.5, + "node": { + "snr": 10.25, + "raw_json": null, + "node_id": "!db2b23f4", + "num": 3677037556, + "short_name": "Eagl", + "long_name": "Gwaihir", + "macaddr": "EFHbKyP0", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "LL4XdtW32i1+U2L/aC32cBSV6U7/dJKQk1oUQqud9mg=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758012346, + "first_heard": 1757822402, + "battery_level": 101.0, + "voltage": 4.235, + "channel_utilization": 3.4016664, + "air_util_tx": 1.0981389, + "uptime_seconds": 52420, + "position_time": 1758012332, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 41.0 + } + }, + { + "id": 1782815506, + "rx_time": 1757956356, + "rx_iso": "2025-09-15T17:12:36Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "👍", + "rssi": null, + "hop_limit": 7, + "snr": 10.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 2939052888, + "rx_time": 1757956315, + "rx_iso": "2025-09-15T17:11:55Z", + "from_id": "!db2b23f4", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Beste Werbung für Meshtastic: https://mastodon.social/@chatcontrol/115204439983078498 komplett beknackt der typ.", + "rssi": -52, + "hop_limit": 5, + "snr": 10.75, + "node": { + "snr": 10.25, + "raw_json": null, + "node_id": "!db2b23f4", + "num": 3677037556, + "short_name": "Eagl", + "long_name": "Gwaihir", + "macaddr": "EFHbKyP0", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "LL4XdtW32i1+U2L/aC32cBSV6U7/dJKQk1oUQqud9mg=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758012346, + "first_heard": 1757822402, + "battery_level": 101.0, + "voltage": 4.235, + "channel_utilization": 3.4016664, + "air_util_tx": 1.0981389, + "uptime_seconds": 52420, + "position_time": 1758012332, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 41.0 + } + }, + { + "id": 1343076781, + "rx_time": 1757955702, + "rx_iso": "2025-09-15T17:01:42Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Nabend 👋", + "rssi": -52, + "hop_limit": null, + "snr": 10.75, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 716585724, + "rx_time": 1757955668, + "rx_iso": "2025-09-15T17:01:08Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Nabend Leute", + "rssi": -52, + "hop_limit": 6, + "snr": 10.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 2310268022, + "rx_time": 1757954148, + "rx_iso": "2025-09-15T16:35:48Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "877c ich bekomme dich hier direkt rein. Empfang ist gut. Empfängst du meine Node?", + "rssi": -52, + "hop_limit": 3, + "snr": 10.5, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 1376017806, + "rx_time": 1757948886, + "rx_iso": "2025-09-15T15:08:06Z", + "from_id": "!a0cc6904", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Servus", + "rssi": -45, + "hop_limit": 1, + "snr": 11.0, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!a0cc6904", + "num": 2697750788, + "short_name": "Kdû", + "long_name": "Khazad-dûm", + "macaddr": "MO2gzGkE", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "BKETsLZtRk2Ck8OG7Qg6WeRhWNlx96Vao29xUaX2BlQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1757992840, + "first_heard": 1757819079, + "battery_level": 4.0, + "voltage": 3.195, + "channel_utilization": 0.7366667, + "air_util_tx": 0.7919166, + "uptime_seconds": 154899, + "position_time": 1757987158, + "location_source": "LOC_INTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 57.0 + } + }, + { + "id": 109295131, + "rx_time": 1757948827, + "rx_iso": "2025-09-15T15:07:07Z", + "from_id": "!2f945044", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Servus", + "rssi": -118, + "hop_limit": 4, + "snr": -12.25, + "node": { + "snr": -12.25, + "raw_json": null, + "node_id": "!2f945044", + "num": 798249028, + "short_name": "BND", + "long_name": "Briansnachrichtendienst", + "macaddr": "FCsvlFBE", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "public_key": "WZDH1WkYCpwoOrmjV7ctC2BgOONiXc9C6tBlQPgxNgM=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1757948827, + "first_heard": 1757787385, + "battery_level": 96.0, + "voltage": 4.14, + "channel_utilization": 6.011667, + "air_util_tx": 0.0335, + "uptime_seconds": 61, + "position_time": 1757947583, + "location_source": "LOC_EXTERNAL", + "latitude": 52.4435456, + "longitude": 13.3906432, + "altitude": 50.0 + } + }, + { + "id": 717959241, + "rx_time": 1757941762, + "rx_iso": "2025-09-15T13:09:22Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "mal wieder n Test: piep !?", + "rssi": -45, + "hop_limit": 4, + "snr": 11.0, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 1542608087, + "rx_time": 1757939642, + "rx_iso": "2025-09-15T12:34:02Z", + "from_id": "!9ee71c38", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Polarlichter incoming", + "rssi": -70, + "hop_limit": null, + "snr": 10.5, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9ee71c38", + "num": 2665946168, + "short_name": "1c38", + "long_name": "Varus1c38", + "macaddr": "nBOe5xw4", + "hw_model": "HELTEC_V3", + "role": null, + "public_key": "+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757934899, + "first_heard": 1757784888, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 1376017801, + "rx_time": 1757939575, + "rx_iso": "2025-09-15T12:32:55Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "KP größer 5. Sonne macht Action.", + "rssi": -67, + "hop_limit": 1, + "snr": 10.75, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 1782814906, + "rx_time": 1757937579, + "rx_iso": "2025-09-15T11:59:39Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Die Meldung kommt aber auch erst, wenn das Gewitter schon fast durch ist 😅", + "rssi": -58, + "hop_limit": 7, + "snr": 11.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 49, + "rx_time": 1757934215, + "rx_iso": "2025-09-15T11:03:35Z", + "from_id": "!7c5b0920", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "🚨 KATWARN 🚨 Amtliche WARNUNG vor STARKEM GEWITTER", + "rssi": -67, + "hop_limit": 5, + "snr": 10.5, + "node": { + "snr": -6.25, + "raw_json": null, + "node_id": "!7c5b0920", + "num": 2086340896, + "short_name": "FFTB", + "long_name": "Freifunk-Teufelsberg BOT 868", + "macaddr": "JFh8Wwkg", + "hw_model": "HELTEC_V3", + "role": "ROUTER", + "public_key": "bJtTR+CFGycDx7wjziwOUsHjqQvcP9QITqY1K1uDxWg=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": 1, + "last_heard": 1758022460, + "first_heard": 1757828009, + "battery_level": 97.0, + "voltage": 4.149, + "channel_utilization": 0.58, + "air_util_tx": 1.0519166, + "uptime_seconds": 43287, + "position_time": 1757946866, + "location_source": "LOC_MANUAL", + "latitude": 52.49795, + "longitude": 13.24061, + "altitude": 160.0 + } + }, + { + "id": 48, + "rx_time": 1757932990, + "rx_iso": "2025-09-15T10:43:10Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "😁", + "rssi": -56, + "hop_limit": 7, + "snr": 10.25, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 47, + "rx_time": 1757932794, + "rx_iso": "2025-09-15T10:39:54Z", + "from_id": "!9ea0c780", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Jetzt ist es in Alt HH auch nass 😆", + "rssi": -64, + "hop_limit": 4, + "snr": 11.25, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!9ea0c780", + "num": 2661336960, + "short_name": "nguE", + "long_name": "ngud E Mobile", + "macaddr": "nBOeoMeA", + "hw_model": "HELTEC_WIRELESS_PAPER", + "role": "CLIENT", + "public_key": "J0g4pBWbfIYtD1tY/fCFplkx+slnQ5pyzPQcbLLa+yI=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758022219, + "first_heard": 1757808007, + "battery_level": 58.0, + "voltage": 3.79, + "channel_utilization": 6.225, + "air_util_tx": 0.03836111, + "uptime_seconds": 61, + "position_time": 1758004811, + "location_source": "LOC_MANUAL", + "latitude": 52.5369344, + "longitude": 13.484032, + "altitude": 66.0 + } + }, + { + "id": 46, + "rx_time": 1757926859, + "rx_iso": "2025-09-15T09:00:59Z", + "from_id": "!0910c922", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "@varus in Hönow kam msg an👍", + "rssi": -61, + "hop_limit": 4, + "snr": 10.75, + "node": { + "snr": -12.75, + "raw_json": null, + "node_id": "!0910c922", + "num": 152095010, + "short_name": "c922", + "long_name": "Meshtastic c922", + "macaddr": "4SYJEMki", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "public_key": "wpoWw1Lt4eBRmWB5kGorVMb6muRYSVko6BK35NCKjDs=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758020943, + "first_heard": 1757830191, + "battery_level": 67.0, + "voltage": 3.866, + "channel_utilization": 8.663333, + "air_util_tx": 0.8109445, + "uptime_seconds": 126027, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 45, + "rx_time": 1757925469, + "rx_iso": "2025-09-15T08:37:49Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "hi", + "rssi": -64, + "hop_limit": 1, + "snr": 11.0, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 44, + "rx_time": 1757925434, + "rx_iso": "2025-09-15T08:37:14Z", + "from_id": "!9ee71430", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "👀", + "rssi": -66, + "hop_limit": 1, + "snr": 11.0, + "node": { + "snr": 11.0, + "raw_json": null, + "node_id": "!9ee71430", + "num": 2665944112, + "short_name": "FiSp", + "long_name": "FireSpark", + "macaddr": "nBOe5xQw", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "3TCf45+01J1qATTKrxG8+PGMeFJEVnKBi/GyuOr7ZEQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758023883, + "first_heard": 1757838749, + "battery_level": 96.0, + "voltage": 4.144, + "channel_utilization": 0.28, + "air_util_tx": 0.27797222, + "uptime_seconds": 346359, + "position_time": 1758023883, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 67.0 + } + }, + { + "id": 43, + "rx_time": 1757924308, + "rx_iso": "2025-09-15T08:18:28Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "du kannst einstellen, wie viele \"hops\" deine nachricht macht, also über wie viele nodes sie springt. ich höre dich über 3. ich hab das auf 7 gestellt.", + "rssi": -56, + "hop_limit": 7, + "snr": 11.5, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 42, + "rx_time": 1757924200, + "rx_iso": "2025-09-15T08:16:40Z", + "from_id": "!bcf10936", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "📍 Hopfensender HQ has shared their position and requested a response with your position.", + "rssi": -63, + "hop_limit": 3, + "snr": 10.75, + "node": { + "snr": 10.25, + "raw_json": null, + "node_id": "!bcf10936", + "num": 3169913142, + "short_name": "0936", + "long_name": "Hopfensender HQ", + "macaddr": "0D688Qk2", + "hw_model": "RAK4631", + "role": "CLIENT", + "public_key": "XhxIf5cQIDMLvHCfCPIicjwSCKYycM0Yz0jdOOe5Rlk=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 5, + "last_heard": 1758023735, + "first_heard": 1757833703, + "battery_level": 97.0, + "voltage": 4.148, + "channel_utilization": 4.778333, + "air_util_tx": 0.7001944, + "uptime_seconds": 39435, + "position_time": 1758023735, + "location_source": "LOC_MANUAL", + "latitude": 52.5729792, + "longitude": 13.43488, + "altitude": 57.0 + } + }, + { + "id": 41, + "rx_time": 1757922177, + "rx_iso": "2025-09-15T07:42:57Z", + "from_id": "!16ced364", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "😀", + "rssi": -75, + "hop_limit": null, + "snr": 11.0, + "node": { + "snr": 11.25, + "raw_json": null, + "node_id": "!16ced364", + "num": 382653284, + "short_name": "Pat", + "long_name": "Pat HQ BS", + "macaddr": "mKMWztNk", + "hw_model": "STATION_G2", + "role": "CLIENT", + "public_key": "d0SBNj6IwFd/v52oXKRjSXlANm5dWt4CnOj64t35oRQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758021676, + "first_heard": 1757830983, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 40, + "rx_time": 1757921772, + "rx_iso": "2025-09-15T07:36:12Z", + "from_id": "!9ee71c38", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Wird diese Nachricht immer nur von den aktuellen Nodes in meiner Reichweite empfangen oder wird die noch weiter ins Mesh hinausgetragen? Versuche noch das alles zu verstehen;)", + "rssi": -77, + "hop_limit": null, + "snr": 11.25, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9ee71c38", + "num": 2665946168, + "short_name": "1c38", + "long_name": "Varus1c38", + "macaddr": "nBOe5xw4", + "hw_model": "HELTEC_V3", + "role": null, + "public_key": "+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757934899, + "first_heard": 1757784888, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 39, + "rx_time": 1757920491, + "rx_iso": "2025-09-15T07:14:51Z", + "from_id": "!9ee71c38", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Montags Wetterblues", + "rssi": -78, + "hop_limit": null, + "snr": 10.5, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9ee71c38", + "num": 2665946168, + "short_name": "1c38", + "long_name": "Varus1c38", + "macaddr": "nBOe5xw4", + "hw_model": "HELTEC_V3", + "role": null, + "public_key": "+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757934899, + "first_heard": 1757784888, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 38, + "rx_time": 1757920100, + "rx_iso": "2025-09-15T07:08:20Z", + "from_id": "!a3deea53", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Was erlaube Wetter? Wo ist die Sonne? :/", + "rssi": -80, + "hop_limit": 2, + "snr": 10.25, + "node": { + "snr": 10.0, + "raw_json": null, + "node_id": "!a3deea53", + "num": 2749295187, + "short_name": "🐸", + "long_name": "green", + "macaddr": "/2mj3upT", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "public_key": "2F/3iuOgrVto9DgNZtUdknYaEI1ZVM+lvLOrPzSlCD8=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757949419, + "first_heard": 1757920065, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 37, + "rx_time": 1757918563, + "rx_iso": "2025-09-15T06:42:43Z", + "from_id": "!9ea0c780", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Guten Morgen ☕️", + "rssi": -85, + "hop_limit": 5, + "snr": 9.0, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!9ea0c780", + "num": 2661336960, + "short_name": "nguE", + "long_name": "ngud E Mobile", + "macaddr": "nBOeoMeA", + "hw_model": "HELTEC_WIRELESS_PAPER", + "role": "CLIENT", + "public_key": "J0g4pBWbfIYtD1tY/fCFplkx+slnQ5pyzPQcbLLa+yI=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758022219, + "first_heard": 1757808007, + "battery_level": 58.0, + "voltage": 3.79, + "channel_utilization": 6.225, + "air_util_tx": 0.03836111, + "uptime_seconds": 61, + "position_time": 1758004811, + "location_source": "LOC_MANUAL", + "latitude": 52.5369344, + "longitude": 13.484032, + "altitude": 66.0 + } + }, + { + "id": 36, + "rx_time": 1757918014, + "rx_iso": "2025-09-15T06:33:34Z", + "from_id": "!bba83318", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Moin Moin Umland ☕️", + "rssi": -77, + "hop_limit": 3, + "snr": 11.5, + "node": { + "snr": -13.25, + "raw_json": null, + "node_id": "!bba83318", + "num": 3148362520, + "short_name": "BerF", + "long_name": "Bernau-Friedenstal", + "macaddr": "LLy7qDMY", + "hw_model": "TBEAM", + "role": "CLIENT", + "public_key": "GfyQJ3jYKh+l0Li4w+8PzpA4i/vls1nrdCkcwVj2ICM=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 4, + "last_heard": 1758022862, + "first_heard": 1757825270, + "battery_level": 101.0, + "voltage": -0.001, + "channel_utilization": 7.01, + "air_util_tx": 0.030944444, + "uptime_seconds": 61, + "position_time": 1758022862, + "location_source": "LOC_INTERNAL", + "latitude": 52.6712832, + "longitude": 13.5593984, + "altitude": 50.0 + } + }, + { + "id": 35, + "rx_time": 1757917080, + "rx_iso": "2025-09-15T06:18:00Z", + "from_id": "!9ee71c38", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Guten Morgen!", + "rssi": -84, + "hop_limit": 1, + "snr": 9.25, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9ee71c38", + "num": 2665946168, + "short_name": "1c38", + "long_name": "Varus1c38", + "macaddr": "nBOe5xw4", + "hw_model": "HELTEC_V3", + "role": null, + "public_key": "+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757934899, + "first_heard": 1757784888, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 34, + "rx_time": 1757912511, + "rx_iso": "2025-09-15T05:01:51Z", + "from_id": "!e80cda12", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Aber gaaaaaaanaz viel Kaffee", + "rssi": -71, + "hop_limit": 2, + "snr": 10.25, + "node": { + "snr": 11.0, + "raw_json": null, + "node_id": "!e80cda12", + "num": 3893156370, + "short_name": "mowW", + "long_name": "mirkosw /pWisMeshTag", + "macaddr": "/ijoDNoS", + "hw_model": "WISMESH_TAG", + "role": "CLIENT_MUTE", + "public_key": "cJi950aF2cgxa0xThMEX2vmeQ0+dxGEm1GFOzvm0byQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758000138, + "first_heard": 1757797822, + "battery_level": 94.0, + "voltage": 4.114, + "channel_utilization": 3.01, + "air_util_tx": 0.014333334, + "uptime_seconds": 66, + "position_time": 1758000127, + "location_source": "LOC_INTERNAL", + "latitude": 52.4725355, + "longitude": 13.3700968, + "altitude": -39.0 + } + }, + { + "id": 33, + "rx_time": 1757910410, + "rx_iso": "2025-09-15T04:26:50Z", + "from_id": "!a0cc6904", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Moin", + "rssi": -109, + "hop_limit": 1, + "snr": -5.0, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!a0cc6904", + "num": 2697750788, + "short_name": "Kdû", + "long_name": "Khazad-dûm", + "macaddr": "MO2gzGkE", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "BKETsLZtRk2Ck8OG7Qg6WeRhWNlx96Vao29xUaX2BlQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1757992840, + "first_heard": 1757819079, + "battery_level": 4.0, + "voltage": 3.195, + "channel_utilization": 0.7366667, + "air_util_tx": 0.7919166, + "uptime_seconds": 154899, + "position_time": 1757987158, + "location_source": "LOC_INTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 57.0 + } + }, + { + "id": 32, + "rx_time": 1757910388, + "rx_iso": "2025-09-15T04:26:28Z", + "from_id": "!e80cda12", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Guten Morgen allerseits", + "rssi": -40, + "hop_limit": 1, + "snr": 11.0, + "node": { + "snr": 11.0, + "raw_json": null, + "node_id": "!e80cda12", + "num": 3893156370, + "short_name": "mowW", + "long_name": "mirkosw /pWisMeshTag", + "macaddr": "/ijoDNoS", + "hw_model": "WISMESH_TAG", + "role": "CLIENT_MUTE", + "public_key": "cJi950aF2cgxa0xThMEX2vmeQ0+dxGEm1GFOzvm0byQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758000138, + "first_heard": 1757797822, + "battery_level": 94.0, + "voltage": 4.114, + "channel_utilization": 3.01, + "air_util_tx": 0.014333334, + "uptime_seconds": 66, + "position_time": 1758000127, + "location_source": "LOC_INTERNAL", + "latitude": 52.4725355, + "longitude": 13.3700968, + "altitude": -39.0 + } + }, + { + "id": 31, + "rx_time": 1757909639, + "rx_iso": "2025-09-15T04:13:59Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Morgen", + "rssi": -103, + "hop_limit": 3, + "snr": 0.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 30, + "rx_time": 1757890487, + "rx_iso": "2025-09-14T22:54:47Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "GN", + "rssi": -40, + "hop_limit": 4, + "snr": 11.25, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 29, + "rx_time": 1757886696, + "rx_iso": "2025-09-14T21:51:36Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Gute Nacht", + "rssi": -43, + "hop_limit": 2, + "snr": 11.5, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 28, + "rx_time": 1757879734, + "rx_iso": "2025-09-14T19:55:34Z", + "from_id": "!16ced364", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Weiss nicht ob die Node case insentitiv macht, nimm mal TEST als Großbuchstaben...", + "rssi": -79, + "hop_limit": 3, + "snr": 10.0, + "node": { + "snr": 11.25, + "raw_json": null, + "node_id": "!16ced364", + "num": 382653284, + "short_name": "Pat", + "long_name": "Pat HQ BS", + "macaddr": "mKMWztNk", + "hw_model": "STATION_G2", + "role": "CLIENT", + "public_key": "d0SBNj6IwFd/v52oXKRjSXlANm5dWt4CnOj64t35oRQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758021676, + "first_heard": 1757830983, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 27, + "rx_time": 1757879364, + "rx_iso": "2025-09-14T19:49:24Z", + "from_id": "!a0cb1608", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Währe sehr praktisch", + "rssi": -77, + "hop_limit": 6, + "snr": 11.0, + "node": { + "snr": -9.75, + "raw_json": null, + "node_id": "!a0cb1608", + "num": 2697664008, + "short_name": "KBV5", + "long_name": "KeinBierVor5", + "macaddr": "MO2gyxYI", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "7nIzxu/WSZ87cIkFFUzBjV08Sut9SGhjAyLka1GGziU=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 1, + "last_heard": 1758022713, + "first_heard": 1757823622, + "battery_level": 83.0, + "voltage": 4.01, + "channel_utilization": 2.9883332, + "air_util_tx": 0.89416665, + "uptime_seconds": 160927, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 26, + "rx_time": 1757879358, + "rx_iso": "2025-09-14T19:49:18Z", + "from_id": "!a0cb1608", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Wie kann ich in den TEST channel?", + "rssi": -81, + "hop_limit": 6, + "snr": 9.5, + "node": { + "snr": -9.75, + "raw_json": null, + "node_id": "!a0cb1608", + "num": 2697664008, + "short_name": "KBV5", + "long_name": "KeinBierVor5", + "macaddr": "MO2gyxYI", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "7nIzxu/WSZ87cIkFFUzBjV08Sut9SGhjAyLka1GGziU=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 1, + "last_heard": 1758022713, + "first_heard": 1757823622, + "battery_level": 83.0, + "voltage": 4.01, + "channel_utilization": 2.9883332, + "air_util_tx": 0.89416665, + "uptime_seconds": 160927, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 25, + "rx_time": 1757878454, + "rx_iso": "2025-09-14T19:34:14Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "ja", + "rssi": -75, + "hop_limit": 5, + "snr": 10.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 24, + "rx_time": 1757878126, + "rx_iso": "2025-09-14T19:28:46Z", + "from_id": "!43b6e530", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "@mowW 🎙Is this thing on?\n4 hops", + "rssi": -80, + "hop_limit": 3, + "snr": 11.0, + "node": { + "snr": -12.0, + "raw_json": null, + "node_id": "!43b6e530", + "num": 1136059696, + "short_name": "FFSR", + "long_name": "Freifunk-Scherer BOT 868", + "macaddr": "SMpDtuUw", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "VbueTxbv8SjGmcLLrlt9/um15QDvis/HpIHiV2flyiI=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758022410, + "first_heard": 1757832883, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758022410, + "location_source": "LOC_MANUAL", + "latitude": 52.5481294, + "longitude": 13.3669095, + "altitude": 0.0 + } + }, + { + "id": 23, + "rx_time": 1757878115, + "rx_iso": "2025-09-14T19:28:35Z", + "from_id": "!e80cda12", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Guten Abend , liest denn jemand im TEST Channel mit ? 😃", + "rssi": -77, + "hop_limit": null, + "snr": 11.0, + "node": { + "snr": 11.0, + "raw_json": null, + "node_id": "!e80cda12", + "num": 3893156370, + "short_name": "mowW", + "long_name": "mirkosw /pWisMeshTag", + "macaddr": "/ijoDNoS", + "hw_model": "WISMESH_TAG", + "role": "CLIENT_MUTE", + "public_key": "cJi950aF2cgxa0xThMEX2vmeQ0+dxGEm1GFOzvm0byQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758000138, + "first_heard": 1757797822, + "battery_level": 94.0, + "voltage": 4.114, + "channel_utilization": 3.01, + "air_util_tx": 0.014333334, + "uptime_seconds": 66, + "position_time": 1758000127, + "location_source": "LOC_INTERNAL", + "latitude": 52.4725355, + "longitude": 13.3700968, + "altitude": -39.0 + } + }, + { + "id": 22, + "rx_time": 1757877363, + "rx_iso": "2025-09-14T19:16:03Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "ja wenn dann LF", + "rssi": -78, + "hop_limit": 5, + "snr": 11.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 21, + "rx_time": 1757877318, + "rx_iso": "2025-09-14T19:15:18Z", + "from_id": "!16ced364", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Meinte 434.1 MHz als Amateurfunker, auf LongModerate nun fast 3h gehorcht, tot. Bin da der einzigste.", + "rssi": -79, + "hop_limit": 1, + "snr": 10.25, + "node": { + "snr": 11.25, + "raw_json": null, + "node_id": "!16ced364", + "num": 382653284, + "short_name": "Pat", + "long_name": "Pat HQ BS", + "macaddr": "mKMWztNk", + "hw_model": "STATION_G2", + "role": "CLIENT", + "public_key": "d0SBNj6IwFd/v52oXKRjSXlANm5dWt4CnOj64t35oRQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758021676, + "first_heard": 1757830983, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 20, + "rx_time": 1757875848, + "rx_iso": "2025-09-14T18:50:48Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "ne das is 868", + "rssi": -74, + "hop_limit": 5, + "snr": 10.5, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 19, + "rx_time": 1757870521, + "rx_iso": "2025-09-14T17:22:01Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Alles MediumFast, aber nutz jemand wirklich 43MhHz?", + "rssi": -31, + "hop_limit": 7, + "snr": 10.75, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 18, + "rx_time": 1757867411, + "rx_iso": "2025-09-14T16:30:11Z", + "from_id": "!abbdf3f7", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Medium fast", + "rssi": -43, + "hop_limit": null, + "snr": 11.0, + "node": { + "snr": 11.0, + "raw_json": null, + "node_id": "!abbdf3f7", + "num": 2881352695, + "short_name": "f3f7", + "long_name": "Smobi", + "macaddr": "/vmrvfP3", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT_MUTE", + "public_key": "dyVfk9OfJ5EslgHoeWg+AtmH305m7QtI9vWhD58XLQM=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758021608, + "first_heard": 1757800536, + "battery_level": 97.0, + "voltage": 4.16, + "channel_utilization": 0.5333333, + "air_util_tx": 0.017638888, + "uptime_seconds": 107233, + "position_time": 1758021608, + "location_source": "LOC_INTERNAL", + "latitude": 52.4550144, + "longitude": 13.500416, + "altitude": 39.0 + } + }, + { + "id": 17, + "rx_time": 1757864125, + "rx_iso": "2025-09-14T15:35:25Z", + "from_id": "!c0c32348", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Ping @icea\n", + "rssi": -42, + "hop_limit": 2, + "snr": 10.5, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!c0c32348", + "num": 3234014024, + "short_name": "CooP", + "long_name": "Cooper", + "macaddr": "/OjAwyNI", + "hw_model": "TBEAM", + "role": "CLIENT", + "public_key": "pVtIIO4i1Guq81AsLBLpn8Rh+3MWoojhggVOl7fP8i0=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758021624, + "first_heard": 1757863184, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758021624, + "location_source": "LOC_INTERNAL", + "latitude": 52.5467648, + "longitude": 13.4873088, + "altitude": 365.0 + } + }, + { + "id": 16, + "rx_time": 1757863227, + "rx_iso": "2025-09-14T15:20:27Z", + "from_id": "!16ced364", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Weiss einer welche Modem Betriebsart auf 433MHz in Berlin genutzt wird, war auf LF und kein Empfang.", + "rssi": -43, + "hop_limit": 3, + "snr": 11.0, + "node": { + "snr": 11.25, + "raw_json": null, + "node_id": "!16ced364", + "num": 382653284, + "short_name": "Pat", + "long_name": "Pat HQ BS", + "macaddr": "mKMWztNk", + "hw_model": "STATION_G2", + "role": "CLIENT", + "public_key": "d0SBNj6IwFd/v52oXKRjSXlANm5dWt4CnOj64t35oRQ=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1758021676, + "first_heard": 1757830983, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 15, + "rx_time": 1757861974, + "rx_iso": "2025-09-14T14:59:34Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "❤️", + "rssi": -43, + "hop_limit": null, + "snr": 10.5, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 14, + "rx_time": 1757861768, + "rx_iso": "2025-09-14T14:56:08Z", + "from_id": "!a0cb1608", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "🦫", + "rssi": -117, + "hop_limit": 6, + "snr": -12.5, + "node": { + "snr": -9.75, + "raw_json": null, + "node_id": "!a0cb1608", + "num": 2697664008, + "short_name": "KBV5", + "long_name": "KeinBierVor5", + "macaddr": "MO2gyxYI", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "7nIzxu/WSZ87cIkFFUzBjV08Sut9SGhjAyLka1GGziU=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 1, + "last_heard": 1758022713, + "first_heard": 1757823622, + "battery_level": 83.0, + "voltage": 4.01, + "channel_utilization": 2.9883332, + "air_util_tx": 0.89416665, + "uptime_seconds": 160927, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 13, + "rx_time": 1757861679, + "rx_iso": "2025-09-14T14:54:39Z", + "from_id": "!da635e24", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "🍻🍕", + "rssi": -43, + "hop_limit": 6, + "snr": 11.0, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!da635e24", + "num": 3663945252, + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "macaddr": "NLfaY14k", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "ef1YoI2s4dip/EBEzzMJ+guVArp0UtpswwXJ4K2gQ2E=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 2, + "last_heard": 1758015344, + "first_heard": 1757820949, + "battery_level": 101.0, + "voltage": 4.203, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "uptime_seconds": 61, + "position_time": 1757921223, + "location_source": "LOC_MANUAL", + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null + } + }, + { + "id": 12, + "rx_time": 1757861565, + "rx_iso": "2025-09-14T14:52:45Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "🤖☠️", + "rssi": -114, + "hop_limit": 2, + "snr": -8.75, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 11, + "rx_time": 1757861136, + "rx_iso": "2025-09-14T14:45:36Z", + "from_id": "!5d823fb1", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Ping", + "rssi": -42, + "hop_limit": null, + "snr": 10.25, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!5d823fb1", + "num": 1568817073, + "short_name": "3fb1", + "long_name": "SoswB", + "macaddr": "5Hpdgj+x", + "hw_model": "RAK4631", + "role": "CLIENT", + "public_key": "7IFrQCY8KjH2jlHfz5zS7zYCZLOakjZsKm8FoZW+XXY=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 4, + "last_heard": 1758009741, + "first_heard": 1757774595, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 10, + "rx_time": 1757861105, + "rx_iso": "2025-09-14T14:45:05Z", + "from_id": "!43b6e530", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "@MGN1 🏓PONG\nSNR:-2.0 RSSI:-95", + "rssi": -42, + "hop_limit": 2, + "snr": 11.25, + "node": { + "snr": -12.0, + "raw_json": null, + "node_id": "!43b6e530", + "num": 1136059696, + "short_name": "FFSR", + "long_name": "Freifunk-Scherer BOT 868", + "macaddr": "SMpDtuUw", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "VbueTxbv8SjGmcLLrlt9/um15QDvis/HpIHiV2flyiI=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758022410, + "first_heard": 1757832883, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": 1758022410, + "location_source": "LOC_MANUAL", + "latitude": 52.5481294, + "longitude": 13.3669095, + "altitude": 0.0 + } + }, + { + "id": 9, + "rx_time": 1757861102, + "rx_iso": "2025-09-14T14:45:02Z", + "from_id": "!849a8ba4", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Ping", + "rssi": -42, + "hop_limit": 3, + "snr": 11.0, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!849a8ba4", + "num": 2224720804, + "short_name": "MGN1", + "long_name": "Magnus 1", + "macaddr": "sIGEmouk", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "OfaBBiVBvYUijwF6t5jNN+UFBwyw+AV7W85pE3xB6xw=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 4, + "last_heard": 1758001403, + "first_heard": 1757829564, + "battery_level": 101.0, + "voltage": 4.201, + "channel_utilization": 0.0, + "air_util_tx": 0.025305556, + "uptime_seconds": 740673, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 8, + "rx_time": 1757860555, + "rx_iso": "2025-09-14T14:35:55Z", + "from_id": "!849a8ba4", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Ping", + "rssi": -118, + "hop_limit": 1, + "snr": -13.25, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!849a8ba4", + "num": 2224720804, + "short_name": "MGN1", + "long_name": "Magnus 1", + "macaddr": "sIGEmouk", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "public_key": "OfaBBiVBvYUijwF6t5jNN+UFBwyw+AV7W85pE3xB6xw=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 4, + "last_heard": 1758001403, + "first_heard": 1757829564, + "battery_level": 101.0, + "voltage": 4.201, + "channel_utilization": 0.0, + "air_util_tx": 0.025305556, + "uptime_seconds": 740673, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 7, + "rx_time": 1757858547, + "rx_iso": "2025-09-14T14:02:27Z", + "from_id": "!9c93a2df", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Empfangen in Baumschulenweg ", + "rssi": -42, + "hop_limit": 3, + "snr": 10.75, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!9c93a2df", + "num": 2626921183, + "short_name": "xaRa", + "long_name": "xayax RAK", + "macaddr": "znKck6Lf", + "hw_model": "RAK4631", + "role": "CLIENT", + "public_key": "Rxo/Fw/ergQIhRqBbrHasLYy3gU+Ay8hrhu4OVnIPQc=", + "is_unmessagable": null, + "is_favorite": null, + "hops_away": 3, + "last_heard": 1758015870, + "first_heard": 1757799869, + "battery_level": 69.0, + "voltage": 3.884, + "channel_utilization": 0.35833332, + "air_util_tx": 0.7733611, + "uptime_seconds": 243332, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 6, + "rx_time": 1757852693, + "rx_iso": "2025-09-14T12:24:53Z", + "from_id": "!9ee71c38", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Latsche gerade durch Britz herum und teste das neue Gerät. Bin ganz frisch dabei bei Meshtastic.", + "rssi": -43, + "hop_limit": 1, + "snr": 11.25, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9ee71c38", + "num": 2665946168, + "short_name": "1c38", + "long_name": "Varus1c38", + "macaddr": "nBOe5xw4", + "hw_model": "HELTEC_V3", + "role": null, + "public_key": "+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757934899, + "first_heard": 1757784888, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 5, + "rx_time": 1757852049, + "rx_iso": "2025-09-14T12:14:09Z", + "from_id": "!9ee71c38", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Sehr schön:)", + "rssi": -43, + "hop_limit": 1, + "snr": 11.0, + "node": { + "snr": 11.5, + "raw_json": null, + "node_id": "!9ee71c38", + "num": 2665946168, + "short_name": "1c38", + "long_name": "Varus1c38", + "macaddr": "nBOe5xw4", + "hw_model": "HELTEC_V3", + "role": null, + "public_key": "+ArXwQxeN/Zhw+2iDHG3bJspBNEBvlrGGAgo4HQNZm0=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": null, + "last_heard": 1757934899, + "first_heard": 1757784888, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 4, + "rx_time": 1757851803, + "rx_iso": "2025-09-14T12:10:03Z", + "from_id": "!5d823fb1", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Kam an. 😁", + "rssi": -41, + "hop_limit": null, + "snr": 11.0, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!5d823fb1", + "num": 1568817073, + "short_name": "3fb1", + "long_name": "SoswB", + "macaddr": "5Hpdgj+x", + "hw_model": "RAK4631", + "role": "CLIENT", + "public_key": "7IFrQCY8KjH2jlHfz5zS7zYCZLOakjZsKm8FoZW+XXY=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 4, + "last_heard": 1758009741, + "first_heard": 1757774595, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 3, + "rx_time": 1757851437, + "rx_iso": "2025-09-14T12:03:57Z", + "from_id": "!6c73bf84", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Hängt wohl auch hoch auf dem Dach", + "rssi": -42, + "hop_limit": 3, + "snr": 11.0, + "node": { + "snr": 10.5, + "raw_json": null, + "node_id": "!6c73bf84", + "num": 1819524996, + "short_name": "ts1", + "long_name": "Tegeler See Node 1", + "macaddr": "oN1sc7+E", + "hw_model": "TBEAM", + "role": "CLIENT", + "public_key": "AW0bHoCVF0Yzo3yWx96b8XtA2kNZBQsWRyoQjKKm02A=", + "is_unmessagable": 0, + "is_favorite": null, + "hops_away": 4, + "last_heard": 1758014737, + "first_heard": 1757824664, + "battery_level": 100.0, + "voltage": 4.179, + "channel_utilization": 6.3450003, + "air_util_tx": 0.28575, + "uptime_seconds": 30670, + "position_time": null, + "location_source": "LOC_MANUAL", + "latitude": 52.559872, + "longitude": 13.2907008, + "altitude": 35.0 + } + }, + { + "id": 2, + "rx_time": 1757851276, + "rx_iso": "2025-09-14T12:01:16Z", + "from_id": null, + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Test mit neuer Antenne. Vlt geht ja so mal was raus.", + "rssi": -42, + "hop_limit": 1, + "snr": 11.25, + "node": { + "snr": null, + "raw_json": null, + "node_id": null, + "num": null, + "short_name": null, + "long_name": null, + "macaddr": null, + "hw_model": null, + "role": null, + "public_key": null, + "is_unmessagable": null, + "is_favorite": null, + "hops_away": null, + "last_heard": null, + "first_heard": null, + "battery_level": null, + "voltage": null, + "channel_utilization": null, + "air_util_tx": null, + "uptime_seconds": null, + "position_time": null, + "location_source": null, + "latitude": null, + "longitude": null, + "altitude": null + } + }, + { + "id": 1, + "rx_time": 1757850801, + "rx_iso": "2025-09-14T11:53:21Z", + "from_id": "!194a7351", + "to_id": "^all", + "channel": 0, + "portnum": "TEXT_MESSAGE_APP", + "text": "Noch jemand im ICC heute?", + "rssi": -18, + "hop_limit": 7, + "snr": 11.25, + "node": { + "snr": 10.75, + "raw_json": null, + "node_id": "!194a7351", + "num": 424309585, + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "macaddr": "0p4ZSnNR", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "public_key": "UEsPm45+zsHPgY5SicXaqdhcCKwVCX6+99y4ZWbTKjE=", + "is_unmessagable": 0, + "is_favorite": 1, + "hops_away": 0, + "last_heard": 1758022708, + "first_heard": 1757828307, + "battery_level": 98.0, + "voltage": 4.162, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "uptime_seconds": 325318, + "position_time": 1758001135, + "location_source": "LOC_EXTERNAL", + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0 + } + } +] diff --git a/tests/nodes.json b/tests/nodes.json new file mode 100644 index 0000000..3f2eaf8 --- /dev/null +++ b/tests/nodes.json @@ -0,0 +1,3653 @@ +[ + { + "node_id": "!b03b3b38", + "short_name": "3b38", + "long_name": "Meshtastic 3b38", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 78.0, + "voltage": 3.977, + "last_heard": 1758024330, + "first_heard": 1757829178, + "uptime_seconds": 2531225, + "channel_utilization": 6.7633333, + "air_util_tx": 1.1645555, + "position_time": 1758024330, + "latitude": 52.4550144, + "longitude": 13.4479872, + "altitude": 0.0, + "last_seen_iso": "2025-09-16T12:05:30Z", + "pos_time_iso": "2025-09-16T12:05:30Z" + }, + { + "node_id": "!d1edc388", + "short_name": "ZEN2", + "long_name": "ZEN-Client2", + "hw_model": "T_ECHO", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1758024307, + "first_heard": 1758024307, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T12:05:07Z" + }, + { + "node_id": "!6eec6364", + "short_name": "FR_C", + "long_name": "Frosch/c", + "hw_model": "T_ECHO", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.763, + "last_heard": 1758024305, + "first_heard": 1757827060, + "uptime_seconds": 21547, + "channel_utilization": 0.0, + "air_util_tx": 0.020333333, + "position_time": 1758024305, + "latitude": 52.5180928, + "longitude": 13.5520256, + "altitude": 51.0, + "last_seen_iso": "2025-09-16T12:05:05Z", + "pos_time_iso": "2025-09-16T12:05:05Z" + }, + { + "node_id": "!33602324", + "short_name": "Jan", + "long_name": "Jan SUPREME", + "hw_model": "LILYGO_TBEAM_S3_CORE", + "role": "CLIENT", + "snr": 11.75, + "battery_level": 101.0, + "voltage": 1.539, + "last_heard": 1758024170, + "first_heard": 1757867591, + "uptime_seconds": 287346, + "channel_utilization": 3.1366665, + "air_util_tx": 0.9874167, + "position_time": 1758024170, + "latitude": 52.5074432, + "longitude": 13.4479872, + "altitude": 19.0, + "last_seen_iso": "2025-09-16T12:02:50Z", + "pos_time_iso": "2025-09-16T12:02:50Z" + }, + { + "node_id": "!ef6a21c5", + "short_name": "SEAm", + "long_name": "DMSEA mobil", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "snr": 10.5, + "battery_level": 101.0, + "voltage": 4.207, + "last_heard": 1758024031, + "first_heard": 1757829688, + "uptime_seconds": 42551, + "channel_utilization": 0.465, + "air_util_tx": 0.013194445, + "position_time": 1758024031, + "latitude": 52.4550144, + "longitude": 13.500416, + "altitude": 33.0, + "last_seen_iso": "2025-09-16T12:00:31Z", + "pos_time_iso": "2025-09-16T12:00:31Z" + }, + { + "node_id": "!ea24e0b4", + "short_name": "TWRu", + "long_name": "TWRu-Node", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 101.0, + "voltage": 4.356, + "last_heard": 1758024017, + "first_heard": 1757829609, + "uptime_seconds": 1975851, + "channel_utilization": 4.7633333, + "air_util_tx": 0.73830557, + "position_time": 1758020053, + "latitude": 52.6245888, + "longitude": 13.4815744, + "altitude": 61.0, + "last_seen_iso": "2025-09-16T12:00:17Z", + "pos_time_iso": "2025-09-16T10:54:13Z" + }, + { + "node_id": "!9ee71430", + "short_name": "FiSp", + "long_name": "FireSpark", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 96.0, + "voltage": 4.144, + "last_heard": 1758023883, + "first_heard": 1757838749, + "uptime_seconds": 346359, + "channel_utilization": 0.28, + "air_util_tx": 0.27797222, + "position_time": 1758023883, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 67.0, + "last_seen_iso": "2025-09-16T11:58:03Z", + "pos_time_iso": "2025-09-16T11:58:03Z" + }, + { + "node_id": "!a2ebd35c", + "short_name": "MLBM", + "long_name": "MLB-Mariendorf", + "hw_model": "STATION_G2", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 0.0, + "last_heard": 1758023870, + "first_heard": 1758009572, + "uptime_seconds": 6125, + "channel_utilization": 5.2799997, + "air_util_tx": 1.0125555, + "position_time": 1758023870, + "latitude": 52.4455882, + "longitude": 13.3857503, + "altitude": 56.0, + "last_seen_iso": "2025-09-16T11:57:50Z", + "pos_time_iso": "2025-09-16T11:57:50Z" + }, + { + "node_id": "!0c63e027", + "short_name": "l5ye", + "long_name": "l5yth e027 mf", + "hw_model": "T_ECHO", + "role": "CLIENT_MUTE", + "snr": -16.5, + "battery_level": 101.0, + "voltage": 4.395, + "last_heard": 1758023813, + "first_heard": 1757775015, + "uptime_seconds": 86326, + "channel_utilization": 2.5766666, + "air_util_tx": 0.04061111, + "position_time": 1758023813, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 21.0, + "last_seen_iso": "2025-09-16T11:56:53Z", + "pos_time_iso": "2025-09-16T11:56:53Z" + }, + { + "node_id": "!bcf10936", + "short_name": "0936", + "long_name": "Hopfensender HQ", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 10.25, + "battery_level": 97.0, + "voltage": 4.148, + "last_heard": 1758023735, + "first_heard": 1757833703, + "uptime_seconds": 39435, + "channel_utilization": 4.778333, + "air_util_tx": 0.7001944, + "position_time": 1758023735, + "latitude": 52.5729792, + "longitude": 13.43488, + "altitude": 57.0, + "last_seen_iso": "2025-09-16T11:55:35Z", + "pos_time_iso": "2025-09-16T11:55:35Z" + }, + { + "node_id": "!433e67e8", + "short_name": "FR_W", + "long_name": "Frosch/w", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.25, + "battery_level": 101.0, + "voltage": 4.288, + "last_heard": 1758023599, + "first_heard": 1757819862, + "uptime_seconds": 439202, + "channel_utilization": 0.5, + "air_util_tx": 0.38775, + "position_time": 1758023599, + "latitude": 52.5180928, + "longitude": 13.5520256, + "altitude": 30.0, + "last_seen_iso": "2025-09-16T11:53:19Z", + "pos_time_iso": "2025-09-16T11:53:19Z" + }, + { + "node_id": "!9eeb25ec", + "short_name": "25ec", + "long_name": "Meshtastic 25ec", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.5, + "battery_level": null, + "voltage": null, + "last_heard": 1758023552, + "first_heard": 1757949314, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758023552, + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 52.0, + "last_seen_iso": "2025-09-16T11:52:32Z", + "pos_time_iso": "2025-09-16T11:52:32Z" + }, + { + "node_id": "!4ed36bd0", + "short_name": "RDM", + "long_name": "Random Man", + "hw_model": "T_DECK", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1758023526, + "first_heard": 1758018235, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758023526, + "latitude": 52.4550144, + "longitude": 13.4479872, + "altitude": 64.0, + "last_seen_iso": "2025-09-16T11:52:06Z", + "pos_time_iso": "2025-09-16T11:52:06Z" + }, + { + "node_id": "!da63e474", + "short_name": "🐧", + "long_name": "belug.de 868MHz", + "hw_model": "LILYGO_TBEAM_S3_CORE", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": 100.0, + "voltage": 4.106, + "last_heard": 1758023312, + "first_heard": 1757793513, + "uptime_seconds": 1382519, + "channel_utilization": 0.63166666, + "air_util_tx": 0.04563889, + "position_time": 1758023312, + "latitude": 52.5345, + "longitude": 13.35849, + "altitude": null, + "last_seen_iso": "2025-09-16T11:48:32Z", + "pos_time_iso": "2025-09-16T11:48:32Z" + }, + { + "node_id": "!849c4c24", + "short_name": "TMGG", + "long_name": "TMG green", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.239, + "last_heard": 1758023150, + "first_heard": 1757828747, + "uptime_seconds": 1271664, + "channel_utilization": 6.415, + "air_util_tx": 1.0219444, + "position_time": 1758017058, + "latitude": 52.527104, + "longitude": 13.5462912, + "altitude": 60.0, + "last_seen_iso": "2025-09-16T11:45:50Z", + "pos_time_iso": "2025-09-16T10:04:18Z" + }, + { + "node_id": "!bba83318", + "short_name": "BerF", + "long_name": "Bernau-Friedenstal", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": -13.25, + "battery_level": 101.0, + "voltage": -0.001, + "last_heard": 1758022862, + "first_heard": 1757825270, + "uptime_seconds": 61, + "channel_utilization": 7.01, + "air_util_tx": 0.030944444, + "position_time": 1758022862, + "latitude": 52.6712832, + "longitude": 13.5593984, + "altitude": 50.0, + "last_seen_iso": "2025-09-16T11:41:02Z", + "pos_time_iso": "2025-09-16T11:41:02Z" + }, + { + "node_id": "!6aac99f2", + "short_name": "GW10", + "long_name": "Greifswalder 10", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 11.5, + "battery_level": 101.0, + "voltage": 4.206, + "last_heard": 1758022827, + "first_heard": 1757828430, + "uptime_seconds": 5614074, + "channel_utilization": 4.0916667, + "air_util_tx": 1.1888889, + "position_time": null, + "latitude": 52.529706, + "longitude": 13.426035, + "altitude": 58.0, + "last_seen_iso": "2025-09-16T11:40:27Z" + }, + { + "node_id": "!aafba2a5", + "short_name": "syn1", + "long_name": "I'm syncing ", + "hw_model": "T_ECHO", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 76.0, + "voltage": 3.956, + "last_heard": 1758022806, + "first_heard": 1757849097, + "uptime_seconds": 69542, + "channel_utilization": 0.0, + "air_util_tx": 0.23583335, + "position_time": 1758022806, + "latitude": 52.4468224, + "longitude": 13.39392, + "altitude": 55.0, + "last_seen_iso": "2025-09-16T11:40:06Z", + "pos_time_iso": "2025-09-16T11:40:06Z" + }, + { + "node_id": "!970588c4", + "short_name": "MxHQ", + "long_name": "Max HQ", + "hw_model": "HELTEC_VISION_MASTER_E290", + "role": "CLIENT_MUTE", + "snr": 11.25, + "battery_level": 101.0, + "voltage": 4.506, + "last_heard": 1758022796, + "first_heard": 1757830407, + "uptime_seconds": 66, + "channel_utilization": 1.9966668, + "air_util_tx": 0.012, + "position_time": null, + "latitude": 52.4729555, + "longitude": 13.3166989, + "altitude": 50.0, + "last_seen_iso": "2025-09-16T11:39:56Z" + }, + { + "node_id": "!a0cb1608", + "short_name": "KBV5", + "long_name": "KeinBierVor5", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -9.75, + "battery_level": 83.0, + "voltage": 4.01, + "last_heard": 1758022713, + "first_heard": 1757823622, + "uptime_seconds": 160927, + "channel_utilization": 2.9883332, + "air_util_tx": 0.89416665, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:38:33Z" + }, + { + "node_id": "!194a7351", + "short_name": "l5y7", + "long_name": "l5yth 7351 mf", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": 98.0, + "voltage": 4.162, + "last_heard": 1758022708, + "first_heard": 1757828307, + "uptime_seconds": 325318, + "channel_utilization": 1.8983332, + "air_util_tx": 0.016555555, + "position_time": 1758001135, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 39.0, + "last_seen_iso": "2025-09-16T11:38:28Z", + "pos_time_iso": "2025-09-16T05:38:55Z" + }, + { + "node_id": "!433ad740", + "short_name": "TWR3", + "long_name": "TWR3-Node", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758022704, + "first_heard": 1757825041, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758022704, + "latitude": 52.525056, + "longitude": 13.3255168, + "altitude": 34.0, + "last_seen_iso": "2025-09-16T11:38:24Z", + "pos_time_iso": "2025-09-16T11:38:24Z" + }, + { + "node_id": "!da621dbc", + "short_name": "WbXn", + "long_name": "WebXnode", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -12.5, + "battery_level": 101.0, + "voltage": 4.806, + "last_heard": 1758022698, + "first_heard": 1757963288, + "uptime_seconds": 61247, + "channel_utilization": 6.79, + "air_util_tx": 0.92797226, + "position_time": 1758022698, + "latitude": 52.6286848, + "longitude": 13.3332992, + "altitude": 45.0, + "last_seen_iso": "2025-09-16T11:38:18Z", + "pos_time_iso": "2025-09-16T11:38:18Z" + }, + { + "node_id": "!14f7692b", + "short_name": "692b", + "long_name": "Deft0nes 692b", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 90.0, + "voltage": 4.061, + "last_heard": 1758022636, + "first_heard": 1757795817, + "uptime_seconds": 222343, + "channel_utilization": 0.0, + "air_util_tx": 0.06083333, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:37:16Z" + }, + { + "node_id": "!7c5b0920", + "short_name": "FFTB", + "long_name": "Freifunk-Teufelsberg BOT 868", + "hw_model": "HELTEC_V3", + "role": "ROUTER", + "snr": -6.25, + "battery_level": 97.0, + "voltage": 4.149, + "last_heard": 1758022460, + "first_heard": 1757828009, + "uptime_seconds": 43287, + "channel_utilization": 0.58, + "air_util_tx": 1.0519166, + "position_time": 1757946866, + "latitude": 52.49795, + "longitude": 13.24061, + "altitude": 160.0, + "last_seen_iso": "2025-09-16T11:34:20Z", + "pos_time_iso": "2025-09-15T14:34:26Z" + }, + { + "node_id": "!43b6e530", + "short_name": "FFSR", + "long_name": "Freifunk-Scherer BOT 868", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -12.0, + "battery_level": null, + "voltage": null, + "last_heard": 1758022410, + "first_heard": 1757832883, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758022410, + "latitude": 52.5481294, + "longitude": 13.3669095, + "altitude": 0.0, + "last_seen_iso": "2025-09-16T11:33:30Z", + "pos_time_iso": "2025-09-16T11:33:30Z" + }, + { + "node_id": "!e50b45d8", + "short_name": "45d8", + "long_name": "Meshtastic 45d8", + "hw_model": "T_ECHO", + "role": "CLIENT", + "snr": -6.0, + "battery_level": 71.0, + "voltage": 3.902, + "last_heard": 1758022290, + "first_heard": 1757780400, + "uptime_seconds": 183698, + "channel_utilization": 1.3233333, + "air_util_tx": 0.41305557, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:31:30Z" + }, + { + "node_id": "!db2b13fc", + "short_name": "SO36", + "long_name": "", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1758022244, + "first_heard": 1757828830, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:30:44Z" + }, + { + "node_id": "!9ea0c780", + "short_name": "nguE", + "long_name": "ngud E Mobile", + "hw_model": "HELTEC_WIRELESS_PAPER", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 58.0, + "voltage": 3.79, + "last_heard": 1758022219, + "first_heard": 1757808007, + "uptime_seconds": 61, + "channel_utilization": 6.225, + "air_util_tx": 0.03836111, + "position_time": 1758004811, + "latitude": 52.5369344, + "longitude": 13.484032, + "altitude": 66.0, + "last_seen_iso": "2025-09-16T11:30:19Z", + "pos_time_iso": "2025-09-16T06:40:11Z" + }, + { + "node_id": "!44968f61", + "short_name": "PMRB", + "long_name": "PotatoMesh Rummelsburg MF", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 10.25, + "battery_level": 101.0, + "voltage": -0.001, + "last_heard": 1758022167, + "first_heard": 1757827764, + "uptime_seconds": 323458, + "channel_utilization": 6.4783335, + "air_util_tx": 1.0706111, + "position_time": 1757698889, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 50.0, + "last_seen_iso": "2025-09-16T11:29:27Z", + "pos_time_iso": "2025-09-12T17:41:29Z" + }, + { + "node_id": "!9ea1bea4", + "short_name": "zwgl", + "long_name": "Zwanglos Boddin", + "hw_model": "HELTEC_V3", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 4.325, + "last_heard": 1758022021, + "first_heard": 1757838418, + "uptime_seconds": 1300231, + "channel_utilization": 0.0, + "air_util_tx": 0.0, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:27:01Z" + }, + { + "node_id": "!fa6baed0", + "short_name": "TWR1", + "long_name": "TWR1-Nord", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.5, + "battery_level": 97.0, + "voltage": 4.152, + "last_heard": 1758021986, + "first_heard": 1757811714, + "uptime_seconds": 14463, + "channel_utilization": 5.741667, + "air_util_tx": 0.31316668, + "position_time": 1758021986, + "latitude": 52.604928, + "longitude": 13.3341184, + "altitude": 65.0, + "last_seen_iso": "2025-09-16T11:26:26Z", + "pos_time_iso": "2025-09-16T11:26:26Z" + }, + { + "node_id": "!a0cc1800", + "short_name": "SIXB", + "long_name": "bea22.mt.sixtopia.net", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.25, + "battery_level": 101.0, + "voltage": 4.267, + "last_heard": 1758021966, + "first_heard": 1757819160, + "uptime_seconds": 72070, + "channel_utilization": 2.86, + "air_util_tx": 0.058916666, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:26:06Z" + }, + { + "node_id": "!d42e18e8", + "short_name": "RRun", + "long_name": "Road-Runner", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 94.0, + "voltage": 4.106, + "last_heard": 1758021865, + "first_heard": 1757831063, + "uptime_seconds": 452482, + "channel_utilization": 5.725, + "air_util_tx": 0.9239167, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:24:25Z" + }, + { + "node_id": "!f9b0938c", + "short_name": "Ed-1", + "long_name": "Y35RO Plänterwald ", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "snr": 11.25, + "battery_level": 101.0, + "voltage": 4.264, + "last_heard": 1758021840, + "first_heard": 1757803142, + "uptime_seconds": 91873, + "channel_utilization": 3.4916666, + "air_util_tx": 0.6040555, + "position_time": 1758021840, + "latitude": 52.4550144, + "longitude": 13.4479872, + "altitude": 36.0, + "last_seen_iso": "2025-09-16T11:24:00Z", + "pos_time_iso": "2025-09-16T11:24:00Z" + }, + { + "node_id": "!db29aa78", + "short_name": "_blx", + "long_name": "DB0BLX", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.25, + "battery_level": 101.0, + "voltage": 4.229, + "last_heard": 1758021697, + "first_heard": 1757829484, + "uptime_seconds": 501767, + "channel_utilization": 7.5833335, + "air_util_tx": 0.91802776, + "position_time": 1758021697, + "latitude": 52.4550144, + "longitude": 13.3431296, + "altitude": null, + "last_seen_iso": "2025-09-16T11:21:37Z", + "pos_time_iso": "2025-09-16T11:21:37Z" + }, + { + "node_id": "!16ced364", + "short_name": "Pat", + "long_name": "Pat HQ BS", + "hw_model": "STATION_G2", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1758021676, + "first_heard": 1757830983, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:21:16Z" + }, + { + "node_id": "!c0c32348", + "short_name": "CooP", + "long_name": "Cooper", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 10.5, + "battery_level": null, + "voltage": null, + "last_heard": 1758021624, + "first_heard": 1757863184, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758021624, + "latitude": 52.5467648, + "longitude": 13.4873088, + "altitude": 365.0, + "last_seen_iso": "2025-09-16T11:20:24Z", + "pos_time_iso": "2025-09-16T11:20:24Z" + }, + { + "node_id": "!abbdf3f7", + "short_name": "f3f7", + "long_name": "Smobi", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": 97.0, + "voltage": 4.16, + "last_heard": 1758021608, + "first_heard": 1757800536, + "uptime_seconds": 107233, + "channel_utilization": 0.5333333, + "air_util_tx": 0.017638888, + "position_time": 1758021608, + "latitude": 52.4550144, + "longitude": 13.500416, + "altitude": 39.0, + "last_seen_iso": "2025-09-16T11:20:08Z", + "pos_time_iso": "2025-09-16T11:20:08Z" + }, + { + "node_id": "!b03d89fc", + "short_name": "SEAo", + "long_name": "DMSEA Oberschöneweide", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.5, + "battery_level": null, + "voltage": null, + "last_heard": 1758021431, + "first_heard": 1757827023, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758020801, + "latitude": 52.4659233, + "longitude": 13.5175972, + "altitude": null, + "last_seen_iso": "2025-09-16T11:17:11Z", + "pos_time_iso": "2025-09-16T11:06:41Z" + }, + { + "node_id": "!4eb3bc8d", + "short_name": "Alex", + "long_name": "Alex /p1 (T-Echo)", + "hw_model": "T_ECHO", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.976, + "last_heard": 1758021235, + "first_heard": 1757798660, + "uptime_seconds": 684195, + "channel_utilization": 4.9083333, + "air_util_tx": 0.009555556, + "position_time": 1758021235, + "latitude": 52.5074432, + "longitude": 13.3431296, + "altitude": 25.0, + "last_seen_iso": "2025-09-16T11:13:55Z", + "pos_time_iso": "2025-09-16T11:13:55Z" + }, + { + "node_id": "!5d9c7329", + "short_name": "mowM", + "long_name": "mirkosw /MF", + "hw_model": "T_ECHO", + "role": "CLIENT", + "snr": 11.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758021167, + "first_heard": 1757769553, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758021167, + "latitude": 52.4629571, + "longitude": 13.5138746, + "altitude": 48.0, + "last_seen_iso": "2025-09-16T11:12:47Z", + "pos_time_iso": "2025-09-16T11:12:47Z" + }, + { + "node_id": "!0910c922", + "short_name": "c922", + "long_name": "Meshtastic c922", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": -12.75, + "battery_level": 67.0, + "voltage": 3.866, + "last_heard": 1758020943, + "first_heard": 1757830191, + "uptime_seconds": 126027, + "channel_utilization": 8.663333, + "air_util_tx": 0.8109445, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T11:09:03Z" + }, + { + "node_id": "!db2b2418", + "short_name": "AmHe", + "long_name": "Amon Hen", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -12.5, + "battery_level": 101.0, + "voltage": 4.468, + "last_heard": 1758020940, + "first_heard": 1757830524, + "uptime_seconds": 151156, + "channel_utilization": 3.4, + "air_util_tx": 1.1215278, + "position_time": 1758020940, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 46.0, + "last_seen_iso": "2025-09-16T11:09:00Z", + "pos_time_iso": "2025-09-16T11:09:00Z" + }, + { + "node_id": "!b03c97a4", + "short_name": "BLN1", + "long_name": "BLNo1 Fhain Süd ", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 12.0, + "battery_level": null, + "voltage": null, + "last_heard": 1758020843, + "first_heard": 1757831824, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758020843, + "latitude": 52.502528, + "longitude": 13.4561792, + "altitude": 38.0, + "last_seen_iso": "2025-09-16T11:07:23Z", + "pos_time_iso": "2025-09-16T11:07:23Z" + }, + { + "node_id": "!5bcdae60", + "short_name": "Euv", + "long_name": "Euv Solar1", + "hw_model": "SEEED_SOLAR_NODE", + "role": "ROUTER_LATE", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.218, + "last_heard": 1758020808, + "first_heard": 1757795030, + "uptime_seconds": 82400, + "channel_utilization": 4.2083335, + "air_util_tx": 1.2656945, + "position_time": 1758020808, + "latitude": 52.5074432, + "longitude": 13.4479872, + "altitude": 53.0, + "last_seen_iso": "2025-09-16T11:06:48Z", + "pos_time_iso": "2025-09-16T11:06:48Z" + }, + { + "node_id": "!b03d7b74", + "short_name": "unb2", + "long_name": "unblau-2", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 4.291, + "last_heard": 1758020706, + "first_heard": 1757829896, + "uptime_seconds": 2204856, + "channel_utilization": 1.8100001, + "air_util_tx": 0.4839722, + "position_time": 1758016692, + "latitude": 52.547584, + "longitude": 13.3029888, + "altitude": 0.0, + "last_seen_iso": "2025-09-16T11:05:06Z", + "pos_time_iso": "2025-09-16T09:58:12Z" + }, + { + "node_id": "!a2ed9ab0", + "short_name": "9ab0", + "long_name": "Meshtastic 9ab0", + "hw_model": "UNSET", + "role": "CLIENT", + "snr": -14.5, + "battery_level": null, + "voltage": null, + "last_heard": 1758020491, + "first_heard": 1757773995, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758020491, + "latitude": 52.5635584, + "longitude": 13.3771264, + "altitude": 82.0, + "last_seen_iso": "2025-09-16T11:01:31Z", + "pos_time_iso": "2025-09-16T11:01:31Z" + }, + { + "node_id": "!f6b3f9bf", + "short_name": "TGT1", + "long_name": "Hansaplatz Tiergarten", + "hw_model": "SEEED_SOLAR_NODE", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758020037, + "first_heard": 1757802296, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758020037, + "latitude": 52.5074432, + "longitude": 13.3431296, + "altitude": 10.0, + "last_seen_iso": "2025-09-16T10:53:57Z", + "pos_time_iso": "2025-09-16T10:53:57Z" + }, + { + "node_id": "!92476202", + "short_name": "WMDF", + "long_name": "WMDF/RAK", + "hw_model": "RAK2560", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758019484, + "first_heard": 1757799337, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T10:44:44Z" + }, + { + "node_id": "!43b6f328", + "short_name": "775", + "long_name": "BF775 ", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.25, + "battery_level": 54.0, + "voltage": 3.753, + "last_heard": 1758018963, + "first_heard": 1757774419, + "uptime_seconds": 61, + "channel_utilization": 4.62, + "air_util_tx": 0.024916666, + "position_time": 1758018963, + "latitude": 52.4588781, + "longitude": 13.3774764, + "altitude": 51.0, + "last_seen_iso": "2025-09-16T10:36:03Z", + "pos_time_iso": "2025-09-16T10:36:03Z" + }, + { + "node_id": "!c0c321b4", + "short_name": "AFCK", + "long_name": "AufAckse", + "hw_model": "TBEAM", + "role": "ROUTER", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 0.0, + "last_heard": 1758018868, + "first_heard": 1757976245, + "uptime_seconds": 61, + "channel_utilization": 8.83, + "air_util_tx": 0.043027777, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T10:34:28Z" + }, + { + "node_id": "!4359d8f8", + "short_name": "fax", + "long_name": "fantastix", + "hw_model": "HELTEC_WIRELESS_PAPER", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 4.237, + "last_heard": 1758018594, + "first_heard": 1757832819, + "uptime_seconds": 61, + "channel_utilization": 22.18, + "air_util_tx": 0.049666665, + "position_time": 1757972208, + "latitude": 52.43278, + "longitude": 13.47092, + "altitude": 50.0, + "last_seen_iso": "2025-09-16T10:29:54Z", + "pos_time_iso": "2025-09-15T21:36:48Z" + }, + { + "node_id": "!45a351b8", + "short_name": "DLS", + "long_name": "NDB Luebars 📡 Replacement", + "hw_model": "HELTEC_VISION_MASTER_T190", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758018339, + "first_heard": 1757809531, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": 52.6139, + "longitude": 13.3636, + "altitude": 70.0, + "last_seen_iso": "2025-09-16T10:25:39Z" + }, + { + "node_id": "!7a6d877c", + "short_name": "877c", + "long_name": "【ツ】 877c", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1758018256, + "first_heard": 1757858681, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T10:24:16Z" + }, + { + "node_id": "!177cfa26", + "short_name": "lun1", + "long_name": "Lunet One", + "hw_model": "T_ECHO", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.847, + "last_heard": 1758017722, + "first_heard": 1757768167, + "uptime_seconds": 1046205, + "channel_utilization": 1.0316666, + "air_util_tx": 0.021694444, + "position_time": 1758000320, + "latitude": 52.5021165, + "longitude": 13.5000622, + "altitude": 61.0, + "last_seen_iso": "2025-09-16T10:15:22Z", + "pos_time_iso": "2025-09-16T05:25:20Z" + }, + { + "node_id": "!90a0ecac", + "short_name": "MxSc", + "long_name": "Max Screen", + "hw_model": "SENSECAP_INDICATOR", + "role": "CLIENT_MUTE", + "snr": 11.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758017217, + "first_heard": 1757822815, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T10:06:57Z" + }, + { + "node_id": "!45edbd08", + "short_name": "SOL1", + "long_name": "SOL1-Karow☀️", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 97.0, + "voltage": 4.15, + "last_heard": 1758016680, + "first_heard": 1757825874, + "uptime_seconds": 5900335, + "channel_utilization": 5.335, + "air_util_tx": 0.76850003, + "position_time": null, + "latitude": 52.6241792, + "longitude": 13.481984, + "altitude": 62.0, + "last_seen_iso": "2025-09-16T09:58:00Z" + }, + { + "node_id": "!b03ceb58", + "short_name": "base", + "long_name": "c-base.org 868MHz", + "hw_model": "HELTEC_WIRELESS_TRACKER", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758016262, + "first_heard": 1757827634, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758016262, + "latitude": 52.512859, + "longitude": 13.420156, + "altitude": 57.0, + "last_seen_iso": "2025-09-16T09:51:02Z", + "pos_time_iso": "2025-09-16T09:51:02Z" + }, + { + "node_id": "!43561304", + "short_name": "NBS", + "long_name": "NBS14 Base Station", + "hw_model": "HELTEC_WIRELESS_PAPER", + "role": "CLIENT", + "snr": 11.5, + "battery_level": 77.0, + "voltage": 3.966, + "last_heard": 1758016068, + "first_heard": 1757820798, + "uptime_seconds": 3175412, + "channel_utilization": 0.75, + "air_util_tx": 1.4291389, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:47:48Z" + }, + { + "node_id": "!068e1ebc", + "short_name": "1ebc", + "long_name": "Meshtastic 1ebc", + "hw_model": "UNSET", + "role": "CLIENT", + "snr": 10.5, + "battery_level": null, + "voltage": null, + "last_heard": 1758015995, + "first_heard": 1757829634, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758015980, + "latitude": 52.5309528, + "longitude": 13.40785, + "altitude": 122.0, + "last_seen_iso": "2025-09-16T09:46:35Z", + "pos_time_iso": "2025-09-16T09:46:20Z" + }, + { + "node_id": "!9c93a2df", + "short_name": "xaRa", + "long_name": "xayax RAK", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 69.0, + "voltage": 3.884, + "last_heard": 1758015870, + "first_heard": 1757799869, + "uptime_seconds": 243332, + "channel_utilization": 0.35833332, + "air_util_tx": 0.7733611, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:44:30Z" + }, + { + "node_id": "!fa6bb504", + "short_name": "TWR2", + "long_name": "TWR2-Zentrum", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.205, + "last_heard": 1758015712, + "first_heard": 1757831988, + "uptime_seconds": 2512816, + "channel_utilization": 8.266666, + "air_util_tx": 0.44, + "position_time": null, + "latitude": 52.5254656, + "longitude": 13.3251072, + "altitude": 82.0, + "last_seen_iso": "2025-09-16T09:41:52Z" + }, + { + "node_id": "!d224b9ee", + "short_name": "b2", + "long_name": "Bobby 👾", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.283, + "last_heard": 1758015408, + "first_heard": 1757808116, + "uptime_seconds": 218123, + "channel_utilization": 1.2483333, + "air_util_tx": 0.0078055556, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:36:48Z" + }, + { + "node_id": "!01bb88db", + "short_name": "GSBM", + "long_name": "Gedenkstätte Berliner Mauer", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 10.5, + "battery_level": null, + "voltage": null, + "last_heard": 1758015366, + "first_heard": 1757820966, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:36:06Z" + }, + { + "node_id": "!da635e24", + "short_name": "LAN", + "long_name": "LAN (\"ping\"/SF)", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.203, + "last_heard": 1758015344, + "first_heard": 1757820949, + "uptime_seconds": 61, + "channel_utilization": 16.29, + "air_util_tx": 0.012527777, + "position_time": 1757921223, + "latitude": 52.5343, + "longitude": 13.4996, + "altitude": null, + "last_seen_iso": "2025-09-16T09:35:44Z", + "pos_time_iso": "2025-09-15T07:27:03Z" + }, + { + "node_id": "!102cb4b8", + "short_name": "JAN", + "long_name": "Jan T114", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1758015258, + "first_heard": 1757877459, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:34:18Z" + }, + { + "node_id": "!6c73bf84", + "short_name": "ts1", + "long_name": "Tegeler See Node 1", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 100.0, + "voltage": 4.179, + "last_heard": 1758014737, + "first_heard": 1757824664, + "uptime_seconds": 30670, + "channel_utilization": 6.3450003, + "air_util_tx": 0.28575, + "position_time": null, + "latitude": 52.559872, + "longitude": 13.2907008, + "altitude": 35.0, + "last_seen_iso": "2025-09-16T09:25:37Z" + }, + { + "node_id": "!459d6743", + "short_name": "FiCr", + "long_name": "FireCracker", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 94.0, + "voltage": 4.119, + "last_heard": 1758014471, + "first_heard": 1757766762, + "uptime_seconds": 135194, + "channel_utilization": 7.666667, + "air_util_tx": 0.43, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:21:11Z" + }, + { + "node_id": "!ba653ae8", + "short_name": "3ae8", + "long_name": "Meshtastic 3ae8", + "hw_model": "HELTEC_V3", + "role": "ROUTER", + "snr": -15.5, + "battery_level": null, + "voltage": null, + "last_heard": 1758014372, + "first_heard": 1757795468, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758014358, + "latitude": 52.6385152, + "longitude": 13.631488, + "altitude": 70.0, + "last_seen_iso": "2025-09-16T09:19:32Z", + "pos_time_iso": "2025-09-16T09:19:18Z" + }, + { + "node_id": "!b03bd350", + "short_name": "d350", + "long_name": "Meshtastic d350", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.319, + "last_heard": 1758014231, + "first_heard": 1757830628, + "uptime_seconds": 858270, + "channel_utilization": 11.208333, + "air_util_tx": 1.0202223, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:17:11Z" + }, + { + "node_id": "!fe794c32", + "short_name": "4c32", + "long_name": "Meshtastic 4c32", + "hw_model": "HELTEC_MESH_POCKET", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 58.0, + "voltage": 3.715, + "last_heard": 1758013994, + "first_heard": 1757830385, + "uptime_seconds": 428921, + "channel_utilization": 1.8333333, + "air_util_tx": 0.5350556, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:13:14Z" + }, + { + "node_id": "!e138f77e", + "short_name": "PN", + "long_name": "Pankow-Nord", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1758013798, + "first_heard": 1757808582, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": 52.6123008, + "longitude": 13.3955584, + "altitude": 45.0, + "last_seen_iso": "2025-09-16T09:09:58Z" + }, + { + "node_id": "!ca6804d1", + "short_name": "Pckd", + "long_name": "Meshpocket", + "hw_model": "HELTEC_MESH_POCKET", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 96.0, + "voltage": 4.277, + "last_heard": 1758013494, + "first_heard": 1758004687, + "uptime_seconds": 1426575, + "channel_utilization": 1.8383334, + "air_util_tx": 0.8704722, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T09:04:54Z" + }, + { + "node_id": "!9eecf3c0", + "short_name": "WT", + "long_name": "WalkieTextie", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.266, + "last_heard": 1758012935, + "first_heard": 1757808022, + "uptime_seconds": 141388, + "channel_utilization": 0.0, + "air_util_tx": 0.04994444, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T08:55:35Z" + }, + { + "node_id": "!3addea0f", + "short_name": "BHMS", + "long_name": "BLN Hdf Stat", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758012691, + "first_heard": 1757796687, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T08:51:31Z" + }, + { + "node_id": "!db2b23f4", + "short_name": "Eagl", + "long_name": "Gwaihir", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.25, + "battery_level": 101.0, + "voltage": 4.235, + "last_heard": 1758012346, + "first_heard": 1757822402, + "uptime_seconds": 52420, + "channel_utilization": 3.4016664, + "air_util_tx": 1.0981389, + "position_time": 1758012332, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 41.0, + "last_seen_iso": "2025-09-16T08:45:46Z", + "pos_time_iso": "2025-09-16T08:45:32Z" + }, + { + "node_id": "!f1f67380", + "short_name": "ULLL", + "long_name": "ULLL", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 91.0, + "voltage": 4.072, + "last_heard": 1758011782, + "first_heard": 1757808552, + "uptime_seconds": 1578588, + "channel_utilization": 12.368334, + "air_util_tx": 0.55258334, + "position_time": null, + "latitude": 52.5156352, + "longitude": 13.3251072, + "altitude": null, + "last_seen_iso": "2025-09-16T08:36:22Z" + }, + { + "node_id": "!3dd7fd1e", + "short_name": "nguT", + "long_name": "ngud T", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 100.0, + "voltage": 4.226, + "last_heard": 1758011510, + "first_heard": 1757829747, + "uptime_seconds": 19508, + "channel_utilization": 9.521667, + "air_util_tx": 0.9995833, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T08:31:50Z" + }, + { + "node_id": "!6e11aaed", + "short_name": "ARSH", + "long_name": "Marschi", + "hw_model": "HELTEC_MESH_POCKET", + "role": "CLIENT_MUTE", + "snr": 11.25, + "battery_level": 66.0, + "voltage": 3.803, + "last_heard": 1758011126, + "first_heard": 1757954437, + "uptime_seconds": 672827, + "channel_utilization": 3.3166666, + "air_util_tx": 0.022583332, + "position_time": 1758011105, + "latitude": 52.527104, + "longitude": 13.4545408, + "altitude": 50.0, + "last_seen_iso": "2025-09-16T08:25:26Z", + "pos_time_iso": "2025-09-16T08:25:05Z" + }, + { + "node_id": "!6c73edec", + "short_name": "SQ9Y", + "long_name": "SQ9PQL-LY", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758010908, + "first_heard": 1758005281, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758010908, + "latitude": 52.5193216, + "longitude": 13.4295552, + "altitude": 139.0, + "last_seen_iso": "2025-09-16T08:21:48Z", + "pos_time_iso": "2025-09-16T08:21:48Z" + }, + { + "node_id": "!ba60638c", + "short_name": "638c", + "long_name": "Meshtastic 638c", + "hw_model": "HELTEC_V3", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": 22.0, + "voltage": 3.445, + "last_heard": 1758010715, + "first_heard": 1757821860, + "uptime_seconds": 205139, + "channel_utilization": 1.435, + "air_util_tx": 0.014333334, + "position_time": 1758010715, + "latitude": 52.5074432, + "longitude": 13.6052736, + "altitude": 57.0, + "last_seen_iso": "2025-09-16T08:18:35Z", + "pos_time_iso": "2025-09-16T08:18:35Z" + }, + { + "node_id": "!90520695", + "short_name": "FuLo", + "long_name": "Funklochfüller", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1758010592, + "first_heard": 1757835032, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758010592, + "latitude": 52.4550144, + "longitude": 13.500416, + "altitude": 37.0, + "last_seen_iso": "2025-09-16T08:16:32Z", + "pos_time_iso": "2025-09-16T08:16:32Z" + }, + { + "node_id": "!a0cc1394", + "short_name": "KBV4", + "long_name": "KeinBierVor4", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 96.0, + "voltage": 4.143, + "last_heard": 1758010569, + "first_heard": 1757864736, + "uptime_seconds": 136967, + "channel_utilization": 2.6966667, + "air_util_tx": 0.51630557, + "position_time": 1758010569, + "latitude": 52.6123008, + "longitude": 13.3431296, + "altitude": 45.0, + "last_seen_iso": "2025-09-16T08:16:09Z", + "pos_time_iso": "2025-09-16T08:16:09Z" + }, + { + "node_id": "!dc6e4013", + "short_name": "Kn5S", + "long_name": "Kein5Stein 4013 P", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1758010085, + "first_heard": 1757825108, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1758010072, + "latitude": 52.4636282, + "longitude": 13.3223541, + "altitude": 50.0, + "last_seen_iso": "2025-09-16T08:08:05Z", + "pos_time_iso": "2025-09-16T08:07:52Z" + }, + { + "node_id": "!5d823fb1", + "short_name": "3fb1", + "long_name": "SoswB", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 10.5, + "battery_level": null, + "voltage": null, + "last_heard": 1758009741, + "first_heard": 1757774595, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T08:02:21Z" + }, + { + "node_id": "!8d36a17d", + "short_name": "TPTS", + "long_name": "teapot418 Station", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 12.0, + "battery_level": 97.0, + "voltage": 4.158, + "last_heard": 1758008973, + "first_heard": 1757778153, + "uptime_seconds": 137781, + "channel_utilization": 4.8, + "air_util_tx": 0.5290556, + "position_time": 1758008973, + "latitude": 52.5565952, + "longitude": 13.3726208, + "altitude": 42.0, + "last_seen_iso": "2025-09-16T07:49:33Z", + "pos_time_iso": "2025-09-16T07:49:33Z" + }, + { + "node_id": "!1d60dd3c", + "short_name": "FFZW", + "long_name": "Freifunk-Zwingli BOT 868", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "snr": 11.5, + "battery_level": 98.0, + "voltage": 4.164, + "last_heard": 1758007923, + "first_heard": 1757579680, + "uptime_seconds": 29060, + "channel_utilization": 5.3433332, + "air_util_tx": 0.82975, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T07:32:03Z" + }, + { + "node_id": "!b03ca90c", + "short_name": "tnvr", + "long_name": "Tarnover", + "hw_model": "HELTEC_V3", + "role": "CLIENT_MUTE", + "snr": 11.25, + "battery_level": 95.0, + "voltage": 4.124, + "last_heard": 1758007701, + "first_heard": 1757813299, + "uptime_seconds": 1286952, + "channel_utilization": 1.7483333, + "air_util_tx": 0.0076666665, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T07:28:21Z" + }, + { + "node_id": "!9ea0bcbc", + "short_name": "bcbc", + "long_name": "Meshtastic bcbc", + "hw_model": "HELTEC_WIRELESS_PAPER", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1758007003, + "first_heard": 1757872713, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T07:16:43Z" + }, + { + "node_id": "!6c740610", + "short_name": "🦄", + "long_name": "IDDQD 10435", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 100.0, + "voltage": 4.15, + "last_heard": 1758006481, + "first_heard": 1758000812, + "uptime_seconds": 16503, + "channel_utilization": 1.5616666, + "air_util_tx": 0.23580554, + "position_time": 1758000717, + "latitude": 52.54, + "longitude": 13.41, + "altitude": null, + "last_seen_iso": "2025-09-16T07:08:01Z", + "pos_time_iso": "2025-09-16T05:31:57Z" + }, + { + "node_id": "!a6683ea5", + "short_name": "🏞", + "long_name": "sitnchill", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 93.0, + "voltage": 4.101, + "last_heard": 1758004291, + "first_heard": 1757820684, + "uptime_seconds": 202779, + "channel_utilization": 2.4883335, + "air_util_tx": 0.36124998, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T06:31:31Z" + }, + { + "node_id": "!b6428bf9", + "short_name": "WB", + "long_name": "W-Base", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 11.25, + "battery_level": 72.0, + "voltage": 3.916, + "last_heard": 1758003689, + "first_heard": 1757809702, + "uptime_seconds": 67406, + "channel_utilization": 3.486667, + "air_util_tx": 1.0410833, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T06:21:29Z" + }, + { + "node_id": "!ed6a8dc9", + "short_name": "PTA1", + "long_name": "K4PUT techo1", + "hw_model": "T_ECHO", + "role": "CLIENT", + "snr": -13.0, + "battery_level": 101.0, + "voltage": 4.765, + "last_heard": 1758001946, + "first_heard": 1757813123, + "uptime_seconds": 75491, + "channel_utilization": 2.4483333, + "air_util_tx": 0.63211113, + "position_time": 1758001946, + "latitude": 52.4550144, + "longitude": 13.3955584, + "altitude": 77.0, + "last_seen_iso": "2025-09-16T05:52:26Z", + "pos_time_iso": "2025-09-16T05:52:26Z" + }, + { + "node_id": "!02788f81", + "short_name": "HanS", + "long_name": "Meshtastic 8f81", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 58.0, + "voltage": 3.877, + "last_heard": 1758001632, + "first_heard": 1758001632, + "uptime_seconds": 471594, + "channel_utilization": 3.7566667, + "air_util_tx": 0.061694447, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T05:47:12Z" + }, + { + "node_id": "!849a8ba4", + "short_name": "MGN1", + "long_name": "Magnus 1", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 101.0, + "voltage": 4.201, + "last_heard": 1758001403, + "first_heard": 1757829564, + "uptime_seconds": 740673, + "channel_utilization": 0.0, + "air_util_tx": 0.025305556, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T05:43:23Z" + }, + { + "node_id": "!af51a025", + "short_name": "Mry0", + "long_name": "Mry BaseStation", + "hw_model": "SEEED_SOLAR_NODE", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 65.0, + "voltage": 3.846, + "last_heard": 1758001298, + "first_heard": 1757843714, + "uptime_seconds": 192440, + "channel_utilization": 1.3983333, + "air_util_tx": 0.6596111, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T05:41:38Z" + }, + { + "node_id": "!849a8b90", + "short_name": "📶", + "long_name": "bert", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -12.75, + "battery_level": 101.0, + "voltage": 4.274, + "last_heard": 1758001165, + "first_heard": 1757950681, + "uptime_seconds": 56369, + "channel_utilization": 10.768333, + "air_util_tx": 1.1604723, + "position_time": 1758001165, + "latitude": 52.5074432, + "longitude": 13.4479872, + "altitude": 48.0, + "last_seen_iso": "2025-09-16T05:39:25Z", + "pos_time_iso": "2025-09-16T05:39:25Z" + }, + { + "node_id": "!e80cda12", + "short_name": "mowW", + "long_name": "mirkosw /pWisMeshTag", + "hw_model": "WISMESH_TAG", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": 94.0, + "voltage": 4.114, + "last_heard": 1758000138, + "first_heard": 1757797822, + "uptime_seconds": 66, + "channel_utilization": 3.01, + "air_util_tx": 0.014333334, + "position_time": 1758000127, + "latitude": 52.4725355, + "longitude": 13.3700968, + "altitude": -39.0, + "last_seen_iso": "2025-09-16T05:22:18Z", + "pos_time_iso": "2025-09-16T05:22:07Z" + }, + { + "node_id": "!a0cc2af8", + "short_name": "2af8", + "long_name": "Meshtastic 2af8", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -14.5, + "battery_level": 76.0, + "voltage": 3.958, + "last_heard": 1757999642, + "first_heard": 1757817531, + "uptime_seconds": 71724, + "channel_utilization": 0.0, + "air_util_tx": 0.5922222, + "position_time": 1757999631, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 61.0, + "last_seen_iso": "2025-09-16T05:14:02Z", + "pos_time_iso": "2025-09-16T05:13:51Z" + }, + { + "node_id": "!18de8f57", + "short_name": "TWR4", + "long_name": "TWR4-Node", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757999530, + "first_heard": 1757826734, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T05:12:10Z" + }, + { + "node_id": "!2b292b2c", + "short_name": "RüP", + "long_name": "Rüdesheimer Platz", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757999468, + "first_heard": 1757970516, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757999468, + "latitude": 52.4731107, + "longitude": 13.3152098, + "altitude": 61.0, + "last_seen_iso": "2025-09-16T05:11:08Z", + "pos_time_iso": "2025-09-16T05:11:08Z" + }, + { + "node_id": "!b1fa2b07", + "short_name": "FROG", + "long_name": "Frosch/p", + "hw_model": "T_ECHO", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 4.752, + "last_heard": 1757998632, + "first_heard": 1757911631, + "uptime_seconds": 122785, + "channel_utilization": 2.385, + "air_util_tx": 0.038000003, + "position_time": 1757998630, + "latitude": 52.518912, + "longitude": 13.5512064, + "altitude": 68.0, + "last_seen_iso": "2025-09-16T04:57:12Z", + "pos_time_iso": "2025-09-16T04:57:10Z" + }, + { + "node_id": "!9eecb2fc", + "short_name": "scf1", + "long_name": "smartCityFarm-eV-greenhouse", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.273, + "last_heard": 1757998168, + "first_heard": 1757798528, + "uptime_seconds": 573904, + "channel_utilization": 0.2866667, + "air_util_tx": 0.8055833, + "position_time": 1757998157, + "latitude": 52.4730368, + "longitude": 13.4660096, + "altitude": 43.0, + "last_seen_iso": "2025-09-16T04:49:28Z", + "pos_time_iso": "2025-09-16T04:49:17Z" + }, + { + "node_id": "!9c56b631", + "short_name": "KatS", + "long_name": "KatSComm", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 74.0, + "voltage": 3.936, + "last_heard": 1757997367, + "first_heard": 1757824568, + "uptime_seconds": 637262, + "channel_utilization": 3.8866665, + "air_util_tx": 0.86419445, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T04:36:07Z" + }, + { + "node_id": "!6c7311ec", + "short_name": "ts2", + "long_name": "Tegeler See Node 2", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": -14.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757997350, + "first_heard": 1757824323, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T04:35:50Z" + }, + { + "node_id": "!25c2e7dc", + "short_name": "e7dc", + "long_name": "Julia Kløckchain", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757996090, + "first_heard": 1757781280, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757996090, + "latitude": 52.5074432, + "longitude": 13.4479872, + "altitude": 50.0, + "last_seen_iso": "2025-09-16T04:14:50Z", + "pos_time_iso": "2025-09-16T04:14:50Z" + }, + { + "node_id": "!a0cc6904", + "short_name": "Kdû", + "long_name": "Khazad-dûm", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.5, + "battery_level": 4.0, + "voltage": 3.195, + "last_heard": 1757992840, + "first_heard": 1757819079, + "uptime_seconds": 154899, + "channel_utilization": 0.7366667, + "air_util_tx": 0.7919166, + "position_time": 1757987158, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 57.0, + "last_seen_iso": "2025-09-16T03:20:40Z", + "pos_time_iso": "2025-09-16T01:45:58Z" + }, + { + "node_id": "!9e17349d", + "short_name": "TPT2", + "long_name": "teapot418 Mobile 2", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 4.137, + "last_heard": 1757991656, + "first_heard": 1757842651, + "uptime_seconds": 137360, + "channel_utilization": 0.5733334, + "air_util_tx": 0.0048333337, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T03:00:56Z" + }, + { + "node_id": "!d2545511", + "short_name": "pix", + "long_name": "knapix", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "snr": 10.25, + "battery_level": 101.0, + "voltage": 4.177, + "last_heard": 1757989799, + "first_heard": 1757825026, + "uptime_seconds": 65238, + "channel_utilization": 4.6466665, + "air_util_tx": 0.032055557, + "position_time": 1757989799, + "latitude": 52.4419072, + "longitude": 13.4610944, + "altitude": 67.0, + "last_seen_iso": "2025-09-16T02:29:59Z", + "pos_time_iso": "2025-09-16T02:29:59Z" + }, + { + "node_id": "!9ee70ed0", + "short_name": "AAMB", + "long_name": "AufAckse MB", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 0.0, + "voltage": 3.09, + "last_heard": 1757988219, + "first_heard": 1757924327, + "uptime_seconds": 29115, + "channel_utilization": 6.14, + "air_util_tx": 0.8681667, + "position_time": 1757968452, + "latitude": 52.6319616, + "longitude": 13.5069696, + "altitude": 0.0, + "last_seen_iso": "2025-09-16T02:03:39Z", + "pos_time_iso": "2025-09-15T20:34:12Z" + }, + { + "node_id": "!849c3d08", + "short_name": "LAN2", + "long_name": "LAN2 Frag mich @llm oder via DM", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.5, + "battery_level": null, + "voltage": null, + "last_heard": 1757987152, + "first_heard": 1757987152, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T01:45:52Z" + }, + { + "node_id": "!9eecf808", + "short_name": "F0oz", + "long_name": "(ㆆ_ㆆ) F0oz", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757983521, + "first_heard": 1757814557, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-16T00:45:21Z" + }, + { + "node_id": "!a2e17674", + "short_name": "MATg", + "long_name": "DB9MAT G2", + "hw_model": "STATION_G2", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 0.0, + "last_heard": 1757982809, + "first_heard": 1757826009, + "uptime_seconds": 4280244, + "channel_utilization": 1.0916667, + "air_util_tx": 0.7342778, + "position_time": 1757982809, + "latitude": 52.5214663, + "longitude": 13.6291073, + "altitude": 60.0, + "last_seen_iso": "2025-09-16T00:33:29Z", + "pos_time_iso": "2025-09-16T00:33:29Z" + }, + { + "node_id": "!da627d58", + "short_name": "DEF1", + "long_name": "Defcom1", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757979939, + "first_heard": 1757829932, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757972506, + "latitude": 52.5262848, + "longitude": 13.3275648, + "altitude": 34.0, + "last_seen_iso": "2025-09-15T23:45:39Z", + "pos_time_iso": "2025-09-15T21:41:46Z" + }, + { + "node_id": "!c0c30b10", + "short_name": "WIES", + "long_name": "7LA 0b10", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 101.0, + "voltage": -0.001, + "last_heard": 1757979778, + "first_heard": 1757979778, + "uptime_seconds": 58896, + "channel_utilization": 0.0, + "air_util_tx": 0.71275, + "position_time": null, + "latitude": 52.4550144, + "longitude": 13.3431296, + "altitude": 59.0, + "last_seen_iso": "2025-09-15T23:42:58Z" + }, + { + "node_id": "!849b8194", + "short_name": "ip83", + "long_name": "ijp83", + "hw_model": "HELTEC_V3", + "role": "CLIENT_MUTE", + "snr": -13.25, + "battery_level": 7.0, + "voltage": 3.249, + "last_heard": 1757975065, + "first_heard": 1757932193, + "uptime_seconds": 79148, + "channel_utilization": 7.9566665, + "air_util_tx": 0.0165, + "position_time": null, + "latitude": 52.5074432, + "longitude": 13.3431296, + "altitude": 70.0, + "last_seen_iso": "2025-09-15T22:24:25Z" + }, + { + "node_id": "!db898113", + "short_name": "8113", + "long_name": "xberg solar 8113", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757974079, + "first_heard": 1757951837, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757974079, + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 49.0, + "last_seen_iso": "2025-09-15T22:07:59Z", + "pos_time_iso": "2025-09-15T22:07:59Z" + }, + { + "node_id": "!9ee70320", + "short_name": "NS-N", + "long_name": "Klub Łączności ODRA baza \"N\"📡", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -14.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757974062, + "first_heard": 1757974062, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T22:07:42Z" + }, + { + "node_id": "!e00cea30", + "short_name": "NHR1", + "long_name": "NHGR1_ea30", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.25, + "battery_level": 101.0, + "voltage": 4.275, + "last_heard": 1757971839, + "first_heard": 1757774673, + "uptime_seconds": 1199785, + "channel_utilization": 4.4483333, + "air_util_tx": 0.7357222, + "position_time": 1757971839, + "latitude": 52.5074432, + "longitude": 13.6577024, + "altitude": 64.0, + "last_seen_iso": "2025-09-15T21:30:39Z", + "pos_time_iso": "2025-09-15T21:30:39Z" + }, + { + "node_id": "!88071b58", + "short_name": "FlxS", + "long_name": "Flux/S", + "hw_model": "RAK4631", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": 60.0, + "voltage": 3.8, + "last_heard": 1757969892, + "first_heard": 1757786586, + "uptime_seconds": 138147, + "channel_utilization": 0.0, + "air_util_tx": 0.0, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T20:58:12Z" + }, + { + "node_id": "!3269942c", + "short_name": "LLL", + "long_name": "Live Laugh Love", + "hw_model": "HELTEC_MESH_POCKET", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": 89.0, + "voltage": 4.051, + "last_heard": 1757969171, + "first_heard": 1757828787, + "uptime_seconds": 1413885, + "channel_utilization": 2.4150002, + "air_util_tx": 0.0, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T20:46:11Z" + }, + { + "node_id": "!bb8a1ac6", + "short_name": "EDUP", + "long_name": "7EDU_Portable", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 10.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757967029, + "first_heard": 1757871014, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757967029, + "latitude": 52.4970876, + "longitude": 13.4645596, + "altitude": 40.0, + "last_seen_iso": "2025-09-15T20:10:29Z", + "pos_time_iso": "2025-09-15T20:10:29Z" + }, + { + "node_id": "!849b7154", + "short_name": "7154", + "long_name": "Meshtastic 7154", + "hw_model": "HELTEC_V3", + "role": "CLIENT_MUTE", + "snr": -14.5, + "battery_level": 39.0, + "voltage": 3.623, + "last_heard": 1757967022, + "first_heard": 1757915428, + "uptime_seconds": 64985, + "channel_utilization": 7.1850004, + "air_util_tx": 0.00825, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T20:10:22Z" + }, + { + "node_id": "!bb9f80ca", + "short_name": "b1", + "long_name": "Bobby 🔌", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.75, + "battery_level": 101.0, + "voltage": 4.236, + "last_heard": 1757966180, + "first_heard": 1757825782, + "uptime_seconds": 735853, + "channel_utilization": 5.8966665, + "air_util_tx": 0.7563889, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T19:56:20Z" + }, + { + "node_id": "!da9d5a98", + "short_name": "5a98", + "long_name": "xberg 5a98", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1757964900, + "first_heard": 1757961563, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T19:35:00Z" + }, + { + "node_id": "!433ecff8", + "short_name": "44er", + "long_name": "DO7DSL stat.", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.286, + "last_heard": 1757964614, + "first_heard": 1757824216, + "uptime_seconds": 741720, + "channel_utilization": 0.5733334, + "air_util_tx": 0.6061389, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T19:30:14Z" + }, + { + "node_id": "!6cf821fb", + "short_name": "OKP1", + "long_name": "Okapi 1 (he) mobil", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 85.0, + "voltage": 4.051, + "last_heard": 1757963585, + "first_heard": 1757959167, + "uptime_seconds": 66, + "channel_utilization": 5.4233336, + "air_util_tx": 0.03694444, + "position_time": 1757962779, + "latitude": 52.5074432, + "longitude": 13.4479872, + "altitude": 51.0, + "last_seen_iso": "2025-09-15T19:13:05Z", + "pos_time_iso": "2025-09-15T18:59:39Z" + }, + { + "node_id": "!7f7d7914", + "short_name": "hau2", + "long_name": "Hauke 2", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757963065, + "first_heard": 1757963065, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T19:04:25Z" + }, + { + "node_id": "!03b9ca11", + "short_name": "ca11", + "long_name": "Meshtastic ca11", + "hw_model": "UNSET", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 57.0, + "voltage": 3.869, + "last_heard": 1757957659, + "first_heard": 1757957659, + "uptime_seconds": 26711, + "channel_utilization": 2.3766665, + "air_util_tx": 0.1098889, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T17:34:19Z" + }, + { + "node_id": "!28978f94", + "short_name": "8f94", + "long_name": "Landsberger K", + "hw_model": "TBEAM", + "role": "CLIENT_MUTE", + "snr": 11.5, + "battery_level": 2.0, + "voltage": 3.099, + "last_heard": 1757953198, + "first_heard": 1757939754, + "uptime_seconds": 13504, + "channel_utilization": 8.165, + "air_util_tx": 0.051833335, + "position_time": 1757953102, + "latitude": 52.559872, + "longitude": 13.500416, + "altitude": 115.0, + "last_seen_iso": "2025-09-15T16:19:58Z", + "pos_time_iso": "2025-09-15T16:18:22Z" + }, + { + "node_id": "!9d3dba8a", + "short_name": "FLV2", + "long_name": "Fluvius 2", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "snr": -13.5, + "battery_level": null, + "voltage": null, + "last_heard": 1757950866, + "first_heard": 1757820166, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T15:41:06Z" + }, + { + "node_id": "!a3deea53", + "short_name": "🐸", + "long_name": "green", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "snr": 10.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757949419, + "first_heard": 1757920065, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T15:16:59Z" + }, + { + "node_id": "!2f945044", + "short_name": "BND", + "long_name": "Briansnachrichtendienst", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "snr": -12.25, + "battery_level": 96.0, + "voltage": 4.14, + "last_heard": 1757948827, + "first_heard": 1757787385, + "uptime_seconds": 61, + "channel_utilization": 6.011667, + "air_util_tx": 0.0335, + "position_time": 1757947583, + "latitude": 52.4435456, + "longitude": 13.3906432, + "altitude": 50.0, + "last_seen_iso": "2025-09-15T15:07:07Z", + "pos_time_iso": "2025-09-15T14:46:23Z" + }, + { + "node_id": "!c5abeec2", + "short_name": "ICEM", + "long_name": "ICE Mobile", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 84.0, + "voltage": 4.047, + "last_heard": 1757944855, + "first_heard": 1757928259, + "uptime_seconds": 22332, + "channel_utilization": 6.893333, + "air_util_tx": 0.7370833, + "position_time": 1757944853, + "latitude": 52.4156928, + "longitude": 13.5135232, + "altitude": 35.0, + "last_seen_iso": "2025-09-15T14:00:55Z", + "pos_time_iso": "2025-09-15T14:00:53Z" + }, + { + "node_id": "!28978dd4", + "short_name": "Gelb", + "long_name": "Gelb innen", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 10.5, + "battery_level": null, + "voltage": null, + "last_heard": 1757941652, + "first_heard": 1757770565, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T13:07:32Z" + }, + { + "node_id": "!1551a9dc", + "short_name": "PELA", + "long_name": "PELA a9dc", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757939305, + "first_heard": 1757913601, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757939302, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 31.0, + "last_seen_iso": "2025-09-15T12:28:25Z", + "pos_time_iso": "2025-09-15T12:28:22Z" + }, + { + "node_id": "!c0c309ec", + "short_name": "NJM1", + "long_name": "NHGJM1_09ec", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757939019, + "first_heard": 1757820219, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T12:23:39Z" + }, + { + "node_id": "!64e2ecc2", + "short_name": "d0m", + "long_name": "d0m", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757936716, + "first_heard": 1757831284, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T11:45:16Z" + }, + { + "node_id": "!9ee71c38", + "short_name": "1c38", + "long_name": "Varus1c38", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.5, + "battery_level": null, + "voltage": null, + "last_heard": 1757934899, + "first_heard": 1757784888, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T11:14:59Z" + }, + { + "node_id": "!da73ea58", + "short_name": "🏡", + "long_name": "dmho-ho", + "hw_model": "SEEED_XIAO_S3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757934581, + "first_heard": 1757882020, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T11:09:41Z" + }, + { + "node_id": "!6c6964f4", + "short_name": "BXU9", + "long_name": "The Unknown Station #9", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 0.0, + "last_heard": 1757922959, + "first_heard": 1757892003, + "uptime_seconds": 2223, + "channel_utilization": 0.6433333, + "air_util_tx": 0.09477778, + "position_time": 1757922346, + "latitude": 52.3829248, + "longitude": 13.6511488, + "altitude": 76.0, + "last_seen_iso": "2025-09-15T07:55:59Z", + "pos_time_iso": "2025-09-15T07:45:46Z" + }, + { + "node_id": "!9eecf544", + "short_name": "f544", + "long_name": "Meshtastic f544", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.0, + "battery_level": 101.0, + "voltage": 4.27, + "last_heard": 1757920953, + "first_heard": 1757775822, + "uptime_seconds": 41210, + "channel_utilization": 0.0, + "air_util_tx": 0.35269445, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-15T07:22:33Z" + }, + { + "node_id": "!2b1f7a6f", + "short_name": "kerc", + "long_name": "kermit-cap", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.188, + "last_heard": 1757912588, + "first_heard": 1757821520, + "uptime_seconds": 203658, + "channel_utilization": 0.0, + "air_util_tx": 0.015694445, + "position_time": 1757912567, + "latitude": 52.5008896, + "longitude": 13.4283264, + "altitude": 26.0, + "last_seen_iso": "2025-09-15T05:03:08Z", + "pos_time_iso": "2025-09-15T05:02:47Z" + }, + { + "node_id": "!433b36c4", + "short_name": "36c4", + "long_name": "Meshtastic 36c4", + "hw_model": "HELTEC_V3", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 4.22, + "last_heard": 1757890305, + "first_heard": 1757826915, + "uptime_seconds": 61, + "channel_utilization": 2.02, + "air_util_tx": 0.013027778, + "position_time": 1757890305, + "latitude": 52.4550144, + "longitude": 13.3955584, + "altitude": 51.0, + "last_seen_iso": "2025-09-14T22:51:45Z", + "pos_time_iso": "2025-09-14T22:51:45Z" + }, + { + "node_id": "!433ef3e8", + "short_name": "F&F1", + "long_name": "F&F Node 1", + "hw_model": "HELTEC_V3", + "role": "CLIENT_MUTE", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1757889266, + "first_heard": 1757889266, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T22:34:26Z" + }, + { + "node_id": "!2d070d01", + "short_name": "0d01", + "long_name": "Pankow-0d01", + "hw_model": "RAK4631", + "role": "ROUTER", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1757887925, + "first_heard": 1757769107, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T22:12:05Z" + }, + { + "node_id": "!9ea12df0", + "short_name": "Ed-2", + "long_name": "Plänti-2", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757886951, + "first_heard": 1757798479, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T21:55:51Z" + }, + { + "node_id": "!dc7494c4", + "short_name": "narc", + "long_name": "free2air narcissus", + "hw_model": "T_ECHO", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 101.0, + "voltage": 4.885, + "last_heard": 1757886215, + "first_heard": 1757802406, + "uptime_seconds": 120272, + "channel_utilization": 1.08, + "air_util_tx": 0.40763888, + "position_time": 1757886215, + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 98.0, + "last_seen_iso": "2025-09-14T21:43:35Z", + "pos_time_iso": "2025-09-14T21:43:35Z" + }, + { + "node_id": "!435b0714", + "short_name": "GR", + "long_name": "GolfRomeo", + "hw_model": "LILYGO_TBEAM_S3_CORE", + "role": "CLIENT", + "snr": 11.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757880681, + "first_heard": 1757796511, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757880661, + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": 6.0, + "last_seen_iso": "2025-09-14T20:11:21Z", + "pos_time_iso": "2025-09-14T20:11:01Z" + }, + { + "node_id": "!fa6a3d6c", + "short_name": "Kn1S", + "long_name": "Kein1Stein_3d6c", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1757877889, + "first_heard": 1757778421, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757877868, + "latitude": 52.4645919, + "longitude": 13.323267, + "altitude": 20.0, + "last_seen_iso": "2025-09-14T19:24:49Z", + "pos_time_iso": "2025-09-14T19:24:28Z" + }, + { + "node_id": "!78299711", + "short_name": "EDUT", + "long_name": "7EDU_Tracker", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "snr": 10.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757872010, + "first_heard": 1757872010, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T17:46:50Z" + }, + { + "node_id": "!7a6bf888", + "short_name": "g0r", + "long_name": "g0r", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757866046, + "first_heard": 1757866046, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T16:07:26Z" + }, + { + "node_id": "!2fbb1f99", + "short_name": "TWR5", + "long_name": "TWR5-Node", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": -12.0, + "battery_level": 96.0, + "voltage": 4.135, + "last_heard": 1757863942, + "first_heard": 1757831000, + "uptime_seconds": 461385, + "channel_utilization": 9.408333, + "air_util_tx": 0.37438887, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T15:32:22Z" + }, + { + "node_id": "!b03c9678", + "short_name": "9678", + "long_name": "Meshtastic 9678", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.5, + "battery_level": null, + "voltage": null, + "last_heard": 1757862351, + "first_heard": 1757862351, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T15:05:51Z" + }, + { + "node_id": "!43b7c694", + "short_name": "FFVH", + "long_name": "Freifunk-Vaterhaus 868", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -9.5, + "battery_level": 101.0, + "voltage": -0.001, + "last_heard": 1757860460, + "first_heard": 1757596854, + "uptime_seconds": 91324, + "channel_utilization": 19.016666, + "air_util_tx": 4.991889, + "position_time": 1757860460, + "latitude": 52.4649417, + "longitude": 13.4852833, + "altitude": null, + "last_seen_iso": "2025-09-14T14:34:20Z", + "pos_time_iso": "2025-09-14T14:34:20Z" + }, + { + "node_id": "!2448d855", + "short_name": "D7DS", + "long_name": "DO7DSL port.", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 58.0, + "voltage": 3.785, + "last_heard": 1757860140, + "first_heard": 1757827324, + "uptime_seconds": 96555, + "channel_utilization": 3.425, + "air_util_tx": 0.42688888, + "position_time": 1757860140, + "latitude": 52.4713984, + "longitude": 13.4709248, + "altitude": 37.0, + "last_seen_iso": "2025-09-14T14:29:00Z", + "pos_time_iso": "2025-09-14T14:29:00Z" + }, + { + "node_id": "!6d022fe7", + "short_name": "ACAB", + "long_name": "Køpi Bleibt!!", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": -13.5, + "battery_level": null, + "voltage": null, + "last_heard": 1757859810, + "first_heard": 1757859810, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T14:23:30Z" + }, + { + "node_id": "!abf83f48", + "short_name": "3f48", + "long_name": "xberg mqtt B<->HH 3f48", + "hw_model": "TBEAM", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 100.0, + "voltage": 4.159, + "last_heard": 1757848344, + "first_heard": 1757842531, + "uptime_seconds": 394662, + "channel_utilization": 1.1066667, + "air_util_tx": 0.35994443, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T11:12:24Z" + }, + { + "node_id": "!bfbdc5ca", + "short_name": "c5ca", + "long_name": "gordon-shumway", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757846433, + "first_heard": 1757846433, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T10:40:33Z" + }, + { + "node_id": "!ba6a8d40", + "short_name": "8d40", + "long_name": "Meshtastic 8d40", + "hw_model": "UNSET", + "role": "CLIENT", + "snr": 10.5, + "battery_level": 101.0, + "voltage": 4.264, + "last_heard": 1757841940, + "first_heard": 1757841940, + "uptime_seconds": 15602, + "channel_utilization": 6.1633334, + "air_util_tx": 1.1865834, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T09:25:40Z" + }, + { + "node_id": "!b03d9170", + "short_name": "9170", + "long_name": "Meshtastic 9170", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 11.0, + "battery_level": 68.0, + "voltage": 3.872, + "last_heard": 1757830324, + "first_heard": 1757830324, + "uptime_seconds": 23462, + "channel_utilization": 5.65, + "air_util_tx": 0.76186115, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-14T06:12:04Z" + }, + { + "node_id": "!ba0cae50", + "short_name": "NJMA", + "long_name": "NHGJMA_ae50", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -10.0, + "battery_level": 54.0, + "voltage": 3.758, + "last_heard": 1757816213, + "first_heard": 1757816213, + "uptime_seconds": 61, + "channel_utilization": 2.675, + "air_util_tx": 0.018166667, + "position_time": 1757815898, + "latitude": 52.5074432, + "longitude": 13.6577024, + "altitude": 72.0, + "last_seen_iso": "2025-09-14T02:16:53Z", + "pos_time_iso": "2025-09-14T02:11:38Z" + }, + { + "node_id": "!1bf8ed79", + "short_name": "MxMG", + "long_name": "Max Mobil Grau", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT_MUTE", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757815963, + "first_heard": 1757815963, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757791826, + "latitude": 52.477952, + "longitude": 13.320192, + "altitude": 41.0, + "last_seen_iso": "2025-09-14T02:12:43Z", + "pos_time_iso": "2025-09-13T19:30:26Z" + }, + { + "node_id": "!9ee71b3c", + "short_name": "🐸", + "long_name": "spuck", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -10.5, + "battery_level": 18.0, + "voltage": 3.406, + "last_heard": 1757815862, + "first_heard": 1757815862, + "uptime_seconds": 99670, + "channel_utilization": 5.3599997, + "air_util_tx": 0.92630553, + "position_time": null, + "latitude": 52.5074432, + "longitude": 13.500416, + "altitude": 49.0, + "last_seen_iso": "2025-09-14T02:11:02Z" + }, + { + "node_id": "!9ea1af60", + "short_name": "stph", + "long_name": "Stephie", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": -9.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757814507, + "first_heard": 1757814507, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757814953, + "latitude": 52.5041664, + "longitude": 13.451264, + "altitude": 36.0, + "last_seen_iso": "2025-09-14T01:48:27Z", + "pos_time_iso": "2025-09-14T01:55:53Z" + }, + { + "node_id": "!c8b928d6", + "short_name": "BPS", + "long_name": "BlackPress", + "hw_model": "RAK4631", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1757804907, + "first_heard": 1757804907, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-13T23:08:27Z" + }, + { + "node_id": "!f9b262d4", + "short_name": "FPUD", + "long_name": "DD6UAT Vogelsdorf", + "hw_model": "TLORA_V2_1_1P6", + "role": "CLIENT", + "snr": 11.25, + "battery_level": 101.0, + "voltage": 4.397, + "last_heard": 1757796130, + "first_heard": 1757796130, + "uptime_seconds": 60, + "channel_utilization": 2.5533333, + "air_util_tx": 0.021277778, + "position_time": 1757796133, + "latitude": 52.5074432, + "longitude": 13.76256, + "altitude": 0.0, + "last_seen_iso": "2025-09-13T20:42:10Z", + "pos_time_iso": "2025-09-13T20:42:13Z" + }, + { + "node_id": "!2f91531c", + "short_name": "ijon", + "long_name": "mobile.ijon.tychie", + "hw_model": "T_DECK_PRO", + "role": "CLIENT", + "snr": 11.0, + "battery_level": null, + "voltage": null, + "last_heard": 1757786605, + "first_heard": 1757786605, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-13T18:03:25Z" + }, + { + "node_id": "!433af570", + "short_name": "LB", + "long_name": "LAN Backpack", + "hw_model": "HELTEC_V3", + "role": "CLIENT_MUTE", + "snr": 10.75, + "battery_level": 101.0, + "voltage": 4.226, + "last_heard": 1757783077, + "first_heard": 1757783077, + "uptime_seconds": 61, + "channel_utilization": 1.55, + "air_util_tx": 0.007972223, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-13T17:04:37Z" + }, + { + "node_id": "!99bc90a8", + "short_name": "d**b", + "long_name": "d**b Deck", + "hw_model": "T_DECK", + "role": "CLIENT_MUTE", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1757781032, + "first_heard": 1757781032, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-13T16:30:32Z" + }, + { + "node_id": "!5b835c1c", + "short_name": "APRL", + "long_name": "AprilAllTheTime ", + "hw_model": "HELTEC_MESH_NODE_T114", + "role": "CLIENT", + "snr": 10.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757776492, + "first_heard": 1757776492, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757777355, + "latitude": 52.5074432, + "longitude": 13.3431296, + "altitude": 36.0, + "last_seen_iso": "2025-09-13T15:14:52Z", + "pos_time_iso": "2025-09-13T15:29:15Z" + }, + { + "node_id": "!f840cb2d", + "short_name": "cb2d", + "long_name": "Meshtastic cb2d", + "hw_model": "UNSET", + "role": "CLIENT", + "snr": 11.25, + "battery_level": null, + "voltage": null, + "last_heard": 1757767695, + "first_heard": 1757767695, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757767678, + "latitude": 52.5074432, + "longitude": 13.3955584, + "altitude": -6.0, + "last_seen_iso": "2025-09-13T12:48:15Z", + "pos_time_iso": "2025-09-13T12:47:58Z" + }, + { + "node_id": "!336019dc", + "short_name": "🥚", + "long_name": "Meshtastic 19dc", + "hw_model": "LILYGO_TBEAM_S3_CORE", + "role": "CLIENT", + "snr": 10.25, + "battery_level": 101.0, + "voltage": 4.164, + "last_heard": 1757767317, + "first_heard": 1757767317, + "uptime_seconds": 22630, + "channel_utilization": 1.86, + "air_util_tx": 0.74213886, + "position_time": 1757796407, + "latitude": 52.4896667, + "longitude": 13.3502437, + "altitude": 38.0, + "last_seen_iso": "2025-09-13T12:41:57Z", + "pos_time_iso": "2025-09-13T20:46:47Z" + }, + { + "node_id": "!17f58f25", + "short_name": "imja", + "long_name": "imja", + "hw_model": "TRACKER_T1000_E", + "role": "TRACKER", + "snr": 10.25, + "battery_level": 34.0, + "voltage": 3.794, + "last_heard": 1757766359, + "first_heard": 1757766359, + "uptime_seconds": 25255, + "channel_utilization": 2.9433334, + "air_util_tx": 1.000861, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-13T12:25:59Z" + }, + { + "node_id": "!b5954cf7", + "short_name": "jofi", + "long_name": "jofi 4cf7", + "hw_model": "TRACKER_T1000_E", + "role": "CLIENT", + "snr": -11.75, + "battery_level": null, + "voltage": null, + "last_heard": 1757765297, + "first_heard": 1757765297, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": 1757765291, + "latitude": 52.5074432, + "longitude": 13.2907008, + "altitude": 34.0, + "last_seen_iso": "2025-09-13T12:08:17Z", + "pos_time_iso": "2025-09-13T12:08:11Z" + }, + { + "node_id": "!ee59338a", + "short_name": "pizi", + "long_name": "Pitztaler Straße Panketal", + "hw_model": "SEEED_SOLAR_NODE", + "role": "CLIENT", + "snr": -1.25, + "battery_level": null, + "voltage": null, + "last_heard": 1757765246, + "first_heard": 1757765246, + "uptime_seconds": null, + "channel_utilization": null, + "air_util_tx": null, + "position_time": null, + "latitude": null, + "longitude": null, + "altitude": null, + "last_seen_iso": "2025-09-13T12:07:26Z" + }, + { + "node_id": "!db2b4f3c", + "short_name": "rboM", + "long_name": "rbo-mobile", + "hw_model": "HELTEC_V3", + "role": "CLIENT", + "snr": 10.75, + "battery_level": 99.0, + "voltage": 4.178, + "last_heard": 1757759115, + "first_heard": 1757759115, + "uptime_seconds": 45209, + "channel_utilization": 1.1933333, + "air_util_tx": 0.6788611, + "position_time": 1757743846, + "latitude": 52.5672448, + "longitude": 13.5241728, + "altitude": 76.0, + "last_seen_iso": "2025-09-13T10:25:15Z", + "pos_time_iso": "2025-09-13T06:10:46Z" + } +] diff --git a/tests/update.sh b/tests/update.sh new file mode 100755 index 0000000..b5ff83a --- /dev/null +++ b/tests/update.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# Copyright (C) 2025 l5yth +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -euo pipefail + +sqlite3 ../data/mesh.db ".backup './mesh.db'" +curl http://127.0.0.1:41447/api/nodes |jq > ./nodes.json +curl http://127.0.0.1:41447/api/messages |jq > ./messages.json diff --git a/web/app.rb b/web/app.rb index 934ecaf..c3a6be9 100644 --- a/web/app.rb +++ b/web/app.rb @@ -13,19 +13,17 @@ # limitations under the License. # frozen_string_literal: true -# + # Main Sinatra application exposing the Meshtastic node and message archive. # The daemon in +data/mesh.py+ pushes updates into the SQLite database that # this web process reads from, providing JSON APIs and a rendered HTML index # page for human visitors. - require "sinatra" require "json" require "sqlite3" require "fileutils" require "logger" -# run ../data/mesh.sh to populate nodes and messages database DB_PATH = ENV.fetch("MESH_DB", File.join(__dir__, "../data/mesh.db")) DB_BUSY_TIMEOUT_MS = ENV.fetch("DB_BUSY_TIMEOUT_MS", "5000").to_i DB_BUSY_MAX_RETRIES = ENV.fetch("DB_BUSY_MAX_RETRIES", "5").to_i @@ -197,7 +195,29 @@ def query_messages(limit) node[k] = r.delete(k) end r["snr"] = r.delete("msg_snr") - r["node"] = node unless node.empty? + if r["from_id"] && (node["node_id"].nil? || node["node_id"].to_s.empty?) + lookup_keys = [] + canonical = normalize_node_id(db, r["from_id"]) + lookup_keys << canonical if canonical + raw_ref = r["from_id"].to_s.strip + lookup_keys << raw_ref unless raw_ref.empty? + lookup_keys << raw_ref.to_i if raw_ref.match?(/\A[0-9]+\z/) + fallback = nil + lookup_keys.uniq.each do |ref| + sql = ref.is_a?(Integer) ? "SELECT * FROM nodes WHERE num = ?" : "SELECT * FROM nodes WHERE node_id = ?" + fallback = db.get_first_row(sql, [ref]) + break if fallback + end + if fallback + fallback.each do |key, value| + next unless key.is_a?(String) + next if msg_fields.include?(key) + node[key] = value if node[key].nil? + end + end + end + node["role"] = "CLIENT" if node.key?("role") && (node["role"].nil? || node["role"].to_s.empty?) + r["node"] = node if DEBUG && (r["from_id"].nil? || r["from_id"].to_s.empty?) Kernel.warn "[debug] row after processing: #{r.inspect}" end diff --git a/web/spec/app_spec.rb b/web/spec/app_spec.rb index f6c96a9..daa298c 100644 --- a/web/spec/app_spec.rb +++ b/web/spec/app_spec.rb @@ -24,7 +24,7 @@ RSpec.describe "Potato Mesh Sinatra app" do let(:app) { Sinatra::Application } def fixture_path(name) - File.expand_path("../../test/#{name}", __dir__) + File.expand_path("../../tests/#{name}", __dir__) end def with_db(readonly: false) @@ -585,8 +585,28 @@ RSpec.describe "Potato Mesh Sinatra app" do acc[row["id"]] = row end - nodes_by_id = nodes_fixture.each_with_object({}) do |node, acc| - acc[node["node_id"]] = expected_node_row(node) + nodes_by_id = {} + node_aliases = {} + + nodes_fixture.each do |node| + node_id = node["node_id"] + expected_row = expected_node_row(node) + nodes_by_id[node_id] = expected_row + + if (num = node["num"]) + node_aliases[num.to_s] = node_id + end + end + + messages_fixture.each do |message| + node = message["node"] + next unless node.is_a?(Hash) + + canonical = node["node_id"] + num = node["num"] + next unless canonical && num + + node_aliases[num.to_s] ||= canonical end messages_fixture.each do |message| @@ -605,7 +625,16 @@ RSpec.describe "Potato Mesh Sinatra app" do expect(actual_row["hop_limit"]).to eq(expected["hop_limit"]) if expected["from_id"] - node_expected = nodes_by_id.fetch(expected["from_id"]) + lookup_id = expected["from_id"] + node_expected = nodes_by_id[lookup_id] + + unless node_expected + canonical_id = node_aliases[lookup_id.to_s] + expect(canonical_id).not_to be_nil, + "node fixture missing for from_id #{lookup_id.inspect}" + node_expected = nodes_by_id.fetch(canonical_id) + end + node_actual = actual_row.fetch("node") expect(node_actual["node_id"]).to eq(node_expected["node_id"])