-
Notifications
You must be signed in to change notification settings - Fork 836
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hitachi AC Remote (13 Byte, HITACHI_AC1) #1056
Comments
What is the make and model numbers of both the A/C unit and the IR remote please? |
AC Model: HITACHI KAZE-312KSDP |
@soumaxetuirk Thanks for that. |
thank you sir. |
* Add read-only decoding for `HITACHI_AC1` A/C protocol - Power, Fan, Mode, Temp, & Swing * send & write disabled until checksum is figured out. (TODO @soumaxetuirk) * Unit tests for what we can test at present. For #1056
when i use example ir receive dump v2 for decode remote it show hitachi ac1 but i don't know how to use is there any example for it |
@MarkEvens Please don't hijack a similar issue for something else. Create your own issue. |
Hiya @crankyoldgit! feels good to reconnect here! havent been able to get into this in a long long long while. Haaa! @soumaxetuirk Great stuff!! looks like you got most the functions.. yours-->23/Cool/Auto ---- B2AE4D 9 1F061840000000020A8 im as flummoxed as yall trying to work out the checksum at the end, but quite looking forward to wrap this up in a neat bow! https://medium.com/@camilloaddis/smart-air-conditioner-with-raspberry-pi-an-odissey-2a5b438fe984 https://github.com/hristo-atanasov/Tasmota-IRHVAC onwards!!! |
What's really interesting is that value change doesn't appear to be affecting the checksum. Bizarre, if correct, that indicates that it's not using every bit/nibble/etc in the checksum alg. |
On the duster filter command, byte 6 - 12 are zero and the checksum too. I am guessing first 5 bytes are not used for checksum. @DiggiD I also need the IRHvac with my tasmota. So for now I created a little large csv files with every combination of remote scan code. Then I use a python script to relay required signal by pahomqtt. Its slow but working for the time being . |
Okay, that's something to try. Maybe not all of the command is checksum'ed. I'll take a look later. |
I found this paper setting out to build a universal IRP decoder/encoder, that outlines quite a few methods/algos to work out the checksum- but i haven't worked through all of the algos yet, http://uu.diva-portal.org/smash/get/diva2:910960/FULLTEXT01.pdf
this looks like a good workaround! @soumaxetuirk |
I know pretty much everything that paper is talking about (and a heck of a lot more ;-) Have a read of: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#integrity-checks I've documented most of the algs I've come across there. I've tried most of them on this one. I have read of a checksum alg that sums the lower half of some of the bytes, and xor's the upper half of some of the bytes. I haven't tried that yet, but as I indicate on the site, I've done so many of these now, that I'm weary of doing more. e.g. The Kelvinator one took me weeks to work out, and I did that only because I own one. TL;DR: You've got the motivation to crack it, I don't. ;-) |
:p no doubt no doubt! explains ALL of the nudging im doing 8-] im no coder, not by a longshot, more like feeling around in the dark learning along the way..
on it mate, |
Most of the checksum algs can be done by hand, or in a spreadsheet. You don't need to be able to program to work it out, but it does help if you can read a program. |
yep, my coding kungfu is limited at best - will come knocking when its time to code it for sure. Found my IR codes spreadsheet in the wiki.. thanks for that! : ) |
Hi everybody,
Here is the spreadsheet I used to calculate the checksum, based on the data from @soumaxetuirk and @DiggiD spreadsheets, and here's a gist with a simple js function to calculate the checksum with the rest of the string. Cheers! |
@camilloaddis I've tried that, I think. I can't get it to work with all cases.
Shouldn't that be |
Huzzah! .. Yes, it's adding the LSB nibbles(4bits) together after the 5th byte. I'd been trying adding the LSB bytes(8 bits) together. |
Sure, my bad, only a typo I've just corrected, sorry. |
* Add read-only decoding for `HITACHI_AC1` A/C protocol - Power, Fan, Mode, Temp, & Swing * send & write disabled until checksum is figured out. (TODO @soumaxetuirk) * Unit tests for what we can test at present. For #1056
@camilloaddis @soumaxetuirk @DiggiD @MarkEvens Please download & try it out and let me know how it goes for you all. |
replaced current IRremote library with https://github.com/crankyoldgit/IRremoteESP8266/tree/hitachi_ac1_detailed on the server home page, sending Complex(air conditioner) IR msg works as expected using Though constructing a msg on the Air Conditioner Control page of the server does not seem to work Q: are the first 5 bits used as constants (since they dont add to the checksum)? @soumaxetuirk have you tested it? |
@crankyoldgit I have tested the latest commit. Also thanks @DiggiD, I just marked the restrictions. Auto mode: TEMP fixed at 25c, FAN fixed at AUTO About the swing toggle key: |
My remote is same as yours except 2 buttons are blank.the lock key & vertical swing. Mine has only vertical swing.I just went through your data sheet. The 1st bit of 12th byte is SwingH (not yet implemented) & 2nd bit is SwingV. 8th bit is the Swing Toggle. |
ive allowed edits temporarily,
do you have a link to share?
yes thats correct |
* Remove TODO as data is now fixed. For #1056
* Use `0bxxxx` notation so I don't make the same mistake for the rest of the modes, Ref: #1056 (comment)
Should be fixed now.
Done.
&
I'll try to get to those (restrictions) tomorrow. I'm done for the night! I've fixed the Sleep/Night values too. As usual, please download and test, and give feedback etc. |
* Sleep mode can be activated only on Auto or Cool mode. * Auto mode: TEMP fixed at 25c, FAN fixed at AUTO * Cool mode: NO RESTRICTION * Fan mode: Fan can be High,mid or low. (fan can't be set to AUTO) * Dry mode: FAN fixed at low * Heat mode : Fan can be High mid or low. (FAN can't be set to AUTO) * Unit tests updated accordingly. Ref: #1056 (comment) & #1056 (comment)
Alright. Restrictions added to the branch. Please test etc. I think that's the last of it. |
thank you @crankyoldgit & @camilloaddis .Everything working ok, I have checked scan codes manually to be sure. In Dry mode FAN is restricted to "auto" instead of low. And heat mode FAN is restricted high only. silly question, |
Geesh! Make up your minds! :-P I'll adapt it soon.
See: i.e.
|
I mean current commit restricting to wrong fan mode. But in the latest commit,IRRemoteESP8266 is restricting it to AUTO. |
* According to @soumaxetuirk : "In Dry mode FAN is restricted to "auto" instead of low. And heat mode FAN is restricted high only." For: #1056 (comment)
@soumaxetuirk done |
@soumaxetuirk Wait?! What now? I'm utterly confused. Are these statement(s) correct?
If so, then the change I've just made will screw that up. |
It appears there is a communcation problem See: #1056 (comment) & #1056 (comment)
The statement I provided at beginning is correct. But your previous commit was restricting FAN to AUTO. (In dry mode) |
So it's back to the way it was (after my "fix"). |
IRSend: Which means 6th Byte is 0010001.It should be 00101000. Also all these restrictions are build to remote.If I send wrong combination then AC accepts it and also shows on display too.But FAN rotates slow only. |
* Added more unit tests to check/confirm it now works. Ref: #1056 (comment)
@soumaxetuirk Dry mode fan is now fixed to low. Please check etc. Anything else? |
All done! Thank you 😊 |
double checked!! everything is working beautifully as expected !! thank you @crankyoldgit @soumaxetuirk @camilloaddis |
* Add settings for `HITACHI_AC1` A/C protocol - Power, Fan, Mode, Temp, Swing, Sleep, On & Off Timers. - Kudos to @camilloaddis for working out the alg, & @soumaxetuirk for reverse engineering settings. * Add support for it in the Common A/C api * Add unit tests. Fixes #1056 Fixes #1061
_v2.7.5 (20200409)_ **[Features]** - Detailed support for `HITACHI_AC1` protocol. (#1056, #1061, #1072) - update sharp to match Sharp AH-A5SAY (#1074) - Experimental support for AIRWELL protocol. (#1069, #1070) - SamsungAC: Add Breeze (Aka WindFree) control (#1062, #1071) - Support for Daikin FFN-C A/C (#1064, #1065) - Add basic support for HITACHI_AC3 protocol. (#1060, #1063) - Add support for `SYMPHONY` 11 bit protocol. (#1057, #1058) - IRMQTTServer: Improve Home-Assistant discovery by sending a 'device' with the discovery packet (#1055) **[Misc]** - Clean up support status of various protocols. - Add `decodeToState()` unit tests to all supported protocols (#1067, #1068) - Add Gree AC example code. (#1066)
_v2.7.5 (20200409)_ **[Features]** - Detailed support for `HITACHI_AC1` protocol. (#1056, #1061, #1072) - update sharp to match Sharp AH-A5SAY (#1074) - Experimental support for AIRWELL protocol. (#1069, #1070) - SamsungAC: Add Breeze (Aka WindFree) control (#1062, #1071) - Support for Daikin FFN-C A/C (#1064, #1065) - Add basic support for HITACHI_AC3 protocol. (#1060, #1063) - Add support for `SYMPHONY` 11 bit protocol. (#1057, #1058) - IRMQTTServer: Improve Home-Assistant discovery by sending a 'device' with the discovery packet (#1055) **[Misc]** - Clean up support status of various protocols. - Add `decodeToState()` unit tests to all supported protocols (#1067, #1068) - Add Gree AC example code. (#1066)
FYI, This has been included in the new v2.7.5 release of the library. |
I can receive HITACHI_AC1 codes as the primary support is added for a while now.The AC class is not yet updated to send synthetic commands based on attributes.
I went through previously done work by DiggiD (post #453 )and analysed all other bytes for HITACHI_AC1.
Found: Mode, fan speed, temp, Kaimin (night) mode, Horizontal swing, power,filter rest, timer
The checksum is mostly sum of preceding bytes.(Did not calculate, but seen it changing same value as the other bytes...so)
My IR data spreadsheet.
The text was updated successfully, but these errors were encountered: