NEWS
[gelöst]Node red liefert/bekommt keine Daten?
-
Hallo zusammen,
ich habe einen relativ einfachen flow in node red erstellt (noobie in node red).
Die Daten stammen alle von einem Modbus Adapter, für ein paar Dashboard objekte werden auch Daten angezeigt aber bei einem werden nicht immer beim laden der Laufzeit Oberfläche Daten ausgelesen/angezeigt, wenn ich das Objekt ändere dann werden die neuen Werte auch übertragen.
(kann das leider nicht eingrenzen wann es klappt und wann nicht).
Das ist der Teil der nicht (immer) funktioniert. Machmal werden auch Daten angezeigt, ich vermute das ist aber immer erst der Fall wenn ich dieses Element über node red bearbeitet habe und dann das ne Zeit lang im cache ist:
Konkret sieht das Ergebnis dann folgendermasen aus:
Eigentlich steht in diesem Element:
Die Werte des node liegen auch in diesem Bereich (Range 16 bis 30).
Das Merkwürdige ist das auch das Debug output keine message erhält:
Wenn ich den Wert über den Slider ändere schreibt er das auch brav in das richtige objekt zurück. (Dann schreibt er auch in den debug, aber immer erst wenn ich den Wert ändere, wenn ich die Seite das erste mal öffne ist der wert wieder leer.)
Muss ich das Auslesen des Wertes erst irgendwie Triggern? (Es macht keinen unterschied ob ACK=true)
Das komische ist das es bei anderen Nodes immer einwandfrei klappt zum Beispiel dieser hier:
Also IST Temp funktioniert immer, SOLL klappt manchmal oder manchmal nicht.
Die objekte im broker sehen für mich auch identisch aus:
Jemand eine idee?
viele Grüße
Jens
-
ok, hat sich erledigt. Ich habe verstanden. Node-red bekommt die Werte immer erst dann mit wenn ein Object geändert wird.
Mit dem Object "io broker GET" und einem einmaligen inject bei start ist mein problem gelöst.
-
Hallo, kannst du mir den Flow zeigen?
-
Natürlich, ich habe es jetzt so gemacht das ich einmalig bei Start über ein inject einmal mit dem io.broker get den aktuellen Wert auslesen.
Wenn er dann später über etwas anderes geändert wird, bsp. Alexa dann erfolgt die Benachrichtigung über das zweite io broker object das bei Änderungen die nachricht erzeugt.
CODE:
! [
! {
! "id": "bed65362.e13f4",
! "type": "ui_numeric",
! "z": "b5ed5e62.97a3a8",
! "name": "",
! "label": "Lüfterstufe",
! "group": "738281d2.a7682",
! "order": 11,
! "width": "0",
! "height": "0",
! "passthru": false,
! "topic": "",
! "format": "{{value}}",
! "min": "1",
! "max": "4",
! "step": 1,
! "x": 810,
! "y": 560,
! "wires": [
! [
! "1ade1b65.69649d"
! ]
! ]
! },
! {
! "id": "34c7546e.8dff94",
! "type": "ioBroker get",
! "z": "b5ed5e62.97a3a8",
! "name": "Studio Lüfterstufe",
! "topic": "modbus.3.holdingRegisters.16386_16386",
! "attrname": "payload",
! "payloadType": "value",
! "x": 510,
! "y": 560,
! "wires": [
! [
! "bed65362.e13f4"
! ]
! ]
! },
! {
! "id": "fc17bb4c.aa91e",
! "type": "inject",
! "z": "b5ed5e62.97a3a8",
! "name": "",
! "topic": "",
! "payload": "Started!",
! "payloadType": "flow",
! "repeat": "",
! "crontab": "",
! "once": true,
! "onceDelay": "",
! "x": 150,
! "y": 660,
! "wires": [
! [
! "b0ae3193.2c0ca",
! "34c7546e.8dff94",
! "c220b7d4.f47b5",
! "cc3f8e1a.a513a8",
! "4a92e63.04e9418",
! "e64e0b27.7b789",
! "58738517.ae9bcc"
! ]
! ]
! },
! {
! "id": "f38b5db.50a5ba",
! "type": "ioBroker in",
! "z": "b5ed5e62.97a3a8",
! "name": "Studio Lüfterstufe",
! "topic": "modbus.3.holdingRegisters.16386_16386",
! "payloadType": "value",
! "onlyack": true,
! "func": "all",
! "gap": "",
! "x": 510,
! "y": 520,
! "wires": [
! [
! "bed65362.e13f4"
! ]
! ]
! },
! {
! "id": "738281d2.a7682",
! "type": "ui_group",
! "z": "",
! "name": "Klimaanlage",
! "tab": "6e7e9c57.313c34",
! "order": 1,
! "disp": true,
! "width": "6",
! "collapse": false
! },
! {
! "id": "6e7e9c57.313c34",
! "type": "ui_tab",
! "z": "",
! "name": "Klima",
! "icon": "dashboard",
! "order": 2
! }
! ]Ich hoffe das war verständlich, falls nicht frag einfach nach.
vg
Jens
-
Danke….......