arduino-heatpumpir icon indicating copy to clipboard operation
arduino-heatpumpir copied to clipboard

Timer led turned on

Open mortenmathiasen opened this issue 7 years ago • 8 comments

I can make my Panasonic CS-HE9JKE model react on requests made by this fine heatpump library. However, it starts blinking the Timer led for a few min. When timer led turns of the heatpump starts swinging vertical and horisontial without much fan or heat production. What happens? Can I overcome this problem somehow or reaction working as designed by the library?

mortenmathiasen avatar Oct 18 '17 03:10 mortenmathiasen

It should not work that way... The problem is that I don't have access to HExJKE-series, but just assumed it works based on the feedback from others. Is there any chance you could build in IR receiver using an IR receiver module + any Arduino board? This way we could record samples from the real remote, and compare against what the library sends.

ToniA avatar Oct 19 '17 10:10 ToniA

Yes, I can record the remote signals next time I travel to my vacation house where the heatpump and its remote are located. I could record the signals by http://zmote.io/ but I suspect that you prefer the signals recorded by https://github.com/ToniA/Raw-IR-decoder-for-Arduino ?

mortenmathiasen avatar Oct 20 '17 18:10 mortenmathiasen

Now I got recorded the remotes signals. I chose to record all actions except setting the timer. The resulting report is available here. How do we proceed from here?

mortenmathiasen avatar Jan 13 '18 08:01 mortenmathiasen

I have now adjusted the library and made the Arduino send IR-signal similar to the original Heatpump remote. For a test I have recorded the signals sent from both two devices.

My setup is MySensors based and you find my Arduino sketch at MySensors.ino

Arduino sends:

Number of symbols: 222 Symbols: Hh0100000000000100000001110010000000000000000000000000000001100000WHh01000000000001000000011100100000000000001001000001010100000000011111010110110000000000000111000000000111000000000000000010000001000000000000000000100111 Bytes: 02,20,E0,04,00,00,00,06,02,20,E0,04,00,09,2A,80,AF,0D,00,0E,E0,00,00,81,00,00,E4 Timings (in us): PAUSE SPACE: 10500 HEADER MARK: 3630 HEADER SPACE: 1720 BIT MARK: 435 ZERO SPACE: 340 ONE SPACE: 1260

Original remote sends:

Number of symbols: 222 Symbols: Hh0100000000000100000001110010000000000000000000000000000001100000WHh01000000000001000000011100100000000000001001000001010100000000011111010110110000000000000111000000000111000000000000000010000001000000000000000000100111 Bytes: 02,20,E0,04,00,00,00,06,02,20,E0,04,00,09,2A,80,AF,0D,00,0E,E0,00,00,81,00,00,E4 Timings (in us): PAUSE SPACE: 10540 HEADER MARK: 3620 HEADER SPACE: 1700 BIT MARK: 440 ZERO SPACE: 340 ONE SPACE: 1250

Signals from the two devices are equal, but the heatpump starts blinking with error H11 when signal comes from the Arduino. Any suggestions on how to solve this problem?

mortenmathiasen avatar Feb 16 '18 08:02 mortenmathiasen

I'm quite puzzled... The Panasonic protocol ha snot changed much since the DKE series, and I haven't heard of issues like this. Like you state, the signals look identical, the timings are very much the same, and still you get a different result.

H11 (Indoor/Outdoor Abnormal Communication) sounds very strange, I mean as a result of receiving an infrared command.

ToniA avatar Feb 18 '18 11:02 ToniA

I agree that the error is strange. In addition, signals from the Arduino have a short recognition distance. Right now, my best guess is that the problem is a timing issue. Hence, I consider to check the timings, e.g. by using IRLib2 - would that be your suggestion too?

mortenmathiasen avatar Feb 18 '18 13:02 mortenmathiasen

The short distance could be because of timings, or if the frequency is a bit off. At least on ESP8266 I understood using a bit more accurate send method gives a better range.

ToniA avatar Feb 18 '18 18:02 ToniA

Now, I have used IRLib2 to compare the timings of the IR signals from original remote and arduino:

Signal from original remote:

Samples=6
Decoded Unknown(0): Value:0 Adrs:0 (0 bits) 
Raw samples(100): Gap:1926
  Head: m3482  s1754
0:m426 s443	1:m427 s1314		 2:m428 s443	3:m425 s444		 
4:m426 s444	5:m426 s443		 6:m427 s443	7:m426 s442		 
8:m426 s445	9:m426 s443		 10:m425 s444	11:m426 s442		 
12:m426 s444	13:m426 s1316		 14:m426 s444	15:m426 s443		 

16:m426 s444	17:m425 s443		 18:m426 s444	19:m426 s442		 
20:m426 s445	21:m426 s1315		 22:m428 s1314	23:m427 s1316		 
24:m426 s444	25:m426 s443		 26:m426 s1316	27:m426 s445		 
28:m424 s442	29:m426 s444		 30:m426 s444	31:m426 s442		 

32:m426 s442	33:m427 s443		 34:m426 s442	35:m426 s444		 
36:m426 s443	37:m426 s444		 38:m426 s442	39:m427 s444		 
40:m426 s443	41:m425 s445		 42:m426 s442	43:m426 s444		 
44:m426 s442	45:m426 s444		 46:m426 s443	47:m426 s443		 

48:m426
Extent=52623
Mark  min:424	 max:428
Space min:442	 max:1316

	 #	Low	High	Avg.
Mark	49	424	428	426
Space	48	442	1316	552

Marks		 #	Low	High	Avg.
Above Avg	7	427	428	427
Belows Avg.	42	424	426	425

Spaces		 #	Low	High	Avg.
Above Avg.	6	1314	1316	1315
Below Avg.	42	442	445	443

Ratios		vs   Marks	vs   Spaces
		Below	Above	Below	Above
Head Mark	8.19	8.15	7.86	2.65
Head Space	4.13	4.11	3.96	1.33

			Low	High	Avg.
Space vs Avg Mark	1.04	3.09	1.30
Mark vs Avg Space	0.77	0.77	0.77

Mark Above/Below=	1.00
Space Above/Below=	2.97

Signal from Arduino:

Samples=6
Decoded Unknown(0): Value:0 Adrs:0 (0 bits) 
Raw samples(100): Gap:426
  Head: m3402  s1776
0:m452 s453	1:m461 s1322		 2:m466 s450	3:m465 s449		 
4:m456 s457	5:m458 s456		 6:m453 s457	7:m458 s458		 
8:m451 s459	9:m466 s445		 10:m460 s462	11:m458 s456		 
12:m444 s457	13:m458 s1322		 14:m457 s453	15:m466 s456		 

16:m463 s452	17:m461 s458		 18:m452 s453	19:m453 s457		 
20:m458 s456	21:m453 s1317		 22:m467 s1323	23:m474 s1322		 
24:m456 s456	25:m454 s460		 26:m454 s1320	27:m476 s450		 
28:m462 s452	29:m456 s453		 30:m453 s458	31:m453 s460		 

32:m454 s461	33:m449 s458		 34:m461 s450	35:m465 s444		 
36:m469 s449	37:m462 s448		 38:m456 s454	39:m457 s458		 
40:m456 s462	41:m456 s454		 42:m462 s447	43:m463 s452		 
44:m458 s462	45:m452 s452		 46:m464 s452	47:m444 s461		 

48:m467
Extent=54670
Mark  min:444	 max:476
Space min:444	 max:1323

	 #	Low	High	Avg.
Mark	49	444	476	458
Space	48	444	1323	562

Marks		 #	Low	High	Avg.
Above Avg	20	460	476	465
Belows Avg.	29	444	458	454

Spaces		 #	Low	High	Avg.
Above Avg.	6	1317	1323	1321
Below Avg.	42	444	462	454

Ratios		vs   Marks	vs   Spaces
		Below	Above	Below	Above
Head Mark	7.49	7.32	7.49	2.58
Head Space	3.91	3.82	3.91	1.34

			Low	High	Avg.
Space vs Avg Mark	0.99	2.88	1.23
Mark vs Avg Space	0.81	0.83	0.81

Mark Above/Below=	1.02
Space Above/Below=	2.91

My Arduino sketch is using these timing settings:

#define PANASONIC_AIRCON2_HDR_MARK 3400 #define PANASONIC_AIRCON2_HDR_SPACE 1700 #define PANASONIC_AIRCON2_BIT_MARK 500 #define PANASONIC_AIRCON2_ONE_SPACE 1260 #define PANASONIC_AIRCON2_ZERO_SPACE 397 #define PANASONIC_AIRCON2_MSG_SPACE 10220

Any suggestions on how to solve my problem?

mortenmathiasen avatar Mar 28 '18 07:03 mortenmathiasen