Skip to content

Native remote_temperature_source weird rounding. #650

@markfen88

Description

@markfen88

It's hard to explain this as there are many caveats but I will try anyways.

The "Current Temp" being sent/received is not accurate. I have a remote temperature source that is in C so I do not need the Fahrenheit compatibility mode but I find that using Fahrenheit compatability mode will give me more granular control as when I have it in C it is only "rounding" (does weird math were 23.3-24.2 is 24C) to the nearest whole number and not allowing any decimal changes.

Here is a screenshot

Image

Also for some reason I can not get Target temp to do more fine tuning past .5 increments. I have tried everything and its not working.

Here is my config

substitutions:
  name: heatpump-1
  friendly_name: GreatRoom
  remote_temp_sensor: sensor.livingthermostat_temp # Homeassistant sensor providing remote temperature

esphome:
  name: mitsubishicontroller
  friendly_name: MitsubishiController

esp32:
  board: esp32dev
  framework:
    type: esp-idf

# Enable logging
logger:
  #  hardware_uart: UART1 # Uncomment on ESP8266 devices
  level: INFO
  logs:
    EVT_SETS: INFO
    WIFI: INFO
    MQTT: INFO
    WRITE_SETTINGS: INFO
    SETTINGS: INFO
    STATUS: INFO
    CN105Climate: WARN
    CN105: INFO
    climate: WARN
    sensor: WARN
    chkSum: INFO
    WRITE: WARN
    READ: WARN
    Header: INFO
    Decoder: INFO
    CONTROL_WANTED_SETTINGS: INFO
#  level: DEBUG
#  logs:
#    EVT_SETS : DEBUG
#    WIFI : INFO
#    MQTT : INFO
#    WRITE_SETTINGS : DEBUG
#    SETTINGS : DEBUG
#    STATUS : INFO
#    CN105Climate: WARN
#    CN105: DEBUG
#    climate: WARN
#    sensor: WARN
#    chkSum : INFO
#    WRITE : WARN
#    READ : WARN
#    Header: INFO
#    Decoder : DEBUG
#    CONTROL_WANTED_SETTINGS: DEBUG

# Enable Home Assistant API
api:
  encryption:
    key: "<NOTREAL>"

ota:
  - platform: esphome
    password: "<NOTREAL>"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Mitsubishicontroller"
    password: "<NOTREAL>"

#ethernet:
#  type: LAN8720
#  mdc_pin: GPIO23
#  mdio_pin: GPIO18
#  clk:
#    pin: GPIO0
#    mode: CLK_EXT_IN
#  phy_addr: 1
#  power_pin: GPIO16

captive_portal:

uart:
  id: HP_UART
  tx_pin: GPIO14
  rx_pin: GPIO15
  baud_rate: 2400

external_components:
  - source: github://echavet/MitsubishiCN105ESPHome
#    refresh: 0s

sensor:
  # Uptime sensor.
  - platform: uptime
    name: Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: WiFi Signal
    update_interval: 120s

  - platform: homeassistant
    id: ha_remote_temp
    name: "Remote Temperature Sensor"
    entity_id: ${remote_temp_sensor} # Replace with your HomeAssistant remote sensor entity id, or include in substitutions
    internal: false

# Enable Web server.
web_server:
  port: 80

# Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time

# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: ESPHome Version
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: IP
    ssid:
      name: SSID
    bssid:
      name: BSSID

# Create a button to restart the unit from HomeAssistant. Rarely needed, but can be handy.
button:
  - platform: restart
    name: "Restart ${friendly_name}"

