RV things. Trying to connect ADS1115 direct to gpio without esp32. No luck

I am new in Home Assistant. Not so new ( I use it almost 2 years after my Hoobs setup failed). My smart home controls works perfect. But now i am building my setup for RV.
I got resistor type water level meter. For that i bougth 16bit ADC (Amazon.ae).
I am running Home Assistant OS 17.3 on raspberry pi 4. ADC board is connected directly to gpio pins. Installed ESP Home. Trying to add this device:

esphome:
  name: rpi-ads1115
  
host: 
  mac_address: "06:35:69:ab:f6:79"

# Enable I2C
i2c:
  id: i2c-1
  sda: GPIO2
  scl: GPIO3
  scan: True
  frequency: 400kHz
  timeout: 1000

# Setup the ADS1115 Hub
ads1115:
  - address: 0x48
    id: ads1115_hub

# Configure sensors
sensor:
  - platform: ads1115
    ads1115_id: ads1115_hub
    multiplexer: 'A0_GND'
    gain: 6.144
    name: "ADS1115 A0"

Getting error:
INFO ESPHome 2026.4.5
INFO Reading configuration /config/esphome/warlev.yaml...
ERROR Unexpected exception while reading configuration:
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/esphome/esphome/main.py", line 2002, in
sys.exit(main())
^^^^^^
File "/esphome/esphome/main.py", line 1993, in main
return run_esphome(sys.argv)
^^^^^^^^^^^^^^^^^^^^^
File "/esphome/esphome/main.py", line 1972, in run_esphome
config = read_config(
^^^^^^^^^^^^
File "/esphome/esphome/config.py", line 1347, in read_config
res = load_config(command_line_substitutions, skip_external_update)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/esphome/esphome/config.py", line 1204, in load_config
return _load_config(command_line_substitutions, skip_external_update)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/esphome/esphome/config.py", line 1192, in _load_config
return validate_config(config, command_line_substitutions, skip_external_update)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/esphome/esphome/config.py", line 1110, in validate_config
result.run_validation_steps()
File "/esphome/esphome/config.py", line 202, in run_validation_steps
task.step.run(self)
File "/esphome/esphome/config.py", line 781, in run
validated = schema(self.conf)
^^^^^^^^^^^^^^^^^
File "/esphome/esphome/voluptuous_schema.py", line 37, in call
res = super().call(data)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/voluptuous/schema_builder.py", line 205, in call
return self._compiled(, data)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/voluptuous/validators.py", line 276, in _run
return self._exec(self._compiled, value, path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/voluptuous/validators.py", line 404, in _exec
v = func(path, v)
^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/voluptuous/schema_builder.py", line 804, in validate_callable
return schema(data)
^^^^^^^^^^^^
File "/esphome/esphome/voluptuous_schema.py", line 37, in call
res = super().call(data)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/voluptuous/schema_builder.py", line 205, in call
return self._compiled(, data)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/voluptuous/schema_builder.py", line 574, in validate_dict
return base_validate(path, data.items(), out)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/esphome/esphome/voluptuous_schema.py", line 151, in validate_mapping
cval = cvalue(key_path, value)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/voluptuous/schema_builder.py", line 804, in validate_callable
return schema(data)
^^^^^^^^^^^^
File "/esphome/esphome/components/i2c/init.py", line 93, in _bus_declare_type
raise NotImplementedError
NotImplementedError

As i understand, there is issue with my i2c config in the code. I spend 2 days reading and watching so many blogers, but no luck. I hope to find someone, who had this issue here.

Thanks.

I would be really surprised if that can work.
Docs mention: " Many components, especially those interfacing to actual hardware, will not be available when using host"

Oh wow, never saw that.
So strange. As i understand - this is the only way to connect things by wires.

I suggest that you are trying to mix several non-standard elements, which causes confusion. It certainly caused me confusion trying to understand your post.

Home Assistant promotes being able to run on a Raspberry Pi, and in previous releases they encouraged connecting devices directly to the RasPi's GPIO pins. RasPi was cheap, runs full linux and can interface direct with electronic hardware ... almost perfect !

However as peoples home automations got more complex and covering larger physical spaces, HA has moved to a client-server model where devices (sensors, switches, etc) are connected to the server through LAN connections. A couple of years ago HA deprecated those integrations which used the RasPi GPIO pins (largely because no-one was maintaining those integrations). There are still some integrations which use RasPi GPIO pins, but you have to search and research them.

In other words, Home Assistant officially no longer recognises anything connected to RasPi GPIO pins ... and so you have to add an extra layer as a work around.

Normally you would just buy an ESP32, connect your ADS1115 and install ESPHome; and if the ADS1115 is the only sensor being interfaced it does seem an unnecessary effort and expense.

From Karosm's reply I guess that you might be trying to use ESPHome's "Host Platform" to emulate an ESP32, while physically running on the Raspberry Pi. First problem is getting the ESPHome Host running along side HA - I guess you are using a non-standard Docker configuration with its complexities and limitations.

But more importantly is Karosm's comment. Your i2c uses the virtual ESP32's GPIO pins 02 and 03 - but are these mapped to the RasPi's physical pins ? Nothing in the ESPHome Host documentation mentions anything about mapping the virtual ESP32 to the physical computer.

My understanding is that today HA expects everything to connect through the LAN - whether by wi-fi or ethernet cable. That's nice and standard and common, and can operate at any distance. ESPHome complements it nicely by focussing on the hardware level.

Given the cost of ESP32 mini- development boards and a USB power adaptor, I would just take that approach and avoid the headaches.