Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Panasonic_AC32 power toggling on mode change #1408

Closed
Fettkeewl opened this issue Feb 10, 2021 · 2 comments
Closed

Panasonic_AC32 power toggling on mode change #1408

Fettkeewl opened this issue Feb 10, 2021 · 2 comments
Labels

Comments

@Fettkeewl
Copy link

Hi again!
I'm happy to say that theese changes made it into Tasmota :) and I've set it up and use it frequently in my home setup with home assistant. Thanks again!

I've however encountered 1 small problem with the lib in Tasmota, so I proceeded to testing out 2.7.14 on my Wemos again.
I have no super high needs for the control but:

  • On/Off
  • Toggle Mode
  • Toggle Temp
  • Toggle fanspeed

The issue in Tasmota with your lib:
From Tasmota when I send Any mode other than OFF to the HVAC it does a power toggle instead of only changing the mode... so I made myself an AC Send function that takes 3 parameters Mode, Temp, Fan speed and then sends the data.

AC Send with parameters below will change the AC settings accordingly and keep the AC running.

Mode: Off
Temp: 16 - 30
FanSpeed: Auto/1-5

AC Send with parameters below will perform a power toggle

Mode: Auto/Heat/Cool/Dry/Fan_Only
Temp: 16 - 30
FanSpeed: Auto/1-5

The issue with 2.7.14 on my wemos:
Mode changes work, power toggle only works when changing the model

So as the behaviour is not the same I do not know how to Troubleshoot this without your help...
If you have time to help me let me know what data I can provide you with to further investigate this

Picture for reference
info

# Tasmota send info
10:43:03.157 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x0000000004F8369C","DataLSB":"0x00000000201F6C39","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":23,"FanSpeed":"Auto","SwingV":"Highest","SwingH":"Auto","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

# The JSON a little more readable
{ irhvac :
  {
    "Vendor": "PANASONIC_AC32",
    "Model": -1,
    "Mode": "Off",			# <-- Adjusted in HA 
    "Power": "Off",
    "Celsius": "On",
    "Temp": 23,				# <-- Adjusted in HA 
    "FanSpeed": "Auto",			# <-- Adjusted in HA 
    "SwingV": "Highest",
    "SwingH": "Auto",
    "Quiet": "Off",
    "Turbo": "Off",
    "Econo": "Off",
    "Light": "Off",
    "Filter": "Off",
    "Clean": "Off",
    "Beep": "Off",
    "Sleep": -1
  }
}

Heres what your library picks up from my remote when toggling the mode which
does not do a power toggle!
Somehow it does not identify the proper mode.

11:08:19.924 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x000000000A673690","DataLSB":"0x0000000050E66C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":22,"FanSpeed":"Max","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
11:08:21.624 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x000000000B643690","DataLSB":"0x00000000D0266C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":19,"FanSpeed":"Max","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
11:08:23.475 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x0000000009FC3690","DataLSB":"0x00000000903F6C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":27,"FanSpeed":"Auto","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
11:08:25.075 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x000000000D653690","DataLSB":"0x00000000B0A66C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":20,"FanSpeed":"Max","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
11:08:26.623 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x000000000CFB3690","DataLSB":"0x0000000030DF6C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":26,"FanSpeed":"Auto","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

Heres 4 presses on the Power Toggle button on the remote
(the power state is currently inverted so the last press which has "Power: off" actually turned on my AC)

11:11:56.575 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x0000000004FB3690","DataLSB":"0x0000000020DF6C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Heat","Power":"On","Celsius":"On","Temp":26,"FanSpeed":"Auto","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
11:11:59.001 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x0000000004FB3690","DataLSB":"0x0000000020DF6C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":26,"FanSpeed":"Auto","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
11:12:01.624 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x0000000004FB3690","DataLSB":"0x0000000020DF6C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Heat","Power":"On","Celsius":"On","Temp":26,"FanSpeed":"Auto","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}
11:12:03.624 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x0000000004FB3690","DataLSB":"0x0000000020DF6C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":26,"FanSpeed":"Auto","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

