Mitsubishi MSZ-FH

Everything related to protocols and IR codes
Post Reply
iotemi
Posts: 4
Joined: Fri Apr 28, 2023 6:35 am

Mitsubishi MSZ-FH

Post by iotemi »

Hello everyone,

I'm trying to reverse engineering my Mitsubishi AC unit (MSZ-LN), which uses the MSZ-FH ir remote.
Tried with LearnIR and AnalysIR but it doesn't decode, it gives RAW protocol.

When trying to export the signal i get this:

Code: Select all

LIR: 26 0D76 06BA 01AE 050C 01B0 01B0 01AC 2328 01 12 22 12 21 12 12 21 12 11 22 12 21 F2 E2 30 11 22 21 22 11 21 22 11 21 12 21 22 1F 2E F2 E1 1F 24 1F 25 11 F2 B1 21 12 21 1F 2E F2 81 F2 71 22 1F 2E 22 21 12 12 21 1F

Code: Select all

# This LIRC format config file was automatically generated
# using AnalysIR - Batch Export Utility on apr, 2023 at 9:06
# Registered to: paolo.zigoni@gmail.com
#
# for more details on AnalysIR visit https://www.AnalysIR.com/
#
# for more details on LIRC visit https://www.lirc.org/

begin remote

   name  AnalysIR
   flags RAW_CODES
   eps            30
   aeps          100

   frequency    38000
# note ensure the carrier frequency above correctly matches your remote, default is set to 38kHz
# you can also try other common frequencies (36000,40000,56000,33000,30000) if you are unsure

       begin raw_codes

# Stored Carrier Frequency of this next signal: 38 kHz
           name KEY0
              3446    1722     430    1292     430    1292
               432     432     432     432     432     432
               430    1292     432     432     432     432
               430    1292     430    1292     432     432
               430    1292     432     432     432     432
               430    1292     430    1292     432     432
               430    1292     430    1292     432     432
               432     432     430    1292     432     432
               432     432     430    1292     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     428    9000
              3446    1722     430    1292     430    1292
               432     432     432     432     432     432
               430    1292     432     432     432     432
               430    1292     430    1292     432     432
               430    1292     432     432     432     432
               430    1292     430    1292     432     432
               430    1292     430    1292     432     432
               432     432     430    1292     432     432
               432     432     430    1292     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               430    1292     430    1292     432     432
               432     432     432     432     432     432
               430    1292     432     432     432     432
               432     432     432     432     432     432
               430    1292     430    1292     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     430    1292     432     432
               430    1292     430    1292     432     432
               432     432     430    1292     430    1292
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     430    1292     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               430    1292     432     432     432     432
               430    1292     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               432     432     432     432     432     432
               430    1292     430    1292     432     432
               430    1292     432     432     432     432
               430    1292     430

       end raw_codes
end remote
The frame doesn't look like a standard Mitsubishi AC frame, do you have any suggestion? Tried also to raise tolerance, but no luck.

This is the screenshot of Analysir
Image

What would you suggest as next step? Is it possible to add a custom profile to get the signal decoded?
Thanks
User avatar
AnalysIR
Site Admin
Posts: 793
Joined: Sat Aug 31, 2013 3:51 pm
Location: Dublin, Ireland
Contact:

Re: Mitsubishi MSZ-FH

Post by AnalysIR »

Yes, we will issue a new 'ini' file to cover this new protocol in a few days. Thanks for submitting the History session for it, which is a big help.
ve5ku
Posts: 3
Joined: Tue Jul 30, 2024 6:07 pm

Re: Mitsubishi MSZ-FH

Post by ve5ku »

Hey

I use a mitsubishi electric MSZ-FH25VE and my purpose is to control it using the Home Assistant's ESPhome add-on.
The harware I use works, but I'm not interested in 1000 separate IR code...

I've been trying to figure out the calculation of the checksum of ir codes for a few nights now, without success.
i have also googled, read github and this forum but i have not found the right method.

Here are some ir codes from the remote control of the device, the last value of which is the checksum.

