eclipse-thingweb / eclipse-thingweb/node-red

Consumed-thing node does not auto-fetch TD from tdLink on import/deploy

Ouverte
#35 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
HTML
Étoiles
6
Forks
7
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

When importing a Node-RED flow that uses the node-red-node-wot "consumed-thing" node with only the `tdLink` set (and an empty `td` field), the node does not automatically fetch the Thing Description (TD) from the provided URL on import or deploy. This results in downstream nodes (such as subscribe-event or invoke-action) failing with errors like:

```
TypeError: Cannot read properties of null (reading 'addUpdateTDListener') at new subscribeEventNode ...
```

Example workflow:
```
[
{
"id": "a18841fe05744488",
"type": "tab",
"label": "WashingMachine-LEDs-Blink",
"disabled": false,
"info": "",
"env": []
},
{
"id": "b1e2c3d4e5f60718",
"type": "consumed-thing",
"tdLink": "http://192.168.0.172:8082/washingmachine",
"td": "",
"http": true,
"ws": false,
"coap": false,
"mqtt": false,
"opcua": false,
"modbus": false,
"basicAuth": false,
"username": "",
"password": ""
},
{
"id": "c2f3e4d5a6b70819",
"type": "consumed-thing",
"tdLink": "http://192.168.0.172:8083/leds",
"td": "",
"http": true,
"ws": false,
"coap": false,
"mqtt": false,
"opcua": false,
"modbus": false,
"basicAuth": false,
"username": "",
"password": ""
},
{
"id": "d3e4f5a6b7c80920",
"type": "subscribe-event",
"z": "a18841fe05744488",
"name": "WashingMachine finishedCycle",
"topic": "",
"thing": "b1e2c3d4e5f60718",
"event": "finishedCycle",
"x": 180,
"y": 160,
"wires": [["e4f5a6b7c8d91021"]]
},
{
"id": "e4f5a6b7c8d91021",
"type": "invoke-action",
"z": "a18841fe05744488",
"name": "Blink LEDs",
"topic": "",
"thing": "c2f3e4d5a6b70819",
"action": "blink",
"uriVariables": "{}",
"x": 420,
"y": 160,
"wires": [["f5a6b7c8d9e01122"]]
},
{
"id": "f5a6b7c8d9e01122",
"type": "debug",
"z": "a18841fe05744488",
"name": "LEDs blinked",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 670,
"y": 160,
"wires": []
}
]
```

**Expected behavior:**
On import or deploy, the consumed-thing node should automatically fetch the TD from the tdLink without manual intervention.

**Actual behavior:**
The TD is not fetched automatically. I have to manually open the consumed-thing node and click "fetch" to populate the TD.

**Additional context:**
This makes it difficult to automate flow generation and deployment. Embedding the full TD in the flow is a workaround, but increases flow size significantly. Please consider making the node auto-fetch the TD from tdLink on deploy/import, or provide an option to do so.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Reproduisez le flux d’exemple en l’important ou en le déployant avec uniquement tdLink défini sur chaque consumed-thing node, puis comparez-le à l’action Fetch manuelle. Suivez le cycle de vie d’importation/déploiement du consumed-thing node ; le travail est terminé lorsque le TD est récupéré automatiquement et que les nodes subscribe-event et invoke-action en aval n’échouent plus.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.