IP`werden nur teilweise mit Auto Entity Card erkannt

Hallo Zusammen,

mit diesen Code frage ich meine aktiven IP´s im Netzwerk ab.

type: custom:auto-entities
filter:
  include:
    - options: {}
      attributes:
        source_type: router
        ip: 192.1--.--.*
card:
  type: custom:flex-table-card
  title: IP
  clickable: false
  columns:
    - data: ip
      name: IP
    - data: friendly_name
      name: Name
    - data: host_name
      name: Host Name
    - data: connected_to
      name: Verbunden mit
    - data: connection_type
      name: Verbindungsart
    - data: icon
      name: Icon
    - data: last_time_reachable
      name: Zuletzt erreichbar
  sort_by: ip
grid_options:
  columns: full
cards: []

Nun werden aber nur die IP´s über .10 ausgegeben , 1-10 wird hier übergangen.

Hat jemand eine Idee, wie der Code angepasst werden kann, daß auch z.Bsp. die IP 192.xxx.-x9.10 erkannt wird ?

Alle Ip`s vor .10 werden nicht erkannt, alles was danach kommt 11-255 wird erkannt.
Nutze für die Darstellen ein Panel Dashboard, da bei Nutzung einer Karte im Dashboard nicht alle Info s angezeigt werden. Ich nutze auch IP scanner, jedoch fehlen da die Infos „Verbunden mit“ , „zuletzt erreichbar“ und „Verbindungtyp“ > wird nicht korrekt angezeigt, ``
Danke schon mal für Eure Rückmeldungen.

Hi, du könntest mal versuchen über regex die Abfrage zu machen.
Versuche es mal so. Die [0-9] steht dabei für alle Zahlen von 0 bis 9 und {1,3} gibt die maximalen Stellen an, also hier max 3 Zahlen.

filter:
  include:
    - attributes:
        source_type: router
        ip:
          regex: "^192\\.168\\.178\\.[0-9]{1,3}$"

Hi jayjojayson,

danke für Deine schnelle Antwort.

Habs probiert und den Code entsprechend angepasst :

type: custom:auto-entities
filter:
  include:
    - attributes:
        source_type: router
        ip:
          regex: "^192\\.168\\.xx\\.[0-9]{1,3}$"
card:
  type: custom:flex-table-card
  title: IP
  clickable: false
  columns:
    - data: ip
      name: IP
    - data: friendly_name
      name: Name
    - data: host_name
      name: Host Name
    - data: connected_to
      name: Verbunden mit
    - data: connection_type
      name: Verbindungsart
    - data: icon
      name: Icon
    - data: last_time_reachable
      name: Zuletzt erreichbar
  sort_by: ip
grid_options:
  columns: full
cards: []

Als Ergebnis kommt gar keine Info mehr - nur die Überschiften der einzelnen Rubriken ? Liegt es vielleucht daran daß der 3. IP Block nur 2 stellig ist ? so schaut meine IP Struktur aus > 192.168.XX.XXX

Hi, dann teste mal ohne das regex, nur ip: "/^192\\.168\\.10\\.[0-9]{1,3}$/"
Das xx natürlich wieder mit deiner ip ersetzen.

  • leider nicht , gleiches Ergebnis - nur die Überschriften…

Ich habe das gerade mal bei mir getestet. Flex table Card nutze ich nicht, daher habe ich es mit den normalen entities card gemacht und funktioniert hier wunderbar.

type: custom:auto-entities
filter:
  include:
    - attributes:
        source_type: router
        ip: /^192\.168\.xxx\.[0-9]{1,3}$/
      options:
        secondary_info: last-changed
card:
  type: entities
  title: Aktive IPs
  show_header_toggle: false
sort:
  method: attribute
  attribute: ip

Etwas anderes wüsste ich sonst auch nicht mehr.

…. in der Tat das funktioniert auch bei mir und die Attribute, sowie ich Sie bräuchte, werden in Details angezeigt,

aber nicht in der Übersicht.

Ideal wäre es wenn ich tabellarisch

Quelle / IP / Host Name / Last time reachable / Connected to / Connection Type / SSID / Friendly name

angezeigt bekommen könnte - geht das ?

So wärs ideal :slight_smile:

…. hat noch jemand ne Idee , wie man das umsetzen könnte ?

Ich habe mir in der Systemübersicht auch eine Anzeige für die aktiven IP Adressen, allerdings für mein WLAN Netz. Dafür nutze ich eine Markdown-Card um eine Tabelle mit den IPs darzustellen.

Hier der Code dazu:

type: markdown
content: >
  **Homestation-M verbunden:** {{ states.device_tracker 
     | selectattr('attributes.source_type', 'defined') 
     | selectattr('attributes.source_type', 'equalto', 'router') 
     | selectattr('attributes.ssid', 'defined') 
     | selectattr('attributes.ssid', 'equalto', 'Homestation-M') 
     | list 
     | length }} Geräte

  | Gerät | IP-Adresse | Status |
  | :--- | :--- | :--- |

  {% for device in states.device_tracker 
     | selectattr('attributes.source_type', 'defined') 
     | selectattr('attributes.source_type', 'equalto', 'router') 
     | selectattr('attributes.ssid', 'defined') 
     | selectattr('attributes.ssid', 'equalto', 'Homestation-M') -%}
  | {{ device.name }} | {{ device.attributes.ip if device.attributes.ip is
  defined else '---' }} | {{ 'Online' if is_state(device.entity_id, 'home') else
  'Offline' }} |

  {% endfor %}

