{% macro ago(path) -%} {% set value = igor.database.getValue(path, token) %} {% if value %} {% set value = int(float(igor.database.getValue('igor_timestamp()-igor_timestamp('+path+')', token))) %} {% if value < 60 %} {{value}}s {% else %} {% set value = value // 60 %} {% if value < 60 %} {{value}}m {% else %} {% set value = value // 60 %} {% if value < 60 %} {{value}}h {% else %} {% set value = value // 24 %} {% if value < 60 %} {{value}}d {% else %} {% set value = value // 7 %} {{value}}w {% endif %} {% endif %} {% endif %} {% endif %} {% endif %} {%- endmacro %} {% macro muted(entry) -%} {% set m = igor.database.getValue(entry, token) %} {% if m %} {{igor.database.getValue('igor_dateTime(' + entry + ')', token)}} {% endif %} {%- endmacro %}
Igor has been running since {{igor.database.getValue('igor_dateTime(/data/services/igor/startTime)', token)}}, and was rebooted {{igor.database.getValue('/data/services/igor/rebootCount', token)}} times during its lifetime.
The following exceptional conditions (for services, sensors and actuators) are currently noted:
{{msg}}
If have have the correct permissions you can clear all messages. {% else %}
Igor is currently not aware of any exceptional conditions (for services, sensors and actuators).
{% endif %}Functionality | Alive? | Last Attempt | Last Success | Last Failure | Current Error | Ignored until | Ignore for: | |
---|---|---|---|---|---|---|---|---|
{{s.tagName}} | {{igor.database.getValue('/data/status/igor/' + s.tagName + '/alive', token)}} | {{ago('/data/status/igor/' + s.tagName + '/lastActivity')}} | {{ago('/data/status/igor/' + s.tagName + '/lastSuccess')}} | {{ago('/data/status/igor/' + s.tagName + '/lastFailure')}} | {% set msg = igor.database.getValue('/data/status/igor/' + s.tagName + '/errorMessage', token) %}{{msg}} | {{muted('/data/status/igor/' + s.tagName + '/ignoreErrorUntil')}} | {% if msg %}1h 1d 1w 1m | {% else %}{% endif %} |
Service | Alive? | Last Attempt | Last Success | Last Failure | Current Error | Ignored until | Ignore for: | |
---|---|---|---|---|---|---|---|---|
{{s.tagName}} | {{igor.database.getValue('/data/status/services/' + s.tagName + '/alive', token)}} | {{ago('/data/status/services/' + s.tagName + '/lastActivity')}} | {{ago('/data/status/services/' + s.tagName + '/lastSuccess')}} | {{ago('/data/status/services/' + s.tagName + '/lastFailure')}} | {% set msg = igor.database.getValue('/data/status/services/' + s.tagName + '/errorMessage', token) %}{{msg}} | {{muted('/data/status/services/' + s.tagName + '/ignoreErrorUntil')}} | {% if msg %}1h 1d 1w 1m | {% else %}{% endif %} |
Sensor Class | Alive? | Last Activity | Last Success | Last Failure | Current Error | Ignored until | Ignore for: | |
---|---|---|---|---|---|---|---|---|
{{s.tagName}} | {{igor.database.getValue('/data/status/sensors/' + s.tagName + '/alive', token)}} | {{ago('/data/status/sensors/' + s.tagName + '/lastActivity')}} | {{ago('/data/status/sensors/' + s.tagName + '/lastSuccess')}} | {{ago('/data/status/sensors/' + s.tagName + '/lastFailure')}} | {% set msg = igor.database.getValue('/data/status/sensors/' + s.tagName + '/errorMessage', token) %}{{msg}} | {{muted('/data/status/sensors/' + s.tagName + '/ignoreErrorUntil')}} | {% if msg %}1h 1d 1w 1m | {% else %}{% endif %} |
Device | Alive? | Last Activity | Last Success | Last Failure | Current Error | Ignored until | Ignore for: | |
---|---|---|---|---|---|---|---|---|
{{s.tagName}} | {{igor.database.getValue('/data/status/devices/' + s.tagName + '/alive', token)}} | {{ago('/data/status/devices/' + s.tagName + '/lastActivity')}} | {{ago('/data/status/devices/' + s.tagName + '/lastSuccess')}} | {{ago('/data/status/devices/' + s.tagName + '/lastFailure')}} | {% set msg = igor.database.getValue('/data/status/devices/' + s.tagName + '/errorMessage', token) %}{{msg}} | {{muted('/data/status/devices/' + s.tagName + '/ignoreErrorUntil')}} | {% if msg %}1h 1d 1w 1m | {% else %}{% endif %} |