Skip to content

Revisit "All ok" and "Errors found" statuses and how they're displayed  #596

@shawaj

Description

@shawaj

Currently the all ok or errors found status is only checking the PF status...

<h4 class="text-center mb-4">Overall Status:

Which in turn is based on ECC, WiFi, BT, Ethernet, LoRa...

diagnostics["PF"] = True

This is problematic for a few reasons:

  • as we add more devices there is the possibility that some don't have some combination of WiFi, Bluetooth, Ethernet or even LoRa. This means we will show an error even when there isn't really an error
  • to implement things like Myst / ThingsIX only hardware as per Ability to turn services on and off  #583 and ability to disable helium network (for example, for sales of mysterium dvpn nodes of thingsix nodes) #533 we need to be able to turn checks on and off with flags / env variables / different fleets for example
  • there are actually additional diagnostics parameters that can mean there is an error that aren't covered here, which means it is possible that a device shows "All ok" when this isn't actually true, creating the false sense of no issues and potentially increasing support load searching for issues that could easily be displayed to the user and fixed without the need for support

My suggestion (may not be the best, just an idea) is to keep PF itself as is, as I think we use it in manufacturing, but introduce some new check (that only runs when not in manufacturing mode) that actually checks more parameters, and is device specific (perhaps using hm-pyhelper to define these checks per device type) and aware of specific service flags in fleets where we have explicitly decided to turn certain services off as in #583 / #533.

The alternative could be to just remove it completely or have a separate "errors" page that shows an error log output in a more verbose fashion that isn't front and centre.

Possibly other options too but likely needs further discussion / ideas.

Acceptance criteria

  • doesn't slow down or break manufacturing
  • device type aware
  • service (Myst, thix, Helium) aware

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions