Best practise mulitple Milight hubs and MQTT

To make sure that I have good coverage on all floors in my house I use 2 Milight ESP hubs connected to MQTT. They have the same settings for the topic, updates, etc. I wonder if that is the best solution as my second Milight hub is not visible in HA.
The benefit that I have with one topic for updates is that I have one listener configuration instead of 2 topics that I need to monitor for changes.
Anyone experience with multiple Milight ESP hubs?

I don’t have 2. But why you separate them based on floor level. So every hub control just 1 floor. Seems more logic.
When you want add new bulb, now you need to add them both. Otherwise just add in hub for that floor…

Thanks for your reply. I register the bulb only at one hub to keep it simple. My main question is more related to the MQTT settings if I need to use per hub a topic.

No you can use same topic. But the device names must be unique.

That is how I have set it up. All working except I don’t see the second Milight hub in HA. I thought it might had to do with the topic.

I haver add them manual as light:
Maybe this is a option for you as well…
Add this I light part of configuration.

###########################################################################################
# BALCONY
# https://www.home-assistant.io/integrations/light.mqtt/
###########################################################################################
- name: "Balcony All"
  command_topic: "Milight_Hub/0xAAA4/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAA4/rgb_cct/1"
  <<: &MILIGHT_PARAMS
    platform: mqtt
    schema: json
    color_temp: true
    rgb: true
    brightness: true
    effect: true
    qos: 1
    optimistic: true
    retain: false
    availability_topic: "Milight_Hub/client_status"
    payload_available: "connected"
    payload_not_available: "disconnected"
    effect_list:
      - "night_mode"
      - "white_mode"
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8

###########################################################################################
# HALLWAY
###########################################################################################
- name: "Hallway All"
  command_topic: "Milight_Hub/0xAAA3/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAA3/rgb_cct/1"
  <<: *MILIGHT_PARAMS

###########################################################################################
# BATHROOM
###########################################################################################
- name: "Bathroom 1"
  command_topic: "Milight_Hub/0xAAAD/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAAD/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Bathroom 2"
  command_topic: "Milight_Hub/0xAAAD/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAAAD/rgb_cct/2"
  <<: *MILIGHT_PARAMS

- name: "Bathroom 3"
  command_topic: "Milight_Hub/0xAAAD/rgb_cct/3"
  state_topic: "Milight_Hub/states/0xAAAD/rgb_cct/3"
  <<: *MILIGHT_PARAMS

- name: "Bathroom 4"
  command_topic: "Milight_Hub/0xAAAD/rgb_cct/4"
  state_topic: "Milight_Hub/states/0xAAAD/rgb_cct/4"
  <<: *MILIGHT_PARAMS

- name: "Bathroom All"
  command_topic: "Milight_Hub/0xAAAD/rgb_cct/0"
  state_topic: "Milight_Hub/states/0xAAAD/rgb_cct/0"
  <<: *MILIGHT_PARAMS

###########################################################################################
# BEDROOM
###########################################################################################
- name: "Bedroom 1"
  command_topic: "Milight_Hub/0xAAAA/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAAA/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Bedroom 2"
  command_topic: "Milight_Hub/0xAAAA/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAAAA/rgb_cct/2"
  <<: *MILIGHT_PARAMS

- name: "Bedroom 3"
  command_topic: "Milight_Hub/0xAAAA/rgb_cct/3"
  state_topic: "Milight_Hub/states/0xAAAA/rgb_cct/3"
  <<: *MILIGHT_PARAMS

- name: "Bedroom 4"
  command_topic: "Milight_Hub/0xAAAA/rgb_cct/4"
  state_topic: "Milight_Hub/states/0xAAAA/rgb_cct/4"
  <<: *MILIGHT_PARAMS

- name: "Bedroom 5"
  command_topic: "Milight_Hub/0xAAAB/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAAB/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Bedroom 6"
  command_topic: "Milight_Hub/0xAAAB/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAAAB/rgb_cct/2"
  <<: *MILIGHT_PARAMS

- name: "Bedroom All"
  command_topic: "Milight_Hub/0xAABA/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAABA/rgb_cct/1"
  <<: *MILIGHT_PARAMS

###########################################################################################
# DRESSOIR
###########################################################################################
- name: "Dressoir 1"
  command_topic: "Milight_Hub/0xAAAF/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAAF/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Dressoir 2"
  command_topic: "Milight_Hub/0xAAAF/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAAAF/rgb_cct/2"
  <<: *MILIGHT_PARAMS

- name: "Dressoir 3"
  command_topic: "Milight_Hub/0xAAAF/rgb_cct/3"
  state_topic: "Milight_Hub/states/0xAAAF/rgb_cct/3"
  <<: *MILIGHT_PARAMS

- name: "Dressoir All"
  command_topic: "Milight_Hub/0xAAAF/rgb_cct/0"
  state_topic: "Milight_Hub/states/0xAAAF/rgb_cct/0"
  <<: *MILIGHT_PARAMS

###########################################################################################
# KITCHEN
###########################################################################################
- name: "Kitchen 1"
  command_topic: "Milight_Hub/0xAAA2/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAA2/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Kitchen 2"
  command_topic: "Milight_Hub/0xAAA2/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAAA2/rgb_cct/2"
  <<: *MILIGHT_PARAMS

- name: "Kitchen 3"
  command_topic: "Milight_Hub/0xAAA2/rgb_cct/3"
  state_topic: "Milight_Hub/states/0xAAA2/rgb_cct/3"
  <<: *MILIGHT_PARAMS

- name: "Kitchen All"
  command_topic: "Milight_Hub/0xAAA2/rgb_cct/0"
  state_topic: "Milight_Hub/states/0xAAA2/rgb_cct/0"
  <<: *MILIGHT_PARAMS

###########################################################################################
# KITCHEN SINK
###########################################################################################
- name: "Sink 1"
  command_topic: "Milight_Hub/0xAAA1/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAA1/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Sink 2"
  command_topic: "Milight_Hub/0xAAA1/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAAA1/rgb_cct/2"
  <<: *MILIGHT_PARAMS

- name: "Sink 3"
  command_topic: "Milight_Hub/0xAAA1/rgb_cct/3"
  state_topic: "Milight_Hub/states/0xAAA1/rgb_cct/3"
  <<: *MILIGHT_PARAMS

- name: "Sink All"
  command_topic: "Milight_Hub/0xAAA1/rgb_cct/0"
  state_topic: "Milight_Hub/states/0xAAA1/rgb_cct/0"
  <<: *MILIGHT_PARAMS

###########################################################################################
# LIVINGROOM
###########################################################################################
- name: "Livingroom 1"
  command_topic: "Milight_Hub/0xAAAC/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAAC/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Livingroom 2"
  command_topic: "Milight_Hub/0xAAAC/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAAAC/rgb_cct/2"
  <<: *MILIGHT_PARAMS

- name: "Livingroom 3"
  command_topic: "Milight_Hub/0xAAAC/rgb_cct/3"
  state_topic: "Milight_Hub/states/0xAAAC/rgb_cct/3"
  <<: *MILIGHT_PARAMS

- name: "Livingroom 4"
  command_topic: "Milight_Hub/0xAAAC/rgb_cct/4"
  state_topic: "Milight_Hub/states/0xAAAC/rgb_cct/4"
  <<: *MILIGHT_PARAMS

- name: "Livingroom All"
  command_topic: "Milight_Hub/0xAAAC/rgb_cct/0"
  state_topic: "Milight_Hub/states/0xAAAC/rgb_cct/0"
  <<: *MILIGHT_PARAMS

- name: "Wall All"
  command_topic: "Milight_Hub/0xAABB/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAABB/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Window All"
  command_topic: "Milight_Hub/0xAABB/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAABB/rgb_cct/2"
  <<: *MILIGHT_PARAMS

###########################################################################################
# TOILET
###########################################################################################
- name: "Toilet 1"
  command_topic: "Milight_Hub/0xAAAE/rgb_cct/1"
  state_topic: "Milight_Hub/states/0xAAAE/rgb_cct/1"
  <<: *MILIGHT_PARAMS

- name: "Toilet 2"
  command_topic: "Milight_Hub/0xAAAE/rgb_cct/2"
  state_topic: "Milight_Hub/states/0xAAAE/rgb_cct/2"
  <<: *MILIGHT_PARAMS

- name: "Toilet 3"
  command_topic: "Milight_Hub/0xAAAE/rgb_cct/3"
  state_topic: "Milight_Hub/states/0xAAAE/rgb_cct/3"
  <<: *MILIGHT_PARAMS

- name: "Toilet All"
  command_topic: "Milight_Hub/0xAAAE/rgb_cct/0"
  state_topic: "Milight_Hub/states/0xAAAE/rgb_cct/0"
  <<: *MILIGHT_PARAMS

Thanks for the suggestion. I like the dynamical population of HA with the lights of the Milight hubs, so I’ll keep it the way I have it currently unless there appears to be an issue. Currently everthing is working fine.
Thanks for your support. I realy appriciate it.

Thats ok… I like to have it in my own hands… :slight_smile: And sure… there is this platform for :smiley:

Hi, you might find this useful/interesting, it’s a DIY hub for about Ā£5 that means you don’t need to use the official milight hubs, and you can have as many groups as you like, unlike the limit of 4 with the official hubs. I just set one up yesterday:

I use this for a long time now… love it!!!
Be careful with the part " Add an alias to each light so that it shows up in Home Assistant on a card"

If you add names the memory can be full and then you lost all settings of your lights.
I didn’t use it. I have 12 Device ID’s and 32 Bulbs. Some bulbs are paired on different Device ID’s

It work great. Play with the settings ā€œRadioā€ to get the best out of it in your situation.
Mine are:

Packet repeats: 75
Packet repeats per loop: 75
Radio interface type: nRF24
nRF24 Power Level: Max
nRF24 Listen Channel: Min
nRF24 Send Channels: Min, Mid, High
Packet repeat throttle threshold: 750
Packet repeat throttle sensitivity: 20
Packet repeat minimum: 100
Switch to previous mode after saturation/color commands : Disable
1 Like

Thanks, noted. I’ll look at the settings, though it works for me with zero delay currently, so not sure how it could get any better :slight_smile:

I’ll bear in mind the loss of settings when adding aliases. I have taken a backup of the settings currently so I can always restore if I break it.

I also don’t have any delay. But somethings the settings can help to prevent some packet drops.
I have now for 3 weeks a total packet drop of 36. Thats ok.

Always make backups !!! And play with the settings.

1 Like