> **This Marketplace version has been retired.**
>
> The DD-WRT binding is included in the official openHAB distribution beginning
> with openHAB 5.2. Remove the Marketplace/KAR version before installing the
> official binding from Settings → Add-ons → Bindings.
Monitors and manages DD-WRT, OpenWrt, Tomato, Raspberry Pi and pretty much anything on a network via SSH. Provides device telemetry, wireless client tracking, syslog event monitoring, firewall rule control, and auto-discovery — all over a single SSH connection per device.
Changelog
Version 5.2.0 — Official openHAB Distribution
The DD-WRT binding was accepted upstream in openHAB/openhab-addons#20505
and is included with openHAB 5.2.0 and later.
Changes since 5.1.5.202605291529
Moved WAN IP, WAN traffic, DHCP lease, and DHCP event channels from
individual device Things to the network bridge.
Prevented dnsmasq “possible DNS-rebind attack” messages from being
incorrectly reported as DHCP events.
Improved client identity handling for devices using randomized MAC addresses;
hostname is the stable client identity and MAC is optional.
Added/standardized client wireless channel metadata, including channel,
signal strength, and transfer-rate units.
Improved syslog timestamp handling and bridge configuration validation.
Incorporated final upstream review and documentation changes.
Upgrade
Remove the Marketplace KAR before upgrading. Install the official binding from:
Settings → Add-ons → Bindings → DD-WRT Binding
Version 5.1.5.202605291529
Bug Fixes
EdDSA/Ed25519 SSH Failure - Fixed EdDSA security provider registration to resolve Ed25519 key loading issues in OSGi environments (#68)
Reverse DNS Lookups - Fixed reverse DNS resolution failures (#74)
CPU Temperature Parsing - Fixed ambiguous CPU temperature parsing by probing and caching the source (DMU vs thermal_zone) to prevent incorrect readings (e.g., Broadcom DMU reporting 680 decidegrees was incorrectly parsed as 680°C) (#70)
AP Association Not Clearing - Fixed AP association state not clearing when devices leave the network; added syslog follower health channel (#63)
Device Online Channel - Fixed device online channel not updating when reboot is triggered (#69)
Enhancements
Improved Client Counting - Added ARP-based total client counts, wireless/wired split, and DHCP lease channels; refactored DHCP event handling to network bridge (#67)
Rename wireless-client thing type to client to support wireless, wired, and VPN endpoints
Add connection-type channel (wireless / wired / vpn) to client things
Clients in radio assoclists or syslog wireless events are classified as wireless
Clients in DHCP/ARP cache with no AP association are classified as wired
Fix reverse DNS hostname extraction — InetAddress.getHostName() returning the IP itself was truncated to first octet
Added static hostname mapping support and local ARP cache reading on openhab server to support wireless client without hostname when no DHCP server is present.
ARP cache improvements and wireless client inbox deduplication.
Disabled ARP scan on non-gateway dump APs to reduce load
Version 5.1.3.20260416
SSH Backoff & Lockout Prevention
Two-tier backoff strategy with independent counters for auth failures vs network failures
Auth failures: 30s, 60s backoff, then suspend after 3 attempts — stays under Dropbear’s 5-attempt block threshold so users have time to fix config
Network failures: 10s..300s backoff with no hard stop (host may come back)
Auth failure resets network counter (proves reachability); network failure does not affect auth counter
User Configuration Improvements
New useSystemUser option on bridge and device — resolves username from ~/.ssh/config or system user
Default user set to root for bridge and device configs
Support user@host:port syntax in the hostnames parameter for per-host overrides
Updated config descriptions to document username precedence
Fixed Ed25519 SSH key support (EdDSA security provider was not registered in OSGi)
Version 5.1.3.20260409
Replace AcceptAllServerKeyVerifier with KnownHostsServerKeyVerifier using Trust On First Use (TOFU)
Log SSH-style warning with remediation instructions when host key changes
Register EdDSA security provider in OSGi for Ed25519 SSH key support
Load SSH keys at client level to support ProxyJump authentication
Using OpenWRT as a “dumb AP” (i.e. without dhcp server) - I’ve noticed very few wireless clients are being added to Things Inbox. Then I’ve noticed these entries in the logs (multiple times). Please can you include all wireless clients for disovery?
I think I ran into the same issue what attempting to upgrade my openhabian system. There seems to be some issues with updating locally installed kar files. I had to really make sure the previous version was uninstalled then install the new version.
installed the binding in docker oh 5.2 (I hope thats supported scenario), gave it 2 openWRT APs via ssh keys, everything great, autodiscovered, things online, configured a channel for my phone with mac, and that phone online item switch never gets OFF’d. coming ON the network works, gets ON, but disable WIFI and nothing, just crickets…i stay online.
Am I missing something?
I have a script that is watching iw event and it was working perfectly until I added another AP, then it became a nightmare to manage, so I would like to replace it with this binding that is supposed to track clients around APs, but I cannot even get basic functionality to work..
edit: it seems the channel for the phone in the thing config needs to be the phone’s hostname, not just any name. when i changed it to hostname, it works…
edit2: can i disable autodiscovery for this binding? adding discovery=false in services/runtime.cfg doesnt help, i really dont want to click ignore on 160 items manually any way of bulk ignore?
I got it working and it was working fantastic, as i was switching on an off my android wifi, it was updating the item in real time, but after openhab docker restart it just stopped working, no errors, everthing is online, very inconsistent. I’m uninstalling the addon as I cannot rely on it and going back to my scripts…
Hi vanja, thanks for testing. The client Thing’s hostname must be the phone’s actual hostname; only its label can be arbitrary. During testing with my Pixel, its randomized MAC changed when moving between 2.4 GHz and 5 GHz, so the hostname was the only stable identifier unless a fixed MAC was selected in the phone’s Wi-Fi settings.
To disable background discovery, use:
discovery.ddwrt:background=false
The failure after restarting openHAB may be a real issue. Could you submit it at https://github.com/openhab/openhab-addons/issues/new and include DEBUG logs covering the restart and a subsequent Wi-Fi disconnect/reconnect, plus whether the phone uses a randomized or fixed MAC?
I did use discovery.ddwrt:background=false in …/services/runtime.cfg and restart docker but it kept discovering 160 things..
yeah, randomized MACs and focus on hostnames are not an option for me…I’m tracking 5-6 fixed family devices, and mac randomization is disabled on all.
sorry I uninstalled the binding so I dont have the logs.
I went with a simple script on the core router that watches “ip monitor neigh” and updates OH items on rest api, works great and I am no longer monitoring individual access points.
Your binding seems great and powerful with monitoring many things on *wrt devices, but a bit overkill for my simple use case of tracking presence for a few phones.