Anwesenheitserkennung mit UniFi AP's

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • long
    Azubi
    • 05.05.2020
    • 3

    Hi die Anleitung bezieht sich auf die V1 von dem Unifi API browser:

    added support for list_all_admins() added function/method used to output header cleaned up the indentation across all of index.html updated API client class to 1.1.40


    dort könnt ihr auch die Defaultwerte in eurer index.php hinterlegen.

    Kommentar

    • ri8
      Smart Home'r
      • 04.03.2019
      • 31

      Zitat von bob83
      Hi Heilmoa,

      leider bin ich hier noch nicht weiter gekommen. Ich habe auch mit beiden index.php herrum probiert, doch ich glaube wir haben hier ein generelles Verständnisproblem.

      Vielleicht hat ja noch jemand eine Idee.
      Hallo Bob

      ich kann dir zwar nicht helfen, habe aber das selbe problem.

      die anleitung basiert auf dem alten unifi-api-browser. beim neuen ist die index.php neu aufgebaut und ich suche auch noch nach der lösung..

      grüsse
      oliver

      Kommentar

      • ri8
        Smart Home'r
        • 04.03.2019
        • 31

        Zitat von hodojazi

        Hallo. Soweit ich das sehe, habe ich meine index.php gar nicht angepasst. Die Controllerversion habe ich auf die letzte v5-Version geupdated. Sollte aber mit v6 sicher auch gehen. Die Version vom API Browser ist bei mir sehr alt, aber die neueren Versionen sollten ohne Weiteres auch funktionieren. Eventuell folge mal der Anleitung unten und schau in das PHP-Error log.


        Ich habe mich aber auch nicht an die Anleitung gehalten, zumal ich mir nicht vorstellen kann, dass der Miniserver auf Dauer stabil läuft, wenn ich die messages, mittlerweile 1,6MB groß, in regelmäßigen Abständen dort abhole. Ich habe mir hingegen die Datei /examples/list_connected_users.php in das Root Verzeichnis herausgeholt und verwende dieses um alle verbundenen Clients in Form eines JSONs abzuholen. Dabei hatte ich das Problem, wie bereits hier erwähnt: #100 .

        Jedoch führt das mit neueren Miniserverversionen zu regelmäßigen Reboots des Miniservers. Loxone findet hier den Fehler nicht. Aus diesem Grund habe ich es nun auch einfach mit Node-Red umgesetzt. Das ist in ein paar Minuten getan:
        1. List_connected_users.php Datei nach Root raus kopieren und testen.
        2. Auf einem Loxberry Portainer installieren. Dazu gib's ein Plugin.
        3. In Portainer Node-Red installieren.
        4. Einen solchen Flow erstellen:
          1. Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Screenshot 2020-09-27 at 11.52.22.png
Ansichten: 1505
Größe: 87,3 KB
ID: 267187
          2. Das Inject soll einfach alle paar Sekunden aufgerufen werden.
          3. http request node:
            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Screenshot 2020-09-27 at 11.56.55.png
Ansichten: 1271
Größe: 101,7 KB
ID: 267188
          4. Function node. Dort habe in einfach den folgenden code geschrieben:
            Code:
            if(msg.payload.length <= 0)
            return null;
            
            var presences = {
            "Person1": false,
            "Person2": false,
            "Person3": false,
            "Person4": false
            }
            
            
            for(var i=0;i<msg.payload.length;i++)
            {
            var client = msg.payload[i];
            if(client.hostname == "hostname von Person1")
            presences.Person1 = true;
            else if(client.hostname == "hostname von Person2")
            presences.Person2 = true;
            else if(client.hostname == "hostname von Person3")
            presences.Person3 = true;
            else if(client.hostname == "hostname von Person4")
            presences.Person4 = true;
            }
            
            
            return [
            { "payload": [presences.Person1 && "on" || "off"]},
            { "payload": [presences.Person2 && "on" || "off"]},
            { "payload": [presences.Person3 && "on" || "off"]},
            { "payload": [presences.Person4 && "on" || "off"]},
            ];
          5. An den 4 Ausgängen des function blocks einfach die out nodes von node-red-contrib-loxone anhängen. Natürlich braucht es dafür vorher die entsprechenden virtuellen Eingänge in Loxone, damit diese verknüpft werden können.

        Der ganze Aufwand eigentlich nur deswegen, weil ich das unifi node noch nicht zum Laufen gebracht habe. Ansonsten könnte man sich den PHP-Teil komplett sparen und das komplett in Node-Red machen. Aber dazu kann ich im Moment noch nichts sagen, weil ich es noch nicht hinbekommen habe.
        Hallo hodojazi

        hast du bereits die neue api-browser version im einsatz? ich bringe die list_connected_users.php nicht zu laufen und kriege auch die neue index.php nicht angepasst, dass beim aufrufen direkt die verbundenen user angezeigt werden.

        grüsse

        Kommentar

        • hodojazi
          Extension Master
          • 03.10.2016
          • 102

          Zitat von ri8

          hast du bereits die neue api-browser version im einsatz? ich bringe die list_connected_users.php nicht zu laufen und kriege auch die neue index.php nicht angepasst, dass beim aufrufen direkt die verbundenen user angezeigt werden.
          Vom API Browser hatte ich eine ältere Version. Irgendwo habe ich sie hier in diesem Thread geschrieben. Aber ich empfehle dir den API Browser komplett wegzulassen und in Node-Red den unifi Node zu verwenden. Der verbindet sich dann direkt auf den Controller. Dann brauchst du nicht lange mit dem API Browser umher kämpfen.

          Kommentar

          • ri8
            Smart Home'r
            • 04.03.2019
            • 31

            Zitat von hodojazi

            Vom API Browser hatte ich eine ältere Version. Irgendwo habe ich sie hier in diesem Thread geschrieben. Aber ich empfehle dir den API Browser komplett wegzulassen und in Node-Red den unifi Node zu verwenden. Der verbindet sich dann direkt auf den Controller. Dann brauchst du nicht lange mit dem API Browser umher kämpfen.
            Ok, danke für den Tipp. Hast du grad ein gutes Tutorial um dies einzurichten oder ein paar Screenshots oder Codebeispiele von Node-Red und den VI in Loxone?

            Kommentar

            • hodojazi
              Extension Master
              • 03.10.2016
              • 102

              Zitat von ri8

              Ok, danke für den Tipp. Hast du grad ein gutes Tutorial um dies einzurichten oder ein paar Screenshots oder Codebeispiele von Node-Red und den VI in Loxone?
              Leider nicht, denn das habe ich selbst "programmiert". Aber ja, habe mir auch schon gedacht das in das Wiki zu geben zu Dokumentationszwecken. Gebe hier Bescheid, sobald ich was habe.

              Kommentar

              Lädt...