Neues Modul - 74_Unifi - Für den Ubiquiti Networks (UBNT) - Unifi Controller

Begonnen von rapster, 23 August 2015, 02:12:04

Vorheriges Thema - Nächstes Thema

Mumpitz

Hallo Rapster

Ich habe eine Frage an dich:
Und zwar schreibt der AP ja alle 5 Sekunden Daten in das server.log und alle 5 Minuten in mongo.log (oder so ähnlich) im log Ordner des UniFi.

Ich hatte die Installation zuerst ganz normal auf dem Raspi, und somit auf der SD Karte installiert. Diese verabschiedete sich jedoch vor ca. 3 Wochen. Seither habe ich das UniFi auf einem USBSTICK installiert. Möchte damit ein erneuten Defekt der Karte verhindern. (Nur eine Vermutung das darum die Karte kaputt ging)

Nun meine Frage. Ist es möglich das loggen abzustellen oder zumindest auf minütlich zu ändern?
Greift dein Modul genau auf diese logfiles zu?

Danke für deine Hilfe
Mumpitz

rapster

Hi Mumpitz,

du kannst das logging des Controllers und der MongoDB gerne komplett deaktivieren, evtl. findet sich über google "disable mongodb log" eine Anleitung?
Für das Modul ist das Controller oder MongoDB Log nicht notwendig, das kommuniziert direkt mit der Controller-API.

Allerdings ist ein logging im 5 Sekunden Takt schon ungewöhnlich, hier mal die letzten 10 Zeilen meines mongod.log und server.log mit Controller Version  4.7.5 und MongoDB Version 2.4.14.
Da schreibt zwar die MongoDB auch alle ~5 Min eine Zeile ins Log, diese ist allerdings mMn zu vernachlässigen :)
root@UniFi:/var/log/unifi>tail -n 10 mongod.log server.log
==> mongod.log <==
Thu Nov  5 20:18:04.085 [conn2] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:21:38.990 [conn1] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:25:08.410 [conn4] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:29:08.494 [conn4] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:33:34.008 [conn2] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:38:03.791 [conn6] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:42:38.495 [conn5] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:47:08.698 [conn2] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:51:48.164 [conn2] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device
Thu Nov  5 20:56:18.707 [conn4] info DFM::findAll(): extent 0:38f000 was empty, skipping ahead. ns:ace.device

==> server.log <==
[2015-08-31 20:18:22,412] <inform_stat-8> ERROR uap    - isolated AP[04:18:d6:24:24:59] reported, last seen=10s ago, scan_node.last_seen=42s ago
[2015-08-31 20:18:32,941] <inform_stat-17> ERROR uap    - isolated AP[04:18:d6:24:24:59] reported, last seen=5s ago, scan_node.last_seen=57s ago
[2015-08-31 20:18:37,452] <inform_stat-14> ERROR uap    - isolated AP[04:18:d6:24:24:59] reported, last seen=10s ago, scan_node.last_seen=57s ago
[2015-09-13 16:52:25,286] <autoupdate-check> WARN  system - update site - cannot resolve the host
root@UniFi:/var/log/unifi>


Gruß
  Claudiu

Mumpitz

Danke für die schnelle Antwort. Betreffend der Google Suche muss ich leider kapitulieren. Konnte nichts entsprechendes finden...

hier mein server.log

