Wago input/output module based on WagoConnection()

I tried to squash the commits, but did it in wrong way and finally confused. Yeah, here I am... So, I recreate a branch and pushed the commit. In my opinion, now it is ready to be merged. Sorry for the mess.