If you remove the on_release, does it stay off the network?
Also, I donāt know if on_press has debounce. If it doesnāt, perhaps itās seeing some on_release action during the press which you could reduce with a simple series resistor and cap to ground.
I removed the āon_releaseā, but it still reconnects after a few seconds, hereās all my code ā¦
esphome:
name: sim800l
platform: ESP8266
board: d1_mini
wifi:
networks:
- ssid: "xxxxx"
password: "xxxxxx"
- ssid: "xxxxxx"
password: "xxxxxxx"
manual_ip:
static_ip: 192.168.0.34
gateway: 192.168.0.1
subnet: 255.255.254.0
# reboot_timeout: 0s
# power_save_mode: high
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Sim800L Fallback Hotspot"
password: "xxxxxx"
captive_portal:
# Enable logging
logger:
level: DEBUG
# Enable Home Assistant API
ota:
binary_sensor:
- platform: gpio
pin:
number: D4
inverted: false
name: "PIR Sensor"
device_class: motion
id: my_motion
on_press:
then:
- sim800l.send_sms:
recipient: '+77xxxxxxxx'
message: PIR activated -- send help!
- platform: template
name: temp_motion
lambda: 'return id(my_motion).state;'
filters:
- delayed_off: 1min
- platform: gpio
pin: D8
name: "wifi switch"
# device_class:
id: my_wifi_switch
on_press:
then:
- lambda: WiFi.mode(WIFI_OFF);
# on_release:
# then:
# - lambda: WiFi.mode(WIFI_STA);
api:
services:
- service: send_sms
variables:
recipient: string
message: string
then:
- sim800l.send_sms:
recipient: !lambda 'return recipient;'
message: !lambda 'return message;'
text_sensor:
- platform: template
id: sms_sender
name: "Sms Sender"
- platform: template
id: sms_message
name: "Sms Message"
uart:
baud_rate: 9600
tx_pin: D0
rx_pin: D1
sim800l:
on_sms_received:
- lambda: |-
id(sms_sender).publish_state(sender);
id(sms_message).publish_state(message);
```
api: needs a network connection, maybe it forces wifi up?
on_press:
then:
- lambda: WiFi.mode(WIFI_OFF);
where are you getting this lambda from? Where is it documented?
I saw on the net that the ESP8266 has four modes,
- Station mode (WIFI_STA), where the NodeMCU device joins an existing network
- Access point (WIFI_AP) mode, where it creates its own network that others can join
- Station + AP mode (WIFI_AP_STA), where it both creates its own network while at the same time being joined to another existing network
- WiFi off (WIFI_OFF)
It does state that it uses ESP8266WiFi.h Library, not sure if esphome uses this library, is there a way to check and if not force the use of this library ?
It is open source, look at the code.
And as I said, what makes you think api can work without a network?
What if you want to wakeup from sleep, check the sensor data without being connected (to save battery power), and either connect afterwards if a threshold has been surpassed? That would actually make the attached sensor a āsmartā battery powered sensor.
@nickrout I want to use ESP Home nodes to control the shades everywhere in our house. We donĀ“t like the idea of having ~ 20 nodes active on WiFi around-the-clock.
ThatĀ“s why I use the CAN Bus option to communicate with the nodes controlling the shades. I only need WiFi for OTA and tried to switch WiFi on/off via CAN. But even if I configure reboot_timeout : 0s it seems that the node is rebooting after WiFi is turned off via CAN and enables WiFi again. Is this a bug?
You are aware of the other components which could cause a reboots like for example āapiā or āmqttā ?
@picohassiotts thanks for your hints.
Is there anything I could do to promote the PR you were referring?
Test it and report your findings in the PR
@picohassiotts I am not a ĀµC developer so I have no idea how I can compile a branch with a config and load it to a device. I also couldnĀ“t find a docu describing this. If cou could give me some directions, IĀ“d be happy to do that.
Made this guide for another project (on w10 though)
Maybe of help?
Below my command lines used to compile:
cd c:\workshop\esphome
pip install esphome
pip install esphomeflasher
pip install --upgrade git+ https://github.com/esphome/esphome
esphome mideahvac.yaml wizard
esphome mideahvac.yaml compile
esphomeflasher
using the compiled C:\_workshop\esphome\mideahvac\.pioenvs\mideahvac\firmware.bin
Assuming you already installed python
PS:You can replace
https://github.com/esphome/esphome
with any ESPHome branch of your liking
as well as using your own yaml configuration
thanks to the hints from @aceindy I now tested the PR and reported my findings: Allow WIFI to be disabled and enabled by ashmckenzie Ā· Pull Request #1249 Ā· esphome/esphome Ā· GitHub
Out of topic but really need to know: what kind of sim card are you using with sim800l module ?
micro sim card
I know it is micro sim card, but what carrier/plan ? (if in US)
That higly depends in your usage. I went for some 1nce card to start/play with. Mostly because of their 10 years runtime and wide coverage: https://1nce.com
Thanks for reply. Apparently, SIM800l only works with 2G networks, which most providers (such as at&t etc) have phased outā¦
Are you still able to get your SIM800l module working (with 1nce) in the US ??
Hi together,
is this function still being worked on?
I would also like to use the possibility to disable wifi via CAN bus.
What I tested with CAN is to do the WiFi.mode(WIFI_OFF)
successfully, but Wifi immediatly switches back on.
It also seems that https://github.com/esphome/esphome/pull/1249 is still active?