diff --git a/Gopkg.lock b/Gopkg.lock index b005b0a3..3fe3c440 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -30,12 +30,12 @@ version = "v1.0.3" [[projects]] - digest = "1:b981b3d72f49bc38f7a9856ec8fab47abeb17fdba1da4a69b0a5b5237dced54c" + digest = "1:356d0d631d02440e90ca29b31496b547d8e28f239eaee033fdf053c3c38d22db" name = "golift.io/unifi" packages = ["."] pruneopts = "UT" - revision = "0ac64b3ef5f855592abb1b95b062b254a184203c" - version = "v3.4.0" + revision = "3f34e772e708a6cb7e838d6babb5928009bc96cc" + version = "v4.0.0" [[projects]] digest = "1:4d2e5a73dc1500038e504a8d78b986630e3626dc027bc030ba5c75da257cdb96" diff --git a/unifipoller/dumper.go b/unifipoller/dumper.go index d2cc35a7..bb0fb0d8 100644 --- a/unifipoller/dumper.go +++ b/unifipoller/dumper.go @@ -11,7 +11,12 @@ import ( // DumpJSONPayload prints raw json from the UniFi Controller. func (u *UnifiPoller) DumpJSONPayload() (err error) { u.Quiet = true - u.Unifi, err = unifi.NewUnifi(u.UnifiUser, u.UnifiPass, u.UnifiBase, u.VerifySSL) + u.Unifi, err = unifi.NewUnifi(&unifi.Config{ + User: u.UnifiUser, + Pass: u.UnifiPass, + URL: u.UnifiBase, + VerifySSL: u.VerifySSL, + }) if err != nil { return err } diff --git a/unifipoller/start.go b/unifipoller/start.go index d8332ca2..c6d360cb 100644 --- a/unifipoller/start.go +++ b/unifipoller/start.go @@ -121,12 +121,17 @@ func (u *UnifiPoller) GetInfluxDB() (err error) { // GetUnifi returns a UniFi controller interface. func (u *UnifiPoller) GetUnifi() (err error) { // Create an authenticated session to the Unifi Controller. - u.Unifi, err = unifi.NewUnifi(u.UnifiUser, u.UnifiPass, u.UnifiBase, u.VerifySSL) + u.Unifi, err = unifi.NewUnifi(&unifi.Config{ + User: u.UnifiUser, + Pass: u.UnifiPass, + URL: u.UnifiBase, + VerifySSL: u.VerifySSL, + ErrorLog: u.LogErrorf, // Log all errors. + DebugLog: u.LogDebugf, // Log debug messages. + }) if err != nil { return fmt.Errorf("unifi controller: %v", err) } - u.Unifi.ErrorLog = u.LogErrorf // Log all errors. - u.Unifi.DebugLog = u.LogDebugf // Log debug messages. if err := u.CheckSites(); err != nil { return err } diff --git a/unifipoller/uap_influx.go b/unifipoller/uap_influx.go index 9c2d005c..2a5df71e 100644 --- a/unifipoller/uap_influx.go +++ b/unifipoller/uap_influx.go @@ -15,7 +15,7 @@ func UAPPoints(u *unifi.UAP, now time.Time) ([]*influx.Point, error) { "mac": u.Mac, "device_type": u.Stat.O, "device_oid": u.Stat.Oid, - "device_ap": u.Stat.Ap, + "device_ap": u.Stat.Ap.Ap, "site_id": u.SiteID, "site_name": u.SiteName, "name": u.Name, diff --git a/unifipoller/udm_influx.go b/unifipoller/udm_influx.go index 20da1660..c7ad73df 100644 --- a/unifipoller/udm_influx.go +++ b/unifipoller/udm_influx.go @@ -11,10 +11,9 @@ import ( // These points can be passed directly to influx. func UDMPoints(u *unifi.UDM, now time.Time) ([]*influx.Point, error) { tags := map[string]string{ - "id": u.ID, - "mac": u.Mac, - // "device_oid": u.Stat.gw.Oid, - "device_oid": u.Mac, + "id": u.ID, + "mac": u.Mac, + "device_oid": u.Stat.Gw.Oid, "site_id": u.SiteID, "site_name": u.SiteName, "adopted": u.Adopted.Txt, @@ -141,10 +140,9 @@ func UDMPoints(u *unifi.UDM, now time.Time) ([]*influx.Point, error) { } points := []*influx.Point{pt} tags = map[string]string{ - "id": u.ID, - "mac": u.Mac, - "device_oid": u.Mac, - // "device_oid": u.Stat.sw.Oid, + "id": u.ID, + "mac": u.Mac, + "device_oid": u.Stat.Sw.Oid, "site_id": u.SiteID, "site_name": u.SiteName, "name": u.Name, diff --git a/unifipoller/unifi.go b/unifipoller/unifi.go index bb0497c0..43f5fb8c 100644 --- a/unifipoller/unifi.go +++ b/unifipoller/unifi.go @@ -51,7 +51,7 @@ func (u *UnifiPoller) PollController() error { var err error if u.ReAuth { // Some users need to re-auth every interval because the cookie times out. - if err = u.GetUnifi(); err != nil { + if err = u.Login(); err != nil { u.LogError(err, "re-authenticating") } }