@Benjamin-Rau I have just had a play with my Omega and pins 13 and 14 when set as input both operate equally and as expected.
Unless there is a problem with my Omega, there are a few things you could check (forgive me if these are obvious to you or you have already done them :-)):
Are you sure that the circuitry is the same for 13 and 14?
Is the code used to access each of 13 and 14 the same?
Is there anything else that is using one pin but not the other?
If you are using mechanical switches to control the pins, do you have a suitable pull-up/pull-down resistor to pull the pins to the appropriate state when the switch is open?
If you are using mechanical switches, do you have suitable de-bounce circuitry to account for noise? A capacitor in parallel with the switch (along with the use of pull-up/pull-down resistors) should handle this
https://github.com/omcaree/node-serialgps would be even better, if you dont want to read the data from the serial yourself. Unfortunately the dependency "serialport" needs compilation, which is not possible without npm.
@mark-doutre Thanks - found that. :-) Though I think it would still be good if there was a more direct method of stopping it.
Regarding the running of the broker on the Omega, I agree with your comment. So far I have just been playing with MQTT and having a local broker under one's own control is a valuable part of getting to understand it all. In the real world, using a separate broker somewhere else is probably the way to go.
Any way, thanks for your interest and comments :-)
@Johan-Simons I previously used a similar I2C I/O expander with my Arduino - it worked well.
In case you are interested, the expander break out I used was http://www.gravitech.us/i2c16gpex.html which uses a PCA9535 chip which provides similar capability to the MCP23008 but with 16 I/O pins rather than 8. Also, the documentation on PCA9535 says: