Device Tracking - Echo Dot

I created a group to show some of the devices that are being tracked via my known_devices.yaml, printers, cameras etc. Currently it displays if they are “home” or “not_home”. I tried adding the two Echo Dots I currently have that are connected via wifi and showing within the known_devices.yaml file however they continually show as “not_home” even though they are connected to the router and work flawlessly.

I noticed in the entities dev tool the source_type:null where all my other devices are source_type:router

Has anyone else had or seen this for Echo Dots?

I think known_device.yaml is for device that have been discovered on your network with Discovery turned on.

Instead try the device_tracker ping component in configuration.yaml

For what its worth I turned Discovery off and just added my stuff manual with PING

You need to post at least your device tracker configuration section. Post relevant network information as well.

@faspina known_devices is not for discovered devices only. You can manually add devices to it, it can be prepopulated by discovered devices , but its content is not limited to them.

I am looking at the Ping(ICMP) component but here is my device_tracker config. As I mentioned everything else that is tracked works correctly, it’s just the Echo Dots that don’t seem to show. What other network information would be helpful?

I experience that as well for the Amazon devices (Alexa and DOTs). I think the Ping Component is the way to go to resolve this pretty painlessly.

I’ll try that out, thanks!

This is how I set it up in my config.yaml however I do not see an entity for the alexa devices and it doesn’t show in my group. Based on the example in the components page I assumed I could use anything for a “hostname” (example shows “hostone”). I set tracking: false in the known_devices.yaml but should this still be set to true? Also would the entity be device_tracker.alexa_kitchen or device_tracker.192.168.1.3 ?

thanks!

**edit
I’ve tried a number of different things however I can not seem to get the devices to show in the entities. I also removed the entries from the known_devices.yaml thinking it would re-add them upon restart but it’s not doing that either. I believe the config is correct but what should the entries in the known_devices.yaml file look like?

**edit 2
I am beginning to think it’s an echo dot thing. I tried running both nmap and ping in a terminal and neither returned any information on the 2 ip address.
If anyone is showing their echo dots as being “home” through device tracking please let me know.
Thx

I just realized mine doesn’t respond to PING either. Weird. Quick google search verified it was not pingable but should be getting picked up by nmap. I guess its a nmap configuration thing. I am not sure.

A windows network scanner did pick up the echo and its associated IP.

When i was using WSUS as a device trackerI know it shows up, but thats because I believe it was looking a the DHCP tables.

So I ran this nmap command:

nmap -Pn 192.168.1.3

and got this result:

Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-20 14:54 EDT
Nmap scan report for 192.168.1.3
Host is up (0.0080s latency).
All 1000 scanned ports on 192.168.1.3 are filtered (960) or closed (40)

Nmap done: 1 IP address (1 host up) scanned in 17.18 seconds

So it looks like it is there but not sure how I would make that work with the nmap device tracking.

I believe I have resolved this by using this configuration, adding the scan_option -Pn --host-timeout 5s (although I think the time out defaults to 5s)

device_tracker:
  - platform: nmap_tracker
    hosts: 192.168.1.1-50
    home_interval: 30
    consider_home: 1800
    scan_options: -Pn --host-timeout 5s
    exclude:
     - 192.168.1.9

My Echo Dots are now showing as “Home” in my group. Thanks to all who replied.

1 Like

@photo64 Does the -Pn parameters actually work for you? According to the documentation it will report everything as ‘up’ all the time.

I just tried this myself and it shows all of my devices as being online while some of them are definitely not. I don’t think this is the correct solution.

I, myself, can’t seem to find my Xbox One or my Echo Dot using the nmap tracker. Pinging my Xbox One does work, but it doesn’t work on the Echo Dot, since they’re not pingable.

Is there anyone who has actually gotten this to work?

I assume it is working. The 1st screenshot below shows my tablet being off and “not_home” and the 2nd screenshot shows after I started it up.

Screenshot from 2017-12-26 11-38-38

