Widgets Library

Mở đầu #

Tất cả các IoT Dashboards đều được tạo ra bằng Widgets trong Thư viện Widgets của ThingsBoard.

Widget là một phần tử giao diện giúp hiển thị một loại thông tin hoặc chức năng cụ thể trên Dashboard.

Công dụng của Widgets

  1. Hiển thị dữ liệu và trực quan hóa thông tin từ các thiết bị được kết nối với ThingsBoard.
  2. Điều khiển thiết bị từ xa.
  3. Quản lý cảnh báo (Alarms Management).
  4. Hiển thị nội dung HTML tùy chỉnh (Custom HTML Content).

Các loại Widget trong ThingsBoard #

Dựa vào chức năng, mỗi Widget trong ThingsBoard thuộc một trong năm loại sau:

  1. Latest values – Hiển thị giá trị mới nhất từ thiết bị.
  2. Time series – Hiển thị dữ liệu theo chuỗi thời gian.
  3. Control widget – Dùng để điều khiển thiết bị từ xa.
  4. Alarm widget – Quản lý và hiển thị cảnh báo.
  5. Static widget – Hiển thị nội dung tĩnh hoặc tùy chỉnh.
Widgets Library trong Core IoT

Tùy thuộc vào loại Widget, các nguồn dữ liệu có thể khác nhau:

– Alarm source – Dùng trong Alarm widgets, cần có source entity để hiển thị danh sách cảnh báo và các trường liên quan.

– Alarms count – Dùng trong Latest values widgets, cần chỉ định target entity để hiển thị số lượng cảnh báo.

– Device – Dùng trong Time-series widgetsLatest values widgets, yêu cầu chỉ định thiết bị, time series key, attribute name, hoặc entity field.

– Entities count – Dùng trong Latest values widgets, cần chỉ định target entity.

– Entity – Dùng trong Time-series widgetsLatest values widgets, yêu cầu chỉ định entity alias, time series key, attribute name.

– Function – Dùng trong Time-series widgetsLatest values widgets để kiểm tra và mô phỏng dữ liệu bằng JavaScript function.

Latest values widget #

Latest values widget được thiết kế để hiển thị giá trị mới nhất của một thuộc tính (attribute) hoặc dữ liệu chuỗi thời gian (time series) từ một thực thể (entity).

Ứng dụng:

– Hiển thị thông tin theo thời gian thực, ví dụ như nhiệt độ hiện tại, trạng thái thiết bị, mức pin, v.v.

– Thường được sử dụng trong Gauge Widget, Entities Table Widget, hoặc các bảng số liệu.

Nguồn dữ liệu: Lấy dữ liệu từ entity attributes hoặc time series data points

Ví dụ: Digital Gauge có thể hiển thị giá trị nhiệt độ hiện tại của một thiết bị IoT.

Widgets Library trong Core IoT

Time series widget #

Time series widget dùng để hiển thị dữ liệu lịch sử trong một khoảng thời gian cụ thể hoặc giá trị mới nhất trong một cửa sổ thời gian nhất định.

Ứng dụng:

– Dùng để giám sát dữ liệu theo thời gian, ví dụ: biểu đồ nhiệt độ, tốc độ, mức tiêu thụ năng lượng theo thời gian.

– Các dạng biểu đồ phổ biến: Timeseries Line Chart, Timeseries Bar Chart, v.v.

Nguồn dữ liệu: Chỉ sử dụng time series data từ thiết bị hoặc thực thể.

Thiết lập thời gian (Time window settings):

– Realtime: Cửa sổ thời gian động, cập nhật liên tục dữ liệu mới nhất trong khoảng thời gian gần đây.

– History: Cửa sổ thời gian cố định, hiển thị dữ liệu trong một khoảng thời gian quá khứ cụ thể.

Ví dụ: Timeseries Line Chart có thể hiển thị giá trị tốc độ của thiết bị theo thời gian thực.

Widgets Library trong Core IoT

Control widget #

Control widget cho phép gửi lệnh điều khiển từ xa (RPC commands) đến thiết bị, đồng thời xử lý và hiển thị phản hồi từ thiết bị.

Ứng dụng:

– Điều khiển thiết bị từ xa, ví dụ: bật/tắt đèn, điều khiển động cơ, giám sát trạng thái cảm biến.

– Thường được dùng với Raspberry Pi, ESP32, PLCs và các thiết bị IoT khác.

Cấu hình:

– Chỉ định thiết bị mục tiêu để gửi lệnh RPC.

– Định nghĩa các hành động điều khiển, ví dụ: bật/tắt GPIO, thay đổi tốc độ quạt, đặt nhiệt độ mong muốn.

Ví dụ: Basic GPIO Control widget gửi lệnh bật/tắt GPIO và hiển thị trạng thái hiện tại của GPIO trên Raspberry Pi.

Widgets Library trong Core IoT

Alarm Widget #

Alarm Widget hiển thị các cảnh báo liên quan đến một thực thể (entity) trong một khoảng thời gian xác định.

Ứng dụng:

– Theo dõi sự cố trên thiết bị IoT (quá nhiệt, mất kết nối, lỗi cảm biến…).

– Hiển thị danh sách cảnh báo theo thời gian thực hoặc lịch sử.

– Quản lý mức độ nghiêm trọng của cảnh báo.

Cấu hình:

– Chọn thực thể nguồn cảnh báo (ví dụ: thiết bị, cảm biến, máy móc…).

– Định nghĩa các trường dữ liệu cảnh báo (thời gian, loại cảnh báo, trạng thái…).

– Thiết lập thời gian hiển thị cảnh báo (theo thời gian thực hoặc lịch sử).

Các tham số chính:

– Alarm status: Trạng thái của cảnh báo (mới, đang xử lý, đã giải quyết…).

– Alarm severity: Mức độ nghiêm trọng (thấp, trung bình, cao, nghiêm trọng).

– Alarm type: Phân loại cảnh báo (ví dụ: HighTemperature, LowHumidity).

Ví dụ: Widget “Alarms Table” hiển thị danh sách cảnh báo mới nhất cho một thiết bị trong thời gian thực.

Widgets Library trong Core IoT

Static Widget #

Static Widget dùng để hiển thị nội dung HTML tùy chỉnh, không phụ thuộc vào dữ liệu từ thiết bị hay nguồn bên ngoài.

Ứng dụng:

– Tạo bảng điều khiển chứa thông tin tĩnh.

– Hiển thị tiêu đề, hướng dẫn sử dụng, hoặc hình ảnh.

– Trang trí giao diện bằng HTML/CSS.

Cấu hình:

– Nhập nội dung HTML tĩnh.

– Thêm CSS để tùy chỉnh giao diện.

Ví dụ: Widget “HTML Card” hiển thị nội dung HTML như tiêu đề, hình ảnh, hoặc mô tả sản phẩm.

Widgets Library trong Core IoT

Widgets Library (Bundles) #

Widgets được nhóm thành widget bundles dựa theo chức năng của chúng. Một số widgets có thể thuộc nhiều nhóm khác nhau.

Hệ thống Widget Bundles:

– System-level bundles: Được quản lý bởi System Administrator, có sẵn cho tất cả các tenant.

– Tenant-level bundles: Được quản lý bởi Tenant Administrator, chỉ tenant đó và khách hàng của họ có thể sử dụng.

Ví dụ:
“Alarm Count Widget” có thể thuộc cả nhóm Alarm WidgetsCount Widgets.

Dùng chức năng Search để tìm widget nhanh chóng. Bạn cũng có thể tự phát triển và thêm widgets theo hướng dẫn của ThingsBoard.

Widgets Library trong Core IoT
Widgets Library trong Core IoT

Bạn có thể tìm widget theo tên trong tab “Widgets”, nơi hiển thị tất cả các widget theo thứ tự bảng chữ cái để dễ dàng tìm kiếm.

Air Quality #

Gói widget này bao gồm các widget dùng để hiển thị dữ liệu chất lượng không khí.

Widgets Library trong Core IoT

Alarm Widgets #

Gói widget này giúp hiển thị cảnh báo cho các thực thể, hỗ trợ cả chế độ thời gian thực và lịch sử.

Widgets Library trong Core IoT

Analog Gauges #

Hiển thị nhiệt độ, độ ẩm, tốc độ và các giá trị số khác.

Widgets Library trong Core IoT

Cards #

Hiển thị dữ liệu chuỗi thời gian hoặc thuộc tính dưới dạng bảng hoặc thẻ.

Widgets Library trong Core IoT

Charts #

Hiển thị dữ liệu thời gian thực hoặc lịch sử với cửa sổ thời gian.

Widgets Library trong Core IoT

Control Widgets #

Hiển thị trạng thái hiện tại và gửi lệnh RPC đến thiết bị.

Widgets Library trong Core IoT

Count Widgets #

Đếm và hiển thị số lượng cảnh báo, thực thể theo bộ lọc.

