GitHub repository: https://github.com/GreyEarl/venta-air-api .

Venta Air Original Connect - local REST API

This is a short description for anyone who owns or wants to buy an Venta Air Original Connect humidifier and seeks integration within the local network. The manufacturers do not communicate on the use of APIs. Officially, Venta Air only offers an app which you can use to control their humidifier labeled as Original Connect. Also, contacting Venta Air for API support came out empty. They simply denied the existence of such a thing.

In the end, I figured out the app is communicating by simply using a local API, which you can use within your home domotica controller, like Home Assistant. By sniffing network traffic between the app and my humidifier (type AH510), I have reverse-engineered the API.

Please be aware, this might not be complete or 100% correct as there is no official description. No authentication/bearer token is required.

Tested with the Original Connect AH510

Connecting to your network

Connect the device by initially using the Venta Air app. Alternatively, connect to the initial default AP. The device is hosting a webserver, so you can go to the assigned IP address in your browser to connect to your network, see basic information/state, and the option to update the firmware.

Device Screenshot

Get state

POST <device-ip>/api/telemetry

You will get something like this as a response:

{
    "Header": {
        "DeviceType": 500,
        "MacAdress": "<MAC>",
        "ProtocolV": "3.0"
    },
    "Action": {
        "Power": 1,
        "FanSpeed": 2,
        "TargetHum": 50,
        "SleepMode": 0,
        "Automatic": 0,
        "BaLi": 10
    },
    "Info": {
        "OperationT": 46571,
        "ServiceT": 367,
        "ServiceMax": 2016,
        "Warnings": 1,
        "SWMain": "1.0.0.6",
        "HwIndexMB": 1
    },
    "Measure": {
        "Temperature": 25.66224,
        "Humidity": 43.41344
    }
}
    

The meaning of most items in the above response makes sense by default. Some more details on a few.

Set state

POST <device-ip>/api/telemetry?request=set

Some examples below used as a payload.

Set fan speed to level 1:

{
    "Power": 1,
    "Automatic": 0,
    "SleepMode": 0,
    "FanSpeed": 1,
    "Action": "control"
}
    

Set auto mode on:

{
    "Power": 1,
    "Automatic": 1,
    "Action": "control"
}
    

Turn off the device:

{
    "Power": 0,
    "Automatic": 0,
    "SleepMode": 0,
    "FanSpeed": 1,
    "Action": "control"
}