Are you converting the data to number type before saving to influx? You should always store numeric data as numbers in influx, only use strings for status information and so on.
In your tempread function - convert the string into a number... (and probably same for humidity)
eg msg.payload = parseFloat(msg.payload);
Fantastic I started with adding a new function block that just does a simple convert, but the suggestion you had dceejay was excellent! I will use that.
This solved the problem completely btw.