mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 06:39:11 +00:00
74_Unifi: get deviceData hinzugefügt
git-svn-id: https://svn.fhem.de/fhem/trunk@23500 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
667b072a4f
commit
d3f368e7cd
@ -1,5 +1,7 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||||
# Do not insert empty lines here, update check depends on it.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- feature: 74_Unifi: get deviceData hinzugefügt
|
||||||
|
- feature: 74_UnifiSwitch: new setter portProfile
|
||||||
- bugfix: 60_Watches: avoid JS error which appeared in seldom cases
|
- bugfix: 60_Watches: avoid JS error which appeared in seldom cases
|
||||||
- feature: 98_WeekdayTimer: Add options WDT_sendDelay and WDT_eventMap
|
- feature: 98_WeekdayTimer: Add options WDT_sendDelay and WDT_eventMap
|
||||||
- change: 98_WeekdayTimer: break compability to Heating_Control
|
- change: 98_WeekdayTimer: break compability to Heating_Control
|
||||||
|
@ -77,10 +77,14 @@
|
|||||||
# - feature: 74_Unifi: new setter to start RF-Scan
|
# - feature: 74_Unifi: new setter to start RF-Scan
|
||||||
# V 3.5.0
|
# V 3.5.0
|
||||||
# - feature: 74_Unifi: support UDM
|
# - feature: 74_Unifi: support UDM
|
||||||
|
# V 3.5.1
|
||||||
|
# - fixed: 74_Unifi: autocreate-naming-fallback for udm fixed to mac (from ip)
|
||||||
|
# V 3.5.2
|
||||||
|
# - feature: 74_Unifi: get deviceData hinzugefügt
|
||||||
|
|
||||||
|
|
||||||
package main;
|
package main;
|
||||||
my $version="3.5.0";
|
my $version="3.5.2";
|
||||||
# Default für clientReadings setzen. Die Readings waren der Standard vor Einführung des Attributes customClientReadings.
|
# Default für clientReadings setzen. Die Readings waren der Standard vor Einführung des Attributes customClientReadings.
|
||||||
# Eine Änderung hat Auswirkungen auf (alte) Moduldefinitionen ohne dieses Attribut.
|
# Eine Änderung hat Auswirkungen auf (alte) Moduldefinitionen ohne dieses Attribut.
|
||||||
my $defaultClientReadings=".:^accesspoint|^essid|^hostname|^last_seen|^snr|^uptime"; #ist wegen snr vs rssi nur halb korrekt, wird aber auch nicht wirklich verwendet ;-)
|
my $defaultClientReadings=".:^accesspoint|^essid|^hostname|^last_seen|^snr|^uptime"; #ist wegen snr vs rssi nur halb korrekt, wird aber auch nicht wirklich verwendet ;-)
|
||||||
@ -588,13 +592,14 @@ sub Unifi_Get($@) {
|
|||||||
my $voucherNotes=join(",", keys %voucherNotesHash);
|
my $voucherNotes=join(",", keys %voucherNotesHash);
|
||||||
|
|
||||||
my $clientNames = Unifi_ClientNames($hash);
|
my $clientNames = Unifi_ClientNames($hash);
|
||||||
|
my $deviceNames = Unifi_ApNames($hash);
|
||||||
|
|
||||||
if($getName !~ /events|clientData|unarchivedAlerts|voucherList|voucher|showAccount/) {
|
if($getName !~ /events|clientData|unarchivedAlerts|voucherList|voucher|showAccount|deviceData/) {
|
||||||
return "Unknown argument $getName, choose one of "
|
return "Unknown argument $getName, choose one of "
|
||||||
.((defined $hash->{events}[0] && scalar @{$hash->{events}}) ? "events:noArg " : "")
|
.((defined $hash->{events}[0] && scalar @{$hash->{events}}) ? "events:noArg " : "")
|
||||||
.((defined $hash->{alerts_unarchived}[0] && scalar @{$hash->{alerts_unarchived}}) ? "unarchivedAlerts:noArg " : "")
|
.((defined $hash->{alerts_unarchived}[0] && scalar @{$hash->{alerts_unarchived}}) ? "unarchivedAlerts:noArg " : "")
|
||||||
.(($clientNames) ? "clientData:all,$clientNames " : "")
|
.(($clientNames) ? "clientData:all,$clientNames " : "")
|
||||||
."voucherList:all,$voucherNotes voucher:$voucherNotes showAccount";
|
."voucherList:all,$voucherNotes voucher:$voucherNotes showAccount deviceData:all,$deviceNames";
|
||||||
}
|
}
|
||||||
elsif ($getName eq 'unarchivedAlerts' && defined $hash->{alerts_unarchived}[0] && scalar @{$hash->{alerts_unarchived}}) {
|
elsif ($getName eq 'unarchivedAlerts' && defined $hash->{alerts_unarchived}[0] && scalar @{$hash->{alerts_unarchived}}) {
|
||||||
my $alerts = "====================================================\n";
|
my $alerts = "====================================================\n";
|
||||||
@ -704,6 +709,21 @@ sub Unifi_Get($@) {
|
|||||||
|
|
||||||
return "user: $user\npassword: $password";
|
return "user: $user\npassword: $password";
|
||||||
}
|
}
|
||||||
|
elsif( $getName eq 'deviceData' ) {
|
||||||
|
my $deviceData = '';
|
||||||
|
if ($getVal && $getVal ne 'all') {
|
||||||
|
$getVal = Unifi_ApNames($hash,$getVal,'makeID');
|
||||||
|
}
|
||||||
|
if (!$getVal || $getVal eq 'all') {
|
||||||
|
return Unifi_FormatJson(encode_json($hash->{accespoints}));
|
||||||
|
}
|
||||||
|
elsif(defined($hash->{accespoints}->{$getVal})) {
|
||||||
|
return Unifi_FormatJson(encode_json($hash->{accespoints}->{$getVal}));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "$hash->{NAME}: Unknown device '$getVal' in command '$getName', choose one of: all,$deviceNames";
|
||||||
|
}
|
||||||
|
}
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -1264,9 +1284,9 @@ sub Unifi_GetSysinfo_Receive($) {
|
|||||||
Log3 $name, 5, "$name ($self) - state:'$data->{meta}->{rc}'";
|
Log3 $name, 5, "$name ($self) - state:'$data->{meta}->{rc}'";
|
||||||
|
|
||||||
for my $h (@{$data->{data}}) {
|
for my $h (@{$data->{data}}) {
|
||||||
$hash->{UC_VERSION}=$h->{version} if defined $h->{version};
|
$hash->{UC_VERSION}=$h->{version} if defined $h->{version};
|
||||||
Log3 $name, 5, "$name ($self) - uc_version: ".$hash->{UC_VERSION};
|
Log3 $name, 5, "$name ($self) - uc_version: ".$hash->{UC_VERSION};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { Unifi_ReceiveFailure($hash,$data->{meta}); }
|
else { Unifi_ReceiveFailure($hash,$data->{meta}); }
|
||||||
} else {
|
} else {
|
||||||
@ -1436,11 +1456,12 @@ sub Unifi_GetAccesspoints_Receive($) {# TODO Umbenennen in Unifi_GetDevices_Rece
|
|||||||
$hash->{accespoints}->{$h->{_id}} = $h;
|
$hash->{accespoints}->{$h->{_id}} = $h;
|
||||||
#TODO: Switch-Modelle anders festlegen ? Oder passt usw?
|
#TODO: Switch-Modelle anders festlegen ? Oder passt usw?
|
||||||
if (defined $h->{type} && (($h->{type} eq "usw") || ($h->{type} eq "udm"))){
|
if (defined $h->{type} && (($h->{type} eq "usw") || ($h->{type} eq "udm"))){
|
||||||
my $usw_name="";
|
my $usw_name="";
|
||||||
|
if ($h->{type} eq "udm") { $usw_name="udm_";}
|
||||||
if (defined $h->{name}){
|
if (defined $h->{name}){
|
||||||
$usw_name=makeDeviceName($h->{name});
|
$usw_name.=makeDeviceName($h->{name});
|
||||||
}else{
|
}else{
|
||||||
$usw_name=makeDeviceName($h->{ip});
|
($h->{type} eq "udm") ? $usw_name.=makeDeviceName($h->{mac}) : $usw_name.=makeDeviceName($h->{ip});;
|
||||||
}
|
}
|
||||||
Dispatch($hash,"UnifiSwitch_".$usw_name.encode_json($h),undef);
|
Dispatch($hash,"UnifiSwitch_".$usw_name.encode_json($h),undef);
|
||||||
}
|
}
|
||||||
@ -1703,6 +1724,7 @@ sub Unifi_SetAccesspointReadings($) {
|
|||||||
readingsBulkUpdate($hash,'-AP_'.$apName.'_utilizationNG',$apRef->{'ng_cu_total'}) if( defined($apRef->{'ng_cu_total'}) );
|
readingsBulkUpdate($hash,'-AP_'.$apName.'_utilizationNG',$apRef->{'ng_cu_total'}) if( defined($apRef->{'ng_cu_total'}) );
|
||||||
}
|
}
|
||||||
readingsBulkUpdate($hash,'-AP_'.$apName.'_locate',(!defined $apRef->{locating}) ? 'unknown' : ($apRef->{locating}) ? 'on' : 'off');
|
readingsBulkUpdate($hash,'-AP_'.$apName.'_locate',(!defined $apRef->{locating}) ? 'unknown' : ($apRef->{locating}) ? 'on' : 'off');
|
||||||
|
readingsBulkUpdate($hash,'-AP-lastUpdate', gmtime(time()));
|
||||||
#my $poe_power;
|
#my $poe_power;
|
||||||
#for my $port (@{$apRef->{port_table}}) {
|
#for my $port (@{$apRef->{port_table}}) {
|
||||||
# next if( !$port->{port_poe} );
|
# next if( !$port->{port_poe} );
|
||||||
@ -2245,11 +2267,11 @@ sub Unifi_ClientNames($@) {
|
|||||||
$ID = $1;
|
$ID = $1;
|
||||||
}elsif ( $attrCustomClientNames && defined $clientRef->{$attrCustomClientNames}){
|
}elsif ( $attrCustomClientNames && defined $clientRef->{$attrCustomClientNames}){
|
||||||
$ID = makeReadingName($clientRef->{$attrCustomClientNames});
|
$ID = makeReadingName($clientRef->{$attrCustomClientNames});
|
||||||
}elsif ( (defined $clientRef->{name} && $clientRef->{name} =~ /^([\w\.\-]+)$/)
|
}elsif ( (defined $clientRef->{name} && $clientRef->{name} =~ /^([\w\.\-]+)$/)
|
||||||
|| (defined $clientRef->{hostname} && $clientRef->{hostname} =~ /^([\w\.\-]+)$/)
|
|| (defined $clientRef->{hostname} && $clientRef->{hostname} =~ /^([\w\.\-]+)$/)
|
||||||
){
|
){
|
||||||
$ID = $1;
|
$ID = $1;
|
||||||
}
|
}
|
||||||
return $ID;
|
return $ID;
|
||||||
}
|
}
|
||||||
elsif (defined $ID && defined $W && $W eq 'makeID') { # Return ID from Alias
|
elsif (defined $ID && defined $W && $W eq 'makeID') { # Return ID from Alias
|
||||||
@ -2414,7 +2436,7 @@ sub Unifi_initCustomClientReadings($){
|
|||||||
|
|
||||||
sub Unifi_initVoucherCache($){
|
sub Unifi_initVoucherCache($){
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
#return if ( ! defined $hash->{hotspot}->{voucherCache}->{attr_value});
|
return if ( ! defined $hash->{hotspot}->{voucherCache}->{attr_value});
|
||||||
my @voucherCaches=split(/,/, $hash->{hotspot}->{voucherCache}->{attr_value});
|
my @voucherCaches=split(/,/, $hash->{hotspot}->{voucherCache}->{attr_value});
|
||||||
my @notes=();
|
my @notes=();
|
||||||
foreach(@voucherCaches){
|
foreach(@voucherCaches){
|
||||||
@ -2492,6 +2514,37 @@ sub Unifi_NextUpdateFn($$) {
|
|||||||
}
|
}
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
sub Unifi_FormatJson($) {
|
||||||
|
my ($json) = @_;
|
||||||
|
my $ret="";
|
||||||
|
my $deep="";
|
||||||
|
foreach my $char (split('', $json)) {
|
||||||
|
if ($char eq "{" || $char eq "["){
|
||||||
|
$ret=$ret."\n".$deep;
|
||||||
|
}elsif ($char eq "}" || $char eq "]"){
|
||||||
|
chop($deep);
|
||||||
|
chop($deep);
|
||||||
|
$ret=$ret."\n".$deep;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ret=$ret.$char;
|
||||||
|
|
||||||
|
if ($char eq "{" || $char eq "["){
|
||||||
|
$deep=$deep." " ;
|
||||||
|
$ret=$ret."\n".$deep;
|
||||||
|
}elsif ($char eq "}" || $char eq "]"){
|
||||||
|
$ret=$ret."\n".$deep;
|
||||||
|
}elsif ($char eq ","){
|
||||||
|
$ret=$ret."\n".$deep;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#Zeilenvorschübe vorne und hinten entfernen
|
||||||
|
$ret =~ s/^.//;
|
||||||
|
chop($ret);
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
sub Unifi_ReceiveFailure($$) {
|
sub Unifi_ReceiveFailure($$) {
|
||||||
my ($hash,$meta) = @_;
|
my ($hash,$meta) = @_;
|
||||||
my ($name,$self) = ($hash->{NAME},Unifi_Whowasi());
|
my ($name,$self) = ($hash->{NAME},Unifi_Whowasi());
|
||||||
@ -2736,6 +2789,9 @@ Or you can use the other readings or set and get features to control your unifi-
|
|||||||
<li><code>get <name> clientData <all|user_id|controllerAlias|hostname|devAlias></code><br>
|
<li><code>get <name> clientData <all|user_id|controllerAlias|hostname|devAlias></code><br>
|
||||||
Show more details about clients.</li>
|
Show more details about clients.</li>
|
||||||
<br>
|
<br>
|
||||||
|
<li><code>get <name> deviceData <all|AP-Name;</code><br>
|
||||||
|
Show data of the specified (or all) device(s) in (simple formatted) json. Can be used for userreadings (use decode_json(..) in myUtils.pm).</li>
|
||||||
|
<br>
|
||||||
<li><code>get <name> events</code><br>
|
<li><code>get <name> events</code><br>
|
||||||
Show events in specified 'eventPeriod'.</li>
|
Show events in specified 'eventPeriod'.</li>
|
||||||
<br>
|
<br>
|
||||||
|
@ -28,15 +28,17 @@
|
|||||||
# V 0.0.96
|
# V 0.0.96
|
||||||
# - fixed: 74_UnifiSwitch: Log-Messages
|
# - fixed: 74_UnifiSwitch: Log-Messages
|
||||||
# V 0.0.97
|
# V 0.0.97
|
||||||
# - fixed: 74_UnifiSwitch: new readings for general_temperature, overheating, fan_level, cpu and mem
|
# - feature: 74_UnifiSwitch: new readings for general_temperature, overheating, fan_level, cpu and mem
|
||||||
# V 1.0.00
|
# V 1.0.00
|
||||||
# - fixed: 74_UnifiSwitch: supports UDM-Switch
|
# - feature: 74_UnifiSwitch: supports UDM-Switch
|
||||||
|
# V 1.0.01
|
||||||
|
# - feature: 74_UnifiSwitch: new setter portProfile
|
||||||
#
|
#
|
||||||
# TODOs:
|
# TODOs:
|
||||||
# - state des USW für weiter state-Numbers korrekt in Worte übersetzen
|
# - state des USW für weiter state-Numbers korrekt in Worte übersetzen
|
||||||
|
|
||||||
package main;
|
package main;
|
||||||
my $version="1.0.00";
|
my $version="1.0.01";
|
||||||
# Laden evtl. abhängiger Perl- bzw. FHEM-Module
|
# Laden evtl. abhängiger Perl- bzw. FHEM-Module
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
@ -134,9 +136,9 @@ sub UnifiSwitch_Set($@){
|
|||||||
my $portProfileDisableID=AttrVal($name,"portProfileDisableID",undef);
|
my $portProfileDisableID=AttrVal($name,"portProfileDisableID",undef);
|
||||||
my $isPortprofileID = "";
|
my $isPortprofileID = "";
|
||||||
$isPortprofileID ="disablePort" if (defined $portProfileDisableID);
|
$isPortprofileID ="disablePort" if (defined $portProfileDisableID);
|
||||||
if($setName !~ /clear|poeMode|disablePort/) {
|
if($setName !~ /clear|poeMode|disablePort|portProfile/) {
|
||||||
return "Unknown argument $setName, choose one of "
|
return "Unknown argument $setName, choose one of "
|
||||||
."clear:all,readings poeMode ".$isPortprofileID; #TODO: PortNamen sowie die Modes als Auswahl anhängen
|
."clear:all,readings poeMode ".$isPortprofileID." portProfile"; #TODO: PortNamen sowie die Modes als Auswahl anhängen
|
||||||
}elsif ($setName eq 'clear') {
|
}elsif ($setName eq 'clear') {
|
||||||
if ($setVal eq 'readings' || $setVal eq 'all') {
|
if ($setVal eq 'readings' || $setVal eq 'all') {
|
||||||
for (keys %{$hash->{READINGS}}) {
|
for (keys %{$hash->{READINGS}}) {
|
||||||
@ -180,6 +182,10 @@ sub UnifiSwitch_Set($@){
|
|||||||
if( $setName eq 'disablePort' ) {
|
if( $setName eq 'disablePort' ) {
|
||||||
$port_overrides->[$idx]{portconf_id} = $portProfileDisableID;
|
$port_overrides->[$idx]{portconf_id} = $portProfileDisableID;
|
||||||
IOWrite($hash, "Unifi_DeviceRestJson_Send", $apRef->{device_id}, $port_overrides);
|
IOWrite($hash, "Unifi_DeviceRestJson_Send", $apRef->{device_id}, $port_overrides);
|
||||||
|
}
|
||||||
|
if( $setName eq 'portProfile' ) {
|
||||||
|
$port_overrides->[$idx]{portconf_id} = $setVal;
|
||||||
|
IOWrite($hash, "Unifi_DeviceRestJson_Send", $apRef->{device_id}, $port_overrides);
|
||||||
}elsif ($setName eq 'poeMode') {
|
}elsif ($setName eq 'poeMode') {
|
||||||
return "usage: $setName <port> <off|auto|passive|passthrough|restart>" if( !$setVal );
|
return "usage: $setName <port> <off|auto|passive|passthrough|restart>" if( !$setVal );
|
||||||
return "port $setVal of switch '$apRef->{name}' is not poe capable" if( !@{$apRef->{port_table}}[$setVal-1]->{port_poe} );
|
return "port $setVal of switch '$apRef->{name}' is not poe capable" if( !@{$apRef->{port_table}}[$setVal-1]->{port_poe} );
|
||||||
@ -233,9 +239,9 @@ sub UnifiSwitch_Get($@){
|
|||||||
elsif ($getName eq 'poeState') {
|
elsif ($getName eq 'poeState') {
|
||||||
my $poeState;
|
my $poeState;
|
||||||
my $apRef = $hash->{usw};
|
my $apRef = $hash->{usw};
|
||||||
next if( $apRef->{type} ne 'usw' );
|
#next if( $apRef->{type} ne 'usw' );
|
||||||
next if( !$apRef->{port_table} );
|
return "no ports?!" if( !$apRef->{port_table} );
|
||||||
next if( $getVal && $getVal ne $apRef->{mac} && $getVal ne $apRef->{device_id} && $apRef->{name} !~ $getVal );
|
return "us with mac, deviceID or deviceName" if( $getVal && $getVal ne $apRef->{mac} && $getVal ne $apRef->{device_id} && $apRef->{name} !~ $getVal );
|
||||||
$poeState .= "\n" if( $poeState );
|
$poeState .= "\n" if( $poeState );
|
||||||
$poeState .= sprintf( "%-20s (mac:%-17s, id:%s)\n", $apRef->{name}, $apRef->{mac}, $apRef->{device_id} );
|
$poeState .= sprintf( "%-20s (mac:%-17s, id:%s)\n", $apRef->{name}, $apRef->{mac}, $apRef->{device_id} );
|
||||||
$poeState .= sprintf( " %2s %-15s", "id", "name" );
|
$poeState .= sprintf( " %2s %-15s", "id", "name" );
|
||||||
@ -256,20 +262,20 @@ sub UnifiSwitch_Get($@){
|
|||||||
elsif ($getName eq 'portOverrides') {
|
elsif ($getName eq 'portOverrides') {
|
||||||
my $portOverrides;
|
my $portOverrides;
|
||||||
my $apRef = $hash->{usw};
|
my $apRef = $hash->{usw};
|
||||||
next if( $apRef->{type} ne 'usw' );
|
#next if( $apRef->{type} ne 'usw' );
|
||||||
next if( !$apRef->{port_table} );
|
return "no ports?!" if( !$apRef->{port_table} );
|
||||||
next if( $getVal && $getVal ne $apRef->{mac} && $getVal ne $apRef->{device_id} && $apRef->{name} !~ $getVal );
|
return "us with mac, deviceID or deviceName" if( $getVal && $getVal ne $apRef->{mac} && $getVal ne $apRef->{device_id} && $apRef->{name} !~ $getVal );
|
||||||
$portOverrides .= "\n" if( $portOverrides );
|
$portOverrides .= "\n" if( $portOverrides );
|
||||||
$portOverrides .= sprintf( "%-20s (mac:%-17s, id:%s)\n", $apRef->{name}, $apRef->{mac}, $apRef->{device_id} );
|
$portOverrides .= sprintf( "%-20s (mac:%-17s, id:%s)\n", $apRef->{name}, $apRef->{mac}, $apRef->{device_id} );
|
||||||
$portOverrides .= sprintf( " %2s %-15s", "id", "name" );
|
$portOverrides .= sprintf( " %2s %-15s", "id", "name" );
|
||||||
$portOverrides .= sprintf( " %-10s %-25s", "poe_mode", "PortConfigID" );
|
$portOverrides .= sprintf( " %-10s %-25s", "poe_mode", "PortConfigID" );
|
||||||
$portOverrides .= "\n";
|
$portOverrides .= "\n";
|
||||||
for my $port (@{$apRef->{port_overrides}}) {
|
for my $port (@{$apRef->{port_overrides}}) {
|
||||||
if(defined $port->{port_idx}){
|
if(defined $port->{port_idx}){
|
||||||
$portOverrides .= sprintf( " %2i %-15s", $port->{port_idx}, $port->{name}?$port->{name}:"" );
|
$portOverrides .= sprintf( " %2i %-15s", $port->{port_idx}, $port->{name}?$port->{name}:"" );
|
||||||
$portOverrides .= sprintf( " %-10s %-25s", $port->{poe_mode}?$port->{poe_mode}:"", $port->{portconf_id}?$port->{portconf_id}:"");
|
$portOverrides .= sprintf( " %-10s %-25s", $port->{poe_mode}?$port->{poe_mode}:"", $port->{portconf_id}?$port->{portconf_id}:"");
|
||||||
$portOverrides .= "\n";
|
$portOverrides .= "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$portOverrides = "====================================================\n". $portOverrides;
|
$portOverrides = "====================================================\n". $portOverrides;
|
||||||
@ -416,8 +422,10 @@ You can use the readings or set features to control your unifi-switch.
|
|||||||
Set PoE mode for <port>. </li>
|
Set PoE mode for <port>. </li>
|
||||||
<br>
|
<br>
|
||||||
<li><code>set <name> disablePort <port></code><br>
|
<li><code>set <name> disablePort <port></code><br>
|
||||||
Only visible when Attr portProfileDisableID is set.<br>
|
Only visible when Attr portProfileDisableID is set.<br>
|
||||||
Set the PortProfile from Attr portProfileDisableID for <port>. </li>
|
Set the PortProfile from Attr portProfileDisableID for <port>. </li>
|
||||||
|
<li><code>set <name> portProfile <port></code><br>
|
||||||
|
Set the PortProfile ID. The ID can be found with get portOverrides. </li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h4>Get</h4>
|
<h4>Get</h4>
|
||||||
|
Loading…
Reference in New Issue
Block a user