LogoLogo
GitHubBlynk WebsiteLogin to Blynk.Console
  • Introduction
  • Getting Started
    • Supported Hardware
    • Quickstart
      • Next Steps After Quickstart
      • Quickstart Device: Code Overview
      • Troubleshooting
    • Device Activation Methods
      • Manual Device Activation
      • WiFi provisioning
      • Static Token
    • Template Quick Setup
      • Set Up Datastreams
      • Set Up Web Dashboard
      • Set Up Mobile App Dashboard
      • Prepare Your Code
      • Test your Template
    • Send Data From Hardware To Blynk
    • Control Devices (GPIOs and beyond)
    • Events
    • Notifications (Alerts)
    • Sign Up / Sign In
  • General Concepts
    • Developer Mode
    • Device
    • Device Template
    • Connection Lifecycle
      • Disconnections And Heartbeat
    • Users
      • Multi-tenancy
    • Organizations
    • Automations
      • Forward Device Data
  • Message Usage
  • Integration Guides
    • Node-RED
    • The Things Stack
      • Getting Started
      • Device Grouping
      • Automated Device Onboarding
      • System DataStreams
    • Blues
    • NCD Industrial Vibration Sensor
    • Particle - monitor with Blynk
    • Particle - control with Blynk
    • AWS IoT Core
  • Myriota
  • OpenWeather
  • Blynk.Console
    • Overview
    • Dashboards
    • Devices
      • Device profile
        • Dashboard
        • Device Info & Metadata
        • Notifications & Events
        • Developer tools
          • General
          • Datastreams
          • Testing
          • Actions Log
      • Actions with devices
      • Segments
      • Filters
      • Notifications Settings
      • Device Sharing
    • Locations
      • Location Profile
      • Assigning Devices to the Locations
    • Organizations
      • Create a Sub-Organization
      • Working with Sub-Organizations
    • Users
      • User Profile
    • Device Templates
      • Working With Templates
      • Info
        • Offline Ignore Period
        • Manufacturer
        • Template ID
        • Categories
        • Hotspot Prefix
      • Datastreams
        • Datastream Settings
          • Name
          • Alias
          • Virtual Pin
          • Color
          • Data Type
          • Min Value
          • Max Value
          • Default Value
          • Save RAW Data
          • Invalidate Value
          • Wait for confirmation from device
          • Sync with latest server value every time device connects to the cloud
          • Expose to Voice Assistants
        • Virtual Pin
        • Location
        • Enumerable
      • Web Dashboard
        • Multiple Dashboard Tabs
      • Metadata
        • Metadata Tutorial
      • Connection Lifecycle
      • Events
        • Custom Events
          • Event Settings
          • How to Send/Log Events
          • Content Events
        • Notifications Settings
          • Custom Sounds and Critical Notifications
      • User Guides
      • Assets
    • Widgets (Console)
      • Switch
      • Slider
      • Number Input
      • Image Button
      • Web Page Image Button
      • LED
      • Label
      • Gauge
      • Chart
      • Map
      • Image Gallery
      • Custom Chart
      • Heatmap Chart
      • Video
      • Terminal
      • Segmented Switch
      • Alarm & Sound Widget
      • Modules
    • Blynk.Air
      • Shipment Details
      • Shipment Management
        • New Shipping
      • Device shipment statuses
      • User-Controlled Shipments
    • Settings
      • Organization Settings
        • General
        • Users
        • Locations (Job Site or Facilities)
        • Tags
      • Roles and Permissions
      • Developers
        • OAuth2
        • Webhooks
        • Create New Webhook
      • Integrations
    • User Profile Menu
    • Limits
  • Blynk.Apps
    • Overview
    • Mobile Dashboard Editor
    • Device Header Constructor
      • Header Design
      • Header Mini Widgets
        • Connection Status Widget
        • Last Reported Widget
        • Tabs Widget
        • Datastream Value Widget
        • Image Widget
        • Battery Level Widget
        • Signal Level Widget
        • Tags Widget
      • Header Buttons
    • Pages
    • Widgets (app)
      • Common Widget Settings
      • List of Datastreams types supported by Widgets
    • Widgets Controllers
      • Button
      • Styled Button
      • Icon Button
      • Image Button
      • Slider
      • Vertical Slider
      • Step Slider
      • Vertical Step Slider
      • Joystick
      • zeRGBa
      • RGB Light Control
      • Step H
      • Step V
      • Slope Control
      • Switch
      • Level Slider
      • Level Slider with Switch
    • Widgets Displays
      • Value Display
      • Labeled Value
      • LED
      • Gauge
      • Radial Gauge
      • Enhanced Gauge
      • LCD
      • Simple Chart
      • SuperChart
      • Terminal
      • Video Stream
      • Level H
      • Level V
      • Image Gallery
      • Gradient Ramp
      • Icon
      • Image Animation
      • Lottie Animation
    • Widgets Interface
      • Tabs
      • Menu
      • Map
      • Text Input
      • Numeric Input
      • Time input
      • Segmented Switch
      • Icon Segmented Switch
      • Text
      • Formatted Text
      • Dynamic Spacer
    • Widgets Other
      • Music Player
      • WebPage Button
      • WebPage Image Button
      • Alias Name
    • Main Menu
      • My Profile
      • Organization
      • Settings
      • Help
      • About
      • Log Out
    • Devices
      • Add New Device
    • Automations
    • Notifications & Events
  • Blynk.Edgent
    • Blynk.Edgent overview
    • Blynk.Inject and Blynk.Air
    • OTA: Firmware Over-The-Air updates
  • Blynk.NCP
    • Blynk.NCP overview
    • Supported Connectivity Modules
    • OTA: Firmware Over-The-Air updates
  • Blynk Library - firmware API
    • Installation
      • Install Blynk Library in Arduino IDE
      • Install Blynk Library for Platformio.org
      • Install ESP8266 core for Arduino IDE
    • Configuration
    • Connection Management
    • Device Online/Offline Status
    • Digital/Analog Pins
    • Virtual Pins
    • Widget Properties
    • State Syncing
    • Timers
    • Time (RTC clock)
    • Timezone / Location
    • Log Event
    • Metadata
    • Debug
    • Reboot
    • Over-The-Air Firmware Updates (OTA)
    • Other
    • Limitations and Recommendations
    • Blynk Protocol
  • BLYNK.CLOUD MQTT API
    • Device MQTT API
      • Authentication
      • Topic Structure
      • Datastreams
      • Widget Properties
      • Events
      • Metadata
      • Timezone/Location
      • OTA
      • Miscelaneous
  • BLYNK.CLOUD HTTPS API
    • Device HTTPS API
      • Get Datastream Value
      • Get Multiple Datastream Values
      • Get Historical Data From Device
      • Update Datastream Value
      • Update Multiple Datastreams Simultaneously
      • Upload a Set of Timestamped Data
      • Update Widget/Datastream Property
      • Send/Log An Event
      • Get Device Metadata Value
      • Update Device Metadata Value
      • Is Device Connected
      • Upload a File
      • HTTPS API Troubleshooting
    • Platform API
      • Authentication
      • Ogranization API
        • Get Own Organization Info
        • Get Organization Info
        • Search Organizations
        • Create Organization
        • Get Static Tokens
        • Get Organization Tags
        • Get Organization Automations
      • Devices API
        • Get All Devices
        • Search Devices
        • Get Devices by Owner Email
        • Get Devices in user organization
        • Get Recently Activated Devices
        • Get Device Info
        • Get Connection Status
        • Create Device
        • Edit Device
        • Get Datastream Values
        • Update Datastream Value
        • Update Multiple Datastreams Values
        • Import Datastream Values
        • Update Datastream Property
        • Get Datastream Historical Data
        • Get Device Metadata
        • Update Device Metadata
        • Get Device Tags
        • Get Device Timeline Log
        • Log a Device Event
        • Get Actions Log
        • Erase All Data
        • Remove Device Owner
        • Transfer Device
        • Delete Device
      • Users API
        • Get All Users
        • Search Users
        • Create New User
        • Invite User
        • Get User Info
        • Update User Role
      • Templates API
        • Get All Templates
        • Get Template Info
        • Get Template Metadata
        • Get Template Datastreams
        • Get Template Events
    • Security
  • Downloads
    • Blynk Mobile Apps
    • Blynk Library
  • Troubleshooting
    • General Issues
    • Developer Mode
    • Changes from Blynk 0.1
      • Migrating to the new Blynk - Full Guide
    • Glossary
    • Links
  • Commercial Use
    • Deploying Products With Dynamic AuthTokens
    • Deploying Products With Static Tokens
    • Working With Clients
    • Supported topologies
    • Business Plan (White Label Solution)
      • App Publishing Process And Timeline
      • What's Needed To Publish Your Apps And Go Live
      • Branding Materials
      • Custom Email Address For Transactional Emails
      • Application Settings
        • General
        • Design
        • Mobile Apps
        • Sign Up
  • Add-Ons
    • Add-on list
    • Amazon Alexa
    • Google Assistant
    • Localization
    • Database Access
    • Marketing
Powered by GitBook
On this page
  • Types of Events
  • System Events
  • Custom Events
  • How to log an event in Blynk
  • 1. Create a Template or use an existing one
  • 2. Create a New Event
  • Send Events Using Firmware API
  • Send Events Using HTTPS API
  • 3. Sending Events
  • Use Blynk.logEvent() firmware API
  • Use HTTP REST API
  • 4. Checking if the Event was logged
  • Limitations

Was this helpful?

  1. Getting Started

Events

This tutorial will help you with creating Events in Device Templates

PreviousControl Devices (GPIOs and beyond)NextNotifications (Alerts)

Last updated 1 year ago

Was this helpful?

Events are used to track, log, and work with important events that happen on the device.

Events are also used for notifications which can be sent over email, delivered as push notifications to the user's smartphone, or sent as an SMS.

Events are pre-configured in Blynk.Console and can be triggered with a from the device or using .

Examples of an Event:

  • Log a moment when a temperature reaches a certain threshold and send a notification to selected users

  • Track the total working hours of the device. If it approaches or goes beyond a maximum value, you would need to notify technical support so that they can replace the device or provide warranty service

Types of Events

There are three types of Events in Blynk:

  • System Events: Default Blynk platform events, like "OTA Update"

  • Custom Events: Events you can create and configure for your needs

  • Content Events: Informative events that are shown separately in the app

System Events

You can't delete the system events or edit them.

Firmware Over-The-Air Update status

This is a system event to track firmware updates. It can't be configured.

Custom Events

These are Events you can configure based on what your device does. Read these articles to start logging events and sending notifications:

How to log an event in Blynk

2. Create a New Event

Go to Developer Zone -> My Templates -> Select a template -> Open the "Events & Notifications" tab.

  1. Click Edit Template

  2. Click + Create Event

  3. Name the first event with the name Hello

  4. Click Create (the event will appear in the Events tab list)

  5. Repeat the previous step for the second event with the name Error

  6. Click Save to save and apply the changes made (select Update active device this time)

Note that each event hasEVENT_CODE. This event code will be used in firmware API or HTTPS API

Send Events Using Firmware API

  1. Create a new Event named High temperature with code high_temp

  2. Use the Blynk.logEvent(event_code) firmware API command to trigger a new event:

if (temperature > 35)
{
   Blynk.logEvent("high_temp");
}

When this code works, an Event will be logged and the system will act accordingly to the Event setup (render on the timeline, send notifications, etc.)

The current limit is 100 events per device per day. This limit could be increased for business clients to fit their needs.

Custom Event Description

You can change the description of the event when it's rendered on the timeline in Blynk.Console and in Blynk.Apps. For example, you can include the current data

if (temperature > 35)
{
  Blynk.logEvent("event_code", String("High TemperatureDetected! Tº: ") + temp);
}

Send Events Using HTTPS API

To log an event via GET request:

`/external/api/logEvent?token={AuthToken}&code={event_code}

To add a custom description to the event, use this GET request

`/external/api/logEvent?token={AuthToken}&code={event_code}&description={event_description}

Example:

https://blynk.cloud/external/api/logEvent?token=GVki9IC70vb3IqvsV0YD3el4y0OpneL1&code=firmware_update&description=test

3. Sending Events

You can test the Event creation by sending it from Device using Blynk.Edgent firmware API, or with REST API.

Use Blynk.logEvent() firmware API

Blynk.logEvent("event_code", "optional message");

For this tutorial, you would need to use hello as a name. Here is a pseudo-code:

if (some_condition){
    Blynk.logEvent("hello");
}

Optionally, you can send a custom description of the event. This description will be rendered on Device Timeline.

if (some_condition){
    Blynk.logEvent("hello", "Hello World,") ;
}

Use HTTP REST API

  1. Navigate to the Device

  2. Click on its name

  3. Open the Device Info tab

  4. Find Auth Token there and click on the icon to copy it to the clipboard

Now make an HTTP request with the tools you use for that. Make sure to change the AuthToken to the one you copied in the previous step.

You can even use your browser for that. Just put it in the URL field and press Enter.

https://blynk.cloud/external/api/logEvent?token=AuthToken&code=hello

Repeat the same with code=error

https://blynk.cloud/external/api/logEvent?token=AuthToken&code=error

4. Checking if the Event was logged

You should see 2 events on the timeline! If you set up notifications, they should have been delivered as well.

Limitations

  • You can send only 100 events per device per day (Adjustable in Business Plan)

  • When the limit is reached you'll see the notification on the UI in the Device Timeline section

  • The maximum description length for the event is 300 characters

1. or use an existing one

Don't log an event too many times to avoid hitting daily limits. You can use timers or flags to mark the already-sent events. Check this on how to avoid spamming the server with events

Make sure you enabled in the Event Settings to see the result in the apps

First of all, check by going to Device -> Timeline tab

Event Settings
How to send custom events from hardware using Firmware API and HTTPS API
Content Events
Create a Template
article
Device Timeline
Timeline recording
Events Firmware API
Events HTTP API
Events list in the template
Device Info tab with Auth Token
Auth Token. Click copy Auth Token pictogram here
Device Timeline tab