New MCP23017 PCF8574 All-In-One node

Hi @PizzaProgram I don't use these but after a quick read through I would offer these suggestions...

  1. Don't use Sentence case names (stick with lowercase and camelCase)
  2. Instead of msg.Pin and msg.State, why not consider using topic and payload e.g. ...
    • topic: 1 payload: true = turn pin 1 on
    • topic: all, payload: true = turn all pins on
    • topic: 6 payload: false = turn pin 6 off
    • topic: "1,3,5" payload: true = turn pins 1, 3 & 5 on
    • topic: "set" payload: 0b10000001 = turn pins 7 & 0 on, 6 ~ 1 off

Better still, use typedInput widgets to let the user decide where the pin and value come from. (Saves user having to use change nodes to shift values around in the msg)

Just some thoughts off the top of my head. If I'm way off or misunderstanding something, my apologies.