Z dwoma wpiętymi bezpośrednio w główną i jedyną szynę I2C w ESP8266 nie widzę problemu - na jednym zmieniasz adres, a jak to zrobić jest opisane w tym drugim wątku, który linkowałem wyżej. (To w końcu jak? Chcesz podpiąć dwa, czy pięć, bo to robi różnicę! Dwa nie wymagają multipleksera.)
Co ciekawsze tam powinien być też raczej działający kod (oczywiście musisz go zmodyfikować pod siebie), bo jego założyciel przyznał się (wprawdzie mocno mętnie, więc to tylko mój domysł), że pomylił BMP280 z BME280 czy odwrotnie?
Znając twoją niechęć do czytania uprzedzam, TCA9548A ma konfigurowany adres, więc musisz go skonfigurować - piny A0-A2 (można wrzucić 8 takich multiplekserów na główną szynę I2C, co daje łącznie 64 przełączane szyny, więc teoretycznie maksymalnie można wtedy podpiąć 128 BME280 do jednego ESP8266 - nie wiem czy przy takim szaleństwie on nie klęknie ), dokumentacja (jako datasheet) jest niemal zawsze załączona do odpowiedniego kawałka dokumentacji ESPHome, link do bryku (mam nadzieję, że już wiesz, iż chodzi po prostu o mocny skrót dokumentacji):
W dokumentacji masz przykład adresowania tego multipleksera
oczywiście musisz to połączyć w głowie z dokumentacją dla BME280
oczywiście konfiguracja (kod) zależy od tego jak to popodpinasz, nie ma jakiegoś uniwersalnego i jedynego słusznego - musisz go dopasować do sprzętu.
Jak widzisz naskrobałem konfigurację dla 4 sensorów podpiętych na 3 magistralach multipleksera oraz dodatkowo 2 podpiętych do głównego I2C = bezpośrednio do ESP
(to celowe, bo na początku tego wątku pisałeś o tym, że chcesz mieć jedną magistralę, ale to niemożliwe przy 5 sensorach z tej rodziny, więc pewnie będziesz chciał zminimalizować ilość magistral - na tych 3 magistralach można upchnąć 6 czujników BME280, ale zrozum że to moje paluszki pisały, więc też się nie chciały narobić - masz przykład uwzględniający co się tylko da = podpięcie po 2 czujniki na magistrali multipleksera, podpięcie bez zmiany adresów na oddzielnych magistralach, czy wpięcie przed i za multiplekserem; resztę kodu doklep sam)
# Example I2C bus 0
i2c:
sda: 4 # GPIO tylko przykładowe
scl: 5 # GPIO tylko przykładowe
scan: True
id: i2c0
# Example configuration entry multiplexer TCA9548A on bus i2c0
tca9548a:
- address: 0x75
id: multiplex0
i2c_id: i2c0
channels:
- bus_id: multiplex0channel0
channel: 0
- bus_id: multiplex0channel1
channel: 1
- bus_id: multiplex0channel2
channel: 2
# Individual BME280 I2C Devices
sensor:
- platform: bme280
i2c_id: multiplex0channel0
address: 0x76
update_interval: 60s
temperature:
name: "BME280 Temperature_0_0"
oversampling: 16x
pressure:
name: "BME280 Pressure_0_0"
humidity:
name: "BME280 Humidity_0_0"
- platform: bme280
i2c_id: multiplex0channel0
address: 0x77
update_interval: 60s
temperature:
name: "BME280 Temperature_0_1"
oversampling: 16x
pressure:
name: "BME280 Pressure_0_1"
humidity:
name: "BME280 Humidity_0_1"
- platform: bme280
i2c_id: multiplex0channel1
address: 0x76
update_interval: 60s
temperature:
name: "BME280 Temperature_1_0"
oversampling: 16x
pressure:
name: "BME280 Pressure_1_0"
humidity:
name: "BME280 Humidity_1_0"
- platform: bme280
i2c_id: multiplex0channel2
address: 0x76
update_interval: 60s
temperature:
name: "BME280 Temperature_2_0"
oversampling: 16x
pressure:
name: "BME280 Pressure_2_0"
humidity:
name: "BME280 Humidity_2_0"
- platform: bme280
i2c_id: i2c0
address: 0x76
update_interval: 60s
temperature:
name: "BME280 Temperature_ESP_0"
oversampling: 16x
pressure:
name: "BME280 Pressure_ESP_0"
humidity:
name: "BME280 Humidity_ESP_0"
- platform: bme280
i2c_id: i2c0
address: 0x77
update_interval: 60s
temperature:
name: "BME280 Temperature_ESP_1"
oversampling: 16x
pressure:
name: "BME280 Pressure_ESP_1"
humidity:
name: "BME280 Humidity_ESP_1"
PS Przy konfigurowaniu adresów musisz myśleć o schemacie połączeń (dlatego multiplekser umieściłem pod 0x75, by nie miał adresu w konflikcie z BMxy80 gdybyś chciał podpiąć też czujniki przed multiplekserem, bo przecież może on być umieszczony obok ESP, ale w sumie nie musi, jeśli zapewnisz mu stabilne zasilanie i sensowne połączenie).
Jeśli czytasz jakieś tutoriale (to dotyczy też starych filmików) starsze niż 2 lata, to składnia adresowania multipleksera jest obecnie inna niż była kiedyś.
PPS Ten temat zaczął mnie intrygować, ale wczoraj miałem zbyt duży wqrw, na to, że nie szanujesz naszego czasu i wkładu pracy w daremną pomoc.
Możesz to trochę rozwinąć?
(i zacząć używać przecinków w zdaniach wielokrotnie złożonych albo chociaż dzielić wypowiedź na krótkie osobne zdania - popatrz na to powyżej i się zastanów dlaczego jest to niestrawne dla oczu)
Przypomnę jeszcze to
podzielisz się tym zarysem, czy nadal będziemy podpowiadać “w ciemno”?