Output File (#157)

* added output file to write some values to a text file

* bugfix, return statement was missing and also the description for the example is updated
This commit is contained in:
pallago
2024-12-06 23:51:32 +01:00
committed by GitHub
parent 87979326bc
commit a4745ab9e5
2 changed files with 33 additions and 0 deletions

View File

@@ -93,3 +93,18 @@ cpu_thermal_zone = 'cpu'
# read external sensors for temperature, humidity, pressure etc.
ext_sensors = False
#ext_sensors = [["Housing", "ds18b20", "0014531448ff", -300], ["ext2", "sht21", 0, [-300, 0]]]
# output file
output_filename = False
#output_filename = "/dev/shm/mjpeg/user_annotate.txt"
# a for append or w for write (overwrites content)
output_mode = "w"
# define what should be in the output
def get_content_outputfile():
# In this example the values from the ext_sensors are used
# the values for the temperature values are rounded to 1 decimal
sht21_temp = round(float(ext_sensors[1][3][0]), 1)
sht21_hum = ext_sensors[1][3][1]
ds18b20_temp = round(float(ext_sensors[0][3]), 1)
return f"T: {sht21_temp} 'C; H: {sht21_hum} %% ; T-Rpi: {ds18b20_temp} 'C"

View File

@@ -917,6 +917,24 @@ def gather_and_send_info():
if args.display:
print_measured_values(monitored_values)
# write some output to a file
if config.output_filename:
# the only options are "a" for append or "w" for (over)write
# check if one of this options is defined
if config.output_mode not in ["a", "w"]:
print("Error, output_type not known. Default w is set.")
config.output_type = "w"
try:
# open the text file
output_file = open(config.output_filename, config.output_mode)
# read what should be written into the textfile
# we need to define this is a function, otherwise the values are not updated and default values are taken
output_content = config.get_content_outputfile()
output_file.write(output_content)
output_file.close()
except Exception as e:
print("Error writing to output file:", e)
if args.hass_api:
publish_to_hass_api(monitored_values)
else: