I2C address of SEN0343 differential pressure sensor

Regarding the SEN0343 differential pressure sensor … Can the i2c address be changed ?
The address is 0x00. I was under the impression that there are 10 reserved addresses, and 0x00 is one of those. See https://www.i2c-bus.org/addressing/#:~:text=The%20address%20is%207%20bits,are%20reserved%20for%20special%20purposes.
The choice of 0x00 as the i2c addresses seems problematic. Am I missing something?
BTW, I'm attempting to use this sensor with a raspberry pi. I was eventually able to detect the sensor using i2cdetect on linux. However, I had to use the -a option (force scanning of non-regular addresses).
The I2C address of this sensor has been solidified and cannot be changed.

I came across the same problem, unfortunately a year too late.
The address at 0x00 definitely causes problems. 0x00 is the 'General Call' address, meaning that all devices on the bus will respond to it. It will work, but only if it's the ONLY device on the bus.
I'd been using the sensor on an ESP8266 with the C library code, but wanted to run it with Python on a Linux workstation. I wrote some Python code, using SMBUS2/I2C, but it only gave I/O error when attempting to write to the device.
Turns out SMBUS2 is 'protecting' you from access to the reserved addresses, and blocks the call. After a long session with ChatGPT, we arrived at the solution:
- create an SMBus object:
self.bus = SMBus(bus)
- use fcntl.ioctl() to override the device address in the fd:
fcntl.ioctl(self.bus.fd, 0x0703, self.addr)
- use OS calls to read/write the fd, instead of the SMBUS/I2C calls:
# config the sensor
data = bytes([0xaa, 0x00, 0x80])
os.write(self.bus.fd,data)
time.sleep(0.050)
# read the sensor
S = os.read(self.bus.fd, 7)
If you attempt any SMBUS calls, e.g. self.bus.write_type(), it will block access and you'll need to execute the fcntl.ioctl() call again.
Then there's the problem of finding an I2C bus with nothing on it. The Pi has pins for two buses, so one of those should work. In my case, I wanted to run on a workstation with no exposed I2C pins...
The workstation does however have an unused HDMI port. One of the features of the display ports is DDC: Display Data Channel. DDC can send commands to the monitor over a serial bus - which is I2C. Attach an HDMI breakout board to the unused port, connect the DDC pins to the I2C sensor, and you've got the sensor on a dedicated bus. DDC provides enough power to run the sensor (around 50mA or so), so it simplifies the connection.

Yes im having the same issues. If you end up getting the sensor to work on your raspberry pi, please let me know.

I do not see any option to change the I2C address in this library: https://github.com/DFRobot/DFRobot_LWLP
If you want an absolute Pressure Sensor, you can consider INFENEON KP236N6165 Absolute pressure sensor:
https://www.pcbway.com/project/shareproject/Breakout_board_INFENEON_KP236N6165_Absolute_pressure_sensor.html