[2015-11-05 21:56:54,806] <inform-10> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3926984
[2015-11-05 21:56:59,279] <inform-11> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987190
[2015-11-05 21:57:04,286] <inform-12> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928330
[2015-11-05 21:57:09,863] <inform-13> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3926999
[2015-11-05 21:57:14,342] <inform-14> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987205
[2015-11-05 21:57:19,348] <inform-15> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928345
[2015-11-05 21:57:24,917] <inform-16> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927014
[2015-11-05 21:57:29,506] <inform-17> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987220
[2015-11-05 21:57:34,409] <inform-18> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928360
[2015-11-05 21:57:40,096] <inform-19> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927029
[2015-11-05 21:57:44,569] <inform-20> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987235
[2015-11-05 21:57:49,470] <inform-21> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928375
[2015-11-05 21:57:54,250] <inform-22> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927044
[2015-11-05 21:57:59,632] <inform-23> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987250
[2015-11-05 21:58:04,533] <inform-24> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928390
[2015-11-05 21:58:09,409] <inform-25> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927059
[2015-11-05 21:58:14,703] <inform-26> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987266
[2015-11-05 21:58:19,593] <inform-27> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928405
[2015-11-05 21:58:24,466] <inform-28> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927074
[2015-11-05 21:58:29,861] <inform-29> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987281
[2015-11-05 21:58:34,656] <inform-30> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928420
[2015-11-05 21:58:39,524] <inform-31> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927089
[2015-11-05 21:58:44,938] <inform-32> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987296
[2015-11-05 21:58:49,797] <inform-33> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928435
[2015-11-05 21:58:54,583] <inform-34> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927104
[2015-11-05 21:59:00,062] <inform-35> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987311
[2015-11-05 21:59:04,923] <inform-36> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928451
[2015-11-05 21:59:09,641] <inform-37> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927119
[2015-11-05 21:59:14,119] <inform-38> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987325
[2015-11-05 21:59:19,985] <inform-39> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928466
[2015-11-05 21:59:24,699] <inform-40> INFO  inform - from [dc:9f:db:f2:eb:77](AP-EG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.101, dev_ip=192.168.17.101, up=3927134
[2015-11-05 21:59:29,185] <inform-41> INFO  inform - from [24:a4:3c:4c:04:7d](AP-OG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.119, dev_ip=192.168.17.119, up=987340
[2015-11-05 21:59:35,043] <inform-42> INFO  inform - from [24:a4:3c:4c:05:8d](AP-UG, BZ2, 3.2.10.2886): state=CONNECTED, ext/stun_ip=192.168.17.106, dev_ip=192.168.17.106, up=3928481


bei den 3 IP's handelt es sich um meine 3 AP'S: xxx.xxx.xxx.106 / 101 / 119

hier meine mongod.log
Thu Nov  5 21:25:22 [clientcursormon] mem (MB) res:29 virt:145 mapped:64
Thu Nov  5 21:30:22 [clientcursormon] mem (MB) res:29 virt:145 mapped:64
Thu Nov  5 21:35:22 [clientcursormon] mem (MB) res:29 virt:145 mapped:64
Thu Nov  5 21:40:22 [clientcursormon] mem (MB) res:29 virt:145 mapped:64
Thu Nov  5 21:45:22 [clientcursormon] mem (MB) res:29 virt:145 mapped:64
Thu Nov  5 21:50:22 [clientcursormon] mem (MB) res:29 virt:145 mapped:64
Thu Nov  5 21:55:22 [clientcursormon] mem (MB) res:29 virt:145 mapped:64
Thu Nov  5 22:00:22 [clientcursormon] mem (MB) res:30 virt:145 mapped:64


Eine Idee woher die Einträge kommen?

rapster

O.K. ich erinnere mich daran dass ich vor längerer Zeit mal an paar Schrauben bei meinem Controller gedreht hatte, stimmt!

Irgendwo in deinem System findest du ein file namens "system.properties", bei mir /var/lib/unifi/system.properties

Ändere mal die Zeilen:

debug.device=info
debug.mgmt=info
debug.system=info

auf

debug.device=warn
debug.mgmt=warn
debug.system=warn


und starte anschließend den Controller einmal neu.

Dann sollten keine INFO-Level Events mehr geloggt werden.

BTW: in dem file lässt sich auch der Controller Port ändern, z.B. von 8443 auf standard 443 damit das im browser nicht immer explizit mit angegeben werden muss.

Gruß
  Claudiu

Mumpitz


rapster

Da fallen mir grad noch so paar Sachen ein um Ressourcen und ~6GB Speicher einzusparen  ;D

1. Standardmäßig werden 2 MongoDB Instanzen gestartet, eine vom System und eine vom Unifi-Controller.
Die System DB wird natürlich nicht benötigt!
    Am besten hierzu in der /etc/init.d/mongodb die Start-Runlevels entfernen, also aus:
       # Default-Start:     2 3 4 5
    das machen:
       # Default-Start:
    und anschließend mit diesem Befehl die rc-scripte entfernen (als root):
update-rc.d mongodb remove

   Zum Schluss können dann noch die 3x 1GB files in /var/lib/mongodb/journal/ gelöscht werden. (Die kommen von der nicht benötigten System mongo-Instanz)

2. Die Unifi Mongo-DB Instanz legt ebenfalls fürs journaling 3x 1GB files unter /var/lib/unifi/db/journal/ an, dies kann man auf 3x 128MB reduzieren wenn man im vorhin genannte system.properties file folgenden Zeile hinzufügt:
unifi.db.extraargs=--smallfiles


3. Um die Schreibzugriffe auf eine SD-Karte zu reduzieren, könnte man um den journal-overhead zu vermeiden das journaling auch komplett deaktivieren (Bitte die dadurch entstehenden Risiken beachten).
Hierzu die Argumente aus der MongoDB Dokumentation setzen (https://docs.mongodb.org/v2.4/reference/configuration-options/#journal, https://docs.mongodb.org/v2.4/reference/configuration-options/#nojournal), bzw. den dafür in der system.properties vorhandenen Parameter unifi.db.nojournal.

Gruß
  Claudiu

Mumpitz

Hallo Claudiu

Heute Morgen voller Vorfreude um 0530 Uhr meinen Computer gestartet um die Änderungen einzutragen. Nun jedoch folgendes Problem:

Ich habe keinen Ordner /var/lib/unifi/system.properties.
Ich nehme jedoch an, dass es sich dabei um den Standardordner handelt, in welchem der Controller installiert ist. Das wäre bei mir: /media/usbstick_neu/UniFi

dort gibt es direkt unter unifi die entsprechende Datei nicht. Es gibt jedoch eine unter /media/usbstick_neu/UniFi/data

Diese beinhaltet:
## system.properties
#
# each unifi instance requires a set of ports:
#
# unifi.http.port=8080     # device inform
# unifi.https.port=8443    # controller UI / API
# portal.http.port=8880    # portal redirect port for HTTP
# portal.https.port=8843   # portal redirect port for HTTPs
# unifi.db.port=27117      # local-bound port for DB server
# unifi.stun.port=3478     # UDP port used for STUN
#
# system_ip=a.b.c.d        # the IP devices should be talking to for inform
# unifi.db.nojournal=false # disable mongodb journaling
# unifi.db.extraargs       # extra mongod args
#
## HTTPS options
# unifi.https.ciphers=TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA
# unifi.https.sslEnabledProtocols=TLSv1
#
# Ports reserved for device redirector. There is no need to open
# firewall for these ports on controller, however do NOT set
# controller to use these ports.
#
# portal.redirector.port=8881
# portal.redirector.port.wired=8882
#
#Fri Nov 06 05:01:55 UTC 2015

is_default=false
uuid=158c65d5-d387-4dbe-b59c-0f57ec3b81e7


Nichts mit Debug.....


Leider geht es auch weiter, dass dein zweiter Post, wo das System Mongodb abgeschaltet werden könnte, ebenfalls unter deinem angegeben Ort /etc/init.d/mongodb dieser Datei nicht existiert  :-[

ich kann also den Default-Start eintrag nicht abändern...

Any Tricks?

rapster

Morgen Mumpitz,

du has tdie richtige Datei entdeckt :)

Einfach direkt eintragen die entsprechenden Parameter z.B. so:

## system.properties
#
# each unifi instance requires a set of ports:
#
# unifi.http.port=8080     # device inform
# unifi.https.port=8443    # controller UI / API
# portal.http.port=8880    # portal redirect port for HTTP
# portal.https.port=8843   # portal redirect port for HTTPs
# unifi.db.port=27117      # local-bound port for DB server
# unifi.stun.port=3478     # UDP port used for STUN
#
# system_ip=a.b.c.d        # the IP devices should be talking to for inform
# unifi.db.nojournal=false # disable mongodb journaling
# unifi.db.extraargs       # extra mongod args
#
## HTTPS options
# unifi.https.ciphers=TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA
# unifi.https.sslEnabledProtocols=TLSv1
#
# Ports reserved for device redirector. There is no need to open
# firewall for these ports on controller, however do NOT set
# controller to use these ports.
#
# portal.redirector.port=8881
# portal.redirector.port.wired=8882
#
#Fri Nov 06 05:01:55 UTC 2015

debug.device=warn
debug.mgmt=warn
debug.system=warn
is_default=false
unifi.db.extraargs=--smallfiles
unifi.http.port=80
unifi.https.port=443
uuid=158c65d5-d387-4dbe-b59c-0f57ec3b81e7


Dann Speichern und den Controller restarten :)

Wenn du keine Datei /etc/init.d/mongodb haben solltest, dann sollte bei dir auch alles O.K. sein und nur eine Mongo-Instanz laufen.
Einfach mal mit dem Shell Befehl
ps aux | grep [m]ongo
prüfen.

Gruß
  Claudiu

Tompkin

Zitat von: rapster am 01 November 2015, 21:08:40
Prüfe mal mit diesem FHEM-Befehl welche IO::Socket::SSL version du auf deiner Fhem-Maschine verwendest:
{`perl -M'IO::Socket::SSL' -e 'print "$IO::Socket::SSL::VERSION\n"'`}
Oder in der Linux-Shell:
perl -M'IO::Socket::SSL' -e 'print "$IO::Socket::SSL::VERSION\n"'

Hallo Rapster,

sorry dass ich erst jetzt antworte. Ja natürlich habe ich es mit sslv1 bereits probiert, erfolglos.
Die Ausgabe der ssl version ist folgende:
$ perl -M'IO::Socket::SSL' -e 'print "$IO::Socket::SSL::VERSION\n"'
2.020


Update auf aktuelle Version habe ich auch bereits ausgeführt, weiterhin keine Verbesserung. Es kommt die erwähnte Ausgabe im Log und fhem schmiert ab.

Tompkin

Ich habe mir jetzt mal deinen Code angeschaut. Warum benutzt du 'SSL_VERIFY_NONE'. Wie es die Fehlermeldung sagt, dies ist ein String. Aber solche Parameter sind meistens definierte Werte. Du musst es auch als solches benutzen, sprich ohne die ''.

Ausserdem muss es natürlich vorher erst irgendwoher kommen:
use IO::Socket::SSL qw( SSL_VERIFY_NONE );

Danach startet dein Code wenigstens :)

rapster

Hallo Tompkin,

Mach mal bitte ein
attr global verbose 5
und
list global
und Poste das list sowie die Zeilen vor und nach dem Fehler mit.

kann es sein dass dein Unifi Controller NICHT auf der FHEM-Maschine läuft?
Die Perl-SSL Version hast du auf der FHEM-Maschine geprüft?
Bei v2.020 sollte die Standardeinstellung von FHEM O.K. sein und muss nicht über das global Attribut geändert werden.
Desweiteren hoffe ich du hast nicht sslVersion auf sslv1 gesetzt sondern auf TLSv1 ?

Deine Vermutungen zu dem use Statement sowie zu dem SSL_verify_mode sind desweiteren natürlich falsch, bitte hierzu die Dokumentation von  IO::Socket::SSL anschauen und sich etwas in die Arbeitsweise dieses und der verwendeten FHEM-Module einlesen wenn es interessiert.

Gruß
  Claudiu

Tompkin

Hi,

list global:
Internals:
   DEF        <no definition>
   NAME       global
   NR         1
   STATE      <no definition>
   TYPE       Global
   currentlogfile ./log/fhem-2015-11.log
   logfile    ./log/fhem-%Y-%m.log
Attributes:
   autoload_undefined_devices 1
   configfile fhem.cfg
   logfile    ./log/fhem-%Y-%m.log
   modpath    .
   sslVersion TLSv1
   statefile  ./log/fhem.save
   updateInBackground 1
   userattr   cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
   verbose    5
   version    $Id: fhem.pl 9755 2015-11-02 19:34:14Z rudolfkoenig $


Verbose log:

2015.11.06 19:21:29 4: Connection closed for FHEMWEB:fe80::c8a1:c7ec:af5:c4e7:50105: EOF
2015.11.06 19:21:29 4: FHEMWEB:fe80::c8a1:c7ec:af5:c4e7:50106 POST /fhem&cmd=define+ext_unifi+Unifi+192.168.0.40+8443+aa+bb+30+xx; BUFLEN:0
2015.11.06 19:21:29 5: Cmd: >define ext_unifi Unifi 192.168.0.40 8443 aa bb 30 xx<
2015.11.06 19:21:29 5: Loading ./FHEM/74_Unifi.pm
2015.11.06 19:21:29 5: ext_unifi: Defined with url:https://192.168.0.40:8443/api/s/xx/, interval:30, version:4
2015.11.06 19:21:29 5: Triggering global (1 changes)
2015.11.06 19:21:29 5: Notify loop for global DEFINED ext_unifi
2015.11.06 19:21:29 5: ext_unifi (Unifi_Notify) - executed. - Remove all Timers & Call DoUpdate...
2015.11.06 19:21:29 5: Triggering ext_unifi (1 changes)
2015.11.06 19:21:29 5: Notify loop for ext_unifi initialized
2015.11.06 19:21:29 5: ext_unifi (Unifi_DoUpdate) - executed.
2015.11.06 19:21:29 5: Triggering ext_unifi (1 changes)
2015.11.06 19:21:29 5: Notify loop for ext_unifi disconnected
2015.11.06 19:21:29 5: ext_unifi (Unifi_Login_Send) - executed.
2015.11.06 19:21:29 5: HttpUtils url=https://192.168.0.40:8443/api/login
SSL_verify_mode must be a number and not a string at /usr/share/perl5/IO/Socket/SSL.pm line 2154.


Der Unifi Controller läuft tatsächlich auf einer anderen Maschine, das ist richtig. Die Abfrage per Perl lief auf der FHEM Maschine.

Dokumentation zu IO::Socket::SSL hatte ich mir natürlich angeschaut, deswegen bin ich ja darauf gekommen.
Siehe bitte auch https://rt.cpan.org/Public/Bug/Display.html?id=106645
ZitatIf you set it to a string (like SSL_verify_mode => 'SSL_VERIFY_PEER') then you are doing it wrong.

rapster

Oha, ja das schaut soweit gut aus.

Das scheint bei dir tatsächlich daran zu liegen dass die SSL-Version zu neu ist, hier haben sie wohl die evaluierung dieses Arguments geändert.
Danke für den Link, ich bin von dieser Doku hier ausgegangen, habe das allerdings anders interpretiert. http://search.cpan.org/~sullr/IO-Socket-SSL-2.020/lib/IO/Socket/SSL.pod

Habe eben eine neue Version eingecheckt, bitte mal ausprobieren ob es hiermit funktioniert. (jetzt im SVN oder morgigen Update)

Gruß
  Claudiu

Mumpitz

Hallo Claudiu.

Deine gewünschte Abfrage ergab:

root      2357  0.9  6.5 147784 61916 ?        Sl   06:01   8:25 bin/mongod --dbpath /media/usbstick_neu/UniFi/data/db --port 27117 --logappend --logpath logs/mongod.log --nohttpinterface --bind_ip 127.0.0.1


Gesendet von iPad mit Tapatalk

Tompkin

Ahja kein Problem. Aber wegen solcher Sachen werden Perl und ich auch niemals Freunde. Lieber debugge ich memleaks in C/C++, als Perl Dokus zu lesen  ;)

Dein commit läuft sicherlich, aber du solltest dabei bleiben und die Definition SSL_VERIFY_NONE benutzen. Sonst hast du wieder Probleme, wenn sich vielleicht die Werte mal ändern in zukünftigen Versionen, oder jemand lokal "spielt".
Die Lösung hatte ich ja bereits gepostet.

Danke nochmal für das Modul, echt super Idee. Jetzt muss ich mir nur noch überlegen, was ich alles wie steuern lasse mit meiner Präsenzerkennung. Jemand gute Anregungen? :)