npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

iobroker.samsungtv

v0.0.25

Published

Modern Samsung TV adapter with discovery and multi-device support

Readme

Logo

iobroker.samsungtv

Modern Samsung TV adapter with automatic discovery and multi-device management in one instance (multiple TVs supported in the same instance).

German documentation is available at doc/de/README.md.

Features

  • Automatic discovery via SSDP/UPnP and optional mDNS
  • Multiple TVs in one instance: samsungtv.0.<tvname>.*
  • Tizen WebSocket API (8001/8002) + pairing/token
  • H/J series PIN pairing (best effort)
  • Wake-on-LAN (optional)
  • Stable device matching via ID/UUID/MAC, also across renames
  • No token output in logs or UI (tokens are stored encrypted)

Configuration

In the admin UI:

  • Auto Scan: periodic discovery
  • Auto Scan Interval (s): interval for automatic discovery
  • Discovery Timeout (s): scan timeout
  • Enable SSDP / Enable mDNS: discovery sources
  • mDNS Services: comma-separated service types (best effort)
  • Enable Wake-on-LAN: enable WOL
  • Power Poll Interval (s): interval for power checks

Add devices

  1. Start Scan.
  2. Add a discovered TV via Add.
  3. Optionally adjust name/IP.
  4. Save.

Pairing

  • Tizen: when you click Pair, the TV shows a prompt (usually Allow/Cancel, no PIN). Confirm, then save.
  • H/J series: click Pair → TV shows PIN → enter PIN → save.

Tokens/identities are stored encrypted in the adapter config.

If no prompt appears during pairing:

  • TV: Device Connection Manager → enable Access Notification.
  • TV: check Device List and remove old entries.
  • Make sure ioBroker and the TV are on the same subnet.

Object model

Per TV:

  • samsungtv.0.<tvname>.info.*
    • id, ip, mac, model, uuid, api, lastSeen, paired, online
    • tokenAuthSupport, remoteAvailable (if reported by the TV)
  • samsungtv.0.<tvname>.state.*
    • power, volume, muted, app, source
  • samsungtv.0.<tvname>.control.*
    • power, wol, key, volumeUp, volumeDown, mute, channelUp, channelDown, launchApp, source

Control (short)

  • control.key: any remote key (e.g. KEY_POWER, KEY_VOLUP)
  • control.launchApp: app ID (Tizen) from the TV app list
  • control.source: source as key (KEY_HDMI, KEY_SOURCE) or short form (HDMI)

Key codes (control.key)

control.key accepts either Samsung key codes (KEY_*) or friendly short forms:

  • Navigation: up, down, left, right, enter, back
  • System: home, source, menu, info, guide, exit
  • Volume/channel: volup, voldown, mute, chup, chdown
  • Media: play, pause, stop, rewind, ff, record
  • Colors: red, green, yellow, blue
  • Numbers: 0 to 9

Direct key codes also work:

  • Examples: KEY_UP, KEY_DOWN, KEY_ENTER, KEY_RETURN, KEY_HOME, KEY_SOURCE

Note: not every TV supports every key. Some keys only work when a menu/focus is active.

Notes

  • Discovery is best effort. SSDP is primary, mDNS is optional.
  • Older devices are detected where possible (HJ/Legacy); feature set may vary.
  • For H/J/JU devices, HJ is preferred when available. Tizen remote is attempted otherwise and switches to HJ automatically if the TV reports "unrecognized method".
  • If legacy objects exist, warnings are logged.
  • Adapter is renamed to samsungtv to avoid conflicts with the old samsung adapter.
  • When installing via URL, an instance is created automatically (skip with IOBROKER_SKIP_POSTINSTALL=1).

Changelog

See io-package.json (common.news) or the GitHub releases for detailed changes.

How to test (short)

  1. Install the adapter and create an instance.
  2. Open admin, start Scan.
  3. Add a TV and set a name (e.g. tv-livingroom).
  4. Save. Verify object tree samsungtv.0.tv-livingroom.*.
  5. Run Pair and confirm on the TV.
  6. Test control.* objects (e.g. control.mute).
  7. Rename the TV and save again: object tree should migrate cleanly.

License

MIT