diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 000000000..b58b603fe
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 000000000..60f3cf96b
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 000000000..79ee123c2
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/homepage.iml b/.idea/homepage.iml
new file mode 100644
index 000000000..0c8867d7e
--- /dev/null
+++ b/.idea/homepage.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 000000000..03d9549ea
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 000000000..07f3ad174
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 000000000..94a25f7f4
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/widgets/omada/component.jsx b/src/widgets/omada/component.jsx
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/widgets/omada/widget.js b/src/widgets/omada/widget.js
new file mode 100644
index 000000000..92b9d14dd
--- /dev/null
+++ b/src/widgets/omada/widget.js
@@ -0,0 +1,21 @@
+import credentialedProxyHandler from "../../utils/proxy/handlers/credentialed";
+
+const widget = {
+ api: "{url}/web/v1/{endpoint}",
+ proxyHandler: credentialedProxyHandler,
+
+ mappings: {
+ "controller": {
+ endpoint: "controller",
+ params: [ "method": "getGridAps",
+ "params": {
+ "sortOrder": "asc",
+ "currentPage": 1,
+ "currentPageSize": 100000,
+ "filters": {"status": "All"}
+}]
+ },
+ },
+};
+
+export default widget;
diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js
index fe4328320..4d956eb6f 100644
--- a/src/widgets/widgets.js
+++ b/src/widgets/widgets.js
@@ -38,6 +38,7 @@ import transmission from "./transmission/widget";
import tubearchivist from "./tubearchivist/widget";
import truenas from "./truenas/widget";
import unifi from "./unifi/widget";
+import omada from "./omada/widget";
import watchtower from './watchtower/widget'
const widgets = {
@@ -81,6 +82,7 @@ const widgets = {
transmission,
tubearchivist,
truenas,
+ omada,
unifi,
unifi_console: unifi,
watchtower,