1.2+ How to arrange charts in Overview?

I am using GenieACS 1.2 and want to arrange charts in a row, or perhaps a grid of two or three rows. Even better would be an array that automatically optimises itself for the screen size, if that is possible?

By default when I add charts to Admin | Config | Overview they are arranged in a column, like this:

The config code looks like this:
image

Any suggestions please?

This is what I have:

online:
  charts:
    - "'online'"
    - "'rsrp'"
    - "'rsrq'"
    - "'sinr'"
  label: "''"

Which gives me:

1 Like

Perfect! Thank you very much, this answers my question and teaches me even more.

Your example not only explains how to achieve my desired layout but also reveals a little more to me about the config syntax. The config syntax does not appear to be documented anywhere. If you know of any reference to such a definition it would be very helpful indeed. For example I learned that the groups (rows) are automatically arranged in alphabetical order of their logical name, but the graphs with groups (rows) are arranged in the order listed in the config script. Hence I had to rename my groups to achieve the desired row order.

Now i have this:
image

The repetition of the syncrate chart is deliberate as part of the experiment.

Which gives this:

Apologies for the dumb question.
Can you perhaps give me an example of the Chart you used if you don’t mind?

Thanks in advance.
Newbie

No problem - here you go:

online:
  label: "'Online status'"
  slices:
    1_onlineNow:
      color: "'#31a354'"
      filter: Events.Inform > NOW() - 5 * 60 * 1000
      label: "'Online now'"
    2_past24:
      color: "'#a1d99b'"
      filter: Events.Inform > (NOW() - 5 * 60 * 1000) - (24 * 60 * 60 * 1000) AND
        Events.Inform < (NOW() - 5 * 60 * 1000)
      label: "'Past 24 hours'"
    3_others:
      color: "'#e5f5e0'"
      filter: Events.Inform < (NOW() - 5 * 60 * 1000) - (24 * 60 * 60 * 1000)
      label: "'Others'"
rsrp:
  label: "'LTE RSRP'"
  slices:
    1_excellent:
      color: "'#31a354'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRP >= -80
      label: "'Excellent'"
    2_good:
      color: "'#a1d99b'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRP >= -90 AND
        Device.Cellular.Interface.1.X_MIKROTIK_RSRP < -80
      label: "'Good'"
    3_midcell:
      color: "'#e5f5e0'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRP > -100 AND
        Device.Cellular.Interface.1.X_MIKROTIK_RSRP < -90
      label: "'Mid Cell'"
    4_celledge:
      color: "'#ffffff'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRP <= -100
      label: "'Cell Edge'"
rsrq:
  label: "'LTE RSRQ'"
  slices:
    1_excellent:
      color: "'#31a354'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRQ >= -10
      label: "'Excellent'"
    2_good:
      color: "'#a1d99b'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRQ >= -15 AND
        Device.Cellular.Interface.1.X_MIKROTIK_RSRQ < -10
      label: "'Good'"
    3_midcell:
      color: "'#e5f5e0'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRQ > -20 AND
        Device.Cellular.Interface.1.X_MIKROTIK_RSRQ < -15
      label: "'Mid Cell'"
    4_celledge:
      color: "'#ffffff'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRQ <= -20
      label: "'Cell Edge'"
sinr:
  label: "'LTE SINR'"
  slices:
    1_excellent:
      color: "'#31a354'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_SINR >= 20
      label: "'Excellent'"
    2_good:
      color: "'#a1d99b'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_SINR >= 13 AND
        Device.Cellular.Interface.1.X_MIKROTIK_SINR < 20
      label: "'Good'"
    3_midcell:
      color: "'#e5f5e0'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_SINR > 0 AND
        Device.Cellular.Interface.1.X_MIKROTIK_SINR < 13
      label: "'Mid Cell'"
    4_celledge:
      color: "'#ffffff'"
      filter: Device.Cellular.Interface.1.X_MIKROTIK_SINR < 0
      label: "'Cell Edge'"
2 Likes

Awesome thank you very much!