From 3bd34b32563716dd7ccb7ed3ba4f9f3cb94a5742 Mon Sep 17 00:00:00 2001 From: Jacob Laursen Date: Sat, 3 Dec 2022 12:36:28 +0100 Subject: [PATCH] Migrate uptime channels to support UoM (#13827) Fixes #13826 Signed-off-by: Jacob Laursen --- bundles/org.openhab.binding.unifi/README.md | 26 +++++++++---------- .../handler/UniFiClientThingHandler.java | 4 +-- .../resources/OH-INF/thing/thing-types.xml | 6 +++-- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/bundles/org.openhab.binding.unifi/README.md b/bundles/org.openhab.binding.unifi/README.md index 10cdc3782..8ac81e41c 100644 --- a/bundles/org.openhab.binding.unifi/README.md +++ b/bundles/org.openhab.binding.unifi/README.md @@ -161,7 +161,7 @@ The `wirelessClient` information that is retrieved is available as these channel | ap | String | Access point (AP) the client is connected to | Read | | essid | String | Network name (ESSID) the client is connected to | Read | | rssi | Number | Received signal strength indicator (RSSI) of the client | Read | -| uptime | Number | Uptime of the client (in seconds) | Read | +| uptime | Number:Time | Uptime of the client (in seconds) | Read | | lastSeen | DateTime | Date and Time the client was last seen | Read | | experience | Number:Dimensionless | Overall health indication of the client (in percentage) | Read | | blocked | Switch | Blocked status of the client | Read, Write | @@ -181,7 +181,7 @@ The `wiredClient` information that is retrieved is available as these channels: | site | String | Site name (from the controller web UI) the client is associated with | Read | | macAddress | String | MAC address of the client | Read | | ipAddress | String | IP address of the client | Read | -| uptime | Number | Uptime of the client (in seconds) | Read | +| uptime | Number:Time | Uptime of the client (in seconds) | Read | | lastSeen | DateTime | Date and Time the client was last seen | Read | | experience | Number:Dimensionless | Overall health indication of the client (in percentage) | Read | | blocked | Switch | Blocked status of the client | Read, Write | @@ -229,17 +229,17 @@ Replace `$user`, `$password` and `$cid` accordingly. items/unifi.items ``` -Switch MatthewsPhone "Matthew's iPhone [MAP(unifi.map):%s]" { channel="unifi:wirelessClient:home:matthewsPhone:online" } -String MatthewsPhoneSite "Matthew's iPhone: Site [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:site" } -String MatthewsPhoneMAC "Matthew's iPhone: MAC [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:macAddress" } -String MatthewsPhoneIP "Matthew's iPhone: IP [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:ipAddress" } -String MatthewsPhoneAP "Matthew's iPhone: AP [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:ap" } -String MatthewsPhoneESSID "Matthew's iPhone: ESSID [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:essid" } -Number MatthewsPhoneRSSI "Matthew's iPhone: RSSI [%d]" { channel="unifi:wirelessClient:home:matthewsPhone:rssi" } -Number MatthewsPhoneUptime "Matthew's iPhone: Uptime [%d]" { channel="unifi:wirelessClient:home:matthewsPhone:uptime" } -DateTime MatthewsPhoneLastSeen "Matthew's iPhone: Last Seen [%1$tH:%1$tM:%1$tS]" { channel="unifi:wirelessClient:home:matthewsPhone:lastSeen" } -Switch MatthewsPhoneBlocked "Matthew's iPhone: Blocked" { channel="unifi:wirelessClient:home:matthewsPhone:blocked" } -Switch MatthewsPhoneReconnect "Matthew's iPhone: Reconnect" { channel="unifi:wirelessClient:home:matthewsPhone:reconnect" } +Switch MatthewsPhone "Matthew's iPhone [MAP(unifi.map):%s]" { channel="unifi:wirelessClient:home:matthewsPhone:online" } +String MatthewsPhoneSite "Matthew's iPhone: Site [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:site" } +String MatthewsPhoneMAC "Matthew's iPhone: MAC [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:macAddress" } +String MatthewsPhoneIP "Matthew's iPhone: IP [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:ipAddress" } +String MatthewsPhoneAP "Matthew's iPhone: AP [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:ap" } +String MatthewsPhoneESSID "Matthew's iPhone: ESSID [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:essid" } +Number MatthewsPhoneRSSI "Matthew's iPhone: RSSI [%d]" { channel="unifi:wirelessClient:home:matthewsPhone:rssi" } +Number:Time MatthewsPhoneUptime "Matthew's iPhone: Uptime [%1$tR]" { channel="unifi:wirelessClient:home:matthewsPhone:uptime" } +DateTime MatthewsPhoneLastSeen "Matthew's iPhone: Last Seen [%1$tH:%1$tM:%1$tS]" { channel="unifi:wirelessClient:home:matthewsPhone:lastSeen" } +Switch MatthewsPhoneBlocked "Matthew's iPhone: Blocked" { channel="unifi:wirelessClient:home:matthewsPhone:blocked" } +Switch MatthewsPhoneReconnect "Matthew's iPhone: Reconnect" { channel="unifi:wirelessClient:home:matthewsPhone:reconnect" } ``` transform/unifi.map diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiClientThingHandler.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiClientThingHandler.java index 3d610285c..aa2fce8d8 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiClientThingHandler.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiClientThingHandler.java @@ -127,7 +127,7 @@ public class UniFiClientThingHandler extends UniFiBaseThingHandler(0, Units.SECOND); break; case CHANNEL_EXPERIENCE: // mgb: uptime + experience should default to 0 @@ -200,7 +200,7 @@ public class UniFiClientThingHandler extends UniFiBaseThingHandler(client.getUptime(), Units.SECOND); } break; diff --git a/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/thing/thing-types.xml index c325c5165..132992cd5 100644 --- a/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/thing/thing-types.xml @@ -249,16 +249,18 @@ - Number + Number:Time Uptime of the client (in seconds) - + Time + DateTime Timestamp of when the client was last seen + Time