{% extends 'timeseer.html' %} {% from 'macros.html' import info_popover, bootstrap_icon, schedule_popover %} {% from 'resources.html' import resource_breadcrumb, resource_menu with context %} {% block menu %} {{ resource_menu('Flows') }} {% endblock %} {% block breadcrumb %} {{ resource_breadcrumb(["Flows"]) }} {% endblock %} {% block main %}

Flows

{% if flows|count == 0 %}
{{ bootstrap_icon('shuffle', 'text-secondary', size=32) }}

You haven't created a flow

Timeseer's logic is presented in blocks, which can be evaluated in a specific order defined by flows.
{% endif %}
{% if flows and flows|selectattr('origin.value', 'in', ['ui', 'control loop'])|list|count > 0 %}
{% endif %}
{% for flow in flows|sort(attribute='name') %} {% if flow.origin.value in ['ui', 'control loop'] %} {% elif flow.origin.value == 'resource' %} {% else %} {% endif %} {% if scheduled_flows.get(flow.db_id) is not none %} {% set schedule = scheduled_flows.get(flow.db_id).schedule %} {% else %} {% endif %} {% endfor %}
{% if flows|count > 0 and flows|selectattr('origin.value', 'in', ['ui', 'control loop'])|list|count > 0 %} {% endif %} Flow name Flow type Schedule
{% if flow.origin.value in ['ui', 'control loop'] %}
{% else %} {{ info_popover('Generated by Timeseer or created in the configuration.', 'lock', 'text-muted', placement="top") }} {% endif %}
{{ flow.name }} CustomConfiguration Default {% if schedule.initial_date is not none and schedule.initial_date > time_now_utc %} {% if schedule.frequency > 1 %} {{ 'Every ' + schedule.frequency|string + ' ' + schedule.interval.value + 's, starting on ' + schedule.initial_date|ts_datetime }} {% else %} {{ 'Every ' + schedule.interval.value + ', starting on ' + schedule.initial_date|ts_datetime }} {% endif %} {% else %} {% if schedule.frequency > 1 %} {{ 'Every ' + schedule.frequency|string + ' ' + schedule.interval.value + 's' }} {% else %} {{ 'Every ' + schedule.interval.value }} {% endif %} {% endif %} -

Create flow

{% endblock %} {% block scripts_bottom %} {% endblock %}