Exemplo n.º 1
0
def html_atpro_sensor_settings_wu():
    weather_underground_config = app_config_access.weather_underground_config
    if request.method == "POST":
        app_config_access.weather_underground_config.update_with_html_request(request)
        app_config_access.weather_underground_config.save_config_to_file()
        return_msg = "Stopping Weather Underground"
        if app_config_access.weather_underground_config.weather_underground_enabled:
            return_msg = "Starting Weather Underground"
            if app_cached_variables.weather_underground_thread.current_state != "Disabled":
                if app_cached_variables.weather_underground_thread.monitored_thread.is_alive():
                    return_msg = "Re-Starting Weather Underground"
                    app_cached_variables.restart_weather_underground_thread = True
                else:
                    start_weather_underground_server()
            else:
                start_weather_underground_server()
        else:
            if app_cached_variables.weather_underground_thread is not None:
                app_cached_variables.weather_underground_thread.shutdown_thread = True
                app_cached_variables.restart_weather_underground_thread = True
        return get_message_page("Weather Underground Settings Updated", return_msg, page_url="sensor-settings")
    return render_template(
        "ATPro_admin/page_templates/settings/settings-3rd-p-wu.html",
        CheckedWUEnabled=get_html_checkbox_state(weather_underground_config.weather_underground_enabled),
        WUIntervalSeconds=weather_underground_config.interval_seconds,
        CheckedWUOutdoor=get_html_checkbox_state(weather_underground_config.outdoor_sensor),
        WUStationID=weather_underground_config.station_id,
    )
def html_atpro_sensor_settings_mqtt_subscriber():
    if request.method == "POST":
        app_config_access.mqtt_subscriber_config.update_with_html_request(request)
        app_config_access.mqtt_subscriber_config.save_config_to_file()
        atpro_notifications.manage_service_restart()
        return get_message_page("MQTT Subscriber Settings Updated", page_url="sensor-settings")

    mqtt_qos = app_config_access.mqtt_subscriber_config.mqtt_subscriber_qos
    enable_mqtt_subscriber = app_config_access.mqtt_subscriber_config.enable_mqtt_subscriber
    enable_mqtt_sql_recording = app_config_access.mqtt_subscriber_config.enable_mqtt_sql_recording
    enable_broker_auth = app_config_access.mqtt_subscriber_config.enable_broker_auth
    return render_template(
        "ATPro_admin/page_templates/settings/settings-mqtt-subscriber.html",
        MaxSensorPosts=app_config_access.mqtt_subscriber_config.mqtt_page_view_max_entries,
        MQTTSubscriberChecked=get_html_checkbox_state(enable_mqtt_subscriber),
        MQTTSQLRecordingChecked=get_html_checkbox_state(enable_mqtt_sql_recording),
        MQTTBrokerAddress=app_config_access.mqtt_subscriber_config.broker_address,
        MQTTBrokerPort=str(app_config_access.mqtt_subscriber_config.broker_server_port),
        MQTTQoSLevel0=get_html_selected_state(_check_if_equal(mqtt_qos, 0)),
        MQTTQoSLevel1=get_html_selected_state(_check_if_equal(mqtt_qos, 1)),
        MQTTQoSLevel2=get_html_selected_state(_check_if_equal(mqtt_qos, 2)),
        MQTTSubscriberAuthChecked=get_html_checkbox_state(enable_broker_auth),
        MQTTSubscriberUsername=app_config_access.mqtt_subscriber_config.broker_user,
        SubscriberTopics=_get_csv_matt_topics()
    )
Exemplo n.º 3
0
def html_atpro_sensor_settings_luftdaten():
    if request.method == "POST":
        app_config_access.luftdaten_config.update_with_html_request(request)
        app_config_access.luftdaten_config.save_config_to_file()
        return_msg = "Stopping Luftdaten"
        if app_config_access.luftdaten_config.luftdaten_enabled:
            return_msg = "Starting Luftdaten"
            if app_cached_variables.luftdaten_thread.current_state != "Disabled":
                if app_cached_variables.luftdaten_thread.monitored_thread.is_alive():
                    return_msg = "Re-Starting Luftdaten"
                    app_cached_variables.restart_luftdaten_thread = True
                else:
                    start_luftdaten_server()
            else:
                start_luftdaten_server()
        else:
            if app_cached_variables.luftdaten_thread is not None:
                app_cached_variables.luftdaten_thread.shutdown_thread = True
                app_cached_variables.restart_luftdaten_thread = True
        return get_message_page("Luftdaten Settings Updated", return_msg, page_url="sensor-settings")
    return render_template(
        "ATPro_admin/page_templates/settings/settings-3rd-p-luftdaten.html",
        CheckedLuftdatenEnabled=get_html_checkbox_state(app_config_access.luftdaten_config.luftdaten_enabled),
        LuftdatenIntervalSeconds=app_config_access.luftdaten_config.interval_seconds,
        LuftdatenStationID=app_config_access.luftdaten_config.station_id
    )
def html_atpro_sensor_settings_offsets():
    if request.method == "POST":
        app_config_access.sensor_offsets.update_with_html_request(request)
        app_config_access.sensor_offsets.save_config_to_file()
        return get_message_page("Sensor Offset Settings Updated",
                                page_url="sensor-settings")

    return render_template(
        "ATPro_admin/page_templates/settings/settings-sensor-offsets.html",
        CheckedCustomTempOffset=get_html_checkbox_state(
            app_config_access.sensor_offsets.enable_temp_offset),
        temperature_offset=app_config_access.sensor_offsets.temperature_offset,
        CheckedCustomTempComp=get_html_checkbox_state(
            app_config_access.sensor_offsets.enable_temperature_comp_factor),
        CustomTempComp=app_config_access.sensor_offsets.
        temperature_comp_factor,
    )
def html_atpro_sensor_settings_main():
    if request.method == "POST":
        app_config_access.primary_config.update_with_html_request(request)
        app_config_access.primary_config.save_config_to_file()
        if app_config_access.primary_config.web_portal_port_changed:
            atpro_notifications.manage_service_restart()
        return get_message_page("Main Settings Updated",
                                page_url="sensor-settings")

    debug_logging = get_html_checkbox_state(
        app_config_access.primary_config.enable_debug_logging)
    enable_major_upgrades = get_html_checkbox_state(
        app_config_access.upgrades_config.enable_automatic_upgrades_feature)
    enable_minor_upgrades = get_html_checkbox_state(
        app_config_access.upgrades_config.enable_automatic_upgrades_minor)
    enable_dev_up = get_html_checkbox_state(
        app_config_access.upgrades_config.
        enable_automatic_upgrades_developmental)
    upgrade_method_http = ""
    upgrade_method_smb = ""
    if app_config_access.upgrades_config.selected_upgrade_type == app_config_access.upgrades_config.upgrade_type_http:
        upgrade_method_http = "selected"
    else:
        upgrade_method_smb = "selected"
    return render_template(
        "ATPro_admin/page_templates/settings/settings-main.html",
        IPWebPort=app_config_access.primary_config.web_portal_port,
        CheckedDebug=debug_logging,
        HourOffset=app_config_access.primary_config.utc0_hour_offset,
        SelectedUpgradeType=app_config_access.upgrades_config.
        selected_upgrade_type.upper(),
        CheckinAddress=app_config_access.urls_config.url_checkin_server,
        UpdateServerAddress=app_config_access.urls_config.url_update_server,
        UpdateServerAddressSMB=app_config_access.urls_config.
        url_update_server_smb,
        EnableAutoUpgrades=get_html_checkbox_state(
            app_config_access.upgrades_config.enable_automatic_upgrades),
        AutoUpDelayHours=str(
            app_config_access.upgrades_config.automatic_upgrade_delay_hours),
        EnableMD5Validation=get_html_checkbox_state(
            app_config_access.upgrades_config.md5_validation_enabled),
        SMBUsername=app_config_access.upgrades_config.smb_user,
        HTTPSelected=upgrade_method_http,
        SMBSelected=upgrade_method_smb,
        EnableStableFeatureAutoUpgrades=enable_major_upgrades,
        EnableStableMinorAutoUpgrades=enable_minor_upgrades,
        EnableDevAutoUpgrades=enable_dev_up,
        USMD5=_get_file_present_color(
            update_checks_interface.update_server_file_present_md5),
        USVersion=_get_file_present_color(
            update_checks_interface.update_server_file_present_version),
        USFullInstaller=_get_file_present_color(
            update_checks_interface.update_server_file_present_full_installer),
        USUpgradeInstaller=_get_file_present_color(
            update_checks_interface.
            update_server_file_present_upgrade_installer))
Exemplo n.º 6
0
def html_atpro_sensor_settings_osm():
    if request.method == "POST":
        app_config_access.open_sense_map_config.update_with_html_request(request)
        app_config_access.open_sense_map_config.save_config_to_file()
        return_msg = "Stopping Open Sense Map"
        if app_config_access.open_sense_map_config.open_sense_map_enabled:
            return_msg = "Starting Open Sense Map"
            if app_cached_variables.open_sense_map_thread.current_state != "Disabled":
                if app_cached_variables.open_sense_map_thread.monitored_thread.is_alive():
                    return_msg = "Re-Starting Open Sense Map"
                    app_cached_variables.restart_open_sense_map_thread = True
                else:
                    start_open_sense_map_server()
            else:
                start_open_sense_map_server()
        else:
            if app_cached_variables.open_sense_map_thread is not None:
                app_cached_variables.open_sense_map_thread.shutdown_thread = True
                app_cached_variables.restart_open_sense_map_thread = True
        return get_message_page("Open Sense Map Settings Updated", return_msg, page_url="sensor-settings")
    return render_template(
        "ATPro_admin/page_templates/settings/settings-3rd-p-osm.html",
        CheckedOSMEnabled=get_html_checkbox_state(app_config_access.open_sense_map_config.open_sense_map_enabled),
        OSMStationID=app_config_access.open_sense_map_config.sense_box_id,
        OSMIntervalSeconds=app_config_access.open_sense_map_config.interval_seconds,
        OSMSEnvTempID=app_config_access.open_sense_map_config.temperature_id,
        OSMPressureID=app_config_access.open_sense_map_config.pressure_id,
        OSMAltitudeID=app_config_access.open_sense_map_config.altitude_id,
        OSMHumidityID=app_config_access.open_sense_map_config.humidity_id,
        OSMGasIndexID=app_config_access.open_sense_map_config.gas_voc_id,
        OSMGasNH3ID=app_config_access.open_sense_map_config.gas_nh3_id,
        OSMOxidisingID=app_config_access.open_sense_map_config.gas_oxidised_id,
        OSMGasReducingID=app_config_access.open_sense_map_config.gas_reduced_id,
        OSMPM1ID=app_config_access.open_sense_map_config.pm1_id,
        OSMPM25ID=app_config_access.open_sense_map_config.pm2_5_id,
        OSMPM4ID=app_config_access.open_sense_map_config.pm4_id,
        OSMPM10ID=app_config_access.open_sense_map_config.pm10_id,
        OSMLumenID=app_config_access.open_sense_map_config.lumen_id,
        OSMRedID=app_config_access.open_sense_map_config.red_id,
        OSMOrangeID=app_config_access.open_sense_map_config.orange_id,
        OSMYellowID=app_config_access.open_sense_map_config.yellow_id,
        OSMGreenID=app_config_access.open_sense_map_config.green_id,
        OSMBlueID=app_config_access.open_sense_map_config.blue_id,
        OSMVioletID=app_config_access.open_sense_map_config.violet_id,
        OSMUVIndexID=app_config_access.open_sense_map_config.ultra_violet_index_id,
        OSMUVAID=app_config_access.open_sense_map_config.ultra_violet_a_id,
        OSMUVBID=app_config_access.open_sense_map_config.ultra_violet_b_id
    )
def html_atpro_sensor_settings_email_graphs():
    if request.method == "POST":
        email_config.update_with_html_request_graph(request)
        email_config.update_configuration_settings_list()
        email_config.save_config_to_file()
        app_cached_variables.restart_graph_email_thread = True
        return get_message_page("Email Graph Settings Updated",
                                page_url="sensor-settings")
    graph_send_selected_options = _get_send_option_selection(
        email_config.send_graph_every)
    return render_template(
        "ATPro_admin/page_templates/settings/settings-email-graphs.html",
        CheckedEmailGraphs=get_html_checkbox_state(
            email_config.enable_graph_emails),
        EmailGraphSelectedDaily=graph_send_selected_options[0],
        EmailGraphSelectedWeekly=graph_send_selected_options[1],
        EmailGraphSelectedMonthly=graph_send_selected_options[2],
        EmailGraphSelectedYearly=graph_send_selected_options[3],
        EmailGraphAtHourMin=email_config.email_graph_time_of_day,
        EmailGraphsToCSVAddresses=email_config.send_graphs_to_csv_emails)
def html_atpro_sensor_settings_mqtt_broker():
    if request.method == "POST":
        app_config_access.mqtt_broker_config.update_with_html_request(request)
        app_config_access.mqtt_broker_config.save_config_to_file()
        if app_config_access.mqtt_broker_config.enable_mqtt_broker:
            if check_mqtt_broker_server_running():
                return_text = "MQTT Broker Service Re-Started"
                restart_mqtt_broker_server()
            else:
                return_text = "MQTT Broker Service Starting"
                start_mqtt_broker_server()
        else:
            return_text = "MQTT Broker Service Stopped"
            stop_mqtt_broker_server()
        return get_message_page("MQTT Broker Settings Updated", return_text, page_url="sensor-settings")
    mosquitto_configuration = "listener 1883\nallow_anonymous true"
    if os.path.isfile(file_locations.mosquitto_configuration):
        mosquitto_configuration = get_file_content(file_locations.mosquitto_configuration)
    return render_template(
        "ATPro_admin/page_templates/settings/settings-mqtt-broker.html",
        BrokerServerChecked=get_html_checkbox_state(check_mqtt_broker_server_running()),
        BrokerMosquittoConfig=mosquitto_configuration
    )
def html_atpro_sensor_settings_high_low():
    if request.method == "POST":
        app_config_access.trigger_high_low.update_with_html_request(request)
        app_config_access.trigger_high_low.save_config_to_file()
        atpro_notifications.manage_service_restart()
        return_msg = "Please Restart Program"
        return get_message_page("Trigger High/Low Settings Updated",
                                return_msg,
                                page_url="sensor-settings")

    high_low_settings = app_config_access.trigger_high_low
    recording_enabled = get_html_checkbox_state(
        high_low_settings.enable_high_low_trigger_recording)
    return render_template(
        "ATPro_admin/page_templates/settings/settings-recording-high-low.html",
        CheckedEnableHLTRecording=recording_enabled,
        CheckedCPUTemperature=get_html_checkbox_state(
            high_low_settings.cpu_temperature_enabled),
        TriggerLowCPUTemperature=high_low_settings.cpu_temperature_low,
        TriggerHighCPUTemperature=high_low_settings.cpu_temperature_high,
        SecondsCPUTemperature=high_low_settings.cpu_temperature_wait_seconds,
        CheckedEnvTemperature=get_html_checkbox_state(
            high_low_settings.env_temperature_enabled),
        TriggerLowEnvTemperature=high_low_settings.env_temperature_low,
        TriggerHighEnvTemperature=high_low_settings.env_temperature_high,
        SecondsEnvTemperature=high_low_settings.env_temperature_wait_seconds,
        CheckedPressure=get_html_checkbox_state(
            high_low_settings.pressure_enabled),
        TriggerLowPressure=high_low_settings.pressure_low,
        TriggerHighPressure=high_low_settings.pressure_high,
        SecondsPressure=high_low_settings.pressure_wait_seconds,
        CheckedAltitude=get_html_checkbox_state(
            high_low_settings.altitude_enabled),
        TriggerLowAltitude=high_low_settings.altitude_low,
        TriggerHighAltitude=high_low_settings.altitude_high,
        SecondsAltitude=high_low_settings.altitude_wait_seconds,
        CheckedHumidity=get_html_checkbox_state(
            high_low_settings.humidity_enabled),
        TriggerLowHumidity=high_low_settings.humidity_low,
        TriggerHighHumidity=high_low_settings.humidity_high,
        SecondsHumidity=high_low_settings.humidity_wait_seconds,
        CheckedDistance=get_html_checkbox_state(
            high_low_settings.distance_enabled),
        TriggerLowDistance=high_low_settings.distance_low,
        TriggerHighDistance=high_low_settings.distance_high,
        SecondsDistance=high_low_settings.distance_wait_seconds,
        CheckedLumen=get_html_checkbox_state(high_low_settings.lumen_enabled),
        TriggerLowLumen=high_low_settings.lumen_low,
        TriggerHighLumen=high_low_settings.lumen_high,
        SecondsLumen=high_low_settings.lumen_wait_seconds,
        CheckedColour=get_html_checkbox_state(
            high_low_settings.colour_enabled),
        TriggerLowRed=high_low_settings.red_low,
        TriggerHighRed=high_low_settings.red_high,
        TriggerLowOrange=high_low_settings.orange_low,
        TriggerHighOrange=high_low_settings.orange_high,
        TriggerLowYellow=high_low_settings.yellow_low,
        TriggerHighYellow=high_low_settings.yellow_high,
        TriggerLowGreen=high_low_settings.green_low,
        TriggerHighGreen=high_low_settings.green_high,
        TriggerLowBlue=high_low_settings.blue_low,
        TriggerHighBlue=high_low_settings.blue_high,
        TriggerLowViolet=high_low_settings.violet_low,
        TriggerHighViolet=high_low_settings.violet_high,
        SecondsColour=high_low_settings.colour_wait_seconds,
        CheckedUltraViolet=get_html_checkbox_state(
            high_low_settings.ultra_violet_enabled),
        TriggerLowUltraVioletA=high_low_settings.ultra_violet_a_low,
        TriggerHighUltraVioletA=high_low_settings.ultra_violet_a_high,
        TriggerLowUltraVioletB=high_low_settings.ultra_violet_b_low,
        TriggerHighUltraVioletB=high_low_settings.ultra_violet_b_high,
        SecondsUltraViolet=high_low_settings.ultra_violet_wait_seconds,
        CheckedGas=get_html_checkbox_state(high_low_settings.gas_enabled),
        TriggerLowGasIndex=high_low_settings.gas_resistance_index_low,
        TriggerHighGasIndex=high_low_settings.gas_resistance_index_high,
        TriggerLowGasOxidising=high_low_settings.gas_oxidising_low,
        TriggerHighGasOxidising=high_low_settings.gas_oxidising_high,
        TriggerLowGasReducing=high_low_settings.gas_reducing_low,
        TriggerHighGasReducing=high_low_settings.gas_reducing_high,
        TriggerLowGasNH3=high_low_settings.gas_nh3_low,
        TriggerHighGasNH3=high_low_settings.gas_nh3_high,
        SecondsGas=high_low_settings.gas_wait_seconds,
        CheckedPM=get_html_checkbox_state(
            high_low_settings.particulate_matter_enabled),
        TriggerLowPM1=high_low_settings.particulate_matter_1_low,
        TriggerHighPM1=high_low_settings.particulate_matter_1_high,
        TriggerLowPM25=high_low_settings.particulate_matter_2_5_low,
        TriggerHighPM25=high_low_settings.particulate_matter_2_5_high,
        TriggerLowPM4=high_low_settings.particulate_matter_4_low,
        TriggerHighPM4=high_low_settings.particulate_matter_4_high,
        TriggerLowPM10=high_low_settings.particulate_matter_10_low,
        TriggerHighPM10=high_low_settings.particulate_matter_10_high,
        SecondsPM=high_low_settings.particulate_matter_wait_seconds,
        CheckedAccelerometer=get_html_checkbox_state(
            high_low_settings.accelerometer_enabled),
        TriggerLowAccelerometerX=high_low_settings.accelerometer_x_low,
        TriggerHighAccelerometerX=high_low_settings.accelerometer_x_high,
        TriggerLowAccelerometerY=high_low_settings.accelerometer_y_low,
        TriggerHighAccelerometerY=high_low_settings.accelerometer_y_high,
        TriggerLowAccelerometerZ=high_low_settings.accelerometer_z_low,
        TriggerHighAccelerometerZ=high_low_settings.accelerometer_z_high,
        SecondsAccelerometer=high_low_settings.accelerometer_wait_seconds,
        CheckedMagnetometer=get_html_checkbox_state(
            high_low_settings.magnetometer_enabled),
        TriggerLowMagnetometerX=high_low_settings.magnetometer_x_low,
        TriggerHighMagnetometerX=high_low_settings.magnetometer_x_high,
        TriggerLowMagnetometerY=high_low_settings.magnetometer_y_low,
        TriggerHighMagnetometerY=high_low_settings.magnetometer_y_high,
        TriggerLowMagnetometerZ=high_low_settings.magnetometer_z_low,
        TriggerHighMagnetometerZ=high_low_settings.magnetometer_z_high,
        SecondsMagnetometer=high_low_settings.magnetometer_wait_seconds,
        CheckedGyroscope=get_html_checkbox_state(
            high_low_settings.gyroscope_enabled),
        TriggerLowGyroscopeX=high_low_settings.gyroscope_x_low,
        TriggerHighGyroscopeX=high_low_settings.gyroscope_x_high,
        TriggerLowGyroscopeY=high_low_settings.gyroscope_y_low,
        TriggerHighGyroscopeY=high_low_settings.gyroscope_y_high,
        TriggerLowGyroscopeZ=high_low_settings.gyroscope_z_low,
        TriggerHighGyroscopeZ=high_low_settings.gyroscope_z_high,
        SecondsGyroscope=high_low_settings.gyroscope_wait_seconds)
Exemplo n.º 10
0
def _get_checkin_settings_page_render():
    sensor_check_ins = get_html_checkbox_state(
        app_config_access.checkin_config.enable_checkin)
    return render_template(
        "ATPro_admin/page_templates/settings/settings-checkin-server.html",
        CheckedSensorCheckIns=sensor_check_ins,
        CheckinHours=app_config_access.checkin_config.checkin_wait_in_hours,
        CheckedEnableCheckin=get_html_checkbox_state(
            app_config_access.checkin_config.enable_checkin_recording),
        ContactInPastDays=app_config_access.checkin_config.count_contact_days,
        MaxSensorCount=app_config_access.checkin_config.main_page_max_sensors,
        DeleteSensorsOlderDays=app_config_access.checkin_config.
        delete_sensors_older_days,
        MaxLinesPerLog=app_config_access.checkin_config.max_log_lines_to_send,
        SensorName=get_html_checkbox_state(
            app_config_access.checkin_config.send_sensor_name),
        IPAddress=get_html_checkbox_state(
            app_config_access.checkin_config.send_ip),
        ProgramVersion=get_html_checkbox_state(
            app_config_access.checkin_config.send_program_version),
        SensorUptime=get_html_checkbox_state(
            app_config_access.checkin_config.send_system_uptime),
        SystemTemperature=get_html_checkbox_state(
            app_config_access.checkin_config.send_system_temperature),
        InstalledSensors=get_html_checkbox_state(
            app_config_access.checkin_config.send_installed_sensors),
        PrimaryLog=get_html_checkbox_state(
            app_config_access.checkin_config.send_primary_log),
        NetworkLog=get_html_checkbox_state(
            app_config_access.checkin_config.send_network_log),
        SensorsLog=get_html_checkbox_state(
            app_config_access.checkin_config.send_sensors_log))
Exemplo n.º 11
0
def html_atpro_sensor_settings_display():
    if request.method == "POST":
        app_config_access.display_config.update_with_html_request(request)
        app_config_access.display_config.save_config_to_file()
        app_cached_variables.restart_mini_display_thread = True
        return get_message_page("Display Settings Updated",
                                page_url="sensor-settings")

    display_numerical_checked = ""
    display_graph_checked = ""
    display_type_numerical = app_config_access.display_config.display_type_numerical
    if app_config_access.display_config.display_type == display_type_numerical:
        display_numerical_checked = "checked"
    else:
        display_graph_checked = "checked"
    return render_template(
        "ATPro_admin/page_templates/settings/settings-display.html",
        CheckedEnableDisplay=get_html_checkbox_state(
            app_config_access.display_config.enable_display),
        DisplayIntervalDelay=app_config_access.display_config.
        minutes_between_display,
        DisplayNumericalChecked=display_numerical_checked,
        DisplayGraphChecked=display_graph_checked,
        CheckedSensorUptime=get_html_checkbox_state(
            app_config_access.display_config.sensor_uptime),
        CheckedCPUTemperature=get_html_checkbox_state(
            app_config_access.display_config.system_temperature),
        CheckedEnvTemperature=get_html_checkbox_state(
            app_config_access.display_config.env_temperature),
        CheckedPressure=get_html_checkbox_state(
            app_config_access.display_config.pressure),
        CheckedAltitude=get_html_checkbox_state(
            app_config_access.display_config.altitude),
        CheckedHumidity=get_html_checkbox_state(
            app_config_access.display_config.humidity),
        CheckedDewPoint=get_html_checkbox_state(
            app_config_access.display_config.dew_point),
        CheckedDistance=get_html_checkbox_state(
            app_config_access.display_config.distance),
        CheckedGas=get_html_checkbox_state(
            app_config_access.display_config.gas),
        CheckedPM=get_html_checkbox_state(
            app_config_access.display_config.particulate_matter),
        CheckedLumen=get_html_checkbox_state(
            app_config_access.display_config.lumen),
        CheckedColour=get_html_checkbox_state(
            app_config_access.display_config.color),
        CheckedUltraViolet=get_html_checkbox_state(
            app_config_access.display_config.ultra_violet),
        CheckedAccelerometer=get_html_checkbox_state(
            app_config_access.display_config.accelerometer),
        CheckedMagnetometer=get_html_checkbox_state(
            app_config_access.display_config.magnetometer),
        CheckedGyroscope=get_html_checkbox_state(
            app_config_access.display_config.gyroscope))
Exemplo n.º 12
0
def html_atpro_sensor_settings_mqtt_publisher():
    mqtt_publisher_config = app_config_access.mqtt_publisher_config

    if request.method == "POST":
        app_config_access.mqtt_publisher_config.update_with_html_request(request)
        app_config_access.mqtt_publisher_config.save_config_to_file()
        app_cached_variables.restart_mqtt_publisher_thread = True
        return get_message_page("MQTT Publisher Settings Updated", page_url="sensor-settings")

    mqtt_publisher_qos = mqtt_publisher_config.mqtt_publisher_qos
    qos_level_0 = ""
    qos_level_1 = ""
    qos_level_2 = ""
    if mqtt_publisher_qos == 0:
        qos_level_0 = get_html_selected_state(True)
    elif mqtt_publisher_qos == 1:
        qos_level_1 = get_html_selected_state(True)
    elif mqtt_publisher_qos == 2:
        qos_level_2 = get_html_selected_state(True)

    return render_template(
        "ATPro_admin/page_templates/settings/settings-mqtt-publisher.html",
        MQTTBaseTopic=mqtt_publisher_config.mqtt_base_topic[:-1],
        MQTTPublisherChecked=get_html_checkbox_state(mqtt_publisher_config.enable_mqtt_publisher),
        MQTTBrokerAddress=mqtt_publisher_config.broker_address,
        MQTTBrokerPort=str(mqtt_publisher_config.broker_server_port),
        MQTTPublishSecondsWait=str(mqtt_publisher_config.seconds_to_wait),
        MQTTPublisherAuthChecked=get_html_checkbox_state(mqtt_publisher_config.enable_broker_auth),
        MQTTPublisherUsername=mqtt_publisher_config.broker_user,
        PublisherQoSLevel0=qos_level_0,
        PublisherQoSLevel1=qos_level_1,
        PublisherQoSLevel2=qos_level_2,
        CheckedSensorHostName=get_html_checkbox_state(mqtt_publisher_config.sensor_host_name),
        CheckedSensorUptime=get_html_checkbox_state(mqtt_publisher_config.sensor_uptime),
        CheckedSensorIP=get_html_checkbox_state(mqtt_publisher_config.sensor_ip),
        CheckedGPS=get_html_checkbox_state(mqtt_publisher_config.gps_latitude),
        CheckedSensorDateTime=get_html_checkbox_state(mqtt_publisher_config.sensor_date_time),
        CheckedCPUTemperature=get_html_checkbox_state(mqtt_publisher_config.system_temperature),
        CheckedEnvTemperature=get_html_checkbox_state(mqtt_publisher_config.env_temperature),
        CheckedPressure=get_html_checkbox_state(mqtt_publisher_config.pressure),
        CheckedAltitude=get_html_checkbox_state(mqtt_publisher_config.altitude),
        CheckedHumidity=get_html_checkbox_state(mqtt_publisher_config.humidity),
        CheckedDewPoint=get_html_checkbox_state(mqtt_publisher_config.dew_point),
        CheckedDistance=get_html_checkbox_state(mqtt_publisher_config.distance),
        CheckedGas=get_html_checkbox_state(mqtt_publisher_config.gas),
        CheckedPM=get_html_checkbox_state(mqtt_publisher_config.particulate_matter),
        CheckedLumen=get_html_checkbox_state(mqtt_publisher_config.lumen),
        CheckedColour=get_html_checkbox_state(mqtt_publisher_config.color),
        CheckedUltraViolet=get_html_checkbox_state(mqtt_publisher_config.ultra_violet),
        CheckedAccelerometer=get_html_checkbox_state(mqtt_publisher_config.accelerometer),
        CheckedMagnetometer=get_html_checkbox_state(mqtt_publisher_config.magnetometer),
        CheckedGyroscope=get_html_checkbox_state(mqtt_publisher_config.gyroscope),
        SASKSChecked=_get_checked_send_as(mqtt_publisher_config.mqtt_send_format_kootnet),
        SASIndChecked=_get_checked_send_as(mqtt_publisher_config.mqtt_send_format_individual_topics),
        SASCustomChecked=_get_checked_send_as(mqtt_publisher_config.mqtt_send_format_custom_string),
        MQTTCustomDataFormat=mqtt_publisher_config.mqtt_custom_data_string,
        MQTTSystemHostNameTopic=mqtt_publisher_config.sensor_host_name_topic,
        MQTTIPTopic=mqtt_publisher_config.sensor_ip_topic,
        MQTTLatitudeTopic=mqtt_publisher_config.gps_latitude_topic,
        MQTTLongitudeTopic=mqtt_publisher_config.gps_longitude_topic,
        MQTTUptimeTopic=mqtt_publisher_config.sensor_uptime_topic,
        MQTTDateTimeTopic=mqtt_publisher_config.sensor_date_time_topic,
        MQTTCPUTempTopic=mqtt_publisher_config.system_temperature_topic,
        MQTTEnvTempTopic=mqtt_publisher_config.env_temperature_topic,
        MQTTPressureTopic=mqtt_publisher_config.pressure_topic,
        MQTTAltitudeTopic=mqtt_publisher_config.altitude_topic,
        MQTTHumidityTopic=mqtt_publisher_config.humidity_topic,
        MQTTDewPointTopic=mqtt_publisher_config.dew_point_topic,
        MQTTDistanceTopic=mqtt_publisher_config.distance_topic,
        MQTTGASTopic=mqtt_publisher_config.gas_topic,
        MQTTGASRestIndexTopic=mqtt_publisher_config.gas_resistance_index_topic,
        MQTTGASOxidisingTopic=mqtt_publisher_config.gas_oxidising_topic,
        MQTTGASReducingTopic=mqtt_publisher_config.gas_reducing_topic,
        MQTTGASNH3Topic=mqtt_publisher_config.gas_nh3_topic,
        MQTTPMTopic=mqtt_publisher_config.particulate_matter_topic,
        MQTTPM1Topic=mqtt_publisher_config.particulate_matter_1_topic,
        MQTTPM2_5Topic=mqtt_publisher_config.particulate_matter_2_5_topic,
        MQTTPM4Topic=mqtt_publisher_config.particulate_matter_4_topic,
        MQTTPM10Topic=mqtt_publisher_config.particulate_matter_10_topic,
        MQTTLumenTopic=mqtt_publisher_config.lumen_topic,
        MQTTColoursTopic=mqtt_publisher_config.color_topic,
        MQTTColourRedTopic=mqtt_publisher_config.color_red_topic,
        MQTTColourOrangeTopic=mqtt_publisher_config.color_orange_topic,
        MQTTColourYellowTopic=mqtt_publisher_config.color_yellow_topic,
        MQTTColourGreenTopic=mqtt_publisher_config.color_green_topic,
        MQTTColourBlueTopic=mqtt_publisher_config.color_blue_topic,
        MQTTColourVioletTopic=mqtt_publisher_config.color_violet_topic,
        MQTTUltraVioletTopic=mqtt_publisher_config.ultra_violet_topic,
        MQTTUVIndexTopic=mqtt_publisher_config.ultra_violet_index_topic,
        MQTTUVATopic=mqtt_publisher_config.ultra_violet_a_topic,
        MQTTUVBTopic=mqtt_publisher_config.ultra_violet_b_topic,
        MQTTAccTopic=mqtt_publisher_config.accelerometer_topic,
        MQTTAccXTopic=mqtt_publisher_config.accelerometer_x_topic,
        MQTTAccYTopic=mqtt_publisher_config.accelerometer_y_topic,
        MQTTAccZTopic=mqtt_publisher_config.accelerometer_z_topic,
        MQTTMagTopic=mqtt_publisher_config.magnetometer_topic,
        MQTTMagXTopic=mqtt_publisher_config.magnetometer_x_topic,
        MQTTMagYTopic=mqtt_publisher_config.magnetometer_y_topic,
        MQTTMagZTopic=mqtt_publisher_config.magnetometer_z_topic,
        MQTTGyroTopic=mqtt_publisher_config.gyroscope_topic,
        MQTTGyroXTopic=mqtt_publisher_config.gyroscope_x_topic,
        MQTTGyroYTopic=mqtt_publisher_config.gyroscope_y_topic,
        MQTTGyroZTopic=mqtt_publisher_config.gyroscope_z_topic
    )
