Phân loại thiết bị mẫu
8 nhóm nghiệp vụ chuẩn (bán hàng, IoT độc lập, trung tâm, drone…).
Dùng token quản trị (X-Admin-Token). Lấy token trong tab Token Admin. Static Admin mở từ host khác Hub: thêm ?hub=https://ten-hub (không kèm /api).
Health: —
Brokers: — (OK: —)
Users: —
Rooms: —
Chọn preset để tự điền host, port, path mặc định. Có thể chỉnh sửa sau. Custom = nhập thủ công.
Thông tin kết nối từ Dashboard của nhà cung cấp
TLS MQTT URL: —
TLS WebSocket URL: —
Thông tin từ HiveMQ Cloud → Cluster Info
Tài khoản từ HiveMQ Cloud → Access Management → Credentials
Chọn loại test theo protocol. Mặc định dùng cài đặt trong tab Cài đặt (mqtt/ws = HTTP, mqtts/wss = SSL).
| Tên | Host | Type | Status | Quota | Test | Sửa / Xóa |
|---|
Chọn broker chính (primary) và broker dự phòng (backup). Thứ tự ưu tiên khi cấp phát.
primary = chính, backup = dự phòng, both = vừa chính vừa backup. Sửa trong tab MQTT Brokers.
| Tên | Host | Type | Status | Đặt type |
|---|
| UserId | Tên | Nhóm | Công ty | Thao tác |
|---|
| Tên | Token | Hết hạn | Thao tác |
|---|
| ID | Tên | Quyền | Thành viên | Thao tác |
|---|
| ID | Tên | Thao tác |
|---|
Seat tạo khi POS gọi POST /api/license/activate; online theo POST /api/license/ping và cùng ngưỡng presence với Chat (presenceStaleMs). Hai máy cùng license vượt max seat → hiện cả hai dòng, cột cảnh báo đánh dấu bản nghi sao chép (kích hoạt sau).
Giới hạn seat / ghi chú trước khi POS kích hoạt. Có thể bỏ qua — POS kích hoạt sẽ tự tạo bản ghi với max seat mặc định.
Chặn: từ chối activate/ping mới cho license đó. Thu hồi seat riêng từng máy ở bảng dưới. Sửa max seat / ghi chú: dùng form phía trên rồi Lưu registry (nhập đúng License ID).
| License ID | Max seat | Ghi chú | Cấp phép | Thao tác nhanh |
|---|
| Online | License | Chính sách | Duyệt server | Thiết bị / MAC | Hash | ĐK xong | Cảnh báo | Thu hồi | activationId | Thao tác |
|---|
Token dùng cho X-Admin-Token khi gọi API. Tạo token mới để phân quyền.
| Token | Tên | Role | Trạng thái | Thao tác |
|---|
Một số broker chỉ hỗ trợ HTTP (mqtt/ws). Chọn protocol dùng khi kiểm tra và test. mqtt/ws = không SSL, mqtts/wss = SSL, all = thử tất cả.
Một cấu hình Hub: client gọi GET /api/chat/heartbeat-config để lấy chu kỳ và ngưỡng. POS (mpos2.pi) và Chat app dùng cùng endpoint POST …/api/chat/heartbeat với CHATMQ_API_BASE_URL.
Khi bật: Hub kết nối broker (user/pass broker trong tab Brokers) và subscribe chat/#, room/# cùng các mục trong danh sách topic bên dưới. Mỗi khi có publish, cập nhật /api/chat/presence theo lưu lượng MQTT (device, visitor, inbox chat/userId). Cần ACL broker cho phép tài khoản đó subscribe wildcard. HTTP heartbeat vẫn dùng được song song.
Broker phụ lưu thông tin backup; chia tải khi primary quá ngưỡng.
Sao lưu và khôi phục: user, nhóm, công ty, cấu hình, token, broker, bulletin... Lưu trong data/backup/.
Chọn file backup trên server để ghi đè dữ liệu hiện tại. Sau khi restore cần khởi động lại server.
Chọn file backup-*.json đã tải về hoặc copy từ máy khác — nội dung được gửi lên API rồi restore (không lưu vào danh sách server trừ khi bạn tạo backup mới sau đó).
Device đăng nhập bằng token. Dùng nút Xem/Copy để lấy token cho test-device.html.
Chat (tab Device) chỉ nhận room thiết bị nếu user là chủ hoặc có trong sharedUserIds trên bản ghi device. Lưu qua API PUT /api/admin/devices/:deviceId (body JSON { "sharedUserIds": ["userA", "userB"] }) — Hub sẽ đồng bộ memberIds room device_*.
| Device ID | User | Tên | Platform | Hub presence | Token / Thao tác |
|---|
KBChatMQ · Device control library
Phân loại mô tả nhóm nghiệp vụ; sản phẩm mẫu là deviceType có thể triển khai (không phải thiết bị vật lý). Template user chỉ là bố cục UI ghép từ khối chức năng; hệ lớn / POS / drone gợi ý thêm kênh Chat (chatbot) khi systemChat.
8 nhóm nghiệp vụ chuẩn (bán hàng, IoT độc lập, trung tâm, drone…).
Mỗi dòng: id dùng trong Chat · cờ dựng nhanh / +Chat. Cuộn để xem hết.
Ghi data/device-control-catalog.json. Quyền manage_devices_all.
Sửa trên bản làm việc (RAM), rồi Đưa vào ô JSON và Lưu server. Danh sách template mẫu (CRUD) luôn hiện dưới các tab — không phụ thuộc tab đang mở. Nút có thể kèm nhiều ô nhập — định nghĩa mảng params. Đồng bộ từ JSON nếu bạn sửa tay ô lớn.
sampleTemplatesCRUD trên bộ nhớ làm việc (giống bảng module / chức năng). Sửa hoặc đổi ô chọn → mở tab «Template mẫu — kéo thả» và nạp vào khối biên tập bên dưới.
| # | id | Tên | deviceType | Widgets |
|---|
| id | Nhãn | widget.type |
|---|
| id | label | MQTT | params |
|---|
Đồng bộ với Chat: tải bố cục member đã đăng, chỉnh trong studio (kéo thả), rồi Đưa vào ô JSON + Lưu server để làm giàu sampleTemplates. Mẫu đang sửa có thể đăng ngược lên kho layout (API admin — không cần mật khẩu user).
Nạp từ danh sách phía trên (bấm Sửa) hoặc chọn trực tiếp. Sau đó chỉnh tên / id / lưới và Lưu mẫu → ô JSON.
Kéo chip từ thư viện vào lưới 8 cột (như Cài đặt thiết bị trong Chat). Click ô để sửa nhãn / hàng cột. Chuột phải: đổi rộng, nhân bản. Nút «Lưu mẫu» đẩy vào ô JSON catalog.
Kéo vào khung bên phải →
Đây chỉ là bố cục giao diện (widgets + deviceType tham chiếu một dạng trong catalog) — không trỏ thẳng tới một thiết bị cụ thể; khi user áp dụng trong Chat thì mới gắn với deviceId. Thành phần cấu thành lấy từ chức năng / palette trong catalog. Mỗi user thường tối đa 2 template khi tự tạo trong Chat; admin có thể tạo thêm. User phải tồn tại.
| Template ID | User | Tên | deviceType | Widgets | Cập nhật |
|---|
Bấm «Sửa» ở bảng để nạp vào form dưới.
Visitor đăng nhập bằng token (không cần password). User phải tồn tại. Dùng nút Xem để copy token.
| Website ID | User | Tên | Domain | Token | Thao tác |
|---|
Đăng nhập user/pass → Hub cấp JWT (2 phút). Client dùng username=clientId, password=JWT để kết nối. User cần có mật khẩu (mục User).
—
Chạy các bài test theo giao thức JWT: Login → MQTT connect → Hub room chat (plain JSON).
| Room ID | Creator | Members |
|---|
Xem bảng tin user, rooms và gói publish/receive từ client (chat gửi lên khi gửi/nhận tin).
Lưới 8 cột. Cùng hàng + cột khác → xếp cạnh nhau.
Lưới 8 cột (đồng bộ với studio mẫu / Chat).