geoffdavis / esphome-mitsubishiheatpump

ESPHome Climate Component for Mitsubishi Heatpumps using direct serial connection
BSD 2-Clause "Simplified" License
560 stars 153 forks source link

Precision #20

Closed IsaacBreuer closed 4 years ago

IsaacBreuer commented 4 years ago

how can i change the precision to get decimal of temperature sensor?

geoffdavis commented 4 years ago

The short answer is that there's no point. The Mitsubishi protocol itself only reports whole degrees centigrade, between 16 and 31. Same with the set command, you can only send whole degrees centigrade to the unit.

If you want more accuracy, you can use an external temperature sensor such as one of the Dallas one-wire or the Bosch BMP-280 sensors and hook it into your Esphome config instance. A Wemos D1 Mini should have enough pins to speak serial to the AC and one-wire or I2C to your external sensor, and still fit inside the AC enclosure.

See https://github.com/SwiCago/HeatPump#controlling-the-heat-pump and https://nicegear.nz/blog/hacking-a-mitsubishi-heat-pump-air-conditioner/ for details of the underlying protocol.

IsaacBreuer commented 4 years ago

Thanks for tbe clarification, just a unrelated question, I see all my Mitsubishis have a offset for temperature setting, when I set it to 70 it will actually run as ot set on 68 (this has nothing to do with the esp, it looks like a setting within the unit itself, but by having the esp i can document this behavior with a graph.

I have checked with other people having Mitsubishis they report the same, I wonder is there is a way around it.

What I mean is, when I set it to 70 (and cool, it will run until it gets 66 and turn off when it gets 68 , )

I know I can always set it with that in mind but its annoying as I set my whole home to a preset away temperature from hass (schedy, schedule_prepend,) and have to set different for the Mitsubishis.

On Fri, Aug 28, 2020, 5:45 PM Geoff Davis notifications@github.com wrote:

The short answer is that there's no point. The Mitsubishi protocol itself only reports whole degrees centigrade, between 16 and 31. Same with the set command, you can only send whole degrees centigrade to the unit.

If you want more accuracy, you can use an external temperature sensor such as one of the Dallas one-wire or the Bosch BMP-280 sensors and hook it into your Esphome config instance. A Wemos D1 Mini should have enough pins to speak serial to the AC and one-wire or I2C to your external sensor, and still fit inside the AC enclosure.

See https://github.com/SwiCago/HeatPump#controlling-the-heat-pump and https://nicegear.nz/blog/hacking-a-mitsubishi-heat-pump-air-conditioner/ for details of the underlying protocol.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/geoffdavis/esphome-mitsubishiheatpump/issues/20#issuecomment-683160373, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNS2YWU5V4QEJF2K2U5AETSDAQRFANCNFSM4QLMJWRQ .

jamescadd commented 4 years ago

I wasn't aware of this, how are you checking the temp on the unit? Mine don't have a display except on the remote but that's a 1 way IR so not accurate.

IsaacBreuer commented 4 years ago

I have a wired mitibushi thermostat connected to the unit. This one Mitsubishi PAR-31MAA

On Mon, Aug 31, 2020, 12:40 PM James Cadd notifications@github.com wrote:

I wasn't aware of this, how are you checking the temp on the unit? Mine don't have a display except on the remote but that's a 1 way IR so not accurate.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/geoffdavis/esphome-mitsubishiheatpump/issues/20#issuecomment-683893597, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNS2YRFZKIEN642R7PHZJLSDPG75ANCNFSM4QLMJWRQ .

geoffdavis commented 4 years ago

@IsaacBreuer I'm not sure how the PAR-31MAA connects to your unit, but it likely has it's own built-in thermistor. This is separate from the thermistors built into the indoor unit itself. I frequently notice a deviation from the thermistors inside the indoor unit and the thermistors on a separate nodemcu box I have on the opposite side of the room.

Point being - the thermistor inside the unit will likely read something different from an external temperature sensor.

There is a way in the Mitsubishi protocol to tell the indoor unit to override it's version of temperature with that of some external box, but I haven't done that yet in this C++ code.

IsaacBreuer commented 4 years ago

The temperature reported on the PAR-31MAA always matches the temperature reported in esphome,

On Thu, Sep 3, 2020, 4:26 PM Geoff Davis notifications@github.com wrote:

@IsaacBreuer https://github.com/IsaacBreuer I'm not sure how the PAR-31MAA connects to your unit, but it likely has it's own built-in thermistor. This is separate from the thermistors built into the indoor unit itself. I frequently notice a deviation from the thermistors inside the indoor unit and the thermistors on a separate nodemcu box I have on the opposite side of the room.

Point being - the thermistor inside the unit will likely read something different from an external temperature sensor.

There is a way in the Mitsubishi protocol to tell the indoor unit to override it's version of temperature with that of some external box, but I haven't done that yet in this C++ code.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/geoffdavis/esphome-mitsubishiheatpump/issues/20#issuecomment-686740171, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNS2YS7VK2F5RV7C7INPZDSD73WPANCNFSM4QLMJWRQ .

IsaacBreuer commented 4 years ago

See in this screenshot, this is reported in HA and matches what is shown on the physical controll but as you see the blue line (the set temperature is 70, and the actual temperature fluctuate between 69 and 67 , as if it whould have been set to 68

image(1)

IsaacBreuer commented 4 years ago

image(1)

IsaacBreuer commented 4 years ago

@IsaacBreuer I'm not sure how the PAR-31MAA connects to your unit, but it likely has it's own built-in thermistor. This is separate from the thermistors built into the indoor unit itself. I frequently notice a deviation from the thermistors inside the indoor unit and the thermistors on a separate nodemcu box I have on the opposite side of the room.

Point being - the thermistor inside the unit will likely read something different from an external temperature sensor.

There is a way in the Mitsubishi protocol to tell the indoor unit to override it's version of temperature with that of some external box, but I haven't done that yet in this C++ code.

I dont use the sensor in the PAR-31MAA itself, I have a dedicated PAC-USSEN001-FM-1 Flush Mount Remote Temperature Sensor WALL connected directly to the system.

geoffdavis commented 4 years ago

@IsaacBreuer i am unable to replicate that behavior on my equipment (listed in the project read me.) You may have discovered either a problem when using CN105 and your external thermostat, or just a weird bug in the logic on your indoor unit itself. If it's a consistent 2 degree F offset, I can add an offset option to the library. Otherwise, as I stated before, I'm only reading the values as reported by the unit itself, including set point.

davidmerrique commented 2 years ago

@IsaacBreuer have you ever figured out a solution for the temperature offset? I’m also experiencing this with one of my units.

@geoffdavis an offset option would definitely be helpful!