Hi guys , im trying to build a gas lp tank level with esphome ,and a 49e sensor (hall) the dial had a small magnet that rotate to show the tank level , that can be read with a hall sensor ,
im using a esp12f , battery power with a 18650 , with a Tp4056 and a solar panel of 6v 1w ,
the hall sensor reads very well but from 5% to 50% the Raw value increase, then while the magnet pass the 50% mark on dial it drop again so from 5% to 50% is the same value than 95% to 50% , i cant find the solution for 1 sensor to read from 5% to 95% , also i notice the value from the sensors change between reads.
i will show you all i been doing
i2c: sda: GPIO4 scl: GPIO5 scan: True id: bus_a ads1115: - address: 0x48 dallas: - pin: GPIO2 sensor: - platform: ads1115 multiplexer: 'A0_GND' gain: 6.144 name: "analog" id: analog update_interval: 1s accuracy_decimals: 5 unit_of_measurement: '%' filters: # - calibrate_linear: # Map 0.0 (from sensor) to 0.0 (true value) # - 1.652 -> 0.0 # - 1.650 -> 10.0 # - 1.649 -> 20.0 # - 1.647 -> 30.0 # - 1.646 -> 100.0 # - 1.645 -> 50.0 on_value: then: - lambda: |- id(A1) += x; - platform: ads1115 multiplexer: 'A1_GND' gain: 2.048 name: "Batteria Gas" id: "bateriaV" icon: "mdi:battery" update_interval: 5s unit_of_measurement: '%' accuracy_decimals: 0 filters: - calibrate_linear: - 0.760 -> 0 #2.4 - 1.343 -> 100 #4.2 - platform: ads1115 multiplexer: 'A2_GND' gain: 6.144 name: "analog2" id: analog2 update_interval: 1s accuracy_decimals: 5 on_value: then: - lambda: |- id(A2) += x; - platform: dallas address: 0xE13C01A816CD5F28 name: "Roof temperatura"
i been researching a lot diferent products like
https://rochestergauges.com/product/ds-1828/ (only sensor) $49 usd
https://www.isentinel.com.mx/product/isentinel-wifi-2-0/ $ 60usd
but im trying to build one myself a lot cheaper ,
any one knows con can achieve the reading from 0% to 100%
sorry for my english im from mexico