Open Brovning opened 1 year ago
Klar - als rein 😁Am 23.01.2023 um 20:37 schrieb Brovning @.***>: Hallo @elueckel , ich bin gerade am überlegen, ob ich den Unifi Internet Controller erweitere, um vorhandene User-defined PortForwarding Rules zu aktivieren und zu deaktivieren. Bspw.: public function ActivatePortForwardRule(int $ruleId) und public function DeactivatePortForwardRule(int $ruleId) Warum das Ganze: Weil ich dieses Feature gerade benötige und sowie so implementieren würde. Daher die Überlegung, ob ich es gleich in der Unifi-Toolbox umsetze. Was hältst du davon?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
Ok, dann lege ich Morgen mal los.
Hallo @elueckel ,
die erste Version ist online, jedoch noch nicht vollständig funktionsfähig:
UIC_GetPortForwardRules() ließt die vorhandenen PortForwarding Rules aus. Diese Funktion kann auch per Modul-Instanz (Button unten rechts) getriggert werden, damit man die korrekte Rule-ID bequem per GUI ermitteln kann.
UIC_ActivatePortForwardRule(string $ruleId) sollte mit der zuvor ermittelten Rule-ID die jeweilige Port-Forwarding Rule aktivieren
ABER: Da ein GET-Befehl verwendet wird, erhält man nur die Details zur $ruleID per print_f() ausgegeben.
Man müsste per PUT Befehl das enable setzen. Das habe ich aber noch nicht hinbekommen. Im Internet habe ich folgendes gefunden:
This may apply to other configurations, but initial testing shows that port forward rules can be enabled/disabled using PUT against the endpoint /api/s/{site}/rest/portforward/{rule-id} with a body such as:
{ "enabled": true }
Hast du eine Idee, wie das per PUT funktioniert?
Hi, Ich weis das ich bei dem Device Blocker auch sehr lange gebastelt habe … schau evtl. mal da (wobei ich nicht weis ob das hier geht?
Am 24.01.2023 um 20:39 schrieb Brovning @.***>:
Hallo @elueckel https://github.com/elueckel ,
die erste Version ist online, jedoch noch nicht vollständig funktionsfähig:
UIC_GetPortForwardRules() ließt die vorhandenen PortForwarding Rules aus. Diese Funktion kann auch per Modul-Instanz (Button unten rechts) getriggert werden, damit man die korrekte Rule-ID bequem per GUI ermitteln kann.
UIC_ActivatePortForwardRule(string $ruleId) sollte mit der zuvor ermittelten Rule-ID die jeweilige Port-Forwarding Rule aktivieren
ABER: Da ein GET-Befehl verwendet wird, erhält man nur die Details zur $ruleID per print_f() ausgegeben.
Man müsste per PUT Befehl das enable setzen. Das habe ich aber noch nicht hinbekommen. Im Internet habe ich folgendes gefunden:
This may apply to other configurations, but initial testing shows that port forward rules can be enabled/disabled using PUT against the endpoint /api/s/{site}/rest/portforward/{rule-id} with a body such as:
{ "enabled": true }
Hast du eine Idee, wie das per PUT funktioniert?
— Reply to this email directly, view it on GitHub https://github.com/elueckel/Unifi-Toolbox/issues/70#issuecomment-1402490614, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHI57O2EXUZT6B23AVAARPLWUAVVTANCNFSM6AAAAAAUEHO6AY. You are receiving this because you were mentioned.
Jetzt konnte ich den Befehl absenden und er wurde auch ausgeführt bzw. es wurde irgendetwas ausgeführt... Auf der Unifi Konfigurationsseite erhalte ich nur noch folgende Meldung:
Arg...
Ein Neustart der DM hat das Problem behoben.
Habe meinen aktuellen Stand mal eingecheckt. Laut Response wird der Befehl erfolgreich ausgeführt, jedoch ist die PortForward Rule laut GUI nicht aktiviert...
Nach ausführen des PUT Befehls, wird trotz Angabe der rule-ID immer eine neue Port-Forwarding Rule erstellt. Das wäre jetzt kein Problem, wenn es eine Möglichkeit gäbe eine Rule auch wieder zu löschen, aber leider habe ich hierzu keinen Befehl gefunden...
Der Home-Assistant bekommt es scheinbar hin eine vorhandene PortForwarding Rule zu editieren: https://community.home-assistant.io/t/automating-unifi-port-forwarding-based-upon-presence-detection/168185/21
Ich glaube ich hatte bei dem Modul zum Blocken was ähnliches und musste nochmal etwas lesen. Das ist leider eine lange Zeit her …
Am 26.01.2023 um 17:18 schrieb Brovning @.***>:
Nach ausführen des PUT Befehls, wird trotz Angabe der rule-ID immer eine neue Port-Forwarding Rule erstellt. Das wäre jetzt kein Problem, wenn es eine Möglichkeit gäbe eine Rule auch wieder zu löschen, aber leider habe ich hierzu keinen Befehl gefunden...
Der Home-Assistent bekommt es scheinbar hin: https://community.home-assistant.io/t/automating-unifi-port-forwarding-based-upon-presence-detection/168185/21
— Reply to this email directly, view it on GitHub https://github.com/elueckel/Unifi-Toolbox/issues/70#issuecomment-1405255185, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHI57OZSHV6SKJZPE7QB2DTWUKPURANCNFSM6AAAAAAUEHO6AY. You are receiving this because you were mentioned.
Du meinst das Cookie und den X_CSRF_Token? Das habe ich bereits.
Leider habe ich da auch keine Idee … ich habe auch gerade nochmal im Code geschaut.
Eine Idee wäre sich nochmal von Art of Wifi inspirieren zu lassen Art-of-WiFi/UniFi-API-client: A PHP API client class to interact with Ubiquiti's UniFi Controller API (github.com)
Von: Brovning Gesendet: Donnerstag, 26. Januar 2023 19:51 An: elueckel/Unifi-Toolbox Cc: elueckel; Mention Betreff: Re: [elueckel/Unifi-Toolbox] Extending Unifi Internet Controller toactivate/deactivate PortForwarding (Issue #70)
Du meinst das Cookie und den X_CSRF_Token? Das habe ich bereits. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>
Bei denen habe ich auch soeben gepostet. Einer hatte bereits die gleiche Frage wie das geht. Aktuell bei denen auch nicht implementiert... https://github.com/Art-of-WiFi/UniFi-API-client/discussions/175
Und der Link zum Unifi-Forum: https://community.ui.com/questions/Activation-deactivation-of-PortForwarding-rules-in-UDM-via-curl-PHP/c321e5da-f2aa-4925-b94b-f1d04bd342c8
Mal sehen, ob irgendwo Feedback kommt.
Hm... Genau so mache ich es: https://community.ui.com/questions/Open-Close-ports-remotely/82c52f62-0e0e-45fe-9c5a-3d4cb71aaf54?page=1
Gibt es hierzu schon etwas neues?
Grüße, Kai
Ich konnte das Problem lösen, ich schicke einen PR.
Grüße, Kai
Hello @elueckel, siehe PullRequest:
Review habe ich bereits gemacht. Du kannst gerne einen Cross-Check machen und bitte führe du im Anschluss den Merge aus.
Hallo @elueckel ,
ich bin gerade am überlegen, ob ich den Unifi Internet Controller erweitere, um vorhandene User-defined PortForwarding Rules zu aktivieren und zu deaktivieren.
Bspw.:
public function ActivatePortForwardRule(int $ruleId)
und
public function DeactivatePortForwardRule(int $ruleId)
Warum das Ganze: Weil ich dieses Feature gerade benötige und sowie so implementieren würde. Daher die Überlegung, ob ich es gleich in der Unifi-Toolbox umsetze.
Was hältst du davon?