[0x64,0x80,0x00,0x04,0x1A,0xC0,0x64,0x3A,0x00,0x00,0x00,0x00,0x08,0x00,0x18,0x5C]
[0x64,0x80,0x00,0x04,0x12,0xB0,0x02,0xBA,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0xEA]
[0x64,0x80,0x00,0x04,0x12,0xD0,0x02,0xBA,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0xAA]
[0x64,0x80,0x00,0x04,0x1C,0x10,0x02,0x5A,0x00,0x00,0x00,0x00,0x08,0x02,0x14,0xE1]
[0x64,0x80,0x00,0x00,0x12,0xE0,0x02,0x5A,0x00,0x00,0x00,0x00,0x08,0x02,0x00,0x72]
[0x64,0x80,0x00,0x04,0x12,0xE0,0x02,0x5A,0x00,0x00,0x00,0x00,0x08,0x02,0x00,0x76]

Did anyone have any information on the correct calculation method?
User avatar
AnalysIR
Site Admin
Posts: 793
Joined: Sat Aug 31, 2013 3:51 pm
Location: Dublin, Ireland
Contact:

Re: Mitsubishi MSZ-FH

Post by AnalysIR »

please post the full signals in RAW format & I will have a look.
ve5ku
Posts: 3
Joined: Tue Jul 30, 2024 6:07 pm

Re: Mitsubishi MSZ-FH

Post by ve5ku »

Hey
I use ESP Home to receive codes, so I'm not sure if it's the same RAW format as AnalysIR. (probably not )

However, here are a couple of codes in ESP Home RAW format and the same codes in AEHA format.

In addition, below is information that I myself have found out from AEHA data.

Code: Select all

remote modes: power=on heatmode ,purifier=on temperature=23, fan=2 L-vane=autom R-vane=down Wide vane=midle  
[20:38:51][I][remote.raw:028]: Received Raw: 3382, -1659, 440, -1241, 443, -1237, 447, -394, 448, -392, 439, -428, 414, -1240, 444, -396, 446, -394, 448, -1233, 440, -1240, 444, -397, 445, -1235, 439, -402, 440, -426, 416, -1238, 446, -1235, 449, -391, 440, -1241, 443, -1237, 447, 
[20:38:51][I][remote.raw:028]:   -394, 448, -418, 414, -1241, 443, -397, 444, -396, 446, -1235, 439, -404, 438, -399, 443, -398, 444, -422, 420, -421, 421, -392, 440, -401, 441, -399, 443, -424, 418, -422, 419, -395, 447, -420, 422, -418, 414, -400, 442, -424, 418, -423, 419, -395, 
[20:38:51][I][remote.raw:028]:   447, -393, 449, -391, 441, -426, 416, -1238, 446, -394, 448, -393, 449, -417, 414, -400, 442, -425, 417, -1237, 447, -393, 449, -392, 440, -1240, 444, -396, 446, -1235, 449, -1231, 443, -1238, 445, -395, 448, -393, 448, -392, 440, -400, 442, -399, 443, 
[20:38:51][I][remote.raw:028]:   -423, 419, -395, 447, -420, 422, -418, 414, -1240, 444, -1237, 447, -393, 449, -391, 440, -427, 415, -1239, 445, -395, 447, -1234, 440, -400, 442, -1239, 445, -1235, 449, -392, 439, -427, 415, -399, 443, -398, 444, -422, 420, -421, 421, -419, 413, 
[20:38:51][I][remote.raw:028]:   -427, 415, -399, 443, -424, 418, -422, 420, -420, 422, -419, 413, -427, 415, -425, 417, -397, 445, -395, 447, -420, 422, -392, 439, -427, 415, -426, 468, -346, 444, -396, 446, -421, 421, -419, 413, -401, 441, -399, 443, -397, 445, -422, 420, -420, 422, 
[20:38:51][I][remote.raw:028]:   -419, 413, -401, 441, -425, 417, -397, 445, -395, 447, -420, 422, -418, 413, -1241, 444, -397, 445, -421, 421, -420, 422, -418, 413, -401, 441, -399, 443, -424, 418, -422, 420, -394, 448, -1233, 441, -399, 443, -397, 445, -396, 446, -420, 422, -1232, 
[20:38:51][I][remote.raw:041]:   442, -1239, 445, -1235, 449, -392, 439, -427, 415, -399, 443, -1238, 446, -1234, 440, -401, 441, -399, 443, -1237, 447, -394, 448, -1232, 442
[20:38:51][W][component:237]: Component remote_receiver took a long time for an operation (157 ms).
[20:38:51][W][component:238]: Components should block for at most 30 ms.
[20:38:51][I][remote.raw:028]: Received Raw: 3387, -1655, 445, -1235, 449, -1232, 441, -399, 443, -400, 442, -422, 420, -1234, 440, -401, 441, -425, 417, -1238, 446, -1234, 439, -401, 441, -1240, 444, -396, 446, -421, 421, -1233, 441, -1240, 444, -396, 446, -1234, 439, -1242, 442, 
[20:38:51][I][remote.raw:028]:   -398, 445, -422, 420, -1234, 439, -402, 440, -426, 416, -1238, 446, -395, 447, -393, 449, -418, 414, -399, 443, -398, 444, -396, 446, -421, 421, -393, 449, -417, 477, -338, 441, -425, 417, -397, 445, -395, 447, -420, 422, -392, 440, -400, 442, -398, 
[20:38:51][I][remote.raw:028]:   444, -423, 419, -395, 447, -393, 449, -1231, 443, -398, 444, -396, 446, -394, 448, -419, 423, -417, 414, -1240, 444, -397, 445, -422, 420, -1234, 440, -400, 442, -1238, 446, -1235, 449, -1232, 441, -399, 443, -397, 445, -396, 446, -394, 448, -419, 413, 
[20:38:51][I][remote.raw:028]:   -427, 415, -425, 417, -397, 445, -395, 447, -1234, 439, -1241, 443, -398, 444, -422, 420, -421, 421, -1233, 441, -399, 443, -1238, 446, -394, 448, -1232, 441, -1240, 444, -396, 446, -395, 447, -393, 449, -418, 414, -426, 416, -398, 444, -423, 419, 
[20:38:51][I][remote.raw:028]:   -421, 421, -393, 449, -417, 414, -400, 442, -425, 417, -423, 419, -395, 447, -393, 449, -392, 440, -426, 416, -425, 417, -397, 445, -395, 447, -393, 448, -395, 437, -401, 441, -399, 443, -397, 445, -395, 447, -394, 448, -392, 440, -427, 415, -399, 443, 
[20:38:51][I][remote.raw:028]:   -397, 445, -395, 447, -420, 422, -418, 413, -401, 441, -399, 443, -424, 418, -1236, 448, -392, 440, -427, 415, -425, 417, -424, 418, -396, 446, -394, 448, -419, 412, -428, 414, -426, 416, -1238, 446, -395, 446, -420, 423, -391, 440, -400, 443, -1238, 
[20:38:51][I][remote.raw:041]:   446, -1234, 449, -1232, 442, -398, 444, -423, 419, -421, 421, -1233, 441, -1240, 444, -396, 446, -395, 446, -1234, 440, -401, 441, -1239, 445
[20:38:51][W][component:237]: Component remote_receiver took a long time for an operation (162 ms).
[20:38:51][W][component:238]: Components should block for at most 30 ms.

