From b41706efe3cab1510cfc86a4a2c3b9ef55f56a9c Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 31 Aug 2015 22:01:45 -0700 Subject: [PATCH] Make nmap work in Docker --- Dockerfile | 6 ++++++ homeassistant/components/device_tracker/nmap_tracker.py | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8ce295ae6aaa..9554ec552d79 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,12 @@ VOLUME /config RUN pip3 install --no-cache-dir -r requirements_all.txt +# For the nmap tracker +RUN apt-get update && \ + apt-get install -y --no-install-recommends nmap net-tools && \ + apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +# Open Z-Wave disabled because broken #RUN apt-get update && \ # apt-get install -y cython3 libudev-dev && \ # apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ diff --git a/homeassistant/components/device_tracker/nmap_tracker.py b/homeassistant/components/device_tracker/nmap_tracker.py index 8724f3a196a0..7a795deae7b2 100644 --- a/homeassistant/components/device_tracker/nmap_tracker.py +++ b/homeassistant/components/device_tracker/nmap_tracker.py @@ -137,9 +137,7 @@ class NmapDeviceScanner(object): continue name = info['hostnames'][0] if info['hostnames'] else ipv4 # Mac address only returned if nmap ran as root - mac = info['addresses'].get('mac') - if mac is None: - mac = _arp(ipv4) + mac = info['addresses'].get('mac') or _arp(ipv4) if mac is None: continue device = Device(mac.upper(), name, ipv4, now)