Oder hier eine Version, die dann alle Geräte im Netzwerk anzeigt, nicht nur die Wlan Geräte, sondern alle Geräte die Online sind.

type: markdown
content: >
  **Netzwerkgeräte gesamt:** {{ states.device_tracker 
     | selectattr('attributes.source_type', 'defined') 
     | selectattr('attributes.source_type', 'equalto', 'router') 
     | selectattr('attributes.ip', 'defined') 
     | list 
     | length }}

  | Gerät | IP-Adresse | Status |
  | :--- | :--- | :--- |

  {% for device in states.device_tracker 
     | selectattr('attributes.source_type', 'defined') 
     | selectattr('attributes.source_type', 'equalto', 'router') 
     | selectattr('attributes.ip', 'defined')
     | sort(attribute='attributes.ip') -%}
  | {{ device.name }} | {{ device.attributes.ip }} | {{ 'Online' if
  is_state(device.entity_id, 'home') else 'Offline' }} |

  {% endfor %}

1 „Gefällt mir“

Hi jaysonjayson,

danke für Deine Rückmeldung.

Das schaut mal ganz gut aus aber nur wenn ich Panel auswähle als Dashboard kommt eine Ergebnis, aber ohne Raster oder Tabelle.

Bei Kachel
kommt das raus

oder Abschnitte gar nix ?

Moin, ich nutze die „Abschnitte“ Ansicht. Damit arbeit ich seit Beginn von HA und ist heute auch standard geworden. Dort läuft das wie gezeigt im Bild mit der Tabelle.

Hast du jetzt exatkt mein Beispiel kopiert? Wie schaut dein Code aus?
Ist dort wirklich auch | :--- | :--- | :--- | enthalten um die Tabelle zu erstellen.

Hi Jayojayson,

Hab genau den code kopiert.

Ansicht Abschnitte > neuen Abschnitt > Markdownkarte > Code eingesetzt > Karte auf Sichtbarkeit 30 gesetzt, wegen der Breite und das wird dann angezeigt

Sortierung scheint auch willkürlich sollte nach IP egal , ob off oder online, sein.

Das ist merkwürdig, er interpretiert die Zeichen bei dir nicht als Tabelle.

Das hier ist sozusagen der Tabellenkopf:

| Gerät | IP-Adresse | Status |

Hiermit gibt man die Sortierung in den Spalten an, als links, mittig, rechts.

| :--- | :--- | :--- |

Ich weiß also aktuell nicht wie ich dir jetzt noch weiterhelfen könnte. Irgendwie scheint es ein Problem mit der Tabellenansicht bzw. Tabellenbildung bei dir zu geben.

Stiller Mitleser :hugs:
Bei mir wird die Tabellenansicht auch nicht angezeigt, sieht also genauso aus wie bei @AndyHA1964

Ist ja interessant. :thinking: Woran kann das liegen!?

An den Versionsnummern ?

Habe mal kurz gesucht, könnte in die Richtung mit dem „-„ in der Bezeichnung sein
Aber du hast ja auch welche in den Namen

das hier:
Can’t have markdown card formatting my table - Configuration / Frontend - Home Assistant Community

Hab “-” entfernt trotzdem keine Veränderung. ???:neutral_face:

Moin, wenn ich die Pipe vor “Gerät” entferne wird die Tabelle korrekt angezeigt !?

Kann mir aber nicht vorstellen, dass das so richtig ist.

type: markdown
content: >
  **Netzwerkgeräte gesamt:** {{ states.device_tracker 
     | selectattr('attributes.source_type', 'defined') 
     | selectattr('attributes.source_type', 'equalto', 'router') 
     | selectattr('attributes.ip', 'defined') 
     | list 
     | length }}
 
   Gerät | IP-Adresse | Status |
  | :--- | :--- | :--- |

  {% for device in states.device_tracker 
     | selectattr('attributes.source_type', 'defined') 
     | selectattr('attributes.source_type', 'equalto', 'router') 
     | selectattr('attributes.ip', 'defined')
     | sort(attribute='attributes.ip') -%}
  | {{ device.name }} | {{ device.attributes.ip }} | {{ 'Online' if
  is_state(device.entity_id, 'home') else 'Offline' }} |

  {% endfor %}

Edit: Oder liegt es an der Einrückung der Pipe, dann gehts auch ?

type: markdown
content: >
  **Netzwerkgeräte gesamt:** {{ states.device_tracker 
     | selectattr('attributes.source_type', 'defined') 
     | selectattr('attributes.source_type', 'equalto', 'router') 
     | selectattr('attributes.ip', 'defined') 
     | list 
     | length }}

   | Gerät | IP-Adresse | Status |
  | :--- | :--- | :--- |

  {% for device in states.device_tracker 
     | selectattr('attributes.source_type', 'defined') 
     | selectattr('attributes.source_type', 'equalto', 'router') 
     | selectattr('attributes.ip', 'defined')
     | sort(attribute='attributes.ip') -%}
  | {{ device.name }} | {{ device.attributes.ip }} | {{ 'Online' if
  is_state(device.entity_id, 'home') else 'Offline' }} |

  {% endfor %}

2 „Gefällt mir“

Der Tipp war hervorragend :v:
Habe jetzt beide Varianten korrigiert und funktionieren

1 „Gefällt mir“