GithubHelp home page GithubHelp logo

absalom-muc / mhi-ac-ctrl Goto Github PK

View Code? Open in Web Editor NEW
263.0 38.0 60.0 19.29 MB

Reads and writes data (e.g. power, mode, fan status etc.) from/to a Mitsubishi Heavy Industries (MHI) air conditioner (AC) via SPI controlled by MQTT

License: MIT License

C++ 91.76% C 8.24%
esp8266 air conditioner mhi spi mqtt mitsubishi heavy industries srk

mhi-ac-ctrl's People

Contributors

absalom-muc avatar alexcpu avatar ervee avatar glsf91 avatar hvorragend avatar ingria avatar oliv3r avatar rescla avatar scott-t avatar scottg88 avatar timcinel avatar wrouesnel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mhi-ac-ctrl's Issues

Vanes left/right swing and mode

Hi,

I've successfully connected SRK25ZJ-S to Wemos D1 using this great project. 

Just a few notes:

  1. Pinout of MHI CNS connector was different from which described in this project (CLK and MOSI should be swapped). So, my CNS connector pinout: +12V, SPI_CLK, SPI_MOSI, SPI_MISO, GND.
  2. After flashing ESP8266 with sketch I have a lot of messages "Wrong MOSI signature". That's because ESP8266 CPU speed was not enough (80MHz). After flashing with CPU speed 160MHz it works like a charm.

I've started to investigate SPI bus protocol according, and found there is nothing about changing Vanes left/right position and mode. Unfortunately I have no wired module to sniff set commands for this operation. Also, the latest status is not changed during operation using IR as well (the same logic as for vanes up/down swing).

If You have wired remote, can You catch the commands during such operations? Probably we can extend SPI bus interface description and then to implement additional commands?

Thanks.

Hardware buy

Hi,

Is there a place where to buy ready to install hardware?

Upload Firmware

