gysmo38 / mitsubishi2MQTT

Mitsubishi to MQTT with ESP8266 module
GNU Lesser General Public License v2.1
371 stars 133 forks source link

Having issue with the build #208

Closed kayak01 closed 1 year ago

kayak01 commented 1 year ago

Removing some of the code such as 'if (tempUnit == '\0') tempUnit = "cel" and hardcoding the value it it will build but doesn't work 100%. (The big issue is it never sends anything to MQTT even though it's listed as CONNECTED.

Any pointers on how to make this properly build would be appreciated.

I am working from a clean current version of 'origin/master'.

Thanks in advance.

This is what I am seeing for errors:

Arduino: 1.8.19 (Linux), Board: "Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

/home/jkates/repos/github/mitsubishi2MQTT/src/mitsubishi2mqtt/mitsubishi2mqtt.ino: In function 'void saveAdvance(String, String, String, String)': mitsubishi2mqtt:237:19: error: invalid conversion from 'char' to 'const char*' [-fpermissive] 237 if (tempUnit == '\0') tempUnit = "cel"; ^~~~
char
In file included from /home/jkates/.arduino15/packages/esp8266/hardware/esp8266/3.1.1/cores/esp8266/Arduino.h:295, from sketch/mitsubishi2mqtt.ino.cpp:1: /home/jkates/.arduino15/packages/esp8266/hardware/esp8266/3.1.1/cores/esp8266/WString.h:227:38: note: initializing argument 1 of 'bool String::operator==(const char*) const' 227 bool operator ==(const char *cstr) const { ~~^~ mitsubishi2mqtt:240:22: error: invalid conversion from 'char' to 'const char*' [-fpermissive] 240 if (supportMode == '\0') supportMode = "all"; ^~~~
char
In file included from /home/jkates/.arduino15/packages/esp8266/hardware/esp8266/3.1.1/cores/esp8266/Arduino.h:295, from sketch/mitsubishi2mqtt.ino.cpp:1: /home/jkates/.arduino15/packages/esp8266/hardware/esp8266/3.1.1/cores/esp8266/WString.h:227:38: note: initializing argument 1 of 'bool String::operator==(const char*) const' 227 bool operator ==(const char *cstr) const { ~~^~ mitsubishi2mqtt:243:25: error: invalid conversion from 'char' to 'const char*' [-fpermissive] 243 if (supportFanMode == '\0') supportFanMode = "allf"; ^~~~
char
In file included from /home/jkates/.arduino15/packages/esp8266/hardware/esp8266/3.1.1/cores/esp8266/Arduino.h:295, from sketch/mitsubishi2mqtt.ino.cpp:1: /home/jkates/.arduino15/packages/esp8266/hardware/esp8266/3.1.1/cores/esp8266/WString.h:227:38: note: initializing argument 1 of 'bool String::operator==(const char*) const' 227 bool operator ==(const char *cstr) const { ~~^~ mitsubishi2mqtt:246:24: error: invalid conversion from 'char' to 'const char*' [-fpermissive] 246 if (loginPassword == '\0') loginPassword = ""; ^~~~
char

In file included from /home/jkates/.arduino15/packages/esp8266/hardware/esp8266/3.1.1/cores/esp8266/Arduino.h:295, from sketch/mitsubishi2mqtt.ino.cpp:1: /home/jkates/.arduino15/packages/esp8266/hardware/esp8266/3.1.1/cores/esp8266/WString.h:227:38: note: initializing argument 1 of 'bool String::operator==(const char) const' 227 | bool operator ==(const char cstr) const { | ~~^~ exit status 1 invalid conversion from 'char' to 'const char*' [-fpermissive]

This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

kayak01 commented 1 year ago

Correction MQTT is working I just was not watching the topic correctly.

kayak01 commented 1 year ago

This is what I changed to allow this to compile.

My issue is that if I convert from Celcius to Farenheit every time I change the temp it will drop down 50f.

It mostly works with Celcius except my display is showing up with Celcius temps ie showing 22F instead of 72F

diff --git a/src/mitsubishi2mqtt/mitsubishi2mqtt.ino b/src/mitsubishi2mqtt/mitsubishi2mqtt.ino index d7fb39f..aaf5ce9 100644 --- a/src/mitsubishi2mqtt/mitsubishi2mqtt.ino +++ b/src/mitsubishi2mqtt/mitsubishi2mqtt.ino @@ -234,16 +234,16 @@ void saveAdvance(String tempUnit, String supportMode, String supportFanMode, Str const size_t capacity = JSON_OBJECT_SIZE(4) + 200; DynamicJsonDocument doc(capacity); // if temp unit is empty, we use default celcius

Thanks in avance.

kayak01 commented 1 year ago

It looks like my ssh key was out of date, and my git pulls were falling and not reporting the issue.

I was a couple of years out of date.

I had previously downloaded the project but didn't have the parts to build it. With the current code, it's working as expected.

git show resulted in:

commit e561174ec0b021a93b4146456fa55c1e55709ec6 (HEAD -> master, origin/master, origin/HEAD, jason/compile-issues) Author: Viet Dzung dzungpv@outlook.com Date: Sun Sep 6 19:19:41 2020 +0700

Fix action, not apply for AUTO/HEAT-COOL mode

diff --git a/src/mitsubishi2mqtt/config.h b/src/mitsubishi2mqtt/config.h index 2fbd9de..8e0f92c 100644 --- a/src/mitsubishi2mqtt/config.h +++ b/src/mitsubishi2mqtt/config.h @@ -14,7 +14,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */