From 676c3f8b042a0c39ab139025492435043d48d34d Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 21 Jun 2026 11:37:21 +1000 Subject: [PATCH 1/3] FE: skeleton uplift --- front/css/app.css | 2 ++ front/pluginsCore.php | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/front/css/app.css b/front/css/app.css index 126b1d51..73e6acaa 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -2675,6 +2675,8 @@ table.dataTable tbody > tr.selected background: var(--skel-section); } +#pluginsPage .skel-table-box { background: var(--skel-bg); } + /* Panel-toned backgrounds */ .skel-overview-body, .skel-overview-header, .skel-plugin-body, .skel-detail-info-panel, .skel-detail-form { diff --git a/front/pluginsCore.php b/front/pluginsCore.php index d4ba91d4..3e82d1dd 100755 --- a/front/pluginsCore.php +++ b/front/pluginsCore.php @@ -630,7 +630,7 @@ function generateDataTable(prefix, tableType, colDefinitions) { return `
-
${skelHtml}
+
${skelHtml}
${headersHtml}
@@ -668,7 +668,7 @@ function initializeDataTables(prefix, colDefinitions, pluginObj) { // Fade out the skeleton only after the first draw so there is no gap // between the skeleton disappearing and the table rows appearing. initComplete: function() { - $(skelId).fadeOut(250, function() { $(this).remove(); }); + $(skelId).fadeOut(50, function() { $(this).remove(); }); }, createdRow: function(row, data) { $(row).attr('data-my-index', data.index); From 7f5c001637db1d5eaa925475c621d314dbaff4a3 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sun, 21 Jun 2026 11:43:11 +1000 Subject: [PATCH 2/3] FE: skeleton uplift --- front/css/app.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/css/app.css b/front/css/app.css index 73e6acaa..960a1368 100755 --- a/front/css/app.css +++ b/front/css/app.css @@ -2675,7 +2675,7 @@ table.dataTable tbody > tr.selected background: var(--skel-section); } -#pluginsPage .skel-table-box { background: var(--skel-bg); } +#pluginsPage .skel-table-box, .plugin-content .skel-table-box { background: var(--skel-bg); } /* Panel-toned backgrounds */ .skel-overview-body, .skel-overview-header, .skel-plugin-body, From 07b731ff59d41db238420d280e90e36f3a328632 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Mon, 22 Jun 2026 08:19:57 +1000 Subject: [PATCH 3/3] PLG: add connections attribute to mqtt #1681 --- front/plugins/_publisher_mqtt/mqtt.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/front/plugins/_publisher_mqtt/mqtt.py b/front/plugins/_publisher_mqtt/mqtt.py index f40c50dd..0c01c33b 100755 --- a/front/plugins/_publisher_mqtt/mqtt.py +++ b/front/plugins/_publisher_mqtt/mqtt.py @@ -150,19 +150,20 @@ class sensor_config: "device_class": "timestamp" }) + # prepare mac for "connections" + if self.mac != "": + connections_snippet = [ + ["mac", self.mac] + ] + else: + connections_snippet = [] + # Handle 'binary_sensor' or 'sensor' types if self.sensorType in ['binary_sensor', 'sensor']: self.topic = f'homeassistant/{self.sensorType}/{self.deviceId}/{self.sensorName}/config' self.state_topic = f'{topic_root}/{self.sensorType}/{self.deviceId}/state' self.unique_id = f'{self.deviceId}_sensor_{self.sensorName}' - if self.mac != "": - connections_snippet = [ - ["mac", self.mac] - ] - else: - connections_snippet = [] - # Update the message dictionary, expanding it without overwriting self.message.update({ "name": self.sensorName, @@ -172,8 +173,7 @@ class sensor_config: "device": { "identifiers": [f"{self.deviceId}_sensor"], "manufacturer": "NetAlertX", - "name": self.deviceName, - "connections": connections_snippet + "name": self.deviceName }, "icon": f'mdi:{self.icon}' }) @@ -198,7 +198,8 @@ class sensor_config: "identifiers": [f"{self.deviceId}_sensor", self.unique_id], "manufacturer": "NetAlertX", "model": self.model or "Unknown", # Use model if available, else set to 'Unknown' - "name": self.deviceName + "name": self.deviceName, + "connections": connections_snippet } }