diff --git a/components/sensor/daly_bms.rst b/components/sensor/daly_bms.rst index 55777f792..77ae91737 100644 --- a/components/sensor/daly_bms.rst +++ b/components/sensor/daly_bms.rst @@ -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 -------- diff --git a/components/sensor/pulse_counter.rst b/components/sensor/pulse_counter.rst index b418d2757..a9ae0a16a 100644 --- a/components/sensor/pulse_counter.rst +++ b/components/sensor/pulse_counter.rst @@ -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 -------- diff --git a/components/sensor/sdm_meter.rst b/components/sensor/sdm_meter.rst index 90df50baf..44067ca03 100644 --- a/components/sensor/sdm_meter.rst +++ b/components/sensor/sdm_meter.rst @@ -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 `__) @@ -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 ` using the :ref:`Modbus protocol ` 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 `__). .. 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` + diff --git a/cookbook/geiger-counter.rst b/cookbook/geiger-counter.rst new file mode 100644 index 000000000..eede8b6ae --- /dev/null +++ b/cookbook/geiger-counter.rst @@ -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 `__. + +Housing: +********* +I just 3D printed an small housing the avoid touching the high voltage Geiger Mueller tube. +`Counter Tube Case `__ +(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 `__ 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 `__. + + +.. 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` diff --git a/cookbook/images/radiationD-v1-1-cajoe_small.jpg b/cookbook/images/radiationD-v1-1-cajoe_small.jpg new file mode 100644 index 000000000..ee6325bc7 Binary files /dev/null and b/cookbook/images/radiationD-v1-1-cajoe_small.jpg differ diff --git a/custom/custom_component.rst b/custom/custom_component.rst index 926e54c34..801df3700 100644 --- a/custom/custom_component.rst +++ b/custom/custom_component.rst @@ -49,6 +49,9 @@ And in YAML: - lambda: |- auto my_custom = new MyCustomComponent(); return {my_custom}; + components: + - id: my_custom_id + Configuration variables: diff --git a/images/radiationD-v1-1-cajoe_small.jpg b/images/radiationD-v1-1-cajoe_small.jpg new file mode 100644 index 000000000..ee6325bc7 Binary files /dev/null and b/images/radiationD-v1-1-cajoe_small.jpg differ diff --git a/index.rst b/index.rst index 6a96a731a..6b1131f83 100644 --- a/index.rst +++ b/index.rst @@ -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 `.