Originally posted by @Fettkeewl in #1366 (comment)

@crankyoldgit
Copy link
Owner

First off, let me correct an incorrect assumption and Tasmota-ism.

  1. mode: "Off" -> "Auto" etc. does NOT change the power of an A/C. You need to use power for that.
    Tasmota may be doing that for you already. Don't know. Technically not this library's problem.
  2. Tasmota doesn't provide the full/verbose decode of a protocol in it's output. e.g. When your capture is reported as "Power: Off" by Tasmota, the library is actually saying "Power Toggle: Off". i.e. No requested change of power detected in the IR message. Or it may be doing it correctly. I don't intimately know how Tasmota is using the library in this case.
    i.e. The library doesn't report mode of off for a captured IR message, ever, as far as I recall.
    e.g. In theory, this list of settings shouldn't be reported like this by the library. Something else in Tasmota is probably doing something to it.
11:08:19.924 MQT: tele/TasmotaIR/RESULT = "Protocol":"PANASONIC_AC32","Bits":32,"Data":"0x000000000A673690","DataLSB":"0x0000000050E66C09","Repeat":0,"IRHVAC":{"Vendor":"PANASONIC_AC32","Model":-1,"Mode":"Off","Power":"Off","Celsius":"On","Temp":22,"FanSpeed":"Max","SwingV":"Highest","SwingH":"Off","Quiet":"Off","Turbo":"Off","Econo":"Off","Light":"Off","Filter":"Off","Clean":"Off","Beep":"Off","Sleep":-1}}}

This is one of the many reasons we don't accept/like Tasmota data in bug reports etc. Please use IRrecvDumpV2 or IRrecvDumpV3 etc. There are too many moving parts when using Tasmota which makes finding the real fault very very difficult.

The issue with 2.7.14 on my wemos:
Mode changes work, power toggle only works when changing the model

That issue may be related to the above. (Point 1.) You don't seem to be adjusting power but I can't tell because you've provided no code or inadequate debug detail/logging etc.

Please note that mode = off and power = off is often tied together as a hack to deal with Home Assistant. Technically, that's done outside of this library, in a project's core code.
e.g. (in one of our examples)

// Use Home Assistant-style operation modes.
// TL;DR: Power and Mode are linked together. One changes the other.
// i.e.
// - When power is set to "off", the mode is set to "off".
// - When the mode changes from "off" to something else, power is set to "on".
// See: https://www.home-assistant.io/components/climate.mqtt/#modes
// *** WARNING ***
// This setting will cause IRMQTTServer to forget what the previous operation
// mode was. e.g. a power "on" -> "off" -> "on" will cause it to use the
// default mode for your A/C, not the previous mode.
// Typically this is "Auto" or "Cool" mode.
// Change to false, if your home automation system doesn't like this, or if
// you want IRMQTTServer to be the authoritative source for controling your
// A/C.
#define MQTT_CLIMATE_HA_MODE true

crankyoldgit added a commit that referenced this issue Feb 10, 2021
Make it clear that changing from Mode:Off to Mode:Auto etc does NOT turn on a device.
Ref #1408
crankyoldgit added a commit that referenced this issue Feb 10, 2021
Make it clear that changing from Mode:Off to Mode:Auto etc does NOT turn on a device.
Ref #1408
crankyoldgit added a commit that referenced this issue Feb 12, 2021
_v2.7.15 (20210213)_

