Vale. Perdonadme. Horas buscando y justo después de preguntar voy a dar con la respuesta.
El problema era que no había probado bien. Los datos vienen empaquetados y hay que desempaquetarlos.
dato1, dato2, dato3 = TuplaDeDatos[1]
Y ya dato1 y demás son enteros que se pueden modificar.
Gracias y espero que mi tiempo perdido le sirva de algo a alguien.
////////////////////////////////////////////////////////////////////////////
import serial
import modbus_tk
import modbus_tk.defines as cst
import urllib, urllib2
from modbus_tk import modbus_rtu
#PORT = 1
PORT = '/dev/ttyUSB0'
def main():
"""main"""
#logger = modbus_tk.utils.create_logger("console")
while True:
# try:
#Connect to the slave
master = modbus_rtu.RtuMaster(
serial.Serial('/dev/ttyUSB0', baudrate=19200, bytesize=8, parity='N', stopbits=2, xonxoff=0)
)
master.set_timeout(0.07)
master.set_verbose(False)
kk = 0
while True:
TuplaDeDatos = (kk, master.execute(kk, cst.READ_HOLDING_REGISTERS, 0, 3))
if kk > 9: kk=0
kk = kk + 1
print TuplaDeDatos
if kk > 5:
nose1, nose2, nose3 = TuplaDeDatos[1]
print nose1 + 10
print nose2 + 25
print nose3 + 100
print type(nose1)
if __name__ == "__main__":
main()