# Creates the sensor used to receive the remote temperature from Home Assistant
# Uses sensor selected in substitutions area at top of config
# Customize the filters to your application:
#   Uncomment the first line to convert F to C when remote temps are sent
#   If you have a fast or noisy sensor, consider some of the other filter
#   options such as throttle_average.
climate:
  - platform: cn105
    id: hp
    name: "${friendly_name}"
    icon: mdi:heat-pump
    visual:
      min_temperature: 10 # Adjust to your unit's min temp. SmartSet units can go to 10C for heating
      max_temperature: 31
      temperature_step:
        target_temperature: 0.1
        current_temperature: 0.1
    remote_temperature_source:
      sensor_id: ha_remote_temp       # References the sensor declared above
      info:                           # Optional: exposes a text sensor showing the source name
        name: "Remote Temp Source"
    #remote_temperature_timeout: 30min
    #remote_temperature_keepalive_interval: 20s
    # Fahrenheit compatibility mode - uses Mitsubishi's "custom" unit conversions, set to
    # "standard" (or "alt") for better support of Fahrenheit units in HomeAssistant.
    # Options: "disabled" (default), "standard", "alt"
    #fahrenheit_compatibility: "disabled"
    update_interval: 2s
    debounce_delay: 100ms
    # Various optional sensors, not all sensors are supported by all heatpumps
    outside_air_temperature_sensor:
      name: Outside Air Temp
      disabled_by_default: false
    isee_sensor:
      name: ISEE Sensor
      disabled_by_default: true
    stage_sensor:
      name: Stage
      entity_category: diagnostic
      disabled_by_default: false
    sub_mode_sensor:
      name: Sub Mode
      entity_category: diagnostic
      disabled_by_default: false
    auto_sub_mode_sensor:
      name: Auto Sub Mode
      entity_category: diagnostic
      disabled_by_default: false
    input_power_sensor:
      name: Input Power
      disabled_by_default: false
    kwh_sensor:
      name: Energy Usage
      disabled_by_default: false
#    hardware_settings:
#      update_interval: 20s
#      list:
        # Code 101: Auto Restart
#        - code: 101
#          name: "01-Auto Restart after Power Failure"
#          icon: "mdi:restart"
#          options:
#            1: "ON (Default)"
#            2: "OFF"

        # Code 102: Temperature Sensing Source
        # Important for remote temperature control!
#        - code: 102
#          name: "02-Temperature Source"
#          icon: "mdi:thermometer-check"
#          options:
#            1: "Indoor Unit (Default)"
#            2: "Remote Controller"
#            3: "External (CN105/WiFi)"

        # Code 103: Ventilation / Lossnay interaction
#        - code: 103
#          name: "03-Ventilation Link"
#          options:
#            1: "None (Default)"
#            2: "With Lossnay"
#            3: "Forced"

        # Code 104: Power Voltage
#        - code: 104
#          name: "04-Auto Energy Saving"
#          options:
#            1: "240V (230V) (Default)"
#            2: "220V (208V)"

        # Code 107: Filter Sign Interval
#        - code: 107
#          name: "07-Filter Sign Interval"
#          icon: "mdi:air-filter"
#          options:
#            1: "100 Hours (Default)"
#            2: "2500 Hours"
#            3: "No Indication"

        # Code 108: Ceiling Height / Static Pressure
#        - code: 108
#          name: "08-Ceiling Height Mode"
#          icon: "mdi:arrow-expand-vertical"
#          options:
#            1: "Standard"
#            2: "High Ceiling (Default)"
#            3: "Low Ceiling"

        # Code 110: Auto Mode Switching Logic
#        - code: 110
#          name: "Auto Mode Logic"
#          icon: "mdi:sync"
#          options:
#            1: "Energy Saving (Default)"
#            2: "Comfort / Performance"

        # Code 111: Heater Control
#        - code: 111
#          name: "11-HeaterControl"
#          options:
#            1: "Standard (Default)"
#            2: "Type 1"
#            3: "Type 2"

        # Code 117: Defrost Control
#        - code: 117
#          name: "Defrost Logic"
#          icon: "mdi:snowflake-melt"
#          options:
#            1: "Standard (Default)"
#            2: "High Humidity / Frequent"

        # Code 124: Heating Temperature Offset
#        - code: 124
#          name: "Heating Offset (+2°C)"
#          options:
#            1: "ON (Default)"
#            2: "OFF"

        # Code 125: Fan behavior during Thermo-OFF (Heating)
#        - code: 125
#          name: "Fan during Thermo-OFF (Heat)"
#          icon: "mdi:fan-off"
#          options:
#            1: "Extra Low (Default)"
#            2: "Stop"
#            3: "Set Speed"

        # Code 127: Fan behavior during Thermo-OFF (Cooling)
#        - code: 127
#          name: "Fan during Thermo-OFF (Cool)"
#          icon: "mdi:fan-off"
#          options:
#            1: "Set Speed (Default)"
#            2: "Stop"

        # Code 128: System Error Display
 #       - code: 128
 #         name: "Error Display on Remote"
 #         options:
 #           1: "ON (Default)"
 #           2: "OFF"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions