JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

TCL AIR CONDITIONER REMOTE GYKQ-03
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Protocol Decodes
View previous topic :: View next topic  
Author Message
Carl



Joined: 15 Jan 2009
Posts: 159
Location: Quebec city, Canada

                    
PostPosted: Wed Aug 26, 2020 4:53 pm    Post subject: Reply with quote

Hi Rob,

For some reason I cannot load the file:
I am using remote master 2.11 build 6

Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Wed Sep 02, 2020 2:13 pm    Post subject: Reply with quote

Carl wrote:
Hi Rob,

For some reason I cannot load the file:
I am using remote master 2.11 build 6

It looks like you didn't update protocols.ini to include the new protocol. It's in the readme file in the zip, but I'll include it here also.

Code:
[TCL A/C]
PID=01 FF
VariantName=JP1TCL
CmdParms=mode sw:Off|On=1,mode:-|heat|dry|cool|-|-|-|fan|feel=1, \
    temp C:16C|17C|18C|19C|20C|21C|22C|23C|24C|25C|26C|27C|28C|29C|30C|31C=0, \
    temp F:61F|63F|64F|66F|68F|70F|72F|73F|75F|77F|79F|81F|82F|84F|86F|88F=0, \
    swing:Off|On=0,fan:auto|sleep|low|med|-|high=0,time sw:Off|On=0, \
    time:0|10m|20m|30m|40m|50m|1h|1h 10m|1h 20m|1h 30m|1h 40m|1h 50m \
        |2h|2h 10m|2h 20m|2h 30m|2h 40m|2h 50m|3h|3h 10m|3h 20m|3h 30m|3h 40m|3h 50m \
        |4h|4h 10m|4h 20m|4h 30m|4h 40m|4h 50m|5h|5h 10m|5h 20m|5h 30m|5h 40m|5h 50m \
        |6h|6h 10m|6h 20m|6h 30m|6h 40m|6h 50m|7h|7h 10m|7h 20m|7h 30m|7h 40m|7h 50m \
        |8h|8h 10m|8h 20m|8h 30m|8h 40m|8h 50m|9h|9h 10m|9h 20m|9h 30m|9h 40m|9h 50m \
        |10h|10h 10m|10h 20m|10h 30m|10h 40m|10h 50m|11h|11h 10m|11h 20m|11h 30m|11h 40m|11h 50m \
        |12h|12h 10m|12h 20m|12h 30m|12h 40m|12h 50m|13h|13h 10m|13h 20m|13h 30m|13h 40m|13h 50m \
        |14h|14h 10m|14h 20m|14h 30m|14h 40m|14h 50m|15h|15h 10m|15h 20m|15h 30m|15h 40m|15h 50m \
        |16h|16h 10m|16h 20m|16h 30m|16h 40m|16h 50m|17h|17h 10m|17h 20m|17h 30m|17h 40m|17h 50m \
        |18h|18h 10m|18h 20m|18h 30m|18h 40m|18h 50m|19h|19h 10m|19h 20m|19h 30m|19h 40m|19h 50m \
        |20h|20h 10m|20h 20m|20h 30m|20h 40m|20h 50m|21h|21h 10m|21h 20m|21h 30m|21h 40m|21h 50m \
        |22h|22h 10m|22h 20m|22h 30m|22h 40m|22h 50m|23h|23h 10m|23h 20m|23h 30m|23h 40m|23h 50m|24h=0
CmdTranslator=Translator(0,1,16) Translator(1,4,0) Translator(2,4,4,comp) Translator(3,4,4,comp) \
    Translator(4,1,18) Translator(4,1,19) Translator(4,1,20) Translator(5,3,21) Translator(6,1,17) Translator(7,8,8)
DefaultCmd=00 00 00
CmdIndex=0
FixedData=
Notes=This is a protocol for TCL and similar air conditioners.  The mode_sw and time_sw parameters are On/Off switches for mode and time \
that have their values as separate parameters.
Code.S3C80=43 8C 03 8B 17 00 00 CD 00 B9 07 08 03 0C 00 00 00 00 00 00 00 00 08 00 01 26 CB 23 E4 03 20 E4 03 21 F0 21 56 20 0F 56 21 0F C4 04 1E 56 1F 7F 18 05 10 C1 C0 22 10 C1 C0 22 F0 22 1C 16 F6 01 4C 6C 0E 87 36 19 5C 08 1C 12 F6 01 4C 37 30 07 C6 F8 01 9A F6 01 58 E0 C3 5A ED 04 C3 1A 6A E3 1C 12 F6 01 4C AF

_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
ylaviolette



Joined: 17 Feb 2009
Posts: 134

                    
PostPosted: Fri Mar 18, 2022 10:52 pm    Post subject: Reply with quote

Better late than never I guess....

Finally had time to finish testing this after renovations, automation revamp and COVID, so here it is:

upgrade/RMDU works perfectly, both with standard/extender RMIR (URC-9910)

Quote:
when you set the timer, you're normally only allowed 1 hour increments above 10 hours, and half hour increments below. This upgrade allows you to do it in 10 minute increments, is there any way for you to tell if a timing setting such as 20 minutes, or 1 hour 20 minutes is actually accepted?


Not accepted, it justs goes with the next available timer (IE: 10min = 30mins)

Quote:
the Mode function has a few undocumented options available, there's one before heat at the top of the list, and there are 3 more between cool and fan. These are just represented by a dash for now, but you can still select them. I don't expect them to do anything, but I am puzzled why they are even there, so I'd be curious to see what, if anything, they do.


None of these 3 modes seem to affect operation; but my unit has very basic remote/display/features. My manual details other units and I see "Eco" "Super" "Anti-mildew" "Healthy" so that is probably it.

Quote:
Finally, the Fan function has an undocumented level between med and high, so I'd be curious to know if that's a real level and if so, is it really a mid-level setting between those two?


Nope. nothing, unit beeps but no noticeable difference in speed. Again probably something available on other units.

Since I use Pronto hex for my automation, the Excel Hex extractor is quite handy.

Once again, thanks for helping out on this one Rob!
Back to top
View user's profile Send private message
ylaviolette



Joined: 17 Feb 2009
Posts: 134

                    
PostPosted: Thu May 11, 2023 10:02 pm    Post subject: Reply with quote

edit: just saw your post regarding surgery.. Best wishes for a speedy recovery.

If anyone can assit meanwhile let me know, otherwise no hurry obviously.


Hi @mathdon, Better late than never I guess;

had to update some buttons/functions on my URC-9910 + home automation, so it was a great opportunity to test this out, so here are the results:

Both the TCL and Keeprite protocols generate working device upgrades from RMIR. Thank you

However, when generating Pronto Hex codes, IE: exporting to Girr (from RMIR v2.14.16) then to Pronto Hex (from IR scrutinizer v2.4.0 or just extracted straight from the Girr file), only the Keeprite works correctly? (was already an issue, see posts dated Mon Mar 21, 2022 9:01 am)

For some reason, the TCL Pronto Hex codes generated via Girr-IRScrutinizer don't work and are actually quite different than the working ones (from raw direct remote learns - see below)

IRWidget+IRscope+export to Pronto (working)
20 degrees celcius, cool (mode3), swing on, fan high
0000 006E 0072 0000 0072 003F 0013 002D 0013 002D 0013 000E 0013 000E 0013 000E 0013 002D 0013 000E 0013 000E 0013 002D 0013 002D 0013 000E 0013 002D 0013 000E 0013 000E 0013 002D 0013 002D 0013 000E 0013 002D 0013 002D 0013 000E 0013 000E 0013 002D 0013 000E 0013 000E 0013 002D 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 002D 0013 000E 0013 0011 0013 002D 0013 002D 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 002D 0013 002D 0013 000E 0013 002D 0013 000E 0013 000E 0013 000E 0013 000E 0013 002D 0013 000E 0013 002D 0013 002D 0013 002D 0013 002D 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 000E 0013 002D 0013 54CB

same with IRWidget+IRscrutinizer (raw) +export to Pronto (working)
20 degrees celcius, cool (mode3), swing on, fan high
0000 006E 0072 0000 0073 002E 0013 002E 0013 002E 0013 000F 0013 000F 0013 000F 0013 002E 0013 000F 0013 000F 0013 002E 0013 002E 0013 000F 0013 002E 0013 000F 0013 000F 0013 002E 0013 002E 0013 000F 0013 002E 0013 002E 0013 000F 0013 000F 0013 002E 0013 000F 0013 000F 0013 002E 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 002E 0013 000F 0013 000F 0013 002E 0013 002E 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 002E 0013 002E 0013 000F 0013 002E 0013 000F 0013 000F 0013 000F 0013 000F 0013 002E 0013 000F 0013 002E 0013 002E 0013 002E 0013 002E 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 000F 0013 002E 0013 4335

