Mirabella Genio Smart Home

It has a Tasmota template so it’ll be a breeze to get it working with ESPhome.

Not quite there yet , but have got a Woolies genio I002608 bulb to mostly work with this template:

{“NAME”:“MI-BW906-999W”,“GPIO”:[0,0,0,0,37,38,0,0,181,142,180,0,0],“FLAG”:0,“BASE”:18}

is a modification of existing Merkury bulb, which used SM16716 driver. Have modified the clock and data pins to reflect SM2135.
The colour bar seems out of sync (backwards?) but is my most stable configuration so far.
(No real knowledge of the LED driver (SM2135), any help would be appreciated)

addit: Console command: setoption37 30 seems to align the colours
addit2: setoption37 31 is best so far
addit3: The PWM commands don’t appear to be needed. This template seems to work just as well
{“NAME”:“MI-BW906-999W”,“GPIO”:[0,0,0,0,0,0,0,0,181,0,180,0,0],“FLAG”:0,“BASE”:18}

1 Like

Thats great, at least it will go “on”. Im at work at a mine at the moment and fly home Wednesday so I will try it then.

Has anyone been able to come up with a way of sending multiple codes in the one procedure to the Mirabella IR bridge? I am trying to send 2 codes, one to select the channel and the other to send the ok to execute the channel change. Thanks.

I apologise if this has already been covered in the thread but I couldn’t find any solutions above. I bought a double pack of Mirabella Genio Smart Switches from Costco Perth the other night and cant get them to broadcast an SSID so that I can access the config. I’ve been flashing them via serial (following the the wiki instructions) and according to the app I’m using it’s successful but they seem to be bricked.
I’ve had no issues doing this with sonoff switches before and assumed it wouldn’t be much different.
Any ideas on what I’m doing wrong?

Hi

Has anyone got a working template for the Genio Candle bulb???
https://mirabellagenio.net.au/ses-led-candle

EDIT:
Tried this one and it appears to work OK

Any issues with using that/

Also, anyone use the CCT downlights and know what commands in tasmota to set for the brightness range?

I find that the brightness only works from about 3/4 way up the slider (being the most dim) to then full

not sure how to set the range properly, using this template

Hi Guys, I’ve successfully obtained and flashed a Mirabella genio plug power-board with ESP-Home. It’s one of these.

I’ve used this template
https://esphome-configs.io/devices/mirabella-genio-i002340_plug/

Config as follows:

substitutions:
# Change the disp_name to something you want  
  dnum: "1"
  dname: genio_pb4p1u
  sname: genpb
  location: spare
  full_name: ${dname}_${location}_${dnum}
  short_name: ${sname}_${location}_${dnum}

esphome:
  name: ${full_name}
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.1.38
    gateway: 192.168.1.1
    subnet: 255.255.255.0

captive_portal:

# Enable Home Assistant API
api:
  password: !secret esp_home_password

ota:
  password: !secret esp_home_password

web_server:
  port: 80

# Enable logging
logger:
  #level: VERBOSE

globals:
  - id: set_on
    type: "bool"
    restore_value: no
    initial_value: "1"

binary_sensor:
  - platform: gpio
    name: ${short_name}
    pin:
      number: GPIO13
      inverted: True
    id: button1
    on_multi_click:
    - timing:
        - ON for at most 0.5s
        - OFF for at least 0.5s
      then:
        lambda: |-
          if ( id(set_on) ) {
            if (! id(relay1).state  ) {
              id(relay1).turn_on();
            } else if ( ! id(relay2).state ) {
              id(relay2).turn_on();
            } else if ( ! id(relay3).state ) {
              id(relay3).turn_on();
            } else if ( ! id(relay4).state ) {
              id(relay4).turn_on();
              id(set_on) = 0;
            } else {
              id(relay1).turn_off();
              id(relay2).turn_off();
              id(relay3).turn_off();
              id(relay4).turn_off();
            }
          } else {
            if ( id(relay1).state  ) {
              id(relay1).turn_off();
            } else if (  id(relay2).state ) {
              id(relay2).turn_off();
            } else if (  id(relay3).state ) {
              id(relay3).turn_off();
            } else if (  id(relay4).state ) {
              id(relay4).turn_off();
              id(set_on) = 1;
            } else {
              id(relay1).turn_on();
              id(relay2).turn_on();
              id(relay3).turn_on();
              id(relay4).turn_on();
              
            }
          }
    - timing:
        - ON for at most 0.5s
        - OFF for at most 0.5s
        - ON for at most 0.5s
        - OFF for at least 0.2s
      then:
      - switch.toggle: usb
    - timing:
        - ON for at least 0.5s
        - OFF for at least 0.2s
      then:
        lambda: |-
          if (id(relay1).state || 
          id(relay2).state || 
          id(relay3).state || 
          id(relay4).state ) {
            id(relay1).turn_off();
            id(relay2).turn_off();
            id(relay3).turn_off();
            id(relay4).turn_off();
          } else {
            id(relay1).turn_on();
            id(relay2).turn_on();
            id(relay3).turn_on();
            id(relay4).turn_on();
          }

switch:
  - platform: gpio
    name: ${short_name}.1
    pin: GPIO4
    id: relay1
  - platform: gpio
    name: ${short_name}.2
    pin: GPIO15
    id: relay2
  - platform: gpio
    name: ${short_name}.3
    pin: GPIO12
    id: relay3
  - platform: gpio
    name: ${short_name}.4
    pin: GPIO14
    id: relay4
  - platform: gpio
    name: ${short_name}.usb
    pin: GPIO5
    id: usb

status_led:
  pin:
    number: GPIO0
    inverted: yes

It shows as being on-line within ESP home in Home Assistant, but unfortunately it doesn’t control the switches. They just remain on.

The logs are indicating the switches being turned on and off, but they don’t actually switch on and off.

Any pointers on how to trouble shoot this?

Thanks in advance.

Does anyone know if I can flash Tasmota onto it through the device webpage that esphome provides?

OK, I have no clue how to fix this, so I’ll try tasmota instead.

if you save a tasmota .bin file on your PC then upload it via the ESPhome web page (OTA Update) you should be able to swap to tasmota that way… i think. I haven’t tried it yet but I think it will work

Thanks, the process is a little more complicated than I thought. I’ve compiled a custom tasmota.bin file with my wifi configuration so I’ll upload that and see how it goes.

Thanks for the response Dave.

I’m not sure if this is what you’re after, but I just make multiple calls to the mqtt.publish service in the script. Some combinations need a delay call in there as well - for example turning on a TV and waiting for it to be ready to change the input.

turn_on_xbox:
  sequence:
    # turn on Amp
    - service: mqtt.publish
      data:
        topic: GenioIR/cmnd/IRSend
        payload: '{"Protocol":"NEC","Bits":32,"Data":"0x7E817E81","DataLSB":"0x7E817E81","Repeat":0}'
    # turn on TV
    - service: mqtt.publish
      data:
        topic: GenioIR/cmnd/IRSend
        payload: '{"Protocol":"SAMSUNG","Bits":32,"Data":"0xE0E09966","DataLSB":"0x07079966","Repeat":0}'
    # turn on xbox
    - service: mqtt.publish
      data:
        topic: GenioIR/cmnd/IRSend
        payload: '{"Protocol":"NEC","Bits":32,"Data":"0x011B54AB","DataLSB":"0x80D82AD5","Repeat":0}}'
    # set the input on the amp to HDMI 1
    - delay:
        seconds: 5
    - service: mqtt.publish
      data:
        topic: GenioIR/cmnd/IRSend
        payload: '{"Protocol":"NEC","Bits":32,"Data":"0x5EA1E21C","DataLSB":"0x7A854738","Repeat":0}'

Hey mate, if managed to flash the device with tasmota and applied this template:

The switches still do not respond.

I haven’t played with one of those units. Can you control the switches from the Tasmota web interface?

No. I see it in the console, but nothing on the powerboard. By the way, on the template page there are strings for “Backlog” and “Rule”, where do I enter these in Tasmota?

I’m not sure unfortunately. Sounds like the GPIO allocations aren’t correct… but if someone else has that template working then they should be right…

1 Like

Adding a delay of 5 to the script solved the issue with sending multiple commands with the Mirabella IR module. I am now running up to 5 payloads in a single script. Thanks

@zoogara Thanks for that tip! Endless frustration trying to get it working with the Mirabella app until Google sent me here.

@kk74 - I’ve given up on the Tuya integration as been too slow, and flashed all my Tuya based devices using Tuya-Convert.