-
Notifications
You must be signed in to change notification settings - Fork 60
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
Options for LED behavior and offline mode #6
base: master
Are you sure you want to change the base?
Conversation
…control, through config.h.
I'm sorry but I can't merge this to master. But I know you and other people want what this pull request offers. |
Sure, whatever works best for you. I have been using this version for 3 weeks and I didn't notice any stability problem. |
OK, take your time. |
I updated the pull request to decrease SRAM usage. I enabled printing memory stats (
|
Thanks! |
Hi, I’m a regular IRKit user. I have two devices at home. They suddenly both stopped working. Even after resetting them, although I can connect to their local Wi-Fi networks, I can no longer set my Wi-Fi network on them. It looks like this may be related to the termination of the IRKit service, which brought me here. I see the PR is still open. Was this code ever merged with master? I’d like to try to update the firmware on my IRKit devices if I can. |
Hi, I’m also a regular IRKit user. I have two devices at home. They stopped working now and are the basis for many devices in my smarthome. Am a Wndows10 user and have no idea how to get a new firmware onto the devices. Can anybody write a guideline for this? Where can the modified firmware be retrieved? Tested Arduino IDE to upload a new firmware. Now i only need the 5 files changed. How can i download them here? Sorry for such question but am not an expert. Already downloaded the latest firmware 3.0.0.0 from Mash and want to exchange the 5 files now. Will this work out? |
Am not an expert. Do we really need it merged with master? Downloaded the master from Mash which contains all files. If it would be possible to download the 5 files changed here, it would probably work to upload the modified firmware? Apologize in advance if this is nonsens. |
Hi there, I didn't touch this in a while but my modifications should still work. I wrote a step-by-step guide here: Then 2nd step: once the custom firmware is installed, you can configure your IRKit device (joining your home wifi) by following this guide: And finally, this is an optional 3rd step but people who relied only on the cloud to send their commands will need some local solution to send commands over LAN now. I hope this helps! |
Hello Adrian,
many thanks for this really great support. Everything worked out up to this compilation error: 'prog_uchar' does not name a type; did you mean 'getchar'?
The issue seems to be within cert.h, see the screenshot below:

Exchanged cert.h against the original one. Now everything worked out and i am within my WIFI network again without doing anything more. Can also transmit IR signals again.
Please advise if this was correct or if i still need to do something. Thank you very much in advance.
|
Sounds like it’s our responsibility at this point to make it work, and possibly to write a guide for them. I’ll try to flash my IRKit devices with the updates from this PR. Never done such a thing before, but I guess it’s a good time to give it a go as any. |
I am on Windows10 and did it also for the first time. Downloaded the complete .zip file using Adrian's link. Installed Arduino IDE 2.0.3 for Win10 64bit. Went along the few steps of Adrian's procedure up the cert.h compiling issue. Saw that cert.h is not part of the 5 files modified within this project. Exchanged the file against the original one and it does the job. Hope that Adrian finally confirms that this way forward was okay. He is the expert. |
@dk8pn The Arduino IDE version you're using (2.0.3) might be too new and the original IRKit codebase probably has some issues compiling against it. If you really want to use a newer IDE version you'll have to update a bunch of stuff (like the |
Followed your advise successfully:
So, finally many thanks and kudos for such great support to Adrian @acourreges . Am happy to reuse your work from 8 years ago. |
Sadly, for me, it didn’t work. I run macOS Ventura on a M1 MacBook and I only have Windows 11 in a Parallels VM. I have two IRKit devices:
What I tried:
Error 1
So I guess I’m SOL. |
Your first Windows11 attempt should have done it. Did you follow Adrian's step by step guide: https://www.adriancourreges.com/blog/2015/02/01/customizing-irkit-firmware-led-and-offline-mode/ and change the config.h to useCloudControl=false ? For the device which you have reset you also need to execute Adrian's second procedure: http://www.adriancourreges.com/projects/irkit-web-remote/live/public/setup.html |
Oh, okay. My bad. I guess I overlooked that part. Thanks for pointing that out. I’ll try this and get back to you. I also dug up an old Windows 8 tablet I forgot I had. I’ll use it as a backup if the above doesn’t work. |
Well, there you go. That was it. Thanks, @dk8pn, for reminding me of the steps I forgot to take, and @acourreges for this nice 7-year-old PR. Not only this saves me from buying hundreds dollars in new gadgets to replace what already worked, I can also finally take the piece of tape off the LED lights, which I also thought were too bright. One minor thing, the IRKit Setup Guide would not submit the Wi-Fi settings because of security, saying
(Hashed home Wi-Fi network details above redacted.) Within minutes, my IRKit devices are usable again. Thanks a lot! |
About the Another safer option is to do Ctrl+S on the page, save it locally and open it with Chrome from your hard-drive. It won't enforce control checks with local HTML files and the HTTP request should work. Or your way of calling curl manually works as well of course. 😃 |
Right. I know security around HTTPS has changed drastically in the past few years and I had my fair share of related issues to deal with. Now back at this PR at hand, the devices work after flashing them with the changed firmware. But, I frequently have to restart them as they stop responding about 30 minutes after I start them. I haven't found any pattern yet so I currently can't pinpoint the problem. |
Still having the issue I mentioned. Only minutes after I start the devices, they stop responding and I have to restart them again. When they stop responding, I can no longer ping them and any HTTP request will time out. I'm not sure how to debug those devices. I wonder if it's because I copied |
My two devices work stable. So let us compare the following things:
Have not done more. I do not have the file "VERSION" which you mention. Maybe this makes a difference? |
Alright. Let's compare.
Yes, but I'll try again tonight to be sure.
Yes. And by
Yes. In mine, I set |
I'm afraid I won't be of much help on this one. I did see my IRKit sometimes stop responding and needing a reset but that was something pretty rare, it's usually able to run weeks or months without needing a reset... |
@remino and @acourreges |
I wonder if Homebridge is pinging the IRKits too often? No idea. I’ll have to check. |
@remino |
@hakataminamiWS Sadly, no solution yet. I didn’t have time to investigate much. What I think I’ll end up doing for a workaround is have the IRKit devices plugged to IoT power outlets, and then a daemon on my Raspberry Pi will ping the IRKit devices, then turn off the outlets and turn them back on if the IRKits aren’t responding. It’s a really messy, stupid workaround, but I can’t think of anything better yet. |
@remino and @hakataminamiWS , |
@dk8pn ,
In case of connection interrupted and not reconnected:
|
I have connected the IRKit to openHAB. It might be, that openHAB does the ping job because it checks weather a thing is "online" or not? This would explain your "1 minute" observation. |
I just dropped by to say that the workaround proposed by @hakataminamiWS works for me. I’ve reset and reconfigured both my IRKit devices. I also set up cron jobs one of my servers to ping them every minute. I can’t explain why that works, but since then, I never had to restart by IRKit devices again. |
I just got my IRKIT out of storage and used the instructions from here. For some reason, everytime I point a remote and hit a button, it is resetting. The Arduino shows the following log
|
I didnt have the time to do a deep dive but I got mine to work. If it helps anyone, use these instructions but disable line 256 in Basically this int8_t cid = irkit_httpclient_post_messages();` in to something like // int8_t cid = irkit_httpclient_post_messages();
int8_t cid = 1; I havent done a lot of testing so the jury on stability is still out. IRKIT was very nicely implemented - too bad it isnt available anymore. |
Probably, this is different from others' experiences. However, there may still be IRKit users here, so I wrote down. There is unintentional RAM overwrite caused by long SSID and password, which may lead reset, hold or anything else. AT command(10) + comma(1) + SSID + password is written to a buffer. |
@yak1ex I’m slow at replying since my IRKit devices are still working with the ping trick for the moment. But I wanted to add, my SSID is 8-character long and the password is 10. It doesn’t sound like they are too long, but are they? |
@remino 8-character SSID and 10-character password should be safe. I have, probably, longer password length than ordinary one but it is not maximum, which should be 32 characters for SSID and 63 charcters for password. |
Settings led cloud refs irkit#6
There are two problems with this PR. However, a PR has been submitted to the original repository to correct them. cc: @acourreges
The above has not been merged yet, but if you want to use the fixed version immediately, please use this branch. cc: @remino @healthcareguy |
If you're interested, I added a
config.h
to setup some option at compile time.ledFeedback
: define how the LED should behave (always on, always off, only when transmitting IR...).I like to be able to disable the LED, to keep the room dark at night.
Set to
LED_VERBOSE
to keep the same behavior as the currentmaster
branch.useCloudControl
: for people who use their device only over the LAN. This disables DNS, device id check, and regular request polling to the cloud servers.Set to
true
to keep the same behavior as the currentmaster
branch.