Ankündigung

Einklappen
Keine Ankündigung bisher.

SmartHomeNG Extension für VS Code

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    SmartHomeNG Extension für VS Code

    ​ Hallo zusammen,

    Ich habe eine VS Code Erweiterung "gevibecodet" um das Bearbeiten und Verwalten der shNG Items bequemer und effizienter zu machen:
    • Suche, sortiere und filtere Items in deiner SmartHomeNG-Konfiguration
    • Navigiere effizient durch deine Konfiguration
    • Editiere und erweitere deine Konfiguration durch kontextbezogene Autovervollständigung und YAML-Unterstützung
    • Binde dein KNX-Projekt ein und finde Gruppenadressen, ohne VS Code zu verlassen

    Die Extension sieht so aus:
    ​


    Die Sprache kann man in den Extension-Settings einstellen (Default: Englisch), genau so wie den Link auf eure KNX-Konfig (optional)

    Installiert einfach diese VS Code Extension:
    ​
    ​​​
    ​

    Funktionen
    • Baumansicht (Activity Bar → SmartHomeNG): alle Items hierarchisch, mit Typ, KNX-Gruppenadressen (→ send, ← listen, ⇐ init), Hue-ID, ƒ für eval, ⏲ für UZSU und verwendetem Struct. Nur durch Structs erzeugte Items sind lila, Attribute aus Structs grau. Klick springt zur Definition in items/.
    • Tooltip mit allen Attributen (inkl. Herkunft aus Struct) und Links zu den Definitionen.
    • Filter: ein Chip je konfiguriertem Plugin (automatisch aus etc/plugin.yaml und den item_attributes der Plugins), sonstige Kategorien (eval, Zeitsteuerung, Cache) und Item-Typen (bool, num, …). Plugins/Sonstige untereinander UND, Typen ODER. Wirkt auf Suche und Item-Baum.
    • Suche (Strg+Shift+Alt+I): Live-Trefferliste über Pfad, Name und Attribute; Muster-Suche wie baddim → eg.bad.licht.spiegel.dimmen; Sortierung nach wenigen Fragmenten und Wortanfängen; vom Filter ausgeblendete Treffer unter einem Strich; nur durch Structs erzeugte Items am Ende.
    • Autovervollständigung in items/*.yaml, structs/*.yaml und logics/*.py:
      • Unter-Items (aus gleichnamigen und gleich tiefen Items, Struct-Kinder zum Erweitern)
      • Attribute (SmartHomeNG-Kern und item_attributes der konfigurierten Plugins, inkl. @instanz)
      • Werte (type, Struct-Namen, valid_list der Plugins, verwendete Werte)
      • Item-Pfade für eval_trigger, hysteresis_input, Ziel von on_change/on_update und sh. in Ausdrücken – absolut und relativ (..geschwister, .kind, ...onkel, .self)
      • sortiert nach dem, was in den vorhandenen Items zusammen vorkommt (z.B. type: bool → knx_dpt → 1)
    • KNX / ETS (Einstellung shngItems.knxProject): knx_send, knx_listen, … schlagen passende Gruppenadressen aus dem ETS-Projekt vor (Name und Gruppen ↔ Item-Pfad, DPT ↔ type/knx_dpt, Status-Adressen für knx_listen) plus die nächste freie Adresse der Gruppe; knx_dpt übernimmt den DPT aus der ETS; Hover über eine Gruppenadresse zeigt ETS-Name, Gruppen, DPT und alle Items, die sie verwenden.
    • Item-Übersicht (Tabellen-Symbol): sortier- und filterbare Tabelle aller Items.
    • Hover & Gehe zu Definition (F12) für Item-Pfade in YAML, Python (Logiken) und HTML (smartVISU).
    • Prüfungen: Warnung bei unbekannten Structs, eval_trigger auf nicht existierende Items und unbekannten sh.*-Referenzen in eval/on_change/on_update.
    • Kontextmenü: Item-Pfad kopieren, Verwendungen suchen; im Editor: „Item im Baum anzeigen“.
    ​Ich habe es auch auf github veröffentlicht, falls sich jemand für den Quellcode interessiert (ich nicht 😂)

    ​Anregungen und Wünsche gerne in diesen Chat.
    Angehängte Dateien
    You do not have permission to view this gallery.
    This gallery has 2 photos.
Lädt...
X