thanx, no it validated the code without error.
OK tried to both of this configs
#RGB#
number:
- platform: "tuya"
name: "Light Mode"
number_datapoint: 110
min_value: 0
max_value: 2
step: 1
light:
- platform: tuya
name: Diffuser LEDs
dimmer_datapoint: 111
switch_datapoint: 11
min_value: 1
color_datapoint: 108
color_type: rgb
####
and this one
#RGB#
select:
- platform: "tuya"
name: "Light Mode"
enum_datapoint: 110
options:
0: Rainbow
1: Static
2: Spa Green
light:
- platform: tuya
name: Diffuser LEDs
dimmer_datapoint: 111
switch_datapoint: 11
min_value: 1
color_datapoint: 108
color_type: rgb
####
It didnāt go āmentalā as @sgvj wrote it went before. I didnāt need to reflash the diffuser, ESPHome and my HA still are connected, it wasnāt lost.
But unfortuanlty I canāt pick what color I want and I canāt dim the light.
Maybe someone that is better with ESPHome could look at it now, might be the code I put in my ESPHome yaml file is wrong now since the latest version.
IMO your code is OK, now it looks it simply does not workā¦
Maybe testing with rgbhsv but I am not convinced at all.
rgvhsv didnāt help.
Iām thinking of, if itās possible to get to the LED and connect that to another ESP32 and use it with WLED, or install another LED strip, like WS2812B.
But not sure it can be open to that part.
Looks complicated, out of my competences anyway
By reading again the tasmota template it looks like the dimmer can have a minimum value of 0 instead of 1 but it does not look changing anything.
It has worked, then it crasheed, now it simply does not work for RGB. Very strange.
My Asakuki with ESPHome, ran out ow water and the sensor changed to empty, but now I canāt clear it, it state the tank is out of water. Can any help me to clear the sensor state
This is how my ESPHome water sensor looks like this:
# enable tuya sensor platform
tuya:
#
sensor:
- platform: "tuya"
name: $device_name out of water
sensor_datapoint: 12
I used a binary sensor:
binary_sensor:
- platform: "tuya"
name: Eau Diffuseur Bureau
id: eau
sensor_datapoint: 12
device_class: "problem"
When out of water it is set to on but as soon as I put some water and switch the diffuser on again the binary sensor is set to off.
I will try your configuration, thanx.
Hi, I am trying to get my Asakuki 500ml link diffuser to work with Tasmosa. I have replaced the original WBR3 with a ESP-12F. Flashed the ESP-12F and followed following guide: Asakuki 500ml Aroma Diffuser Configuration for Tasmota
Then I noticed it appeared twice so I disabled the automatic discovery by changing SetOption19 to 1.
Now it is using the set up in my configuration.yaml. I did have to change the code slightly to get it, at least partially, to work:
fan:
name: "Diffuser fan"
unique_id: "diffuser_fan"
state_topic: "stat/diffuser/RESULT"
state_value_template: "{% if value_json.POWER1 is defined %}{{ value_json.POWER1 }}{% endif%}"
command_topic: "cmnd/diffuser/POWER1"
preset_modes:
- "high"
- "low"
preset_mode_state_topic: "stat/diffuser/fanmode"
preset_mode_command_topic: "cmnd/diffuser/tuyaenum1"
preset_mode_command_template: '{{ 1 if value == "high" else 0 }}'
availability_topic: "tele/diffuser/LWT"
payload_available: "Online"
payload_not_available: "Offline"
binary_sensor:
name: "Diffuser error"
unique_id: "diffuser_error"
state_topic: "stat/diffuser/error"
value_template: "{{ 'ON' if value != '0X00' else 'OFF' }}"
device_class: problem
availability_topic: "tele/diffuser/LWT"
payload_available: "Online"
payload_not_available: "Offline"
light:
name: "Diffuser light"
unique_id: "diffuser_led"
availability_topic: "tele/diffuser/LWT"
payload_available: "Online"
payload_not_available: "Offline"
command_topic: "cmnd/diffuser/POWER2GW"
state_topic: "stat/diffuser/RESULT"
state_value_template: "{% if value_json.POWER2 is defined %}{{ value_json.POWER2 }}{% endif %}"
payload_on: "ON"
payload_off: "OFF"
rgb_command_topic: "cmnd/diffuser/tuyasend3"
rgb_command_template: "{% set brightness = state_attr('light.diffuser_led','brightness') | int %}{{ '108,%02x%02x%02x646464' | format(red, green, blue)}}{{ '%02x' | format(brightness) }}"
rgb_value_template: "{% if value_json.POWER2 is defined and value_json.POWER2 == 'ON' %}{{value_json.Color.split(',')[0:3]|join(',')}}{% endif %}"
rgb_state_topic: "stat/diffuser/RESULT"
brightness_command_topic: "cmnd/diffuser/dimmer"
brightness_state_topic: "stat/diffuser/RESULT"
brightness_scale: 100
brightness_value_template: "{% if value_json.POWER2 is defined and value_json.POWER2 == 'ON' %}{{value_json.dimmer}}{% endif %}"
effect_list:
- "cycle"
- "solid"
effect_command_topic: "cmnd/diffuser/tuyaenum2GW"
effect_state_topic : "stat/diffuser/RESULT"
effect_value_template : "{% if value_json.TuyaEnum2 is defined and value_json.TuyaEnum2 == 0 %}{{'cycle'}}{% elif value_json.TuyaEnum2 is defined and value_json.TuyaEnum2 is defined and value_json.TuyaEnum2 == 1 %}{{'No'}}{% endif %}"
And added the automations in the automations.yaml:
automation:
- alias: "Diffuser Forwarder MQTT1"
id: diffuser_forwarder_mqtt1
trigger:
- platform: mqtt
topic: 'cmnd/diffuser/POWER2GW'
condition:
condition: template
value_template: "{{ trigger.payload | lower != states('light.diffuser_led') }}"
action:
- service: mqtt.publish
data_template:
topic: 'cmnd/diffuser/POWER2'
payload: "{{ trigger.payload }}"
- alias: "Diffuser Forwarder MQTT2"
id: diffuser_forwarder_mqtt2
trigger:
- platform: mqtt
topic: 'cmnd/diffuser/tuyaenum2GW'
action:
- service: mqtt.publish
data_template:
topic: 'cmnd/diffuser/tuyaenum2'
payload_template: >
{% if 'cycle' in trigger.payload -%}
{{ 0 }}
{%- elif 'solid' in trigger.payload -%}
{{ 1 }}
{%- else -%}
{{ 2 }}
{%- endif %}
The diffuser fan etc seems to work, however I get errors with the light:
Parsing template
{% set brightness = state_attr('light.diffuser_led','brightness') | int %}{{ '108,%02x%02x%02x646464' | format(red, green, blue)}}{{ '%02x' | format(brightness) }}
for entitylight.diffuser_light
failed with error: ValueError: Template error: int got invalid input āNoneā when rendering template ā{% set brightness = state_attr(ālight.diffuser_ledā,ābrightnessā) | int %}{{ ā108,%02x%02x%02x646464ā | format(red, green, blue)}}{{ ā%02xā | format(brightness) }}ā but no default was specified.
Failed to call service light/turn_on. color_RGB_to_hs() missing 2 required positional arguments: āiGā and āiBā
I am not sure what is asking me to do. Does anyone have any tips?
too confusing, I have a Maxcio 440ml, is there a 100% functional template for esphome?
100% functional, as fare as I know, no.
With my config all you loose is RGB control using HA, if it is essential for your use you might consider to switch to Tasmota.
I have not set anything to switch from different color mode because I wonāt use it, which is something which could be added.
thanks for reply, i am currently on Tasmota and waiting to migrate to Esphome, since it is the only device I need to make.
So if you really want to migrate to ESPHome you might have to accept some compromise with this diffuser except if I have missed something and someone else in this topic have succeeded with RGB.
Hi @Nardol @roberdlv , technically if it work in tasmota it should work in esphome.
Juste need to find how to create the RGB/light/template to drive those led.
Indeed you didnāt use it I already know why and understand.
I set log level to debug and it is very strange because it looks color value is never updated.
When there is a new value it is always FFFFFF000000FF
and when I switch the diffuser on, the value never changes even if color changes on the diffuser itself, I checked with someone who confirmed light color was changing.
The light config is as follow:
light:
- platform: tuya
name: Leds
id: leds
dimmer_datapoint: 111
switch_datapoint: 11
min_value: 0
color_datapoint: 108
color_type: rgbhsv
entity_category: CONFIG
If ESPHome debug mode does not report change, there is a bug on ESPHome or something wrong on all my three devices.
This is what Iām using as an alternative. I hope it helps someone.
You have to switch on the LED before you can change the color.
substitutions:
devicename: master_bedroom_aroma_diffuser
name: master-bedroom-aroma-diffuser
friendly_name: Master Bedroom Aroma Diffuser
device_description: Tellur XD800W - TYWE3S
esphome:
name: ${name}
friendly_name: ${friendly_name}
platformio_options:
board_build.f_cpu: 160000000L
esp8266:
board: esp_wroom_02
restore_from_flash: true
preferences:
flash_write_interval: 1min
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
reboot_timeout: 1h
encryption:
key: !secret api_encryption_key
ota:
safe_mode: true
password: !secret ota_password
web_server:
port: 80
auth:
username: !secret username
password: !secret password
include_internal: true
time:
- platform: homeassistant
id: homeassistant_time
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: none
ap:
ssid: "${friendly_name}"
captive_portal:
uart:
baud_rate: 9600
tx_pin: GPIO1
rx_pin: GPIO3
tuya:
id: master_bedroom_aroma_diffuser
button:
- platform: restart
name: Restart
id: ${devicename}_reset
entity_category: diagnostic
- platform: factory_reset
name: Factory Reset
id: ${devicename}_fatory_reset
internal: true
entity_category: diagnostic
- platform: safe_mode
name: Safe Mode Boot
id: ${devicename}_safe_mode_boot
entity_category: diagnostic
text_sensor:
- platform: wifi_info
ip_address:
name: IP Address
ssid:
name: Connected SSID
bssid:
name: Connected BSSID
mac_address:
name: MAC WiFi Address
- platform: version
name: ESPHome Version
- platform: tuya
name: Selected Color
id: ${devicename}_selected_color
internal: true
sensor_datapoint: 8
on_value:
then:
- lambda: |-
if (x == "00000000000000") {
id(${devicename}_color).publish_state("None");
} else if (x == "ff00000000ffff") {
id(${devicename}_color).publish_state("Bright Red");
} else if (x == "8000000000ff80") {
id(${devicename}_color).publish_state("Dark Red");
} else if (x == "ffff00003cffff") {
id(${devicename}_color).publish_state("Bright Yellow");
} else if (x == "808000003cff80") {
id(${devicename}_color).publish_state("Dark Yellow");
} else if (x == "00ff000078ffff") {
id(${devicename}_color).publish_state("Bright Green");
} else if (x == "0080000078ff80") {
id(${devicename}_color).publish_state("Dark Green");
} else if (x == "00ffff00b4ffff") {
id(${devicename}_color).publish_state("Bright Cyan");
} else if (x == "00808000b4ff80") {
id(${devicename}_color).publish_state("Dark Cyan");
} else if (x == "0000ff00f0ffff") {
id(${devicename}_color).publish_state("Bright Blue");
} else if (x == "00008000f0ff80") {
id(${devicename}_color).publish_state("Dark Blue");
} else if (x == "ff00ff012cffff") {
id(${devicename}_color).publish_state("Bright Magenta");
} else if (x == "800080012cff80") {
id(${devicename}_color).publish_state("Dark Magenta");
}
binary_sensor:
# sense water alert. 1 = fine. 0 = Out of water
- platform: tuya
name: Out of water
id: ${devicename}_out_of_water
sensor_datapoint: 2
device_class: safety
filters:
- invert:
- platform: status
name: Status
sensor:
- platform: wifi_signal
name: WiFi Signal
update_interval: 60s
id: ${devicename}_wifi_signal
- platform: uptime
name: Device Uptime
id: ${devicename}_device_uptime
switch:
- platform: tuya
name: Diffuser
id: ${devicename}_diffuser
switch_datapoint: 1
light:
- platform: tuya
name: LED
id: ${devicename}_led
switch_datapoint: 5
on_turn_off:
- delay: 1s
- script.execute: ${devicename}_turn_off_led
select:
- platform: tuya
name: Light Mode
id: ${devicename}_light_mode
enum_datapoint: 6
options:
0: Static Color
1: RGB Cycle
- platform: tuya
name: Set Timer
id: ${devicename}_set_timer
enum_datapoint: 3
options:
0: "Off"
1: 1 Hour
2: 3 Hours
3: 6 Hours
- platform: template
name: Color
id: ${devicename}_color
optimistic: true
options:
- None
- Bright Red
- Dark Red
- Bright Yellow
- Dark Yellow
- Bright Green
- Dark Green
- Bright Cyan
- Dark Cyan
- Bright Blue
- Dark Blue
- Bright Magenta
- Dark Magenta
initial_option: None
on_value:
then:
- if:
condition:
lambda: |-
return x != "None";
then:
- light.turn_on: ${devicename}_led
- lambda: |-
if (x == "Bright Red") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "ff00000000ffff");
} else if (x == "Dark Red") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "8000000000ff80");
} else if (x == "Bright Yellow") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "ffff00003cffff");
} else if (x == "Dark Yellow") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "808000003cff80");
} else if (x == "Bright Green") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "00ff000078ffff");
} else if (x == "Dark Green") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "0080000078ff80");
} else if (x == "Bright Cyan") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "00ffff00b4ffff");
} else if (x == "Dark Cyan") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "00808000b4ff80");
} else if (x == "Bright Blue") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "0000ff00f0ffff");
} else if (x == "Dark Blue") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "00008000f0ff80");
} else if (x == "Bright Magenta") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "ff00ff012cffff");
} else if (x == "Dark Magenta") {
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "800080012cff80");
}
else:
- lambda: |-
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "00000000000000");
- light.turn_off: ${devicename}_led
status_led:
pin:
number: GPIO13
inverted: true
script:
- id: ${devicename}_turn_off_led
mode: parallel
then:
- lambda: |-
id(master_bedroom_aroma_diffuser).set_string_datapoint_value(8, "00000000000000");
Hey everyone,
I recently ran into an issue with my ASAKUKI diffuser that had a WBR3 chip. The chip stopped working, so I replaced it with an ESP12F and flashed Tasmota on it. Now, Iād like to restore it to the original firmware.
Does anyone have a backup of the original firmware on a flashable chip? If possible, could you send it to my email at [email protected]? Iād really appreciate any help you can offer.
Thanks!
I have the asakuki duffuser with the wbr3 chip. How i have to connect the chip to the serial adapter to flash it with esphome ?