How to display WiFi information in device page

Hi Everyone,

I am trying to configure WiFi information table in the device page and I have set a label = “WiFi Information” with a “parameter-table” in the Admin → edit device page which will poll 2 different parameters values in the table i.e
Device.WiFi.SSID..SSID,
Device.WiFi.SSID.
.BSSID,
Device.WiFi.SSID..Status,
Device.WiFi.Radio.
.Channel,
Device.WiFi.Radio..CurrentOperatingChannelBandwidth,
Device.WiFi.Radio.
.OperatingFrequencyBand,
Device.WiFi.Radio.*.TransmitPower

After saving the config, the expected information was not displayed in the device page of a device. For an example, if parameter is set to Device.WiFi.SSID, this will only display SSID, BSSID, Status and all the remaining key/values will be blank, whereas if parameter: Device.WiFi.Radio, it will only display radio information in the device page. There was no luck with “Device.WiFi” in the parameter and the Device.WiFi.* parameter is also defined in the parent components table too. Please see the image.

image

Please see the edit device page

- type: "'tags'"
- type: "'ping'"
- type: "'parameter-list'"
  parameters:
    - element: "'span.inform'"
      label: "'Last inform'"
      parameter: DATE_STRING(Events.Inform)
      type: "'container'"
      components:
        - type: "'parameter'"
        - chart: "'online'"
          type: "'overview-dot'"
        - type: "'summon-button'"
          parameters:
            - InternetGatewayDevice.DeviceInfo.HardwareVersion
            - InternetGatewayDevice.DeviceInfo.SoftwareVersion
            - InternetGatewayDevice.WANDevice.*.WANConnectionDevice.*.WANIPConnection.*.MACAddress
            - InternetGatewayDevice.WANDevice.*.WANConnectionDevice.*.WANIPConnection.*.ExternalIPAddress
            - InternetGatewayDevice.LANDevice.*.WLANConfiguration.*.SSID
            - InternetGatewayDevice.LANDevice.*.WLANConfiguration.*.KeyPassphrase
            - InternetGatewayDevice.LANDevice.*.Hosts.Host.*.HostName
            - InternetGatewayDevice.LANDevice.*.Hosts.Host.*.IPAddress
            - InternetGatewayDevice.LANDevice.*.Hosts.Host.*.MACAddress
            - Device.IP.Interface.*
            - Device.WiFi.*
    - label: "'Serial number'"
      parameter: DeviceID.SerialNumber
    - label: "'Product class'"
      parameter: DeviceID.ProductClass
    - label: "'OUI'"
      parameter: DeviceID.OUI
    - label: "'Manufacturer'"
      parameter: DeviceID.Manufacturer
    - label: "'Hardware version'"
      parameter: Device.DeviceInfo.HardwareVersion
    - label: "'Software version'"
      parameter: Device.DeviceInfo.SoftwareVersion
    - label: "'WAN IP address'"
      parameter: Device.IP.Interface.1.IPv4Address.1.IPAddress

- label: "'WiFi Information'"
  parameter: Device.WiFi.SSID
  type: "'parameter-table'"
  childParameters:
    - label: "'SSID'"
      parameter: SSID
    - label: "'BSSID'"
      parameter: BSSID
    - label: "'Status'"
      parameter: Status
    - label: "'Channel'"
      parameter: Channel
    - label: "'Channel Bandwidth'"
      parameter: CurrentOperatingChannelBandwidth
    - label: "'Bands'"
      parameter: OperatingFrequencyBand
    - label: "'Transmit Power'"
      parameter: TransmitPower
- label: "'LAN hosts'"
  parameter: Device.Hosts.Host
  type: "'parameter-table'"
  childParameters:
    - label: "'Host name'"
      parameter: HostName
    - label: "'IP address'"
      parameter: IPAddress
    - label: "'MAC address'"
      parameter: MACAddress
- element: "'div'"
  type: "'container'"
  components:
    - element: "'h3'"
      type: "'container'"
      components:
        - "'Faults'"
    - type: "'device-faults'"
- element: "'div.container-full-width'"
  type: "'container'"
  components:
    - element: "'h3'"
      type: "'container'"
      components:
        - "'All parameters'"
    - type: "'all-parameters'"
- type: "'device-actions'"

I have no clue on how to work with two different parameters models so the information can be populated in the WiFi information.
Can anyone please advise?

GenieACS version = 1.2.9

Thanks.

Hi,

If I understand you correctly, your SSID value could come from more than one parameter location.

You could create a virtual parameter to store whichever parameter exists and then use that virtual parameter in your WiFi table.

Virtual Parameters

Regards,
DR

The problem with vparams is they don’t support instances. So you will end up with stuff like VirtualParameter.SSID1, VirtualParameter.Passphrase1, VirtualParameter.SSID2, …

Hi,
@dustin Yes correct, the SSID and Radio comes from a different child parameters, I didn’t notice that genie will count this as two different child parameters even these child parameters comes from a single/ parent data parameter
Device.Wifi (parent)
–>Device.Wifi.SSID (Child)
→ Device.WiFi.Radio (Child)
. Yes, so likely the solution would be to use virtual parameters to put them together in the WiFi table.

@akcoder Thanks, I was looking into this virtual parameters, probably will shine some more ideas to play with the key/value pairs on the child parameters.

Thank you for your information.

Regards,
Shishir

Hi, im using this config on the device page, maybe you can use some of it:

- type: "'tags'"
- type: "'ping'"
- type: "'parameter-list'"
  parameters:
    - element: "'span.inform'"
      label: "'Last inform'"
      parameter: DATE_STRING(Events.Inform)
      type: "'container'"
      components:
        - type: "'parameter'"
        - chart: '"typeONT"'
          type: "'overview-dot'"
        - type: "'summon-button'"
          parameters:
            - InternetGatewayDevice.DeviceInfo.HardwareVersion
            - InternetGatewayDevice.DeviceInfo.SoftwareVersion
            - InternetGatewayDevice.WANDevice.*.WANConnectionDevice.*.WANIPConnection.*.ExternalIPAddress
            - InternetGatewayDevice.LANDevice.*.WLANConfiguration.*.SSID
            - InternetGatewayDevice.LANDevice.*.WLANConfiguration.*.PreSharedKey.*.KeyPassphrase
            - InternetGatewayDevice.LANDevice.*.Hosts.Host.*.HostName
            - InternetGatewayDevice.LANDevice.1.Hosts.Host.*.Active
            - InternetGatewayDevice.LANDevice.*.Hosts.Host.*.IPAddress
            - InternetGatewayDevice.LANDevice.*.Hosts.Host.*.MACAddress
            - InternetGatewayDevice.LANDevice.1.Hosts.Host.*.X_HW_RSSI
            - InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig
            - InternetGatewayDevice.UserInterface.X_HW_WebUserInfo
            - InternetGatewayDevice.WANDevice.1.X_GponInterafceConfig.RXPower
    - label: "'Serial number'"
      parameter: DeviceID.SerialNumber
    - label: "'Product class'"
      parameter: DeviceID.ProductClass
    - label: "'WEB User'"
      parameter: InternetGatewayDevice.UserInterface.X_HW_WebUserInfo.2.UserName
    - label: "'WEB Pass'"
      parameter: InternetGatewayDevice.UserInterface.X_HW_WebUserInfo.2.Password
    - label: "'Hardware version'"
      parameter: InternetGatewayDevice.DeviceInfo.HardwareVersion
    - label: "'Software version'"
      parameter: InternetGatewayDevice.DeviceInfo.SoftwareVersion
    - editable: false
      label: "'IP'"
      parameter: InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress
      writable: false
    - label: "'WLAN SSID 2.4'"
      parameter: InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID
    - label: "'WLAN 2.4 passphrase'"
      parameter: InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.PreSharedKey.1.KeyPassphrase
    - label: "'WLAN SSID 5.8'"
      parameter: InternetGatewayDevice.LANDevice.1.WLANConfiguration.5.SSID
    - label: "'WLAN 5.8 passphrase'"
      parameter: InternetGatewayDevice.LANDevice.1.WLANConfiguration.5.PreSharedKey.1.KeyPassphrase
    - label: '"ACCESO WEB"'
      parameter: InternetGatewayDevice.X_HW_Security.AclServices.HTTPWanEnable
    - label: '"POTENCIA ONT"'
      parameter: InternetGatewayDevice.WANDevice.1.X_GponInterafceConfig.RXPower
- label: "'LAN Ethernet'"
  parameter: InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig
  type: "'parameter-table'"
  writable: false
  childParameters:
    - label: "'Port Ethernet'"
      parameter: Name
    - label: "'Port Link Status'"
      parameter: Status
    - label: "'Port Link Speed'"
      parameter: MaxBitRate
      writable: false
- label: "'LAN hosts'"
  parameter: InternetGatewayDevice.LANDevice.1.Hosts.Host
  type: "'parameter-table'"
  childParameters:
    - label: "'Host name'"
      parameter: HostName
    - label: "'IP address'"
      parameter: IPAddress
    - label: "'MAC address'"
      parameter: MACAddress
    - label: "'Activo'"
      parameter: Active
    - label: "'Señal'"
      parameter: X_HW_RSSI
- element: "'div'"
  type: "'container'"
  components:
    - element: "'h3'"
      type: "'container'"
      components:
        - "'Faults'"
    - type: "'device-faults'"
- element: "'div.container-full-width'"
  type: "'container'"
  components:
    - element: "'h3'"
      type: "'container'"
      components:
        - "'All parameters'"
    - limit: 200
      type: "'all-parameters'"
- type: "'device-actions'"

Thanks @Figaro
I just used alias value to match the different table information via declare method in the provision.
please see below.
table 1
Device.WiFi.SSID..Alias =
table 2
Device.WiFi.Radio.
.Alias =