AEHA format
[20:59:55][I][remote.aeha:098]: Received AEHA: address=0xC4D3, data=[0x64,0x80,0x00,0x04,0x12,0xE0,0x0C,0x56,0x00,0x00,0x00,0x00,0x08,0x02,0x1C,0x65]
[20:59:56][I][remote.aeha:098]: Received AEHA: address=0xC4D3, data=[0x64,0x80,0x00,0x04,0x12,0xE0,0x0C,0x56,0x00,0x00,0x00,0x00,0x08,0x02,0x1C,0x65]


remote modes: power=on coolingmode ,purifier=off temperature=19, fan=5 L-vane=down R-vane=autom Wide vane=right  
[20:54:07][I][remote.raw:028]: Received Raw: 3383, -1658, 441, -1240, 444, -1236, 448, -421, 421, -419, 413, -428, 414, -1238, 445, -423, 419, -422, 420, -1232, 442, -1239, 444, -424, 418, -1235, 450, -418, 413, -427, 415, -1238, 445, -1235, 449, -420, 411, -1241, 496, -1185, 446, 
[20:54:07][I][remote.raw:028]:   -422, 420, -421, 421, -1231, 443, -425, 417, -424, 418, -1234, 449, -419, 413, -428, 414, -426, 416, -425, 417, -423, 419, -421, 420, -421, 421, -419, 413, -427, 415, -426, 416, -424, 418, -422, 420, -420, 421, -420, 412, -428, 414, -426, 416, -425, 
[20:54:07][I][remote.raw:028]:   417, -423, 419, -422, 420, -420, 421, -1231, 443, -425, 417, -424, 417, -397, 445, -421, 421, -420, 412, -1240, 443, -1237, 447, -422, 420, -1232, 504, -350, 430, -1237, 446, -1235, 449, -419, 413, -428, 414, -426, 415, -425, 417, -424, 418, -396, 446, 
[20:54:07][I][remote.raw:028]:   -420, 421, -1232, 442, -1238, 446, -422, 420, -1233, 440, -428, 414, -1239, 445, -423, 419, -395, 447, -420, 422, -1231, 442, -1238, 446, -1235, 449, -1231, 442, -1239, 445, -423, 419, -422, 420, -420, 422, -418, 414, -427, 414, -399, 443, -424, 418, 
[20:54:07][I][remote.raw:028]:   -423, 419, -421, 421, -393, 438, -428, 414, -427, 415, -425, 417, -423, 419, -395, 447, -420, 422, -418, 413, -428, 414, -426, 416, -424, 418, -422, 420, -421, 421, -419, 412, -428, 414, -427, 415, -425, 417, -423, 419, -422, 419, -421, 422, -418, 413, 
[20:54:07][I][remote.raw:028]:   -401, 441, -426, 416, -424, 418, -422, 420, -421, 421, -419, 412, -402, 440, -1239, 445, -423, 418, -422, 420, -421, 421, -419, 413, -427, 415, -426, 416, -424, 418, -422, 419, -422, 420, -420, 412, -428, 414, -427, 415, -425, 417, -423, 418, -1234, 
[20:54:07][I][remote.raw:041]:   440, -429, 413, -1239, 445, -424, 418, -422, 419, -421, 421, -1232, 442, -426, 416, -1237, 446, -1234, 440, -429, 412, -428, 415, -1237, 446
[20:54:07][W][component:237]: Component remote_receiver took a long time for an operation (156 ms).
[20:54:07][W][component:238]: Components should block for at most 30 ms.
[20:54:07][I][remote.raw:028]: Received Raw: 3384, -1658, 441, -1239, 445, -1236, 447, -421, 421, -420, 412, -428, 414, -1239, 444, -424, 418, -422, 420, -1235, 439, -1239, 444, -425, 417, -1235, 449, -419, 413, -428, 414, -1239, 444, -1236, 448, -420, 422, -1231, 443, -1240, 443, 
[20:54:07][I][remote.raw:028]:   -423, 419, -421, 421, -1232, 442, -426, 416, -425, 417, -1235, 448, -420, 422, -419, 413, -427, 415, -425, 424, -417, 418, -422, 419, -421, 421, -420, 412, -428, 414, -426, 415, -426, 416, -424, 418, -422, 420, -420, 422, -419, 413, -427, 415, -425, 
[20:54:07][I][remote.raw:028]:   416, -425, 417, -423, 419, -421, 421, -1232, 442, -426, 416, -424, 417, -424, 418, -422, 420, -420, 422, -1231, 443, -1237, 446, -423, 419, -1233, 441, -427, 414, -1239, 445, -1236, 448, -420, 422, -419, 413, -427, 414, -426, 416, -424, 418, -423, 419, 
[20:54:07][I][remote.raw:028]:   -421, 421, -1231, 443, -1238, 446, -422, 420, -1233, 440, -428, 414, -1239, 445, -423, 418, -428, 414, -421, 421, -1231, 443, -1238, 446, -1234, 449, -1232, 441, -1240, 444, -424, 418, -422, 420, -421, 421, -419, 413, -427, 415, -426, 415, -425, 417, 
[20:54:07][I][remote.raw:028]:   -423, 419, -422, 420, -420, 422, -418, 413, -428, 414, -426, 427, -413, 418, -422, 420, -421, 421, -419, 412, -428, 414, -427, 415, -425, 417, -423, 419, -421, 421, -420, 422, -418, 413, -427, 415, -426, 416, -424, 418, -422, 420, -421, 421, -419, 413, 
[20:54:07][I][remote.raw:028]:   -427, 414, -426, 416, -425, 417, -423, 419, -421, 421, -420, 412, -428, 414, -1238, 446, -423, 418, -422, 420, -421, 422, -418, 413, -427, 415, -425, 417, -424, 418, -422, 420, -420, 422, -419, 412, -428, 414, -426, 416, -425, 417, -423, 419, -1233, 
[20:54:07][I][remote.raw:041]:   440, -428, 414, -1239, 445, -423, 419, -422, 420, -420, 422, -1230, 443, -426, 416, -1236, 448, -1233, 441, -427, 414, -427, 415, -1237, 447
[20:54:07][W][component:237]: Component remote_receiver took a long time for an operation (164 ms).
[20:54:07][W][component:238]: Components should block for at most 30 ms.

AEHA format
[20:57:41][I][remote.aeha:098]: Received AEHA: address=0xC4D3, data=[0x64,0x80,0x00,0x04,0x1A,0xC0,0x6A,0x3E,0x00,0x00,0x00,0x00,0x08,0x00,0x14,0x59]
[20:57:41][I][remote.aeha:098]: Received AEHA: address=0xC4D3, data=[0x64,0x80,0x00,0x04,0x1A,0xC0,0x6A,0x3E,0x00,0x00,0x00,0x00,0x08,0x00,0x14,0x59]



    Bit 1-3 (0x64, 0x80, 0x00): Statics values.
    Bit 4 (0x04 tai 0x00): Power (on/off)
        0x00: OFF
        0x04: ON
    Bit 5 ja 7: operation mode
        Cooling (0x1A,0x20,0x64) välissä bitti 6 (0x20) on lämpötila tieto
        Heat (0x12,0x20,0x04)  välissä bitti 6 (0x20) on lämpötila tieto
        Puhallus (0x1C,0x10,0x04) tällöin lämpötilaa bitti 6 ei voi asettaa se estettävä eli arvo on tässä tuuletus asennossa aina "0x10" joka tarkoittaa 24 astetta.

        Bitti 7 muuttuu myös indirect/direct toiminnoilla

    Bit 6: temperatures
                  16	0x00
                  17	0x80
                  18	0x40
                  19	0xC0
                  20	0x20
                  21	0xA0
                  22	0x60
                  23	0xE0
                  24	0x10
                  25	0x90
                  26	0x50
                  27	0xD0
                  28	0x30
                  29	0xB0
                  30	0x70
    Bit 8: fan speed
          off: 0x09
          0:  0xAA
          1: 0x8A
          2: 0x4A
          3: 0xCA
          4: 0x2A
          EconoCool : off=0x4A on= 0x42

    Bitti 14 Purifier ja ir seuranta 
          0x02=purifier on   
          0x00:purifier off

    Bitti 8, 14 ja 16 Econocool
          
          8: off=0x4A on= 0x42
          14: off=0x08 on=0x0C
          16: off=0x08 on=0x00
    
    Bitti 8,  Powerfull
          
          8: off= on= 0x0A
          15: off=0x00 on=0x10

    Bitti 16 Natural
      off=0x08
      on=0x48
