Opentherm Gateway met USB via LAN op Home Assistant aansluiten

Ik heb een inmiddels wat oudere OTGW welke middels USB verbonden kan worden. Omdat mijn ketel niet in de buurt staat van mijn NAS, kan ik de OTGW niet direct aansluiten op de NAS. Beste manier van aansluiten zou zijn via het netwerk. Omdat ik een oudere OTGW heb is dat minder makkelijk te realiseren. Ik heb de aanschaf van een nieuwe OTGW met ethernet module overwogen maar omdat ik ook nog een Raspberry Pi 2B ongebruikt heb liggen ben ik voor een andere oplossing gegaan. Ik heb namelijk de Pi aangesloten op de OTGW middels USB en de USB poort vervolgens met behulp van ser2net beschikbaar gesteld op het netwerk. Hierdoor kwam de OTGW in Home Assistant beschikbaar.

De eerste stap was een nieuwe installatie van Raspbian. Ik heb daarvoor gebruik gemaakt van de Raspberry Pi Imager:  https://downloads.raspberrypi.org/imager/imager.exe.

Hiermee kan eenvoudig een image naar een SD kaart geflashed. Kies de aanbevolen versie.

Mijn Pi heeft een beeldscherm (en anders was de HDMI poort handig geweest) en ik heb een toetsenbord en muis aangekoppeld. Dit is het makkelijkst om de configuratie af te ronden. Stel bij de initiële boot zoveel als mogelijk standaard in. Als het systeem klaar is, ga dan naar Voorkeuren – Raspberry Pi Configuratie.

  • Tab System: Geef een geschikte hostnaam (raspberry-LAN) en verander het wachtwoord (<def>) voor de standaard user (pi)
  • Tab Interfaces: zet minimaal SSH aan en optioneel VNC
  • Tab Localizatie: stel zonodig e.e.a. in (als dat al niet bij de initiële setup is gebeurd

Sluit nu de Pi aan op het LAN. De Pi heeft een vast IP adres nodig. Dat kan ingesteld worden op de Pi zelf maar ik doe dat liever op de DHCP server zodat het makkelijker is overzicht te houden van de gebruikte IP adressen. In mijn geval is het adres 192.168.178.105

Er kan nu met PuTTY of VNC als je dat hebt ingesteld, verbinding met de Pi gemaakt worden. Zelf maak ik gebruik van VNC zodat beheer op afstand wat makkelijker wordt.

Na installatie van de Pi heb ik deze in de patchkast nabij de ketel geplaatst. In deze kast heb ik ook de OTGW geplaatst en deze aangesloten op de ketel en thermostaat. Tenslotte heb ik de OTGW middels USB aangesloten op de Pi en de Pi aangesloten op het LAN.

Opentherm Monitor op Pi

Als volgende stap heb ik de opentherm monitor geïnstalleerd. Dit is niet echt noodzakelijk maar geeft wel de mogelijkheid direct en eenvoudig te controleren of de OTGW correct werkt. Open een browser window op de Pi (via VNC of direct op de Pi) en download de opentherm monitor: http://otgw.tclcode.com/download/otmonitor-ahf

Deze komt in /home/pi/Downloads te staan. Verander de rechten zodat het bestand uitvoerbaar wordt.

Controleer nu op op welke USB poort de OTGW terecht is gekomen:

sudo dmesg | grep “tty”

of

sudo ls –l /dev/ttyU*

Het is handig te zorgen dat de OTGW op USB0 komt. Een aangesloten toetsenbord en muis zouden dit kunnen verstoren en er voor zorgen dat de OTGW later op een andere poort terecht komt als de Pi standalone werkt. Als je gebruik maakt van VNC (en lokaal geen toetsenbord en muis meer hebt aangesloten) heb je dat probleem niet.

Start nu OT monitor en maak een connectie met de OTGW (serialport – /dev/ttyUSB0). Sluit de configuratie en open de log. Als alles goed is worden er nu berichten van de ketel zichtbaar. Sluit tenslotte de monitor (zodat de USB poort weer vrij komt.

Ser2net

De installatie van ser2net doe je vanuit een LXterminal (VNC) of PuTTY. Voer na het inloggen de volgende commando’s uit:

  • sudo bash
  • apt update
  • apt upgrade
  • apt install ser2net
  • nano /etc/ser2net.conf
    Voeg nu de volgende regel toe:
    6001:raw:600:/dev/ttyUSB0:9600 8DATABITS NONE 1STOPBIT banner
    Sla het bestand nu op en sluit af
  • /etc/init.d/ser2net restart
    dit commando faalt soms. Voer het commando dan opnieuw uit
  • /etc/init.d/ser2net status
    Hiermee wordt de status opgevraagd. Controleer of alles OK is

Ik heb een reboot uitgevoerd om te controleren of ser2net blijft draaien. En dat blijkt het geval. Mocht dat niet zo zijn dan kan met crontab de deamon alsnog automatisch gestart worden:

  • [sudo bash]
  • crontab –e
    Dit maakt indien nodig een crontab aan en vraagt waarmee je wilt editen. Kies voor nano
  • Voeg de volgende regel toe:
    @reboot sleep 60 && /etc.init.d/ser2net
  • Later nogmaals editen gaat met crontab –e

Nogmaals getest. Terwijl OT monitor op de laptop draaide (voor installatie zie hierna) de Pi gereboot. De monitor krijgt geen berichten meer en na enige tijd komen deze vanzelf weer door. Hiermee is aangetoond dat ser2net automatisch bij een reboot start.

Opentherm monitor op laptop

Download nu de opentherm monitor naar de laptop: http://otgw.tclcode.com/download/otmonitor.exe

Plaats het bestand op een handige plaats en start de monitor. Maak een connectie met 192.168.178.105:6001 (gebruik het IP adres van de Pi)

Als alles goed is gegaan komen nu netjes alle berichten door.

LET OP: OTGW kan maar met 1 client tegelijk werken. Sluit daarom de monitor als de OTGW in home assistant wordt gebruikt. En vergeet ook niet de monitor op de Pi te sluiten.

OTGW integratie op Home Assistant

Als je home assistant installatie in orde is, is het toevoegen van de integratie erg eenvoudig. Ga naar Integraties en kies voor het toevoegen van een integratie. Zoek de OpenTherm Gateway. Bij de configuratie Dient een naam ingevuld te worden. Ik heb eenvoudig voor CV gekozen. Tenslotte dient de URL ingevuld te worden. Het veld id kan leeggelaten worden. Let op: het veld URL is wel een dingetje, duidelijk een gevalletje RTFM. In mijn geval dient het veld het volgende te bevatten:

socket://192.168.178.192:6001

Het IP adres is dat van de Pi en het poortnummer is het poortnummer dat je aan de configuratie van ser2net hebt toegevoegd.

Na het toevoegen van de integratie kun je de OTGW in home assistant gebruiken. Ik maak gebruik van verschillende Lovelace dashboards en een daarvan heb ik geen configuratie van de UI voor toegepast zodat in dat dashboard automatisch nieuwe entiteiten worden toegevoegd. In mijn geval was automatisch een thermostaat kaart toegevoegd waarin ik direct via de OTGW de stand van de thermostaat kon aflezen EN instellen.

Als je installatie niet op orde is

Mijn home assistant draait in een Docker container. Mijn productiecontainer draaid op de standaard poort 8123. Voor testdoeleinden heb ik extra containers die op een andere poort dan 8123 draaien. Ik heb eerst de OTGW integratie geïnstalleerd in een wat oudere versie van HA (0.101 dacht ik maar weet heet niet zeker meer) in een testcontainer. Dat werkte goed totdat ik de container een upgrade gaf naar de laatste versie (0.118) van HA. Ook de standaard weerintegratie werkte niet meer. Alles wees op het niet kunnen bereiken van de buitenwereld. Aan het netwerk was niets veranderd en de firewall bevatte de juiste regels om het verkeer toe te staan. Op de een of andere manier was het routeren van netwerkverkeer verstoord. Het was niet zo dat niets meer met iets buiten de container kon werken. De MQTT server en de MariaDB server (beide Docker containers op dezelfde NAS) waren wel bereikbaar en werkten correct. Ook de verbinding met mijn Tradfri gateway of Velux gateway (externe devices op het LAN) waren bereikbaar en de integraties werkte goed.

Uiteindelijk heb ik een test gedaan door de testcontainer aan het ‘host’ netwerk te koppelen. Hiertoe moest eerst de productiecontainer gestopt omdat in het host netwerk port translation niet werkt. Alleen door deze aanpassing werkte alles weer zoals voorheen. Voor nu heb ik het even gelaten en de OTGW integratie in de productieomgeving geïnstalleerd. Die werkt nu naar behoren.

En verder

Als vervolgstap wil ik uitzoeken wat er is veranderd waardoor de testomgeving niet meer bepaalde netwerkverbindingen kan maken. Hoewel mijn eerste reactie is, dat komt door een aanpassing aan HA, hoeft dat niet het geval te zijn. Immers, de standaard weer integratie werkte ook niet meer in de oude versie van HA, terwijl die het wel heeft gedaan in het verleden. Het zou namelijk ook aan een nieuwere versie van Docker of het Synology OS kunnen liggen. Zoals gezegd, de weer integratie werkte al niet meer maar de OTGW integratie wel. En een aantal andere integraties werkte ook. Het zo maar kunnen zijn dat alleen de initiële verbinding een probleem is voor OTGW en als deze eenmaal is gemaakt, de boel blijft werken. Pas nadat ik een update had uitgevoerd waren de problemen met OTGW merkbaar, de update hoeft echter niet de oorzaak te zijn. Mocht iemand suggesties hebben voor een eventuele oplossing dan hoor ik dat graag.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *