NEWS
Idee: States markieren, welche in Skripten verwendet werden
-
Hallo zusammen,
Gibt es eine Chance, dass in den Objekten alle die States irgendwie markiert werden, welche in Skripten verwendet werden (und als Sahnehäubchen vielleicht sogar in welchen Skripten)? Ich suche mir manchmal einen Wolf um herauszufinden, ob bestimmte States durch Skripte beeinflusst werden (bei über 100 Skripten schon recht aufwändig). Das wäre für größere Systeme mit vielen Skripten ein unheimlich nützliches Feature.
Vielen Dank schon mal für eine mögliche Berücksichtigung der Idee.
-
Tja, dann ist das eben für dich so...
Auch wenn du nachträglich etwas ohne Kennzeichnung hinzufügst ändert das nichts an der Fragestellung.
Das von dir hinzugefügte existiert doch bereits:

Aber auch hier gilt dass es auf die Fragestellung ankommt.
Sollte @guitardoc einen Wert in Frage stellen und wissen wollen ob und welches Skript diesen Wert "verbrochen" hat, ist alles da!Solltest du aber sämtliche in Skripten verwendete Datenpunkte "einfach so" in allen Datenpunkten auflisten wollen, wird es bei x Skripten irgendwann unübersichtlich
-
Tja, dann ist das eben für dich so...
Auch wenn du nachträglich etwas ohne Kennzeichnung hinzufügst ändert das nichts an der Fragestellung.
Das von dir hinzugefügte existiert doch bereits:

Aber auch hier gilt dass es auf die Fragestellung ankommt.
Sollte @guitardoc einen Wert in Frage stellen und wissen wollen ob und welches Skript diesen Wert "verbrochen" hat, ist alles da!Solltest du aber sämtliche in Skripten verwendete Datenpunkte "einfach so" in allen Datenpunkten auflisten wollen, wird es bei x Skripten irgendwann unübersichtlich
@Homoran [sagte]: sämtliche in Skripten verwendete Datenpunkte "einfach so" in allen Datenpunkten auflisten wollen
Das ist schon deshalb nicht möglich, weil sehr häufig in Skripten Datenpunkt-IDs konstruiert werden; von RegExp und $Selector mal ganz abgesehen.
@Homoran sagte:
Wert in Frage stellen und wissen wollen ob und welches Skript diesen Wert "verbrochen" hat, ist alles da!Wenn ein DP in mehreren Skripten geschrieben wird, kann man nur feststellen, welches Skript aktuell als letztes geschrieben hat.
Da hilft nur ein Debug-Trigger, der die Informationen nach und nach liefert:on({id: 'xyz'}, (dp) => { if(dp.state.c && dp.state.c.startsWith('script.js')) { log(dp.state.val + ' vom Skript ' + dp.state.c.substring(10)); } }); -
@guitardoc [sagte]: in den Objekten alle die States irgendwie markiert werden, welche in Skripten
In der Statusansicht des Tab "Objekte" sieht man, welche DP durch ein Skript aktualisiert wurden:

Man könnte dort sicherlich auch noch den Skriptnamen (state.c.substring(10)) unterbringen.
@guitardoc [sagte]: in den Objekten alle die States irgendwie markiert werden, welche in Skripten
In der Statusansicht des Tab "Objekte" sieht man, welche DP durch ein Skript aktualisiert wurden:

Man könnte dort sicherlich auch noch den Skriptnamen (state.c) unterbringen.
Wenn dort der Skriptname stehen würde, das wäre richtig Klasse. Dann weiß man, aus welchem Skript genau der letzte Wert stammt. Das wäre sehr hilfreich, vor allem wenn man zig Skripte hat. Und wenn auch noch in einer (angeschlossenen) Datenbank mitgeloggt werden könnte aus welchem Skript genau der Wert gekommen ist, dann wäre ich schon überglücklich.
Wenn man außerdem noch in einer Liste direkt am Datenpunkt sehen könnte, in welchen Skripten der Datenpunkt alles vorkommt, dann wäre ich über-überglücklich. Aber da hilft die Suche in den Skripten schon.
-
@guitardoc [sagte]: in den Objekten alle die States irgendwie markiert werden, welche in Skripten
In der Statusansicht des Tab "Objekte" sieht man, welche DP durch ein Skript aktualisiert wurden:

Man könnte dort sicherlich auch noch den Skriptnamen (state.c) unterbringen.
Wenn dort der Skriptname stehen würde, das wäre richtig Klasse. Dann weiß man, aus welchem Skript genau der letzte Wert stammt. Das wäre sehr hilfreich, vor allem wenn man zig Skripte hat. Und wenn auch noch in einer (angeschlossenen) Datenbank mitgeloggt werden könnte aus welchem Skript genau der Wert gekommen ist, dann wäre ich schon überglücklich.
Wenn man außerdem noch in einer Liste direkt am Datenpunkt sehen könnte, in welchen Skripten der Datenpunkt alles vorkommt, dann wäre ich über-überglücklich. Aber da hilft die Suche in den Skripten schon.
@guitardoc [sagte]: Wenn dort der Skriptname stehen würde, das wäre richtig Klasse
Dann erstelle ein Issue auf Github.
-
-
@guitardoc [sagte]: in den Objekten alle die States irgendwie markiert werden, welche in Skripten
In der Statusansicht des Tab "Objekte" sieht man, welche DP durch ein Skript aktualisiert wurden:

Man könnte dort sicherlich auch noch den Skriptnamen (state.c) unterbringen.
Wenn dort der Skriptname stehen würde, das wäre richtig Klasse. Dann weiß man, aus welchem Skript genau der letzte Wert stammt. Das wäre sehr hilfreich, vor allem wenn man zig Skripte hat. Und wenn auch noch in einer (angeschlossenen) Datenbank mitgeloggt werden könnte aus welchem Skript genau der Wert gekommen ist, dann wäre ich schon überglücklich.
Wenn man außerdem noch in einer Liste direkt am Datenpunkt sehen könnte, in welchen Skripten der Datenpunkt alles vorkommt, dann wäre ich über-überglücklich. Aber da hilft die Suche in den Skripten schon.
@guitardoc [sagte]: wenn auch noch in einer (angeschlossenen) Datenbank mitgeloggt werden könnte aus welchem Skript genau der Wert gekommen ist, dann wäre ich schon überglücklich.
Du kannst im Debug-Trigger anstelle des Logs den Text in einen eigenen Test-Datenpunkt schreiben und diesen historisieren.
-
@guitardoc [sagte]: in den Objekten alle die States irgendwie markiert werden, welche in Skripten
In der Statusansicht des Tab "Objekte" sieht man, welche DP durch ein Skript aktualisiert wurden:

Man könnte dort sicherlich auch noch den Skriptnamen (state.c) unterbringen.
Wenn dort der Skriptname stehen würde, das wäre richtig Klasse. Dann weiß man, aus welchem Skript genau der letzte Wert stammt. Das wäre sehr hilfreich, vor allem wenn man zig Skripte hat. Und wenn auch noch in einer (angeschlossenen) Datenbank mitgeloggt werden könnte aus welchem Skript genau der Wert gekommen ist, dann wäre ich schon überglücklich.
Wenn man außerdem noch in einer Liste direkt am Datenpunkt sehen könnte, in welchen Skripten der Datenpunkt alles vorkommt, dann wäre ich über-überglücklich. Aber da hilft die Suche in den Skripten schon.
Dann weiß man, aus welchem Skript genau der letzte Wert stammt.
Genau das zeigt doch der Wert jetzt schon an!
Siehe Screenshot in #14Deswegen hatte ich das ja gezeigt
-
@guitardoc [sagte]: bei mir beispielsweise nicht immer vollständig
Nicht nur bei dir. Die Anzeige ist grundsätzlich auf die benötigte Breite für "Zuletzt geändert" begrenzt.
-
@guitardoc wenn es um den Pfad geht müsstest du den Pfad entweder kürzer gestalten (ich nutze den Ordner common gar nicht) oder die zwei, drei in Frage ko Menden Skripte untersuchen.
Auf jeden Fall bist du schon mal ziemlich dicht am Ziel.
-
Nochmal ein anderer (einfacherer) Vorschlag.
Ich schreibe in meinen Scripten wenn ein DP geschrieben wird auch immer ein log Eintrag.
Also bei einem
setState ...
auch ein
log (:.)Und im Log steht das Script in voller Länge drin. Auch hier gibt es eine Suche.
Damit findest du den Eintrag äußerst schnell. -

Sowas in der Art? Tabelle welcher Datenpunkt von welchem Script bzw welche von mehreren beschrieben werden -

Sowas in der Art? Tabelle welcher Datenpunkt von welchem Script bzw welche von mehreren beschrieben werden -
@guitardoc ist kein Script, das ist mein autodoc Adapter
-
Kann man diesen Adapter irgendwie bekommen? Bei mir wird er nicht in der Adapterliste angezeigt. Oder ist das ein privates Projekt?
@guitardoc gibt es aktuell noch nicht im Repo.
https://forum.iobroker.net/topic/84267/test-adapter-autodoc
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
