elueckel / Unifi-Toolbox

Modul for Symcon integrating UniFi Network devices
2 stars 2 forks source link

Feature Request - Erweiterung mit weiteren Infos (availablity, latency, ISP, uptime, version,...) #1

Closed Brovning closed 3 years ago

Brovning commented 3 years ago

image

Brovning commented 3 years ago

Ich habe mal zum Testen einen Unifi Controller in einem Docker eingerichtet.

Rückgabe:

[1] => Array
                                (
                                    [subsystem] => wan
                                    [num_gw] => 0
                                    [num_adopted] => 0
                                    [num_disconnected] => 0
                                    [num_pending] => 0
                                    [status] => unknown
                                )

Folglich sind nur folgende auf der Dream verfügbar und müssen abhängig vom ausgewählten Controller ein-/ausgeblendet werden:

Das mache ich dann noch.

elueckel commented 3 years ago

Die Public IP kommt vermutlich auch nicht mit oder irre ich mich?

elueckel commented 3 years ago

Bitte schau auch mal auf die Namen die Variablen - die sollte gleichförmig sein. Doku und Übersetzung mache ich gerne.

Ich muss auch mal mit dem ganzen merging schauen. Da habe ich noch keinen kompletten Plan :-)

elueckel commented 3 years ago

Kann es auch sein, dass du die Form noch nicht angepasst hast - ich habe im Patch 3 noch nichts gefunden?

elueckel commented 3 years ago

Also m.E. Macht das Internet Controller Modul so wie es ist nur auf der dream Maschine Sinn.

Für anderes habe ich noch eine Idee um Geräte generell zu überwachen.

Am 07.09.2021 um 18:10 schrieb Brovning @.***>:

 Ich habe mal zum Testen einen Unifi Controller in einem Docker eingerichtet.

Rückgabe:

Array ( [meta] => Array ( [rc] => ok )

[data] => Array
    (
        [0] => Array
            (
                [_id] => 5bf956ead2e924255c67c32f
                [name] => default
                [desc] => Brovning
                [attr_hidden_id] => default
                [attr_no_delete] => 1
                [location_lat] => xxx
                [location_lng] => xxx
                [location_accuracy] => 0
                [anonymous_id] => xxx
                [health] => Array
                    (
                        [0] => Array
                            (
                                [subsystem] => wlan
                                [status] => unknown
                                [num_ap] => 0
                                [num_adopted] => 0
                                [num_disabled] => 0
                                [num_disconnected] => 0
                                [num_pending] => 0
                            )

                        [1] => Array
                            (
                                [subsystem] => wan
                                [num_gw] => 0
                                [num_adopted] => 0
                                [num_disconnected] => 0
                                [num_pending] => 0
                                [status] => unknown
                            )

                        [2] => Array
                            (
                                [subsystem] => www
                                [status] => unknown
                            )

                        [3] => Array
                            (
                                [subsystem] => lan
                                [status] => unknown
                                [num_sw] => 0
                                [num_adopted] => 0
                                [num_disconnected] => 0
                                [num_pending] => 0
                            )

                        [4] => Array
                            (
                                [subsystem] => vpn
                                [status] => unknown
                            )

                    )

                [num_new_alarms] => 507
            )

    )

) Folglich sind nur folgende auf der Dream verfügbar und müssen abhängig vom ausgewählten Controller ein-/ausgeblendet werden:

WAN1availability WAN1latency_average WAN1time_period WAN2availability WAN2latency_average WAN2time_period isp_name isp_organization — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

Brovning commented 3 years ago

Die Public IP kommt vermutlich auch nicht mit oder irre ich mich?

Doch, die hat er sich geholt: image

Brovning commented 3 years ago

Kann es auch sein, dass du die Form noch nicht angepasst hast - ich habe im Patch 3 noch nichts gefunden?

Locale und Form waren ebenfalls im Patch1 eingecheckt, da es ja zusammengehört: image

image

Patch2 und Patch3 habe ich gelöscht. War ein versehen beim Checkin einen neuen Branch zu eröffnen...

Brovning commented 3 years ago

Was hältst du hiervon: image

Ansonsten würde ich es dynamisch machen, so dass der untere Teil nur erscheint, wenn DreamMachine ausgewählt wurde.

elueckel commented 3 years ago

Finde ich super … ich ziehe es morgen rüber.

Am 07.09.2021 um 18:45 schrieb Brovning @.***>:

 Was hältst du hiervon:

