Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter: ioBroker.unifi

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Adapter: ioBroker.unifi

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
unifi
1.0k Beiträge 172 Kommentatoren 393.5k Aufrufe 93 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • jens.mausJ Offline
    jens.mausJ Offline
    jens.maus
    schrieb am zuletzt editiert von
    #81

    @jensus11:

    so wie schon im Homematic Forum gefragt, wie machst du jetzt deine Anwesenheitssteuerung?

    Erkläre das doch mal bitte. `

    Das ganze mache ich momentan über das "node-unifi" nodejs Modul und nicht über mein unifi iobroker Adapter. Voraussetzung ist, das man im js-controller als Zusatzpaket eben "node-unifi" angegeben hat (siehe Einstellung des js-controller). Dann kann man folgendes Skript nutzen um eine an hm_pdetect angelehnte Anwesenheitserkennung durchzuführen und Systemvariablen in der CCU/RaspberryMatic setzen zu lassen:

    `/*
     * unifi_pdetect v0.1 (29.09.2017)
     * 
     * Copyright (c) 2017 Jens Maus <mail@jens-maus.de>*
     */
    
    /* define actual user devices here */
    var user_devices = [];
    user_devices['AA:BB:CC:DD:EE:FF'] = 'John';
    user_devices['AA:BB:CC:DD:EE:FF'] = 'Jane';
    
    /* define here devices that you 'know', thus should
     * be ignored
     */
    var known_devices=[ "AA:BB:CC:DD:EE:FF",
                        "AA:BB:CC:DD:EE:FF",
                        "AA:BB:CC:DD:EE:FF"];
    
    /* Enum list of all combinations of users+guest */
    var enum_list = [];
    enum_list[0] = "Nobody";
    enum_list[1] = "John";
    enum_list[2] = "Jane";
    enum_list[3] = "John,Jane";
    enum_list[4] = "Guest";
    enum_list[5] = "John,Guest";
    enum_list[6] = "Jane,Guest";
    enum_list[7] = "John,Jane,Guest";
    
    /* Path to system variables on CCU */
    var sysvar_prefix= "Anwesenheit";
    var sysvar_user  = "hm-rega.0.35037"/*Anwesenheit.Nutzer*/;
    var sysvar_guest = "hm-rega.0.15785"/*Anwesenheit.Gast*/;
    var sysvar_str   = "hm-rega.0.31854"/*Anwesenheit.string*/;
    var sysvar_list  = "hm-rega.0.31853"/*Anwesenheit.list*/;
    
    /* Unifi controller settings */
    var unifi_ip   = "192.168.X.X";
    var unifi_port = 8443;
    var unifi_user = "admin";
    var unifi_pw   = "XxxxxxxX";
    
    /***********************************/
    /* Don't modify anything from here */
    function check_presence() {
    
        var unifi = require('node-unifi');
        var controller = new unifi.Controller(unifi_ip, unifi_port);
    
        var guest_found = false;
        var users_found = [];
    
        var tmp = known_devices.join('~').toUpperCase();
        known_devices = tmp.split('~');
    
        // LOGIN
        controller.login(unifi_user, unifi_pw, function(err) {
    
            if(err) {
                console.log('ERROR: ' + err);
                return;
            }
    
            // GET SITE STATS
            controller.getSitesStats(function(err, sites) {
                // GET CLIENT DEVICES
                controller.getClientDevices(sites[0].name, function(err, client_data) {
                    //log('curtime: ' + Math.floor((new Date).getTime()/1000));
                    for (var i=0; i < client_data[0].length; i++) {
                        if(typeof(client_data[0][i].ip) !== 'undefined' && client_data[0][i].ip) {
                            if(typeof(client_data[0][i]._last_seen_by_uap) !== 'undefined' && client_data[0][i]._last_seen_by_uap) {
                                //log(client_data[0][i].mac + " " + client_data[0][i]._last_seen_by_uap + " " + client_data[0][i].idletime + " " + client_data[0][i].ip + " " + client_data[0][i].hostname + " " + client_data[0][i].is_guest);
    
                                var user_device = user_devices[client_data[0][i].mac.toUpperCase()];
                                if(typeof(user_device) !== 'undefined') {
                                    //log('user device[' + user_device + ']: ' + client_data[0][i].mac.toUpperCase() + ' ' + client_data[0][i].hostname + ' - idle: ' + client_data[0][i].idletime);
                                    users_found.push(user_device);
                                }
                                else if(known_devices.indexOf(client_data[0][i].mac.toUpperCase()) === -1)
                                {
                                    //log('guest device found: ' + client_data[0][i].mac.toUpperCase() + ': ' + client_data[0][i].hostname + ' - idle: ' + client_data[0][i].idletime);
                                    guest_found = true;
                                }
                            }
                        }
                    }
    
                    controller.logout();
    
                    if(getState(sysvar_user).val !== (users_found.length > 0)) {
                        setState(sysvar_user, (users_found.length > 0));
                    }
    
                    var presence_string = "";
                    var num_presence = 0;
                    for (var j in user_devices) {
                        var user_present = users_found.indexOf(user_devices[j]) !== -1;
    
                        if(user_present === true) {
                            if(num_presence > 0) 
                                presence_string += ",";
                            presence_string += user_devices[j];
                            num_presence++;
                        }
    
                        var id = getIdByName(sysvar_prefix + '.' + user_devices[j]);
                        if(typeof(id) !== 'undefined' && id) {
                            if(getState(id).val !== user_present) {
                                setState(id, user_present);
                                log("User '" + user_devices[j] + "' changed present state: " + user_present);
                            }
                        }
                    }
    
                    // find out if guest mode is already on or off and then we switch it
                    // accordingly
                    if(getState(sysvar_guest).val !== guest_found) {
                        setState(sysvar_guest, guest_found);
                        log('Guest mode set to ' + guest_found);
                    }
                    if(guest_found === true) {
                        if(num_presence > 0)
                            presence_string += ",";
                        presence_string += "Gast";
                    }
    
                    if(getState(sysvar_str).val !== presence_string) {
                        setState(sysvar_str, presence_string);
                    }
    
                    var enum_id = enum_list.indexOf(presence_string);
                    if(enum_id === -1)
                        enum_id = 0;
                    if(getState(sysvar_list).val !== enum_id) {
                        setState(sysvar_list, enum_id);
                    }
                });
            });
        });
    }
    
    schedule("*/15 * * * * *", function () { // Execute every 15 seconds
        check_presence();
    });</mail@jens-maus.de>` 
    
    Ich hoffe das sollte selbsterklärend sein. Wie gesagt, momentan nur ein Anfang und ohne Beteiligung des unifi iobroker Adapters von mir, aber es sollte äquivalent zu hm_pdetect gehen. Voraussetzung ist wie gesagt das man das 'node_unifi' nodejs einbindet (js-controller einstellungen) und das man natürlich die gleichen Systemvariablen verwendet wie mit hm_pdetect. Ggf. werde ich das ganze noch etwas erweitern/verbessern und ggf. sogar in den unifi iobroker Adapter direkt integrieren damit man hier kein extra Skript machen muss sondern der Adapter das direkt anbietet. Aber dafür fehlt mir momentan die Zeit.
    
    Viel Spass damit. Und ich freue mich wie immer über Feedback.[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
    

    RaspberryMatic @ PromoxVE mit ~190 HomeMatic Geräten + ioBroker – GitHub – GitHub Sponsors / PayPal

    1 Antwort Letzte Antwort
    0
    • J Offline
      J Offline
      jensus11
      schrieb am zuletzt editiert von
      #82

      Wie muss das genau heissen node-unifi oder node_unifi?

      Wenn man in dem Script den Userdaten ausfüllt, wird ja die Mac Adresse verwendet und muss der Name genau so heißen wie der im Unifi Controller?

      1 Antwort Letzte Antwort
      0
      • jens.mausJ Offline
        jens.mausJ Offline
        jens.maus
        schrieb am zuletzt editiert von
        #83

        Ein bisschen Denkarbeit und Try&Error solltest du schon investieren wollen :D

        Und bzgl. node-unifi, siehe hier

        https://www.npmjs.com/package/node-unifi

        RaspberryMatic @ PromoxVE mit ~190 HomeMatic Geräten + ioBroker – GitHub – GitHub Sponsors / PayPal

        1 Antwort Letzte Antwort
        0
        • L Offline
          L Offline
          looxer01
          schrieb am zuletzt editiert von
          #84

          Hi,

          ich habe mir vor einiger Zeit ebenfalls einen Unifi AP zugelegt. (den long range: LR)

          Eigentlich hatte ich mir sogar zwei gekauft, allerdings reicht einer vollkommen aus.

          Seitdem gibt es keine Probleme mehr mit Reichweite, Streaming etc.

          Nun zum Adapter. Leider habe ich es nicht nicht geschafft, den Adapter zum laufen zu bringen.

          Log-Fehler hier:

          ! host.iobroker 2017-09-30 10:14:45.943 error instance system.adapter.unifi.0 terminated with code 0 (OK) Caught 2017-09-30 10:14:45.943 error by controller[5]: at emitOne (events.js:82:20) Caught 2017-09-30 10:14:45.943 error by controller[5]: at TLSSocket.socketCloseListener (_http_client.js:245:9) Caught 2017-09-30 10:14:45.943 error by controller[5]: at ClientRequest.emit (events.js:169:7) Caught 2017-09-30 10:14:45.942 error by controller[5]: at emitOne (events.js:77:13) Caught 2017-09-30 10:14:45.942 error by controller[5]: at Request.onRequestError (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/request/request.js:884:8) Caught 2017-09-30 10:14:45.942 error by controller[5]: at Request.emit (events.js:169:7) Caught 2017-09-30 10:14:45.942 error by controller[5]: at emitOne (events.js:82:20) Caught 2017-09-30 10:14:45.942 error by controller[5]: at Request. (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/unifi.js:1369:11) Caught 2017-09-30 10:14:45.942 error by controller[5]: at next (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/async/dist/async.js:5195:25) Caught 2017-09-30 10:14:45.942 error by controller[5]: at /opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/async/dist/async.js:903:32 Caught 2017-09-30 10:14:45.942 error by controller[5]: 2017-09-30 10:14:45.922 - error: unifi.0 Error: Callback was already called. Caught 2017-09-30 10:14:45.942 error by controller[5]: 2017-09-30 10:14:45.921 - unifi.0 uncaught exception: Callback was already called. Caught 2017-09-30 10:14:45.942 error by controller[5]: [Error: Callback was already called.] Caught 2017-09-30 10:14:45.942 error by controller[4]: at emitOne (events.js:77:13) Caught 2017-09-30 10:14:45.942 error by controller[4]: at TLSSocket.socketErrorListener (_http_client.js:269:9) Caught 2017-09-30 10:14:45.941 error by controller[4]: at ClientRequest.emit (events.js:169:7) Caught 2017-09-30 10:14:45.941 error by controller[4]: at emitOne (events.js:77:13) Caught 2017-09-30 10:14:45.941 error by controller[4]: at Request.onRequestError (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/request/request.js:884:8) Caught 2017-09-30 10:14:45.941 error by controller[4]: at Request.emit (events.js:169:7) Caught 2017-09-30 10:14:45.941 error by controller[4]: at emitOne (events.js:82:20) Caught 2017-09-30 10:14:45.941 error by controller[4]: at Request. (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/unifi.js:1369:11) Caught 2017-09-30 10:14:45.941 error by controller[4]: at next (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/async/dist/async.js:5195:25) Caught 2017-09-30 10:14:45.941 error by controller[4]: at /opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/async/dist/async.js:903:32 Caught 2017-09-30 10:14:45.941 error by controller[4]: 2017-09-30 10:14:45.919 - unifi.0 Error: Callback was already called. Caught 2017-09-30 10:14:45.941 error by controller[3]: 2017-09-30 10:14:45.915 - unifi.0 uncaught exception: Callback was already called. Caught 2017-09-30 10:14:45.941 error by controller[2]: [Error: Callback was already called.] Caught 2017-09-30 10:14:45.940 error by controller[1]: 2017-09-30 10:14:45.584 - unifi.0 statesDB connected Caught 2017-09-30 10:14:45.940 error by controller[0]: 2017-09-30 10:14:45.573 - unifi.0 objectDB connected unifi.0 2017-09-30 10:14:45.924 info terminating unifi.0 2017-09-30 10:14:45.922 info cleaned everything up... unifi.0 2017-09-30 10:14:45.922 error at emitOne (events.js:82:20) unifi.0 2017-09-30 10:14:45.922 error at TLSSocket.socketCloseListener (_http_client.js:245:9) unifi.0 2017-09-30 10:14:45.922 error at ClientRequest.emit (events.js:169:7) unifi.0 2017-09-30 10:14:45.922 error at emitOne (events.js:77:13) unifi.0 2017-09-30 10:14:45.922 error at Request.onRequestError (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/request/request.js:884:8) unifi.0 2017-09-30 10:14:45.922 error at Request.emit (events.js:169:7) unifi.0 2017-09-30 10:14:45.922 error at emitOne (events.js:82:20) unifi.0 2017-09-30 10:14:45.922 error at Request. (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/unifi.js:1369:11) unifi.0 2017-09-30 10:14:45.922 error at next (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/async/dist/async.js:5195:25) unifi.0 2017-09-30 10:14:45.922 error at /opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/async/dist/async.js:903:32 unifi.0 2017-09-30 10:14:45.922 error Error: Callback was already called. unifi.0 2017-09-30 10:14:45.921 error uncaught exception: Callback was already called. unifi.0 2017-09-30 10:14:45.919 info cleaned everything up... unifi.0 2017-09-30 10:14:45.919 error at emitOne (events.js:77:13) unifi.0 2017-09-30 10:14:45.919 error at TLSSocket.socketErrorListener (_http_client.js:269:9) unifi.0 2017-09-30 10:14:45.919 error at ClientRequest.emit (events.js:169:7) unifi.0 2017-09-30 10:14:45.919 error at emitOne (events.js:77:13) unifi.0 2017-09-30 10:14:45.919 error at Request.onRequestError (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/request/request.js:884:8) unifi.0 2017-09-30 10:14:45.919 error at Request.emit (events.js:169:7) unifi.0 2017-09-30 10:14:45.919 error at emitOne (events.js:82:20) unifi.0 2017-09-30 10:14:45.919 error at Request. (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/unifi.js:1369:11) unifi.0 2017-09-30 10:14:45.919 error at next (/opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/async/dist/async.js:5195:25) unifi.0 2017-09-30 10:14:45.919 error at /opt/iobroker/node_modules/iobroker.unifi/node_modules/node-unifi/node_modules/async/dist/async.js:903:32 unifi.0 2017-09-30 10:14:45.919 error Error: Callback was already called. unifi.0 2017-09-30 10:14:45.915 error uncaught exception: Callback was already called. unifi.0 2017-09-30 10:14:45.912 info ERROR: ERROR: [object Object] unifi.0 2017-09-30 10:14:45.602 info controller = 192.168.0.126:8443 unifi.0 2017-09-30 10:14:45.602 info update_interval = 60 unifi.0 2017-09-30 10:14:45.602 info Starting UniFi-Controller query unifi.0 2017-09-30 10:14:45.598 info starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.unifi, node: v4.8.1 unifi.0 2017-09-30 10:14:45.586 info States connected to redis: 127.0.0.1:6379 unifi.0 2017-09-30 10:14:45.584 debug statesDB connected unifi.0 2017-09-30 10:14:45.570 debug objectDB connected !

          Probiert habe ich schon alles moegliche. Es muss irgendwie mit meiner Installation zu tun haben.

          vG Looxer

          1 Antwort Letzte Antwort
          0
          • eric2905E Online
            eric2905E Online
            eric2905
            schrieb am zuletzt editiert von
            #85

            Du hast aber den UniFi-Controller aufgesetzt und fragst diesen mit dem Adapter ab?

            Gruß,

            Eric

            Von unterwegs getippert

            Roses are red, violets are blue,

            if I listen to metal, my neighbours do too

            1 Antwort Letzte Antwort
            0
            • L Offline
              L Offline
              looxer01
              schrieb am zuletzt editiert von
              #86

              @eric2905:

              Du hast aber den UniFi-Controller aufgesetzt und fragst diesen mit dem Adapter ab? `
              :oops: ich dachte, dass es auch ohne ginge. Ich weiss - richtig lesen.

              versucht hatte ich es in der tat - allerdings erfolglos.

              …aber sollte dann nicht lieber eine Nachricht erzeugt werden wie "kein controller gefunden" statt harter Fehlermeldungen.

              ist jetzt nicht sooo wichtig. Ich versuche mich mal weiter an den controller.

              edit: Moment mal: nach Aufruf der Software sagt er (WIN) Controller 5.4.14

              Was ich nicht gemacht habe ist die Verbindung zur Cloud eingerichtet.

              edit2: also ich habe den AP über mein IPAD eingerichtet. Alles läuft aus WLAN sicht.

              Dann habe ich den controller ueber Windows eingerichtet. Wenn ich dann auf die HTTP Seite zugreife, dann werden keine Geräte gelistet. Das ist wohl das Problem. Ich weiss auch nicht wie ich die Verbindung um AP herstellen kann. Die Windows Firewall ist nicht das Problem. ggf die Fritzbox ?

              vG Looxer

              1 Antwort Letzte Antwort
              0
              • lobomauL Offline
                lobomauL Offline
                lobomau
                schrieb am zuletzt editiert von
                #87

                Offiziell ist wohl 5.5.20. Habe ich auch.

                Im Blog gibt es noch eine Neuere. Wollte ich auch Mal testen.

                Bisher habe ich nicht verstanden wie ich den unifi Adapter richtig benutze, um etwas zu schalten. Geht das gar nicht?

                Host: NUC8i3 mit Proxmox:

                • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
                • Slave: Pi4
                1 Antwort Letzte Antwort
                0
                • eric2905E Online
                  eric2905E Online
                  eric2905
                  schrieb am zuletzt editiert von
                  #88

                  Hi,

                  @looxer01:

                  also ich habe den AP über mein IPAD eingerichtet. Alles läuft aus WLAN sicht. `
                  wenn Du den AP „manuell“ konfiguriert hast, ist er beim Controller unbekannt und kann daher auch vom Adapter nicht ausgelesen werden, usw.

                  Du musst den AP am Controller anmelden und von dort aus managen. Dann geht es auch mit dem Adapter.

                  Gruß,

                  Eric

                  Von unterwegs getippert

                  Roses are red, violets are blue,

                  if I listen to metal, my neighbours do too

                  1 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    looxer01
                    schrieb am zuletzt editiert von
                    #89

                    @eric2905:

                    wenn Du den AP „manuell“ konfiguriert hast, ist er beim Controller unbekannt und kann daher auch vom Adapter nicht ausgelesen werden, usw. `

                    wenn ich das richtig verstehe, dann muss der controller staendig laufen. Das ist bei meinem Win PC nicht der Fall.

                    Dann kommt nur meine debian installation in Frage.

                    Ich müsste also alles zurücksetzen und mit der DEBIAN Installation neu beginnen.

                    korrekt ?

                    vG Looxer

                    1 Antwort Letzte Antwort
                    0
                    • eric2905E Online
                      eric2905E Online
                      eric2905
                      schrieb am zuletzt editiert von
                      #90

                      Ich habe den Controller auch auf Debian laufen und das klappt sehr gut.

                      Aber Vorsicht - der Controller ist sehr mächtig.

                      Ob man die Config vom AP auf den Controller übertragen kann, weiß ich nicht. Musst Du ggf. mal probieren.

                      Evtl. kannst Du im AP auch die IP des Controllers nachträglich eintragen.

                      Die Frage ist, ob sich der Aufwand für einen AP lohnt. Ich habe 3 x AP, 3 x 8-Port-Switch und 1 x USG von denen und da lohnt es sich.

                      So sieht der Controller bei mir aus:

                      ~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201709 ... 579a64.jpg">https://uploads.tapatalk-cdn.com/20170930/fba1b23e2e0eacd551ead85ccd579a64.jpg</link_text>" />

                      Gruß,

                      Eric

                      Von unterwegs getippert~~

                      Roses are red, violets are blue,

                      if I listen to metal, my neighbours do too

                      1 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        looxer01
                        schrieb am zuletzt editiert von
                        #91

                        @eric2905:

                        Die Frage ist, ob sich der Aufwand für einen AP lohnt. Ich habe 3 x AP, 3 x 8-Port-Switch und 1 x USG von denen und da lohnt es sich. `
                        na ja, weisst ja wie es ist mit dem sich "Lohnen" ;)

                        Ich glaube ich probiere es mal auf meiner ESXI mit einer neuen Debian VM.

                        Mal sehen ob es klappt.

                        vG und vielen Dank.

                        Looxer

                        1 Antwort Letzte Antwort
                        0
                        • eric2905E Online
                          eric2905E Online
                          eric2905
                          schrieb am zuletzt editiert von
                          #92

                          Läuft unter esxi hervorragend - habe ich auch.

                          Viel Spaß damit.

                          Von unterwegs getippert

                          Roses are red, violets are blue,

                          if I listen to metal, my neighbours do too

                          1 Antwort Letzte Antwort
                          0
                          • L Offline
                            L Offline
                            looxer01
                            schrieb am zuletzt editiert von
                            #93

                            Danke Eric

                            war halb so wild.

                            falls jemand aehnliches vor hat:

                            Diese Anleitung für Debian8 hat funktioniert: http://www.diependaal.eu/2016/05/18/how … -debian-8/

                            Ich habe dann einen Werksreset des AP gemacht. Einen Weg von "ohne Controller" auf "mit Controller" scheint es nicht zu geben.

                            Die Aktivierung des AP war dann aber sogar einfacher als mit der IOS App.

                            und der Adapter funktioniert jetzt klaglos

                            Was mir nicht wirklich vorher klar war ist, dass der AP keine eigene Oberfläche hat.

                            Aber aufgrund der professionellen Anforderung mit vielen APs zu arbeiten erklärt sich das natürlich.

                            vG Looxer

                            1 Antwort Letzte Antwort
                            0
                            • J Offline
                              J Offline
                              jensus11
                              schrieb am zuletzt editiert von
                              #94

                              Jetzt läuft es bei mir so halb.

                              Die User die ich eingetragen habe werden allerdings nur in der string Variable aufgelistet.

                              Der Nutzer und der Gast stehen auf anwesend.

                              Leider werden die Variablen der einzelnen Personen nicht geändert.

                              /* define actual user devices here */
                              var user_devices = [];
                              user_devices['XX:XX:XX:XX:XX:XX'] = 'Jens';
                              user_devices['XX:XX:XX:XX:XX:XX'] = 'XXXXX';
                              
                              /* define here devices that you 'know', thus should
                               * be ignored
                               */
                              var known_devices=[ "AA:BB:CC:DD:EE:FF",
                                                  "AA:BB:CC:DD:EE:FF",
                                                  "AA:BB:CC:DD:EE:FF"];
                              
                              /* Enum list of all combinations of users+guest */
                              var enum_list = [3];
                              enum_list[0] = "Nobody";
                              enum_list[1] = "John";
                              enum_list[2] = "Jane";
                              enum_list[3] = "John,Jane";
                              enum_list[4] = "Guest";
                              enum_list[5] = "John,Guest";
                              enum_list[6] = "Jane,Guest";
                              enum_list[7] = "John,Jane,Guest";
                              
                              /* Path to system variables on CCU */
                              var sysvar_prefix= "Anwesenheit";
                              var sysvar_user  = "hm-rega.0.18XXX"/*Anwesenheit.Nutzer*/;
                              var sysvar_guest = "hm-rega.0.18XXX"/*Anwesenheit.Gast*/;
                              var sysvar_str   = "hm-rega.0.18XXX"/*Anwesenheit.string*/;
                              var sysvar_list  = "hm-rega.0.22XXX"/*Anwesenheit.list*/;
                              
                              /* Unifi controller settings */
                              var unifi_ip   = "XXX.XXX.X.XX";
                              var unifi_port = 8443;
                              var unifi_user = "XXXXX";
                              var unifi_pw   = "XXXXXXXXXXX";
                              

                              Wodran liegt das?

                              1 Antwort Letzte Antwort
                              0
                              • eric2905E Online
                                eric2905E Online
                                eric2905
                                schrieb am zuletzt editiert von
                                #95

                                @looxer01:

                                Danke Eric `
                                Gern geschehen :)

                                @looxer01:

                                Was mir nicht wirklich vorher klar war ist, dass der AP keine eigene Oberfläche hat.

                                Aber aufgrund der professionellen Anforderung mit vielen APs zu arbeiten erklärt sich das natürlich. `
                                Genau.

                                Du kannst im Controller Profile anlegen und den einzelnen APs zuordnen. Der Controller kümmert sich dann drum, das alle APs die Konfiguriert bekommen, usw.

                                Ein weiterer großer Vorteil bei die Verwendung von mehreren APs ist die Lastverteilung :

                                • Wenn Du z.B. eine Fritzbox und einen Fritz-Repeater hast und beide auf die gleiche SSID einstellt, hast Du quasi eine Art Roaming. In diesem Fall entscheidet aber das Endgerät, welchen AP es nutzt. Das kann schon mal schief gehen und der "schlechtere" AP wird genutzt oder es kommt zu kurzen Ausfällen (gerade dann, wenn beide ungefähr gleich stark beim Endgerät ankommen).

                                • Bei Unifi wird, wenn Du mehrere APs im gleichen WLAN hast, die Verteilung durch den Controller übernommen. Er steuert, welcher AP sich um welches Endgerät kümmert und schaltet on Demand um - Du bzw. das Endgerät kriegt davon nichts mit.

                                Du kannst im Controller sogar eine maßstabsgerechte Zeichnung Deiner Wohnung hinterlegen und den/die AP(s) dort hinterlegen (Heatmap). Dann siehst Du, wie die Abdeckung ist und ob es ggf. Sinn macht, noch einen weiteren AP zu setzen.
                                355_heatmap.png

                                Gruß,

                                Eric

                                Roses are red, violets are blue,

                                if I listen to metal, my neighbours do too

                                1 Antwort Letzte Antwort
                                0
                                • jens.mausJ Offline
                                  jens.mausJ Offline
                                  jens.maus
                                  schrieb am zuletzt editiert von
                                  #96

                                  @jensus11:

                                  Jetzt läuft es bei mir so halb.

                                  Die User die ich eingetragen habe werden allerdings nur in der string Variable aufgelistet.

                                  Der Nutzer und der Gast stehen auf anwesend.

                                  Leider werden die Variablen der einzelnen Personen geändert.

                                  […]

                                  Wodran liegt das? `

                                  Die anderen Sachen (enum_list) solltest du natürlich auch noch an deine Gegebenheiten anpassen. Und dann kommentier zum testen die log() aufrufe aus.

                                  RaspberryMatic @ PromoxVE mit ~190 HomeMatic Geräten + ioBroker – GitHub – GitHub Sponsors / PayPal

                                  1 Antwort Letzte Antwort
                                  0
                                  • J Offline
                                    J Offline
                                    jensus11
                                    schrieb am zuletzt editiert von
                                    #97

                                    kannst du mir da weiter helfen?

                                    ich weiss nicht wie ich die enum_list anpassen muss.

                                    1 Antwort Letzte Antwort
                                    0
                                    • P Offline
                                      P Offline
                                      pix
                                      schrieb am zuletzt editiert von
                                      #98

                                      Hallo Jens,
                                      @jens.maus:

                                      Das ganze mache ich momentan über das "node-unifi" nodejs Modul und nicht über mein unifi iobroker Adapter. Voraussetzung ist, das man im js-controller als Zusatzpaket eben "node-unifi" angegeben hat (siehe Einstellung des js-controller). Dann kann man folgendes Skript nutzen um eine an hm_pdetect angelehnte Anwesenheitserkennung durchzuführen und Systemvariablen in der CCU/RaspberryMatic setzen zu lassen:

                                      …

                                      Viel Spass damit. Und ich freue mich wie immer über Feedback. `
                                      habe ich gemacht. Skript läuft, verbindet sich mit Controller, alles wie gewünscht. Habe zwei User, deren Telefone ich überwachen will. Die Funktionen Liste und Anzahl sind ja schonmal gut, aber ich brauch im Wesentlichen eigentlich ein Boolean, ob jeweils die Geräte eingebucht sind oder nicht.

                                      Kannst du die dahinterstehenden Homematic Variablen mal erklären?

                                      /* Path to system variables on CCU */
                                      var sysvar_prefix= "Anwesenheit";
                                      var sysvar_user  = "hm-rega.0.35037"/*Anwesenheit.Nutzer*/;
                                      var sysvar_guest = "hm-rega.0.15785"/*Anwesenheit.Gast*/;
                                      var sysvar_str   = "hm-rega.0.31854"/*Anwesenheit.string*/;
                                      var sysvar_list  = "hm-rega.0.31853"/*Anwesenheit.list*/;
                                      

                                      Ich habe versucht, das in ioBroker Javascript Adapter nachzubauen, aber es klappt noch nicht ganz.

                                      var sysvar_prefix= "javascript.1.Unifi.Anwesenheit.";
                                      var sysvar_user  = idUnifiUser1; // Boolean? Wie User2 ?
                                      var sysvar_guest = idUnifiGast; // geht
                                      var sysvar_str   = idUnifiListe; // geht
                                      var sysvar_list  = idUnifiAnzahl; // geht
                                      

                                      Was ist die Variable sysvar_user für ein Typ und was soll da rein?

                                      Gruß

                                      Pix

                                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                      1 Antwort Letzte Antwort
                                      0
                                      • jens.mausJ Offline
                                        jens.mausJ Offline
                                        jens.maus
                                        schrieb am zuletzt editiert von
                                        #99

                                        @pix:

                                        Kannst du die dahinterstehenden Homematic Variablen mal erklären?

                                        […]

                                        Ich habe versucht, das in ioBroker Javascript Adapter nachzubauen, aber es klappt noch nicht ganz. `

                                        Das liegt vermutlich daran das du nie hm_pdetect (https://homematic-forum.de/forum/viewto … 7t#p204194) auf der CCU verwendet hast. Das ganze funktioniert dort nämlich äquivalent. Im Grunde brauchst du folgende Systemvariablen auf der CCU.

                                        Systemvariablen mit exakt diesen Namen + Einstellungen:

                                        Anwesenheit - Boolean mit Werten true=anwesend, false=abwesend (normal in CCU bereits vorhanden)
                                        Anwesenheit.Nutzer – Boolean mit Werten true=anwesend, false=abwesend
                                        Anwesenheit.list - enum Liste aller Anwesenheitskombinationen 
                                        Anwesenheit.string - Zeichenkette
                                        Anwesenheit.Gast - Boolean mit Werten true=anwesend, false=abwesend
                                        

                                        Systemvariablen für jeden Nutzer mit NAME = Nutzername

                                        Anwesenheit.NAME - Boolean mit Werten true=anwesend, false=abwesend
                                        

                                        D.h. wenn man nun zwei Nutzer "John" und "Jane" hat würde man die folgenden zwei boolean Systemvariablen mit den beiden Werten true=anwesend, false=abwesend auf der CCU brauchen:

                                        Anwesenheit.John
                                        Anwesenheit.Jane
                                        
                                        

                                        In dem Skript den ich gepostet habe muss dann noch die enum_list variable eben mit der Enum Liste der Systemvariable "Anwesenheit.list" abgeglichen werden und im Grunde alle Kombinationen haben die man für die Anwesenheit aller Nutzer + Gast theoretisch zur verfügung hat. Bei zwei Nutzern sieht das dann eben wie folgt aus:

                                        /* Enum list of all combinations of users+guest */
                                        var enum_list = [];
                                        enum_list[0] = "Niemand";
                                        enum_list[1] = "Nutzer1";
                                        enum_list[2] = "Nutzer2";
                                        enum_list[3] = "Nutzer1,Nutzer2";
                                        enum_list[4] = "Gast";
                                        enum_list[5] = "Nutzer1,Gast";
                                        enum_list[6] = "Nutzer2,Gast";
                                        enum_list[7] = "Nutzer1,Nutzer2,Gast"
                                        
                                        

                                        D.h. für 2 Nutzer hat man 8 Kombinationen wie der wert von Anwesenheit.string dann z.B. aussehen kann. Genau diese Kombinationen muss man dann auch in der Anwesenheit.list CCU Systemvariablen eben mit Semikolon getrennt eingeben.

                                        Hoffe das macht es etwas klarer.

                                        RaspberryMatic @ PromoxVE mit ~190 HomeMatic Geräten + ioBroker – GitHub – GitHub Sponsors / PayPal

                                        1 Antwort Letzte Antwort
                                        0
                                        • jens.mausJ Offline
                                          jens.mausJ Offline
                                          jens.maus
                                          schrieb am zuletzt editiert von
                                          #100

                                          @looxer01:

                                          @eric2905:

                                          wenn Du den AP „manuell“ konfiguriert hast, ist er beim Controller unbekannt und kann daher auch vom Adapter nicht ausgelesen werden, usw. `

                                          wenn ich das richtig verstehe, dann muss der controller staendig laufen. Das ist bei meinem Win PC nicht der Fall.

                                          Dann kommt nur meine debian installation in Frage.

                                          Ich müsste also alles zurücksetzen und mit der DEBIAN Installation neu beginnen. `

                                          Für die die nicht extra ein neues Debian aufsetzen wollen oder auf Unabhängigkeit des Unifi-Controllers setzen möchte kann auch einfach auf den "Unifi-CloudKey" setzen (https://www.ubnt.com/unifi/unifi-cloud-key/). Das ist im Grunde ein kleines Embedded Device auf dem ein minimaoistisches Linux drauf läuft und dann eben die Controller Firmware. Das hat zwar "Cloud" im Namen, aber die Cloud-Funktion muss man ja nicht einsetzen. Ich habe selbst den Unifi-CloudKey und bin da sehr mit zufrieden (zumal er einfach via PoE an einen UniFi-Switch angeschlossen werden kann).

                                          RaspberryMatic @ PromoxVE mit ~190 HomeMatic Geräten + ioBroker – GitHub – GitHub Sponsors / PayPal

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          516

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe