Zkuste popsat co očekáváte od té sekvence
ser.write(bytearray([0x55, 0x23, 0x11, 0x01]))
Podle dat o tom převodníku je 0x55 příkaz pro čtení/zápis více bytů a měl by být následován adresou i2c obvodu.
A opět dle datasheetu BH1750 ta následující 0x23 není korektní adresou tohoto obvodu.
Spíš to vypadá, že se rovnou pokoušíte zapnout "One Time L-Resolution Mode ".
Takhle jednoduše to asi nepůjde, myslím, že ten obvod se napřed musí správně inicializovat, dále se uspává a musí se probudit atd.
Zkuste mrknout sem:
https://gist.github.com/oskar456/95c66d564c58361ecf9fPlus nezapomenout, že na výsledek se musí někdy čekat až 200ms ( podle rozlišení )