E.g. for mijia-bridge-raspi:
# mijia-bridge-raspi not ready Device { id: "mijia-bridge-raspi", homie_version: "4.0", name: Some("Raspberry Pi Mijia bridge"), state: Ready, implementation: Some("homie-rs"), nodes: {"A4C138487922": Node { id: "A4C138487922", name: Some("Bedside table"), node_type: Some("Mijia sensor"), properties: {"battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("39") }, "humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("61") }, "temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("19.98") }} }, "A4C13885646D": Node { id: "A4C13885646D", name: Some("Table dangly"), node_type: Some("Mijia sensor"), properties: {"humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("92") }, "battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("38") }, "temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("9.78") }} }, "A4C138C950F2": Node { id: "A4C138C950F2", name: Some("Outside chair"), node_type: Some("Mijia sensor"), properties: {"battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("47") }, "humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("99") }, "temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("9.99") }} }, "A4C1381E0AE8": Node { id: "A4C1381E0AE8", name: Some("Pallet bookshelf"), node_type: Some("Mijia sensor"), properties: {"temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("20.49") }, "battery": Property { id: "battery", name: Some("Battery level"), datatype: None, settable: false, retained: true, unit: None, format: None, value: Some("84") }, "humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("67") }} }, "A4C138D6D08B": Node { id: "A4C138D6D08B", name: Some("Fridge drawer"), node_type: Some("Mijia sensor"), properties: {"humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("98") }, "battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("17") }, "temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("0.36") }} }, "A4C13821459B": Node { id: "A4C13821459B", name: Some("Fridge door"), node_type: Some("Mijia sensor"), properties: {"temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("11.43") }, "humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("57") }, "battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("74") }} }, "A4C138598607": Node { id: "A4C138598607", name: Some("Anusha desk"), node_type: Some("Mijia sensor"), properties: {"battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("68") }, "temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("21.24") }, "humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("63") }} }, "A4C138E98330": Node { id: "A4C138E98330", name: Some("Kitchen shelf"), node_type: Some("Mijia sensor"), properties: {"temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("20.76") }, "humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("59") }, "battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("95") }} }, "A4C13859D9A2": Node { id: "A4C13859D9A2", name: Some("Office"), node_type: Some("Mijia sensor"), properties: {"temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("19.84") }, "humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("63") }, "battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("29") }} }, "A4C1381F003F": Node { id: "A4C1381F003F", name: Some("Living room shelves"), node_type: Some("Mijia sensor"), properties: {"humidity": Property { id: "humidity", name: Some("Humidity"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("63") }, "battery": Property { id: "battery", name: Some("Battery level"), datatype: Some(Integer), settable: false, retained: true, unit: Some("%"), format: None, value: Some("20") }, "temperature": Property { id: "temperature", name: Some("Temperature"), datatype: Some(Float), settable: false, retained: true, unit: Some("ºC"), format: None, value: Some("21.24") }} }} }.
## A4C138487922 ready? true
### battery: Some(Integer)
### humidity: Some(Integer)
### temperature: Some(Float)
## A4C13885646D ready? true
### humidity: Some(Integer)
### battery: Some(Integer)
### temperature: Some(Float)
## A4C138C950F2 ready? true
### battery: Some(Integer)
### humidity: Some(Integer)
### temperature: Some(Float)
## A4C1381E0AE8 ready? false
### temperature: Some(Float)
### battery: None
### humidity: Some(Integer)
## A4C138D6D08B ready? true
### humidity: Some(Integer)
### battery: Some(Integer)
### temperature: Some(Float)
## A4C13821459B ready? true
### temperature: Some(Float)
### humidity: Some(Integer)
### battery: Some(Integer)
## A4C138598607 ready? true
### battery: Some(Integer)
### temperature: Some(Float)
### humidity: Some(Integer)
## A4C138E98330 ready? true
### temperature: Some(Float)
### humidity: Some(Integer)
### battery: Some(Integer)
## A4C13859D9A2 ready? true
### temperature: Some(Float)
### humidity: Some(Integer)
### battery: Some(Integer)
## A4C1381F003F ready? true
### humidity: Some(Integer)
### battery: Some(Integer)
### temperature: Some(Float)
This appears to be because rumqttc is not giving us some retained topics when we subscribe to a topic filter which matches many retained topics.