This is to be expected. I²C is an open drain bus i.e. NO active pull-ups, intended for short range low speed on board interconnection between devices.
"As I mentioned I’m a newbie so I don’t know what pull ups are."
I did answer "Why is the I2C sensitivity different than the GPIO pins", but unless you have the requisite background you ...
First start by finding the I2C address of your sensor. Here's an explanation of how to do that: https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c (look under the section "Testing I2C").
Once you have the address, try the following Python code:
address = 0x38 #Put your device's address ...
The initial answer:
It sounds like your solenoids are emitting electromagnetic interference (EMI); i.e. the solenoids are the source of the interference, the i2c circuitry is the victim. Your first step should be to remediate the source, rather than the victim.
I can't give you much in the way of specific advice because you didn't provide a schematic, nor a ...
Ten of these dual-UART add-ons would solve this: CJMCU-752
They're I2C or SPI (selected via a jumper) with selectable I2C address as well.
Here's what to put in /boot/config.txt to get one I2C version working (with the i2c/spi pin wired to vcc) using address 0x4d which has the IRQ connected to the RPI GPIO pin 24:-
# Set the dual-UART I2C WCMCU-752 IRQ pin ...