**[BREAKING CHANGES]**
- Some Daikin2 constants have been changed. (#1393)

**[Features]**
- Experimental basic support for EcoClim 56 & 15 bit protocols. (#1397 #1410)
- MITSUBISHI_AC: Add support for enabling Weekly Timer. (#1403 #1404)
- Mitsubishi ACs: Improve handling swing/vane settings. (#1399 #1401)
- MITSUBISHI_AC: Add support for half degrees. (#1398 #1400)
- Add `irutils::addSwing[V|H]ToString()` and adjust some constants (#1365 #1393)
- SharpAc: Add support for model A903, and improve `IRac` fan & power control. (#1387 #1390)
- Experimental support for Milestag2 (#1360 #1380)

**[Misc]**
- Improve `IRac::sendAc()` documentation. (#1408 #1409)
- refactor ir_Transcold (#1407)
- refactor ir_Toshiba (#1395)
- Fix Travis-CI build issues. (#1396)
- refactor ir_Teco (#1392)
- Fujitsu A/C: Add warning/suggestions for AR-RAH1U devices (#1376 #1386)
- refactor ir_Technibel (#1385)
- Add the new logo and banner 🎉 (#1371 #1372)
- Update references to sbprojects website. (#1381 #1383)
- refactor ir_Tcl (#1379)
@Fettkeewl
Copy link
Author

My apologies, I got my setup wrong, was missing a parameter for sending
that would store the states in tasmota :) hence making it work as intended (without trying to sync with physical remote)

crankyoldgit added a commit that referenced this issue Feb 13, 2021
_v2.7.15 (20210213)_

**[BREAKING CHANGES]**
- Some Daikin2 constants have been changed. (#1393)

**[Features]**
- Experimental basic support for EcoClim 56 & 15 bit protocols. (#1397 #1410)
- MITSUBISHI_AC: Add support for enabling Weekly Timer. (#1403 #1404)
- Mitsubishi ACs: Improve handling swing/vane settings. (#1399 #1401)
- MITSUBISHI_AC: Add support for half degrees. (#1398 #1400)
- Add `irutils::addSwing[V|H]ToString()` and adjust some constants (#1365 #1393)
- SharpAc: Add support for model A903, and improve `IRac` fan & power control. (#1387 #1390)
- Experimental support for Milestag2 (#1360 #1380)

**[Misc]**
- Improve `IRac::sendAc()` documentation. (#1408 #1409)
- refactor ir_Transcold (#1407)
- refactor ir_Toshiba (#1395)
- Fix Travis-CI build issues. (#1396)
- refactor ir_Teco (#1392)
- Fujitsu A/C: Add warning/suggestions for AR-RAH1U devices (#1376 #1386)
- refactor ir_Technibel (#1385)
- Add the new logo and banner 🎉 (#1371 #1372)
- Update references to sbprojects website. (#1381 #1383)
- refactor ir_Tcl (#1379)
crankyoldgit added a commit that referenced this issue Feb 13, 2021
##_v2.7.15 (20210213)_

**[BREAKING CHANGES]**
- Some Daikin2 constants have been changed. (#1393)

**[Features]**
- Experimental basic support for EcoClim 56 & 15 bit protocols. (#1397 #1410)
- MITSUBISHI_AC: Add support for enabling Weekly Timer. (#1403 #1404)
- Mitsubishi ACs: Improve handling swing/vane settings. (#1399 #1401)
- MITSUBISHI_AC: Add support for half degrees. (#1398 #1400)
- Add `irutils::addSwing[V|H]ToString()` and adjust some constants (#1365 #1393)
- SharpAc: Add support for model A903, and improve `IRac` fan & power control. (#1387 #1390)
- Experimental support for Milestag2 (#1360 #1380)

**[Misc]**
- Improve `IRac::sendAc()` documentation. (#1408 #1409)
- refactor ir_Transcold (#1407)
- refactor ir_Toshiba (#1395)
- Fix Travis-CI build issues. (#1396)
- refactor ir_Teco (#1392)
- Fujitsu A/C: Add warning/suggestions for AR-RAH1U devices (#1376 #1386)
- refactor ir_Technibel (#1385)
- Add the new logo and banner 🎉 (#1371 #1372)
- Update references to sbprojects website. (#1381 #1383)
- refactor ir_Tcl (#1379)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants