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() )
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))
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)
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))
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))
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 )
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))
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) )
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)