NEWS
$ findet Aliase mit mit fehlender Source nicht
-
@swisslizard sagte in $ findet Aliase mit mit fehlender Source nicht:
Bei Alias Punkten deren Quell-Datenpunkt gelöscht wurde, wird die ID mit dem obigen Statement nicht zurückgegeben
Da bekommst Du doch im Log entsprechende Warnungen.
-
@mickym
Habs grad nochmal ausprobiert.- Neuen Datenpunkt angelegt unter userdata und neuen Alias dazu angelegt.
- ID des Alias wird wie erwartet aufgelistet.
- Datenpunkt unter userdata gelöscht (per Abfalleimersymbol). Alias nicht modifiziert.
- ID des Alias wird vom Code nicht aufgelistet. Im Log gibt es keine Warnng.
- Objektdaten des Alias modifiziert (common.name um ein x ergänzt).Alias zeigt aber immer noch ins leere,
- ID des Alias wird vom Code aufgelistet.
Etwas merkwürdig
-
@swisslizard Ja ich habs auch gerade ausprobiert. Scheint nur Warnungen zu geben, wenn der alias geändert oder erstellt wurde.
-
Kann man da vielleicht einen indirekten Weg gehen ...
- Liste mit "_id" als Schlüssel
- Liste mit "id" als Schlüssel
Alle die in 1. vorkommen aber nicht in 2. sind verwaist ...
-
@swisslizard sagte: Bei Alias Punkten deren Quell-Datenpunkt gelöscht wurde, wird die ID mit dem obigen Statement nicht zurückgegeben
Das kann ich bei mir (JS Version 8.7.6) nicht nachvollziehen. Es werden auch Alias-DP aufgelistet, deren Quell-Datenpunkt schon vor einiger Zeit gelöscht wurde.
Den Quell-DP "0_userdata.0.Batterie.Gesamt.Restkapazitaet" zu "alias.0.Batterie.Restladung" gibt es nicht mehr.
EDIT: Weiter getestet und einen existierenden DP zugewiesen: Alias aufgelistet. Dann existierenden Quell-DP gelöscht: Alias nicht aufgelistet. Merkwürdig!
Noch weiter getestet und Javascript-Instanz neu gestartet: Alias mit nicht existierendem Quell-DP wird wieder aufgelistet.
-
@paul53 sagte in $ findet Aliase mit mit fehlender Source nicht:
EDIT: Weiter getestet und einen existierenden DP zugewiesen: Alias aufgelistet. Dann existierenden Quell-DP gelöscht: Alias nicht aufgelistet. Merkwürdig!
Noch weiter getestet und Javascript-Instanz neu gestartet: Alias mit nicht existierendem Quell-DP wird wieder aufgelistet.Puh, kannst Du das irgendwie in eine reproduzierbaren Beschreibung gießen (am liebsten als Issue)?
-
@haus-automatisierung sagte: reproduzierbaren Beschreibung
Zusammenfassung: Nach Löschen des Quell-DP eines Alias muss die Javascript-Instanz neu gestartet werden, damit ein $-Selektor auf "alias.0" den Alias mit dem gelöschten Quell-DP weiter auflistet.
-
Ich kann das Problem mit folgender Anleitung reproduzieren. Kann auch gerne ein Issue erfassen. Bei https://github.com/ioBroker/ioBroker/issues ?
-
Neuen Datenpunkt in 0_userdata.0.testdatenpunkt anlegen. Von Hand oder per Script.
-
Neuen Alias anlegen. Entweder per Alias-Manager, von Hand oder per Script.
{ "type": "state", "common": { "name": "testdatenpunkt", "role": "state", "type": "string", "read": true, "write": true, "alias": { "id": "0_userdata.0.testdatenpunkt" } }, "_id": "alias.0.testdatenpunktalias.testdatenpunkt", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1725463536428, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
- Alias suchen mit:
const ids=$("[id=alias.0.testdatenpunktalias.testdatenpunkt]").toArray(); log(ids);
Alias wird gefunden:
script.js.common.test.aliasMissingSourceTest: [ 'alias.0.testdatenpunktalias.testdatenpunkt' ]
-
Datenpunkt löschen
-
Alias suchen mit:
const ids=$("[id=alias.0.testdatenpunktalias.testdatenpunkt]").toArray(); log(ids);
Alias wird nicht gefunden:
script.js.common.test.aliasMissingSourceTest: []
-
Javascript Instance neu starten oder Object Data von Alias ändern (z.B. common.name) und speichern.
-
Alias suchen mit:
const ids=$("[id=alias.0.testdatenpunktalias.testdatenpunkt]").toArray(); log(ids);
Alias wird gefunden:
script.js.common.test.aliasMissingSourceTest: [ 'alias.0.testdatenpunktalias.testdatenpunkt' ]
-
-
@swisslizard sagte: Kann auch gerne ein Issue erfassen
Unter https://github.com/ioBroker/ioBroker.javascript/issues.
-
@paul53
Issue erfasst.