From b22df54f733336ff614b72c88d3e15b2195d0432 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Nov 2025 18:40:47 +0000 Subject: [PATCH 1/6] Bump actions/checkout from 5.0.0 to 5.0.1 in the all-actions group Bumps the all-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout). Updates `actions/checkout` from 5.0.0 to 5.0.1 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5.0.0...v5.0.1) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-actions ... Signed-off-by: dependabot[bot] --- .github/workflows/Create-NewReleases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Create-NewReleases.yml b/.github/workflows/Create-NewReleases.yml index 20fe6bc..826f8fa 100644 --- a/.github/workflows/Create-NewReleases.yml +++ b/.github/workflows/Create-NewReleases.yml @@ -19,7 +19,7 @@ jobs: steps: # 1--- Check out master so we tag the exact merge commit - name: Checkout source code - uses: actions/checkout@v5.0.0 + uses: actions/checkout@v5.0.1 with: fetch-depth: 0 ref: 'master' From 60adec5f26a5ccde45a210cdae23a94ff3ee1515 Mon Sep 17 00:00:00 2001 From: Martinski4GitHub <119833648+Martinski4GitHub@users.noreply.github.com> Date: Sun, 23 Nov 2025 23:09:56 -0800 Subject: [PATCH 2/6] Code Improvements Minor code improvements. --- README.md | 4 ++-- scmerlin.sh | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 3c83865..865bade 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # scMerlin -## v2.5.45 -### Updated on 2025-Nov-07 +## v2.5.46 +### Updated on 2025-Nov-23 ## About scMerlin allows you to easily control the most common services/scripts on your router. scMerlin also augments your router's WebUI with a Sitemap and dynamic submenus for the main left menu of Asuswrt-Merlin. diff --git a/scmerlin.sh b/scmerlin.sh index 26a472b..6aa8706 100644 --- a/scmerlin.sh +++ b/scmerlin.sh @@ -12,7 +12,7 @@ ## Forked from: https://github.com/jackyaz/scMerlin ## ## ## ###################################################### -# Last Modified: 2025-Nov-03 +# Last Modified: 2025-Nov-23 #----------------------------------------------------- ########## Shellcheck directives ########### @@ -32,9 +32,9 @@ ### Start of script variables ### readonly SCRIPT_NAME="scMerlin" readonly SCRIPT_NAME_LOWER="$(echo "$SCRIPT_NAME" | tr 'A-Z' 'a-z' | sed 's/d//')" -readonly SCM_VERSION="v2.5.45" -readonly SCRIPT_VERSION="v2.5.45" -readonly SCRIPT_VERSTAG="25110320" +readonly SCM_VERSION="v2.5.46" +readonly SCRIPT_VERSION="v2.5.46" +readonly SCRIPT_VERSTAG="25112322" SCRIPT_BRANCH="develop" SCRIPT_REPO="https://raw.githubusercontent.com/AMTM-OSR/$SCRIPT_NAME/$SCRIPT_BRANCH" readonly SCRIPT_DIR="/jffs/addons/$SCRIPT_NAME_LOWER.d" @@ -1872,8 +1872,8 @@ else if [ "$ntpTimerSecs" -gt 0 ] && [ "$((ntpTimerSecs % 30))" -eq 0 ] then /usr/bin/logger -st ntpBootWatchdog "Still waiting for NTP to sync [$ntpTimerSecs secs]..." - killall ntp - killall ntpd + killall -q ntp + killall -q ntpd service restart_ntpd fi sleep 10 From e086c421f06b60611258d2886ed928d258e41874 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Nov 2025 18:53:19 +0000 Subject: [PATCH 3/6] Bump actions/checkout from 5.0.1 to 6.0.0 in the all-actions group Bumps the all-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout). Updates `actions/checkout` from 5.0.1 to 6.0.0 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5.0.1...v6.0.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: all-actions ... Signed-off-by: dependabot[bot] --- .github/workflows/Create-NewReleases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Create-NewReleases.yml b/.github/workflows/Create-NewReleases.yml index 826f8fa..14b180c 100644 --- a/.github/workflows/Create-NewReleases.yml +++ b/.github/workflows/Create-NewReleases.yml @@ -19,7 +19,7 @@ jobs: steps: # 1--- Check out master so we tag the exact merge commit - name: Checkout source code - uses: actions/checkout@v5.0.1 + uses: actions/checkout@v6.0.0 with: fetch-depth: 0 ref: 'master' From c7b26e17fd44409145e50d5666dab3a662d2a1cc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Dec 2025 21:35:09 +0000 Subject: [PATCH 4/6] Bump softprops/action-gh-release in the all-actions group Bumps the all-actions group with 1 update: [softprops/action-gh-release](https://github.com/softprops/action-gh-release). Updates `softprops/action-gh-release` from 2.4.2 to 2.5.0 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v2.4.2...v2.5.0) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: 2.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-actions ... Signed-off-by: dependabot[bot] --- .github/workflows/Create-NewReleases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Create-NewReleases.yml b/.github/workflows/Create-NewReleases.yml index 14b180c..86ccf27 100644 --- a/.github/workflows/Create-NewReleases.yml +++ b/.github/workflows/Create-NewReleases.yml @@ -97,7 +97,7 @@ jobs: # 7--- Publish a GitHub Release with auto-generated notes - name: Create Release with Automated Release Notes - uses: softprops/action-gh-release@v2.4.2 + uses: softprops/action-gh-release@v2.5.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag_name: ${{ steps.nextver.outputs.tag }} From ba8bc087aa5959595ac6471c84dc33852a5ffce0 Mon Sep 17 00:00:00 2001 From: Martinski4GitHub <119833648+Martinski4GitHub@users.noreply.github.com> Date: Thu, 4 Dec 2025 18:33:58 -0800 Subject: [PATCH 5/6] Added Support for New CPU Temperature File Added support for new file reporting CPU temperature on some newer routers like the RT-BE92U. --- README.md | 2 +- scmerlin.sh | 81 +++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 73 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 865bade..4e0fde4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # scMerlin ## v2.5.46 -### Updated on 2025-Nov-23 +### Updated on 2025-Dec-04 ## About scMerlin allows you to easily control the most common services/scripts on your router. scMerlin also augments your router's WebUI with a Sitemap and dynamic submenus for the main left menu of Asuswrt-Merlin. diff --git a/scmerlin.sh b/scmerlin.sh index 6aa8706..81fb8a1 100644 --- a/scmerlin.sh +++ b/scmerlin.sh @@ -12,7 +12,7 @@ ## Forked from: https://github.com/jackyaz/scMerlin ## ## ## ###################################################### -# Last Modified: 2025-Nov-23 +# Last Modified: 2025-Dec-04 #----------------------------------------------------- ########## Shellcheck directives ########### @@ -34,7 +34,7 @@ readonly SCRIPT_NAME="scMerlin" readonly SCRIPT_NAME_LOWER="$(echo "$SCRIPT_NAME" | tr 'A-Z' 'a-z' | sed 's/d//')" readonly SCM_VERSION="v2.5.46" readonly SCRIPT_VERSION="v2.5.46" -readonly SCRIPT_VERSTAG="25112322" +readonly SCRIPT_VERSTAG="25120418" SCRIPT_BRANCH="develop" SCRIPT_REPO="https://raw.githubusercontent.com/AMTM-OSR/$SCRIPT_NAME/$SCRIPT_BRANCH" readonly SCRIPT_DIR="/jffs/addons/$SCRIPT_NAME_LOWER.d" @@ -106,6 +106,13 @@ readonly fwInstalledBaseVers="$(nvram get firmver | sed 's/\.//g')" readonly fwInstalledBuildVers="$(nvram get buildno)" readonly fwInstalledBranchVer="${fwInstalledBaseVers}.$(echo "$fwInstalledBuildVers" | awk -F'.' '{print $1}')" +##-------------------------------------## +## Added by Martinski W. [2025-Dec-04] ## +##-------------------------------------## +readonly CPU_Temptr_ProcDMUtemp="/proc/dmu/temperature" +readonly CPU_Temptr_SysPowerCPU="/sys/power/bpcm/cpu_temp" +readonly CPU_Temptr_ThermalZone="/sys/devices/virtual/thermal/thermal_zone0/temp" + ##-------------------------------------## ## Added by Martinski W. [2025-Oct-10] ## ##-------------------------------------## @@ -309,7 +316,7 @@ GetTemperatureValue() else echo "[WiFi Interface '${theIFname}' is DISABLED]" fi else - echo "$theTemprtr" | awk -F ' ' '{print $1/2+20}' + echo "$theTemprtr" | awk -F' ' '{printf "%.1f\n", $1/2+20}' fi fi } @@ -2595,8 +2602,67 @@ _NTPMerlin_GetTimeServerIDfromConfig_() return 0 } +##-------------------------------------## +## Added by Martinski W. [2024-Dec-04] ## +##-------------------------------------## +_Get_CPU_Temptr_ProcDMUtemp_() +{ + local rawTemp charPos3 cpuTemp + rawTemp="$(awk -F ' ' '{print $4}' "$CPU_Temptr_ProcDMUtemp")" + + ## To check for a possible 3-digit value ## + charPos3="${rawTemp:2:1}" + if echo "$charPos3" | grep -qE '[0-9]' + then cpuTemp="${rawTemp:0:3}.0" + else cpuTemp="${rawTemp:0:2}.0" + fi + printf "${cpuTemp}°C\n" +} + +##-------------------------------------## +## Added by Martinski W. [2024-Dec-04] ## +##-------------------------------------## +_Get_CPU_Temptr_ThermalZone_() +{ + local rawTemp cpuTemp + rawTemp="$(cat "$CPU_Temptr_ThermalZone")" + cpuTemp="$((rawTemp / 1000)).$(printf "%03d" "$((rawTemp % 1000))")" + printf "%.1f°C\n" "$cpuTemp" +} + +##-------------------------------------## +## Added by Martinski W. [2024-Dec-04] ## +##-------------------------------------## +_Get_CPU_Temptr_SysPowerCPU_() +{ + local rawTemp cpuTemp + rawTemp="$(cat "$CPU_Temptr_SysPowerCPU")" + cpuTemp="$(echo "$rawTemp" | awk -F' ' '{printf $2}')" + printf "%.1f°C\n" "$cpuTemp" +} + +##-------------------------------------## +## Added by Martinski W. [2024-Dec-04] ## +##-------------------------------------## +_Get_CPU_Temperature_() +{ + if [ -f "$CPU_Temptr_ProcDMUtemp" ] + then + _Get_CPU_Temptr_ProcDMUtemp_ ; return 0 + fi + if [ -f "$CPU_Temptr_SysPowerCPU" ] + then + _Get_CPU_Temptr_SysPowerCPU_ ; return 0 + fi + if [ -f "$CPU_Temptr_ThermalZone" ] + then + _Get_CPU_Temptr_ThermalZone_ ; return 0 + fi + echo ; return 1 +} + ##----------------------------------------## -## Modified by Martinski W. [2024-Oct-19] ## +## Modified by Martinski W. [2024-Dec-04] ## ##----------------------------------------## MainMenu() { @@ -3060,12 +3126,9 @@ MainMenu() t) ScriptHeader printf "\n${GRNct}${BOLDUNDERLN}Temperatures${CLRct}\n\n" - if [ -f /sys/class/thermal/thermal_zone0/temp ] - then - printf "CPU:\t ${GRNct}%s°C${CLRct}\n" "$(awk '{print int($1/1000)}' /sys/class/thermal/thermal_zone0/temp)" - elif [ -f /proc/dmu/temperature ] + if cpuTemptrCelsius="$(_Get_CPU_Temperature_)" then - printf "CPU:\t ${GRNct}%s${CLRct}\n" "$(cut -f2 -d':' /proc/dmu/temperature | awk '{$1=$1;print}' | sed 's/..$/°C/')" + printf "CPU:\t ${GRNct}%s${CLRct}\n" "$cpuTemptrCelsius" else printf "CPU:\t ${REDct}[N/A]${CLRct}\n" fi From 33d712c3d53fd3884b68d86fba3b008a2f8f2090 Mon Sep 17 00:00:00 2001 From: Martinski4GitHub <119833648+Martinski4GitHub@users.noreply.github.com> Date: Fri, 5 Dec 2025 21:38:27 -0800 Subject: [PATCH 6/6] Code Improvement Added RT-BE92U for Wi-Fi band detection. --- README.md | 2 +- scmerlin.sh | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4e0fde4..3ea0ad3 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # scMerlin ## v2.5.46 -### Updated on 2025-Dec-04 +### Updated on 2025-Dec-05 ## About scMerlin allows you to easily control the most common services/scripts on your router. scMerlin also augments your router's WebUI with a Sitemap and dynamic submenus for the main left menu of Asuswrt-Merlin. diff --git a/scmerlin.sh b/scmerlin.sh index 81fb8a1..e37a1b3 100644 --- a/scmerlin.sh +++ b/scmerlin.sh @@ -12,7 +12,7 @@ ## Forked from: https://github.com/jackyaz/scMerlin ## ## ## ###################################################### -# Last Modified: 2025-Dec-04 +# Last Modified: 2025-Dec-05 #----------------------------------------------------- ########## Shellcheck directives ########### @@ -34,7 +34,7 @@ readonly SCRIPT_NAME="scMerlin" readonly SCRIPT_NAME_LOWER="$(echo "$SCRIPT_NAME" | tr 'A-Z' 'a-z' | sed 's/d//')" readonly SCM_VERSION="v2.5.46" readonly SCRIPT_VERSION="v2.5.46" -readonly SCRIPT_VERSTAG="25120418" +readonly SCRIPT_VERSTAG="25120520" SCRIPT_BRANCH="develop" SCRIPT_REPO="https://raw.githubusercontent.com/AMTM-OSR/$SCRIPT_NAME/$SCRIPT_BRANCH" readonly SCRIPT_DIR="/jffs/addons/$SCRIPT_NAME_LOWER.d" @@ -158,7 +158,7 @@ GetWiFiVirtualInterfaceName() } ##----------------------------------------## -## Modified by Martinski W. [2025-Sep-05] ## +## Modified by Martinski W. [2025-Dec-05] ## ##----------------------------------------## _GetWiFiBandsSupported_() { @@ -174,6 +174,7 @@ _GetWiFiBandsSupported_() Band_5G_2_Support=true fi if [ "$ROUTER_MODEL" = "GT-BE98" ] || \ + [ "$ROUTER_MODEL" = "RT-BE92U" ] || \ [ "$ROUTER_MODEL" = "RT-BE96U" ] || \ [ "$ROUTER_MODEL" = "GT-BE98_PRO" ] || \ [ "$ROUTER_MODEL" = "GT-AXE16000" ] || \