Submission of remote control configuration for Zehnder heating System

[email protected] Sat, 17 Mar 2018 11:47:44 +0100
Newsgroups gmane.comp.hardware.lirc
Message-ID <trinity-e7cf0040-4ca4-4304-95a6-510d69ba1c92-1521283664810@3c-app-gmx-bs47>
Dear colleagues

Below a remote control configuration file for Zehnder Heating Systems; tested and works also for blasting (which is my use case, for home automation). Let me know if there are any requests to improve the documentation / comment lines.

Alec: I will mail you the configuration file together with a photograph of the remote control; and I would be pleased if you accept it to include in the remote control database at http://lirc-remotes.sourceforge.net/remotes-table.html

################### configuration file #######################

# zehnderheating config file

# Brand:                       Zehnder
# Model no. of remote control: IRVAR 11
# Devices controlled by this remote:
#          Zehnder Heating Systems (http://www.zehnder-systems.com);
#          Likely similar codes are used by other appliances as Zehnder
#          representatives mentioned that the IR system is from a third party
#          (although he was not available to give me the IR codes).

# Contributed by [email protected]
#          (use 'lirc' as subject line to bypass my spam filter)

# Observed from the remote control. Codes, carrier frequency and duty cycle
# examined using a Raspberry Pi 3 coupled with a non-demodulating IR receiver
# TSOP98200, recording with a resolution of appr. 100 nanoseconds.
# Correct recognition of codes confirmed using a demodulating IR receiver
# TSOP9000.
# Correct IR blasting confirmed with our bathroom heater. I use a modified
# lirc_rpi.ko module ("driver") for my Raspberry Pi that makes use of the
# hardware pulse-width modulation (see https://github.com/Al-/lirc_rpi_hardpwm)
# as the carrier frequency is high; not tested with the stock lirc_rpi.ko
# module (that 'manually' simulates a carrier frequency).

# Wavelength unknown, but works well with IR LED TSAL6400 (peak 940 nm)

# Layout of remote control
#
# /-----------------------\
# |                       |
# |  +-----------------+  |   \
# |  |/\/\/\/\/\/\/\/\/|  |   |
# |  |/\/\/\/\/\/\/\/\/|  |   |
# |  |/\/\/\/\/\/\/\/\/|  |    > Display
# |  |/\/\/\/\/\/\/\/\/|  |   |  (bottom row: power level)
# |  |0 1 2 3 4 5 6 7 8|  |   |
# |  +-----------------+  |   /
# |                       |
# |                       |
# |   <--    -->  Enter   |   \
# |                       |   |  Buttons, see 
# |                       |   |  notes below
# |  Manual Timer  Prog   |   /
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# |                       |
# \-----------------------/
#
# Arrow buttons: change the preset power level; if the heating is on (rather:
#          the last signal was KEY_1 - KEY_8, thus the remote believes that
#          the heating is on), then the arrow buttons produce an IR signal:
#          the new power level. Also roles in programming mode.
# Manual button: sends the current preset power level (KEY_1 - KEY_8) if the
#          heating was off, or KEY_0 if the heating was on.
# Timer button: sends the current preset power level (KEY_1 - KEY_8), and 90
#          minutes later (time can be modified) KEY_0.
# Enter and Prog buttons: used to program the remote control; do not produce
#          IR signals.
# IR signals, according to the preset power level, are also sent when a
# programmed timepoint is reached.

begin remote

  name          zehnderheating
  bits          8
  pre_data_bits 8
  post_data_bits 1
  flags         SPACE_ENC
#  eps           10
  aeps          68
  min_repeat    0

  zero          30   650
  one           30   830
# sequence: header plead pre_data pre data post post_data ptrail foot gap
  header        30  1000
  pre_data      0xB8
  post          30   460
  post_data     0x00
# an arbitrary long space as nothing follows
  gap           100000

  frequency     455000
  duty_cycle    50

  begin codes
    KEY_0       0x0D   # switch heater off
    KEY_1       0x86
    KEY_2       0x95
    KEY_3       0xA0
    KEY_4       0xB3
    KEY_5       0xCA
    KEY_6       0xD9
    KEY_7       0xEC
    KEY_8       0xFF
  end codes

end remote

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot