Working code, possibly overcomplicated, big change was setting SMbus to use 1 (matching the working value of i2cdetect -y )1