mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-12-26 17:27:47 +01:00
Merge branch 'current' into beta
This commit is contained in:
commit
da4402105e
@ -238,6 +238,19 @@ Connect RX from BMS to TX in ESP board and TX from BMS to RX in ESP board
|
||||
:width: 100.0%
|
||||
|
||||
Uart Pinout.
|
||||
|
||||
**3.3v Warning:** some BMS 3.3v cant source large currents and may not work to properly power the ESP. If you are having WIFI connection issues or similar, try a different power source. There is 12-15v available on the Daly connector which via a proper step-down converter can properly power the ESP.
|
||||
|
||||
On the ESP32 (untested on ESP8266) if you are having missing data (such as Temperature 1/2), it may be due to UART buffer size.
|
||||
Add the following to your configuration to increase the buffer from the default 256 to 512.
|
||||
|
||||
.. code-block::
|
||||
|
||||
uart:
|
||||
...
|
||||
rx_buffer_size: 512
|
||||
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
@ -129,6 +129,43 @@ trying to match.
|
||||
This value is the raw count of pulses, and not the value you see after the filters
|
||||
are applied.
|
||||
|
||||
Wiring
|
||||
------
|
||||
|
||||
If you want to count pulses from a simple reed switch, the simplest way is to make
|
||||
use of the internal pull-up/pull-down resistors.
|
||||
|
||||
You can wire the switch between a GPIO pin and GND; in this case set the pin to input, pullup and inverted:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Reed switch between GPIO and GND
|
||||
sensor:
|
||||
- platform: pulse_counter
|
||||
pin:
|
||||
number: 12
|
||||
inverted: true
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
name: "Pulse Counter"
|
||||
|
||||
If you wire it between a GPIO pin and +3.3V, set the pin to input, pulldown:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Reed switch between GPIO and +3.3V
|
||||
sensor:
|
||||
- platform: pulse_counter
|
||||
pin:
|
||||
number: 12
|
||||
mode:
|
||||
input: true
|
||||
pulldown: true
|
||||
name: "Pulse Counter"
|
||||
|
||||
The safest way is to use GPIO + GND, as this avoids the possibility of short
|
||||
circuiting the wire by mistake.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
@ -4,7 +4,7 @@ Eastron SDM Energy Monitor
|
||||
.. seo::
|
||||
:description: Instructions for setting up SDM power monitors.
|
||||
:image: sdm220m.jpg
|
||||
:keywords: SDM220M, SDM220, SDM630
|
||||
:keywords: SDM230M, SDM220, SDM630, SDM120M, SDM72
|
||||
|
||||
The ``sdm_meter`` sensor platform allows you to use Eastron SDM modbus energy monitors
|
||||
(`website <http://www.eastrongroup.com/product_detail.php?id=170&menu1=&menu2=>`__)
|
||||
@ -14,12 +14,13 @@ with ESPHome.
|
||||
:align: center
|
||||
:width: 50.0%
|
||||
|
||||
SDM220M Energy Monitor.
|
||||
SDM230M Energy Monitor.
|
||||
|
||||
The communication with this integration is done over a :ref:`UART bus <uart>` using the :ref:`Modbus protocol <modbus>`
|
||||
over RS485 wiring. You will need an RS485 to UART converter for communication.
|
||||
You must therefore have a ``uart:`` entry in your configuration with both the TX and RX pins set
|
||||
to some pins on your board and the baud rate set to 9600.
|
||||
to some pins on your board and the baud rate set to 9600bps.
|
||||
! For the SDM230M, SDM120M Energy Monitor the default factory baud rate is 2400bps. You either need to change the code to 2400bps for these models or change the settings on your Energy Meter For more information search for your model: (`eastron's website <https://www.eastroneurope.com/products/category/din-rail-mounted-metering>`__).
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -27,38 +28,38 @@ to some pins on your board and the baud rate set to 9600.
|
||||
uart:
|
||||
rx_pin: D1
|
||||
tx_pin: D2
|
||||
baud_rate: 9600
|
||||
baud_rate: 9600 #if your energy meter is SDM230M or SDM120M than change the baud_rate: 2400
|
||||
stop_bits: 1
|
||||
|
||||
sensor:
|
||||
- platform: sdm_meter
|
||||
phase_a:
|
||||
current:
|
||||
name: "SDM220M Current"
|
||||
name: "SDM230M Current"
|
||||
voltage:
|
||||
name: "SDM220M Voltage"
|
||||
name: "SDM230M Voltage"
|
||||
active_power:
|
||||
name: "SDM220M Power"
|
||||
name: "SDM230M Power"
|
||||
power_factor:
|
||||
name: "SDM220M Power Factor"
|
||||
name: "SDM230M Power Factor"
|
||||
apparent_power:
|
||||
name: "SDM220M Apparent Power"
|
||||
name: "SDM230M Apparent Power"
|
||||
reactive_power:
|
||||
name: "SDM220M Reactive Power"
|
||||
name: "SDM230M Reactive Power"
|
||||
phase_angle:
|
||||
name: "SDM220M Phase Angle"
|
||||
name: "SDM230M Phase Angle"
|
||||
frequency:
|
||||
name: "SDM220M Frequency"
|
||||
name: "SDM230M Frequency"
|
||||
total_power:
|
||||
name: "SDM220M Total Power"
|
||||
name: "SDM230M Total Power"
|
||||
import_active_energy:
|
||||
name: "SDM220M Import Active Energy"
|
||||
name: "SDM230M Import Active Energy"
|
||||
export_active_energy:
|
||||
name: "SDM220M Export Active Energy"
|
||||
name: "SDM230M Export Active Energy"
|
||||
import_reactive_energy:
|
||||
name: "SDM220M Import Reactive Energy"
|
||||
name: "SDM230M Import Reactive Energy"
|
||||
export_reactive_energy:
|
||||
name: "SDM220M Export Reactive Energy"
|
||||
name: "SDM230M Export Reactive Energy"
|
||||
update_interval: 60s
|
||||
|
||||
|
||||
@ -113,3 +114,4 @@ See Also
|
||||
- :ref:`sensor-filters`
|
||||
- :apiref:`sdm220m/sdm220m.h`
|
||||
- :ghedit:`Edit`
|
||||
|
||||
|
80
cookbook/geiger-counter.rst
Normal file
80
cookbook/geiger-counter.rst
Normal file
@ -0,0 +1,80 @@
|
||||
Geiger counter RadiationD v1.1 (CAJOE)
|
||||
======================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for setting up RadiationD v1.1(CAJOE) sensor in ESPHome and calculate the current radation level.
|
||||
:image: radiationD-v1-1-cajoe_small.jpg
|
||||
:keywords: Radiation Geiger counter
|
||||
|
||||
With the help of :doc:`/components/sensor/pulse_counter` and the RadiationD v1.1(CAJOE) you can make your own Geiger counter, which will give you
|
||||
a more or less precise messurement of the current radation level. But it should be good enough to warn you about critical events.
|
||||
|
||||
|
||||
Assambly:
|
||||
---------
|
||||
|
||||
.. figure:: images/radiationD-v1-1-cajoe_small.jpg
|
||||
:align: center
|
||||
:width: 100.0%
|
||||
|
||||
The first step is to connect the sensor.
|
||||
|
||||
You just need to connect the +5V, the ground and a GPIO pin to the ESP.
|
||||
In my case I used the pin 34 for the signal. (The print on the PCB is wrong VIN is the signal.)
|
||||
This setup should give you the pulse of each messurement or count. For more information check the Video of `Andreas Spiess <https://www.youtube.com/watch?v=K28Az3-gV7E>`__.
|
||||
|
||||
Housing:
|
||||
*********
|
||||
I just 3D printed an small housing the avoid touching the high voltage Geiger Mueller tube.
|
||||
`Counter Tube Case <https://www.thingiverse.com/thing:5425224>`__
|
||||
(The tube should not be in direct sunlight. So maybe you will need another case.)
|
||||
|
||||
|
||||
Configuartion:
|
||||
---------------
|
||||
|
||||
The block :doc:`/components/sensor/pulse_counter` will count the radation events per minute.
|
||||
With the found specs of the tube you will be able to calculate the radiation in μSv/h.
|
||||
|
||||
It's just the counts per minute (CPM) times the factor of your Geiger Mueller tube you're using. It should be the J305ß, which comes with the PCB.
|
||||
(To make sure - check your printing on the tube)
|
||||
|
||||
μSv/h = (CPM - Tube noise) * Factor
|
||||
According to the video of `Andreas Spiess <https://www.youtube.com/watch?v=K28Az3-gV7E>`__ the tube should have about 12 CPM as background noise.
|
||||
|
||||
.. note::
|
||||
|
||||
The current version of the pack comes with the J305ß Geiger tube which detectes Beta and Gamma radiation. Specifications:
|
||||
Manufacturer: North Optic Radiation Detection: β, γ Length: 111mm Diameter: 11mm Recommended Voltage: 350V Plateau Voltage: 360-440V
|
||||
Sensitivy γ (60Co): 65cps/(μR/s)
|
||||
Sensitivy γ (equivalent Sievert): 108cpm / (μSv/h)
|
||||
Max cpm: 30000
|
||||
cps/mR/h: 18
|
||||
cpm/m/h: 1080
|
||||
cpm/μSv/h: 123.147092360319
|
||||
Factor: 0.00812037037037
|
||||
|
||||
|
||||
`Source: opengeiger.de/LibeliumDoku.pdf <http://www.opengeiger.de/LibeliumDoku.pdf>`__.
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
sensor:
|
||||
- platform: pulse_counter
|
||||
pin: 34
|
||||
name: "Radiation"
|
||||
unit_of_measurement: 'μSv/h'
|
||||
count_mode:
|
||||
rising_edge: DISABLE
|
||||
falling_edge: INCREMENT
|
||||
filters:
|
||||
- offset: -12.0 # J305ß Geiger Mueller tube background noise 0.2 pulses / sec x 60 sec = 12 CPM (Counts per Minute)
|
||||
- multiply: 0.00812037037037 # Factor: 0.00812037037037
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/components/sensor/pulse_counter`
|
||||
- :ghedit:`Edit`
|
BIN
cookbook/images/radiationD-v1-1-cajoe_small.jpg
Normal file
BIN
cookbook/images/radiationD-v1-1-cajoe_small.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
@ -49,6 +49,9 @@ And in YAML:
|
||||
- lambda: |-
|
||||
auto my_custom = new MyCustomComponent();
|
||||
return {my_custom};
|
||||
components:
|
||||
- id: my_custom_id
|
||||
|
||||
|
||||
Configuration variables:
|
||||
|
||||
|
BIN
images/radiationD-v1-1-cajoe_small.jpg
Normal file
BIN
images/radiationD-v1-1-cajoe_small.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
@ -746,6 +746,7 @@ Cookbook
|
||||
EPEVER Tracer, cookbook/tracer-an, tracer-an.jpg
|
||||
Ilonda Wifi Smart Fish Feeder, cookbook/ilonda-wifi-smart-fish-feeder, ilonda-wifi-smart-fish-feeder-cookbook.jpg
|
||||
AirGradient DIY Air Quality Sensor, cookbook/air_gradient_diy_air_quality_sensor, air_gradient_diy_air_quality_sensor.jpg
|
||||
Geiger Counter, cookbook/geiger-counter, radiationD-v1-1-cajoe_small.jpg
|
||||
|
||||
Do you have other awesome automations or cool setups? Please feel free to add them to the
|
||||
documentation for others to copy. See :doc:`Contributing </guides/contributing>`.
|
||||
|
Loading…
Reference in New Issue
Block a user