User avatar
AnalysIR
Site Admin
Posts: 793
Joined: Sat Aug 31, 2013 3:51 pm
Location: Dublin, Ireland
Contact:

Re: Mitsubishi MSZ-FH

Post by AnalysIR »

I had a quick look and it proved to be a new protocol, which I added to AnalysIR.
# bits =144 or 18 bytes + headers + trailers

To get checksum ignore first & last byte and then do a sum on all the nibbles. (I only checked 1 signal so could be wrong?)
2024-07-31 19_34_51-Checksum Calculator.png
You can see the hex bytes in the image. I used the first signal in the list you posted.
You do not have the required permissions to view the files attached to this post.
ve5ku
Posts: 3
Joined: Tue Jul 30, 2024 6:07 pm

Re: Mitsubishi MSZ-FH

Post by ve5ku »

I must not understand something now, I made formulas in Excel to calculate that check sum.

I was able to make a formula with which the result of that first example line really comes out correctly as you suggested.

But none of the other lines match anymore, I think I'll take a break for a couple of days... at least.. :?:

as the second code in the table, the second code of the previous message.

Image
User avatar
AnalysIR
Site Admin
Posts: 793
Joined: Sat Aug 31, 2013 3:51 pm
Location: Dublin, Ireland
Contact:

Re: Mitsubishi MSZ-FH

Post by AnalysIR »

OK I tried 2 signals & it seems it is the sum of all bytes except the last = the last byte = checksum.

However the bit order of each byte is LSB8 (reversed)
2024-08-04 20_23_58-AnalysIR 1.19.200.9446.jpg
You do not have the required permissions to view the files attached to this post.
Post Reply