Open giovanne123 opened 2 years ago
It is surely available because thats how the mobile app does it. But I have not found the field to read, i would be really interested though 😀
On Thu, Feb 17, 2022, at 17:05, giovanne123 wrote:
Do you know if the temperature is also available via bluetooth. Do you have ideas in which characteristic it is saved?
(I successfully can read the infos arnog23 has mentioned in this post https://community.jeedom.com/t/plugin-blea-hydrao/11622/36)
— Reply to this email directly, view it on GitHub https://github.com/kamaradclimber/hydrao-dump/issues/4, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAD254M23UFF2RDDGY5C743U3UMF3ANCNFSM5OVEBEYA. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you are subscribed to this thread.Message ID: @.***>
From the Screengrab (see below) which are taken at: _1) ~17:48:01 (App_Screengrab_120220223-174801.jpg) 1 liter Current Water Volume (in 0x0012) 39,9 °C Temperatur 8.0 l/min Water Volume per min 10 sec Shower time ...
_2) ~17:48:14 (App_Screengrab_220220223-174814.jpg) 3 liter Current Water Volume (in 0x0012) 40.5 °C Temperatur 8.0 l/min Water Volume per min 24 sec Shower time
in this timeframe there are only following BLE handles send/received: 0x0012 -> Known for the Water Volume current and Sum 0x001a -> unknown 0x001c -> unknown 0x001e -> unknown
For the unknown I get:
"0x001a"
Value: b805e905
Value: b805de05 17:48:00.416
Value: b705de05 -1)-> 17:48:02.173
Value: af05de05
Value: a705de05
Value: a005de05
Value: 9b05c605
Value: 9805c605
Value: 9705c605 -2)-> 17:48:14.234
Value: 9605c605
Value: 9605c005
"0x001c"
Value: 1d010000
Value: 1a011301
Value: 19011301
Value: 16011301
Value: 16011301
Value: 14011601
Value: 17011601 -1)-> 17:48:01.947
Value: 14011601
Value: 15011601
Value: 16011601
Value: 14011401
Value: 13011401 -2)-> 17:48:14.007
Value: 13011401
Value: 14011401
Value: 12011501
"0x001e"
Value: 9402
Value: 9a02
Value: 9b02
Value: f502
Value: a502
Value: a002 -1)-> 17:48:00.64
Value: bc02
Value: a302
Value: 9802
Value: b002
Value: a202
Value: a902
Value: ad02 -2)-> 17:48:14.48
Value: ae02
Value: a602
I'm a little bit struggling with decoding the values. I have marked the values for each unknown handle at the time the screengrabs are taken and the data which can be seen in the sceengrabs for e.g. the temperature.
Is someone (hopefully a few people are reading here ;-)) possible to find the temperature, shower time and water/min in the marked values?
1)
2)
I've spent some time this weekend to try to decode the messages.
I'll continue to dig this. If you look in the repository, I've added a wireshark dissector for the protocol with my findings, hoping someone can resume from there.
Do you think it goes in this direction? I have read yesterday once the three handles for the Volumes, Temperature and the Flow and tried to analyse the temperature and flow. For the three handles see the return values in the code:
import struct
import binascii
#-VOLUMES-------------------------------
#Fri, 21 Oct 2022 21:34:28 INFO call_gatttool_external sudo gatttool -i hci0 -b XX:XX:XX:XX:XX:XX --char-read --handle=0x0012
#Fri, 21 Oct 2022 21:34:29 INFO run Running...
#Fri, 21 Oct 2022 21:34:29 INFO call_gatttool_external Characteristic value/descriptor: 1c 00 00 00
print("-----------------------")
print("### VOLUMES ###")
volumes = "1c 00 00 00"
print("Orig: " + str(volumes))
volumes_clean = volumes.replace(" ", "").strip()
volumes_clean_bytearray = binascii.unhexlify(volumes_clean)
volume_tuple = struct.unpack('<HH', volumes_clean_bytearray)
volume_sum = volume_tuple[0]
volume_current = volume_tuple[1]
print("Volume Summary OK: " + str(volume_sum))
print("Volume Current OK: " + str(volume_current))
print("-----------------------")
#-TEMPERATURE-------------------------------
#Fri, 21 Oct 2022 21:34:29 INFO call_gatttool_external sudo gatttool -i hci0 -b XX:XX:XX:XX:XX:XX --char-read --handle=0x001a
#Fri, 21 Oct 2022 21:34:31 INFO call_gatttool_external Characteristic value/descriptor: 7c 09 00 00
print("### TEMPERATURE ###")
data = "7c 09 00 00"
print("Orig: " + str(data))
data_clean = data.replace(" ", "").strip()
data_clean_bytearray = binascii.unhexlify(data_clean)
data_tuple = struct.unpack('<HH', data_clean_bytearray)
data_1 = data_tuple[0]
data_2 = data_tuple[1]
print("Temp1 ?: " + str(data_1))
print("Temp1 / 100 -> °C ?: " + str(data_1 / 100))
print("Temp2 ?: " + str(data_2))
print("Temp2 / 100 -> °C ?: " + str(data_2 / 100))
print("-----------------------")
#-FLOW-------------------------------
#Fri, 21 Oct 2022 21:34:32 INFO call_gatttool_external sudo gatttool -i hci0 -b XX:XX:XX:XX:XX:XX --char-read --handle=0x001e
#Fri, 21 Oct 2022 21:34:34 INFO run Running...
#Fri, 21 Oct 2022 21:34:34 INFO call_gatttool_external Characteristic value/descriptor: ac 02
print("### FLOW ###")
data = "ac 02"
print("Orig: " + str(data))
data_clean = data.replace(" ", "").strip()
data_clean_bytearray = binascii.unhexlify(data_clean)
#data_tuple = struct.unpack('<HH', data_clean_bytearray)
data_tuple = struct.unpack('<H', data_clean_bytearray)
data_1 = data_tuple[0]
#data_2 = data_tuple[1]
print("flow ?: " + str(data_1))
print("flow / 100 -> l/min ?: " + str(data_1 / 100))
print("-----------------------")
and the output of the tried to converted values for temperature and flow: (temp / flow divided by 100)
BathPi:/home/pi# python3 Hydrao_Shower_UNKNOWN_Analyser.py
-----------------------
### VOLUMES ###
Orig: 1c 00 00 00
Volume Summary OK: 28
Volume Current OK: 0
-----------------------
### TEMPERATURE ###
Orig: 7c 09 00 00
Temp1 ?: 2428
Temp1 / 100 -> °C ?: 24.28
Temp2 ?: 0
Temp2 / 100 -> °C ?: 0.0
-----------------------
### FLOW ###
Orig: ac 02
flow ?: 684
flow / 100 -> l/min ?: 6.84
-----------------------
The Volumes (Current and Sum for last showers) are fine, I think and are already working in my environment.
For Temperature -> 24.28°C can be ok, because I have not used much warm water for testing. But here the second part is 00 00. -> In my previous data above I had second part not 00 00. There it was e.g. "b7 05 de 05" and would result in
### TEMPERATURE ###
Orig: b7 05 de 05
Temp1 ?: 1463
Temp1 / 100 -> °C ?: 14.63
Temp2 ?: 1502
Temp2 / 100 -> °C ?: 15.02
and that seems to be both too cold !? Is there 1 or 2 temperatures?
The Flow with 6.84 l/min can be fine, or?
What do you think?
Very bad test environment - where we have to switch the shower on to test and analyse :-( (I have to have a deeper look to your hydrao_dissector.lua and try to understand that more)
Regarding field 001a, I think you are nearly there: first 2 bytes seems to be indeed temperature multiplied by 100. The second pair of bytes is likely the average temperature since beginning of shower (my latest sample shows this quite clearly). I probably need to make a new sample to confirm but I am away from home this week. I'll update the dissector, if you succeed to make your own traffic dump and observe it with wireshark, I would be very grateful.
Thanks, sounds good. So far I haven't a new hci-dump. I started to understand your lua dissector and learned how to use in Wireshark ;-)
Can you please also add the "Flow" part into the dissector?
For the temperature: I used my old dump (belonging to the Screenshots earlier in the thread) and still a little bit confused about my temperature there: The 3Liters current volume are fine. But at the same time it shows me 14,31 °C what seems to be not corrosponding to the APPs 40,5 °C :-(
I have attached my old dump. hci_snoop_2022_02_23_17_46_49.cfa.log
I will have a look to create a new dump by the next shower, but maybe the APP will do much more stuff before, because haven't used/synced the shower with the APP since lots of month :-)
I agree temperature of 14’C seems low. In your sample, the average field however seems to converge towards the value of the first field. I would recommend to get another, longer sample.
I sniffed a new sample, see pictures. First 9l, second 18l But still for me the temperature is too low and flow also not like in the app. Hm, maybe I'm doing something wrong... :-( Will wait if our findings will work fine for you...
Haven't attached the hci-dump file because it includes all my data since last App sync from 23.02.2022. If you have interest, maybe I can provide it separate via email and don't attach it here globallly?
For reference, my sys infos: {"ThresholdColor4Name": "red", "ThresholdColor1Name": "lime", "Firmware": "20210427", "DeviceUUID": "MY-xxxxxx-xxxxxxx", "ThresholdVolume4": 32, "ThresholdVolume1": 8, "ThresholdVolume3": 24, "ThresholdVolume2": 16, "HardwareVersion": 8, "ThresholdColor4": "ff0000", "ThresholdColor3Name": "magenta", "ThresholdColor1": "00ff00", "ThresholdColor3": "ff00ff", "ThresholdColor2": "0000ff", "ThresholdColor2Name": "blue"}
Do you have new findings on your side?
I haven't - for me temperature seems still to low as described before.
I have collected last showers (below) and converted with:
#temperature and flow_current
if ( device_shower_temp_flow == "yes" ):
#Temperature
decode_1a = call_gatttool_external("D0:34:31:AA:BB:CC", "char-read", "0x001a").rsplit(':', 1)[-1]
decode_1a_clean = decode_1a.replace(" ", "").strip()
decode_1a_clean_bytearray = binascii.unhexlify(decode_1a_clean)
data_tuple = struct.unpack('<HH', decode_1a_clean_bytearray)
temperature_current = data_tuple[0] / 100
temperature_average = data_tuple[1] / 100
log.info("Temperature Cur: " + str(temperature_current))
log.info("Temperature Avg: " + str(temperature_average))
msg_temp_current = {
"WaterTemperatureCur": temperature_current
}
msg_temp_sum = {
"WaterTemperatureAvg": temperature_average
}
plugins["BS440mqtt_shower"].execute_temperature_current(config, json.dumps(msg_temp_current))
plugins["BS440mqtt_shower"].execute_temperature_average(config, json.dumps(msg_temp_sum))
time.sleep(1)
#Flow
decode_1e = call_gatttool_external("D0:34:31:AA:BB:CC", "char-read", "0x001e").rsplit(':', 1)[-1]
decode_1e_clean = decode_1e.replace(" ", "").strip()
decode_1e_clean_bytearray = binascii.unhexlify(decode_1e_clean)
data_tuple = struct.unpack('<H', decode_1e_clean_bytearray)
flow_current = data_tuple[0] / 100
log.info("Flow Cur: " + str(flow_current))
msg_flow_current = {
"WaterFlowCur": flow_current
}
plugins["BS440mqtt_shower"].execute_flow_current(config, json.dumps(msg_flow_current))
msg = {
"WaterVolumeSum": volume_sum,
"WaterVolumeCur": volume_current,
"WaterTemperatureCur": temperature_current,
"WaterTemperatureAvg": temperature_average,
"WaterFlowCur": flow_current
}
e.g. "WaterTemperatureCur" is too low, I don't get a shower that is that cold ;-)
29/10/2022 16:00:48: {"WaterFlowCur": 6, "WaterVolumeSum": 113, "WaterTemperatureAvg": 0, "WaterVolumeCur": 0, "WaterTemperatureCur": 19}
29/10/2022 16:00:59: {"WaterFlowCur": 6, "WaterVolumeSum": 115, "WaterTemperatureAvg": 18, "WaterVolumeCur": 2, "WaterTemperatureCur": 15}
29/10/2022 16:02:59: {"WaterFlowCur": 6, "WaterVolumeSum": 117, "WaterTemperatureAvg": 17, "WaterVolumeCur": 4, "WaterTemperatureCur": 15}
29/10/2022 16:03:11: {"WaterFlowCur": 6, "WaterVolumeSum": 118, "WaterTemperatureAvg": 17, "WaterVolumeCur": 5, "WaterTemperatureCur": 15}
29/10/2022 16:03:22: {"WaterFlowCur": 6, "WaterVolumeSum": 119, "WaterTemperatureAvg": 16, "WaterVolumeCur": 6, "WaterTemperatureCur": 15}
29/10/2022 16:03:44: {"WaterFlowCur": 7, "WaterVolumeSum": 121, "WaterTemperatureAvg": 16, "WaterVolumeCur": 8, "WaterTemperatureCur": 15}
29/10/2022 16:04:17: {"WaterFlowCur": 7, "WaterVolumeSum": 125, "WaterTemperatureAvg": 16, "WaterVolumeCur": 12, "WaterTemperatureCur": 15}
29/10/2022 18:33:16: {"WaterFlowCur": 6, "WaterVolumeSum": 128, "WaterTemperatureAvg": 21, "WaterVolumeCur": 1, "WaterTemperatureCur": 16}
29/10/2022 18:33:27: {"WaterFlowCur": 6, "WaterVolumeSum": 129, "WaterTemperatureAvg": 19, "WaterVolumeCur": 2, "WaterTemperatureCur": 14}
29/10/2022 18:33:39: {"WaterFlowCur": 6, "WaterVolumeSum": 131, "WaterTemperatureAvg": 18, "WaterVolumeCur": 4, "WaterTemperatureCur": 14}
29/10/2022 18:34:50: {"WaterFlowCur": 6, "WaterVolumeSum": 132, "WaterTemperatureAvg": 17, "WaterVolumeCur": 5, "WaterTemperatureCur": 15}
29/10/2022 18:35:02: {"WaterFlowCur": 6, "WaterVolumeSum": 133, "WaterTemperatureAvg": 16, "WaterVolumeCur": 6, "WaterTemperatureCur": 14}
29/10/2022 18:35:14: {"WaterFlowCur": 8, "WaterVolumeSum": 135, "WaterTemperatureAvg": 16, "WaterVolumeCur": 8, "WaterTemperatureCur": 14}
29/10/2022 18:35:26: {"WaterFlowCur": 8, "WaterVolumeSum": 136, "WaterTemperatureAvg": 16, "WaterVolumeCur": 9, "WaterTemperatureCur": 14}
29/10/2022 18:35:38: {"WaterFlowCur": 8, "WaterVolumeSum": 137, "WaterTemperatureAvg": 15, "WaterVolumeCur": 10, "WaterTemperatureCur": 14}
31/10/2022 12:04:37: {"WaterFlowCur": 6, "WaterVolumeSum": 140, "WaterTemperatureAvg": 21, "WaterVolumeCur": 1, "WaterTemperatureCur": 16}
31/10/2022 12:06:02: {"WaterFlowCur": 8, "WaterVolumeSum": 146, "WaterTemperatureAvg": 17, "WaterVolumeCur": 7, "WaterTemperatureCur": 15}
31/10/2022 12:06:16: {"WaterFlowCur": 8, "WaterVolumeSum": 148, "WaterTemperatureAvg": 17, "WaterVolumeCur": 9, "WaterTemperatureCur": 15}
31/10/2022 12:06:29: {"WaterFlowCur": 8, "WaterVolumeSum": 149, "WaterTemperatureAvg": 16, "WaterVolumeCur": 10, "WaterTemperatureCur": 15}
31/10/2022 12:08:42: {"WaterFlowCur": 7, "WaterVolumeSum": 150, "WaterTemperatureAvg": 16, "WaterVolumeCur": 11, "WaterTemperatureCur": 16}
31/10/2022 12:08:54: {"WaterFlowCur": 7, "WaterVolumeSum": 151, "WaterTemperatureAvg": 16, "WaterVolumeCur": 12, "WaterTemperatureCur": 15}
31/10/2022 12:09:06: {"WaterFlowCur": 7, "WaterVolumeSum": 153, "WaterTemperatureAvg": 16, "WaterVolumeCur": 14, "WaterTemperatureCur": 15}
31/10/2022 12:09:17: {"WaterFlowCur": 5, "WaterVolumeSum": 154, "WaterTemperatureAvg": 16, "WaterVolumeCur": 15, "WaterTemperatureCur": 15}
31/10/2022 12:09:40: {"WaterFlowCur": 5, "WaterVolumeSum": 156, "WaterTemperatureAvg": 16, "WaterVolumeCur": 17, "WaterTemperatureCur": 15}
31/10/2022 12:10:01: {"WaterFlowCur": 5, "WaterVolumeSum": 158, "WaterTemperatureAvg": 16, "WaterVolumeCur": 19, "WaterTemperatureCur": 15}
31/10/2022 12:10:13: {"WaterFlowCur": 5, "WaterVolumeSum": 160, "WaterTemperatureAvg": 16, "WaterVolumeCur": 21, "WaterTemperatureCur": 15}
31/10/2022 12:10:25: {"WaterFlowCur": 5, "WaterVolumeSum": 161, "WaterTemperatureAvg": 16, "WaterVolumeCur": 22, "WaterTemperatureCur": 15}
31/10/2022 12:10:36: {"WaterFlowCur": 5, "WaterVolumeSum": 162, "WaterTemperatureAvg": 16, "WaterVolumeCur": 23, "WaterTemperatureCur": 15}
31/10/2022 12:10:48: {"WaterFlowCur": 5, "WaterVolumeSum": 163, "WaterTemperatureAvg": 16, "WaterVolumeCur": 24, "WaterTemperatureCur": 15}
31/10/2022 12:11:00: {"WaterFlowCur": 5, "WaterVolumeSum": 165, "WaterTemperatureAvg": 16, "WaterVolumeCur": 26, "WaterTemperatureCur": 15}
31/10/2022 19:04:46: {"WaterFlowCur": 6, "WaterVolumeSum": 165, "WaterTemperatureAvg": 0, "WaterVolumeCur": 0, "WaterTemperatureCur": 23}
31/10/2022 19:04:58: {"WaterFlowCur": 6, "WaterVolumeSum": 166, "WaterTemperatureAvg": 18, "WaterVolumeCur": 1, "WaterTemperatureCur": 13}
31/10/2022 19:05:36: {"WaterFlowCur": 6, "WaterVolumeSum": 170, "WaterTemperatureAvg": 16, "WaterVolumeCur": 5, "WaterTemperatureCur": 15}
31/10/2022 19:07:35: {"WaterFlowCur": 5, "WaterVolumeSum": 180, "WaterTemperatureAvg": 15, "WaterVolumeCur": 15, "WaterTemperatureCur": 15}
31/10/2022 20:34:19: {"WaterFlowCur": 6, "WaterVolumeSum": 184, "WaterTemperatureAvg": 0, "WaterVolumeCur": 0, "WaterTemperatureCur": 21}
31/10/2022 20:35:10: {"WaterFlowCur": 7, "WaterVolumeSum": 185, "WaterTemperatureAvg": 20, "WaterVolumeCur": 1, "WaterTemperatureCur": 17}
31/10/2022 20:35:21: {"WaterFlowCur": 7, "WaterVolumeSum": 186, "WaterTemperatureAvg": 19, "WaterVolumeCur": 2, "WaterTemperatureCur": 16}
31/10/2022 20:35:32: {"WaterFlowCur": 7, "WaterVolumeSum": 187, "WaterTemperatureAvg": 17, "WaterVolumeCur": 3, "WaterTemperatureCur": 16}
31/10/2022 20:35:43: {"WaterFlowCur": 8, "WaterVolumeSum": 189, "WaterTemperatureAvg": 17, "WaterVolumeCur": 5, "WaterTemperatureCur": 16}
31/10/2022 20:35:54: {"WaterFlowCur": 7, "WaterVolumeSum": 190, "WaterTemperatureAvg": 17, "WaterVolumeCur": 6, "WaterTemperatureCur": 16}
31/10/2022 20:36:15: {"WaterFlowCur": 9, "WaterVolumeSum": 192, "WaterTemperatureAvg": 16, "WaterVolumeCur": 8, "WaterTemperatureCur": 16}
31/10/2022 20:36:26: {"WaterFlowCur": 9, "WaterVolumeSum": 194, "WaterTemperatureAvg": 16, "WaterVolumeCur": 10, "WaterTemperatureCur": 16}
31/10/2022 20:36:37: {"WaterFlowCur": 9, "WaterVolumeSum": 196, "WaterTemperatureAvg": 16, "WaterVolumeCur": 12, "WaterTemperatureCur": 16}
31/10/2022 20:36:48: {"WaterFlowCur": 9, "WaterVolumeSum": 197, "WaterTemperatureAvg": 16, "WaterVolumeCur": 13, "WaterTemperatureCur": 16}
31/10/2022 20:42:19: {"WaterFlowCur": 7, "WaterVolumeSum": 199, "WaterTemperatureAvg": 0, "WaterVolumeCur": 0, "WaterTemperatureCur": 17}
31/10/2022 20:42:30: {"WaterFlowCur": 7, "WaterVolumeSum": 200, "WaterTemperatureAvg": 16, "WaterVolumeCur": 1, "WaterTemperatureCur": 16}
31/10/2022 20:42:41: {"WaterFlowCur": 6, "WaterVolumeSum": 202, "WaterTemperatureAvg": 16, "WaterVolumeCur": 3, "WaterTemperatureCur": 16}
31/10/2022 20:42:52: {"WaterFlowCur": 6, "WaterVolumeSum": 203, "WaterTemperatureAvg": 16, "WaterVolumeCur": 4, "WaterTemperatureCur": 16}
31/10/2022 20:43:03: {"WaterFlowCur": 6, "WaterVolumeSum": 204, "WaterTemperatureAvg": 16, "WaterVolumeCur": 5, "WaterTemperatureCur": 16}
31/10/2022 20:43:14: {"WaterFlowCur": 6, "WaterVolumeSum": 206, "WaterTemperatureAvg": 16, "WaterVolumeCur": 7, "WaterTemperatureCur": 16}
31/10/2022 20:43:35: {"WaterFlowCur": 9, "WaterVolumeSum": 207, "WaterTemperatureAvg": 16, "WaterVolumeCur": 8, "WaterTemperatureCur": 16}
31/10/2022 20:43:46: {"WaterFlowCur": 9, "WaterVolumeSum": 210, "WaterTemperatureAvg": 16, "WaterVolumeCur": 11, "WaterTemperatureCur": 16}
31/10/2022 20:44:08: {"WaterFlowCur": 8, "WaterVolumeSum": 213, "WaterTemperatureAvg": 16, "WaterVolumeCur": 14, "WaterTemperatureCur": 16}
31/10/2022 20:44:19: {"WaterFlowCur": 5, "WaterVolumeSum": 214, "WaterTemperatureAvg": 16, "WaterVolumeCur": 15, "WaterTemperatureCur": 18}
31/10/2022 20:44:30: {"WaterFlowCur": 5, "WaterVolumeSum": 215, "WaterTemperatureAvg": 16, "WaterVolumeCur": 16, "WaterTemperatureCur": 18}
31/10/2022 20:44:41: {"WaterFlowCur": 5, "WaterVolumeSum": 217, "WaterTemperatureAvg": 16, "WaterVolumeCur": 18, "WaterTemperatureCur": 18}
31/10/2022 20:44:52: {"WaterFlowCur": 5, "WaterVolumeSum": 218, "WaterTemperatureAvg": 16, "WaterVolumeCur": 19, "WaterTemperatureCur": 18}
31/10/2022 20:45:04: {"WaterFlowCur": 5, "WaterVolumeSum": 219, "WaterTemperatureAvg": 16, "WaterVolumeCur": 20, "WaterTemperatureCur": 18}
31/10/2022 20:45:14: {"WaterFlowCur": 5, "WaterVolumeSum": 221, "WaterTemperatureAvg": 16, "WaterVolumeCur": 22, "WaterTemperatureCur": 18}
31/10/2022 20:45:29: {"WaterFlowCur": 5, "WaterVolumeSum": 222, "WaterTemperatureAvg": 17, "WaterVolumeCur": 23, "WaterTemperatureCur": 18}
01/11/2022 16:18:04: {"WaterFlowCur": 6, "WaterVolumeSum": 225, "WaterTemperatureAvg": 20, "WaterVolumeCur": 1, "WaterTemperatureCur": 15}
01/11/2022 16:20:20: {"WaterFlowCur": 6, "WaterVolumeSum": 228, "WaterTemperatureAvg": 16, "WaterVolumeCur": 4, "WaterTemperatureCur": 14}
01/11/2022 16:20:33: {"WaterFlowCur": 6, "WaterVolumeSum": 230, "WaterTemperatureAvg": 16, "WaterVolumeCur": 6, "WaterTemperatureCur": 14}
01/11/2022 16:20:44: {"WaterFlowCur": 8, "WaterVolumeSum": 231, "WaterTemperatureAvg": 15, "WaterVolumeCur": 7, "WaterTemperatureCur": 14}
01/11/2022 16:20:56: {"WaterFlowCur": 8, "WaterVolumeSum": 232, "WaterTemperatureAvg": 15, "WaterVolumeCur": 8, "WaterTemperatureCur": 14}
01/11/2022 16:21:07: {"WaterFlowCur": 8, "WaterVolumeSum": 234, "WaterTemperatureAvg": 15, "WaterVolumeCur": 10, "WaterTemperatureCur": 14}
01/11/2022 16:21:19: {"WaterFlowCur": 8, "WaterVolumeSum": 235, "WaterTemperatureAvg": 15, "WaterVolumeCur": 11, "WaterTemperatureCur": 14}
01/11/2022 16:21:30: {"WaterFlowCur": 8, "WaterVolumeSum": 237, "WaterTemperatureAvg": 15, "WaterVolumeCur": 13, "WaterTemperatureCur": 14}
01/11/2022 16:21:42: {"WaterFlowCur": 8, "WaterVolumeSum": 238, "WaterTemperatureAvg": 15, "WaterVolumeCur": 14, "WaterTemperatureCur": 14}
01/11/2022 16:21:53: {"WaterFlowCur": 5, "WaterVolumeSum": 239, "WaterTemperatureAvg": 14, "WaterVolumeCur": 15, "WaterTemperatureCur": 14}
01/11/2022 17:53:45: {"WaterFlowCur": 6, "WaterVolumeSum": 244, "WaterTemperatureAvg": 17, "WaterVolumeCur": 4, "WaterTemperatureCur": 14}
01/11/2022 17:55:28: {"WaterFlowCur": 6, "WaterVolumeSum": 244, "WaterTemperatureAvg": 17, "WaterVolumeCur": 4, "WaterTemperatureCur": 14}
01/11/2022 17:55:48: {"WaterFlowCur": 8, "WaterVolumeSum": 247, "WaterTemperatureAvg": 15, "WaterVolumeCur": 7, "WaterTemperatureCur": 14}
01/11/2022 17:56:00: {"WaterFlowCur": 8, "WaterVolumeSum": 248, "WaterTemperatureAvg": 15, "WaterVolumeCur": 8, "WaterTemperatureCur": 14}
01/11/2022 17:56:21: {"WaterFlowCur": 8, "WaterVolumeSum": 250, "WaterTemperatureAvg": 15, "WaterVolumeCur": 10, "WaterTemperatureCur": 14}
01/11/2022 17:56:32: {"WaterFlowCur": 8, "WaterVolumeSum": 252, "WaterTemperatureAvg": 15, "WaterVolumeCur": 12, "WaterTemperatureCur": 14}
06/11/2022 13:27:08: {"WaterFlowCur": 6, "WaterVolumeSum": 285, "WaterTemperatureAvg": 21, "WaterVolumeCur": 2, "WaterTemperatureCur": 15}
06/11/2022 13:27:19: {"WaterFlowCur": 6, "WaterVolumeSum": 286, "WaterTemperatureAvg": 19, "WaterVolumeCur": 3, "WaterTemperatureCur": 15}
06/11/2022 13:27:30: {"WaterFlowCur": 6, "WaterVolumeSum": 287, "WaterTemperatureAvg": 18, "WaterVolumeCur": 4, "WaterTemperatureCur": 15}
06/11/2022 13:29:17: {"WaterFlowCur": 8, "WaterVolumeSum": 289, "WaterTemperatureAvg": 17, "WaterVolumeCur": 6, "WaterTemperatureCur": 14}
06/11/2022 13:29:28: {"WaterFlowCur": 8, "WaterVolumeSum": 292, "WaterTemperatureAvg": 16, "WaterVolumeCur": 9, "WaterTemperatureCur": 14}
06/11/2022 13:29:50: {"WaterFlowCur": 8, "WaterVolumeSum": 294, "WaterTemperatureAvg": 16, "WaterVolumeCur": 11, "WaterTemperatureCur": 14}
06/11/2022 19:03:49: {"WaterFlowCur": 6, "WaterVolumeSum": 296, "WaterTemperatureAvg": 0, "WaterVolumeCur": 0, "WaterTemperatureCur": 17}
06/11/2022 19:04:00: {"WaterFlowCur": 5, "WaterVolumeSum": 297, "WaterTemperatureAvg": 20, "WaterVolumeCur": 1, "WaterTemperatureCur": 15}
06/11/2022 19:04:12: {"WaterFlowCur": 6, "WaterVolumeSum": 298, "WaterTemperatureAvg": 18, "WaterVolumeCur": 2, "WaterTemperatureCur": 14}
06/11/2022 19:04:23: {"WaterFlowCur": 6, "WaterVolumeSum": 299, "WaterTemperatureAvg": 16, "WaterVolumeCur": 3, "WaterTemperatureCur": 14}
06/11/2022 19:04:35: {"WaterFlowCur": 6, "WaterVolumeSum": 300, "WaterTemperatureAvg": 16, "WaterVolumeCur": 4, "WaterTemperatureCur": 14}
06/11/2022 19:04:46: {"WaterFlowCur": 6, "WaterVolumeSum": 301, "WaterTemperatureAvg": 15, "WaterVolumeCur": 5, "WaterTemperatureCur": 14}
06/11/2022 19:05:28: {"WaterFlowCur": 7, "WaterVolumeSum": 303, "WaterTemperatureAvg": 15, "WaterVolumeCur": 7, "WaterTemperatureCur": 14}
06/11/2022 19:05:39: {"WaterFlowCur": 8, "WaterVolumeSum": 304, "WaterTemperatureAvg": 15, "WaterVolumeCur": 8, "WaterTemperatureCur": 14}
06/11/2022 19:06:00: {"WaterFlowCur": 7, "WaterVolumeSum": 305, "WaterTemperatureAvg": 15, "WaterVolumeCur": 9, "WaterTemperatureCur": 14}
06/11/2022 19:06:12: {"WaterFlowCur": 8, "WaterVolumeSum": 308, "WaterTemperatureAvg": 14, "WaterVolumeCur": 12, "WaterTemperatureCur": 14}
06/11/2022 19:16:32: {"WaterFlowCur": 6, "WaterVolumeSum": 310, "WaterTemperatureAvg": 16, "WaterVolumeCur": 1, "WaterTemperatureCur": 15}
06/11/2022 19:16:44: {"WaterFlowCur": 6, "WaterVolumeSum": 311, "WaterTemperatureAvg": 15, "WaterVolumeCur": 2, "WaterTemperatureCur": 14}
06/11/2022 19:17:54: {"WaterFlowCur": 6, "WaterVolumeSum": 313, "WaterTemperatureAvg": 15, "WaterVolumeCur": 4, "WaterTemperatureCur": 14}
09/11/2022 19:23:06: {"WaterFlowCur": 6, "WaterVolumeSum": 321, "WaterTemperatureAvg": 22, "WaterVolumeCur": 2, "WaterTemperatureCur": 14}
09/11/2022 19:24:33: {"WaterFlowCur": 6, "WaterVolumeSum": 324, "WaterTemperatureAvg": 17, "WaterVolumeCur": 5, "WaterTemperatureCur": 15}
09/11/2022 19:24:46: {"WaterFlowCur": 6, "WaterVolumeSum": 325, "WaterTemperatureAvg": 16, "WaterVolumeCur": 6, "WaterTemperatureCur": 14}
09/11/2022 19:24:59: {"WaterFlowCur": 8, "WaterVolumeSum": 327, "WaterTemperatureAvg": 16, "WaterVolumeCur": 8, "WaterTemperatureCur": 14}
09/11/2022 19:25:13: {"WaterFlowCur": 8, "WaterVolumeSum": 328, "WaterTemperatureAvg": 16, "WaterVolumeCur": 9, "WaterTemperatureCur": 14}
09/11/2022 19:25:25: {"WaterFlowCur": 7, "WaterVolumeSum": 330, "WaterTemperatureAvg": 15, "WaterVolumeCur": 11, "WaterTemperatureCur": 14}
11/11/2022 16:20:56: {"WaterFlowCur": 6, "WaterVolumeSum": 332, "WaterTemperatureAvg": 0, "WaterVolumeCur": 0, "WaterTemperatureCur": 19}
11/11/2022 16:21:23: {"WaterFlowCur": 6, "WaterVolumeSum": 335, "WaterTemperatureAvg": 18, "WaterVolumeCur": 3, "WaterTemperatureCur": 14}
11/11/2022 16:23:16: {"WaterFlowCur": 6, "WaterVolumeSum": 337, "WaterTemperatureAvg": 16, "WaterVolumeCur": 5, "WaterTemperatureCur": 15}
11/11/2022 16:23:29: {"WaterFlowCur": 6, "WaterVolumeSum": 339, "WaterTemperatureAvg": 16, "WaterVolumeCur": 7, "WaterTemperatureCur": 14}
11/11/2022 16:23:51: {"WaterFlowCur": 7, "WaterVolumeSum": 340, "WaterTemperatureAvg": 16, "WaterVolumeCur": 8, "WaterTemperatureCur": 14}
11/11/2022 16:24:36: {"WaterFlowCur": 7, "WaterVolumeSum": 345, "WaterTemperatureAvg": 15, "WaterVolumeCur": 13, "WaterTemperatureCur": 14}
12/11/2022 14:58:37: {"WaterFlowCur": 6, "WaterVolumeSum": 347, "WaterTemperatureAvg": 19, "WaterVolumeCur": 0, "WaterTemperatureCur": 16}
12/11/2022 14:59:02: {"WaterFlowCur": 6, "WaterVolumeSum": 350, "WaterTemperatureAvg": 17, "WaterVolumeCur": 3, "WaterTemperatureCur": 15}
12/11/2022 14:59:41: {"WaterFlowCur": 6, "WaterVolumeSum": 352, "WaterTemperatureAvg": 16, "WaterVolumeCur": 5, "WaterTemperatureCur": 15}
12/11/2022 15:00:03: {"WaterFlowCur": 8, "WaterVolumeSum": 353, "WaterTemperatureAvg": 16, "WaterVolumeCur": 6, "WaterTemperatureCur": 15}
12/11/2022 15:00:15: {"WaterFlowCur": 8, "WaterVolumeSum": 356, "WaterTemperatureAvg": 16, "WaterVolumeCur": 9, "WaterTemperatureCur": 15}
12/11/2022 15:00:28: {"WaterFlowCur": 7, "WaterVolumeSum": 357, "WaterTemperatureAvg": 16, "WaterVolumeCur": 10, "WaterTemperatureCur": 15}
12/11/2022 15:00:41: {"WaterFlowCur": 8, "WaterVolumeSum": 359, "WaterTemperatureAvg": 15, "WaterVolumeCur": 12, "WaterTemperatureCur": 15}
12/11/2022 15:00:53: {"WaterFlowCur": 8, "WaterVolumeSum": 360, "WaterTemperatureAvg": 15, "WaterVolumeCur": 13, "WaterTemperatureCur": 15}
12/11/2022 15:01:06: {"WaterFlowCur": 8, "WaterVolumeSum": 361, "WaterTemperatureAvg": 15, "WaterVolumeCur": 14, "WaterTemperatureCur": 15}
12/11/2022 15:01:18: {"WaterFlowCur": 5, "WaterVolumeSum": 363, "WaterTemperatureAvg": 15, "WaterVolumeCur": 16, "WaterTemperatureCur": 15}
12/11/2022 15:01:31: {"WaterFlowCur": 5, "WaterVolumeSum": 364, "WaterTemperatureAvg": 15, "WaterVolumeCur": 17, "WaterTemperatureCur": 15}
12/11/2022 15:01:43: {"WaterFlowCur": 5, "WaterVolumeSum": 366, "WaterTemperatureAvg": 15, "WaterVolumeCur": 19, "WaterTemperatureCur": 15}
12/11/2022 15:03:48: {"WaterFlowCur": 5, "WaterVolumeSum": 368, "WaterTemperatureAvg": 15, "WaterVolumeCur": 21, "WaterTemperatureCur": 15}
12/11/2022 15:04:13: {"WaterFlowCur": 5, "WaterVolumeSum": 370, "WaterTemperatureAvg": 15, "WaterVolumeCur": 23, "WaterTemperatureCur": 15}
12/11/2022 15:04:25: {"WaterFlowCur": 5, "WaterVolumeSum": 372, "WaterTemperatureAvg": 15, "WaterVolumeCur": 25, "WaterTemperatureCur": 15}
12/11/2022 15:04:39: {"WaterFlowCur": 5, "WaterVolumeSum": 373, "WaterTemperatureAvg": 15, "WaterVolumeCur": 26, "WaterTemperatureCur": 15}
12/11/2022 15:04:52: {"WaterFlowCur": 5, "WaterVolumeSum": 374, "WaterTemperatureAvg": 15, "WaterVolumeCur": 27, "WaterTemperatureCur": 15}
12/11/2022 15:05:06: {"WaterFlowCur": 5, "WaterVolumeSum": 376, "WaterTemperatureAvg": 15, "WaterVolumeCur": 29, "WaterTemperatureCur": 15}
12/11/2022 15:05:18: {"WaterFlowCur": 5, "WaterVolumeSum": 377, "WaterTemperatureAvg": 15, "WaterVolumeCur": 30, "WaterTemperatureCur": 15}
12/11/2022 15:05:31: {"WaterFlowCur": 10, "WaterVolumeSum": 378, "WaterTemperatureAvg": 15, "WaterVolumeCur": 31, "WaterTemperatureCur": 15}
12/11/2022 15:05:44: {"WaterFlowCur": 10, "WaterVolumeSum": 380, "WaterTemperatureAvg": 15, "WaterVolumeCur": 33, "WaterTemperatureCur": 15}
12/11/2022 15:38:06: {"WaterFlowCur": 6, "WaterVolumeSum": 381, "WaterTemperatureAvg": 0, "WaterVolumeCur": 0, "WaterTemperatureCur": 15}
12/11/2022 15:38:19: {"WaterFlowCur": 6, "WaterVolumeSum": 383, "WaterTemperatureAvg": 16, "WaterVolumeCur": 2, "WaterTemperatureCur": 14}
12/11/2022 15:39:48: {"WaterFlowCur": 6, "WaterVolumeSum": 385, "WaterTemperatureAvg": 15, "WaterVolumeCur": 4, "WaterTemperatureCur": 15}
12/11/2022 15:40:00: {"WaterFlowCur": 6, "WaterVolumeSum": 386, "WaterTemperatureAvg": 15, "WaterVolumeCur": 5, "WaterTemperatureCur": 14}
12/11/2022 15:40:13: {"WaterFlowCur": 6, "WaterVolumeSum": 388, "WaterTemperatureAvg": 15, "WaterVolumeCur": 7, "WaterTemperatureCur": 14}
12/11/2022 15:40:25: {"WaterFlowCur": 8, "WaterVolumeSum": 389, "WaterTemperatureAvg": 15, "WaterVolumeCur": 8, "WaterTemperatureCur": 14}
12/11/2022 15:40:38: {"WaterFlowCur": 8, "WaterVolumeSum": 391, "WaterTemperatureAvg": 15, "WaterVolumeCur": 10, "WaterTemperatureCur": 14}
12/11/2022 15:41:00: {"WaterFlowCur": 8, "WaterVolumeSum": 392, "WaterTemperatureAvg": 15, "WaterVolumeCur": 11, "WaterTemperatureCur": 14}
13/11/2022 18:31:20: {"WaterFlowCur": 6, "WaterVolumeSum": 407, "WaterTemperatureAvg": 22, "WaterVolumeCur": 2, "WaterTemperatureCur": 14}
13/11/2022 22:03:39: {"WaterFlowCur": 6, "WaterVolumeSum": 421, "WaterTemperatureAvg": 0, "WaterVolumeCur": 0, "WaterTemperatureCur": 21}
13/11/2022 22:04:00: {"WaterFlowCur": 7, "WaterVolumeSum": 422, "WaterTemperatureAvg": 21, "WaterVolumeCur": 1, "WaterTemperatureCur": 16}
13/11/2022 22:04:12: {"WaterFlowCur": 6, "WaterVolumeSum": 425, "WaterTemperatureAvg": 18, "WaterVolumeCur": 4, "WaterTemperatureCur": 16}
13/11/2022 22:04:23: {"WaterFlowCur": 6, "WaterVolumeSum": 426, "WaterTemperatureAvg": 18, "WaterVolumeCur": 5, "WaterTemperatureCur": 16}
13/11/2022 22:06:16: {"WaterFlowCur": 7, "WaterVolumeSum": 427, "WaterTemperatureAvg": 18, "WaterVolumeCur": 6, "WaterTemperatureCur": 16}
13/11/2022 22:06:27: {"WaterFlowCur": 9, "WaterVolumeSum": 428, "WaterTemperatureAvg": 17, "WaterVolumeCur": 7, "WaterTemperatureCur": 15}
13/11/2022 22:06:38: {"WaterFlowCur": 8, "WaterVolumeSum": 429, "WaterTemperatureAvg": 17, "WaterVolumeCur": 8, "WaterTemperatureCur": 15}
13/11/2022 22:06:49: {"WaterFlowCur": 8, "WaterVolumeSum": 431, "WaterTemperatureAvg": 17, "WaterVolumeCur": 10, "WaterTemperatureCur": 15}
13/11/2022 22:07:00: {"WaterFlowCur": 9, "WaterVolumeSum": 432, "WaterTemperatureAvg": 17, "WaterVolumeCur": 11, "WaterTemperatureCur": 15}
13/11/2022 22:07:12: {"WaterFlowCur": 9, "WaterVolumeSum": 433, "WaterTemperatureAvg": 16, "WaterVolumeCur": 12, "WaterTemperatureCur": 15}
13/11/2022 22:07:23: {"WaterFlowCur": 8, "WaterVolumeSum": 435, "WaterTemperatureAvg": 16, "WaterVolumeCur": 14, "WaterTemperatureCur": 15}
13/11/2022 22:07:34: {"WaterFlowCur": 5, "WaterVolumeSum": 436, "WaterTemperatureAvg": 16, "WaterVolumeCur": 15, "WaterTemperatureCur": 15}
14/11/2022 13:35:30: {"WaterFlowCur": 6, "WaterVolumeSum": 439, "WaterTemperatureAvg": 19, "WaterVolumeCur": 1, "WaterTemperatureCur": 16}
14/11/2022 13:37:13: {"WaterFlowCur": 6, "WaterVolumeSum": 441, "WaterTemperatureAvg": 17, "WaterVolumeCur": 3, "WaterTemperatureCur": 16}
14/11/2022 13:37:28: {"WaterFlowCur": 6, "WaterVolumeSum": 443, "WaterTemperatureAvg": 16, "WaterVolumeCur": 5, "WaterTemperatureCur": 15}
14/11/2022 13:37:51: {"WaterFlowCur": 8, "WaterVolumeSum": 445, "WaterTemperatureAvg": 16, "WaterVolumeCur": 7, "WaterTemperatureCur": 15}
14/11/2022 13:38:02: {"WaterFlowCur": 8, "WaterVolumeSum": 447, "WaterTemperatureAvg": 16, "WaterVolumeCur": 9, "WaterTemperatureCur": 15}
14/11/2022 13:38:13: {"WaterFlowCur": 8, "WaterVolumeSum": 448, "WaterTemperatureAvg": 16, "WaterVolumeCur": 10, "WaterTemperatureCur": 15}
14/11/2022 13:38:25: {"WaterFlowCur": 8, "WaterVolumeSum": 450, "WaterTemperatureAvg": 16, "WaterVolumeCur": 12, "WaterTemperatureCur": 15}
(I'm not working on this at the moment) I agree this is very strange, our understanding of temperature is probably incorrect!
@kamaradclimber , don't know if you are still using the shower. But can you please tell me the HW Version and Firmware Version of your device. I got a new one because it was no longer functioning after 3week of vacation (maybe some lime or so ... but I can open the old one to see how it was build ;-)) I now have HW 9 and FW 90040400 (Maybe you had already a newer one like I posted before (HW 8 and other FW) inour analysing the temp and flow?)
Currently I have the problem that the volumes (current and sum) are not working: -> handle=0x0012 is reporting shorter than before (was xx xx xx xx) and does currently not change, stays always "53 02"
Wed, 30 Aug 2023 20:35:30 INFO call_gatttool_external sudo gatttool -i hci0 -b 6E:xx:vv:xx:xx:xx --char-read --handle=0x0012
Wed, 30 Aug 2023 20:35:37 INFO run Running...
Wed, 30 Aug 2023 20:35:37 INFO call_gatttool_external Characteristic value/descriptor: 53 02
Wed, 30 Aug 2023 20:35:37 INFO <module> Error: unpack requires a string argument of length 4
Will have to spend some water for analysing again after it was running with the older shower for the last year ;-)
Hello, I'm not using it anymore because it stopped working about 3 months ago. If you know how to extract information from the shower head, that would be great! FW version is likely in one of the dump I put in the repo but I don't anymore how to look for it.
Do you know if the temperature is also available via bluetooth. Do you have ideas in which characteristic it is saved?
(I successfully can read the infos arnog23 has mentioned in this post https://community.jeedom.com/t/plugin-blea-hydrao/11622/36)