{"id":48654192,"url":"https://github.com/lnbits/nostriotdashboard","last_synced_at":"2026-04-10T09:00:13.132Z","repository":{"id":319253912,"uuid":"1078117685","full_name":"lnbits/nostriotdashboard","owner":"lnbits","description":"An LNbits dashboard for Nostriot DVMs","archived":false,"fork":false,"pushed_at":"2025-10-17T08:31:59.000Z","size":553,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-18T11:42:01.623Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lnbits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-17T08:31:00.000Z","updated_at":"2025-10-18T03:21:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"77ce9f29-e2e6-4a76-b62f-05bda7989942","html_url":"https://github.com/lnbits/nostriotdashboard","commit_stats":null,"previous_names":["lnbits/nostriotdashboard"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/lnbits/nostriotdashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnbits%2Fnostriotdashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnbits%2Fnostriotdashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnbits%2Fnostriotdashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnbits%2Fnostriotdashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lnbits","download_url":"https://codeload.github.com/lnbits/nostriotdashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lnbits%2Fnostriotdashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31635969,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-10T09:00:10.288Z","updated_at":"2026-04-10T09:00:13.112Z","avatar_url":"https://github.com/lnbits.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nostr IoT Dashboard - An [LNbits](https://github.com/lnbits/lnbits) Extension\n\n## Control IoT Devices Through Nostr Protocol\n\nThe Nostr IoT Dashboard extension provides a user interface for discovering and controlling IoT devices that implement the Nostr Data Vending Machine (DVM) protocol.\n\n## Features\n\n- **Device Discovery**: Automatically finds IoT devices from your Nostr follow list that advertise DVM capabilities\n- **Real-time Control**: Execute device capabilities through Nostr DVM requests and receive responses\n- **Lightning Integration**: Seamless payment handling for premium IoT functions with QR code invoice display\n- **Multi-relay Support**: Connects to multiple Nostr relays for improved reliability\n- **Flexible Authentication**: Supports both Nostr browser extensions and manual private key input\n\n## How It Works\n\n1. **Connect to Nostr**: Authenticate using a Nostr browser extension or private key\n2. **Discover Devices**: The extension scans your follow list for IoT devices advertising DVM capabilities (kind 31990 events)\n3. **Control Devices**: Click device capabilities to send DVM requests (kind 5107) and receive responses (kind 6107)\n4. **Handle Payments**: For premium functions, pay Lightning invoices displayed as QR codes\n\n## Supported Device Types\n\nThis extension works with any IoT device that implements the Nostr DVM protocol, including:\n\n- Smart home devices (lights, switches, sensors)\n- Environmental monitors\n- Industrial IoT equipment\n- Custom Nostr-enabled hardware\n\n## Technical Details\n\n- **Nostr Event Types**: Handles kinds 3 (contact lists), 31990 (DVM advertisements), 5107 (DVM requests), and 6107 (DVM responses)\n- **WebSocket Connections**: Uses nostr-tools for client side Nostr stuff\n\n## Getting Started\n\n1. Install the extension in your LNbits instance\n2. Follow IoT device accounts on Nostr that provide DVM services\n3. Open the Nostr IoT Dashboard and connect your Nostr identity\n4. Discovered devices will appear automatically - click capabilities to control them\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flnbits%2Fnostriotdashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flnbits%2Fnostriotdashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flnbits%2Fnostriotdashboard/lists"}