And one for the same device (working as a device upgrade in RMIR, then exported to Girr (not working)
0000 006D 0072 0000 0078 003C 000F 002D 000F 002D 000F 000F 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 002D 000F 002D 000F 000F 000F 002D 000F 000F 000F 000F 000F 002D 000F 002D 000F 000F 000F 002D 000F 002D 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 002D 000F 002D 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 002D 000F 002D 000F 002D 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 002D 000F 002D 000F 000F 000F 002D 000F 000F 000F 0776

Not a big deal as I can still use raw exports but it would be nice and less time consuming to do everything via RMIR/Girr without using the original remote.

Let me know what you think,
Thx,
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Fri May 12, 2023 4:51 pm    Post subject: Reply with quote

I converted the 3 Proto hex strings into binary to look for differences, and the 3rd one has different code. It appears that the temperature and fan settings are different. The 1101 in the temp column does mean 20° C, whereas 0001 means 23° C. For the fan, 101 means FAN HIGH, whereas 000 means FAN OFF.

Code:
fixed1   fixed2   fixed3   fixed4   fixed5   on/off   mode      temp      fan swg tsw                                 checksum
11000100 11010011 01100100 10000000 00000000 00000100 1100 0000 1101 0000 101 111 0 000000000000000000000000000000000 00000001
11000100 11010011 01100100 10000000 00000000 00000100 1100 0000 1101 0000 101 111 0 000000000000000000000000000000000 00000001
11000100 11010011 01100100 10000000 00000000 00000100 1100 0000 0001 0000 000 111 0 000000000000000000000000000000000 00011010

_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Fri May 12, 2023 5:10 pm    Post subject: Reply with quote

I think I've found the problem, the checksum is not correct in the Girr code. I created an upgrade with one function, with the settings to match the working codes above (ie, mode sw=off, mode=cool, temp=20c, swing=on, fan=high, time sw=off, time=0), and the generated proto hex perfectly matches except for the checksum.

Code:
fixed1   fixed2   fixed3   fixed4   fixed5   on/off   mode      temp      fan swg tsw                                 checksum
11000100 11010011 01100100 10000000 00000000 00000100 1100 0000 1101 0000 101 111 0 000000000000000000000000000000000 00000001 working
11000100 11010011 01100100 10000000 00000000 00000100 1100 0000 1101 0000 101 111 0 000000000000000000000000000000000 00000110 Girr


@Barf, where is the code that generates the checksum for TCL in the Girr files? There is a spreadsheet here that demonstrates how it's calculated. The signal has 13 bytes. Each byte has to be converted to decimal (in LSB fashion) and the checksum is a sum of those 13 decimal bytes (also in LSB fashion).
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
ylaviolette



Joined: 17 Feb 2009
Posts: 134

                    
PostPosted: Fri May 12, 2023 7:12 pm    Post subject: Reply with quote

Thanks for the feedback,

Yes the third one has different settings, it was simply meant to show the differences between raw conversion and using the Girr converter.
Glad you pinpointed what seems to be the problem. Let me know once you have something to test, I'll be glad to try it live.thx!
Back to top
View user's profile Send private message
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Sat May 13, 2023 7:06 am    Post subject: Reply with quote

The Robman wrote:
@Barf, where is the code that generates the checksum for TCL in the Girr files?

The checksum is computed by IrpTransmogrifier, according to the IRP definition of the protocol, residing in the IrpProtocols.xml file. The version used was checked on to IrpTransmogrifier on 2020-08-26; I do not recall to have written the checksum code, so I probably copied from somewhere, possibly Graham. Anyhow, assuming that Rob's verbal description is correct, it is clearly not OK. I have written a corrected version, and also complemented the documentation. This is found in a new rmProtocols.xml. Just download, put in the RMIR project folder, overwriting the existing one, and restart RM(IR). (RMIR-> Help -> About should now say IrpProtocols version 2022-05-07+rm2023-05-13.) Let me know if it works.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Sat May 13, 2023 11:59 am    Post subject: Reply with quote

Hi Barf, I tried the new code but it's still not calculating the correct checksum.

Looking at rmProtocols.xml, I see that this is the code that generates the signal and checksum. It appears the seeding value (141) is wrong, if I change it to 85 I get the right checksum.

I don't know why that works though, as I would have calculated 53, which is what was there before. I think it's the complimented number for temp that's throwing it.

Code:
        <irp:irp><![CDATA[
         {38.2k,394}<1,-1|1,-3>(8,-4,M:40,modesw:-3,timesw:1,2:4,mode:8,~temp:5,0:3,fan:3,swing:3,timesw:1,0:1,time:8,0:24,chksum:8,1,-50m)
            {M=0x000126cb23,chksum=141 + modesw:-3 + (timesw<<3) + mode + ~temp + fan + (swing<<3) + (timesw<<6) + time}
            [modesw:0..1=0,timesw:0..1=0,mode:0..8=3,temp:0..31,fan:0..5=2,swing:0..7=0,time:0..144=0]]]>
        </irp:irp>


@ylaviolette, try this code:

0000 006D 0072 0000 0078 003C 000F 002D 000F 002D 000F 000F 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 002D 000F 002D 000F 000F 000F 002D 000F 000F 000F 000F 000F 002D 000F 002D 000F 000F 000F 002D 000F 002D 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 002D 000F 000F 000F 000F 000F 002D 000F 002D 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 002D 000F 002D 000F 000F 000F 002D 000F 000F 000F 000F 000F 000F 000F 000F 000F 002D 000F 000F 000F 002D 000F 002D 000F 002D 000F 002D 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 002D 000F 0776
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
ylaviolette



Joined: 17 Feb 2009
Posts: 134

                    
PostPosted: Sun May 14, 2023 5:18 pm    Post subject: Reply with quote

Hi @Robman,
Yes, this code works. Let me know if you want me to try something else.
thx for investigating this.
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Sun May 14, 2023 9:28 pm    Post subject: Reply with quote

I have modified the rmProtocols.xml file that Barf posted so that it now calculates the correct checksum, so download this file and save it in your RM folder (let it replace the existing one, or rename the existing one).
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=26723

Then, with this new version, you should be able to export your TCL data to Girr format and get working Pronto hex from there.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
ylaviolette



Joined: 17 Feb 2009
Posts: 134

                    
PostPosted: Sun May 14, 2023 9:48 pm    Post subject: Reply with quote

Once rmProtocols.xml is replaced, getting this error when trying to export to Girr:

"this executor is not supported, as there are no uei-executor entries for it in irpProtocols.xml"
Back to top
View user's profile Send private message
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Mon May 15, 2023 1:20 pm    Post subject: Reply with quote

@rob: When writing a new checksum expression, I just put in a constant that empirically seemed to do the job. I did not do extensive tests. If 85 is correct, fine.

If you change an rmProtocols.xml (or IrpProtocols.xml), please change the version, found as attribute "version" in the top element. Just put in anything that has not been used already; bump the number or append something for example.

@ylaviolette: "This cannot happen". There is nothing in my/Rob's that would break the export it it was working previously. I suggest that you reinstall rmir, (without new rmProtocols.xml), verify the export, add the new rmProtocols.xml, verify again. Please also upload your rmir/rmdu file.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21210
Location: Chicago, IL

                    
PostPosted: Mon May 15, 2023 2:50 pm    Post subject: Reply with quote

@Barf, that's basically what I did. Originally, I was trying to calculate it through my spreadsheet, but I was calculating the value needed for the fixed data and the "2" between the data columns, but the temp value confuses me. I originally defined it was 4 bits, because that's what it is, but I see that RM and IT treat it as 5 bits, so I think that's where the variance is coming from. But regardless, what I did to calculate it is, change it to 0 in rmProtocols.xml, generate a signal, see how much it was off by (which was 85), then enter that into rmProtocols.xml and re-generate. Once I verified it was correct, I ran it for the whole file of commands, and then checked all of them, and it's correct.

I'm not going to be a regular contributor to rmProtocols.xml as it's not written in a language that I understand, so I just fixed the one field that was wrong and replaced it in the file for ylaviolette to use. I expect that you'll take care of entering a better version number when you incorporate it into the proper packages.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
ylaviolette



Joined: 17 Feb 2009
Posts: 134

                    
PostPosted: Tue May 16, 2023 9:52 am    Post subject: Reply with quote

Barf wrote:

@ylaviolette: "This cannot happen". There is nothing in my/Rob's that would break the export it it was working previously. I suggest that you reinstall rmir, (without new rmProtocols.xml), verify the export, add the new rmProtocols.xml, verify again. Please also upload your rmir/rmdu file.


Ok will try reinstalling and send the rmdu file later today.
I can confirm however that Girr export is functional prior to the file change...
Will report back, thx.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Protocol Decodes All times are GMT - 5 Hours
Goto page Previous  1, 2, 3, 4, 5  Next
Page 4 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control