1.2.5 • Published 10 months ago

node-red-contrib-midea-hvac v1.2.5

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

node-red-contrib-midea-hvac

platform Min Node Version GitHub version GitHub stars Package Quality

issues GitHub last commit NPM Total Downloads NPM Downloads per month Repo size

About

Nodes for controlling Midea HVAC in Node-RED.

Thanks Rene Klootwijk for project node-mideahvac (more information and description)

  • midea: get/set value of device (support OSK103/SK103 and serialbridge)

Status

All common functions of Airconditioners are supported, but support for specific features only available on some airconditioners might be incomplete or missing because it is unknown how they work and the inability to test.

The direct communication with the original dongle, the SmartKey, has been tested with a OSK103/SK103 running firmware 3.0.8 (+test 3.0.6). The discover command required to obtain the token and key required for direct communication only supports accounts that have been migrated to the MSmartHome app.

:warning: :warning: :warning: The OSK103/SK103 module, when using the OSK103/SK103 communication method and poll the status frequently, might disconnect from your WiFi network and a powercycle is required to reconnect. Lowering the frequency of polling might prevent this.

Prerequisites

For the direct communication method using an OSK103/SK103 original SmartKey dongle is required running firmware version 3.0.8 (+test 3.0.6) and a MSmartHome account (Midea Air or NetHome Plus accounts do not work anymore because Midea removed the ability to retrieve the required key and token for these type of accounts).

For the serialbridge (see ADAPTER.md) test esp-link 3.0.14

Methods and Command support

The following methods are provided:

  • getCapabilities, this method requests the AC unit for its supported capabilities (0xB5 query). This command is not supported by all AC units and the reported values are not always correct (e.g. my Artel units report the left/right fan can be controlled while it can only be manually controlled and Fahrenheit as unit is not supported while it is).

    The default values specify which value is reported by this module when the AC unit does not report this capability at all.

CapabilityTypeDefaultDescription
activeCleanbooleanfalseactive cleaning mode
autoModebooleanfalseauto mode (cooling or heating is automatically selected)
autoSetHumiditybooleanfalsehumidity setpoint automatically determined
breezeControlbooleanfalsebreeze mode can be controlled
buzzerbooleanfalsebuzzer can be disabled
coolModebooleanfalsecooling mode
decimalsbooleanfalsesetpoint in decimals
downNoWindFeelbooleanfalse
dryModebooleanfalsedry mode
ecoModebooleanfalseeco mode
electricAuxHeatingbooleanfalse
fanSpeedControlbooleantruefan speed can be controlled
frostProtectionModebooleanfalsetemperature is maintained at 8C to protect against frost
heatModebooleanfalseheat mode
indoorHumiditybooleanfalseindoor humidity is reported
leftrightFanbooleanfalseleft/right fan can be controlled
lightControlbooleanfalsedisplay can be dimmed
manualSetHumiditybooleanfalsehumidity setpoint can be specified
maxTempAutonumber30maximum setpoint in auto mode
maxTempCoolnumber30maximum setpoint in cool mode
maxTempHeatnumber30maximum setpoint in heat mode
minTempAutonumber17minimum setpoint in auto mode
minTempCoolnumber17minimum setpoint in cool mode
minTempHeatnumber17minimum setpoint in heat mode
nestCheckbooleanfalse
nestNeedChangebooleanfalse
oneKeyNoWindOnMebooleanfalse
oneKeyNoWindOnMebooleanfalse
powerCalbooleanfalsepower usage can be reported
powerCalSettingbooleanfalse
silkyCoolbooleanfalse
smartEyebooleanfalse
specialEcobooleanfalse
turboCoolbooleanfalsecool mode supports turbo mode
turboHeatbooleanfalseheat mode supports turbo mode
unitChangeablebooleanfalsethe temperature unit can be changed from Celsius to Fahrenheit
updownFanbooleanfalseup/down fan can be controlled
upNoWindFeelbooleanfalse
windOffMebooleanfalse
windOnMebooleanfalse
  • getPowerUsage, this method requests the current power usage of the unit (specific 0x41 command).
PropertyTypeDescription
powerUsagenumberPower usage in kWh
  • getStatus, this method requests the current status of the unit (0x41 command).
PropertyValuesDescription
braceletControltrue/false
braceletSleeptrue/false
catchColdtrue/false
childSleeptrue/false
coolFantrue/false
cosySleep0: no sleep1: sleep 12: sleep 23: sleep 3sleep mode, reported as the following JSON object:{ value: n, description: text }
downWindControltrue/false
downWindControlLRtrue/false
dryCleantrue/false
dualControltrue/falseprobably to the follow me mode is active where the remote control acts as the temperature sensor
dustFulltrue/false
ecoModetrue/falseeco mode is enabled
ecoSleepRunningHours0-15
ecoSleepRunningMinutes0-59
ecoSleepRunningSeconds0-59
fanSpeed0-20: silent21-59: low60-79: medium80-100: high101: fixed102: autoreported as the following JSON object:{ value: n, description: text }
fastChecktrue/false
feelOwntrue/false
frostProtectiontrue/falsefrost protection is active
humiditySetpoint0-100%humidity setpoint
indoorTemperature-25-102°C-13-215°Findoor temprature
inErrortrue/falsethe unit is in error
keepWarmtrue/false
leftrightFantrue/falseleft/right fan is active
light0-7brightness level of display light
lowFrequencyFantrue/false
mode1: auto2: cool3: dry4: heat5: fanonly6: customdryreported as the following JSON object:{ value: n, description: text }
naturalFantrue/false
nightLighttrue/false
offTimertrue/falsescheduled to turn on
offTimerHours0 - 24number of hours until the unit will be turned off
offTimerMinutes0 - 59number of minutes until the unit will be turned off
onTimertrue/falsescheduled to turn on
onTimerHours0 - 24number of hours until the unit will be turned on
onTimerMinutes0 - 59number of minutes until the unit will be turned on
outdoorTemperature-25-102°C-13-215°Foutdoor temperature
peakValleyElectricitySavingtrue/false
pmv99: off-3: cold-2.5: chill-2: chill-1.5: cool-1: cool-0.5: comfortable0: comfortable0.5: comfortable1: slightly warm1.5: slightly warm2: warm 2.5: warmpredicted mean vote (the experienced temperature), reported as the following JSON object:{ value: n, description: text }
powerOntrue/falsepower status
ptcHeatertrue/false
purifytrue/false
resumetrue/falseautomatically resume after recovery from power failure
savetrue/false
selfCosySleeptrue/false
selfFeelOwntrue/false
sleepModetrue/falsesleep mode is activated
smartEyetrue/false
smartWindtrue/false
statusCodesee Status codesreported as the following JSON object:{ value: n, description: text }
temp0-32probably the temperature reported by the remote control sensor in follow me mode
tempDecimaltrue/falseprobably indicates decimals are supported for the temperature reported by the remote control
temperatureSetpoint17 - 30°C62-86°Ftemperature setpoint
temperatureUnit0: Celsius1: Fahrenheitunit used to report temperatures
timerMode0: relative1: absolutehow to specify the time for the timer (only relative mode is supported)
turboModetrue/falseturbo mode enabled
updownFantrue/falseup/down fan is active
ventilationtrue/false
windBlowingtrue/false
  • (properties), this payload must be used to change the status of the unit. The properties parameter is an object containing all the properties and their values that need to be changed. To prevent changing properties unintentionaly, before calling the setStatus command a getStatus command must be send to retrieve the current values of all properties.

The following properties can be set:

PropertyTypePossible valuesDescription
beepbooleantrue, falseen/disable a beep as feedback
fanSpeedstringnumbersilent, low, medium, high, auto or 0 - 100%set the fan speed
frostProtectionModebooleantrue, falseturn frost protection mode (min. temperature is 8°C) on/off. This is only supported in heat mode
humiditySetpointnumber35 - 85set the desired humidity in %
leftrightFanbooleantrue, falseturn the left/right (vertical) fan on/off
modestringcool, heat, fanonly, dry, auto, customdryset the operational mode
powerOnbooleantrue, falsepower the unit on/off
temperatureSetpointnumber16 - 31 / 60 - 87set the desired temperature in °C or °F
sleepModebooleantrue, falseturn the sleep mode on/off
temperatureUnitstringfahrenheit, celsiusset the temperature unit to fahrenheit/celsius
turboModebooleantrue, falseturn turbo mode on/off
updownFanbooleantrue, falseturn the up/down (horizontal) fan on/off

Example (more): Turn the unit on, set the temperature setpoint to 24°C.

{ powerOn: true, temperatureSetpoint: 24 }
1.2.5

10 months ago

1.2.4

2 years ago

1.2.0

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago