{"id":11223,"date":"2026-03-29T12:58:20","date_gmt":"2026-03-29T10:58:20","guid":{"rendered":"https:\/\/www.sigalou-domotique.fr\/?p=11223"},"modified":"2026-03-29T14:46:59","modified_gmt":"2026-03-29T12:46:59","slug":"je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant","status":"publish","type":"post","link":"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant","title":{"rendered":"Ich \u00fcberwache die Reputation meiner \u00f6ffentlichen IP im Home Assistant"},"content":{"rendered":"<p>Ich verbringe viel Zeit damit, zu \u00fcberwachen, zu sichern und zu verstehen, was in meinem Heimnetzwerk passiert. Zwischen der Internetbox, den unbeabsichtigt ausgestellten Ger\u00e4ten und den permanenten Scans aus dem Internet habe ich mich eines Tages gefragt: <strong>Ist meine \u00f6ffentliche IP im Internet als \u201elaut\u201c oder verd\u00e4chtig bekannt?<\/strong><\/p>\n<p>Benutzen b\u00f6swillige Tools mein Netzwerk (PC, NAS, Router, HA, \u2026)?<\/p>\n<p>So stie\u00df ich auf <a href=\"https:\/\/viz.greynoise.io\/\" target=\"_blank\" rel=\"noopener\">GreyNoise<\/a>, ein wirklich interessanter Dienst, mit dem festgestellt werden kann, ob eine IP-Adresse Teil des \u201eL\u00e4rms\u201c des Internets ist, d. h. ob sie bei b\u00f6sartigen Scan-, Umfrage- oder Traffic-Aktivit\u00e4ten beobachtet wird.<\/p>\n<p>GreyNoise beschreibt ihren Ansatz gerade als eine M\u00f6glichkeit, das Hintergrundrauschen des Internets zu beschreiben und eine beobachtete IP in einen Kontext zu stellen.<\/p>\n<p>Und wie so oft bei mir, nach ein paar Tests, dachte ich mir: \u201eEs w\u00e4re doch praktisch, dies direkt im Home Assistant zu haben.\u201c<\/p>\n<p>Anfangs dachte ich daran, mit einer klassischen HTTP-Anfrage etwas sehr Einfaches zu tun. Auf dem Papier sah es trivial aus. In der Praxis hat die offensichtlichste Methode bei mir nicht so funktioniert, wie ich es mir erhofft hatte. Also wechselte ich meinen Ansatz und ging schlie\u00dflich zu einem Befehlszeilensensor. In diesem Artikel erz\u00e4hle ich dir alles Schritt f\u00fcr Schritt, wie ich es tats\u00e4chlich zu Hause mit den Lovelace-Karten f\u00fcr die endg\u00fcltige Anzeige eingerichtet habe.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11230\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131124.png\" alt=\"\" width=\"459\" height=\"179\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131124.png 459w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131124-300x117.png 300w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/p>\n<p><!--more--><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_89 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<label for=\"ez-toc-cssicon-toggle-item-6af5bea16aa9c\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6af5bea16aa9c\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%8E%AF_Mon_objectif\" >\ud83c\udfaf Mein Ziel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%A7%A0_GreyNoise_cest_quoi\" >\ud83e\udde0 GreyNoise, was ist das?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%86%93_Les_outils_gratuits_GreyNoise\" >\ud83c\udd93 Kostenlose GreyNoise-Tools<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%A7%AA_Mon_premier_essai_dans_Home_Assistant\" >\ud83e\uddea Mein erster Aufsatz in Home Assistant<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%E2%8C%A8%EF%B8%8F_Pourquoi_je_suis_parti_sur_command_line\" >Warum ich auf command\u2328line gegangen bin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%E2%9A%99%EF%B8%8F_Configuration_dans_Home_Assistant\" >\u2699\u2500 Konfiguration im Home Assistant<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%A7%BE_Ce_que_le_capteur_me_remonte\" >\ud83e\uddfe Was der Sensor mir sagt<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%93%8A_Mes_cartes_Lovelace\" >\ud83d\udcca Meine Lovelace-Karten<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%8D%84_Carte_Mushroom\" >\ud83c\udf44 Karte Mushroom<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%A7%AA_Cartes_fictives\" >\ud83e\uddea fiktive Karten<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%8E%A8_Carte_Button_Card\" >\ud83c\udfa8 Karte Button Card<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%93%9D_Carte_Markdown_recapitulative\" >\ud83d\udcdd \u00dcbersichtskarte Markdown<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%A7%A9_Ce_que_jai_retenu_de_cette_integration\" >\ud83e\udde9 Was ich aus dieser Integration gelernt habe<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%E2%9C%85_Conclusion\" >\u2705 Schlussfolgerung<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.sigalou-domotique.fr\/de\/je-surveille-la-reputation-de-mon-ip-publique-dans-home-assistant\/#%F0%9F%94%97_Pour_aller_plus_loin\" >\ud83d\udd17 Um noch einen Schritt weiter zu gehen:<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%8E%AF_Mon_objectif\"><\/span>\ud83c\udfaf Mein Ziel<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Mein Ziel war einfach: Integration eines Sensors in den Home Assistant, der GreyNoise abfragen kann, um den Status meiner \u00f6ffentlichen IP zu ermitteln, und anschlie\u00dfend Anzeige des Ergebnisses in einem \u00fcbersichtlichen und lesbaren Dashboard.<\/p>\n<p>Die Idee war nicht, Home Assistant in ein fortschrittliches Cybersicherheitszentrum umzuwandeln, sondern einen kleinen Kontextindikator hinzuzuf\u00fcgen.<\/p>\n<p>Ein kurzer Blick sollte mir zeigen, ob meine IP als gutartig, unbekannt oder m\u00f6glicherweise mit einer verd\u00e4chtigeren Aktivit\u00e4t verbunden angesehen wurde.<\/p>\n<p>GreyNoise legt genau diese Art von Informationen \u00fcber ihren \u00f6ffentlichen Pr\u00fcfpunkt dar.<\/p>\n<p>Ich wollte auch etwas Verst\u00e4ndliches f\u00fcr einen Anf\u00e4nger: ein Sensor, einige n\u00fctzliche Attribute und sch\u00f6ne Karten, um all dies lesbar zu machen, ohne ein Terminal \u00f6ffnen zu m\u00fcssen und nat\u00fcrlich ohne etwas zu abonnieren und ohne mich zu registrieren nein.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%A7%A0_GreyNoise_cest_quoi\"><\/span>\ud83e\udde0 GreyNoise, was ist das?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Wenn man GreyNoise zum ersten Mal entdeckt, kann man sich fragen, wozu genau das gut ist.<\/p>\n<p>In einer sehr einfachen Version beobachtet GreyNoise st\u00e4ndig das Hintergrundrauschen des Internets: automatisierte Scans, IP-Adressumfragen, wiederholte Verbindungsversuche, all diese Verhaltensweisen, die man nicht unbedingt mit blo\u00dfem Auge sieht, die aber st\u00e4ndig im globalen Netzwerk existieren.<\/p>\n<p>GreyNoise stellt ihren Dienst gerade als Mittel dar, um die Kernt\u00e4tigkeit von dem tats\u00e4chlich signifikanten Verkehr zu unterscheiden.<\/p>\n<p>Das Interesse von GreyNoise besteht darin, dass es die Kontextualisierung einer IP-Adresse erm\u00f6glicht. Grunds\u00e4tzlich kann man wissen, ob diese IP als an diesem Internet-Rausch beteiligt bekannt ist, ob sie als legitim angesehen wird oder ob sie ihren Systemen einfach nicht bekannt ist. Ihr \u00f6ffentlicher Verifizierungsdienst gibt diesen Kontext als JSON zur\u00fcck.<\/p>\n<p>Als ich das herausfand, fand ich die Idee f\u00fcr zu Hause gro\u00dfartig. Wir haben oft eine Internetbox, manchmal Portweiterleitungen, ein VPN, Ger\u00e4te, auf die aus der Ferne zugegriffen werden kann, und wir wissen nicht immer, wie unsere IP von au\u00dfen \u201egesehen\u201c wird.<\/p>\n<p>Ohne ein umfassendes Sicherheitstool zu sein, gibt GreyNoise einen interessanten Hinweis.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%86%93_Les_outils_gratuits_GreyNoise\"><\/span>\ud83c\udd93 Kostenlose GreyNoise-Tools<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11240\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-134347.png\" alt=\"\" width=\"751\" height=\"152\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-134347.png 751w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-134347-300x61.png 300w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-134347-600x121.png 600w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/p>\n<p>Was mir gut gefallen hat, ist, dass man Dinge bereits kostenlos testen kann, ohne sofort in eine komplizierte Integration einzusteigen.<\/p>\n<p>Das erste praktische Instrument ist ihre Online-\u00dcberpr\u00fcfungsseite. Die Seite wird ge\u00f6ffnet und zeigt direkt an, wie die \u00f6ffentliche IP-Adresse, die f\u00fcr die Navigation verwendet wird, von GreyNoise angezeigt wird.<\/p>\n<ul>\n<li><a href=\"https:\/\/check.labs.greynoise.io\/\" target=\"_blank\" rel=\"noopener\">https:\/\/check.labs.greynoise.io\/<\/a><\/li>\n<\/ul>\n<p>Dies ist sehr praktisch, um einen ersten Schnelltest durchzuf\u00fchren, ohne etwas zu installieren.<\/p>\n<p>Ein weiterer sehr interessanter Punkt ist, dass es eine API gibt, die einfach abzufragen ist. Und genau diese API wollte ich im Home Assistant nutzen. In der Befehlszeile bedeutet dies, dass eine Anfrage wie folgt gestellt wird:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">curl -s -H \"Accept: application\/json\" https:\/\/check.labs.greynoise.io\/api\/v1\/check<\/pre>\n<p>Bei mir sah die Antwort wie folgt aus:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\">{ \"ip\": \"82.65.xxx.xxx\", \"status\": \"not_found\", \"Klassifikation\": null, \"noise\": false, \"common_business_services\": false, \"trust_level\": null, \"error\": \"ip not found\" von }<\/pre>\n<p>Dieses Format entspricht dem dokumentierten Betrieb des \u00f6ffentlichen Dienstes GreyNoise, der insbesondere IP, Status, Klassifizierung, Indikator zur\u00fcckgibt. <code>noise<\/code>, Indikator <code>common_business_services<\/code>, das Konfidenzniveau und eine m\u00f6gliche Fehlermeldung.<\/p>\n<p>Einfach ausgedr\u00fcckt: Meine IP-Adresse war GreyNoise nicht bekannt, was in diesem Zusammenhang eher beruhigend ist.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%A7%AA_Mon_premier_essai_dans_Home_Assistant\"><\/span>\ud83e\uddea Mein erster Aufsatz in Home Assistant<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Wie so oft habe ich mit der L\u00f6sung begonnen, die mir am \u201esaubersten\u201c erschien: Verwenden Sie einen REST-Sensor im Home Assistant.<\/p>\n<p>Grunds\u00e4tzlich war dies logisch. Ich hatte eine HTTP-URL, die JSON zur\u00fcckgab, also dachte ich, dass ein REST-Sensor genau das Richtige w\u00e4re. Mit der Home Assistant REST-Dokumentation k\u00f6nnen Sie eine HTTP-Ressource definieren und JSON mit <code>value_template<\/code> und wiederherstellen von Feldern als Attribute mit <code>json_attributes<\/code>.<\/p>\n<p>Ich dachte daran, den Status und die Attribute wie IP, Klassifizierung oder Konfidenzniveau direkt abzurufen.<\/p>\n<p>Bei mir hat dieser Ansatz jedoch nicht richtig funktioniert. Der Sensor blieb in einem unbrauchbaren Zustand. Anstatt Zeit mit einer Methode zu verschwenden, die in meiner Anlage kein stabiles Ergebnis lieferte, entschied ich mich f\u00fcr eine andere L\u00f6sung.<\/p>\n<p>Und ehrlich gesagt geschieht dies in der Hausautomation oft so: Man beginnt mit einer Idee und passt sich dann dem Realen an.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E2%8C%A8%EF%B8%8F_Pourquoi_je_suis_parti_sur_command_line\"><\/span>Warum ich auf command\u2328line gegangen bin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Schlie\u00dflich entschied ich mich f\u00fcr einen Befehlszeilensensor. Dies ist nicht unbedingt die \u201eelegante\u201c Methode auf dem Papier, aber in meinem Fall war sie viel zuverl\u00e4ssiger.<\/p>\n<p>Der Grundsatz ist einfach: Home Assistant f\u00fchrt einen Befehl aus <code>curl<\/code>, ruft die JSON-Antwort ab und extrahiert dann den Hauptstatus und mehrere Attribute. Integration <code>command_line<\/code> Home Assistant unterst\u00fctzt einen Shell-Befehl, einen <code>value_template<\/code> und JSON-Attribute.<\/p>\n<p>Das hei\u00dft, ich habe einen Test gestartet, der bereits in meinem Terminal funktionierte, und ihn dann einfach in den Home Assistant \u00fcbertragen.<\/p>\n<p>Dies ist oft eine gute Strategie f\u00fcr Anf\u00e4nger: Wenn etwas bereits in der Hand l\u00e4uft, ist es einfacher zu verstehen, was im Home Assistant passiert.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E2%9A%99%EF%B8%8F_Configuration_dans_Home_Assistant\"><\/span>\u2699\u2500 Konfiguration im Home Assistant<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In meiner Datei <code>Konfiguration.yaml<\/code>, habe ich zun\u00e4chst eine spezielle Datei f\u00fcr meine Befehlszeilensensoren aufgenommen:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">command_line: !include command_line.yaml<\/pre>\n<p>Als n\u00e4chstes in <code>command_line.yaml<\/code>, habe ich diesen Sensor hinzugef\u00fcgt:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- sensor: name: \"GreyNoise IP Check\" einzigartig_id: greynoise_ip_check icon: mdi:shield-search command: 'curl -s -H \"Accept: application\/json\" https:\/\/check.labs.greynoise.io\/api\/v1\/check' command_timeout: 20 scan_interval: 100800 value_template: \"{{ value_json['status'] }}\" json_attributes: - ip - Klassifikation - noise - common_business_services - trust_level - error<\/pre>\n<p>Ich werde dies ganz einfach erl\u00e4utern:<\/p>\n<ul>\n<li><strong>command<\/strong> : Dies ist der von Home Assistant tats\u00e4chlich ausgef\u00fchrte Befehl.<\/li>\n<li><strong>command_timeout<\/strong> : Hier erlaube ich bis zu 20 Sekunden vor der Aufgabe.<\/li>\n<li><strong>scan_interval<\/strong> : Dies ist die Ausf\u00fchrungsh\u00e4ufigkeit in Sekunden. Hier habe ich 100800 Sekunden gew\u00e4hlt, also alle 28 Stunden.<\/li>\n<li><strong>value_template<\/strong> : dies stellt den Hauptwert des Sensors wieder her, hier das Feld <code>status<\/code> des JSON.<\/li>\n<li><strong>json_attributes<\/strong> : Dadurch k\u00f6nnen weitere n\u00fctzliche Felder als Sensorattribute gespeichert werden.<\/li>\n<\/ul>\n<p>Warum 28 Stunden? Ganz einfach, weil ich GreyNoise nicht st\u00fcndlich befragen musste. Und ich m\u00f6chte 24 Stunden vermeiden, da viele Sensoren auf 24 sind, also wird es heute 28 Stunden sein. Dies ist keine Tatsache, die sich bei mir zu Hause st\u00e4ndig \u00e4ndert, daher bevorzuge ich eine Hinrichtung im Abstand.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%A7%BE_Ce_que_le_capteur_me_remonte\"><\/span>\ud83e\uddfe Was der Sensor mir sagt<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11248\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-143144.png\" alt=\"\" width=\"708\" height=\"242\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-143144.png 708w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-143144-300x103.png 300w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-143144-600x205.png 600w\" sizes=\"auto, (max-width: 708px) 100vw, 708px\" \/><\/p>\n<p>Sobald der Sensor einsatzbereit ist, erhalte ich einen Hauptstatus und mehrere Attribute.<\/p>\n<p>Der Hauptzustand ist das Feld <code>status<\/code>. Zu Hause z. B. bekomme ich <code>not_found<\/code>. Dieser Wert wird zum Status des Sensors im Home Assistant. Der \u00f6ffentliche Endpunkt GreyNoise gibt dieses Statusfeld in seiner JSON-Antwort gut zur\u00fcck.<\/p>\n<p>Dar\u00fcber hinaus habe ich mehrere n\u00fctzliche Attribute:<\/p>\n<ul>\n<li><strong>ip<\/strong> : die erkannte \u00f6ffentliche IP-Adresse.<\/li>\n<li><strong>Klassifizierung<\/strong> : die m\u00f6gliche Klassifizierung.<\/li>\n<li><strong>noise<\/strong> : gibt an, ob die IP-Adresse als Teil des Internetl\u00e4rms angesehen wird.<\/li>\n<li><strong>common_business_services<\/strong> : gibt an, ob die IP mit bekannten Unternehmensdienstleistungen verbunden ist.<\/li>\n<li><strong>trust_level<\/strong> : einen zus\u00e4tzlichen Indikator, wenn er verf\u00fcgbar ist.<\/li>\n<li><strong>error<\/strong> : eine Informationsnachricht, z. B. \u201aip not found\u2018.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%93%8A_Mes_cartes_Lovelace\"><\/span>\ud83d\udcca Meine Lovelace-Karten<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Nachdem ich den Sensor erstellt hatte, wollte ich vor allem eine sch\u00f6ne Anzeige im Dashboard. Also habe ich mir eine kleine dedizierte Seite mit mehreren Karten gemacht, um die Renderings zu testen.<\/p>\n<p>Ich habe sowohl Mushroom als auch Button Card und eine Markdown-Karte verwendet. Dadurch konnte ich einen \u201en\u00fcchterneren\u201c Stil, einen \u201evisuelleren\u201c Stil und einen \u201einformativeren\u201c Stil vergleichen.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%8D%84_Carte_Mushroom\"><\/span>\ud83c\udf44 Karte Mushroom<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11227\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-130555.png\" alt=\"\" width=\"457\" height=\"115\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-130555.png 457w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-130555-300x75.png 300w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" \/><\/p>\n<p>Die erste Karte, die ich erstellt habe, ist eine Mushroom-Karte, die auf dem tats\u00e4chlichen Sensor basiert:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Typ: custom:mushroom-template-card entity: sensor.greynoise_ip_check primary: &gt; {% set c = state_attr(entity, 'classification') %} {% if c == 'malicious' %} GreyNoise: b\u00f6swillige Aktivit\u00e4t {% elif c == 'suspicious' %} GreyNoise: verd\u00e4chtige Aktivit\u00e4t {% elif c == 'benign' %} GreyNoise: legitimer Dienst {% elif states(entity) in ['not_found', 'unknown', 'unavailable'] %} GreyNoise: keine Aktivit\u00e4t bekannt {% else %} GreyNoise: {{ states(entity) }} {% endif %} secondary: &gt; {% set ip = state_attr(entity, 'ip') or 'IP unbekannt' %} {% set classif = state_attr(entity, 'classification') or 'no' %} {% set noise = state_attr(entity, 'noise') %} {% set cbs = state_attr(entity, 'common_business_services') %} IP: {{ ip }} \u2022 Klassifizierung: {{ classif }} \u2022 Noise : {{ noise }} \u2022 Bekannte Dienste: {{ cbs }} icon: &gt; {% set c = state_attr(entity, 'classification') %} {% if c == 'malicious' %} mdi:shield-alert {% elif c == 'suspicious' %} mdi:shield-search {% elif c == 'benign' %} mdi:shield-check {% else %} mdi:shield-check-outline {% endif %} icon_color: &gt; {% set c = state_attr(entity, 'classification') %} {% if c == 'malicious' %} red {% elif c == 'suspicious' %} orange {% elif c == 'benign' %} teal {% else %} gr\u00fcn {% endif %} multiline_secondary: true fill_container: true tap_action: Ma\u00dfnahme: more-info<\/pre>\n<p>Ich mag diese Karte sehr, weil sie leicht zu lesen ist. Auf einen Blick sehe ich eine klare Botschaft, ein passendes Symbol und eine konsistente Farbe.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%A7%AA_Cartes_fictives\"><\/span>\ud83e\uddea fiktive Karten<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11230\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131124.png\" alt=\"\" width=\"459\" height=\"179\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131124.png 459w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131124-300x117.png 300w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/p>\n<p>Um die Zust\u00e4nde visuell zu vergleichen, habe ich auch einige rein fiktive Karten erstellt. Dies erm\u00f6glicht es, zu sehen, wie die verschiedenen F\u00e4lle aussehen w\u00fcrden, ohne abzuwarten, bis sie tats\u00e4chlich eintreten.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Typ: vertikale Stack-Karten: - Typ: custom:mushroom-template-card primary: Fictif - malicious secondary: \"IP: 45.67.89.10 \u2022 malicious \u2022 noise: true\" icon: mdi:shield-alert icon_color: red multiline_secondary: true - Typ: custom:mushroom-template-card primary: Fictif - benign secondary: \"IP: 1.1.1.1 \u2022 benign \u2022 noise: false\" icon: mdi:shield-check icon_color: teal multiline_secondary: true - Typ: custom:mushroom-template-card primary: Fictif - nicht found secondary: \"IP: 82.65.100.200 \u2022 not_found \u2022 noise: false\" icon: mdi:shield-check-outline icon_color: green multiline_secondary: true<\/pre>\n<p>Das ist albern, aber sehr n\u00fctzlich, wenn man eine Schnittstelle baut: Man kann den Stil w\u00e4hlen, bevor man \u00fcberhaupt einen wirklichen Fall hat.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%8E%A8_Carte_Button_Card\"><\/span>\ud83c\udfa8 Karte Button Card<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11233\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131446.png\" alt=\"\" width=\"468\" height=\"101\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131446.png 468w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131446-300x65.png 300w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/p>\n<p>Dann wollte ich etwas Visuelleres, fast wie eine Alarmkarte. Daher habe ich die Button Card verwendet.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Typ: custom:button-card entity: sensor.greynoise_ip_check name: | [[ const c = entity?.attributes?.classification; if (c === 'malicious') return 'GreyNoise - b\u00f6sartige Aktivit\u00e4t'; if (c === 'suspicious') return 'GreyNoise - verd\u00e4chtige Aktivit\u00e4t'; if (c === 'benign') return 'GreyNoise - legitimer Dienst'; return 'GreyNoise - keine Aktivit\u00e4t bekannt'; ]]] icon: | [[ const c = entity?.attributes?.classification; if (c === 'malicious') return 'mdi:shield-alert'; if (c === 'suspicious') return 'mdi:shield-search'; if (c === 'benign') return 'mdi:shield-check'; return 'mdi:shield-check-outline'; ]]] show_state: true state_display: | [[ return entity?.state || 'unknown'; ]]] Siegel: | [[ const ip = entity?.attributes?.ip || 'IP unbekannt'; const c = entity?.attributes?.classification || 'keine'; const noise = entity?.attributes?.noise; const cbs = entity?.attributes?.common_business_services; return \u0301IP ${ip} \u2022 ${c} \u2022 noise: ${noise} \u2022 common business: ${cbs}\u00bf; ]]] show_label: true tap_action: Ma\u00dfnahme: more-info Stile: card: - padding: 18px - border-radius: 20px - color: white - Hintergrund: | [[ const c = entity?.attributes?.classification; if (c === 'malicious') return 'linear-gradient(135deg, #b71c1c 0%, #e53935 100%)'; if (c === 'suspicious') return 'linear-gradient(135deg, #ef6c00 0%, #ffa726 100%)'; if (c === 'benign') return 'linear-gradient(135deg, #00695c 0%, #26a69a 100%)'; return 'linear-gradient(135deg, #2e7d32 0%, #66bb6a 100%)'; ]]] grid: - grid-template-areas: \"\\\"i n\\\" \\\"i s\\\" \\\"l l\\\" - grid-template-columns: 60px 1de - grid-template-rows: min-content min-content min-content icon: - width: 42px - color: white name: - justify-self: start - font-size: 18px - font-weight: 700 Staaten: - justify-self: start - font-size: 15px - font-weight: 500 label: - justify-self: center - text-align: center - width: 100% - font-size: 13px - opacity: 0.92<\/pre>\n<p>Diese Karte ist sehr sch\u00f6n, vor allem, wenn man etwas will, das ein wenig mehr ins Auge f\u00e4llt. Im \u00dcbrigen habe ich die untere Linie so angepasst, dass sie zentriert ist, was das Rendern wirklich verbessert.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%93%9D_Carte_Markdown_recapitulative\"><\/span>\ud83d\udcdd \u00dcbersichtskarte Markdown<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11235\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131623.png\" alt=\"\" width=\"451\" height=\"332\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131623.png 451w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2026\/03\/Capture-decran-2026-03-29-131623-300x221.png 300w\" sizes=\"auto, (max-width: 451px) 100vw, 451px\" \/><\/p>\n<p>Schlie\u00dflich habe ich eine Markdown-Karte hinzugef\u00fcgt, um alle Informationen leserlich anzuzeigen:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Typ: markdown content: &gt;- {% set e = 'sensor.greynoise_ip_check' %} ## Vollst\u00e4ndiger Bericht GreyNoise - **Status**: {{ states(e) }} - **IP**: {{ state_attr(e, 'ip') or 'unbekannt' }} - **Klassifizierung**: {{ state_attr(e, 'classification') or 'non' } - **Internetger\u00e4usch**: {{ state_attr(e, 'noise') }} - **Bekannte Dienste**: {{ state_attr(e, 'common_business_services') }} - **Vertrauensstufe**: {{ state_attr(e, 'trust_level') or '--' }} - **Informationsnachricht**: {{ state_attr(e, 'error') or 'non' }} --- - **Letzte Ausf\u00fchrung der Anfrage**: {{ relative_time(states[e].last_updated) }} - **Zeitstempel der letzten Ausf\u00fchrung**: {{ as_local(states[e].last_updated).strftime('%d\/%m\/%Y %H:%M:%S') }}<\/pre>\n<p>Ich mag diese Karte, weil sie sehr klar ist, vor allem f\u00fcr die Diagnose.<\/p>\n<p>Dar\u00fcber hinaus habe ich den Begriff der seit der letzten Aktualisierung verstrichenen Zeit hinzugef\u00fcgt, was praktisch ist, um zu wissen, wann die Abfrage tats\u00e4chlich ausgef\u00fchrt wurde.<\/p>\n<p>Die Eigenschaften <code>last_updated<\/code> und <code>last_changed<\/code> in der Vorlagen-Engine Home Assistant f\u00fcr diese Art der Nutzung verf\u00fcgbar sind.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%A7%A9_Ce_que_jai_retenu_de_cette_integration\"><\/span>\ud83e\udde9 Was ich aus dieser Integration gelernt habe<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Dieses kleine Projekt hat mich an etwas Wichtiges erinnert: In der Hausautomation ist das Wichtigste nicht immer die theoretisch eleganteste Methode, sondern diejenige, die tats\u00e4chlich zu Hause zuverl\u00e4ssig funktioniert.<\/p>\n<p>Am Anfang wollte ich auf REST gehen. Schlie\u00dflich war es der Befehlszeilensensor, der es mir erm\u00f6glichte, ein stabiles, lesbares und pflegeleichtes Ergebnis zu erzielen. Und ehrlich gesagt, f\u00fcr den Heimgebrauch habe ich genau das gesucht.<\/p>\n<p>Mir ist auch klar geworden, dass diese Art der Integration einen echten p\u00e4dagogischen Wert hat. Wir lernen, JSON abzurufen, einen Home Assistant-Sensor zu erstellen, Attribute zu nutzen, ein Dashboard zu formatieren und rohe Informationen in etwas Visuelles und Verst\u00e4ndliches zu verwandeln.<\/p>\n<p>Am Ende habe ich die Mushroom Card in einer kleinen Ecke meines Dashboards verwendet, auf einen Blick werde ich sehen, ob das Symbol rot wird.<\/p>\n<p>Wenn das Herz es mir sagt, kann ich die Status\u00e4nderung von sensor.greynoise_ip_check in die Ausl\u00f6ser f\u00fcr m\u00f6gliche SMS- oder visuelle Benachrichtigungen aufnehmen\u2026<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E2%9C%85_Conclusion\"><\/span>\u2705 Schlussfolgerung<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Zusammen mit GreyNoise habe ich dem Home Assistant einen kleinen Netzwerkkontext hinzugef\u00fcgt, den ich wirklich interessant finde. Es handelt sich weder um ein Wundermittel noch um einen vollst\u00e4ndigen IDS, aber es ist ein guter Indikator daf\u00fcr, wie meine \u00f6ffentliche IP von au\u00dfen wahrgenommen wird.<\/p>\n<p>Zuerst testete ich die Online-Verifizierungsseite, dann die API-Abfrage am Endger\u00e4t und dann die Integration in den Home Assistant. Da der REST-Sensor in meinem Fall nicht schl\u00fcssig war, ging ich zu <code>command_line<\/code>, und es war schlie\u00dflich diese Methode, die den Job gemacht hat. Der beschriebene Ansatz steht im Einklang mit den dokumentierten F\u00e4higkeiten der Integrationen REST und command_line des Home Assistant.<\/p>\n<p>Am Ende erhalte ich einen einfachen Sensor, einige n\u00fctzliche Attribute und vor allem Lovelace-Karten, die gut zu lesen sind. F\u00fcr mich ist dies genau die Art von Integration, die ich mag: Ein Thema, das anfangs ein wenig technisch war, aber in etwas Konkretes, Visuelles und Allt\u00e4gliches verwandelt wurde.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%94%97_Pour_aller_plus_loin\"><\/span>\ud83d\udd17 Um noch einen Schritt weiter zu gehen:<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"https:\/\/viz.greynoise.io\/\" target=\"_blank\" rel=\"noopener\">https:\/\/viz.greynoise.io\/<\/a><\/li>\n<li><a href=\"https:\/\/check.labs.greynoise.io\/\" target=\"_blank\" rel=\"noopener\">https:\/\/check.labs.greynoise.io\/<\/a><\/li>\n<li><a href=\"https:\/\/ougier.net\/cyber-zombies-votre-routeur-est-il-un-soldat-pour-un-botnet\/\" target=\"_blank\" rel=\"noopener\">https:\/\/ougier.net\/cyber-zombies-votre-routeur-est-il-un-soldat-pour-un-botnet\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Ich verbringe viel Zeit damit, zu \u00fcberwachen, zu sichern und zu verstehen, was in meinem Heimnetzwerk passiert. Zwischen der Internetbox, den unbeabsichtigt ausgestellten Ger\u00e4ten und den permanenten Scans aus dem Internet habe ich mich eines Tages gefragt: Ist meine \u00f6ffentliche IP-Adresse auf [\u2026] als \u201elaut\u201c oder verd\u00e4chtig bekannt?<\/p>","protected":false},"author":1,"featured_media":11238,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[70,14,53],"tags":[],"class_list":["post-11223","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cybersecurite","category-domotique","category-home-assistant"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/posts\/11223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/comments?post=11223"}],"version-history":[{"count":0,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/posts\/11223\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/media\/11238"}],"wp:attachment":[{"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/media?parent=11223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/categories?post=11223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/de\/wp-json\/wp\/v2\/tags?post=11223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}