Screenshot from 2017-12-26 11-35-23

Yeah, for any device other than the Amazon Echo it should be working. I was wondering whether you’ve ever seen the Amazon Echo as ‘not_home’.

Because this is what the manual of nmap says about the Pn option:

-Pn: Treat all hosts as online -- skip host discovery

I have not seen them as “not_home” now that you mention it

problem:

  - platform: nmap_tracker
    hosts:
      alexa_main: 192.168.0.100
      alexa_bedroom: 192.168.0.101

but alexa is still not connected…

alexa_connected
If anyone is struggling with getting echo dot tracking to work, this should help.

Step 1 - known_devices.yaml - add or change your echo dot in known_devices.yaml so that it includes the mac address.

kitchen_echo_dot: 
  hide_if_away: false
  icon:
  mac: 5c175a2541c3     ##**important!** ensure mac address format is like this##
  name: Kitchen Echo Dot
  picture:
  track: true

Step 2. Add device tracker - Now in your yaml file that contains device trackers add the nmap tracker and the ip address of the echo dot.

device_tracker:
    - platform: nmap_tracker
    hosts:
      - xxx.xxx.xxx.xxx   ## your echo dot ip address ##
    consider_home: 180    ## adjust as necessary ##
    track_new_devices: no ## adjust as necessary ##
    interval_seconds: 15  ## adjust as necessary ##

Step 3 - Add a binary sensor template
now add a binary sensor template for your echo dot. This is should be added after the device tracker code in step 2.

binary_sensor:
   - platform: template
     sensors:
        kitchen_echo_dot:  ## your echo dot name ##
        friendly_name: Alexa Kitchen ## your echo dot display name ##
        device_class: connectivity
        entity_id: device_tracker.5c175a2541c3 ## your device mac address - get this from the alexa app ##
        value_template: "{{ is_state('device_tracker.5c175a2541c3', 'home') }}"  ## your device mac add ##
        icon_template: >-
          {% if is_state('device_tracker.5c175a2541c3', 'home') %}  ## your device mac address ##
            mdi:voice
          {% else %}
            mdi:voice
          {% endif %} 

then simply, reboot HA for changes to take effect.

1 Like

@Crommy nice, I do something very similar.

Hi
Following your example:
"binary_sensor:

  • platform: template
    sensors:
    post_echo_dot:
    friendly_name: Post Alexa
    device_class: connectivity
    entity_id: device_tracker.5c175a2541c3
    value_template: “{{ is_state(‘device_tracker.5c175a2541c3’, ‘home’) }}”
    icon_template: >-
    {% if is_state(‘device_tracker.5c175a2541c3’, ‘home’) %}
    mdi:voice
    {% else %}
    mdi:voice
    {% endif %} "

is giving me this error:
"Configuration validation

Validate your configuration if you recently made some changes to your configuration and want to make sure that it is all valid

Configuration invalidCHECK CONFIGURATION

Invalid config for [binary_sensor.template]: expected a dictionary for dictionary value @ data[‘sensors’][‘device_class’]. Got ‘connectivity’ expected a dictionary for dictionary value @ data[‘sensors’][‘entity_id’]. Got ‘device_tracker.5c175a2541c3’ expected a dictionary for dictionary value @ data[‘sensors’][‘friendly_name’]. Got ‘Post Alexa’ expected a dictionary for dictionary value @ data[‘sensors’][‘icon_template’]. Got “{% if is_state(‘device_tracker.5c175a2541c3’, ‘home’) %}\n mdi:voice\n{% else %}\n mdi:voice\n{% endif %} " expected a dictionary for dictionary value @ data[‘sensors’][‘post_echo_dot’]. Got None expected a dictionary for dictionary value @ data[‘sensors’][‘value_template’]. Got “{{ is_state(‘device_tracker.5c175a2541c3’, ‘home’) }}”. (See ?, line ?).”

Can you please help me resolve this error.

Regards
Sajive Trehan
Zurich - Switzerland