EDIT 2022:
nechce sa mi upravovať celý príspevok ale postnem tu link na vytvorenie senzoru v novej verzii v githube je tam všetko pekne popisane
https://github.com/tiimsvk/Esphome-Franklin-Lightining
Dnes bola menšia búrka a celkom ďaleko cca 25km od nás s množstvom bleskov a senzor ich aj pekne zaznamenal:
ZÁZNAM:
ZARIADENIA A SÚČIASTKY:
- ESP8266 D1-MINI-PRO
- CJMCU AMS AS3935 https://www.aliexpress.com/item/3282911 ... 1802ahvNJh
Súčiastky kvôli rušeniu nakoľko senzor je veľmi citlivý!
- napájanie z power banky
- 5v solarny panel
- kábel pre senzor aspoň 1m od esp kvôli rušeniu
- 2x vodotesné krabičky (alebo skryt senzor niekde pod strechu
PRIPOJENIE:
SPI - VOLTAGE REGULATOR OFF
Kód: Vybrat vše
VCC - 3V3
GND - GND
SCL - D5
MOSI - D7
MISO - D6
CS - D8
SI - GND
IRQ - D1
EN_V - NEPRIPOJENÉ
A0 - NEPRIPOJENÉ
A1 - NEPRIPOJENÉ
KÓD:
Kód: Vybrat vše
substitutions:
friendly_name: ESP-Lightining
device_name: esp-lightining
device_description: "Lightining sensor CJMCU AMS AS3935 (https://www.homeassistant-cz.cz/viewtopic.php?f=56&t=379&p=3711#p3711), Deep Sleep and internal meteoalarm integrate"
esphome:
name: esp-lightining
esp8266:
board: d1_mini_pro
# Enable logging
logger:
# level: warn
mqtt:
broker: '192.168.31.212'
username: !secret mqtt_username
password: !secret mqtt_password
discovery: true
# discovery_retain: false
birth_message:
topic: $device_name/status
payload: online
will_message:
topic: $device_name/status1
payload: offline
on_message:
##OTA UPDATE
# - topic: $device_name/ota_mode
# payload: 'ON'
# then:
# - deep_sleep.prevent: deep_sleep_component
# - logger.log: "OTA blocking deep sleep"
# - topic: $device_name/ota_mode
# payload: 'OFF'
# then:
# - logger.log: "OTA finished run deep sleep"
# - deep_sleep.allow: deep_sleep_component
#METEOALARM HASSIO SENSOR
- topic: $device_name/meteoalarm_safe
payload: 'OFF'
then:
- deep_sleep.prevent: deep_sleep_component
- logger.log: "meteoalarm unsafe or ota"
- topic: $device_name/meteoalarm_safe
payload: 'ON'
then:
- logger.log: "meteoalarm safe or ota finished"
- deep_sleep.allow: deep_sleep_component
deep_sleep:
id: deep_sleep_component
sleep_duration: 600s
run_duration: 30s
ota:
safe_mode: false
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.31.120
gateway: 192.168.31.1
subnet: 255.255.255.0
fast_connect: True
power_save_mode: high
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp-Lightining Fallback Hotspot"
password: "passlightining"
captive_portal:
spi:
clk_pin: GPIO14 #D5
mosi_pin: GPIO13 #D7
miso_pin: GPIO12 #D6
# Example configuration for SPI (decide for one!)
as3935_spi:
cs_pin: GPIO15 #D8
irq_pin: D1
indoor: false
noise_level: 2
spike_rejection: 4 # Default 2
lightning_threshold: 1
mask_disturber: false
div_ratio: 0
capacitance: 5
watchdog_threshold: 2
# Example lightning and energy sensor
sensor:
##BATTERY
- platform: adc
pin: A0
name: "${friendly_name} Battery Voltage"
accuracy_decimals: 3
update_interval: 4s
filters:
- multiply: 16.75
- median:
window_size: 7
send_every: 4
send_first_at: 1
icon: mdi:battery
id: batlevel
internal: true
device_class: battery
entity_category: diagnostic
- platform: template
name: "${friendly_name} Battery"
unit_of_measurement: "%"
accuracy_decimals: 0
device_class: battery
entity_category: diagnostic
filters:
- calibrate_linear:
- 2.5 -> 0
- 4.20 -> 100
# No value lower than 0
- lambda: 'return max((float)0.0, x);'
# No value greater than 100
- lambda: 'return min((float)100.0, x);'
lambda: |-
return (id(batlevel).state);
update_interval: 20s
icon: mdi:battery
##AS3935
- platform: as3935
lightning_energy:
name: "${friendly_name} Lightning Energy"
unit_of_measurement: "lightining"
icon: mdi:lightning-bolt-outline
accuracy_decimals: 0
on_value:
then:
- number.increment: light_counter
distance:
name: "${friendly_name} Distance Storm"
icon: mdi:access-point
accuracy_decimals: 0
#daily counter
# - platform: total_daily_energy
# name: "${friendly_name} Lightning Daily"
# power_id: light_counter_temp
# icon: mdi:lightning-bolt-circle
# filters:
# # Multiplication factor from W to kW is 0.001
# - multiply: 60
#counter
- platform: template
name: "${friendly_name} Lightning Counter"
id: light_counter_temp
lambda: |-
return (id(light_counter).state);
unit_of_measurement: "pcs"
accuracy_decimals: 0
icon: mdi:lightning-bolt-circle
# internal: true
# Wifi signal
- platform: wifi_signal
name: "${friendly_name} Signal"
# update_interval: 10s
number:
- platform: template
name: "${friendly_name} Lightning Counter number"
optimistic: true
min_value: 0
max_value: 1000
step: 1
id: light_counter
internal: true
binary_sensor:
- platform: as3935
name: "${friendly_name} Storm Alert"
icon: mdi:flash-alert-outline
switch:
##RESTART ESP
- platform: restart
name: "${friendly_name} Restart"
time:
- platform: sntp
id: esptime
timezone: "Europe/Bratislava"
UMIESTNENIE:
Zatial som ho umiestnil vonku pod hojdačku kde je dostatočný signla wifi ale žiadne iné rušenie.
!Pozor! senzor je veľmi ale veľmi citlivý na rušenie akéhokoľvek mikročipového zariadenia preto najlepšie umiestniť vonku kde nie je v blízkosti apsoň 2m ine zariadenie.
Mne dokonca dáva celkom dobré hodnoty aj keď sme obklopený elektrickým vedením v dedine.
PLÁNY A TESTY:
- Plánujem skúsiť zapojiť pri najbližšej búrke esp z normálneho zdroja aby som nemusel riešiť batériu. (Zatial neskúšal)
Uvidím či bude dávať nejaké alebo dobré hodnoty.
- Solarne nabijanie funguje dobre 2x18650 3.7v s 5v solarnym panelom a zapnutym deepsleep.
- Ak nevíde ani druhy bod tak plán je zapojiť pomocou esp32 s deep sleep a zobudením na ďialku pomocou senzoru "meteoalaram" v ha, ktorý uvádza či budú blesky alebo nie a potom sa esp zapne. Vipne sa až vtedy keď meteoalaram nezaznamená žiadnu hrozbu. (Takto to mam zapojene a funguje)
Ak máte nejaké vylepšenia alebo rady sem s tým