public/Get-CTNumOfChannels.ps1

#$c.attribute.value
#/stw-cgi/attributes.cgi/attributes/System/Limit/MaxChannel

Function Get-CTNumOfChannels {
    [cmdletBinding(
        #DefaultParameterSetName='Preset',
        #SupportsShouldProcess = $true,
        ConfirmImpact='high'
        )]
    Param(
        [Parameter(
            Mandatory=$true
        )]
        [String]$IP,

        [Parameter(
            Mandatory=$true
        )]
        [pscredential]$Credential
    )
    DynamicParam {
        $DynamicParameters = @{
            CameraType = @{
                Mandatory = $true
                Position = 1
                ParameterSetName = "All"
                Enum = $Script:SupportedCameraModels
            }
        }

        return New-DynamicParameterSet -ParameterTable $DynamicParameters
    }
    Begin {
        Write-Debug "[Get-CTNumOfChannels] Started"
        $CameraType = $PSBoundParameters.CameraType

        if($CameraType -eq 'Hanwha') {
            #Thankfully this is easy
            $CamCmd = @{
                URI = "https://$IP/stw-cgi/attributes.cgi/attributes/System/Limit/MaxChannel"
                Credential = $Credential
            }
            return (Invoke-HanwhaCommand @CamCmd).attribute.value
        }
    }
}