Exemplo n.º 13
0
def html_atpro_sensor_settings_installed_sensors():
    installed_sensors = app_config_access.installed_sensors
    if request.method == "POST":
        app_config_access.installed_sensors.update_with_html_request(request)
        app_config_access.installed_sensors.save_config_to_file()
        sensor_access.sensors_direct.__init__()
        msg = "Installed sensors updated and re-initialized"
        return get_message_page("Installed Sensors Updated",
                                msg,
                                page_url="sensor-settings")

    return render_template(
        "ATPro_admin/page_templates/settings/settings-installed-sensors.html",
        KootnetDummySensors=get_html_checkbox_state(
            installed_sensors.kootnet_dummy_sensor),
        SenseHAT=get_html_checkbox_state(
            installed_sensors.raspberry_pi_sense_hat),
        PimoroniBH1745=get_html_checkbox_state(
            installed_sensors.pimoroni_bh1745),
        PimoroniAS7262=get_html_checkbox_state(
            installed_sensors.pimoroni_as7262),
        PimoroniMCP9600=get_html_checkbox_state(
            installed_sensors.pimoroni_mcp9600),
        PimoroniBMP280=get_html_checkbox_state(
            installed_sensors.pimoroni_bmp280),
        PimoroniBME280=get_html_checkbox_state(
            installed_sensors.pimoroni_bme280),
        PimoroniBME680=get_html_checkbox_state(
            installed_sensors.pimoroni_bme680),
        PimoroniEnviroPHAT=get_html_checkbox_state(
            installed_sensors.pimoroni_enviro),
        PimoroniEnviro2=get_html_checkbox_state(
            installed_sensors.pimoroni_enviro2),
        PimoroniEnviroPlus=get_html_checkbox_state(
            installed_sensors.pimoroni_enviroplus),
        PimoroniPMS5003=get_html_checkbox_state(
            installed_sensors.pimoroni_pms5003),
        PimoroniMICS6814=get_html_checkbox_state(
            installed_sensors.pimoroni_mics6814),
        PimoroniRV3028=get_html_checkbox_state(
            installed_sensors.pimoroni_rv3028),
        PimoroniPA1010D=get_html_checkbox_state(
            installed_sensors.pimoroni_pa1010d),
        PimoroniSGP30=get_html_checkbox_state(
            installed_sensors.pimoroni_sgp30),
        PimoroniMSA301=get_html_checkbox_state(
            installed_sensors.pimoroni_msa301),
        PimoroniLSM303D=get_html_checkbox_state(
            installed_sensors.pimoroni_lsm303d),
        PimoroniICM20948=get_html_checkbox_state(
            installed_sensors.pimoroni_icm20948),
        PimoroniVL53L1X=get_html_checkbox_state(
            installed_sensors.pimoroni_vl53l1x),
        PimoroniLTR559=get_html_checkbox_state(
            installed_sensors.pimoroni_ltr_559),
        PimoroniVEML6075=get_html_checkbox_state(
            installed_sensors.pimoroni_veml6075),
        Pimoroni11x7LEDMatrix=get_html_checkbox_state(
            installed_sensors.pimoroni_matrix_11x7),
        PimoroniSPILCD10_96=get_html_checkbox_state(
            installed_sensors.pimoroni_st7735),
        PimoroniMonoOLED128x128BW=get_html_checkbox_state(
            installed_sensors.pimoroni_mono_oled_luma),
        SensirionSPS30=get_html_checkbox_state(
            installed_sensors.sensirion_sps30),
        W1ThermSensor=get_html_checkbox_state(
            installed_sensors.w1_therm_sensor))
