Any idea what I would use to integrate this into esphome?
Unfortunately I have no idea what model it is.
Any idea what I would use to integrate this into esphome?
Unfortunately I have no idea what model it is.
I don’t have a clue but I suspect you may need to do a teardown and post pics of the boards inside?
What was it connected to before you decommissioned it?
That looks like a marine sensor, often proprietary but you may be able to reverse engineer.
A quick look through the Whitworths catalogue doesn’t find a match though.
I’ve managed to get the following working.
Relative Humidity
Wind Speed
Temperature
Rain Fall
Outstanding:
Wind Direction
Barometric Pressure
2 devices found on the I2C bus.
[18:49:17][I][i2c.arduino:075]: Found i2c device at address 0x40
[18:49:17][I][i2c.arduino:075]: Found i2c device at address 0x44
Some more photos.
Just not sure how to do the wind direction.
sensor:
- platform: sht3xd
temperature:
name: "Living Room Temperature"
humidity:
name: "Living Room Humidity"
address: 0x44
update_interval: 60s
#
# temperature is returned in Celsius/Centigrade by default
# use a lambda filter to convert to Fahrenheit
#
# temperature:
# name: "Outdoor Temperature"
# oversampling: 16x
# unit_of_measurement: "degrees F"
# filters:
# - lambda: return x * (9.0/5.0) + 32.0;
#
# pressure is returned in hectopascals (hpa) by default
# use a multiply filter to convert to inches of mercury
#
#
# RAIN GAUGE is a pulse counter from a
# reed switch on the rain bucket flip-flop
#
- platform: pulse_counter
name: 'Rain Gauge'
# pin ADC1_1
pin:
number: 32
mode: INPUT_PULLUP
internal_filter: 13us
update_interval: 1s
count_mode:
rising_edge: DISABLE
falling_edge: INCREMENT
unit_of_measurement: 'pulses'
filters:
- multiply: 0.016666667
#
# ANEMOMETER (wind speed) is a pulse counter
# from a reed switch beneath the wind cup axis.
#
- platform: pulse_counter
name: 'Wind speed'
id: wind_speed
# pin ADC1_1
pin:
number: 33
mode: INPUT_PULLUP
unit_of_measurement: 'm/s'
icon: 'mdi:weather-windy'
count_mode:
rising_edge: DISABLE
falling_edge: INCREMENT
internal_filter: 13us
update_interval: 1s
#
# rotations_per_sec = pulses / 2 / 60
# circ_m = 0.09 * 2 * 3.14 = 0.5652
# mps = 1.18 * circ_m * rotations_per_sec
# mps = 1.18 * (0.5652 / 2 / 60) = 0.0055578
#
filters:
- multiply: 0.0055578
- sliding_window_moving_average:
window_size: 3
send_every: 1
Normally wind direction is a resistor/ pot; so if confirmed with multimeter then use ADC. Then calibrate with offset and convert with linear_calibrate and offset
Thanks,
Ok, ive tried this today and I cant find anywhere on the wires where resistance or voltage changes when I turn the wind direction vane.
Any ideas?
Thanks
An example here, but whi knows if it is the same gear
Thanks Nick!
It seems like most are using ADC for this.
Question. Am I measuring between GND or 3v3 to get the resistance value?
Also, could it be voltage rather then resistance?
With my multimeter I measure the VCC wire (the power wire) and the output wire i.e. after the pot. My meter measures resistance by applying voltage. I twiddle the direction to see whether resistance changes. If you only have a continuity tester then you can see which wires are “connected”. You had a lot of wires but presume you have worked out the rest by now? Once you absolutely know which wire it is and how it is working; in my case the wind direction was then connected between 3.3v and the ADC pin.
well actually not,
There are 6 wires, but only 2 sensors. I have confirmed this by following the wire up the tube, it is on a dedicated cable, with 6 cores, and only speed and direction so my guess is that not all of them are used.
Plus, I have already worked out the wind speed and that is working, so minus 1.
3 wires left to work with.
I did notice, magnets. Now i’m thinking its a hall sensor.
Ok at this point, these are my options. I would like to get the wind direction working because if I dont I wont sleep at night.
So, i;m thinking down the line of option 3. If I were to go for a I2C based compass, could I expect to get results like N, NE, S, SE, W etc.
Thanks
OK, I found it.
It’s on the I2C bus. Connected the wires to the I2C bus and sure enough a third device showed up.
Its a ak8975 Magnetometer at address 0x0c. Look like with its working with the esphome integration of the MLX90393 Triple-axis Magnetometer.
Now, I need to convert these measurements to a heading like N, NE W etc.
In the gist I pointed to there is code for converting a ADC output to cardinal points (Line 178 et seq). There are also posts in this very forum on converting angles to cardinal points . It is really just a big case:
statement or if/then/else. Also depends whether you want to do it on the esp or in HA.
There is a full write of the Kestrel Met 6000 conversion to ESP home for anyone wanting to do that same.