Alpha Bidet Infrared
The Alpha Bidet Infrared integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] lets you control an Alpha Bidet bidet seat using any infrared transmitter previously configured in Home Assistant. It sends the same infrared commands as the bidet’s wireless remote.
Because the integration communicates over infrared, it operates in a one-way, fire-and-forget fashion: commands are sent to the bidet but there is no feedback channel to confirm the current state. The integration therefore uses assumed states, and restores the last water and seat temperature it sent after a restart.
How you can use the integration
After setup, you can start and stop a wash, run the dryer, adjust the water pressure, dryer temperature, and nozzle position, and set the water and seat temperature from Home Assistant. For example, you can use an automation to start a pre-wash when the bathroom door closes, turn the seat heating off overnight, or add the wash buttons to a dashboard.
Supported devices
The integration supports the following Alpha Bidet models:
- JX2
The JX2’s seat shape and color variants (the EW, EB, RW, and RB suffixes) use the same remote and work with the JX2 option. The IR commands were captured from the JX2’s own remote, so other Alpha Bidet models are not listed until their codes have been verified. If you want another model supported, please open an issue on the infrared-protocols repository with captured IR signals from your remote.
Prerequisites
This integration requires an infrared remote adapter (proxy) that is already set up in Home Assistant and provides an infrared entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more]. To find integrations that provide infrared entities, browse the Infrared category.
For example, you can use an ESPHome device with an IR LED pointed at your bidet.
Configuration
To add the Alpha Bidet Infrared device to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select Alpha Bidet Infrared.
-
Follow the instructions on screen to complete the setup.
The infrared transmitter entity to use for sending commands. This must be an entity provided by a hardware integration (such as ESPHome) that has already been set up with an IR transmitter. Each infrared transmitter can control one bidet.
Reconfiguring the integration
If you replace your infrared transmitter, or want the bidet controlled by a different one, you can update the device without removing and re-adding the integration.
- Go to Settings > Devices & services.
- Find the Alpha Bidet Infrared integration and select it.
- Next to the bidet you want to change, select the three dots
menu and choose Reconfigure. - Select the new infrared transmitter and select Submit.
The same rules as during setup apply: each infrared transmitter can control one bidet. Changing the transmitter keeps the bidet’s entities and their entity IDs, so your dashboards and automations keep working. The bidet model cannot be changed. To switch models, remove the integration and add it again.
Supported functionality
The Alpha Bidet Infrared integration creates one device per bidet, with the following entities.
Buttons
Each button sends the code for one key on the remote:
- Rear: Same as the REAR key, which starts the rear wash.
- Front: Same as the FRONT key, which starts the front wash.
- Dry: Same as the DRY key, which starts the dryer.
- Wash and dry: Same as the WASH+DRY key.
- Easy wash: Same as the EASY WASH key.
- Stop: Same as the STOP key.
- Stop (hold): Same as holding the STOP key for about 3 seconds. The remote sends a separate code for this, so it is its own button.
- Water/dry up and Water/dry down: Same as the HI and LO keys. During a wash they raise or lower the water pressure, and during a dry cycle they raise or lower the dryer temperature.
- Nozzle up and Nozzle down: Move the nozzle one position in either direction.
Selects
- Water temperature: Sets the wash water temperature to Off, Low, Medium, or High.
- Seat temperature: Sets the seat temperature to Off, Low, Medium, or High.
The remote sends these temperatures as absolute levels, so choosing an option sets the bidet to that level directly, whatever it was before.
Alpha Bidet Infrared automation examples
The buttons and selects can be used in automations like any other entity. Here are a few ideas to get you started.
You don’t need to edit YAML to use these examples. Copy a YAML snippet from this page, open the visual automation editor in Home Assistant, and press Ctrl+V (or Cmd+V on Mac). Home Assistant automatically converts the pasted YAML into the visual editor format, whether it’s a full automation, a single trigger, a condition, or an action.
Automation: Pre-wash when the bathroom door closes
Start the pre-wash as soon as someone closes the bathroom door, so the bowl is ready by the time it is used.
-
Trigger: State
-
Entity: Bathroom door sensor (
binary_sensor.bathroom_door) -
From:
on -
To:
off
-
Entity: Bathroom door sensor (
-
Action: Press button
-
Target: Alpha Bidet JX2 Stop (hold) (
button.alpha_bidet_jx2_stop_hold)
-
Target: Alpha Bidet JX2 Stop (hold) (
YAML example for a pre-wash when the door closes
alias: "Pre-wash the bidet when the bathroom door closes"
triggers:
- trigger: state
entity_id: binary_sensor.bathroom_door
from: "on"
to: "off"
actions:
- action: button.press
target:
entity_id: button.alpha_bidet_jx2_stop_hold
Automation: Turn the seat heating off overnight
Save power by turning the seat heating off at night and back on in the morning.
-
Trigger: Time
-
At:
23:00:00, with trigger IDnight -
At:
06:00:00, with trigger IDmorning
-
At:
-
Action: Select option
-
Target: Alpha Bidet JX2 Seat temperature (
select.alpha_bidet_jx2_seat_temperature) -
Option:
offfor thenighttrigger, andmediumfor themorningtrigger
-
Target: Alpha Bidet JX2 Seat temperature (
YAML example for turning the seat heating off overnight
alias: "Bidet seat heating off overnight"
triggers:
- trigger: time
at: "23:00:00"
id: night
- trigger: time
at: "06:00:00"
id: morning
actions:
- action: select.select_option
target:
entity_id: select.alpha_bidet_jx2_seat_temperature
data:
option: "{{ 'off' if trigger.id == 'night' else 'medium' }}"
Known limitations
Assumed state
The integration uses assumed state, meaning Home Assistant cannot read the actual state of the bidet. The water and seat temperature selects show the last level Home Assistant sent.
Changes made with the physical remote or the bidet’s control panel are not tracked, so the selects can drift from the bidet’s real settings. Choosing an option again brings them back in sync.
Relative adjustments
Water pressure, dryer temperature, and nozzle position can only be stepped up or down, because the remote sends those keys as relative steps. Home Assistant cannot set them to a specific level or tell which level is active.
Unsupported controls
Functions that are only on the bidet’s control panel, such as power, the nightlight, power saving, quiet mode, and nozzle cleaning, have no infrared code and cannot be controlled.
Infrared transmission
The infrared transmitter needs a clear line of sight to the bidet’s receiver. A blocked or missed command is not reported.
Removing the integration
This integration follows standard integration removal.
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- Next to the entry you want to remove, select the three dots
menu. Then, select Delete. - Depending on the integration, the entries are listed under one of the following headings:
- Devices
- Hubs
- Services
- Integration entries
- Depending on the integration, the entries are listed under one of the following headings:
- To confirm, select Delete.
- Home Assistant also deletes the devices and entities of the entry.
- If Home Assistant asks you to restart, restart Home Assistant.
- If Home Assistant asks whether to also delete the application credentials, select Remove or Keep.
- If you keep them, Home Assistant uses them automatically when you add the integration again.
- To delete them later, refer to Deleting application credentials.