# Orcon MVS-15R mechanische ventilatie aansturen

**URL:** <https://community.homey.app/t/orcon-mvs-15r-mechanische-ventilatie-aansturen/15602>\
**Category:** Vragen & hulp\
**Created:** [July 15, 2019, 11:26am UTC](https://community.homey.app/t/orcon-mvs-15r-mechanische-ventilatie-aansturen/15602 "2019-07-15T11:26:43Z")\
**Posts on this page:** 2\
**Page:** 3

<div class="post-metadata">

**Author:** ![Juriaan](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/juriaan/32/16493_2.png) [@Juriaan](https://community.homey.app/u/Juriaan)\
**Post date:** [February 23, 2026, 4:26pm UTC](https://community.homey.app/t/orcon-mvs-15r-mechanische-ventilatie-aansturen/15602/41 "2026-02-23T16:26:10Z")

</div>

Als je de Orcon niet wil openen of aanpassen, bijvoorbeeld omdat je in een huurhuis zit, dan is er een alternatief. Met een transceiver op RF 868 Mhz zoals van RFXCOM ( [RFX-868 USB/Wifi/MQTT](http://rfxcom.com/epages/78165469.sf/nl_NL/?ObjectPath=/Shops/78165469/Products/25703) ) kun je een MVS-15R aansturen doordat deze de RF-15 afstandbediening signalen kopieert. Als je de MQTT firmware op de transceiver zet, heb je alleen nog een MQTT broker nodig in je huis (of de MQTT server app op Homey installeren en configureren). Daarna kun je met de MQTT Client app in Homey de Orcon fan standen besturen.

---

<div class="post-metadata">

**Author:** ![Bryan\_vanderStarre](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bryan_vanderstarre/32/168117_2.png) [@Bryan\_vanderStarre](https://community.homey.app/u/Bryan_vanderStarre)\
**Post date:** [June 26, 2026, 3:36am UTC](https://community.homey.app/t/orcon-mvs-15r-mechanische-ventilatie-aansturen/15602/42 "2026-06-26T03:36:06Z")

</div>

# Orcon/RAMSES ventilatie (868MHz) besturen met Homey via een ramses\_esp + MQTT

Ik draaide mijn mechanische ventilatie (Orcon, type “15RF”-afstandsbediening, RAMSES-II op 868MHz) eerst via **Home Assistant** met de `ramses_cc` integratie en een **ramses\_esp** USB-stick. Sinds ik ben overgestapt op **Homey** wilde ik dit ook daar werkend krijgen. Homey ondersteunt het RAMSES-II-protocol niet zelf, dus de truc is om de stick via **WiFi + MQTT** te laten praten en Homey daar commando’s naartoe te laten sturen.

Hieronder de complete aanpak. Het werkt nu inclusief vier standen-knoppen, een highlight die de _echte_ stand volgt (ook als er met een fysieke afstandsbediening geschakeld wordt) én een pushmelding als de stick offline gaat.

> Let op: alle device-ID’s, het gateway-ID en het IP-adres hieronder zijn van mijn setup. **Vervang ze door je eigen waarden.**

* * *

## Wat je nodig hebt

- Een **ramses\_esp** stick (ESP32-S3 + CC1101) met de IndaloTech `ramses_esp` firmware. Werkt ook met een evofw3-gebaseerd apparaat dat MQTT spreekt.
- Een **MQTT broker**. Ik gebruik de **MQTT Server** app op Homey zelf.
- De **MQTT Client** app (van scanno) op Homey — die kan vanuit flows publiceren én op topics meeluisteren.
- De **HomeyScript** app (voor de highlight en de offline-melding).
- De ingebouwde **Virtuele apparaten** (experiment) van Homey voor de knoppen/schakelaars.

* * *

## Stap 1 — Stick van USB-serial naar WiFi + MQTT zet

In HA hing de stick via USB-serial aan de Pi. Homey kan geen USB-serial, dus de stick moet via WiFi naar de broker. Configureren doe je éénmalig via de seriële console.

1. Trek de stick uit de Pi en stop 'm in een Windows/Mac/Linux pc (configureren hoeft maar één keer; daarna heeft 'ie alleen USB-stroom nodig).
2. Open een seriële terminal (PuTTY op Windows) op de juiste COM-poort, **115200 baud**.
3. Druk op Enter en voer in (hoofdlettergevoelig, en zet wachtwoord/user steeds vóór de ssid/broker-regel, want hij verbindt meteen):

```auto
wifi password JOUW_WIFI_WACHTWOORD
wifi ssid JOUW_WIFI_SSID
wifi restart
mqtt user mqtt-user
mqtt password JOUW_MQTT_WACHTWOORD
mqtt broker mqtt://192.168.2.37:1883
sntp server pool.ntp.org
timezone CET
reset

```

> WiFi moet **2.4GHz** zijn. Na `reset` zie je in de console “Connected to SSID…” en “MQTT: Connected”.

De stick publiceert nu onder de topic-boom `RAMSES/GATEWAY/<gateway-id>/...`. Bij mij is het gateway-ID **`18:203612`**. Met **MQTT Explorer** (tegen je broker) controleer je dit makkelijk:

- `RAMSES/GATEWAY/18:203612` → status `online` / `offline`
- `RAMSES/GATEWAY/18:203612/rx` → binnenkomend verkeer (JSON: `{"msg": "...", "ts": "..."}`)
- `RAMSES/GATEWAY/18:203612/tx` → hier publiceer je om te zenden

* * *

## Stap 2 — De juiste commando’s achterhalen

In `ramses_cc` had ik een “gefakete” afstandsbediening met vaste commando’s. Die haal je uit je oude HA-config. Bij mij:

```auto
"29:173894": # de gefakete remote (Orcon 15RF)
  class: REM
  commands:
    low: " I --- 29:173894 29:233244 --:------ 22F1 003 000104"
    medium: " I --- 29:173894 29:233244 --:------ 22F1 003 000204"
    high: " I --- 29:173894 29:233244 --:------ 22F1 003 000304"
    auto: " I --- 29:173894 29:233244 --:------ 22F1 003 000404"
  faked: true
"29:233244": # de ventilatie-unit (FAN)
  class: FAN

```

Belangrijk: gebruik **hetzelfde remote-ID** als in HA (`29:173894`), want je unit is daaraan gebonden. Het `22F1`-commando is de stand; alleen de op één na laatste byte verschilt: `01`=laag, `02`=midden, `03`=hoog, `04`=auto.

Heb je je oude config niet meer? Dan kun je de commando’s ook uit het `rx`-verkeer plukken terwijl je met een fysieke afstandsbediening schakelt.

* * *

## Stap 3 — Testen via MQTT Explorer

Publiceer naar `RAMSES/GATEWAY/18:203612/tx` als **JSON** met een `msg`-veld:

```auto
{"msg": " I --- 29:173894 29:233244 --:------ 22F1 003 000304"}

```

Schakelt je unit? Top, dan werkt de basis en gaan we het in Homey gieten.

* * *

## Stap 4 — Knoppen + flows in Homey

Ik gebruik vier **virtuele schakelaars** als een soort radioknoppen, zodat de actieve stand gemarkeerd blijft.

1. Zet **Instellingen → Experimenten → Virtuele apparaten** aan.
2. Maak vier **virtuele schakelaars** : `Vent Laag`, `Vent Midden`, `Vent Hoog`, `Vent Auto`.
3. Installeer de **MQTT Client** app en verbind 'm met je broker (`192.168.2.37:1883`, `mqtt-user`).
4. Maak per schakelaar een flow:
  - **ALS** schakelaar _aangezet_
  - **DAN** MQTT Client → _Stuur bericht_ → topic `RAMSES/GATEWAY/18:203612/tx`, bericht = de JSON-payload van die stand
  - **EN DAN** zet de andere drie schakelaars _uit_ (zo blijft alleen de actieve gemarkeerd)

Voorbeeld bericht voor “Hoog”:

```auto
{"msg": " I --- 29:173894 29:233244 --:------ 22F1 003 000304"}

```

* * *

## Stap 5 — Highlight die de échte stand volgt

De stick zet ál het busverkeer op `/rx`, óók commando’s van een fysieke afstandsbediening. Daarop laat ik Homey meeluisteren met een flow + een klein **HomeyScript** :

- **ALS** MQTT Client → _Ontvang topic triggers_ op `RAMSES/GATEWAY/18:203612/rx`
- **DAN** HomeyScript → _Voer code uit met argument_ → sleep de tag **“Bericht ontvangen via topic”** in het argument-veld
- Code:

```auto
const raw = (typeof args !== 'undefined' && args[0]) ? String(args[0]) : '';
let msg = raw;
try { const j = JSON.parse(raw); if (j && j.msg) msg = j.msg; } catch (e) {}

// Pak de stand uit een 22F1-commando (01/02/03/04)
const m = msg.match(/22F1 003 \w{2}(\w{2})\w{2}/);
if (!m) return false;
const code = m[1];

// Vervang deze ID's door die van jouw virtuele schakelaars
const map = {
  '01': 'ID-VAN-VENT-LAAG',
  '02': 'ID-VAN-VENT-MIDDEN',
  '03': 'ID-VAN-VENT-HOOG',
  '04': 'ID-VAN-VENT-AUTO',
};
const activeId = map[code];
if (!activeId) return false;

for (const id of Object.values(map)) {
  await Homey.devices.setCapabilityValue({ deviceId: id, capabilityId: 'onoff', value: id === activeId });
}
return true;

```

> De device-ID’s van je virtuele schakelaars vind je in de Homey web-app (developer tools → devices), of via de Homey-API.

Resultaat: schakel je met een fysieke afstandsbediening, dan licht binnen ~1 seconde de juiste tegel in Homey op.

* * *

## Stap 6 — Pushmelding als de stick offline gaat

De stick (via de MQTT “last will”) zet de status op `offline` als hij wegvalt. Daar reageer ik op:

- **ALS** MQTT Client → _Ontvang topic triggers_ op `RAMSES/GATEWAY/18:203612`
- **DAN** HomeyScript → _Voer code uit met argument_ → tag **“Bericht ontvangen via topic”** in het argument
- Code:

```auto
const msg = (typeof args !== 'undefined' && args[0]) ? String(args[0]).trim().toLowerCase() : '';
if (msg === 'offline') {
  await Homey.notifications.createNotification({ excerpt: '⚠️ Ramses ventilatie-gateway is offline' });
}
return true;

```

* * *

## Valkuilen / tips

- **2.4GHz WiFi** verplicht voor de ESP.
- Zet **SNTP + timezone** goed; nodig voor correcte MQTT-werking.
- Gebruik exact het **remote-ID** uit je oude HA-config, anders reageert de unit niet.
- De `tx`-payload moet **JSON** zijn (`{"msg": "..."}`), niet de kale commandostring.
- Werkt het meeluisteren niet? Controleer of de MQTT Client app daadwerkelijk geabonneerd is op het `/rx`-topic.

Werkt bij mij nu vlekkeloos — Homey stuurt de standen, de highlight volgt de echte stand, en ik krijg een melding als de stick eruit klapt. Vragen? Stel ze gerust!

[Previous page](https://community.homey.app/t/orcon-mvs-15r-mechanische-ventilatie-aansturen/15602.md?page=2)
