Difference between revisions of "EasyNotifications"

From Let's Control It
Jump to navigation Jump to search
Line 53: Line 53:
 
* Enable '''Sleep on connection failure'''
 
* Enable '''Sleep on connection failure'''
 
* Set message delay to 0.
 
* Set message delay to 0.
* Add an email notification.
+
* Add an [[email notification]].
 
* Enable rules.
 
* Enable rules.
 
* Create a rule that mails you on system boot, like this:
 
* Create a rule that mails you on system boot, like this:
Line 60: Line 60:
 
  endon
 
  endon
 
* Consider compiling ESPEasy with FEATURE_ADC_VCC. (enable it in ESPEasy.ino) This way you can add a sysinfo task that sends the battery level to your homecontroller, every time it wakes up.
 
* Consider compiling ESPEasy with FEATURE_ADC_VCC. (enable it in ESPEasy.ino) This way you can add a sysinfo task that sends the battery level to your homecontroller, every time it wakes up.
 +
 +
== Email Notification ==
 +
 +
ESPEasy can’t send Emails using popular providers like Gmail.com or Yahoo.com…
 +
 +
… because most of common Email service providers stopped support for non-secure SMTP (w/o SSL) around 2014 but the Email-Notification inside ESPEasy does not support SSL due to limited resources. [https://github.com/letscontrolit/ESPEasy/issues/179]
 +
 +
Unless you have an own mailserver inside your local network you should <br />
 +
CREATE a special Email account for ESPeasy without SSL <br />
 +
at one of the rare Email providers still offering SMTP with no or optional SSL (e.g. SMTP2go.com, smart-mail.de).
 +
 +
Otherwise you won’t be able to use the Email-Notification from ESPEasy at all!
 +
 +
Afterwards you can add a new Notification in the Web-configuration of ESPEasy as follows:
 +
 +
{| class="wikitable"
 +
!style="border-right:medium solid" | Contend !!Example 1 !!Example 2 !! Description
 +
|-
 +
|style="border-right:medium solid" | Notification: || style="text-align:center" colspan="2" | Email (SMTP) || Type of notification
 +
|-
 +
|style="border-right:medium solid" | Domain: || style="text-align:center" | smtp2go.com || style="text-align:center" | smart-mail.de || Web address of Email service provider
 +
|-
 +
|style="border-right:medium solid" | Server: || style="text-align:center" | mail.smtp2go.com || style="text-align:center" | smtp.smart-mail.de || full server name to deliver Email via SMTP
 +
|-
 +
|style="border-right:medium solid" | Port: || style="text-align:center" colspan="2" | 25 || SMTP-Connection port is traditionally same
 +
|-
 +
|style="border-right:medium solid" | Sender: || style="text-align:center" | ESP123@smtp2go.com || style="text-align:center" | ESP123@smart-mail.de || full Email address for the device to be used
 +
|-
 +
|style="border-right:medium solid" | Password: || style="text-align:center" | 2S€cr€t4you || style="text-align:center" | 2S€cr€t4me || Password to access devices Email account
 +
|-
 +
|style="border-right:medium solid" | Receiver: || style="text-align:center" colspan="2" | JohnDoe@gmail.com || Who should get the Email?
 +
|-
 +
|style="border-right:medium solid" | Subject: || style="text-align:center" colspan="2" | Message from your ESPEasy || Topic in Email headline (fixed)
 +
|-
 +
|style="border-right:medium solid" | Body: || style="text-align:center" colspan="2" | || Could be left empty and defined with command
 +
|-
 +
|style="border-right:medium solid" | Enable || style="text-align:center" colspan="2" | <hook> || Needs to be activated
 +
|}
 +
 +
Now you can use the command e.g. like:
 +
* Notify 1
 +
* Notify 1, This_is_an_automatic_generated_message
 +
 +
The Syntax is:
 +
* Notify <no of notification in list>, [message_in_the_body]
 +
 +
Might-be-useful rule example:
 +
On Time#Initialized do //connected to WiFi & TimeServer
 +
  notify 1, Connected_After_Reboot //Send Email
 +
endon
 +
 +
Hints:
 +
* Pay attention what position the Email Notification has got in your list of all notifications and use it with “notify <position>”
 +
* If you add an [optional] text for the body avoid special characters or space (you might use “_” instead)
 +
* If you need to differ between subjects you could create (almost same) Notifications for each
 +
* Hope that the Email provider of your choice doesn’t stop providing SMTP w/o SSL

Revision as of 19:52, 7 August 2018

ESPEasy notifications

ESPEasy notifications are to be used in combination with rules.

For example, to send a message on system boot use a rule like this:

on System#Boot do 
   notify 1,system_is_started
endon

Note: Use v2.0.0-dev11 or higher. There was a bug in dev10 and older versions that lead to crashes.

Creating a paper-mail to email gateway

I used notifications in combination with Deep Sleep to create a system that notifies me when I have new paper mail in my actual mailbox:

Espmailbox.jpg

Espmailbox2.jpg


Hardware

  • Core: A bare esp-12-f. Not a development board, so it has no voltage regulator and no usb-to-serial interface that draws current while sleeping.
  • Casing: Google for Waterproof Clear Cover Plastic Electronic Box Project
  • Magnetic microswitch: Google for something like 10pcs/lot Wired Door Window Magnetic Sensor Switch
  • Use a GOOD and high temperature hot-glu gun like the Dremel 940. This saves a lot of frustration and allows you to make everything nice and solid.

For power I used an old powerbank, those you use to charge your phone. Most power-banks use lithium cells that are a perfect 3.3 volts. And they are easy to charge as well. :)

Wiring

  • You need to connect some extra pins to VCC or GND if you use a bare ESP-12-f, google for this. :)
  • Connect D0 to vcc, to ensure the device goes into deep sleep. (connect to GND to disable deep sleep)
  • Connect the magnetic switch:
    • Connect one side of the magnetic switch to GND.
    • Connect the other side of switch it to the - side of a capacitor (4u7), with a 1 meg. resistor in parallel.
    • Connect those the the RST pin.

This will wake up the ESPEasy from deep sleep when the magnetic switch is closed.

An awesome "schematic" of the switch-part:

[ GND ] --- [ magnetic switch ] -----+- [ 4u7 capicitor ] --+-- [ ESP8266 RST pin ] 
                                     |                      |
                                     ---[ 1M resistor   ] ---

The capacitor will make sure it doesnt stay in reset-mode if the switch closed for a longer time.

ESPEasy settings

  • Enable deep sleep with a sleep time of 0 seconds. (this way it only wakes up manually by the switch)
  • Enable Sleep on connection failure
  • Set message delay to 0.
  • Add an email notification.
  • Enable rules.
  • Create a rule that mails you on system boot, like this:
on System#Boot do 
 notify 1
endon
  • Consider compiling ESPEasy with FEATURE_ADC_VCC. (enable it in ESPEasy.ino) This way you can add a sysinfo task that sends the battery level to your homecontroller, every time it wakes up.

Email Notification

ESPEasy can’t send Emails using popular providers like Gmail.com or Yahoo.com…

… because most of common Email service providers stopped support for non-secure SMTP (w/o SSL) around 2014 but the Email-Notification inside ESPEasy does not support SSL due to limited resources. [1]

Unless you have an own mailserver inside your local network you should
CREATE a special Email account for ESPeasy without SSL
at one of the rare Email providers still offering SMTP with no or optional SSL (e.g. SMTP2go.com, smart-mail.de).

Otherwise you won’t be able to use the Email-Notification from ESPEasy at all!

Afterwards you can add a new Notification in the Web-configuration of ESPEasy as follows:

Contend Example 1 Example 2 Description
Notification: Email (SMTP) Type of notification
Domain: smtp2go.com smart-mail.de Web address of Email service provider
Server: mail.smtp2go.com smtp.smart-mail.de full server name to deliver Email via SMTP
Port: 25 SMTP-Connection port is traditionally same
Sender: ESP123@smtp2go.com ESP123@smart-mail.de full Email address for the device to be used
Password: 2S€cr€t4you 2S€cr€t4me Password to access devices Email account
Receiver: JohnDoe@gmail.com Who should get the Email?
Subject: Message from your ESPEasy Topic in Email headline (fixed)
Body: Could be left empty and defined with command
Enable <hook> Needs to be activated

Now you can use the command e.g. like:

  • Notify 1
  • Notify 1, This_is_an_automatic_generated_message

The Syntax is:

  • Notify <no of notification in list>, [message_in_the_body]

Might-be-useful rule example:

On Time#Initialized do //connected to WiFi & TimeServer
  notify 1, Connected_After_Reboot //Send Email
endon

Hints:

  • Pay attention what position the Email Notification has got in your list of all notifications and use it with “notify <position>”
  • If you add an [optional] text for the body avoid special characters or space (you might use “_” instead)
  • If you need to differ between subjects you could create (almost same) Notifications for each
  • Hope that the Email provider of your choice doesn’t stop providing SMTP w/o SSL