← Back
Home › Systems › Embedded and IoT

smart-home

smart-home hub

Matter, Home Assistant

SystemTechniques · 16Primitives · 70 smart-home Deterministic simulation testingdistributed · medium: Run the whole system in one thread under a seeded scheduler with simulated network, disk and clock, so every failure replays from its seed.›Primary-backup replicationdistributed · medium: One node orders all writes and ships them to standbys; the acknowledgement rule (none, one, all) sets what a crash loses, and an external arbiter decides who takes over.›A/B partition updatesembedded · medium: Two bootable slots and a small atomic metadata block: write the new image to the idle slot, try it once, and fall back by itself unless it reports healthy.›Coverage-guided fuzzingsecurity · medium: Mutate inputs, run an instrumented target, and keep any input that reaches a new code edge; feedback turns blind guessing into incremental search.›Mesh routingsignal-processing · medium: Routing in low-power wireless meshes (RPL, Thread, mesh flooding) with link-quality metricsPoint-in-time recoverystorage · medium: Periodic base backups plus a continuously archived change log let you rebuild the state as of any instant, then branch from there.›Event condition action rulessystems · medium: Event-condition-action rule engines for automations, edit checks and alertsWrite-ahead logstorage · low: Append each change to a checksummed sequential log and fsync it before touching data pages; the basis of crash durability in nearly every database.›Publish subscribe event bussystems · low: In-process or on-box topic bus decoupling producers and consumers with bounded queuesAEAD (AES-GCM, ChaCha20-Poly1305)security · low: Authenticated encryption that encrypts and detects tampering in one call; the only kind of symmetric encryption you should use.›Hdr histogramdata-structures · low: Log-linear bucketed histograms with bounded relative error for latency percentilesReliable UDPgame-networking · low: Transport over UDP: each packet carries a sequence number, an ack and a 32-bit ack history; only chosen messages are made reliable.›Process supervisionhardware-os · low: A parent process starts services, reaps their exits and restarts them under a delay and burst-limit policy, then stops them with SIGTERM before SIGKILL.›Mdns service discoverynetworking · low: Multicast DNS and DNS-SD for zero-config service discovery on local linksTlv encodingnetworking · low: Tag-length-value encodings for compact, extensible binary messages: tag spaces, nesting, unknown-field skippingWebSocketsnetworking · low: Full-duplex message framing over one upgraded HTTP connection; the standard way to push real-time data to browsers.›Authorization models (RBAC, ABAC, R…security · low: How to decide who may do what to which object; roles for coarse rules, relationships for sharing, and checks on every object.›ECDH key exchange (X25519, P-256)security · low: Each side multiplies the other's public curve point by its own scalar and both get the same point; always validate the peer key and run the result through a KDF.›Mutual TLSsecurity · low: TLS where the client also proves a certificate key, so every connection carries a verified, rotatable machine identity.›Password-authenticated key exchange…security · low: Both sides blind a Diffie-Hellman message with a password-derived group element, so an attacker gets one guess per run and nothing to brute-force offline.›X509 certificatessecurity · low: Certificate chains, path validation, SANs, revocation and short-lived issuanceBle gattsignal-processing · low: Bluetooth LE link layer, ATT/GATT services and characteristics, connection intervals and pairingGraceful drainingsystems · low: On a termination signal, stop taking new work, finish in-flight work until a deadline, tell clients to reconnect elsewhere, then exit; clients resume from a token.›+ 9 more techniques+ 54 more primitives

Similar systems

Share the most building blocks with this one.