Re the LCD the driver doesn't maintain a cursor position. This is to keep it simple: these displays have only a few characters on each line. They refresh very fast. So a line update requires a string comprising all the text. Your options are either to adapt the driver to maintain a text cursor for each line or to use Python string formatting, e.g.
Code: Select all
lcd[0] = "value:{} {}".format(concentration, "Here I want another string to be displayed")
Regarding your driver, I don't have the hardware device so I can't suggest any reasons why it is returning unexpected values.