Files
.devcontainer
.github
.theia
.vscode
plugins
sass
source
.well-known
_addons
_components
abode.markdown
acer_projector.markdown
actiontec.markdown
adguard.markdown
ads.markdown
aftership.markdown
air_quality.markdown
airvisual.markdown
aladdin_connect.markdown
alarm_control_panel.ifttt.markdown
alarm_control_panel.markdown
alarm_control_panel.mqtt.markdown
alarmdecoder.markdown
alarmdotcom.markdown
alert.markdown
alexa.flash_briefings.markdown
alexa.intent.markdown
alexa.markdown
alexa.smart_home.markdown
alpha_vantage.markdown
amazon_polly.markdown
ambiclimate.markdown
ambient_station.markdown
amcrest.markdown
ampio.markdown
android_ip_webcam.markdown
androidtv.markdown
anel_pwrctrl.markdown
anthemav.markdown
apache_kafka.markdown
apcupsd.markdown
api.markdown
apns.markdown
apple_tv.markdown
aprs.markdown
aqualogic.markdown
aquostv.markdown
arcam_fmj.markdown
arduino.markdown
arest.markdown
arlo.markdown
aruba.markdown
arwn.markdown
asterisk_cdr.markdown
asterisk_mbox.markdown
asuswrt.markdown
august.markdown
aurora.markdown
aurora_abb_powerone.markdown
auth.markdown
automatic.markdown
automation.markdown
avea.markdown
avion.markdown
awair.markdown
aws.markdown
axis.markdown
azure_event_hub.markdown
baidu.markdown
bayesian.markdown
bbb_gpio.markdown
bbox.markdown
bh1750.markdown
binary_sensor.knx.markdown
binary_sensor.markdown
binary_sensor.modbus.markdown
binary_sensor.mqtt.markdown
binary_sensor.mysensors.markdown
binary_sensor.rest.markdown
binary_sensor.rflink.markdown
binary_sensor.rfxtrx.markdown
binary_sensor.template.markdown
binary_sensor.xiaomi_aqara.markdown
bitcoin.markdown
bizkaibus.markdown
blackbird.markdown
blink.markdown
blinksticklight.markdown
blinkt.markdown
blockchain.markdown
bloomsky.markdown
bluesound.markdown
bluetooth_le_tracker.markdown
bluetooth_tracker.markdown
bme280.markdown
bme680.markdown
bmw_connected_drive.markdown
bom.markdown
braviatv.markdown
broadcast.markdown
broadlink.markdown
brottsplatskartan.markdown
browser.markdown
brunt.markdown
bt_home_hub_5.markdown
bt_smarthub.markdown
buienradar.markdown
caldav.markdown
calendar.google.markdown
calendar.markdown
camera.ffmpeg.markdown
camera.markdown
camera.mqtt.markdown
canary.markdown
cast.markdown
cert_expiry.markdown
channels.markdown
cisco_ios.markdown
cisco_mobility_express.markdown
cisco_webex_teams.markdown
ciscospark.markdown
citybikes.markdown
clementine.markdown
clickatell.markdown
clicksend.markdown
clicksend_tts.markdown
climate.knx.markdown
climate.markdown
climate.modbus.markdown
climate.mqtt.markdown
climate.mysensors.markdown
cloud.markdown
cloudflare.markdown
cmus.markdown
co2signal.markdown
coinbase.markdown
coinmarketcap.markdown
comed_hourly_pricing.markdown
comfoconnect.markdown
command_line.markdown
concord232.markdown
config.markdown
configurator.markdown
conversation.markdown
coolmaster.markdown
counter.markdown
cover.command_line.markdown
cover.group.markdown
cover.knx.markdown
cover.markdown
cover.mqtt.markdown
cover.mysensors.markdown
cover.rflink.markdown
cover.rfxtrx.markdown
cover.template.markdown
cover.xiaomi_aqara.markdown
cppm.markdown
cpuspeed.markdown
crimereports.markdown
cups.markdown
currencylayer.markdown
daikin.markdown
danfoss_air.markdown
darksky.markdown
datadog.markdown
ddwrt.markdown
deconz.markdown
decora.markdown
decora_wifi.markdown
default_config.markdown
delijn.markdown
deluge.markdown
demo.markdown
denon.markdown
denonavr.markdown
deutsche_bahn.markdown
device_sun_light_trigger.markdown
device_tracker.markdown
device_tracker.mqtt.markdown
device_tracker.mysensors.markdown
device_tracker.xiaomi.markdown
dht.markdown
dialogflow.markdown
digital_ocean.markdown
digitalloggers.markdown
directv.markdown
discogs.markdown
discord.markdown
discovery.markdown
dispatcher.markdown
dlib_face_detect.markdown
dlib_face_identify.markdown
dlink.markdown
dlna_dmr.markdown
dnsip.markdown
dominos.markdown
doorbird.markdown
dovado.markdown
downloader.markdown
dsmr.markdown
dte_energy_bridge.markdown
dublin_bus_transport.markdown
duckdns.markdown
duke_energy.markdown
dunehd.markdown
dwd_weather_warnings.markdown
dweet.markdown
dyson.markdown
ebox.markdown
ebusd.markdown
ecoal_boiler.markdown
ecobee.markdown
econet.markdown
ecovacs.markdown
eddystone_temperature.markdown
edimax.markdown
edp_redy.markdown
ee_brightbox.markdown
efergy.markdown
egardia.markdown
eight_sleep.markdown
eliqonline.markdown
elkm1.markdown
emby.markdown
emoncms.markdown
emoncms_history.markdown
emulated_hue.markdown
emulated_roku.markdown
enigma2.markdown
enocean.markdown
enphase_envoy.markdown
entur_public_transport.markdown
environment_canada.markdown
envirophat.markdown
envisalink.markdown
ephember.markdown
epson.markdown
epsonworkforce.markdown
eq3btsmart.markdown
esphome.markdown
essent.markdown
etherscan.markdown
eufy.markdown
everlights.markdown
evohome.markdown
facebook.markdown
facebox.markdown
fail2ban.markdown
familyhub.markdown
fan.markdown
fan.mqtt.markdown
fan.template.markdown
fan.xiaomi_miio.markdown
fastdotcom.markdown
fedex.markdown
feedreader.markdown
ffmpeg.markdown
ffmpeg_motion.markdown
ffmpeg_noise.markdown
fibaro.markdown
fido.markdown
file.markdown
filesize.markdown
filter.markdown
fints.markdown
fitbit.markdown
fixer.markdown
fleetgo.markdown
flexit.markdown
flic.markdown
flock.markdown
flunearyou.markdown
flux.markdown
flux_led.markdown
folder.markdown
folder_watcher.markdown
foobot.markdown
fortigate.markdown
fortios.markdown
foscam.markdown
foursquare.markdown
free_mobile.markdown
freebox.markdown
freedns.markdown
fritz.markdown
fritzbox.markdown
fritzbox_callmonitor.markdown
fritzbox_netmonitor.markdown
fritzdect.markdown
fronius.markdown
frontend.markdown
frontier_silicon.markdown
futurenow.markdown
garadget.markdown
gc100.markdown
gearbest.markdown
geizhals.markdown
generic.markdown
generic_thermostat.markdown
geniushub.markdown
geo_json_events.markdown
geo_location.markdown
geo_rss_events.markdown
geofency.markdown
github.markdown
gitlab_ci.markdown
gitter.markdown
glances.markdown
gntp.markdown
goalfeed.markdown
gogogate2.markdown
google_assistant.markdown
google_cloud.markdown
google_domains.markdown
google_maps.markdown
google_pubsub.markdown
google_translate.markdown
google_travel_time.markdown
google_wifi.markdown
googlehome.markdown
gpmdp.markdown
gpsd.markdown
gpslogger.markdown
graphite.markdown
greeneye_monitor.markdown
greenwave.markdown
group.markdown
gstreamer.markdown
gtfs.markdown
gtt.markdown
habitica.markdown
hangouts.markdown
harman_kardon_avr.markdown
harmony.markdown
haveibeenpwned.markdown
hddtemp.markdown
hdmi_cec.markdown
heatmiser.markdown
heos.markdown
hikvision.markdown
hikvisioncam.markdown
hipchat.markdown
history.markdown
history_graph.markdown
history_stats.markdown
hitron_coda.markdown
hive.markdown
hlk_sw16.markdown
homeassistant.markdown
homekit.markdown
homekit_controller.markdown
homematic.markdown
homematicip_cloud.markdown
homeworks.markdown
honeywell.markdown
hook.markdown
horizon.markdown
hp_ilo.markdown
html5.markdown
http.markdown
htu21d.markdown
huawei_lte.markdown
huawei_router.markdown
hue.markdown
hunterdouglas_powerview.markdown
hydrawise.markdown
hydroquebec.markdown
hyperion.markdown
ialarm.markdown
icloud.markdown
idteck_prox.markdown
ifttt.markdown
iglo.markdown
ign_sismologia.markdown
ihc.markdown
image_processing.markdown
imap.markdown
imap_email_content.markdown
incomfort.markdown
influxdb.markdown
input_boolean.markdown
input_datetime.markdown
input_number.markdown
input_select.markdown
input_text.markdown
insteon.markdown
integration.markdown
intent_script.markdown
introduction.markdown
ios.markdown
iota.markdown
iperf3.markdown
ipma.markdown
iqvia.markdown
irish_rail_transport.markdown
islamic_prayer_times.markdown
iss.markdown
isy994.markdown
itach.markdown
itunes.markdown
jewish_calendar.markdown
joaoapps_join.markdown
juicenet.markdown
kankun.markdown
keenetic_ndms2.markdown
keyboard.markdown
keyboard_remote.markdown
kira.markdown
kiwi.markdown
knx.markdown
kodi.markdown
konnected.markdown
kwb.markdown
lacrosse.markdown
lametric.markdown
lannouncer.markdown
lastfm.markdown
launch_library.markdown
lcn.markdown
lg_netcast.markdown
lg_soundbar.markdown
life360.markdown
lifx.markdown
lifx_cloud.markdown
light.group.markdown
light.knx.markdown
light.markdown
light.mqtt.markdown
light.mysensors.markdown
light.rflink.markdown
light.rfxtrx.markdown
light.switch.markdown
light.template.markdown
light.xiaomi_aqara.markdown
light.xiaomi_miio.markdown
lightwave.markdown
limitlessled.markdown
linksys_ap.markdown
linksys_smart.markdown
linky.markdown
linode.markdown
linux_battery.markdown
lirc.markdown
litejet.markdown
liveboxplaytv.markdown
llamalab_automate.markdown
local_file.markdown
locative.md
lock.markdown
lock.mqtt.markdown
lock.template.markdown
lock.xiaomi_aqara.markdown
lockitron.markdown
logbook.markdown
logentries.markdown
logger.markdown
logi_circle.markdown
london_air.markdown
london_underground.markdown
loopenergy.markdown
luci.markdown
luftdaten.markdown
lupusec.markdown
lutron.markdown
lutron_caseta.markdown
lw12wifi.markdown
lyft.markdown
magicseaweed.markdown
mailbox.markdown
mailgun.markdown
manual.markdown
manual_mqtt.markdown
map.markdown
marytts.markdown
mastodon.markdown
matrix.markdown
maxcube.markdown
mcp23017.markdown
media_extractor.markdown
media_player.markdown
mediaroom.markdown
melissa.markdown
meraki.markdown
mercedesme.markdown
message_bird.markdown
met.markdown
meteo_france.markdown
meteoalarm.markdown
metoffice.markdown
mfi.markdown
mhz19.markdown
microsoft.markdown
microsoft_face.markdown
microsoft_face_detect.markdown
microsoft_face_identify.markdown
miflora.markdown
mikrotik.markdown
mill.markdown
min_max.markdown
mitemp_bt.markdown
mjpeg.markdown
mobile_app.markdown
mochad.markdown
modbus.markdown
modem_callerid.markdown
mold_indicator.markdown
monoprice.markdown
moon.markdown
mopar.markdown
mpchc.markdown
mpd.markdown
mqtt.markdown
mqtt_eventstream.markdown
mqtt_json.markdown
mqtt_room.markdown
mqtt_statestream.markdown
mvglive.markdown
mychevy.markdown
mycroft.markdown
myq.markdown
mysensors.markdown
mystrom.markdown
mythicbeastsdns.markdown
n26.markdown
nad.markdown
namecheapdns.markdown
nanoleaf.markdown
neato.markdown
nederlandse_spoorwegen.markdown
nello.markdown
ness_alarm.markdown
nest.markdown
netatmo.markdown
netdata.markdown
netgear.markdown
netgear_lte.markdown
netio.markdown
neurio_energy.markdown
nextbus.markdown
nfandroidtv.markdown
niko_home_control.markdown
nilu.markdown
nissan_leaf.markdown
nmap_tracker.markdown
nmbs.markdown
no_ip.markdown
noaa_tides.markdown
norway_air.markdown
notify.command_line.markdown
notify.group.markdown
notify.knx.markdown
notify.markdown
notify.mysensors.markdown
notify.rest.markdown
notion.markdown
nsw_fuel_station.markdown
nsw_rural_fire_service_feed.markdown
nuheat.markdown
nuimo_controller.markdown
nuki.markdown
nut.markdown
nx584.markdown
nzbget.markdown
oasa_telematics.markdown
octoprint.markdown
oem.markdown
ohmconnect.markdown
onboarding.markdown
onewire.markdown
onkyo.markdown
onvif.markdown
openalpr_cloud.markdown
openalpr_local.markdown
opencv.markdown
openevse.markdown
openexchangerates.markdown
opengarage.markdown
openhardwaremonitor.markdown
openhome.markdown
opensensemap.markdown
opensky.markdown
opentherm_gw.markdown
openuv.markdown
openweathermap.markdown
openwrt.markdown
opple.markdown
orangepi_gpio.markdown
orvibo.markdown
osramlightify.markdown
otp.markdown
owlet.markdown
owntracks.markdown
panasonic_bluray.markdown
panasonic_viera.markdown
pandora.markdown
panel_custom.markdown
panel_iframe.markdown
pencom.markdown
persistent_notification.markdown
person.markdown
philips_js.markdown
pi_hole.markdown
picotts.markdown
piglow.markdown
pilight.markdown
ping.markdown
pioneer.markdown
pjlink.markdown
plaato.markdown
plant.markdown
plex.markdown
plum_lightpad.markdown
pocketcasts.markdown
point.markdown
polling.markdown
postnl.markdown
prezzibenzina.markdown
proliphix.markdown
prometheus.markdown
prowl.markdown
proximity.markdown
proxy.markdown
ps4.markdown
ptvsd.markdown
pulseaudio_loopback.markdown
push.markdown
pushbullet.markdown
pushetta.markdown
pushover.markdown
pushsafer.markdown
pvoutput.markdown
pyload.markdown
python_script.markdown
qbittorrent.markdown
qld_bushfire.markdown
qnap.markdown
qrcode.markdown
quantum_gateway.markdown
qwikswitch.markdown
rachio.markdown
radarr.markdown
radiotherm.markdown
rainbird.markdown
raincloud.markdown
rainforest_eagle.markdown
rainmachine.markdown
random.markdown
raspihats.markdown
raspyrfm.markdown
recollect_waste.markdown
recorder.markdown
recswitch.markdown
reddit.markdown
rejseplanen.markdown
remember_the_milk.markdown
remote.markdown
remote.xiaomi_miio.markdown
remote_rpi_gpio.markdown
repetier.markdown
rest.markdown
rest_command.markdown
rflink.markdown
rfxtrx.markdown
ring.markdown
ripple.markdown
rmvtransport.markdown
rocketchat.markdown
roku.markdown
roomba.markdown
route53.markdown
rova.markdown
rpi_camera.markdown
rpi_gpio.markdown
rpi_gpio_pwm.markdown
rpi_pfio.markdown
rpi_rf.markdown
rss_feed_template.markdown
rtorrent.markdown
russound_rio.markdown
russound_rnet.markdown
ruter.markdown
sabnzbd.markdown
samsungtv.markdown
satel_integra.markdown
scene.knx.markdown
scene.markdown
scrape.markdown
script.markdown
scsgate.markdown
season.markdown
sendgrid.markdown
sense.markdown
sensehat.markdown
sensibo.markdown
sensor.buienradar.markdown
sensor.command_line.markdown
sensor.ios.markdown
sensor.knx.markdown
sensor.markdown
sensor.metoffice.markdown
sensor.modbus.markdown
sensor.mqtt.markdown
sensor.mysensors.markdown
sensor.rflink.markdown
sensor.rfxtrx.markdown
sensor.websocket_api.markdown
sensor.xiaomi_aqara.markdown
sensor.xiaomi_miio.markdown
serial.markdown
serial_pm.markdown
sesame.markdown
seven_segments.markdown
seventeentrack.markdown
shell_command.markdown
shiftr.markdown
shodan.markdown
shopping_list.markdown
sht31.markdown
sigfox.markdown
simplepush.markdown
simplisafe.markdown
simulated.markdown
sisyphus.markdown
sky_hub.markdown
skybeacon.markdown
skybell.markdown
slack.markdown
sleepiq.markdown
sma.markdown
smappee.markdown
smarthab.markdown
smartthings.markdown
smarty.markdown
smhi.markdown
smtp.markdown
snapcast.markdown
snips.markdown
snmp.markdown
sochain.markdown
socialblade.markdown
solaredge.markdown
solaredge_local.markdown
solax.markdown
somfy.markdown
somfy_mylink.markdown
sonarr.markdown
songpal.markdown
sonos.markdown
sony_projector.markdown
soundtouch.markdown
spaceapi.markdown
spc.markdown
speedtestdotnet.markdown
spider.markdown
splunk.markdown
spotcrime.markdown
spotify.markdown
sql.markdown
squeezebox.markdown
srp_energy.markdown
ssdp.markdown
starlingbank.markdown
startca.markdown
statistics.markdown
statsd.markdown
steam_online.markdown
stiebel_eltron.markdown
stream.markdown
streamlabswater.markdown
stride.markdown
suez_water.markdown
sun.markdown
supervisord.markdown
supla.markdown
swiss_hydrological_data.markdown
swiss_public_transport.markdown
swisscom.markdown
switch.command_line.markdown
switch.knx.markdown
switch.markdown
switch.modbus.markdown
switch.mqtt.markdown
switch.mysensors.markdown
switch.pca.markdown
switch.rest.markdown
switch.rflink.markdown
switch.rfxtrx.markdown
switch.template.markdown
switch.xiaomi_aqara.markdown
switch.xiaomi_miio.markdown
switchbot.markdown
switcher_kis.markdown
switchmate.markdown
syncthru.markdown
synology.markdown
synology_chat.markdown
synology_srm.markdown
synologydsm.markdown
syslog.markdown
system_health.markdown
system_log.markdown
systemmonitor.markdown
sytadin.markdown
tado.markdown
tahoma.markdown
tank_utility.markdown
tapsaff.markdown
tautulli.markdown
tcp.markdown
ted5000.markdown
teksavvy.markdown
telegram.markdown
telegram_bot.markdown
tellduslive.markdown
tellstick.markdown
telnet.markdown
temper.markdown
template.markdown
tensorflow.markdown
tesla.markdown
tfiac.markdown
thermoworks_smoke.markdown
thethingsnetwork.markdown
thingspeak.markdown
thinkingcleaner.markdown
thomson.markdown
threshold.markdown
tibber.markdown
tikteck.markdown
tile.markdown
time_date.markdown
timer.markdown
tod.markdown
todoist.markdown
tof.markdown
tomato.markdown
toon.markdown
torque.markdown
totalconnect.markdown
touchline.markdown
tplink.markdown
tplink_lte.markdown
traccar.markdown
trackr.markdown
tradfri.markdown
trafikverket_train.markdown
trafikverket_weatherstation.markdown
transmission.markdown
transport_nsw.markdown
travisci.markdown
trend.markdown
tts.markdown
tuya.markdown
twentemilieu.markdown
twilio.markdown
twilio_call.markdown
twilio_sms.markdown
twitch.markdown
twitter.markdown
ubee.markdown
ubus.markdown
ue_smart_radio.markdown
uk_transport.markdown
unifi.markdown
unifi_direct.markdown
universal.markdown
upc_connect.markdown
upcloud.markdown
updater.markdown
upnp.markdown
ups.markdown
uptime.markdown
uptimerobot.markdown
uscis.markdown
usgs_earthquakes_feed.markdown
usps.markdown
utility_meter.markdown
uvc.markdown
vacuum.markdown
vacuum.mqtt.markdown
vacuum.template.markdown
vacuum.xiaomi_miio.markdown
vallox.markdown
vasttrafik.markdown
velbus.markdown
velux.markdown
venstar.markdown
vera.markdown
verisure.markdown
version.markdown
vesync.markdown
viaggiatreno.markdown
vizio.markdown
vlc-telnet.markdown
vlc.markdown
voicerss.markdown
volkszaehler.markdown
volumio.markdown
volvooncall.markdown
vultr.markdown
w800rf32.markdown
wake_on_lan.markdown
waqi.markdown
water_heater.markdown
waterfurnace.markdown
watson_iot.markdown
watson_tts.markdown
waze_travel_time.markdown
weather.darksky.markdown
weather.markdown
webhook.markdown
webhooks.markdown
weblink.markdown
webostv.markdown
websocket_api.markdown
wemo.markdown
whois.markdown
wink.markdown
wirelesstag.markdown
workday.markdown
worldclock.markdown
worldtidesinfo.markdown
worxlandroid.markdown
wsdot.markdown
wunderground.markdown
wunderlist.markdown
wwlln.markdown
x10.markdown
xbox_live.markdown
xeoma.markdown
xfinity.markdown
xiaomi.markdown
xiaomi_aqara.markdown
xiaomi_miio.markdown
xiaomi_tv.markdown
xmpp.markdown
xs1.markdown
yale_smart_alarm.markdown
yamaha.markdown
yamaha_musiccast.markdown
yandextts.markdown
yeelight.markdown
yeelightsunflower.markdown
yessssms.markdown
yi.markdown
yr.markdown
yweather.markdown
zabbix.markdown
zamg.markdown
zengge.markdown
zeroconf.markdown
zestimate.markdown
zha.markdown
zhong_hong.markdown
zigbee.markdown
ziggo_mediabox_xl.markdown
zone.markdown
zoneminder.markdown
zwave.markdown
_cookbook
_data
_docs
_faq
_includes
_layouts
_lovelace
_posts
addons
assets
blog
cloud
code_of_conduct
components
cookbook
demo
developers
docs
faq
font
getting-started
hassio
help
images
ios
javascripts
join-chat
latest-release-notes
lovelace
privacy
static
stylesheets
tos
CNAME
_redirects
atom.xml
favicon.png
googlef4f3693c209fe788.html
index.html
robots.txt
service_worker.js
version.json
.editorconfig
.gitattributes
.gitignore
.gitpod.yml
.markdownlint.json
.powrc
.ruby-version
.slugignore
CLA.md
CODE_OF_CONDUCT.md
Gemfile
Gemfile.lock
LICENSE.md
README.md
Rakefile
_config.yml
config.rb
config.ru
home-assistant.io/source/_components/climate.mysensors.markdown
2019-07-16 15:28:06 -07:00

