Use the API of UNMS and Unifi Controller to display Unifi Hardware in Freifunk Map
Go to file
Stefan 2313dc827e
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Added InfluxDB for Gateways
2023-05-12 15:14:06 +02:00
.drone.jsonnet syntax guessing 2023-04-28 22:46:08 +02:00
.gitignore Ignore config files! 2021-02-06 22:45:10 +01:00
Dockerfile Removed devices files from Dockerfile 2021-02-13 16:46:33 +01:00
example.config.json Check if device is online for statistics processing 2023-04-28 16:47:15 +02:00
example.devices.json Cleanup jsons 2021-02-14 19:23:11 +01:00
example.devices.router.json First test for Influx data 2023-03-20 15:38:48 +01:00
example.ucDevices.json cleanup ucDevices.json 2021-02-14 19:23:59 +01:00
go.mod Check if device is online for statistics processing 2023-04-28 16:47:15 +02:00
go.sum First test for Influx data 2023-03-20 15:38:48 +01:00
influx.go Added InfluxDB for Gateways 2023-05-12 15:14:06 +02:00
main.go Added InfluxDB for Gateways 2023-05-12 15:14:06 +02:00
meshviewer.go Tidy things up 2023-04-28 15:20:42 +02:00
outages.go Housekeeping 2021-05-18 21:17:09 +02:00
README.md removed testing branch entry from README.md 2023-04-28 23:00:16 +02:00
staticDevices.go Added InfluxDB for Gateways 2023-05-12 15:14:06 +02:00
types.go Added InfluxDB for Gateways 2023-05-12 15:14:06 +02:00
unifi.go Check if device is online for statistics processing 2023-04-28 16:47:15 +02:00
unms.go Added InfluxDB for Gateways 2023-05-12 15:14:06 +02:00

Freifunk Meshviewer Unifi Access Points und Richtfunkstrecken import

Dieses tool Importiert Nodes für die Freifunk Map aus den APIs UNMS (Richtfunk) & Unifi (Access Points)

Config

Unifi Access Points (ucDevices.json)

In der Datei ucDevices.json können die Access Points gepflegt werden, die auf der Freifunk Map erscheinen sollen.

Hierzu muss die Datei im json Format erweitert werden.

Für jedes Gerät muss dieser Block angelegt werden:

{
    "name": "ROUTERNAME",
    "mac": "00:00:00:00:00",
    "gateway_nexthop": "1234567890",
    "gateway": "1234567890",
    "linked_to": "18:e8:29:24:17:0a",
    "domain": "unifi",
    "location": {
      "longitude":7.148406208,
      "latitude":50.817093402
},

Erklärung:

  • name: Dient nur zur Wiedererkennung. Auf der Map erscheint der Name aus dem Unifi Controller
  • mac: Die MAC Adresse des Access Points. Zu finden im Controller. (Statistik Übersicht in der Geräteansicht)
  • gateway_nexthop: Die Node ID (MAC ohne :) des Freifunk Routers an den der AP angeschlossen ist.
  • gateway: Im Normalfall die NodeID des Supernodes (zu finden in der MAP)
  • linked_to: (Optional) Die MAC Adresse des Routers an dem der AP angeschlossen ist. Normalerweise gateway_nexthop mit Doppelpunkten. Wenn nicht gesetzt wird kein Link auf der Map angezeigt.
  • domain: Die Domain in der sich der AP befindet. (tdf, inn, flu)

UNMS Richtfunkstrecken

In der Datei devices.json können die Richtfunkstrecken gepflegt werden, die auf der Freifunk Map erscheinen sollen.

{
  "name": "Rathaus2Bahnhof",
  "mac": "18:E8:29:8E:C6:4D",
  "gateway_nexthop": "18e8292f7de6",
  "gateway": "a28cae6ff604",
  "domain": "rifu",
  "location": {
    "longitude":7.148406208,
    "latitude":50.817093402
  }
}

Erklärung:

  • name: Dient nur zur Wiedererkennung. Auf der Map erscheint der Name aus dem UNMS Controller
  • mac: Die MAC Adresse des Gerätes. Zu finden im Controller.
  • gateway_nexthop: Die Node ID (MAC ohne :) des Freifunk Routers an dem das Gerät angeschlossen ist.
  • gateway: Im Normalfall die NodeID des Supernodes (zu finden in der MAP)
  • domain: Die Domain in der sich der AP befindet. (tdf, inn, flu)

Config.json

Es gibt 3 Module die Ein/Ausgeschatet werden können:

  • UNMS
  • Unifi
  • Meshviewer

Die Funktion Meshviewer importiert die vorhandenen meshviewer.json und manipuliert dort die Userzahlen. Sobald ein Access Point einen Node aus einer Meshviwer.json als "gateway_nexthop" eingetragen hat, werden die Clients an dem verbundenen Access Point und nicht mehr am Offloader angezeigt.