I think i know your failures.
Some RF remotes cant send the data in the expected protocol.
You see these timings (called buckets).
[ 168, 364, 1376, 2724, 10260 ]
pimatic-homeduino try to find wrong buckets in the transmission. So it multiplies the first bucket with two and check the second bucket gain this. In this case is
168 x 2 = 336 < 364
So pimatic does nothing. But the bucket is wrong 168 is the same as 364.
The same thing happens in the first post.
180 x 2=360>248 -> new bucket (180+248)/2=214
214 x 2=428<544 -> no new bucket.
But we know the protocol only with this bucket 360, 1200, 12000
To solve this we must try some things. First we can change change the test in pimatic-homeduino or the accuracy of the Homeduino.ino sketch on the arduino.
I can not provide that some of the following steps are working. And you try it on your own risk. (Nothing will explode xD)
Use only one change at the same time.
First we change the pimatic-homeduino.
stop pimatic.
go into this directory.
/home/user/pimatic-app/node_modules/pimatic-homeduino/node_modules/homeduino/node_modules/rfcontroljs/lib
open the file controller.js
and search for this line
if (pulseLengths[i - 1] * 2 < pulseLengths[i])
Now you can change the 2 to some grater value(example 2.2). But this has a massive effect on the other protocols and can break some receiving.
The other way is to change the receiver routine on the arduino.
Go into the RFControl lib directory and then open the file RFControl.ccp
Search for this line.
unsigned int delta = refVal/4 + refVal/8;
(this is equal to 0.375f)
You can change this to something like this
unsigned int delta = refVal * 0.45f;
This isnt so fast but it should work too. You can try a little bit with different values between 0.3f and 0.8f.
After you changed soemthing in the lib you have to upload the scatch again.