7.0 KiB

title, description, logo, ha_category, ha_release, ha_iot_class
title description logo ha_category ha_release ha_iot_class
MySensors HVAC Instructions on how to integrate MySensors climate into Home Assistant. mysensors.png
DIY
Climate
0.29 Local Push

Integrates MySensors HVAC into Home Assistant. See the main component for configuration instructions.

The following actuator types are supported:

MySensors version 1.5 and higher
S_TYPE V_TYPE
S_HVAC V_HVAC_FLOW_STATE*, V_HVAC_SETPOINT_HEAT, V_HVAC_SETPOINT_COOL, V_HVAC_SPEED, V_TEMP

V_HVAC_FLOW_STATE is mapped to the state of the Climate integration in Home Assistant as follows:

Home Assistant State MySensors State
HVAC_MODE_COOL CoolOn
HVAC_MODE_HEAT HeatOn
HVAC_MODE_AUTO AutoChangeOver
HVAC_MODE_OFF Off

Currently humidity, away_mode, aux_heat, swing_mode is not supported. This will be included in later versions as feasible.

Set the target temperature using V_HVAC_SETPOINT_HEAT in Heat mode, and V_HVAC_SETPOINT_COOL in Cool Mode. In case of any Auto Change Over mode you can use V_HVAC_SETPOINT_HEAT as well as V_HVAC_SETPOINT_COOL to set the both the low bound and the high bound temperature of the device.

You can use V_HVAC_SPEED to control the Speed setting of the Fan in the HVAC.

You can use V_TEMP to send the current temperature from the node to Home Assistant.

For more information, visit the serial api of MySensors.

Example sketch for MySensors 2.x

/*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*/

#define MY_RADIO_NRF24
#define CHILD_ID_HVAC 0

#include <MySensors.h>

// Uncomment your heatpump model
//#include <FujitsuHeatpumpIR.h>
//#include <PanasonicCKPHeatpumpIR.h>
//#include <PanasonicHeatpumpIR.h>
//#include <CarrierHeatpumpIR.h>
//#include <MideaHeatpumpIR.h>
//#include <MitsubishiHeatpumpIR.h>
//#include <SamsungHeatpumpIR.h>
//#include <SharpHeatpumpIR.h>
//#include <DaikinHeatpumpIR.h>

//Some global variables to hold the states
int POWER_STATE;
int TEMP_STATE;
int FAN_STATE;
int MODE_STATE;
int VDIR_STATE;
int HDIR_STATE;

IRSenderPWM irSender(3);       // IR led on Arduino digital pin 3, using Arduino PWM

//Change to your Heatpump
HeatpumpIR *heatpumpIR = new PanasonicNKEHeatpumpIR();

/*
new PanasonicDKEHeatpumpIR()
new PanasonicJKEHeatpumpIR()
new PanasonicNKEHeatpumpIR()
new CarrierHeatpumpIR()
new MideaHeatpumpIR()
new FujitsuHeatpumpIR()
new MitsubishiFDHeatpumpIR()
new MitsubishiFEHeatpumpIR()
new SamsungHeatpumpIR()
new SharpHeatpumpIR()
new DaikinHeatpumpIR()
*/

MyMessage msgHVACSetPointC(CHILD_ID_HVAC, V_HVAC_SETPOINT_COOL);
MyMessage msgHVACSpeed(CHILD_ID_HVAC, V_HVAC_SPEED);
MyMessage msgHVACFlowState(CHILD_ID_HVAC, V_HVAC_FLOW_STATE);

bool initialValueSent = false;

void presentation() {
  sendSketchInfo("Heatpump", "2.1");
  present(CHILD_ID_HVAC, S_HVAC, "Thermostat");
}

void setup() {
}

void loop() {
  // put your main code here, to run repeatedly:
  if (!initialValueSent) {
    send(msgHVACSetPointC.set(20));
    send(msgHVACSpeed.set("Auto"));
    send(msgHVACFlowState.set("Off"));

    initialValueSent = true;
  }
}

void receive(const MyMessage &message) {
  if (message.isAck()) {
     Serial.println("This is an ack from gateway");
     return;
  }

  Serial.print("Incoming message for: ");
  Serial.print(message.sensor);

  String recvData = message.data;
  recvData.trim();

  Serial.print(", New status: ");
  Serial.println(recvData);
  switch (message.type) {
    case V_HVAC_SPEED:
      Serial.println("V_HVAC_SPEED");

      if(recvData.equalsIgnoreCase("auto")) FAN_STATE = 0;
      else if(recvData.equalsIgnoreCase("min")) FAN_STATE = 1;
      else if(recvData.equalsIgnoreCase("normal")) FAN_STATE = 2;
      else if(recvData.equalsIgnoreCase("max")) FAN_STATE = 3;
    break;

    case V_HVAC_SETPOINT_COOL:
      Serial.println("V_HVAC_SETPOINT_COOL");
      TEMP_STATE = message.getFloat();
      Serial.println(TEMP_STATE);
    break;

    case V_HVAC_FLOW_STATE:
      Serial.println("V_HVAC_FLOW_STATE");
      if (recvData.equalsIgnoreCase("coolon")) {
        POWER_STATE = 1;
        MODE_STATE = MODE_COOL;
      }
      else if (recvData.equalsIgnoreCase("heaton")) {
        POWER_STATE = 1;
        MODE_STATE = MODE_HEAT;
      }
      else if (recvData.equalsIgnoreCase("autochangeover")) {
        POWER_STATE = 1;
        MODE_STATE = MODE_AUTO;
      }
      else if (recvData.equalsIgnoreCase("off")){
        POWER_STATE = 0;
      }
      break;
  }
  sendHeatpumpCommand();
  sendNewStateToGateway();
}

void sendNewStateToGateway() {
  send(msgHVACSetPointC.set(TEMP_STATE));
  send(msgHVACSpeed.set(FAN_STATE));
  send(msgHVACFlowState.set(MODE_STATE));
}

void sendHeatpumpCommand() {
  Serial.println("Power = " + (String)POWER_STATE);
  Serial.println("Mode = " + (String)MODE_STATE);
  Serial.println("Fan = " + (String)FAN_STATE);
  Serial.println("Temp = " + (String)TEMP_STATE);

  heatpumpIR->send(irSender, POWER_STATE, MODE_STATE, FAN_STATE, TEMP_STATE, VDIR_AUTO, HDIR_AUTO);
}

Example sketch for MySensors 1.x

/*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*/

#include <MySensor.h>
/*
* Include all the other Necessary code here.
* The example code is limited to message exchange for mysensors
* with the controller (ha).
*/

#define CHILD_ID_HVAC  0  // childId
MyMessage msgHVACSetPointC(CHILD_ID_HVAC, V_HVAC_SETPOINT_COOL);
MyMessage msgHVACSpeed(CHILD_ID_HVAC, V_HVAC_SPEED);
MyMessage msgHVACFlowState(CHILD_ID_HVAC, V_HVAC_FLOW_STATE);

/*
* Include all the other Necessary code here.
* The example code is limited to message exchange for mysensors
* with the controller (ha).
*/

void setup()
{
  // Startup and initialize MySensors library.
  // Set callback for incoming messages.
  gw.begin(incomingMessage);

  // Send the sketch version information to the gateway and Controller
  gw.sendSketchInfo("HVAC", "0.1");

  gw.present(CHILD_ID_HVAC, S_HVAC, "Thermostat");
  gw.send(msgHVACFlowState.set("Off"));
  gw.send(msgHVACSetPointC.set(target_temp));
  gw.send(msgHVACSpeed.set("Max"));
}

void loop() {
  // Process incoming messages (like config from server)
  gw.process();
}

void incomingMessage(const MyMessage &message) {
  String recvData = message.data;
  recvData.trim();
  switch (message.type) {
    case V_HVAC_SPEED:
    if(recvData.equalsIgnoreCase("auto")) fan_speed = 0;
    else if(recvData.equalsIgnoreCase("min")) fan_speed = 1;
    else if(recvData.equalsIgnoreCase("normal")) fan_speed = 2;
    else if(recvData.equalsIgnoreCase("max")) fan_speed = 3;
    processHVAC();
    break;
    case V_HVAC_SETPOINT_COOL:
    target_temp = message.getFloat();
    processHVAC();
    break;
    case V_HVAC_FLOW_STATE:
    if(recvData.equalsIgnoreCase("coolon") && (!Present_Power_On )){
      togglePower();
    }
    else if(recvData.equalsIgnoreCase("off") && Present_Power_On ){
      togglePower();
    }
    break;
  }
}