Skip to content

Instantly share code, notes, and snippets.

View ajsb85's full-sized avatar
👨‍💻
Every day is a brand new day

Alexander Salas Bastidas ajsb85

👨‍💻
Every day is a brand new day
View GitHub Profile

The USP (User Services Platform) permission system is a critical component of the TR-369 specification, designed to provide robust and granular access control for managing connected devices. It's a complex interplay between the Controller and the Agent, leveraging various mechanisms to ensure security and compliance.

1. Overview of the USP Permission System

The USP permission system operates on the principle of least privilege, meaning that any entity (Controller) interacting with a USP Agent (the managed device) should only be granted the minimum necessary access rights to perform its intended function. This is vital in heterogeneous environments with multiple stakeholders (e.g., ISPs, IoT platforms, end-users) and diverse devices.

The system is characterized by a layered approach:

  • Controller-Side (Proactive Evaluation): The Controller is responsible for determining if its internal user (human or automated process) is authorized to initiate a specific USP operation. This acts as a first lin

Project Overview

The Broadband Forum’s Connected User (Broadband User Services) Work Area is actively developing WT-517: “MatterService Data Model for USP-enabled Devices.” This new data model will enable the Forum’s User Services Platform (USP, TR‑369) agents – typically in customer premises equipment like routers or gateways – to expose and manage devices that speak the CSA’s Matter smart‑home protocol. In practical terms, WT-517 will define a MatterService object in the USP data model, along with a Theory of Operations and design guide to “translate Matter concepts into USP concepts”. By embedding Matter support into the USP framework (TR‑181/Device:2 data model), broadband providers can manage all supported Matter devices via a single, standards‑driven cloud controller regardless of vendor.

Goals and Benefits

The key objective of WT-517 is to simplify and unify smart‑home management. Currently, Matter devices (TVs, speakers, thermostats, etc.) are controlled by phone apps or propriet

@ajsb85
ajsb85 / logica.md
Created January 8, 2025 21:46
¿Cómo leer la lógica?

Introducción

Una persona común mira esto y ve un desorden incomprensible. Un matemático lo mira y dice: "Bueno, sí, obviamente." Una persona común o un matemático que no quiere admitir que no lo comprende también se encogerá de hombros y dirá: "Bueno, sí, obviamente." Pero no quiero que seas una de esas personas. El problema es que la lógica simbólica, si no estás familiarizado con ella, puede ser realmente intimidante en la superficie. Pero te prometo que al final de este breve video, entenderás todo lo que está sucediendo aquí y estarás de acuerdo en que sí, esto es obviamente verdadero.

Descargo de Responsabilidad

Este video está pensado como una introducción a la lógica de primer orden para ayudar a los estudiantes que están aprendiendo esta materia por primera vez. Si es algo con lo que ya estás familiarizado, este video podría no ser para ti. O tal vez verás una perspectiva fresca, nuevas formas de pensar o nuevas formas de enseñar el material que nunca habías considerado antes. Probablemente no de

@ajsb85
ajsb85 / logic.md
Last active January 8, 2025 21:46
How to Read Logic

Introduction

A layperson looks at this and sees an incomprehensible mess. A mathematician looks at this and says, "Well, yeah, obviously." A layperson or mathematician who doesn't want to admit they don't comprehend this will also shrug and say, "Well, yeah, obviously." But I don't want you to be one of those people. The problem is that symbolic logic, if you're unfamiliar with it, can be really intimidating on the surface. But I promise you that at the end of this short video, you'll understand everything that's going on here and agree that yes, this is obviously true.

Disclaimer

This video is intended as a primer on first-order logic to help students who are learning this subject for the first time. If it's something that you're already familiar with, this might not be the video for you. Or maybe you'll see a fresh perspective, new ways of thinking about, or new ways to teach the material that you'd never considered before. I probably shouldn't discourage people from watching my own video, but I just w

@ajsb85
ajsb85 / README.md
Created December 19, 2024 18:49
GNOME Shell Extensions Installer

GNOME Shell Extensions Installer

This script automates the installation of several popular GNOME Shell extensions. It uses the gnome-shell-extension-installer utility to download and install extensions directly from the GNOME Extensions Website.

Features

The script installs the following extensions:

  • apps-menu: Adds a GNOME 2.x style menu on the panel.
  • auto-move-windows: Automatically assigns windows to specific workspaces.
@ajsb85
ajsb85 / README.md
Created December 19, 2024 18:20
GNOME Circle App Installer

GNOME Circle App Installer

This script automates the installation of GNOME Circle apps on Ubuntu systems. It attempts to install apps using snap, flatpak, and apt in a non-interactive manner.

Features

  • Installs GNOME Circle apps from snap, flatpak, and apt.
  • Prioritizes flathub for Flatpak installations.
  • Automatically tries the edge channel for missing Snaps (optional).
  • Detects and skips already installed apps.
@ajsb85
ajsb85 / name.md
Created December 12, 2024 14:44
My name in various writings
  • Arabic: الإسكندر
  • Hindi: अलेक्जेंडर
  • Chinese simplified: 亚历山大
  • Japanese: アレクサンダー (Arekusandā)
  • Korean: 알렉산더 (Allekseandeo)
  • Tamazight (Berber): ⴰⵍⴻⴽⵙⴰⵏⴷⴻⵔ (Aleksander)
  • Russian: Александр
  • Ancient Greek: Ἀλέξανδρος
  • Modern Greek: Αλέξανδρος
  • Ukrainian: Олександр
@ajsb85
ajsb85 / my_name.md
Last active December 12, 2024 14:42
My name in various writings
  • Ancient Greek: Ἀλέξανδρος
  • Modern Greek: Αλέξανδρος
  • Russian: Александр
  • Ukrainian: Олександр
  • Bulgarian: Александър
  • Serbian: Александар
  • Macedonian: Александар
  • Hebrew: אלכסנדר
  • Arabic: الإسكندر
  • Hindi: अलेक्जेंडर
@ajsb85
ajsb85 / philips_hue_firmware_api_notes.md
Created March 13, 2024 10:09 — forked from irwincong/philips_hue_firmware_api_notes.md
Finding the Philips Hue Firmware Download API

Philips Hue Firmware Download API discovery

Laste Update: Fri 05 Jun 2020 02:22:05 PM UTC

Easy Way

With hardware, you could intercept traffic.

Hard(er) Way

  1. Download APK
#include <stdio.h>
#include <time.h>
#include <sys/time.h>
#include <unistd.h>
#include <assert.h>
static void set_time(void);
static void get_time(void);
int main(void)