i2cJH is correct, but it wasn’t enabled in impOS in some early releases of the firmware. I’ll contact you directly to make sure you’re on the latest pre-release.
This is because currently, cellular is not on the full release (even number) - it’s on a dev release (odd number, ie 39.x) and hence has a moving target to upgrade to.
It should now upgrade to 39.12 and be happy. Let me know if it doesn’t.
As you note DS18B20 is onewire. Whilst it’s possible to use a UART to talk onewire (as in that link), the same is not possible with I2C. The protocol can’t generate the onewire waveforms.
However, uartHJKL is on the same pins that go to that grove connector. So, use uartHJKL (with NO_CTSRTS as flags) and the linked example to implement your onewire - you will need a resistor and a diode as noted.
pinH is TX (SDA when it’s i2c) and pinJ is RX (SCL when it’s i2c)
On the impC001, the HTS221 is on pins KL and I use i2c = hardware.i2cKL in my code to access it.
I gather from your comments that I could use ow = hardware.uartHJKL to access the DS18B20 on pins HJ
No, they cannot coexist; you can’t mix different types of device on a bus (that’s not an imp limitation, that’s just electrically how things work).
The HTS221 on the impC001 breakout itself is on i2cKL though, so you can use the on-board I2C to talk to that HTS221, and use the grove uartHJKL to implement a 1-wire interface.
If you have an HTS221 on a grove (and need remote sensing) then put it on the grove connector, and use another UART to implement your 1-wire interface. For example, uartYAB is available on the 0.1" headers of the Mikrobus connector, or uartNU is available on the GPS connector and the 0.1" breakout strips.