Closed DubMFG closed 8 months ago
Hi, Thanks for reporting the issue. It seems that we never supported Liter units. I've made a blind fix, please try to use the latest v2.5.3 version and let me know if it works. Thanks.
No dice unfortunately. How is the data sourced from Eyeonwater? I could take a look at my end and see where the issue is perhaps?
Log details (ERROR) This error originated from a custom integration. Logger: custom_components.eyeonwater Source: custom_components/eyeonwater/init.py:45 Integration: EyeOnWater (documentation) First occurred: 8:46:56 PM (3 occurrences) Last logged: 8:47:56 PM
Fetching meters failed Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/pyonwater/meter_reader.py", line 47, in read_meter_info meter_info = MeterInfo.parse_obj(meters[0]["_source"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pydantic/main.py", line 526, in parse_obj return cls(**obj) ^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pydantic/main.py", line 341, in init raise validation_error pydantic.error_wrappers.ValidationError: 1 validation error for MeterInfo register_0 -> latest_read -> bill_display_units value is not a valid enumeration member; permitted: 'GAL', '100 GAL', '10 GAL', 'CF', 'CUBIC_FEET', 'CCF', 'KGAL', 'CM', 'CUBIC_METER', 'LITER' (type=type_error.enum; enum_values=[<EOWUnits.UNIT_GAL: 'GAL'>, <EOWUnits.UNIT_100_GAL: '100 GAL'>, <EOWUnits.UNIT_10_GAL: '10 GAL'>, <EOWUnits.UNIT_CF: 'CF'>, <EOWUnits.UNIT_CUBIC_FEET: 'CUBIC_FEET'>, <EOWUnits.UNIT_CCF: 'CCF'>, <EOWUnits.UNIT_KGAL: 'KGAL'>, <EOWUnits.UNIT_CM: 'CM'>, <EOWUnits.UNIT_CUBIC_METER: 'CUBIC_METER'>, <EOWUnits.UNIT_LITER: 'LITER'>])
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "/config/custom_components/eyeonwater/init.py", line 45, in async_setup_entry await eye_on_water_data.setup() File "/config/custom_components/eyeonwater/coordinator.py", line 35, in setup self.meters = await self.account.fetch_meters(self.client) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyonwater/account.py", line 67, in fetch_meters meter_info = await reader.read_meter_info(client) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyonwater/meter_reader.py", line 50, in read_meter_info raise EyeOnWaterAPIError(msg) from e pyonwater.exceptions.EyeOnWaterAPIError: Unexpected EOW response 1 validation error for MeterInfo register_0 -> latest_read -> bill_display_units value is not a valid enumeration member; permitted: 'GAL', '100 GAL', '10 GAL', 'CF', 'CUBIC_FEET', 'CCF', 'KGAL', 'CM', 'CUBIC_METER', 'LITER' (type=type_error.enum; enum_values=[<EOWUnits.UNIT_GAL: 'GAL'>, <EOWUnits.UNIT_100_GAL: '100 GAL'>, <EOWUnits.UNIT_10_GAL: '10 GAL'>, <EOWUnits.UNIT_CF: 'CF'>, <EOWUnits.UNIT_CUBIC_FEET: 'CUBIC_FEET'>, <EOWUnits.UNIT_CCF: 'CCF'>, <EOWUnits.UNIT_KGAL: 'KGAL'>, <EOWUnits.UNIT_CM: 'CM'>, <EOWUnits.UNIT_CUBIC_METER: 'CUBIC_METER'>, <EOWUnits.UNIT_LITER: 'LITER'>])
It would be helpful if you could take a look how the unit is spelled in the eyeonwater.ca: liter, litr, litre? Or if you have some dev background: you could take a look at example.py of pyonwater
Or if you can take a look how the response of the of the consumption endpoint looks like. My response is like in the screenshot:
Looks to be LITER
{ "hit": { "meter.communication_seconds": [ 86400 ], "meter.timezone": [ "US/Pacific" ], "register_0.encoder": [ { "dials": 9 } ], "location.location_uuid": [ "REDACTED" ], "meter.fluid_type": [ "Water" ], "meter.meter_id": [ "18385958" ], "account.full_name": [ "REDACTED" ], "meter.meter_uuid": [ "REDACTED" ], "meter.has_endpoint": [ true ], "meter.serial_number": [ "REDACTED" ], "account.account_id": [ "0002" ], "location.location_name": [ " " ], "service.service_id": [ "REDACTED" ], "register_0.serial_number": [ "REDACTED" ], "utility.utility_uuid": [ "REDACTED" ], "account.account_uuid": [ "REDACTED" ] }, "min_chart_aggregation": "minutes", "params": { "start_date_utc": 1706774400.0, "date": "2024-02-26T00:00:00", "end_date": "2024-02-29T23:59:59", "end_date_utc": 1709279999.0, "compare": false, "read_type": "BARNACLE", "start_date": "2024-02-01T00:00:00", "end_date_tz": "2024-02-29T23:59:59-08:00", "aggregate": "daily", "aggregate_group": "%Y-%m-%d", "perspective": "calendar", "units": "LITER", "start_date_tz": "2024-02-01T00:00:00-08:00", "adjust_to": false, "combine_group": false }, "timeseries": { "8240568100404303911,0": { "series": [ { "bill_read": 1182995.0, "end_date": "2024-02-25T18:44:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 74.0, "start_date": "2024-02-25T00:14:59", "date": "2024-02-25", "register_number": 0, "estimated": 0, "raw_read": 11829950, "unit": "LITER" }, { "bill_read": 1182921.0, "end_date": "2024-02-24T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 44.0, "start_date": "2024-02-24T00:14:59", "date": "2024-02-24", "register_number": 0, "estimated": 0, "raw_read": 11829210, "unit": "LITER" }, { "bill_read": 1182877.0, "end_date": "2024-02-23T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 222.0, "start_date": "2024-02-23T00:14:59", "date": "2024-02-23", "register_number": 0, "estimated": 0, "raw_read": 11828770, "unit": "LITER" }, { "bill_read": 1182655.0, "end_date": "2024-02-22T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 73.0, "start_date": "2024-02-22T00:14:59", "date": "2024-02-22", "register_number": 0, "estimated": 0, "raw_read": 11826550, "unit": "LITER" }, { "bill_read": 1182582.0, "end_date": "2024-02-21T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 41.0, "start_date": "2024-02-21T00:14:59", "date": "2024-02-21", "register_number": 0, "estimated": 0, "raw_read": 11825820, "unit": "LITER" }, { "bill_read": 1182541.0, "end_date": "2024-02-20T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 60.0, "start_date": "2024-02-20T00:14:59", "date": "2024-02-20", "register_number": 0, "estimated": 0, "raw_read": 11825410, "unit": "LITER" }, { "bill_read": 1182481.0, "end_date": "2024-02-19T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 120.0, "start_date": "2024-02-19T00:14:59", "date": "2024-02-19", "register_number": 0, "estimated": 0, "raw_read": 11824810, "unit": "LITER" }, { "bill_read": 1182361.0, "end_date": "2024-02-18T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 73.0, "start_date": "2024-02-18T00:14:59", "date": "2024-02-18", "register_number": 0, "estimated": 0, "raw_read": 11823610, "unit": "LITER" }, { "bill_read": 1182288.0, "end_date": "2024-02-17T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 107.0, "start_date": "2024-02-17T00:14:59", "date": "2024-02-17", "register_number": 0, "estimated": 0, "raw_read": 11822880, "unit": "LITER" }, { "bill_read": 1182181.0, "end_date": "2024-02-16T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 58.0, "start_date": "2024-02-16T00:14:59", "date": "2024-02-16", "register_number": 0, "estimated": 0, "raw_read": 11821810, "unit": "LITER" }, { "bill_read": 1182123.0, "end_date": "2024-02-15T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 215.0, "start_date": "2024-02-15T00:14:59", "date": "2024-02-15", "register_number": 0, "estimated": 0, "raw_read": 11821230, "unit": "LITER" }, { "bill_read": 1181908.0, "end_date": "2024-02-14T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 57.0, "start_date": "2024-02-14T00:14:59", "date": "2024-02-14", "register_number": 0, "estimated": 0, "raw_read": 11819080, "unit": "LITER" }, { "bill_read": 1181851.0, "end_date": "2024-02-13T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 80.0, "start_date": "2024-02-13T00:14:59", "date": "2024-02-13", "register_number": 0, "estimated": 0, "raw_read": 11818510, "unit": "LITER" }, { "bill_read": 1181771.0, "end_date": "2024-02-12T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 66.0, "start_date": "2024-02-12T00:14:59", "date": "2024-02-12", "register_number": 0, "estimated": 0, "raw_read": 11817710, "unit": "LITER" }, { "bill_read": 1181705.0, "end_date": "2024-02-11T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 64.0, "start_date": "2024-02-11T00:14:59", "date": "2024-02-11", "register_number": 0, "estimated": 0, "raw_read": 11817050, "unit": "LITER" }, { "bill_read": 1181641.0, "end_date": "2024-02-10T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 65.0, "start_date": "2024-02-10T00:14:59", "date": "2024-02-10", "register_number": 0, "estimated": 0, "raw_read": 11816410, "unit": "LITER" }, { "bill_read": 1181576.0, "end_date": "2024-02-09T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 100.0, "start_date": "2024-02-09T00:14:59", "date": "2024-02-09", "register_number": 0, "estimated": 0, "raw_read": 11815760, "unit": "LITER" }, { "bill_read": 1181476.0, "end_date": "2024-02-08T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 36.0, "start_date": "2024-02-08T00:14:59", "date": "2024-02-08", "register_number": 0, "estimated": 0, "raw_read": 11814760, "unit": "LITER" }, { "bill_read": 1181440.0, "end_date": "2024-02-07T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 43.0, "start_date": "2024-02-07T00:14:59", "date": "2024-02-07", "register_number": 0, "estimated": 0, "raw_read": 11814400, "unit": "LITER" }, { "bill_read": 1181397.0, "end_date": "2024-02-06T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 116.0, "start_date": "2024-02-06T00:14:59", "date": "2024-02-06", "register_number": 0, "estimated": 0, "raw_read": 11813970, "unit": "LITER" }, { "bill_read": 1181281.0, "end_date": "2024-02-05T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 163.0, "start_date": "2024-02-05T00:14:59", "date": "2024-02-05", "register_number": 0, "estimated": 0, "raw_read": 11812810, "unit": "LITER" }, { "bill_read": 1181118.0, "end_date": "2024-02-04T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 248.0, "start_date": "2024-02-04T00:14:59", "date": "2024-02-04", "register_number": 0, "estimated": 0, "raw_read": 11811180, "unit": "LITER" }, { "bill_read": 1180870.0, "end_date": "2024-02-03T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 47.0, "start_date": "2024-02-03T00:14:59", "date": "2024-02-03", "register_number": 0, "estimated": 0, "raw_read": 11808700, "unit": "LITER" }, { "bill_read": 1180823.0, "end_date": "2024-02-02T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 234.0, "start_date": "2024-02-02T00:14:59", "date": "2024-02-02", "register_number": 0, "estimated": 0, "raw_read": 11808230, "unit": "LITER" }, { "bill_read": 1180589.0, "end_date": "2024-02-01T23:59:59", "display_unit": "Liter", "meter_uuid": 8240568100404303911, "value": 64.0, "start_date": "2024-02-01T00:14:59", "date": "2024-02-01", "register_number": 0, "estimated": 0, "raw_read": 11805890, "unit": "LITER" } ], "legend": { "supply_zone_id": "", "location_name": "REDACTED", "account_id": "0002", "demand_zone_id": "", "meter_id": "18385958", "full_name": "REDACTED", "serial_number": "REDACTED" } } }, "min_aggregation_seconds": 900, "annotations": [] }
I think I found it, please try v2.5.4
Same error unfortunately. <3 <3 <3
Could you please extract the payload of the new_search endpoint?
I can certainly try. Where should I be in HA to see that endpoint (I'm sorry, this is pushing my skill level. Just need some extra verbose guidance. Again, sorry).
I'm not sure how to get to the page that would show this info in the inspection tool in chrome (sorry - I know it's pedantic to ask how to get there)
Sorry, my bad. It's the same way you extracted the JSON you attached above.
The integration uses 2 endpoint of eyeonwater.ca: /consumption and /new_search. Unfortunately the eyeonwater API is not documented, so each time I perform a reverse engineering, And if I have response content of both endpoints, I can easily do the reverse engineering.
You can open the Chrome Dev Tools by pressing Ctrl + Shift + I (if you use Windows).
Ahh got it. Thank you.
{ "elastic_results": { "hits": { "hits": [ { "_score": 1.0, "_id": "REDACTED", "_source": { "updated": 5009, "last_updated": "2024-02-26T02:51:22.063Z", "service": { "class_code_normalized": "", "route": "1", "active": true, "class_code": "", "service_type": "W", "service_id": "00002338", "start_date": "2018-08-03T06:59:59", "service_point_uuid": "REDACTED", "cycle": "" }, "location": { "city": "REDACTED", "parcel_number": "", "location_name": " ", "parity": "O", "country": "CAN", "route": "1", "geocode_status": 1, "zip_code": "REDACTED", "longitude": "-117.491512", "display_address_3": "", "state": "BC", "location_uuid": "REDACTED", "county_name": "", "latitude": "REDACTED", "display_address_2": "", "location_id": "1-0002", "display_address": "REDACTED", "display_street_name": "", "cycle": "" }, "alerts": { "leak_alert": { "alert_type": "CONTINUOUS_FLOW", "name": "Continuous flow", "residential_user_name": "", "date_updated": "2020-05-29T17:44:10", "alert_uuid": "REDACTED", "state": "active", "date_created": "2020-04-24T02:14:43", "creator_user_uuid": "REDACTED" } }, "account": { "status": "", "first_name": "REDACTED", "billing_address": "", "billing_city": "", "account_uuid": "REDACTED", "billing_address_2": "", "full_name": "REDACTED", "email": "", "phone": "", "portal_status": "", "last_name": "REDACTED", "account_id": "0002", "class_code": "", "billing_address_3": "", "person_id": "", "date_created": "2019-08-29T22:02:42", "account_billing_cycle": "", "billing_zip_code": "REDACTED", "billing_country": "", "billing_state": "", "eyeonwater": "Yes" }, "meter": { "sensors_available": { "types": [ "endpoint_temperature" ] }, "has_endpoint": true, "install_date": "2018-08-03T06:59:59", "meter_uuid": "REDACTED", "fluid_type": "Water", "timezone": "US/Pacific", "firmware_version": "1.14.1290", "communication_security": "VPN", "meter_size_unit": "INCHES", "cell_type": "LTE", "geocode_status": 1, "geo": "REDACTED", "last_read_time": "2024-02-26T02:45:00", "note": "", "battery": { "register": 0, "time": "2024-02-26T02:46:09", "quality": "good", "thresh12mo": 10, "level": 100 }, "endpoint_status": "Active", "alert_code": 0, "gas_pressure_compensation": 1.0, "service_type": "W", "serial_number": "REDACTED", "type": "W", "pwr": { "level": 5, "register": 0, "signal_7days": 7, "signal_strength": -49, "time": "2024-02-26T02:46:09", "quality": "good", "signal_30days": 30 }, "endpoint_connector": "None", "communication_seconds": 86400, "meter_size_desc": "5/8\"", "is_compound": "No", "latitude": "49.474968", "typical_read_method": "Network", "endpoint_type": "ORION Cellular", "meter_id": "REDACTED", "last_communication_time": "2024-02-26T02:46:09", "pit_type": "Unspecified", "meter_spec_uuid": "REDACTED", "manufacturer": "Badger/Beacon series", "has_valve": false, "has_sensor": true, "gas_sub_count": 1, "notes": { "count": 0 }, "meter_size": 0.625, "flow": { "this_week": 167.22090765000002, "months_updated": "2024-02-25T20:51:22.048005-06:00", "last_month": 920.1112501499999, "last_year_last_month_ratio": 0.1418643386364942, "last_year_last_month": 4599.49956255, "delta_positive": 20.0, "time": "2024-02-26T02:44:59", "time_positive": "2024-02-26T02:44:59", "last_month_ratio": 0.7091587711742752, "last_week_avg": 24.41704519285714, "last_year_this_month_ratio": 0.21594684385382062, "delta": 20.0, "this_month": 652.5049635, "week_ratio": 0.9783616692426585, "weeks_updated": "2024-02-25T18:51:17", "last_year_this_month": 3021.5999079, "last_week": 170.91931635, "this_week_avg": 23.888701092857143 }, "longitude": "REDACTED", "flags": { "active_flags": [], "time": "2024-02-26T02:45:00" }, "model": "", "sequence_number": 1 }, "service_agreement": { "service_agreement_uuid": "REDACTED", "start_date": "2018-08-03T06:59:59" }, "version": "2", "user": { "user_uuid": "REDACTED", "user_name": "REDACTED", "date_created": "2024-01-28T18:04:13" }, "groups": { "irrigation": "No", "continuous_flow": "Yes", "is_irrigatable": "No", "disable_valve_shutoff": "No" }, "register_0": { "battery": { "register": 0, "time": "2024-02-26T02:46:09", "quality": "good", "thresh12mo": 10, "level": 100 }, "customer_uuid": "REDACTED", "aggregation_seconds": 900, "last_communication_time": "2024-02-26T02:46:09", "firmware_version": "1.14.1290", "communication_security": "VPN", "meter_size_desc": "5/8\"", "barnacle_uuid": "REDACTED", "unit": "CUBIC_METER", "customer_name": "REDACTED", "cell_type": "LTE", "pi_status": "", "second_carrier": false, "latest_read": { "bill_read": 1182995.5, "bill_display_units": "Liters", "full_read": 1182.9955, "read_time": "2024-02-26T02:45:00", "has_endpoints": true, "units": "CUBIC_METER", "method": "Network" }, "input_config": "encoder", "meter_size_unit": "INCHES", "endpoint_status": "Active", "gas_pressure_compensation": 1.0, "serial_number": "REDACTED", "time_slot": 9952, "activated_on": null, "sim_vendor": "", "pwr": { "level": 5, "register": 0, "signal_7days": 7, "signal_strength": -49, "time": "2024-02-26T02:46:09", "quality": "good", "signal_30days": 30 }, "communication_seconds": 86400, "cell_endpoint_name": "Unknown", "rf_communication": false, "low_read_limit": null, "utility_use_1": "", "utility_use_2": "", "encoder": { "time": "2019-06-11T03:00:00", "dials": 9, "register_id": "0018385958", "totalizer": 2361040 }, "endpoint_type": "ORION Cellular", "multiplier": "0.0264172050", "sim_type": "DATA", "register_number": "single", "communication_mode": "Standard", "wired_interface": "encoder", "endpoint_install_date": "2018-08-03T06:59:59", "high_read_limit": null, "gas_sub_count": 1, "billing_number": "24885", "meter_size": 0.625, "flow": { "this_week": 167.22090765000002, "months_updated": "2024-02-25T20:51:22.048005-06:00", "last_month": 920.1112501499999, "last_year_last_month_ratio": 0.1418643386364942, "last_year_last_month": 4599.49956255, "delta_positive": 20.0, "time": "2024-02-26T02:44:59", "time_positive": "2024-02-26T02:44:59", "last_month_ratio": 0.7091587711742752, "last_week_avg": 24.41704519285714, "last_year_this_month_ratio": 0.21594684385382062, "delta": 20.0, "this_month": 652.5049635, "week_ratio": 0.9783616692426585, "weeks_updated": "2024-02-25T18:51:17", "last_year_this_month": 3021.5999079, "last_week": 170.91931635, "this_week_avg": 23.888701092857143 }, "hardware_version": "NA", "connector_type": "None", "flags": { "Forced": false, "MagneticTamper": false, "EmptyPipe": false, "Leak": false, "EncoderNoUsage": false, "EncoderTemperature": false, "EncoderReverseFlow": false, "ReadingChanged": false, "CoverRemoved": false, "ProgrammingChanged": false, "EncoderExceedingMaxFlow": false, "WaterTemperatureSensorError": false, "OscillatorFailure": false, "EncoderSensorError": false, "Tamper": false, "ReverseFlow": false, "EncoderLeak": false, "LowBattery": false, "WaterPressureSensorError": false, "MinMaxInvalid": false, "EndOfLife": false, "EncoderDialChange": false, "NoUsage": false, "BatteryCharging": false, "DeviceAlert": false, "EndpointReadingMissed": false, "EncoderRemoval": false, "ProfileReadError": false, "EncoderProgrammed": false, "time": "2024-02-26T02:45:00", "EncoderMagneticTamper": false, "MeterTemperatureSensorError": false }, "model": "", "resolution": 0.0001 }, "linked_device_id": [ "Aquarius.Endpoint.REDACTED" ], "sensors": { "endpoint_temperature": { "latest_average": 3.0, "last_reported": "2024-02-26T02:45:00", "seven_day_min": "-1.0", "seven_day_average": "0.8", "seven_day_max": "3.0", "sensor_uuid": "REDACTED", "conditions": { "increasing": false, "decreasing": false } } }, "utility": { "fluid_barrel_billing_unit": "FLUID_BARREL", "cm_billing_unit": "Liter", "cf_billing_unit": "CCF", "type": "NORMAL", "utility_name": "REDACTED", "eow_service_selector": "NONE", "gas_cf_billing_unit": "CF", "eow_type": "CLASSIC", "oil_barrel_billing_unit": "OIL_BARREL", "date_created": "2018-07-27T15:59:22", "gal_billing_unit": "G1000", "gas_cm_billing_unit": "CM", "utility_uuid": "REDACTED", "imp_billing_unit": "Imp1" } }, "_index": "services_v6" } ], "total": { "relation": "eq", "value": 1 }, "max_score": 1.0 }, "facets": [], "stats": { "count": 1, "query_time": 4 }, "took": 4, "aggs": [] }, "stats": { "count": 1, "query_time": "0.040" } }
So far I found 3 different versions of the unit name: LITER, Liter and Liters.
It loaded!!
THANK YOU!!!
You absolute legend <3
We did it!
Hi Devs! Thank you for supporting this addon!
I'll admit that I'm not super code savvy - I tried looking for meter_reader.py but wasn't able to locate it in my HA Pi. In fact, I'm not sure posting an issue is even the most friendly way to request assistance, but here we are.
It appears that the enumeration member for my service does not match an allowed format? The meter reports back in Litres (I'm on the eyeonwater.ca domain, if that matters)
Here's the log - if you have any suggestions, I'm all ears.
`Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/pyonwater/meter_reader.py", line 47, in read_meter_info meter_info = MeterInfo.parse_obj(meters[0]["_source"]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pydantic/main.py", line 526, in parse_obj return cls(**obj) ^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pydantic/main.py", line 341, in init raise validation_error pydantic.error_wrappers.ValidationError: 1 validation error for MeterInfo register_0 -> latest_read -> bill_display_units value is not a valid enumeration member; permitted: 'GAL', '100 GAL', '10 GAL', 'CF', 'CUBIC_FEET', 'CCF', 'KGAL', 'CM', 'CUBIC_METER' (type=type_error.enum; enum_values=[<EOWUnits.UNIT_GAL: 'GAL'>, <EOWUnits.UNIT_100_GAL: '100 GAL'>, <EOWUnits.UNIT_10_GAL: '10 GAL'>, <EOWUnits.UNIT_CF: 'CF'>, <EOWUnits.UNIT_CUBIC_FEET: 'CUBIC_FEET'>, <EOWUnits.UNIT_CCF: 'CCF'>, <EOWUnits.UNIT_KGAL: 'KGAL'>, <EOWUnits.UNIT_CM: 'CM'>, <EOWUnits.UNIT_CUBIC_METER: 'CUBIC_METER'>])
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "/config/custom_components/eyeonwater/init.py", line 45, in async_setup_entry await eye_on_water_data.setup() File "/config/custom_components/eyeonwater/coordinator.py", line 35, in setup self.meters = await self.account.fetch_meters(self.client) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyonwater/account.py", line 67, in fetch_meters meter_info = await reader.read_meter_info(client) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pyonwater/meter_reader.py", line 50, in read_meter_info raise EyeOnWaterAPIError(msg) from e pyonwater.exceptions.EyeOnWaterAPIError: Unexpected EOW response 1 validation error for MeterInfo register_0 -> latest_read -> bill_display_units value is not a valid enumeration member; permitted: 'GAL', '100 GAL', '10 GAL', 'CF', 'CUBIC_FEET', 'CCF', 'KGAL', 'CM', 'CUBIC_METER' (type=type_error.enum; enum_values=[<EOWUnits.UNIT_GAL: 'GAL'>, <EOWUnits.UNIT_100_GAL: '100 GAL'>, <EOWUnits.UNIT_10_GAL: '10 GAL'>, <EOWUnits.UNIT_CF: 'CF'>, <EOWUnits.UNIT_CUBIC_FEET: 'CUBIC_FEET'>, <EOWUnits.UNIT_CCF: 'CCF'>, <EOWUnits.UNIT_KGAL: 'KGAL'>, <EOWUnits.UNIT_CM: 'CM'>, <EOWUnits.UNIT_CUBIC_METER: 'CUBIC_METER'>]) `