Connect Nest 3rd generation to Bosch 26 HRC

Connecting a 3rd generation Nest Learning Thermostat is pretty simple if you know where to connect the wires. In this blog I have some instructions to connect to the Bosch 26 HRC furnace. The first part is about the old connection and the second part is about connecting the Nest.

First I didn’t get it to work, this was because the OpenTherm module was disconnect for the previous installation. The red circle shows the disconnected plug.

Bosch furnace connections 2

Blue square = Bosch connection, red square = OpenTherm module connections, red circle = Opentherm connector.

This OpenTherm connector was unplugged/disconnected because the previous thermostat was a simple on/off (non-modulating) thermostat which was connected like this schema on the Bosch furnace:

non-modulating-thermostat-bosch 26 hrc

Connect a non modulating thermostat to Bosch 26 HRC (image source: Bosch 26 HRC manual)

So the very sloppy wires in the blue square pins 1 and 2 are connected to the old thermostat in the living room. The resistor is connected between 2 and 4 and there is a bridge between 8 and 9.

Bosch furnace connections 1

Blue square = Bosch connection, red square = OpenTherm module connections

So this was the old working connection with an old non modulating thermostat. The Red square in the picture above shows the pins connected to the OpenTherm module. Bosch calls this the OTM1 in their manual. OpenTherm Module

OpenTherm Module (OTM1)

I removed to old wires (in the blue square) and placed the resistor as a loop on pin 7 (as the original state) and then plugged in the OpenTherm plug onto the board just as the picture below:


Connect the OpenTherm Module (OTM1) to the furnace (image source: Bosch 26 HRC maunal)

Now connecting the Nest is simple. Nest comes with a Heat Link unit which you have to connect to the furnace and a thermostat which you probably place in your living room.

The 3rd generation Heat link looks like this:

IMG_3392 edited

Nest Heat Link

The three circles mean;

  • Red; 230V to power the Heat Link unit
  • Blue; connections to furnace OpenTherm adapter pins O and T
  • Green; connection to the Nest Thermostat

In the Installation Guide you can find this image for this 3 connection pairs.

Nest Opentherm connectionsNest OpenTherm connection schema (
image source (PDF)

That’s all. the most time I spend figuring out how to the connect the Bosch OTM1 module to the furnace and remove the old wires. good luck!

PL2303 USB-Serial on Mac OS X El Capitan

After upgrading to Mac OS X 10.11.1, the PL2303 USB-serial driver didn’t work any more.

I used minicom for console connection. In my old configuration my device was /dev/tty.usbserial. After installing the driver from the changed to /dev/cu.Repleo-PL2303-00001014.

Find this with:

$ ls /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port /dev/cu.Repleo-PL2303-00001014

Starting minicom -s you can easily follow the menu and change this.

6in4 tunnel on FortiWifi-30D

Before you can start your manual IPv6 tunnel configuration, the only thing you need is so called Tunnel Broker. I use the Hurricane Electric Free IPv6 Tunnel Broker.
See my post “IPv6 tunnel on Time Capsule” if you need more details about the Tunnel Broker.

The FortiGate/FortiWifi 30D don’t support the 6in4 configuration via the GUI, but only via CLI. The CLI configuration should look like:

For the config parts I use some IP’s is what they mean:
<IPv4_A> = Server IPv4 Address (
<IPv6_A> = Server IPv6 Address (HE IPv6, mostly x::1/64)
<IPv4_B> = Client IPv4 Address (HE IPv4 address)
<IPv6_B> = Client IPv6 Address (Your IPv6, mostly x::1/64)
<IPv6_C> = Routed IPv6 Prefix gateway
<IPv6_D> = Routed IPv6 Prefix

Create the sit-tunnel interface

config system sit-tunnel
    edit "HE_6in4_TUNNEL"
        set source <IPv4_A>
        set destination <IPv4_B>
        set ip6 <IPv6_B>
        set interface "wan"

Now you should already be able to ping the HE Ipv6 address: execute ping6 <IPv6_A>

Add the default IPv6 route

config router static6
    edit 1
        set device "HE_6in4_TUNNEL"

You can check if the default route is added via get router info6 routing-table, you should see something like this

S*      ::/0 [10/0] via ::, HE_6in4_TUNNEL, 00:01:08

Add the Routed IPv6 address to your LAN and enable router advertisements

config system interface
    edit "internal"
            config ipv6
                set ip6-allowaccess ping https ssh fgfm capwap
                set ip6-address <IPv6_C>
                set ip6-send-adv enable
                    config ip6-prefix-list
                        edit <IPv6_D>
                            set autonomous-flag enable
                            set onlink-flag enable

Add the policy to allow clients to reach the Internet

config firewall address6
    edit "HE_ROUTED_/64"
        set ip6 <IPv6_D>
config firewall policy6
    edit 1
        set srcintf "internal"
        set dstintf "HE_6in4_TUNNEL"
        set srcaddr "HE_ROUTED_/64"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"

Most of the time with IPv4 you will enable NAT, with IPv6 this is not needed since the IPv6 address you got from HE (in this case) is specifically assigned to you.

You can also add IPv6 servers in DNS, for example the DNS servers from OpenDNS:

config system dns
    set ip6-primary 2620:0:ccd::2
    set ip6-secondary 2620:0:ccc::2