Grove - Temperature & Humidity Sensor V2.0 (DHT20) micropython issue

Hi, I trying to use new TH v2 sensor with RPI3 and GrovePi+ and I encounter problem with importing machine lib in micropython v1.17, no module named 'machine.I2C:

MicroPython v1.17 on 2021-09-06; linux version
Use Ctrl-D to exit, Ctrl-E for paste mode

from machine import I2C
Traceback (most recent call last):
File “”, line 1, in
ImportError: no module named ‘machine.I2C’

import machine
dir(machine)
[‘class’, ‘name’, ‘file’, ‘path’, ‘PinBase’, ‘Signal’, ‘array’, ‘idle’, ‘mem16’, ‘mem32’, ‘mem8’, ‘time_pulse_us’, ‘uctypes’, ‘umachine’, ‘uos’, ‘utime’, ‘os’, ‘timer’, ‘pin’, ‘unique_id’, ‘ffilib’, ‘signal’, ‘libc’, ‘librt’, ‘CLOCK_REALTIME’, ‘CLOCK_MONOTONIC’, ‘SIGEV_SIGNAL’, ‘sigval_t’, ‘sigevent_t’, ‘timespec_t’, ‘itimerspec_t’, ‘SIGRTMIN’, ‘timer_create_’, ‘timer_settime_’, ‘new’, ‘timer_create’, ‘timer_settime’, ‘Timer’, ‘SIG_DFL’, ‘SIG_IGN’, ‘SIGINT’, ‘SIGPIPE’, ‘SIGTERM’, ‘signal_i’, ‘signal_p’, ‘Pin’]

Same issue on PI Zero also. Am I doing something wrong? Thank you for help.
i2cdetect seems to be working:
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – 04 – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- 38 – -- – -- – -- –
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --

I’m trying to find solution for not Pico RPi with standard python3 smbus lib. Could someone test or confirm, that the following code is correct? Thank you:

import smbus
import time
 
bus = smbus.SMBus(1)
my_data = [0x33, 0x00]
 
def read_dht20():
    bus.write_i2c_block_data(0x38, 0xAC, my_data)
    time.sleep(0.08)
    data = bus.read_i2c_block_data(0x38, 1, 7)
    return data
 
def dht20_temperature(data):
    temp = 0
    temp = (temp | data[3]) << 8
    temp = (temp | data[4]) << 8
    temp = temp | data[5]
    temp = temp & 0xfffff
    temp = (temp * 200 * 10 / 1024 / 1024 - 500)/10
    return temp
 
def dht20_humidity(data):
    humidity = 0
    humidity = (humidity | data[1]) << 8
    humidity = (humidity | data[2]) << 8
    humidity = humidity | data[3]
    humidity = humidity >> 4
    humidity = (humidity * 100 * 10 / 1024 / 1024)/10
    return humidity
 
 
while True:
    values = read_dht20()
    print(dht20_temperature(values))
    print(dht20_humidity(values))
    time.sleep(5)

output e.g:

24.477005004882812
89.69125747680664
24.152374267578125
88.63658905029297
23.878097534179688
87.0478630065918
23.682403564453125
84.49373245239258