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:
@@ -93,3 +93,18 @@ cpu_thermal_zone = 'cpu'
|
|||||||
# read external sensors for temperature, humidity, pressure etc.
|
# read external sensors for temperature, humidity, pressure etc.
|
||||||
ext_sensors = False
|
ext_sensors = False
|
||||||
#ext_sensors = [["Housing", "ds18b20", "0014531448ff", -300], ["ext2", "sht21", 0, [-300, 0]]]
|
#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"
|
||||||
|
|
||||||
|
|||||||
@@ -917,6 +917,24 @@ def gather_and_send_info():
|
|||||||
if args.display:
|
if args.display:
|
||||||
print_measured_values(monitored_values)
|
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:
|
if args.hass_api:
|
||||||
publish_to_hass_api(monitored_values)
|
publish_to_hass_api(monitored_values)
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user