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'"
4 Likes

Awesome thank you very much!

doesnt work

Can you please tell, how to revert the script. There is blank white screen displayed, while using this script.

I had to remove the entries manually from MongoDB. My version of GenieACS was 1.2.0.

1 Like

unfortunately it does not work on virtual parameters :neutral_face:

Could you tell me how did you do to remove the entries ? i am not able to find them

I am using a Huawei router,
can this filter: Device.Cellular.Interface.1.X_MIKROTIK_RSRQ works?
I think this for MIKROTIK Router

You have your config?

I am trying to setup charts on the overview page to show me routers in an online, past 24 hours and offline state but have a graph per DeviceID.ProductClass as I have a few differnt ones on the TR69 server but I seem to be running into issues?

Does anyone know if this is possible and if so what the syntax may be?

Necromancy is frowned upon. Please create your own topic for your issue instead of resurrecting a 5 month old topic that’s not directly related to your issue.

1 Like

Hi,
My filter like that,
Events.0_BOOTSTRAP > (NOW() - 24 * 60 * 60 * 1000)

is it possible to to that something like this ? “00:00 > Events.0_BOOTSTRAP >NOW()”

Thanks

1 Like

Necromancy is frowned upon. Please create your own topic for your issue instead of resurrecting a 3 year old topic that’s not directly related to your issue.

right! i did it … thanks

Good morning, y’all! Hope you’re doing well.

Have you found any kind of documentation about this Syntax? I know that its YAML based, but, since i haven’t found anything about it too, it’s kinda hard to get through it’s syntax.

Thanks in advice!