Ansonsten würde ich es dynamisch machen, so dass der untere Teil nur erscheint, wenn DreamMachine ausgewählt wurde.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

elueckel commented 3 years ago

Ich habe Patch 1 bei mir auf Beta gezogen. Werden heute Nachmittag daran basteln, damit wir nicht doppelt arbeiten. Melde mich.

Funktioieren tut es - der Authentication Check geht nicht (braucht aber vermutlich niemand) ... auch werden ich die UI noch etwas bearbeiten (kosmetik) plus Doku.

Ich glaube das wird aber gut und es gibt endlich ein wartbares Unifi Modul ... Meine Tocher ist total begeistert das ich jetzt per Knopfdruck alle Geräte vom Internet trennen kann :-) ...

Brovning commented 3 years ago

Habe dir die Änderung aus dem Screenshot eingecheckt: "Absatz "Nachfolgende Werte sind nur mit DreamMachine verfügbar" hinzugefügt"

Brovning commented 3 years ago

Habe noch ein paar Änderungen bei mir lokal. Sobald du fertig bist, lade deine Änderungen in Beta hoch und gib kurz Bescheid, dann mache ich meine Verbesserungen auch noch mit rein.

elueckel commented 3 years ago

Schiebe es schon jetzt hoch … ich mache nachher noch einen Snapshot. Musste erstmal in den Garten

Am 08.09.2021 um 09:35 schrieb Brovning @.***>:

 Habe noch ein paar Änderungen bei mir lokal. Sobald du fertig bist, lade deine Änderungen in Beta hoch und gib kurz Bescheid, dann mache ich meine Verbesserungen auch noch mit rein.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

Brovning commented 3 years ago

Ok, habe es bei #7 unter Patch-2 mit eingecheckt. Ist ein Pull-Request auf deinen Beta Branch.

elueckel commented 3 years ago

@Brovning ich habe jetzt unter Beta die 1.0 liegen. Kleine Änderungen, aber nichts wildes - außer das ich den Active entfernt, habe, da man es einfach via Timer steuern kann 0=aus (mache ich bei den anderen Modulen von mir auch so, deswegen würde ich das so lassen wollen).

Eine Frage - es gibt da den Betrachtungszeitraum, mit 86400 ... was macht der denn? :-)

Brovning commented 3 years ago

Eine Frage - es gibt da den Betrachtungszeitraum, mit 86400 ... was macht der denn? :-)

Der Betrachtungszeitraum gibt an, auf welcher Basis die Verfügbarkeit in Prozent berechnet wurde.

elueckel commented 3 years ago

ok ... dann sind die 86400 Sekunden = 24h ... ich rechne das mal um, da die Zahl etwas nichtssagend ist.

Brovning commented 3 years ago

Eine Änderung hätte ich noch vorgeschlagen: https://github.com/elueckel/Unifi-Toolbox/commit/30c3b613393426729868328f499dc8cbcbd5b867

            $TimerMS = $this->ReadPropertyInteger("Timer") * 1000;
            $this->SetTimerInterval("Collect Connection Data", $TimerMS);

            if (0 == $TimerMS) {
                // instance inactive
                $this->SetStatus(104);
            }
            else {
                // instance active
                $this->SetStatus(102);
            }
elueckel commented 3 years ago

Cool - habe ich eingebaut hier und in der Anwesenheit (kommt auch in andere Module!

Ich habe auch noch Profile für Sekunden und Millisekunden hinzugefügt.

elueckel commented 3 years ago

So - ist nach Main gemerged ... nachdem ich den Merge versaut hatte (danke Github). Sollte alles gehen und die aktuellen Änderungen enthalten.

Den Beta Branch setze ich neu auf sobald alles getestet ist.

Brovning commented 3 years ago

Hallo @elueckel , habe aktualisiert und getestet. Funktioniert soweit alles.

elueckel commented 3 years ago

Top ... ich habe das Template für die 1.0 im Module Store gerade angelegt. Mal schauen ob noch Feedback kommt.

Danke für Deine Unterstützung!!!!

Ich habe noch weitere Ideen, aber mal schauen ob es requests gibt - bauen um das Bauenswillen muss ja nicht sein :-)

Brovning commented 3 years ago

Kein Problem, gerne wieder! Ich sage danke fürs aufnehmen meiner Änderungen. Du bist einer der Wenigen die das bisher gemacht haben. Die Meisten haben den Sinn von Git noch nicht verstanden... ;-)