You need to buy their overpriced WiFi-module, use the old app to integrate it into your network.
It doesnât require an internet connection.
To get the data, send an empty POST request to http://IP/datastructure
, itâll return the data you see on the webserver in JSON, hereâs an example for the sensor data:
sensor:
- platform: rest
name: Venta LW74 Action
resource: http://192.168.xxx.xxx/datastructure
method: POST
payload: ""
value_template: "{{ value_json.Action.Power }}"
json_attributes_path: "$.Action"
json_attributes:
- Power
- FanSpeed
- SleepMode
- Automatic
- TargetHum
- LEDStripActive
- LEDStripMode
- LEDStrip
- platform: rest
name: Venta LW74 Info
resource: http://192.168.xxx.xxx/datastructure
method: POST
payload: ""
value_template: "{{ value_json.Info.Warnings }}"
json_attributes_path: "$.Measure"
json_attributes:
- Temperature
- Humidity
- WaterLevel
- FanRpm
- FanRpm2
I havenât integrated it as a Humidifier since thereâs no native integration for generic or REST humidifiers, so Iâve set it up as a fan:
- platform: template
fans:
lw74:
friendly_name: "Venta LW74 LuftwÀscher"
value_template: "{% if is_state('sensor.venta_lw74_action', 'True') %}on{% else %}off{% endif %}"
percentage_template: "{{ state_attr('sensor.venta_lw74_action', 'FanSpeed') * 25 }}"
preset_mode_template: "{% if is_state_attr('sensor.venta_lw74_action', 'Automatic', True) %}auto{% else %}None{% endif %}"
availability_template: "{{ is_state('sensor.venta_lw74_action', 'True') or is_state('sensor.venta_lw74_action', 'False') }}"
preset_modes:
- 'auto'
speed_count: 5
turn_on:
service: rest_command.venta
data:
power: 'on'
turn_off:
service: rest_command.venta
data:
power: 'off'
set_percentage:
service: rest_command.venta
data:
speed: "{% if percentage == 0 %}0{% elif percentage <= 25 %}1{% elif percentage <= 50 %}2{% elif percentage <= 75 %}3{% elif percentage <= 100%}4{% endif%}"
set_preset_mode:
service: rest_command.venta
data:
speed: auto
Here are the rest commands youâll need:
venta:
url: http://192.168.6.42/datastructure
method: POST
headers:
content-type: application/json
payload: >-
{% if power == 'on' %}
{"Action":{"Power":true}}
{% elif power == 'off' %}
{"Action":{"Power":false}}
{% elif speed == 'auto' %}
{"Action":{"Power":true, "Automatic": true}}
{% elif speed %}
{"Action":{"Power":true, "FanSpeed": {{ speed }}}}
{% elif target_hum %}
{"Action":{"TargetHum": {{ target_hum }}}}
{% endif %}
It doesnât work perfectly, but I donât really care right now since I leave it running in Auto mode anyway.
Create an automation as well so the state gets updated immediately after sending a command:
alias: Venta LW74 State Update
description: ''
trigger:
- platform: event
event_type: call_service
event_data:
domain: rest_command
service: venta
condition: []
action:
- service: homeassistant.update_entity
data: {}
entity_id: sensor.venta_lw74_action, sensor.venta_lw74_info
mode: single
You can now create automations based on the sensor data, have a look around.
I have mine trigger when sensor.venta_lw74_info
changes to 1 or 17, with a condition of the WaterLevel being below 50000. If thatâs the case it indicates low water, so you could throw a notification or whatever.
Iâm really disappointed in the Venta Software, what youâll realize looking at the Data is that the device knows very well when youâve refilled the water tank, but it doesnât auto-restart. To fix that:
alias: Venta LuftwÀscher Auto Restart
description: ''
trigger:
- platform: state
entity_id: sensor.venta_lw74_info
from: '1'
to: '0'
- platform: state
entity_id: sensor.venta_lw74_info
from: '17'
to: '16'
condition: []
action:
- service: fan.turn_off
data: {}
entity_id: fan.lw74
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 0
- service: fan.turn_on
data: {}
entity_id: fan.lw74
mode: single