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