Yes, that looks OK (assuming you're using Python). The data_out variable will be a string and then you need to process it in the following way (each block of 20 characters defines a setpoint). Note this code also adds labels for each value and saves the output in a TXT file. I chose this format as I wanted the output to be easily readable and manually editable, but this may not suit your use.
Code:
for record in [data_out[i:i+20] for i in range(0, len(data_out), 20)]:
(zone, day, time, temp, unk) = struct.unpack("<xxxxBxxxBxxxHxxHH", record)
print('ZONE={0:d} DAY={1:d} TIME={2:02d}:{3:02d} TEMP={4:.2f}'.format(zone+1, day+1, *divmod(time, 60), temp/100), file=output_backup)