Exemplo n.º 14
0
def html_atpro_sensor_graphing_database():
    custom_db_option_html_text = "<option value='{{ DBNameChangeMe }}'>{{ DBNameChangeMe }}</option>"

    database_dropdown_selection_html = ""
    for db_name in app_cached_variables.uploaded_databases_list:
        database_dropdown_selection_html += custom_db_option_html_text.replace("{{ DBNameChangeMe }}", db_name) + "\n"

    run_script = ""
    if server_plotly_graph.server_plotly_graph_variables.graph_creation_in_progress:
        run_script = "CreatingGraph();"

    return render_template(
        "ATPro_admin/page_templates/graphing-database.html",
        RunScript=run_script,
        UploadedDBOptionNames=database_dropdown_selection_html,
        CheckedMQTTDatabase=get_html_checkbox_state(app_config_access.db_graphs_config.mqtt_database_checked),
        MQTTSenorID=app_config_access.db_graphs_config.mqtt_database_topic,
        IntervalPlotlyDate=get_file_creation_date(file_locations.plotly_graph_interval),
        TriggerPlotlyDate=get_file_creation_date(file_locations.plotly_graph_triggers),
        MQTTPlotlyDate=get_file_creation_date(file_locations.plotly_graph_mqtt),
        CustomPlotlyDate=get_file_creation_date(file_locations.plotly_graph_custom),
        MaxDataPoints=app_config_access.db_graphs_config.max_graph_data_points,
        SkipDataPoints=app_config_access.db_graphs_config.skip_data_between_plots,
        DateTimeStart=app_config_access.db_graphs_config.graph_start_date.replace(" ", "T")[:-3],
        DateTimeEnd=app_config_access.db_graphs_config.graph_end_date.replace(" ", "T")[:-3],
        UTCOffset=app_config_access.db_graphs_config.date_time_hours_offset,
        CheckedSensorUptime=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_uptime),
        CheckedCPUTemperature=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_cpu_temp),
        CheckedEnvTemperature=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_env_temp),
        CheckedPressure=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_pressure),
        CheckedAltitude=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_altitude),
        CheckedHumidity=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_humidity),
        CheckedDewPoint=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_dew_point),
        CheckedDistance=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_distance),
        CheckedGas=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_gas),
        CheckedPM=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_particulate_matter),
        CheckedLumen=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_lumen),
        CheckedColour=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_colours),
        CheckedUltraViolet=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_ultra_violet),
        CheckedAccelerometer=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_acc),
        CheckedMagnetometer=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_mag),
        CheckedGyroscope=get_html_checkbox_state(app_config_access.db_graphs_config.db_graph_gyro)
    )
Exemplo n.º 15
0
def html_atpro_sensor_graphing_live():
    if request.method == "POST":
        lgc.update_with_html_request(request)
        lgc.save_config_to_file()
        return get_html_atpro_index(run_script="SelectNav('sensor-graphing-live');")
    sensor_address = lgc.graph_sensor_address
    if sensor_address is None:
        sensor_address = ""
    return render_template(
        "ATPro_admin/page_templates/graphing-live.html",
        GraphSensorAddress=sensor_address,
        CheckedEnableSSLVerification=get_html_checkbox_state(lgc.enable_ssl_verification),
        CheckedEnablePerformanceMode=get_html_checkbox_state(lgc.enable_performance_mode),
        CheckedGPL1=lgc.get_checked_graph_per_line_state(1),
        CheckedGPL2=lgc.get_checked_graph_per_line_state(2),
        CheckedGPL3=lgc.get_checked_graph_per_line_state(3),
        CheckedGPL4=lgc.get_checked_graph_per_line_state(4),
        GraphMaxDataPoints=lgc.max_graph_data_points,
        GraphIntervalValue=lgc.live_graph_update_interval,
        CheckedSensorUptime=get_html_checkbox_state(lgc.live_graph_uptime),
        CheckedCPUTemperature=get_html_checkbox_state(lgc.live_graph_cpu_temp),
        CheckedEnvTemperature=get_html_checkbox_state(lgc.live_graph_env_temp),
        CheckedPressure=get_html_checkbox_state(lgc.live_graph_pressure),
        CheckedAltitude=get_html_checkbox_state(lgc.live_graph_altitude),
        CheckedHumidity=get_html_checkbox_state(lgc.live_graph_humidity),
        CheckedDewPoint=get_html_checkbox_state(lgc.live_graph_dew_point),
        CheckedDistance=get_html_checkbox_state(lgc.live_graph_distance),
        CheckedGas=get_html_checkbox_state(lgc.live_graph_gas),
        CheckedPM=get_html_checkbox_state(lgc.live_graph_particulate_matter),
        CheckedLumen=get_html_checkbox_state(lgc.live_graph_lumen),
        CheckedColour=get_html_checkbox_state(lgc.live_graph_colours),
        CheckedUltraViolet=get_html_checkbox_state(lgc.live_graph_ultra_violet),
        CheckedAccelerometer=get_html_checkbox_state(lgc.live_graph_acc),
        CheckedMagnetometer=get_html_checkbox_state(lgc.live_graph_mag),
        CheckedGyroscope=get_html_checkbox_state(lgc.live_graph_gyro)
    )
