Difference between revisions of "EasyNotifications"

From Let's Control It
Jump to navigation Jump to search
(One intermediate revision by the same user not shown)
Line 91: Line 91:
 
|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" | Subject: || style="text-align:center" colspan="2" | Message from your ESPEasy || Topic in Email headline (fixed)
 
|-
 
|-
|style="border-right:medium solid" | User: || style="text-align:center" | ESP123@smtp2go.com || style="text-align:center" | ESP123@smart-mail.de ||Username to use to log in to the SMTP Server (normally same than E-Mail address for the device to be used)
+
|style="border-right:medium solid" | User: || style="text-align:center" | ESP123@smtp2go.com || style="text-align:center" | ESP123@smart-mail.de ||Username to use to log in to the SMTP Server (normally same than Senders E-Mail address for the device to be used)
 
|-
 
|-
|style="border-right:medium solid" | Pass: || 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" | Pass: || style="text-align:center" | 2S€cr€t4you || style="text-align:center" | 2S€cr€t4me || Password to use to log in to the SMTP Server (normally same than access Password for Senders Email account form web page)
 
|-
 
|-
 
|style="border-right:medium solid" | Body: || style="text-align:center" colspan="2" | Device is in duty since %uptime% minutes.|| Default text is send only if command "notify X" is called without optional text for the body
 
|style="border-right:medium solid" | Body: || style="text-align:center" colspan="2" | Device is in duty since %uptime% minutes.|| Default text is send only if command "notify X" is called without optional text for the body
Line 100: Line 100:
 
|}
 
|}
  
Now you can use the command e.g. like:  
+
Now you can use the command e.g. like:
Notify 1
+
  Notify 1, Hello world!
  Notify 1, This_is_an_automatic_generated_message
 
  
 
The general syntax is:  
 
The general syntax is:  
Line 108: Line 107:
 
Where <position> is the No. of notification 1...3 in the list of all Notifications and [message_in_the_body] the optional text to replace the default text from "Body:" in Notification Settings.
 
Where <position> is the No. of notification 1...3 in the list of all Notifications and [message_in_the_body] the optional text to replace the default text from "Body:" in Notification Settings.
  
Might-be-useful rule example:
+
Might-be-useful rule example (NTC enabled):
 
  On Time#Initialized do //connected to WiFi & TimeServer
 
  On Time#Initialized do //connected to WiFi & TimeServer
   notify 1, Connected_After_Reboot //Send Email
+
   notify 1, Connected_After_Reboot_to_%ssid% //Send Email
 
  endon
 
  endon
  

Revision as of 22:57, 8 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 inside the Web-configuration of ESPEasy from the menu select item "Notifications" and choose one table row (in this example No.1) to "Edit" with the following Notification Settings:

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
Receiver: JohnDoe@gmail.com Who should get the Email?
Subject: Message from your ESPEasy Topic in Email headline (fixed)
User: ESP123@smtp2go.com ESP123@smart-mail.de Username to use to log in to the SMTP Server (normally same than Senders E-Mail address for the device to be used)
Pass: 2S€cr€t4you 2S€cr€t4me Password to use to log in to the SMTP Server (normally same than access Password for Senders Email account form web page)
Body: Device is in duty since %uptime% minutes. Default text is send only if command "notify X" is called without optional text for the body
Enabled <hook> Needs to be active

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

Notify 1, Hello world!

The general syntax is:

Notify <position>, [message_in_the_body]

Where <position> is the No. of notification 1...3 in the list of all Notifications and [message_in_the_body] the optional text to replace the default text from "Body:" in Notification Settings.

Might-be-useful rule example (NTC enabled):

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

Some more hints:

  • In [optional] text for the body message avoid special characters or space (you might use “_” instead).
  • The "Unit Name" from "Main Settings" (if defined) is used as Email Sender Name (usually displayed to Receiver with Email address).
  • If you need to differ between subjects you could create (almost same) Notifications for each subject.
  • If you don't geht out any E-Mail check if your Internet router is configured to enable Port 25
  • If you still have problems chek if you have checked the check box labeled "Enabled" inside Notifications Settings.
  • Hope that the Email provider of your choice doesn’t stop providing SMTP w/o SSL.