Tell me how to properly upload firmware. Very desirable in steps and with screenshots. Not very strong in this matter (

Version 1.3 Frequenz out of Range

Hey, habe heute deine Version 1.3 ausprobiert, leider startet der Wemos immer neu und der Monitor zeigt "Frequenzy out of range"
Klimagerät Typ: SRK50 ZM-S

Hier mal ein Teil des seriellen Monitors:

`MHI-AC-Ctrl starting
Measure frequency for SCK, MOSI and MISO pin
SCK frequency=4160Hz (expected: 3000 .. 3200Hz) out of range!

Soft WDT reset

ctx: cont
sp: 3ffffd70 end: 3fffffd0 offset: 01b0

stack>>>
3fffff20: 0000003f 0000000d 3ffef58c 40208188
3fffff30: 0000003f 3ffef340 3ffef58c 40208469
3fffff40: 3ffe93ac 00000020 3ffe8fc4 40208469
3fffff50: 3ffe8ad0 feefeffe 3ffef58c 4020861c
3fffff60: 40106808 4010642c 3ffef58c 40208690
3fffff70: 0000003f 3ffef340 3ffef58c 40202e7d
3fffff80: 3ffe8500 3ffef344 3ffef58c 40203346
3fffff90: feefeffe feefeffe feefeffe feefeffe
3fffffa0: feefeffe feefeffe feefeffe feefeffe
3fffffb0: 3fffdad0 00000000 3ffef65c 40209600
3fffffc0: feefeffe feefeffe 3ffe8608 40100739
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld

MHI-AC-Ctrl starting
Measure frequency for SCK, MOSI and MISO pin
SCK frequency=4168Hz (expected: 3000 .. 3200Hz) out of range!

Soft WDT reset

ctx: cont
sp: 3ffffd70 end: 3fffffd0 offset: 01b0

stack>>>
3fffff20: 0000003e 0000000d 3ffef58c 40208188
3fffff30: 0000003e 3ffef340 3ffef58c 40208469
3fffff40: 3ffe93ac 00000020 3ffe8fc4 40208469
3fffff50: 3ffe8ad0 feefeffe 3ffef58c 4020861c
3fffff60: 40106808 4010642c 3ffef58c 40208690
3fffff70: 0000003e 3ffef340 3ffef58c 40202e7d
3fffff80: 3ffe8500 3ffef344 3ffef58c 40203346
3fffff90: feefeffe feefeffe feefeffe feefeffe
3fffffa0: feefeffe feefeffe feefeffe feefeffe
3fffffb0: 3fffdad0 00000000 3ffef65c 40209600
3fffffc0: feefeffe feefeffe 3ffe8608 40100739
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld

MHI-AC-Ctrl starting
Measure frequency for SCK, MOSI and MISO pin
SCK frequency=4304Hz (expected: 3000 .. 3200Hz) out of range!

Soft WDT reset

ctx: cont
sp: 3ffffd70 end: 3fffffd0 offset: 01b0

stack>>>
3fffff20: 0000003f 0000000d 3ffef58c 40208188
3fffff30: 0000003f 3ffef340 3ffef58c 40208469
3fffff40: 3ffe93ac 00000020 3ffe8fc4 40208469
3fffff50: 3ffe8ad0 feefeffe 3ffef58c 4020861c
3fffff60: 40106808 4010642c 3ffef58c 40208690
3fffff70: 0000003f 3ffef340 3ffef58c 40202e7d
3fffff80: 3ffe8500 3ffef344 3ffef58c 40203346
3fffff90: feefeffe feefeffe feefeffe feefeffe
3fffffa0: feefeffe feefeffe feefeffe feefeffe
3fffffb0: 3fffdad0 00000000 3ffef65c 40209600
3fffffc0: feefeffe feefeffe 3ffe8608 40100739
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld

MHI-AC-Ctrl starting
Measure frequency for SCK, MOSI and MISO pin
SCK frequency=4184Hz (expected: 3000 .. 3200Hz) out of range!

Soft WDT reset

ctx: cont
sp: 3ffffd70 end: 3fffffd0 offset: 01b0

stack>>>
3fffff20: 0000003e 0000000d 3ffef58c 40208188
3fffff30: 0000003e 3ffef340 3ffef58c 40208469
3fffff40: 3ffe93ac 00000020 3ffe8fc4 40208469
3fffff50: 3ffe8ad0 feefeffe 3ffef58c 4020861c
3fffff60: 40106808 4010642c 3ffef58c 40208690
3fffff70: 0000003e 3ffef340 3ffef58c 40202e7d
3fffff80: 3ffe8500 3ffef344 3ffef58c 40203346
3fffff90: feefeffe feefeffe feefeffe feefeffe
3fffffa0: feefeffe feefeffe feefeffe feefeffe
3fffffb0: 3fffdad0 00000000 3ffef65c 40209600
3fffffc0: feefeffe feefeffe 3ffe8608 40100739
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld

MHI-AC-Ctrl starting
Measure frequency for SCK, MOSI and MISO pin
SCK frequency=4296Hz (expected: 3000 .. 3200Hz) out of range!

Soft WDT reset

ctx: cont
sp: 3ffffd70 end: 3fffffd0 offset: 01b0

stack>>>
3fffff20: 0000003e 0000000d 3ffef58c 40208188
3fffff30: 0000003e 3ffef340 3ffef58c 40208469
3fffff40: 3ffe93ac 00000020 3ffe8fc4 40208469
3fffff50: 3ffe8ad0 feefeffe 3ffef58c 4020861c
3fffff60: 40106808 4010642c 3ffef58c 40208690
3fffff70: 0000003e 3ffef340 3ffef58c 40202e7d
3fffff80: 3ffe8500 3ffef344 3ffef58c 40203346
3fffff90: feefeffe feefeffe feefeffe feefeffe
3fffffa0: feefeffe feefeffe feefeffe feefeffe
3fffffb0: 3fffdad0 00000000 3ffef65c 40209600
3fffffc0: feefeffe feefeffe 3ffe8608 40100739
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld

MHI-AC-Ctrl starting
Measure frequency for SCK, MOSI and MISO pin
SCK frequency=4171Hz (expected: 3000 .. 3200Hz) out of range!

Soft WDT reset

ctx: cont
sp: 3ffffd70 end: 3fffffd0 offset: 01b0

stack>>>
3fffff20: 0000003f 0000000d 3ffef58c 40208188
3fffff30: 0000003f 3ffef340 3ffef58c 40208469
3fffff40: 3ffe93ac 00000020 3ffe8fc4 40208469
3fffff50: 3ffe8ad0 feefeffe 3ffef58c 4020861c
3fffff60: 40106808 4010642c 3ffef58c 40208690
3fffff70: 0000003f 3ffef340 3ffef58c 40202e7d
3fffff80: 3ffe8500 3ffef344 3ffef58c 40203346
3fffff90: feefeffe feefeffe feefeffe feefeffe
3fffffa0: feefeffe feefeffe feefeffe feefeffe
3fffffb0: 3fffdad0 00000000 3ffef65c 40209600
3fffffc0: feefeffe feefeffe 3ffe8608 40100739
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbb28d4a3
~ld

MHI-AC-Ctrl starting
Measure frequency for SCK, MOSI and MISO pin
SCK frequency=4160Hz (expected: 3000 .. 3200Hz) out of range!
`

Und noch eine Frage, warum lässt du den Wemos zusätzlich im AP Modus laufen? Hat das einen speziellen Grund?

Gruß

PCB improvement for SRK-ZSX serie

First of all: Excellent project & development. I have 2 MHI airco's and both are equipped with your solution and it works great!

Last week I have provided one of my ordered PCB's to someone who also wanted to build an airco controller based on your software. After installation, he provided me with some feedback for PCB improvement, since he had to modify the PCB to make it fit in his airco.

The airco used is one from the Mitsubishi Heavi Industries SRK-ZSX series. Next to the connector on the mainboard of the airco, there is a big elco which prevents the PCB to be fitted in the connector. This could offcourse be solved with an extension cable, but he removed a small piece of the PCB to make it fit.

Photos are attached for your reference, maybe you can use them to further improve your PCB design.

PCB_02
PCB_01

AC turns itself off after wifi goes down

Hi, I'm using your interface with mqtt via homeassistant and right now I have the following problem:
I have a scheduled wifi that turns off during the night, and after the wifi goes down, the ac suddenly switches itself off too.
I could reproduce this behavior with the following steps:

  • I turned on the AC via homeassistant
  • (The AC remote ofc thinks the AC is off,because the status doesn't sync to the remote) So I pressed the power on button on the remote so I could change the temperature with the remote
  • Then I went to my wifi router and pulled the plug

After about 1-2 minutes the AC is powering itself off.
Do you maybe have an idea what could cause this odd behavior and how to stop it?

WDT Soft Reset question

HI
Just built the controller and uploaded the code, however it keeps on soft resseeting
I have not connected it to the AC yet, so im just wondering if there is no connection would this be the cause of the soft reset

HI-AC-Ctrl starting
CPU frequency[Hz]=80000000
Attempting WiFi connection ............... connected to IoT, IP address: 10.0.0.101
OTA Ready
Attempting MQTT connection... connected
status=65 topic=connected payload=1
status=64 topic=RSSI payload=-65
Measure frequency for SCK, MOSI and MISO pin
status=68 value=0
status=68 topic=fSCK payload=0
status=69 value=0
status=69 topic=fMOSI payload=0
status=70 value=0
status=70 topic=fMISO payload=0
SCK frequency=0Hz (expected: >3000Hz) out of range!
MOSI frequency=0Hz (expected: <SCK frequency) out of range!
MISO frequency=0Hz (expected: ~0Hz) o.k.

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Soft WDT reset

stack>>>

ctx: cont
sp: 3ffffdb0 end: 3fffffc0 offset: 01a0
3fffff50: 00000064 3ffee508 00001e9d 40201289
3fffff60: 00000000 00000000 00000008 00000000
3fffff70: 3ffe84dc 3ffee4f8 3ffee62c 4020622a
3fffff80: 3fffdad0 00000000 3ffee534 3ffee8a8
3fffff90: 3fffdad0 00000000 3ffee508 4020249f
3fffffa0: feefeffe feefeffe 3ffee868 4020cd18
3fffffb0: feefeffe feefeffe 3ffe8514 40101105
<<<stack<<<

Gerber files

Hi,

i'm looking forward to build you awesome project myself. I like to order some PCB but i need gerber files for that. Can you share those with me?

Thanks in advance.

Regards,

Frank

Soft WDT Reset of Lonlin WEMOS D1 Mini with MHI-AC-Ctrl Sketch

Hi again,

I have been slowly loosing my mind trying to fix a looping soft reset of the Watch Dog Timer on the D1 Mini.

I have tested the device with other sketches including MHI-AC-SPI and found that there is no physical issue with the devices itself as these sketches work without issue.

I'm just wondering if anyone else has had a similar issue or if there is a simple solution I haven't tried.

Currently this is the output of the ESP exception decoder that I'm using to debug the sketch.

60:MHI-AC-Ctrl starting
...........OTA Ready
IP address: 192.168.2.55
connected to IoT, IP address: 192.168.2.55
MQTTreconnect
Attempting MQTT connection...connected
Soft WDT reset

>>>stack>>>

ctx: cont sp: 3ffffd90 end: 3fffffc0 offset: 01b0 3fffff40: 00000001 3ffe875c 00000000 00000000 3fffff50: 00000000 00000001 000000ff 000000ff 3fffff60: 00000000 00000000 00000001 00000008 3fffff70: 000000ff 000000ff 000000ff 000000ff 3fffff80: 000000ff 00000000 3ffe84dc 4020d710 3fffff90: 4020e0d8 3702a8c0 feefeffe 3ffeeb14 3fffffa0: 3fffdad0 00000000 3ffeead4 4020bf64 3fffffb0: feefeffe feefeffe 3ffe851c 40100f29
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1392, room 16 tail 0 chksum 0xd0 csum 0xd0 v3d128e5c ~ld

Decoding of the stack results shows the following errors

0x4020d710:
std::_Function_handler ::_M_invoke(std::_Any_data const&, char*, unsigned char*, unsigned int)
at c:\users\lifef\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506\xtensa-lx106-elf\include\c++\4.8.2/functional line 2069

0x4020bf64:
loop_wrapper() at C:\Users\lifef\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\cores\esp8266\core_esp8266_main.cpp line 180

If any more information may be useful in figuring out what is going wrong here is required I can happy provide.

Any help here to diagnose what is going wrong would be really helpful.

Wiring btw AC and MHI-AC-Ctrl

Hi absalom,

thanks a lot for your great work. I´m about to solder the board and I´ve a question and input concerning the layout / wiring.
On the orange placards (/images/SRK-PCB.jpg and /images/SRK-PCB-RC.jpg) the order is GND,MISO,MOSI,SCL,+12V, beginning from 1.
This would mean 1 equals to GND.
On the pic below (AC_to_MHI-AC-Ctrl.png), PIN 1 equals to +12 V.
Please, could you explain the relationship between the pins on the boards and the information on the orange placards?

Thanks a lot,
Best,
drdoner

Sending Commands not working

Hey there, after i was unsuccessfull with the MHI2MQTT project from rjdekker i switched to your projekt.

after soldering the parts and flashing the SW i have the following status from MQTT:

Wohnzimmer/connected 1
Wohnzimmer/RSSI -58
Wohnzimmer/fSCK 3200
Wohnzimmer/fMOSI 500
Wohnzimmer/fMISO 0
Wohnzimmer/Mode Off
Wohnzimmer/Power Off
Wohnzimmer/Fan 1
Wohnzimmer/Vanes ?
Wohnzimmer/Troom 23.25
Wohnzimmer/Tsetpoint 24
Wohnzimmer/Errorcode 0
Wohnzimmer/OpData/Mode Cool
Wohnzimmer/OpData/Tsetpoint 24
Wohnzimmer/OpData/RETURN-AIR 23.50
Wohnzimmer/OpData/THI-R1 19
Wohnzimmer/OpData/THI-R2 70
Wohnzimmer/OpData/THI-R3 19
Wohnzimmer/OpData/IU-FANSPEED 0
Wohnzimmer/OpData/OUTDOOR 16.75
Wohnzimmer/OpData/THO-R1 5
Wohnzimmer/OpData/COMP 0.00
Wohnzimmer/OpData/TD <=30
Wohnzimmer/OpData/CT 0.00
Wohnzimmer/OpData/TDSH 1
Wohnzimmer/OpData/PROTECTION-NO 0
Wohnzimmer/OpData/OU-FANSPEED 0
Wohnzimmer/OpData/DEFROST Off
Wohnzimmer/OpData/OU-EEV1 200

and from serial:

10:15:20.428 -> mhi_ac_ctrl_core.loop error: -1
10:15:31.654 -> status=136 value=94
10:15:31.654 -> status=136 topic=THI-R3 payload=19
10:16:05.682 -> status=132 value=59
10:16:05.682 -> status=132 topic=THO-R1 payload=7
10:16:33.658 -> status=130 value=155
10:16:33.658 -> status=130 topic=RETURN-AIR payload=23.75
10:16:43.660 -> status=131 value=167
10:16:43.660 -> status=131 topic=OUTDOOR payload=18.25

so for me, everything looks fine.

now when i try to send a Command with: Wohnzimmer/set/Power = On
i have the following Error both in serial and MQTT:

10:17:17.808 -> MQTT_subscribe_callback, topic=Wohnzimmer/set/Power payload=On payload_length=2
10:17:17.841 -> status=66 topic=cmd_received payload=unknown command
Wohnzimmer/set/Power On
Wohnzimmer/cmd_received unknown command
Wohnzimmer/set/Power "On"
Wohnzimmer/cmd_received unknown command

My Indoor Units are SRK 25 ZS-W

Any Ideas?

MQTT Broker Authentication Issues

Hi

I'm trying to connect the board to my Mosquito MQTT broker in Home Assistant but struggling due to the broker requiring a username and password.

I have tried looking through the pubsubclient MQTT Authentication example to find a means to add a username and password field in the v1.2 MHI-AC-Ctrl.ino but am having no luck in adding any options for this.

Hopefully I'm not missing anything simple that you have already included.

If not is there any chance to update the ino file to version 1.3 that include an optional field that can be filled in if there is a username and password requirement for the MQTT broker?

Any help here would be amazing!

First run problem

Greetings.

Thanks a lot for such a cool thing. But I can’t start something: /

I assembled the module, flashed it with the latest firmware, connected it to the air conditioner, in MQTT Explorer I see only that (see screen). What could be wrong?
image

Home-assistant setup

Many thanks for creating this, works really well.

[edit] looks like homeassistant doesn’t like the power and mode control to be separated. Any possibility of combining this ?

Thanks.

Unable to compile

Hello,
I am trying to compile the project. I already added the reqired libraries but I get a bunch of error with the pubsub library. I checked the library itself and was able to compile the built in examples. So I guess the library itself should be OK.
Here is the output of the Arduino IDE: https://pastebin.com/0Q3QUWcs

MHI-RC

Wondering if anyone would be able to develop this to suit the Mitsubishi Heavy Industries RC systems?

I currently have a ducted system that I would like to add Wifi control to although off the shelf option s I have found are both expensive and intrusive (requiring connection to the cloud).

I have some basic understanding of the system and a few tools for R&D but little know how on where to start a project like this and how to get it to a working prototype, but willing to pay for time invested in a new project.

Sorry for Hijacking this repository but I don't know where else I should turnb to get something made.

Thanks,
Luke (GitHub Noob)

Add supported MHI models

Hi not really an issue, but thought you would like to know your base code works with the SRK50ZJX-S1 heat pump also. Only issue noted is the SCK frequency is measured incorrectly, but this doesn't affect operation. Checked SPI output using a logic analyser and actual SCK was around 60kHz (from memory) but measured as 2500Hz.
Haven't tested v2.0 yet (only just noticed you updated).
Cheers
Wayne

AC is set to "Off" after iobroker restarts / wifi down

Hi,

I'm running into an issue where the AC is powered off when the wifi network was down or i do a restart of iobroker.

How to reproduce:

Connect the module with wifi
Power AC an by IR Control
Power Off WiFi
Power On Wifi

OR

Restart running iobroker instance during AC is powered on

After the module reconnects, the AC is set to "Off" and stops working.

Does anybody else noticed this behavior? I'm using the mqtt adapter (https://github.com/ioBroker/ioBroker.mqtt)

Best Regards
Manuel

MHI-AC-Ctrl in a multi-split configuration

Hi,
Great work you have done. I appreciate your effort for this project.

Question though: Has this solution even been deployed in a multi-split system (one outside unit with multiple inside convertors).

One convertor works fine. The moment I connect the second one, MQTT reports AC "connected = 0" and the MQTT broker is flooded with this connect message. Sometime "1" but most of the time "0".

Which part of the code is responsible for retransmitting the "connected" status?

Thanks,

Peter

SSL eventually?

Have this working on my home network, I was gonna implement SSL on my MQTT broker (Mosquitto), but then I realised as of now, there's no option to support SSL for this project.

IotMQTTPanel Dashboard export

On your first page of this project, there is an image of a created dashboard in IotMQTTPanel.

Do you happen to have an export of that dashboard which can be used as a baseline for other users with the same app?

Library integration proposal

Hi,
I am using Tasmota firmware because it has reach set of modules. But it is lack of support MHI control.
I started development Tasmota module to support MHI control, but I found MHI-AC-Ctrl has implemented most needed feature for this.
Probably, the better way will be to refactor current project to be able use it as library which will be easy to integrate or reuse.
What do you think?

Mqtt commands not effecting heat pump. Can receive but not set.

I have my unit up and running.

I can receive all the status' of the heat pump correctly in Home Assistant. But setting the states has no effect on the heat pump.
Here is my log:

init
14:12:42.945 -> MHI-AC-Ctrl starting
14:12:42.945 -> CPU frequency[Hz]=80000000
14:12:42.945 -> Found 0 DS18xxx family devices.
14:12:42.986 -> Unable to find address for Device 0
14:12:42.986 -> Attempting WiFi connection ....... connected to 42 Grey Street, IP address: 192.168.1.75
14:12:45.023 -> OTA Ready
14:12:45.023 -> Attempting MQTT connection... connected
14:12:48.873 -> status=65 topic=connected payload=1
14:12:48.873 -> status=64 topic=RSSI payload=-78
14:12:48.873 -> Measure frequency for SCK, MOSI and MISO pin
14:12:49.897 -> status=68 value=3200
14:12:49.897 -> status=68 topic=fSCK payload=3200
14:12:49.897 -> status=69 value=464
14:12:49.897 -> status=69 topic=fMOSI payload=464
14:12:49.897 -> status=70 value=0
14:12:49.897 -> status=70 topic=fMISO payload=0
14:12:49.897 -> SCK frequency=3200Hz (expected: >3000Hz) o.k.
14:12:49.897 -> MOSI frequency=464Hz (expected: <SCK frequency) o.k.
14:12:49.897 -> MISO frequency=0Hz (expected: ~0Hz) o.k.

At first I am trying to set the different states to the heat pump via Home Assistant. Nothing happens to the heat pump on any of these commands:

14:12:49.977 -> status=71 value=0
14:12:49.977 -> status=71 topic=Power payload=OFF
14:12:49.977 -> status=72 value=0
14:12:49.977 -> status=72 topic=Mode payload=auto
14:12:49.977 -> status=73 value=2
14:12:49.977 -> status=73 topic=Fan payload=3
14:12:49.977 -> status=74 value=0
14:12:49.977 -> status=74 topic=Vanes payload=?
14:12:49.977 -> status=75 value=152
14:12:49.977 -> status=75 topic=Troom payload=22.75
14:12:49.977 -> status=76 value=24
14:12:49.977 -> status=76 topic=Tsetpoint payload=24
14:12:49.977 -> status=77 value=0
14:12:49.977 -> status=77 topic=Errorcode payload=0
14:13:09.047 -> MQTT_subscribe_callback, topic=MHInterface/set/Mode payload=off payload_length=3
14:13:09.047 -> status=66 topic=cmd_received payload=invalid parameter
14:13:14.983 -> MQTT_subscribe_callback, topic=MHInterface/set/Mode payload=heat payload_length=4
14:13:14.983 -> status=66 topic=cmd_received payload=o.k.
14:13:19.926 -> new DS18x20 temperature=-127.00°C
14:13:19.926 -> status=67 topic=Tds1820 payload=-127.00
14:13:31.332 -> MQTT_subscribe_callback, topic=MHInterface/set/Power payload=ON payload_length=2
14:13:31.332 -> status=66 topic=cmd_received payload=o.k.
14:13:33.834 -> MQTT_subscribe_callback, topic=MHInterface/set/Mode payload=auto payload_length=4
14:13:33.834 -> status=66 topic=cmd_received payload=o.k.
14:13:35.938 -> MQTT_subscribe_callback, topic=MHInterface/set/Tsetpoint payload=23.0 payload_length=4
14:13:35.938 -> status=66 topic=cmd_received payload=o.k.

Then using the remote to control the heat pump (which works)

14:15:42.582 -> status=71 value=1
14:15:42.582 -> status=71 topic=Power payload=ON
14:15:59.662 -> status=76 value=26
14:15:59.662 -> status=76 topic=Tsetpoint payload=26
14:16:02.716 -> status=73 value=0
14:16:02.716 -> status=73 topic=Fan payload=1
14:16:03.918 -> status=75 value=150
14:16:03.918 -> status=75 topic=Troom payload=22.25
14:16:04.272 -> status=73 value=1
14:16:04.272 -> status=73 topic=Fan payload=2
14:16:05.976 -> status=73 value=2
14:16:05.976 -> status=73 topic=Fan payload=3
14:16:09.021 -> status=73 value=3
14:16:09.021 -> status=73 topic=Fan payload=4
14:16:14.642 -> status=73 value=2
14:16:14.642 -> status=73 topic=Fan payload=3
14:16:18.851 -> status=73 value=0
14:16:18.851 -> status=73 topic=Fan payload=1
14:16:23.661 -> status=73 value=3
14:16:23.661 -> status=73 topic=Fan payload=4
14:16:32.433 -> status=73 value=2
14:16:32.433 -> status=73 topic=Fan payload=3
14:16:35.746 -> status=75 value=148
14:16:35.746 -> status=75 topic=Troom payload=21.75
14:16:49.678 -> status=76 value=25
14:16:49.678 -> status=76 topic=Tsetpoint payload=25
14:16:53.687 -> status=72 value=16
14:16:53.687 -> status=72 topic=Mode payload=heat
14:17:00.702 -> status=72 value=4
14:17:00.702 -> status=72 topic=Mode payload=dry
14:17:09.662 -> status=72 value=12
14:17:09.662 -> status=72 topic=Mode payload=fan_only
14:17:17.704 -> status=72 value=0
14:17:17.704 -> status=72 topic=Mode payload=auto
14:17:17.704 -> status=76 value=26
14:17:17.704 -> status=76 topic=Tsetpoint payload=26

Then trying to turn off the heat pump from Home Assistant (didn't turn off)

14:17:30.110 -> MQTT_subscribe_callback, topic=MHInterface/set/Power payload=OFF payload_length=3
14:17:30.110 -> status=66 topic=cmd_received payload=o.k.

Any advise would be appreciated

PCB or assembled PCB

Hi absalom-muc,
ich weiß leider nicht, wie ich dich anders erreichen kann. Bist du in irgendwelchen Boards aktiv, worüber ich dich anschreiben kann?

Ich wollte dich fragen, ob du noch eine Platine oder vielleicht sogar eine (evtl. zwei) zusammengebaute Platinen zur Verfügung hast? Notfalls löte ich mir diese auch selbst zurecht.

Kannst du mir helfen? Ich will nicht zwei Platinen in China bestellen.

Danke dir. Und sorry für diesen unüblichen Weg.

Viele Grüße

Cannot get it working

I have been trying to get this working with both rjdekkars library and now your library with no success. Below is a picture of my connections which looks the same as your picture (excuse the blurryness) as aircon is right next to wall so was difficult to hook up)

I’ve tried swapping the scl and MOSI but no success I can see mqtt is connecting again and again to my broker which suggests it’s getting caught in the while loop and resetting. This would suggest nothing coming through on the scl but I don’t get it my picture looks the same as yours. I’m using level shifter from spark fun and polu voltage regulator as per rjdekkar with a nodemcu over the Wemos. I’ve tried diffrent cpu frequencies. Any help would be greatly appreciated. My unit is an srk

480BD759-3309-4F99-9026-19B8E13FD39E

Run exception on Wemos D1 Mini

First of all thank you for your hard work on this project. Saves me a lot of headaches ;) so thanks for that.

While trying this out i noticed the d1 mini was in a boot loop. After hooking it up to my serial monitor I saw the following output running in a loop:

MHI-AC-Ctrl starting
CPU frequency[Hz]=80000000
Attempting WiFi connection .......... connected to xxxxxx, IP address: 192.168.xxx.xxx
OTA Ready
Attempting MQTT connection... connected
status=65 topic=connected payload=1

Exception (3):
epc1=0x40216c6c epc2=0x00000000 epc3=0x00000000 excvaddr=0x40247ed4 depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffffd20 end: 3fffffc0 offset: 0190
3ffffeb0:  40247ee2 40247f30 3ffffe90 3ffffec0  
3ffffec0:  40247ed4 00000000 401004d2 3ffee890  
3ffffed0:  00000041 40247ed8 40247ed4 40202814  
3ffffee0:  2d49484d 432d4341 2f6c7274 6e6e6f63  
3ffffef0:  65746365 00000064 00000000 00000000  
3fffff00:  00000000 00000000 00000000 00000000  
3fffff10:  00000000 00000000 00000000 00000000  
3fffff20:  00000000 00000000 00000000 00000000  
3fffff30:  00000000 00000000 00000000 00000000  
3fffff40:  00000000 00000000 3ffee748 4020b5fc  
3fffff50:  3ffee594 00000000 3ffee748 402028ac  
3fffff60:  00000001 3ffe86c2 3ffee614 40202a84  
3fffff70:  3ffefbf4 00000000 3ffee594 40204fde  
3fffff80:  3fffdad0 00000000 3ffee594 40202459  
3fffff90:  40201a9c feefeffe 4020e9c4 4020e9ac  
3fffffa0:  feefeffe feefeffe 3ffee850 4020cd64  
3fffffb0:  feefeffe feefeffe 3ffe8510 40101145  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

Unfortunately my knowledge stops here and after a lot of googling I wasn't able to resolve it myself.

Home Assistant

Do you have an example of integration in Home assistant?

Jumpers?

Could you please answer me for what purpose are the jumpers on the PCB?

Thank you very much

Timer and Night Setback

More a question than an issue:

  1. It looks as though having anything connected to a MHI CNS port will always disable the built-in timer functions. The timer light will not even turn on with the MHI-AC-Ctrl connected.
  2. It doesn't look as though it's possible to enable Night Setback mode through the MHI-AC-Ctrl. I can see that when I enable Night Setback through the remote then the unit has a Tsetpoint of 10 but if I try to pass 10 to set/Tsetpoint I get the Invalid Parameter for cmd_received. Has anybody figured out how to turn on Night Setback as that would mean I no longer need the timer function mentioned above?

How to configure / update OTA?

Hi,

I've seen there is a OTA option. But i didn't find any advice how to handle it. By using IP or host-name i cannot access the device.

Is there a way to change the MQTT server adress or run an update without unmount the AC / remove the device from the AC?

Any hint?

Best Regards

Manuel

Set define TEMP_MEASURE_PERIOD to 0 in default

Hi,

for newbies it would be easier if the default setting for the optional temp sensor would be set to disabled / 0

#define TEMP_MEASURE_PERIOD 30 // period in seconds for temperature measurement with the external DS18x20 temperature sensor

Best Regards
Manuel

MQTT connection loop

Hi,
my mqtt connection is continually resetting.
I've found this comment referencing the SCK and MOSI pins. the 'new' pins referenced in the comment are not whats in the latest release -2.03 - MHI-AC-Ctrl-core.h

after flashing the serial monitor shows a loop of the below.

ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3584, room 16 
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

MHI-AC-Ctrl starting
CPU frequency[Hz]=80000000
Attempting WiFi connection .......... connected to xxxxxxxx, IP address: xxx.xxx.x.xx
OTA Ready
Attempting MQTT connection... connected
status=65 topic=connected payload=1

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Exception (3):
epc1=0x40216d34 epc2=0x00000000 epc3=0x00000000 excvaddr=0x40247f94 depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffffd20 end: 3fffffc0 offset: 0190
3ffffeb0:  40247fa2 40247ff0 3ffffe90 3ffffec0  
3ffffec0:  40247f94 00000000 00000002 3ffee890  
3ffffed0:  00000041 40247f98 40247f94 40202814  
3ffffee0:  2d49484d 432d4341 2f6c7274 6e6e6f63  
3ffffef0:  65746365 00000064 00000000 00000000  
3fffff00:  00000000 00000000 00000000 00000000  
3fffff10:  00000000 00000000 00000000 00000000  
3fffff20:  00000000 00000000 00000000 00000000  
3fffff30:  00000000 00000000 00000000 00000000  
3fffff40:  00000000 00000000 3ffee748 4020b654  
3fffff50:  3ffee594 00000000 3ffee748 402028ac  
3fffff60:  00000001 3ffe86c0 3ffee614 40202a84  
3fffff70:  3ffef43c 00000000 3ffee594 4020502e  
3fffff80:  3fffdad0 00000000 3ffee594 40202459  
3fffff90:  40201a9c feefeffe 4020ea8c 4020ea74  
3fffffa0:  feefeffe feefeffe 3ffee850 4020cdc4  
3fffffb0:  feefeffe feefeffe 3ffe8510 40101129  
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

and below is the log from MQTT broker in Home Assistant. this is a small extract, if just keeps going over and over

1605573472: New connection from 192.168.0.18 on port 1883.
1605573472: Client MHI-AC-Ctrl already connected, closing old connection.
1605573472: New client connected from 192.168.0.18 as MHI-AC-Ctrl (p2, c1, k15, u'mqtt').
1605573477: New connection from 192.168.0.18 on port 1883.
1605573477: Client MHI-AC-Ctrl already connected, closing old connection.
1605573477: New client connected from 192.168.0.18 as MHI-AC-Ctrl (p2, c1, k15, u'mqtt').

No issue, just a question

Hey,
it's nice to see that someone has taken on the project again.
At the moment I am still using rjdekker's version, which works so far, but I would also like to test your solution with the Wemos Mini.
Where do you order your board? In Germany?
I also found something in China, but I would need a Gerber file instead of the Eagle file. Can you maybe also provide a Gerber file?

Vanes not Working

On my unit, I have L/R, U/D and 3D Auto as Vanes options.

My MQTT response for the vanes from this program is:


Message 323 received on MHInterface/Vanes at 14:56:

?

QoS: 0 - Retain: true 

Do you have any advice on how to solve this?

Disassemble the air conditioner

Hey.
Tell me how to disassemble the air conditioner, I can not find any instructions. Ideally, some screenshots of what to unscrew and how to get to the CNS port can.
SRK 25ZS-S

MISO frequency issue?

Hey mate,

I wonder if you can help me. I have just soldered up your circuit and have a problem with the MISO frequency it seems.

Here is the running log:

MHI-AC-Ctrl starting
CPU frequency[Hz]=80000000
Found 0 DS18xxx family devices.
Unable to find address for Device 0
Device 0 Address: 0000000000000000
Attempting WiFi connection ....... connected to 42 Grey Street, IP address: 192.168.1.91
OTA Ready
Attempting MQTT connection... connected
status=65 topic=connected payload=1
status=64 topic=RSSI payload=-89
Measure frequency for SCK, MOSI and MISO pin
SCK frequency=3196Hz (expected: >3000Hz) o.k.
MOSI frequency=478Hz (expected: <SCK frequency) o.k.
MISO frequency=3435Hz (expected: ~0Hz) out of range!

Soft WDT reset

>>>stack>>>

ctx: cont
sp: 3ffffdb0 end: 3fffffc0 offset: 01a0
3fffff50:  3ffee8bc 3ffee8c4 3ffeeb34 40202b8d  
3fffff60:  35333433 3ffe8900 3ffeea00 40202a00  
3fffff70:  0039382d 3ffee8d8 3ffee908 3ffeec7c  
3fffff80:  3fffdad0 00000000 3ffee908 402021ff  
3fffff90:  402018c0 feefeffe 4020f600 4020f5e8  
3fffffa0:  feefeffe feefeffe 3ffeec3c 4020d9a0  
3fffffb0:  feefeffe feefeffe 3ffe850c 40101135  
<<<stack<<<

ets Jan  8 2013,rst cause:2, boot mode:(3,2)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

Here is the freqency log:

acquisition-please wait, ready: acq. time=999ms f=3200 time to 1st falling edge=35µs
cycle_time_min[0]=33µs, delta_time[0]=1µs, cycle_time_cnt=2800
cycle_time_min[1]=266µs, delta_time[1]=3µs, cycle_time_cnt=379
cycle_time_min[2]=40268µs, delta_time[2]=1µs, cycle_time_cnt=20
delta_cycle_time_max 9 6 4

acquisition-please wait, ready: acq. time=959ms f=3200 time to 1st falling edge=13156µs
cycle_time_min[0]=33µs, delta_time[0]=1µs, cycle_time_cnt=2800
cycle_time_min[1]=265µs, delta_time[1]=4µs, cycle_time_cnt=380
cycle_time_min[2]=40266µs, delta_time[2]=3µs, cycle_time_cnt=19
delta_cycle_time_max 9 6 4

And the SPI log:
https://www.dropbox.com/s/1co2uv9fxcv0zp7/SPI%20Log.txt?dl=0

I'm not really sure how any of this works, but if you could give me an idea of what might be wrong it would be greatly appreciated.

SRK-50-ZS-W in relation to Home Assistant (use of capitals to set mode)

Many thanks for this great script.

Plugged the unit in this afternoon and wanted to integrate it in Home Assistant with the The generic_thermostat climate platform.

Setpoint, vane position and fan speed worked out of 'the box', but operating mode was returning 'invalid parameter on my MQTT listener. Changed the MQTT 'PAYLOAD_MODE' in MHI-AC-Ctrl.h:

  • Auto -> auto
  • Stop -> stop
  • Dry -> dry
  • Cool -> cool
  • Fan -> fan_only
  • Heat -> heat

That did the trick on my SRK-50-ZSW. No fix needed - I suppose, just my experience with this particular type and integration.

Static ipaddress

Hi,

Can you make it possible to set a static ipaddress for the device?
I tried some things myself, but they fail. Im not familiar with arduinoide...

Home Assistant Enhancement Idea

I use home assistant for this.

My HA config is:

climate heatpump:
  - platform: mqtt
    unique_id: mhi0001a
    name: HeatPump
    initial: 22
    min_temp: 18
    max_temp: 30
    modes:
      - "auto"
      - "dry"
      - "cool"
      - "fan_only"
      - "heat"
      - "off"
    swing_modes:
      - "1"
      - "2"
      - "3"
      - "4"
      - "Swing"
    fan_modes:
      - "1"
      - "2"
      - "3"
      - "4"
    mode_command_topic: "MHI-AC-Ctrl/set/Mode"
    temperature_command_topic: "MHI-AC-Ctrl/set/Tsetpoint"
    fan_mode_command_topic: "MHI-AC-Ctrl/set/Fan"
    swing_mode_command_topic: "MHI-AC-Ctrl/set/Vanes"
    current_temperature_topic: "MHI-AC-Ctrl/Troom"
    mode_state_topic: "MHI-AC-Ctrl/Mode"
    temperature_state_topic: "MHI-AC-Ctrl/Tsetpoint"
    fan_mode_state_topic: "MHI-AC-Ctrl/Fan"
    swing_mode_state_topic: "MHI-AC-Ctrl/Vanes"

Home assistant will only accept certain topic commands which can't be changed easily e.g. "MHI-AC-Ctrl/set/Mode" -> "fan_only"

My suggestion is to have something like follows:

//Platform
#define USE_HOME_ASSISTANT true

#define PAYLOAD_MODE_AUTO HOME_ASSISTANT == true  ? "auto" : "Auto"
#define PAYLOAD_MODE_STOP HOME_ASSISTANT == true  ? "stop" : "Stop"
#define PAYLOAD_MODE_DRY HOME_ASSISTANT == true  ? "dry" : "Dry"
#define PAYLOAD_MODE_COOL HOME_ASSISTANT == true  ? "cool" : "Cool"
#define PAYLOAD_MODE_FAN HOME_ASSISTANT == true  ? "fan_only" : "Fan"
#define PAYLOAD_MODE_HEAT HOME_ASSISTANT == true  ? "heat" : "Heat"
#define PAYLOAD_OP_DEFROST_ON HOME_ASSISTANT == true  ? "on" : "On"
#define PAYLOAD_OP_DEFROST_OFF HOME_ASSISTANT == true  ? "off" : "Off"

The only problem I am getting is in the line
#define PAYLOAD_MODE_FAN HOME_ASSISTANT == true ? "fan_only" : "Fan"

Not sure what it is as I do not know C. If it was in Java I could probably figure it out.

Anyways, I think it would be a nice addition to have this work 'out of the box' with HA.

ZSX signature ?

My ZSX signature first byte is 0x6D, not 0x6C.

so I suggest the code
if ((rx_SPIframe[SB0] == 0x6c)
could be
if (((rx_SPIframe[SB0] & 0xfe) == 0x6c)

Thanks.

v2.0 MQTT Verbindungsprobleme

Hey, habe gerade die v2.0 ausprobiert, bei der Version habe ich aber stetige MQTT Neuverbindungen, ca. alle 0,5 Sekunden. Hier ein Auszug aus dem Arduino LOG, da stertet er das Programm scheinbar ständig neu:

19:24:12.423 -> MHI-AC-Ctrl starting
19:24:12.423 -> CPU frequency[Hz]=80000000
19:24:12.423 -> Attempting WiFi connection ....... connected to CoyoteIoT, IP address: 192.168.XX.XX
19:24:14.412 -> OTA Ready
19:24:14.412 -> Attempting MQTT connection... connected
19:24:14.457 -> status=65 topic=connected payload=1
19:24:14.457 ->
19:24:14.457 -> Exception (3):
19:24:14.457 -> epc1=0x40216db4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x40247e60 depc=0x00000000
19:24:14.457 ->
19:24:14.457 -> >>>stack>>>
19:24:14.457 ->
19:24:14.457 -> ctx: cont
19:24:14.457 -> sp: 3ffffd10 end: 3fffffc0 offset: 0190
19:24:14.457 -> 3ffffea0: 40247e6e c0247e63 3ffee9e8 4020b6a4
19:24:14.457 -> 3ffffeb0: 40247e60 40247e60 3ffee9e8 00000041
19:24:14.457 -> 3ffffec0: 40247e64 40247e60 3ffee9e8 40202630
19:24:14.457 -> 3ffffed0: 5f49484d 746e6957 61677265 6e657472
19:24:14.505 -> 3ffffee0: 6e6f632f 7463656e 00006465 4020df9d
19:24:14.505 -> 3ffffef0: 3ffe8ac7 00045454 4d002e01 4020df9d
19:24:14.505 -> 3fffff00: 3ffe8ac7 00000000 00000001 3ffeeb30
19:24:14.505 -> 3fffff10: 4020b02c 3ffee9e8 3ffe8ac5 4020b038
19:24:14.505 -> 3fffff20: 4020b02c 3ffee9e8 3ffe8ac5 4020b425
19:24:14.505 -> 3fffff30: 3ffee834 0000000a 3ffee9e8 4020b6a4
19:24:14.505 -> 3fffff40: 3ffee834 00000000 3ffee9e8 3ffeeb30
19:24:14.505 -> 3fffff50: 3ffee834 00000000 3ffee9e8 402026cc
19:24:14.505 -> 3fffff60: 00000001 3ffe86ad 3ffee8b4 40202850
19:24:14.505 -> 3fffff70: 3ffefd54 00000000 3ffee834 4020504a
19:24:14.505 -> 3fffff80: 3fffdad0 00000000 3ffee834 402021f8
19:24:14.539 -> 3fffff90: 402018c0 feefeffe 4020eb10 4020eaf8
19:24:14.539 -> 3fffffa0: feefeffe feefeffe 3ffeeaf0 4020cea8
19:24:14.539 -> 3fffffb0: feefeffe feefeffe 3ffe850c 40101135
19:24:14.539 -> <<<stack<<<
19:24:14.539 ->
19:24:14.539 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
19:24:14.539 ->
19:24:14.539 -> load 0x4010f000, len 3456, room 16
19:24:14.572 -> tail 0
19:24:14.572 -> chksum 0x84
19:24:14.572 -> csum 0x84
19:24:14.572 -> va5432625
19:24:14.572 -> ~ld
19:24:14.654 ->
19:24:14.654 -> MHI-AC-Ctrl starting
19:24:14.654 -> CPU frequency[Hz]=80000000
19:24:14.654 -> Attempting WiFi connection ....... connected to CoyoteIoT, IP address: 192.168.XX.XX
19:24:16.633 -> OTA Ready
19:24:16.633 -> Attempting MQTT connection... connected
19:24:16.673 -> status=65 topic=connected payload=1
19:24:16.673 ->
19:24:16.673 -> Exception (3):
19:24:16.673 -> epc1=0x40216db4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x40247e60 depc=0x00000000
19:24:16.673 ->
19:24:16.673 -> >>>stack>>>
19:24:16.673 ->
19:24:16.673 -> ctx: cont
19:24:16.673 -> sp: 3ffffd10 end: 3fffffc0 offset: 0190
19:24:16.673 -> 3ffffea0: 40247e6e c0247e63 3ffee9e8 4020b6a4
19:24:16.673 -> 3ffffeb0: 40247e60 40247e60 3ffee9e8 00000041
19:24:16.673 -> 3ffffec0: 40247e64 40247e60 3ffee9e8 40202630
19:24:16.721 -> 3ffffed0: 5f49484d 746e6957 61677265 6e657472
19:24:16.721 -> 3ffffee0: 6e6f632f 7463656e 00006465 4020df9d
19:24:16.721 -> 3ffffef0: 3ffe8ac7 00045454 4d002e01 4020df9d
19:24:16.721 -> 3fffff00: 3ffe8ac7 00000000 00000001 3ffeeb30
19:24:16.721 -> 3fffff10: 4020b02c 3ffee9e8 3ffe8ac5 4020b038
19:24:16.721 -> 3fffff20: 4020b02c 3ffee9e8 3ffe8ac5 4020b425
19:24:16.721 -> 3fffff30: 3ffee834 0000000a 3ffee9e8 4020b6a4
19:24:16.721 -> 3fffff40: 3ffee834 00000000 3ffee9e8 3ffeeb30
19:24:16.721 -> 3fffff50: 3ffee834 00000000 3ffee9e8 402026cc
19:24:16.721 -> 3fffff60: 00000001 3ffe86ad 3ffee8b4 40202850
19:24:16.755 -> 3fffff70: 3ffefd54 00000000 3ffee834 4020504a
19:24:16.755 -> 3fffff80: 3fffdad0 00000000 3ffee834 402021f8
19:24:16.755 -> 3fffff90: 402018c0 feefeffe 4020eb10 4020eaf8
19:24:16.755 -> 3fffffa0: feefeffe feefeffe 3ffeeaf0 4020cea8
19:24:16.755 -> 3fffffb0: feefeffe feefeffe 3ffe850c 40101135
19:24:16.755 -> <<<stack<<<
19:24:16.805 ->
19:24:16.805 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
19:24:16.805 ->
19:24:16.805 -> load 0x4010f000, len 3456, room 16
19:24:16.805 -> tail 0
19:24:16.805 -> chksum 0x84
19:24:16.805 -> csum 0x84
19:24:16.805 -> va5432625
19:24:16.805 -> ~ld
19:24:16.839 ->

Detailed Component List

Hi, I'm currently attempting to construct 3 of the MHI-AC adapter's for my AC units.

I have been attempting to find all of the components that you used constructing these boards but I'm struggling to fully read the information from the schematic files you have included and I don't want to make any mistakes.

Is there any chance that you could add a section with a detailed list of all the little individual components that where used to make these boards including capacitors, connectors, etc.

Thank you so much for this project, it was exactly what I was looking for!

Problem with SRK25ZJX-S

Please create a log with time stamp and some more entries before and after the effect. In addition, how does row 30 of MHI-AC-Ctrl-core.h
//#define POWERON_WHEN_CHANGING_MODE true
looks like?, Unchanged or have you commented it in?

I just commented this line and the problems with switching modes disappeared. But if this line is not commented, then the problem remains.

There should be 4 different fan speeds, no auto mode for the fan.

My remote control has 3 speeds and Auto mode:
http://splitoff.ru/wp-content/uploads/pults/ESC-RC-195.jpg

We've seen this instability alrady e.g. in the issue10. I couldn't find out the root cause, but since this seems to be not critical, I postponed it. btw: If you have an oscilloscope, a measurement would be helpful.

Yes, I have an oscilloscope, but I can connect it to the AC no earlier than next week.

Here is the test program log:

Frequency measurement v1.0
CPU frequency [Hz] : 80000000

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=6004µs
more than 3 ranges detected, skip measurement, sum acq_fails=1

acquisition-please wait, ready: acq. time=921ms f=2400 time to 1st falling edge=37013µs
more than 3 ranges detected, skip measurement, sum acq_fails=2

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=7357µs
more than 3 ranges detected, skip measurement, sum acq_fails=3

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=39466µs
more than 3 ranges detected, skip measurement, sum acq_fails=4

acquisition-please wait, ready: acq. time=982ms f=2559 time to 1st falling edge=7883µs
more than 3 ranges detected, skip measurement, sum acq_fails=5

acquisition-please wait, ready: acq. time=921ms f=2400 time to 1st falling edge=39438µs
more than 3 ranges detected, skip measurement, sum acq_fails=6

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8291µs
more than 3 ranges detected, skip measurement, sum acq_fails=7

acquisition-please wait, ready: acq. time=918ms f=2400 time to 1st falling edge=39714µs
more than 3 ranges detected, skip measurement, sum acq_fails=8

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=8167µs
more than 3 ranges detected, skip measurement, sum acq_fails=9

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=39546µs
more than 3 ranges detected, skip measurement, sum acq_fails=10

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8691µs
more than 3 ranges detected, skip measurement, sum acq_fails=11

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=40235µs
more than 3 ranges detected, skip measurement, sum acq_fails=12

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9158µs
more than 3 ranges detected, skip measurement, sum acq_fails=13

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=40066µs
more than 3 ranges detected, skip measurement, sum acq_fails=14

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9013µs
more than 3 ranges detected, skip measurement, sum acq_fails=15

acquisition-please wait, ready: acq. time=918ms f=2400 time to 1st falling edge=40543µs
more than 3 ranges detected, skip measurement, sum acq_fails=16

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8463µs
more than 3 ranges detected, skip measurement, sum acq_fails=17

acquisition-please wait, ready: acq. time=921ms f=2400 time to 1st falling edge=40407µs
more than 3 ranges detected, skip measurement, sum acq_fails=18

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=10517µs
more than 3 ranges detected, skip measurement, sum acq_fails=19

acquisition-please wait, ready: acq. time=918ms f=2400 time to 1st falling edge=41703µs
more than 3 ranges detected, skip measurement, sum acq_fails=20

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=8549µs
more than 3 ranges detected, skip measurement, sum acq_fails=21

acquisition-please wait, ready: acq. time=921ms f=2400 time to 1st falling edge=39375µs
more than 3 ranges detected, skip measurement, sum acq_fails=22

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=10030µs
more than 3 ranges detected, skip measurement, sum acq_fails=23

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=41427µs
more than 3 ranges detected, skip measurement, sum acq_fails=24

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9957µs
more than 3 ranges detected, skip measurement, sum acq_fails=25

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=41953µs
more than 3 ranges detected, skip measurement, sum acq_fails=26

acquisition-please wait, ready: acq. time=984ms f=2560 time to 1st falling edge=10483µs
more than 3 ranges detected, skip measurement, sum acq_fails=27

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=42370µs
more than 3 ranges detected, skip measurement, sum acq_fails=28

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9633µs
more than 3 ranges detected, skip measurement, sum acq_fails=29

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=39840µs
more than 3 ranges detected, skip measurement, sum acq_fails=30

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=9185µs
more than 3 ranges detected, skip measurement, sum acq_fails=31

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=39878µs
more than 3 ranges detected, skip measurement, sum acq_fails=32

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8280µs
more than 3 ranges detected, skip measurement, sum acq_fails=33

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=39201µs
more than 3 ranges detected, skip measurement, sum acq_fails=34

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8577µs
more than 3 ranges detected, skip measurement, sum acq_fails=35

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=39832µs
more than 3 ranges detected, skip measurement, sum acq_fails=36

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=8241µs
more than 3 ranges detected, skip measurement, sum acq_fails=37

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=39154µs
more than 3 ranges detected, skip measurement, sum acq_fails=38

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=7994µs
more than 3 ranges detected, skip measurement, sum acq_fails=39

acquisition-please wait, ready: acq. time=918ms f=2400 time to 1st falling edge=40106µs
more than 3 ranges detected, skip measurement, sum acq_fails=40

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8182µs
more than 3 ranges detected, skip measurement, sum acq_fails=41

acquisition-please wait, ready: acq. time=921ms f=2400 time to 1st falling edge=39600µs
more than 3 ranges detected, skip measurement, sum acq_fails=42

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=10098µs
more than 3 ranges detected, skip measurement, sum acq_fails=43

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=41162µs
more than 3 ranges detected, skip measurement, sum acq_fails=44

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8735µs
more than 3 ranges detected, skip measurement, sum acq_fails=45

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=40551µs
more than 3 ranges detected, skip measurement, sum acq_fails=46

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9178µs
more than 3 ranges detected, skip measurement, sum acq_fails=47

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=39806µs
more than 3 ranges detected, skip measurement, sum acq_fails=48

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=8632µs
more than 3 ranges detected, skip measurement, sum acq_fails=49

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=38922µs
more than 3 ranges detected, skip measurement, sum acq_fails=50

acquisition-please wait, ready: acq. time=984ms f=2560 time to 1st falling edge=7316µs
more than 3 ranges detected, skip measurement, sum acq_fails=51

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=39202µs
more than 3 ranges detected, skip measurement, sum acq_fails=52

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=7824µs
more than 3 ranges detected, skip measurement, sum acq_fails=53

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=38953µs
more than 3 ranges detected, skip measurement, sum acq_fails=54

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=8670µs
more than 3 ranges detected, skip measurement, sum acq_fails=55

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=39259µs
more than 3 ranges detected, skip measurement, sum acq_fails=56

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8468µs
more than 3 ranges detected, skip measurement, sum acq_fails=57

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=40321µs
more than 3 ranges detected, skip measurement, sum acq_fails=58

acquisition-please wait, ready: acq. time=984ms f=2560 time to 1st falling edge=8923µs
more than 3 ranges detected, skip measurement, sum acq_fails=59

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=41525µs
more than 3 ranges detected, skip measurement, sum acq_fails=60

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9411µs
more than 3 ranges detected, skip measurement, sum acq_fails=61

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=40264µs
more than 3 ranges detected, skip measurement, sum acq_fails=62

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8678µs
more than 3 ranges detected, skip measurement, sum acq_fails=63

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=40382µs
more than 3 ranges detected, skip measurement, sum acq_fails=64

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=8367µs
more than 3 ranges detected, skip measurement, sum acq_fails=65

acquisition-please wait, ready: acq. time=921ms f=2400 time to 1st falling edge=40159µs
more than 3 ranges detected, skip measurement, sum acq_fails=66

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=9641µs
more than 3 ranges detected, skip measurement, sum acq_fails=67

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=41338µs
more than 3 ranges detected, skip measurement, sum acq_fails=68

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=10578µs
more than 3 ranges detected, skip measurement, sum acq_fails=69

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=41842µs
more than 3 ranges detected, skip measurement, sum acq_fails=70

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=10901µs
more than 3 ranges detected, skip measurement, sum acq_fails=71

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=41534µs
more than 3 ranges detected, skip measurement, sum acq_fails=72

acquisition-please wait, ready: acq. time=981ms f=2560 time to 1st falling edge=10500µs
more than 3 ranges detected, skip measurement, sum acq_fails=73

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=40661µs
more than 3 ranges detected, skip measurement, sum acq_fails=74

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9032µs
more than 3 ranges detected, skip measurement, sum acq_fails=75

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=42767µs
more than 3 ranges detected, skip measurement, sum acq_fails=76

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=10781µs
more than 3 ranges detected, skip measurement, sum acq_fails=77

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=42354µs
more than 3 ranges detected, skip measurement, sum acq_fails=78

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=11266µs
more than 3 ranges detected, skip measurement, sum acq_fails=79

acquisition-please wait, ready: acq. time=918ms f=2400 time to 1st falling edge=41801µs
more than 3 ranges detected, skip measurement, sum acq_fails=80

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9559µs
more than 3 ranges detected, skip measurement, sum acq_fails=81

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=41083µs
more than 3 ranges detected, skip measurement, sum acq_fails=82

acquisition-please wait, ready: acq. time=984ms f=2560 time to 1st falling edge=9919µs
more than 3 ranges detected, skip measurement, sum acq_fails=83

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=42990µs
more than 3 ranges detected, skip measurement, sum acq_fails=84

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=10528µs
more than 3 ranges detected, skip measurement, sum acq_fails=85

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=41801µs
more than 3 ranges detected, skip measurement, sum acq_fails=86

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=11354µs
more than 3 ranges detected, skip measurement, sum acq_fails=87

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=43094µs
more than 3 ranges detected, skip measurement, sum acq_fails=88

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=11368µs
more than 3 ranges detected, skip measurement, sum acq_fails=89

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=41744µs
more than 3 ranges detected, skip measurement, sum acq_fails=90

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=10363µs
more than 3 ranges detected, skip measurement, sum acq_fails=91

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=40840µs
more than 3 ranges detected, skip measurement, sum acq_fails=92

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=9225µs
more than 3 ranges detected, skip measurement, sum acq_fails=93

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=40545µs
more than 3 ranges detected, skip measurement, sum acq_fails=94

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=9936µs
more than 3 ranges detected, skip measurement, sum acq_fails=95

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=40667µs
more than 3 ranges detected, skip measurement, sum acq_fails=96

acquisition-please wait, ready: acq. time=982ms f=2560 time to 1st falling edge=9556µs
more than 3 ranges detected, skip measurement, sum acq_fails=97

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=40249µs
more than 3 ranges detected, skip measurement, sum acq_fails=98

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=9995µs
more than 3 ranges detected, skip measurement, sum acq_fails=99

acquisition-please wait, ready: acq. time=919ms f=2400 time to 1st falling edge=41784µs
more than 3 ranges detected, skip measurement, sum acq_fails=100

acquisition-please wait, ready: acq. time=983ms f=2560 time to 1st falling edge=9739µs
more than 3 ranges detected, skip measurement, sum acq_fails=101

acquisition-please wait, ready: acq. time=920ms f=2400 time to 1st falling edge=40809µs
more than 3 ranges detected, skip measurement, sum acq_fails=102

MHI-AC-Ctrl + wired remote RC-EX3A or RC-E5 + SC-BIKN2-E

Hello!

Have you had any experience with connecting the MHI-AC-Ctrl and connecting a wired remote controller such as RC-EX3A or RC-E5 at the same time?

To connect a wired RC-EX3A or RC-E5 remote controller, I use the SC-BIKN2-E interface.

First, I connect MHI-AC-Ctrl to the CNS connector on the main board of the indoor unit, then I connect the second connector on MHI-AC-Ctrl to connect SC-BIKN2-E.

When the SC-BIKN2-E is connected, only the RC-EX3A wired remote control works, and although the MHI-AC-Ctrl is connected, it does not connect to the Home Assistant and does not receive topics and does not exchange information.

As soon as you turn off the SC-BIKN2-E interface, MHI-AC-Ctrl immediately starts working, receiving topics and exchanging information with the Home Assistant.

The question is, what do you think can MHI-AC-Ctrl + RC-EX3A or RC-E5 + SC-BIKN2-E interface work simultaneously? Or just individually?

Thanks for your reply.

I am using MHI - SCM60ZM-S1 + SRR25ZM-S + SRR35ZM-S.

Dht22 temp sensor

Hi absalom, I have been using your code on my Mitsubishi’s for a while now (Thank you heaps) and noticed you have changed the code and added a temp sensor which is great and has been a pain point for me as the Mitsubishi’s don’t report the indoor temp unless active. I was wondering if any users of your code have modified it to use a DHT22 temp sensor and if so could I get access to the code.

Much appreciated

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.