Widgets Library trong Core IoT

Date #

Thay đổi phạm vi dữ liệu cho các widget khác trên dashboard.

Widgets Library trong Core IoT

Digital Gauges #

Hiển thị nhiệt độ, độ ẩm, tốc độ bằng đồng hồ số.

Widgets Library trong Core IoT

Edge Widgets #

Tổng quan về các thực thể liên quan đến ThingsBoard Edge.

Widgets Library trong Core IoT

Entity Admin Widgets #

Quản lý thiết bị, tài sản (tạo/sửa/xóa danh sách).

Widgets Library trong Core IoT

Entity Widgets #

Hiển thị danh sách thực thể, đếm số lượng và quan hệ giữa chúng.

Widgets Library trong Core IoT

Files #

Chỉ có sẵn trong ThingsBoard PEPaaS.Hiển thị danh sách tệp/PDF, cho phép tải xuống và xóa.

Widgets Library trong Core IoT

Gateway Widgets #

Quản lý các tiện ích mở rộng của gateway.

Widgets Library trong Core IoT

SCADA Symbols #

Biểu tượng SCADA hiệu suất cao.

Widgets Library trong Core IoT

GPIO Widgets #

Hiển thị và điều khiển trạng thái GPIO của thiết bị.

Widgets Library trong Core IoT

SCADA Fluid System #

Biểu tượng SCADA cho hệ thống chất lỏng.

Widgets Library trong Core IoT

Home Page Widgets #

Tùy chỉnh trang chủ, hiển thị liên kết nhanh và thống kê.

Widgets Library trong Core IoT

HTML Widgets #

Nhúng mã HTML tùy chỉnh hoặc hiển thị HTML có dữ liệu động.

Widgets Library trong Core IoT

Indoor Environment #

Hiển thị dữ liệu môi trường trong nhà.

Widgets Library trong Core IoT

Input Widgets #

Chỉnh sửa thuộc tính của thực thể.

Widgets Library trong Core IoT

Liquid Level #

Hiển thị mức chất lỏng trong bể chứa.

Widgets Library trong Core IoT

Maps #

Hiển thị vị trí địa lý và theo dõi lộ trình thiết bị.

Widgets Library trong Core IoT

Navigation Widgets #

Xác định dashboard chính của người dùng.

Widgets Library trong Core IoT

Outdoor Environment #

Hiển thị dữ liệu môi trường ngoài trời.

Widgets Library trong Core IoT

SCADA Symbols #

Tải biểu tượng SVG lên SCADA dashboard.

Widgets Library trong Core IoT

Scheduling: Widgets  #

Chỉ có sẵn trong ThingsBoard PEPaaS. Lên lịch sự kiện với cấu hình linh hoạt.

Widgets Library trong Core IoT

Status Indicators #

Hiển thị pin, tín hiệu và thanh tiến trình.

Widgets Library trong Core IoT

Tables: Widgets #

Hiển thị danh sách thực thể, cảnh báo, dữ liệu chuỗi thời gian.

Widgets Library trong Core IoT

Traditional SCADA Fluid System #

Biểu tượng SCADA cho hệ thống chất lỏng truyền thống.

Widgets Library trong Core IoT

Operations with Widget #

Adding Widget (Thêm Widget) #

– Khi System Administrator thêm một widget mới, nó sẽ trở thành System Widget, chỉ quản trị viên hệ thống có quyền chỉnh sửa hoặc xóa.

– Tenant Administrator có thể tạo widget nhưng chỉ có thể chỉnh sửa những widget họ đã tạo.

– Bạn cũng có thể tự phát triển widget theo hướng dẫn.

Cách thêm Widget: #

– Đi đến Widgets Library từ menu chính. Nhấn biểu tượng “+” ở góc trên cùng bên phải, chọn “Create new widget”.

Widgets Library trong Core IoT

– Chọn loại widget trong cửa sổ bật lên.

Widgets Library trong Core IoT

– Nhập tên, dán mã JavaScript của widget vào hộp thoại, sau đó nhấn “Save”.

Widgets Library trong Core IoT

– Hoàn tất – Widget mới đã được tạo.

Exporting Widget (Xuất Widget) #

Bạn có thể xuất một loại widget từ widget bundle dưới dạng JSON và nhập lại vào cùng hoặc một ThingsBoard instance khác.

Cách xuất Widget: #

– Vào Widgets Library, chọn tab “Widgets”. Tìm widget cần xuất, nhấn nút export trên thẻ widget.

Widgets Library trong Core IoT

– File cấu hình widget sẽ được lưu dưới dạng JSON trên máy tính.

Importing Widget (Nhập Widget) #

Lưu ý: Chỉ quản trị viên hệ thống mới có thể chỉnh sửa, xóa, thêm hoặc nhập widget mặc định. Tuy nhiên, tenant có thể tạo và quản lý các widget riêng của họ.

Cách nhập Widget: #

– Vào trang “Widgets”, nhấn nút “+” góc trên bên phải. Chọn “Import widgets type” từ menu thả xuống.

Widgets Library trong Core IoT

– Kéo thả hoặc chọn file JSON từ máy tính. Nhấn “Import” để hoàn tất.

Widgets Library trong Core IoT

Deleting Widget (Xóa Widget) #

Quản trị viên hệ thống hoặc quản trị viên tenant có quyền xóa widget.

Cách xóa Widget: #

Cách 1:

– Nhấn vào biểu tượng “Thùng rác” trong hàng của widget muốn xóa.

Widgets Library trong Core IoT

– Xác nhận xóa trong hộp thoại xuất hiện.

Widgets Library trong Core IoT

Cách 2:

– Nhấn vào biểu tượng “Bút chì” để mở chi tiết widget.

Widgets Library trong Core IoT

– Nhấn “Delete widget”.

Widgets Library trong Core IoT

– Xác nhận xóa trong hộp thoại xuất hiện.

Widgets Library trong Core IoT

Operations with Widgets Bundle #

Adding Widgets Bundle (Thêm Widgets Bundle) #

Đi đến trang “Widgets bundle” từ menu chính. Nhấn “+” ở góc phải trên cùng. Chọn “Create new widgets bundle”.

Widgets Library trong Core IoT


Nhập tên bundle (có thể thêm ảnh và mô tả tùy chọn) → Nhấn “Add”.

Widgets Library trong Core IoT

Thêm widget có sẵn: Nhấn “+ Add existing widget”, chọn widget từ danh sách.

– Tạo hoặc nhập widget mới: Nhấn “+”, chọn “Create” hoặc “Import”.

Widgets Library trong Core IoT

 – Nhấn “Save” để hoàn tất.

Widgets Library trong Core IoT
Widgets Library trong Core IoT

Lưu ý: Danh sách Widgets Bundle được sắp xếp theo thứ tự bảng chữ cái, hãy kiểm tra các trang khác nếu chưa thấy bundle vừa tạo!

Exporting Widgets Bundle (Xuất Widgets Bundle) #

Bạn có thể xuất một Widgets Bundle dưới dạng JSON để sử dụng lại trên cùng hoặc khác ThingsBoard instance.

Cách thực hiện: #

– Nhấn vào nút Export trên hàng của bundle cần xuất.

Widgets Library trong Core IoT

– Trong cửa sổ pop-up, có thể chọn “Include bundle widget types in exported data” (nếu muốn xuất kèm loại widget).

Widgets Library trong Core IoT

– Nhấn “Export”, file JSON sẽ được tải về máy.

Lưu ý: File JSON này có thể được nhập vào hệ thống khác nếu cần!

Importing Widgets Bundle (Nhập Widgets Bundle) #

Bạn có thể nhập một Widgets Bundle từ file JSON để sử dụng trong ThingsBoard.

Cách thực hiện: #

– Trên trang Widgets Bundles, nhấn nút “+” ở góc phải. Chọn “Import widgets bundle” từ menu thả xuống.

Widgets Library trong Core IoT

– Trong cửa sổ pop-up, kéo và thả file JSON hoặc chọn từ máy tính.

Widgets Library trong Core IoT

– Nhấn “Import” để hoàn tất quá trình nhập.

Deleting Widgets Bundle (Xóa Widgets Bundle) #

Quản trị viên hệ thống hoặc quản trị viên tenant có thể xóa một Widgets Bundle bằng hai cách:

Cách 1: #

– Trên trang Widgets Bundles, tìm bundle cần xóa. Nhấn vào biểu tượng thùng rác bên cạnh tên bundle.

Widgets Library trong Core IoT

– Xác nhận xóa trong hộp thoại hiển thị.

Widgets Library trong Core IoT

Cách 2: #

– Nhấn vào biểu tượng chỉnh sửa để mở chi tiết bundle.

Widgets Library trong Core IoT

– Nhấn Delete widgets bundle.

Widgets Library trong Core IoT

– Xác nhận xóa trong hộp thoại hiển thị.

Widgets Library trong Core IoT