As far as the programmer is concerned they are.
Now all we have to do is agree on what what we want to call that sequence. If the device had a hardware input to achieve the same result it would probably be called 'reset'. . . .
As I mentioned, the library can work with custom i2c shields.LiquidCrystal_I2C lcd(PCF8574_ADDR_A21_A11_A01, 4, 5, 6, 16, 11, 12, 13, 14, POSITIVE);Where LCD pin no.4 connected to PCF8574 port P0 (pin 4), LCD pin no.5 connected to PCF8574 port P1 (pin 5),LCD pin no.6 connected to PCF8574 port P2 (pin 6), LCD pin no.16 connected to PCF8574 port P3 (pin 7) and etcfor example if for some reason the LCD pin no.4 connected to PCF8574 port P7 (pin 12) and LCD pin no.14 connected to PCF8574 port P0 (pin 4). Your initialization string will be:LiquidCrystal_I2C lcd(PCF8574_ADDR_A21_A11_A01, 14, 5, 6, 16, 11, 12, 13, 4, POSITIVE);The library was almost finished a while ago, the real trick for me was to make it work with any custom shields.