haomnilogic-local
haomnilogic-local copied to clipboard
Temp shows in F through Omni-Local but is configured in C.
My heater shows F instead of C but the OmniApp shows it correctly. See screenshots.
.
Can you please attach the diagnostic data from the integration to this issue?
Looks to be sending in F: "10": { "__type": "<class 'custom_components.omnilogic_local.types.entity_index.EntityIndexData'>", "repr": "EntityIndexData(msp_config=MSPSensor(system_id=10, name='WaterSensor', bow_id=1, omni_type=<OmniType.SENSOR: 'Sensor'>, type=<SensorType.WATER_TEMP: 'SENSOR_WATER_TEMP'>, units=<SensorUnits.FAHRENHEIT: 'UNITS_FAHRENHEIT'>), telemetry=None)" },
On Fri, Jun 7, 2024 at 8:03 PM cryptk @.***> wrote:
Can you please attach the diagnostic data from the integration to this issue?
— Reply to this email directly, view it on GitHub https://github.com/cryptk/haomnilogic-local/issues/96#issuecomment-2155708852, or unsubscribe https://github.com/notifications/unsubscribe-auth/BACQJZ2QW25Y4EYQS7VEPMTZGJC4HAVCNFSM6AAAAABH6L2OROVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJVG4YDQOBVGI . You are receiving this because you authored the thread.Message ID: @.***>
Hi, what was the solution here?
@HeathSab I'm hoping to look into this one sometime this weekend IF I have time. I have made this as a volunteer and I have a full-time job and a family that compete for my time. Pull requests are always welcome if you would like to help out!
@RickyB9000 I finally had some time to take a look at this. Your Omnilogic itself is configured to report the sensor in Fahrenheit. Here is the MSP Config (basically the configuration data) for that sensor:
<Sensor>
<System-Id>10</System-Id>
<Name>WaterSensor</Name>
<Type>SENSOR_WATER_TEMP</Type>
<Units>UNITS_FAHRENHEIT</Units>
<Operation>
PEO_GET_VALUE
<Action>
<Action-Function>ACT_FNC_GET_WATER_TEMP</Action-Function>
<Action-Data1>10</Action-Data1>
<Action-Data2>1</Action-Data2>
<Action-Data3>0</Action-Data3>
</Action>
</Operation>
</Sensor>
And the relevant telemetry data for it is here:
<BodyOfWater systemId="1" waterTemp="70" flow="255" />
So your Omnilogic is configured in F, and the sensor is reporting it's temperature in F. I have used your diagnostic data to "simulate" the integration using the data from your pool and I get a water temperature sensor for the pool properly reporting a temperature of 70F and if I change that entity to use C instead I properly get a temperature of 21C.
If you remove the integration configuration and re-add it, does it still show the temperature incorrectly? So far, I am unable to replicate the issue.
Thanks for investigating.
I'm fairly certain the Omni is configured for C - since I configure everything in C, the unfortunately, the system is offline now and I can't validate it since I'm located in the Canada and the we have a bit of snow up here. Might have to put a pin in this one until the spring when I open the pool for the summer.
The app in my screenshots above show the C setting working within the Omnilogic app, it is only in the heater in Home Assistant that it shows as F. Maybe the Omni stays in F and it changes the values in the App? Backwards but with the way they do things, wouldn't surprise me?
Oh, I missed that it was the HEATER... for some reason I thought it was the water temperature sensor... let me take another look.
ok, I think I know what is going on here... With the temperature sensors (water/air/etc), the sensor itself gives a value and a unit of measurement that the value is in. This allows me to tell Home Assistant "This sensor says that it is 70F" and it takes over the conversion. The heater in OmniLogic only returns a value, no unit of measurement. I was using the system unit of measurement for the whole Omnilogic, assuming (incorrectly) that because the water heater didn't report it's own unit of measurement, that it would follow the system setting. It appears that the water heater might always report in F, and then if the system is configured for C, the app just does the conversion itself.
I'm going to double check some things, but this should be a somewhat easy fix.
Can confirm that the fix works. Thank you!