def html_atpro_sensor_settings_interval():
    if request.method == "POST":
        app_config_access.interval_recording_config.update_with_html_request(
            request)
        app_config_access.interval_recording_config.save_config_to_file()
        app_cached_variables.restart_interval_recording_thread = True
        return get_message_page("Interval Settings Updated",
                                page_url="sensor-settings")

    interval_config = app_config_access.interval_recording_config
    return render_template(
        "ATPro_admin/page_templates/settings/settings-recording-interval.html",
        CheckedInterval=get_html_checkbox_state(
            interval_config.enable_interval_recording),
        IntervalDelay=float(interval_config.sleep_duration_interval),
        CheckedSensorUptime=get_html_checkbox_state(
            interval_config.sensor_uptime_enabled),
        CheckedCPUTemperature=get_html_checkbox_state(
            interval_config.cpu_temperature_enabled),
        CheckedEnvTemperature=get_html_checkbox_state(
            interval_config.env_temperature_enabled),
        CheckedPressure=get_html_checkbox_state(
            interval_config.pressure_enabled),
        CheckedAltitude=get_html_checkbox_state(
            interval_config.altitude_enabled),
        CheckedHumidity=get_html_checkbox_state(
            interval_config.humidity_enabled),
        CheckedDewPoint=get_html_checkbox_state(
            interval_config.dew_point_enabled),
        CheckedDistance=get_html_checkbox_state(
            interval_config.distance_enabled),
        CheckedLumen=get_html_checkbox_state(interval_config.lumen_enabled),
        CheckedColour=get_html_checkbox_state(interval_config.colour_enabled),
        CheckedUltraViolet=get_html_checkbox_state(
            interval_config.ultra_violet_enabled),
        CheckedGas=get_html_checkbox_state(interval_config.gas_enabled),
        CheckedPM=get_html_checkbox_state(
            interval_config.particulate_matter_enabled),
        CheckedAccelerometer=get_html_checkbox_state(
            interval_config.accelerometer_enabled),
        CheckedMagnetometer=get_html_checkbox_state(
            interval_config.magnetometer_enabled),
        CheckedGyroscope=get_html_checkbox_state(
            interval_config.gyroscope_enabled),
        CheckedGPS=get_html_checkbox_state(interval_config.gps_enabled))
def html_atpro_sensor_settings_variances():
    if request.method == "POST":
        app_config_access.trigger_variances.update_with_html_request(request)
        app_config_access.trigger_variances.save_config_to_file()
        atpro_notifications.manage_service_restart()
        msg = "Please Restart Program"
        return get_message_page("Trigger Variances Settings Updated",
                                msg,
                                page_url="sensor-settings")
    variances = app_config_access.trigger_variances
    return render_template(
        "ATPro_admin/page_templates/settings/settings-recording-variances.html",
        CheckedTrigger=get_html_checkbox_state(
            variances.enable_trigger_variance),
        CheckedCPUTemperature=get_html_checkbox_state(
            variances.cpu_temperature_enabled),
        TriggerCPUTemperature=variances.cpu_temperature_variance,
        SecondsCPUTemperature=variances.cpu_temperature_wait_seconds,
        CheckedEnvTemperature=get_html_checkbox_state(
            variances.env_temperature_enabled),
        TriggerEnvTemperature=variances.env_temperature_variance,
        SecondsEnvTemperature=variances.env_temperature_wait_seconds,
        CheckedPressure=get_html_checkbox_state(variances.pressure_enabled),
        TriggerPressure=variances.pressure_variance,
        SecondsPressure=variances.pressure_wait_seconds,
        CheckedAltitude=get_html_checkbox_state(variances.altitude_enabled),
        TriggerAltitude=variances.altitude_variance,
        SecondsAltitude=variances.altitude_wait_seconds,
        CheckedHumidity=get_html_checkbox_state(variances.humidity_enabled),
        TriggerHumidity=variances.humidity_variance,
        SecondsHumidity=variances.humidity_wait_seconds,
        CheckedDistance=get_html_checkbox_state(variances.distance_enabled),
        TriggerDistance=variances.distance_variance,
        SecondsDistance=variances.distance_wait_seconds,
        CheckedLumen=get_html_checkbox_state(variances.lumen_enabled),
        TriggerLumen=variances.lumen_variance,
        SecondsLumen=variances.lumen_wait_seconds,
        CheckedColour=get_html_checkbox_state(variances.colour_enabled),
        TriggerRed=variances.red_variance,
        TriggerOrange=variances.orange_variance,
        TriggerYellow=variances.yellow_variance,
        TriggerGreen=variances.green_variance,
        TriggerBlue=variances.blue_variance,
        TriggerViolet=variances.violet_variance,
        SecondsColour=variances.colour_wait_seconds,
        CheckedUltraViolet=get_html_checkbox_state(
            variances.ultra_violet_enabled),
        TriggerUltraVioletA=variances.ultra_violet_a_variance,
        TriggerUltraVioletB=variances.ultra_violet_b_variance,
        SecondsUltraViolet=variances.ultra_violet_wait_seconds,
        CheckedGas=get_html_checkbox_state(variances.gas_enabled),
        TriggerGasIndex=variances.gas_resistance_index_variance,
        TriggerGasOxidising=variances.gas_oxidising_variance,
        TriggerGasReducing=variances.gas_reducing_variance,
        TriggerGasNH3=variances.gas_nh3_variance,
        SecondsGas=variances.gas_wait_seconds,
        CheckedPM=get_html_checkbox_state(
            variances.particulate_matter_enabled),
        TriggerPM1=variances.particulate_matter_1_variance,
        TriggerPM25=variances.particulate_matter_2_5_variance,
        TriggerPM4=variances.particulate_matter_4_variance,
        TriggerPM10=variances.particulate_matter_10_variance,
        SecondsPM=variances.particulate_matter_wait_seconds,
        CheckedAccelerometer=get_html_checkbox_state(
            variances.accelerometer_enabled),
        TriggerAccelerometerX=variances.accelerometer_x_variance,
        TriggerAccelerometerY=variances.accelerometer_y_variance,
        TriggerAccelerometerZ=variances.accelerometer_z_variance,
        SecondsAccelerometer=variances.accelerometer_wait_seconds,
        CheckedMagnetometer=get_html_checkbox_state(
            variances.magnetometer_enabled),
        TriggerMagnetometerX=variances.magnetometer_x_variance,
        TriggerMagnetometerY=variances.magnetometer_y_variance,
        TriggerMagnetometerZ=variances.magnetometer_z_variance,
        SecondsMagnetometer=variances.magnetometer_wait_seconds,
        CheckedGyroscope=get_html_checkbox_state(variances.gyroscope_enabled),
        TriggerGyroscopeX=variances.gyroscope_x_variance,
        TriggerGyroscopeY=variances.gyroscope_y_variance,
        TriggerGyroscopeZ=variances.gyroscope_z_variance,
        SecondsGyroscope=variances.gyroscope_wait_seconds)