Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Neuer Node-Red Adapter 3.x in Latest - Repository

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Neuer Node-Red Adapter 3.x in Latest - Repository

Geplant Angeheftet Gesperrt Verschoben Node-Red
node-red
96 Beiträge 14 Kommentatoren 15.7k Aufrufe 12 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    Nachdem ich im Node-RED Bereich des ioBroker-Forums relativ aktiv bin und auch bei den Tests zu dem neuen Major-Release des Node-Red Adapters in der Version 3.0.0 mithelfen durfte, habe ich mich in Abstimmung mit @apollon77 dazu bereit erklärt ein paar Highlights und Fehlerbehebungen des neuen Major-Releases hier vorzustellen bzw. zu dokumentieren. Teilweise werde ich hier auch ein paar persönliche Schwerpunkte setzen - es aber auch nicht schaffen, alles in einem Posting festzuhalten.

    Ich möchte mich persönlich auf diesem Weg nochmals bei allen Entwicklern (@apollon77, @Bluefox und @jwiesel), die an der Entwicklung und bei der Bereitstellung dieses Node-Red Adapters beteiligt waren, persönlich bedanken!
    Es ist nicht nur ein Meilenstein, weil nun offiziell Node-Red in der Version 2.2.2 enthalten ist und diese ebenfalls ein paar wirkliche Neuerungen und Erleichterungen mit sich bringen, sondern weil in meinen Augen auch die meisten Fehlerbehebungen und Verbesserungen des Node-Red Adapters im Zusammenspiel mit dem iobroker enthalten.

    Da die Sprünge bei den Node-Red Versionen nun doch erheblich waren, hier ein paar Quellen und ein paar Highlights, die inzwischen implementiert wurden.

    Neues Major Release Node-Red Version 2

    In der Version 2.0 sind erst mal die wirklich weit reichensten Änderungen erhalten, die einem das Leben wesentlich erleichtern.

    Einen Überblick vom Node-Red Guru mit einem Video auf Englisch gibt es hier: https://nodered.org/blog/2021/07/20/version-2-0-released

    Ein paar Einstellungen muss man immer noch die settings.js anpassen. Grundsätzlich ist diese Datei vollkommen neu strukturiert und nun wesentlich übersichtlicher aufgebaut.
    Für bestimmte Einstellungen muss man diese immer noch an den bekannten Stellen editieren.

    Wenn man also den "neuen" Monaco Editor im Programmierfenster der function Nodes nutzen möchte, um kontextbezogene Hilfe bzw. Vorschläge zu bekommen, dann muss man das manuell weiterhin in der settings.js machen. Der bisheriger Editor ist "ace", der neue "monaco". Ich bevorzuge eigentlich weiter den bisherigen Editor - aber ist Gewöhnungssache.

    1c1099bd-ca4c-466e-9099-a10aa1f9ea04-image.png

    Eines der gewaltigsten Vorteile der NR Version 2 ist die Installation und das Nutzen externer NodeJS Module in Function Nodes ohne diese installieren zu müssen!!!
    Die Module müssen also nicht in der settings.js bekannt gemacht werden und werden automatisch im
    /opt/iobroker/iobroker-data/node-red/node_modules Verzeichnis installiert. Es ist KEINE Installation über Adaptereinstellungen oder über die Kommandozeile erforderlich.
    Die Module können einfach in den function Nodes über den Setup-Tab bekannt gemacht werden:

    16316e33-96d0-4109-b071-bac6108e053c-image.png

    Beispiele für die Verwendung von NodeJS Bibliotheken in function Nodes gibts in diesem Thread.

    Ansonsten heißen die ehemaligen RBE Nodes nun Filter Nodes:

    f1725060-85cf-4507-9b99-62f8a2425010-image.png

    Wenn es Probleme mit dieser Node gibt - müsst ihr ggf. die rbe Nodes manuell deinstallieren. Im Palettenmanager tauchen die rbe/filter Nodes unter den Core Nodes auf und dürfen nicht mehr als eigenständige Nodes zu sehen sein.

    Die tail Node ist im Gegenzug nicht mehr Bestandteil der Core-Nodes. Wer diese also braucht oder im Einsatz hat muss diese neu installieren: https://flows.nodered.org/node/node-red-node-tail

    Ab der Version 2.1.
    gibt es als Highlight erst mal eine Guided Tour, die alle Neuerungen vorstellt. Allerdings kann man nicht die Vorgängerversionen anschauen - da die aktuelle Version bereits 2.2.2 ist - findet man nun die Guided Tour nur für diese Version, aber eben keine anderen.

    Die aktuelle Guided Tour findet man unter dem Change Log - das sich öffnet sobald man im Hauptmenü auf die aktuelle Versionsnummer klickt. Dort findet man dann ganz oben die Guided Tour.

    9a3e3557-dc9d-4bd9-8ffd-7653d22cb9af-image.png 3e1a5225-4350-4925-9bdb-8fa8a183dd66-image.png

    Die Details vom NR-Guru in Englisch findet man hier - zusammen mit einem Video: https://nodered.org/blog/2021/10/21/version-2-1-released

    Dieses Release vor allem verbessert die Übersichtlichkeit und das Anordnen der Nodes. Man markiert die gewünschten Nodes und kann diese dann über das Menü anordnen:

    fd523360-9619-42ba-8ac8-760cb77d5757-image.png

    Wer schon mal mit Visio oder ähnlichen Tools gearbeitet hat oder Visual Basic um eine GUI zu entwerfen, dem wird das sicher bekannt vorkommen. ;)

    Das wichtigste Menü - um die bessere Übersichtlichkeit zu nutzen - ist im Flows Menü:

    67634f91-3efe-44df-9d9f-bd82158cb2bf-image.png

    Damit kann mal alle Flows, die man gerade nicht braucht verstecken und über den Dialog wieder sichtbar machen oder man klickt in der Flow übersicht auf den Flow und toggelt zwischen versteckt (durchgestrichenes Auge) und sichtbar:

    d9c71a89-66b7-4417-9ad7-13a44890f331-image.png

    Ein weitere Möglichkeit einen Flow zu verstecken ist einfach in dem Tab auf das Auge zu klicken:
    18984b4c-2546-437c-8c94-bdb7b66406d8-image.png

    Eine weitere meines Erachtens sehr erwähnenswerte Neuerung ist, dass man nicht nur für Subflows, sondern auch für Flows Umgebungsvariablen nutzen zu können, um ggf. die Flows zu initialisieren. Dazu braucht man also nicht mehr unbedingt einen Datenpunkt im iobroker zu definieren.

    Bei Subflows sind diese Umgebungsvariablen schon eine gute Erfindung, da man so jede Instanz der Node bzw. des Subflows unterschiedlich initialisieren kann.

    Hier mal ein Beispiel für die Initialisierung eines Flows.
    In den Eigenschaften eines Flows gibt es rechts einen neuen Button, in dem man Umgebungsvariablen definieren kann.

    62165503-91fd-48fb-90b8-2e242c21c8b1-image.png

    In dem Flow kann man dann auf diese Umgebungsvariable zugreifen.

    f32e9b5e-369c-4577-80d2-b369903b8f02-image.png

    Ein weiteres Highlight dieser Version ist für mqtt-Benutzer.
    Man kann die MQTT Nodes nun dynamisch konfigurieren. In der Beschreibung zum mqtt-Broker kann man nun das automatische Verbinden unterbinden - das sehe ich aber nicht als den Hauptvorteil.

    Der Vorteil dieser MQTT Nodes dynamisch zu konfigurieren ist, dass man so ein topic getriggert auslesen kann, was man im iobroker Umfeld mit einer iobroker-get Node macht.
    Allerdings ist das nicht gut dokumentiert in der Hilfe:

    Wenn man die mqtt-In Node dynamisch konfiguriert - bekommt diese einen Eingang und kann dann über msg.topic getriggert das topic auslesen:

    6cab157b-d79b-47ea-9ca4-d78172a94ba2-image.png

    Damit das Ganze aber funktioniert muss man eine action subscribe mitgeben - und wie gesagt das ist alles nicht dokumentiert:

    79c934ee-4437-411d-9e42-15304638897f-image.png

    Ein paar Beispiele für valide actions - gerade auch zum manuelle Aufbau zu einem mqtt Broker gibts hier in dem folgenden Flow:

    [
       {
           "id": "52942541834747c1",
           "type": "mqtt out",
           "z": "54b226bc.0793e8",
           "name": "",
           "topic": "",
           "qos": "",
           "retain": "",
           "respTopic": "",
           "contentType": "",
           "userProps": "",
           "correl": "",
           "expiry": "",
           "broker": "8a6b74c0.3c461",
           "x": 390,
           "y": 3200,
           "wires": []
       },
       {
           "id": "e2f0aae314b88447",
           "type": "inject",
           "z": "54b226bc.0793e8",
           "name": "connect port 1883",
           "props": [
               {
                   "p": "action",
                   "v": "connect",
                   "vt": "str"
               },
               {
                   "p": "broker",
                   "v": "{\"broker\":\"192.168.1.51\",\"port\":1883}",
                   "vt": "json"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "x": 190,
           "y": 3200,
           "wires": [
               [
                   "52942541834747c1",
                   "c1cfb193f31c86a7"
               ]
           ]
       },
       {
           "id": "f5ed93bae65b0374",
           "type": "inject",
           "z": "54b226bc.0793e8",
           "name": "connect 1884",
           "props": [
               {
                   "p": "action",
                   "v": "connect",
                   "vt": "str"
               },
               {
                   "p": "broker",
                   "v": "{\"broker\":\"192.168.1.51\",\"port\":1884}",
                   "vt": "json"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "payloadType": "str",
           "x": 170,
           "y": 3280,
           "wires": [
               [
                   "52942541834747c1"
               ]
           ]
       },
       {
           "id": "c1cfb193f31c86a7",
           "type": "debug",
           "z": "54b226bc.0793e8",
           "name": "",
           "active": true,
           "tosidebar": true,
           "console": false,
           "tostatus": false,
           "complete": "true",
           "targetType": "full",
           "statusVal": "",
           "statusType": "auto",
           "x": 440,
           "y": 3120,
           "wires": []
       },
       {
           "id": "1342c8cb6c7d1396",
           "type": "inject",
           "z": "54b226bc.0793e8",
           "name": "disconnect",
           "props": [
               {
                   "p": "action",
                   "v": "disconnect",
                   "vt": "str"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "x": 180,
           "y": 3420,
           "wires": [
               [
                   "52942541834747c1"
               ]
           ]
       },
       {
           "id": "a945fa7b989d68d6",
           "type": "mqtt in",
           "z": "54b226bc.0793e8",
           "name": "",
           "topic": "",
           "qos": "2",
           "datatype": "auto",
           "broker": "8a6b74c0.3c461",
           "nl": false,
           "rap": true,
           "rh": 0,
           "inputs": 1,
           "x": 390,
           "y": 3540,
           "wires": [
               []
           ]
       },
       {
           "id": "a853a0255681f2c0",
           "type": "inject",
           "z": "54b226bc.0793e8",
           "name": "connect",
           "props": [
               {
                   "p": "action",
                   "v": "connect",
                   "vt": "str"
               },
               {
                   "p": "topic",
                   "vt": "str"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "x": 200,
           "y": 3120,
           "wires": [
               [
                   "52942541834747c1"
               ]
           ]
       },
       {
           "id": "388b902f250d4ab1",
           "type": "inject",
           "z": "54b226bc.0793e8",
           "name": "force  connect 1884",
           "props": [
               {
                   "p": "action",
                   "v": "connect",
                   "vt": "str"
               },
               {
                   "p": "broker",
                   "v": "{\"broker\":\"192.168.1.51\",\"port\":1884,\"force\":true}",
                   "vt": "json"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "x": 190,
           "y": 3340,
           "wires": [
               [
                   "52942541834747c1"
               ]
           ]
       },
       {
           "id": "6128f1909cbf8ea4",
           "type": "inject",
           "z": "54b226bc.0793e8",
           "name": "subscribe topic test",
           "props": [
               {
                   "p": "action",
                   "v": "subscribe",
                   "vt": "str"
               },
               {
                   "p": "topic",
                   "vt": "str"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "test",
           "x": 180,
           "y": 3540,
           "wires": [
               [
                   "a945fa7b989d68d6"
               ]
           ]
       },
       {
           "id": "4c7b8677c28b28d6",
           "type": "inject",
           "z": "54b226bc.0793e8",
           "name": "Unsubscribe topic test",
           "props": [
               {
                   "p": "action",
                   "v": "unsubscribe",
                   "vt": "str"
               },
               {
                   "p": "topic",
                   "vt": "str"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "test",
           "x": 209,
           "y": 3606,
           "wires": [
               [
                   "a945fa7b989d68d6"
               ]
           ]
       },
       {
           "id": "8a6b74c0.3c461",
           "type": "mqtt-broker",
           "name": "localhost:1883",
           "broker": "192.168.1.51",
           "port": "1883",
           "clientid": "",
           "autoConnect": false,
           "usetls": false,
           "protocolVersion": "5",
           "keepalive": "60",
           "cleansession": true,
           "birthTopic": "",
           "birthQos": "0",
           "birthRetain": "false",
           "birthPayload": "",
           "birthMsg": {},
           "closeTopic": "",
           "closePayload": "",
           "closeMsg": {},
           "willTopic": "",
           "willQos": "0",
           "willRetain": "false",
           "willPayload": "",
           "willMsg": {},
           "sessionExpiry": ""
       }
    ]
    

    Ansonsten kann man im Debug Fenster nun auch die Debug Nodes filtern, die man sehen will, ohne diese im Flow deaktivieren bzw. aktivieren zu müssen. Hab ich aber auch noch nicht benutzt.

    Auf die Highlights der Version 2.2 gehe ich hier erst mal nicht ein - hier verweise ich auf die aktuelle Guided Tour.

    ==============================================================================

    Ich halte mich mal an die Liste - und werde diese ggf. mit eine paar Beispielen aufzeigen:

    3.0.0 (2022-03-11)

    IMPORTANT: Node-RED is now v2. Please check your nodes for compatibility! See also https://nodered.org/blog/2021/07/20/version-2-0-released and https://nodered.org/blog/2021/10/21/version-2-1-released

    • (jwiesel) Node-RED updated to 2.2.2

    Nun erst nochmals vielen Dank! - Wie gesagt an dem vorangegangen Post sieht man, dass doch erhebliche Erweiterungen und Verbesserungen mit den neuen Verbesserungen einhergegangen sind.

    • (jwiesel) "Tail" node has been removed from the default palette in Node-RED 2.0. You can reinstall it from node-red-node-tail.

    wurde bereits erwähnt

    • (Apollon77) Automatically create missing folders when node-red creates objects in javascript., node-red. and 0_userdata.0.*

    Hier steckte ein größerer Aufwand dahinter ist nun aber wieder kompatibel mit dem neuen Admin 5 und erstellt nun automatisch Folder Objekte für alle Hierarchieebenen. Ich persönlich habe mich ja sehr darüber mokiert, dass das nun so unflexibel war und bin hier sehr dankbar, dass dieses Problem gelöst ist und man unter 0_userdata.0.* wieder volle Flexibilität hat. Auch Folder Objekte in der Hierarchie können im Nachhinein wieder zu States umgewandelt werden. Als Beispiel werde ich mal meinen Subflow verwenden, um zu demonstrieren, dass die Objekte nun automatisch von der iobroker-out Node angelegt werden.

    Ich hab einfach mal aus den JSONATA Beispielen mal einen JSON String als Beispiel genommen und in eine INJECT-Node gepackt:

    a1267a73-3522-4646-b11e-f42593e2d219-image.png
    Über eine Subflow Variable legt man fest unter welchem Datenpunkt die Struktur angelegt werden soll.

    Das Ergebnis kann sich nun sehen lassen:

    712528bf-8408-43ed-9a19-d3a16136ca7f-image.png

    Man sieht der ganze JSON String wird als Datenstruktur mit den erforderlichen Folder-Objekten von der iobroker-out Node angelegt. Herzlichen Dank nochmals an @apollon77

    • (jwiesel) Added NodeRed parameter httpStatic to instance settings

    Auch das habe ich angeregt, da ich bei jedem Update die settings.js immer anpassen musste und das in meinen Augen ein wichtiger Parameter ist, den man nun in der Adapterkonfiguration festlegen kann.

    76c54ba5-ea69-4dfd-bac8-1af434031a5a-image.png

    Dieses Verzeichnis ist das Basisverzeichnis, um im Dashboard auf eigene Resourcen zugreifen zu können. Das können JS-Programme sein (s. Steelseries Thread) oder bei mir liegen Bilder und Wettericons in diesem Pfad.

    Im Flow ist das dann das Root Verzeichnis:

    Hier zeige ich zum Beispiel ein bestimmtes Icon für das Wetter an:

    619c1387-4ddf-4a0e-a949-c52e6876381a-image.png
    Basis ist also : /images/WetterIcons/ zusammen mit dem http-Static Path - liegt das Verzeichnis auf der Maschine also im Verzeichnis:
    /data/node-red/images/WetterIcons/

    40fe5ce5-5d44-4979-981c-82b74ead5c5b-image.png

    • (bluefox) Added the reading of objects from admin for SelectID dialog

    Das ist meines Erachtens noch offen und funktioniert immer noch nicht.
    Also den Pfad weiterhin manuell rauskopieren oder den Adapter neu starten.

    • (bluefox) Added debug output: Cannot set state of non-existing object

    Das ist meines Erachtens auch eine riesige Verbesserung. Hier gab es in der Vorgängerversion folgenden Eintrag im Log:

    Automatic objects creation is not enabled. You can enable it in the node configuration
    

    Da kommt man auch nicht gleich drauf, dass diese Meldung erzeugt wird, weil eine iobroker-IN oder iobroker-GET Node einen Datenpunkt im iobroker lesen möchte, den es gar nicht gibt.

    Hier mal eine ioBroker IN Node, die auf einen Datenpunkt verweist - der nicht existiert.

    Nun war man in der Vergangenheit mit obiger Meldung aufgeschmissen, weil man

    1. nicht wusste welcher Datenpunkt nicht existiert
      und
    2. man nicht wusste welche Node auf diesen Datenpunkt verweist.

    ac7a449e-5760-4e00-9860-79083761ee34-image.png

    Nun löst der neue Log-Eintrag beide Probleme:

    5727f4605ec73bac: "ioBroker in" Cannot set state of non-existing object "0_userdata.0.testType5".
    

    zum einen weiß man nun welcher Datenpunkt nicht existiert und bekommt auch noch gleich die Node-ID mitgeliefert mit der man die Node in seinen Flows identifizieren kann. Also die ID aus dem LOG kopieren und dann in das Suchfenster der Flows eingeben.
    Mit der Suche wird einem nicht nur die Node angezeigt:

    3e6d891e-c8e6-4bab-99fd-096287a71c7b-image.png

    Durch einen Doppelklick auf die Lupe wird sowohl auf den Flow mit der betroffenen Node gewechselt, diese markiert (oranger Rahmen) und die Definition aufgemacht.
    527d91ef-a74a-4beb-80e5-2eac84c40722-image.png

    Also in meinen Augen ein toller Komfortgewinn.

    • (bluefox) Allow setting of regular expression in the list node in message

    Hier hat nach meinen Tests, sowohl der reguläre Ausdruck nicht richtig funktioniert und zukünftig ist dieser reguläre Ausdruck auch noch dynamisch konfigurierbar.

    Hier wieder ein Anwendungsbeispiel:

    Die folgende iobroker-List Node - kann alle Objekte eines bestimmten Typs mit einem bestimmten Pfad selektieren.
    Hier mal meine Struktur unter 0_userdata.0

    d3884432-46f6-463a-861f-4a7f3486ac2a-image.png

    Über einen regulären Ausdruck möchte ich nun nur die Datenpunkte

    0_userdata.0.testType2
    0_userdata.0.testType3
    0_userdata.0.testType4
    

    herausfiltern.

    Die Definition der List Node sieht also wie folgt aus:

    e05708f5-1c02-4221-8eb7-c58cbc268647-image.png

    Das Topic selektiert alle Objekte unter 0_userdata.0.* (grün markiert) und filtert dann mit dem regulären Ausdruck (gelb markiert) die 3 gewünschten Objekte heraus .

    Die Anforderung war nun auch den Filter dynamisch konfigurieren zu können.

    Nun kann sowohl das Topic (grün), als auch der reguläre Ausdruck (gelb) über msg.regex dynamisch konfiguriert werden!

    90deb17a-a679-4cfa-b69c-ca12b4729537-image.png

    • (bluefox) Allow the filtering of ack=false messages for IN node

    Auch dies macht nun den NR-Fans das Leben viel leichter - hier hatten die Blockly Fans immer einen Vorteil. Wir konnten nie auf ACK=false überprüfen, sondern nur auf true oder egal. Gut es ging umständlich, indem wir das gesamte Objekt auslasen und dann über eine Switch Node filterten.

    Nun kann man auch ACK= false filtern und quasi wie ein HW Adapter agieren:

    2e7b43e8-fa70-40e5-840f-dc013b18da0a-image.png

    Beispiel in Zusammenspiel mit dem YAHKA Adapter, um Endlosschleifen zu vermeiden.
    Man erstellt zum Beispiel einen eigenen Datenpunkt unter 0_userdata.0. Wenn man dann in der HomeApp das Gerät schaltet, wird dieser Datenpunkt mit ACK=false gesetzt. Der Flow filtert dann über ACK=false und der iobroker-In Node den Trigger heraus und schaltet die eigentliche Hardware. Als Rückmeldung setzt der Flow den Datenpunkt mit ACK=true und verhindert so, dass die HW erneut geschaltet wird.

    • (Apollon77) Enhance GetNode rbe/deadband functions to optionally ignore initial value (wurde in Version 3.1.x geändert - und am Ende ergänzt)

    • (Apollon77) Return undefined for GetNode if the state currently has no value set (e.g. because expired or never set)

    Das bisherige Verhalten - hatte einen nicht vorhandenen State einfach ignoriert. Damit konnte man im Flow nicht auf diesen Fall reagieren und ggf. einen State erstellen. Nun hat man folgende Möglichkeiten:

    768b1683-168e-4790-bc2e-8a2f974daf05-image.png

    1. Return nothing
      Das entspricht dem bisherigen Verhalten und nicht vorhandene States werden ignoriert. Eine info wird im iobroker Log geloggt.

    2. Return state value as undefined
      Es wird ein undefined zurückgegeben, egal ob ein Wert nicht existiert oder nicht initialisiert ist. Man muss also in der Folge selbst entscheiden, ob man auf beide Situationen unterschiedlich reagieren will.

    3. Return error
      Ein uninitialisierter Wert wird weiterhin undefined weitergeben, bei einem nicht vorhandenen Wert wird ein Fehler erzeugt. Wird dieser nicht behandelt gibt es nur eine Fehlereintrag im LOG mit dem entsprechenden Datenpunkt, der nicht vorhanden ist.
      In Kombination mit einer Catch-Node kann man diesen Fehler abfangen und den Datenpunkt/State über eine iobroker-out Nodes anlegen.

    • (Apollon77) Allow for GetNode to return an error if a state-id is used for which no object exists, else also return undefined

    Wurde wie vorher besprochen.

    • (Apollon77) Also allow to access system.* states directly

    Das war leider seit der Version 2.x des iobroker NodeRed-Adapters nicht mehr möglich. In der Version 1 ging das. Somit musste man einen Alias bemühen, um den Zustand von beispielsweise Adapter zu überprüfen.

    Nun kann man die Objekte unter system wieder abfragen:

    4de0c45b-f846-447a-94c5-8e453c59e117-image.png

    Damit ist es ohne Umwege wieder möglich - den Zustand von Adapter zu analysieren und ggf. eigene Maßnahmen einzuleiten.

    Vielen Dank auch hierfür.

    • (Apollon77) When RBE function is used on InNode and not value is sent on start still initialize current value internally

    wurde bereits besprochen

    • (Apollon77) Add node-ID in front of all log lines logged by node logic

    Der Komfortgewinn wurde in Zusammenhang bei der Suche von iobroker-IN Nodes, die auf nicht vorhandene Datenpunkte verweisen erläutert.

    • (jwiesel) Changed default setting to "convert data from ioBroker nodes into Strings" to false. Setting will not be changed automatically in instances already existing

    Dies ist wohl eine der wichtigsten Verbesserungen für Anfänger. Wie oft muss man fragen, ob hier der Haken rausgenommen wurde. Nun ist der Standardwert, dass aus dem iobroker gelesene Werte ihren Typ behalten und nicht in Strings umgewandelt werden!

    ==============================================================================

    Also nochmals vielen Dank - an alle die an den Verbesserungen mitgewirkt haben und falls es noch Fragen zu meinen Erläuterungen gibt, nutzt den Thread und ich denke neben mir werden auch alle anderen versuchen, hier zu helfen!!!

    Ach ja - noch was Wichtiges: Dieser Node-Red Adapter ist nun mit dem JS 4.0.x Adapter kompatibel!!! - Somit können auch NR-Fans nun wieder das System auf den akuellen Stand bringen!

    ==============================================================================
    Änderungen in Version 3.2.0

    • ListenpunktEnhance GetNode rbe/deadband functions to optionally ignore initial value

    Das ignorieren des Initialwertes entspricht nun dem Verhalten der Filter Node und bedeutet, dass dieser Initialwert nicht gesendet wird, sondern nur zum Initialisieren der Node genutzt wird, um Änderungen zu erkennen.

    Die Beschreibung wurde von Ignore auf Initialize geändert:

    3cab447c-e3a7-467c-b7a1-f461ba4e03a1-image.png

    Will man also den Anfangswert nach Adapterstart oder Neustart der Flows unterdrücken will, nutzt man die Initialisierungsoption - anderenfalls wird dieser Wert - falls Nachrichten bei Start auslesen gewählt ist - gesendet.

    Hier das Bild direkt nach Adapterstart - wenn send msg at start definiert wurde:

    f75c3999-d239-436a-bfcb-84c339ee73f4-image.png

    Falls no msg at start ausgewählt wurde findet die Initialisierung nach dem ersten Update statt.

    Ansonsten stehen wie beim Filter diese Optionen zur Verfügung:

    1. Wert hat sich geändert.
    2. Wert hat sich um einen definierten Wert geändert (also um eine Zahl)
    3. Wert hat sich um einen Prozentsatz geändert.

    In den Fällen 2 und 3 wird größer gleich als Vergleich angewandt.

    Das ganze funktioniert nicht über Wildcards.

    Für alle komplexeren Fälle empfieht es sich die Filter-Node in Kombination zu nutzen.
    In diesem Fall sollte man die iobroker-In Node, wie folgt konfigurieren:

    1. send msg at start
    2. send all events

    Die Filterung konfiguriert man dann über die Filter Node. Da stehen weitere Optionen zur Verfügung. Nutzt man Wildcards in der iobroker-IN Node, und konfiguriert, dass der Filter auf topic Basis arbeitet:

    ddcf1313-5065-47b1-994b-1685794a6585-image.png

    • (Bannsaenger) Added option for in Node to choose topic format (MQTT with / or ioBroker with .). Default: MQTT

    Nach dem Bilder in meinen Augen mehr als 1000 Worte sagen. Das bisherige Verhalten die Hierarchien der Topics mit / zu trennen, wie es unter MQTT üblich ist (grün), kann man sich das topic auch als iobroker Pfade mit einem Punkt zur Trennung der Hierarchieebenen ausgeben lassen (gelb).

    941e64f1-944b-47d0-88be-1f0f0137cfde-image.png

    Zu den letzten beiden Punkten kann ich nicht viel sagen, da ich weder Authentisierung, noch das Ändern der Pfade für den Webzugang genutzt habe.

    • Added new parameter "httpNodeRoot" as httpRoot has been replaced by httpAdminRoot in version 3.0.0.

    • Added extended authentication to instance settings and config
      Hier hat man in der NodeRed Adapter Konfiguration einen eigenen Tab, mit folgenden Optionen:

    1. Keine Authentifizierung
    2. Einfache Authentifizierung - mit Benutzer und Passwort (wobei ich nicht weiß, ob das wirklich noch funktioniert)
    3. Erweiterte Authentifizierung - hier kann man dann verschiedene Benutzer mit einer differenzierten Rechtevergabe definieren.

    5a60bb09-ded0-415a-aa24-dcaa2fa9c8fe-image.png

    Aber wie gesagt - hier muss man selbst Nachlesen welche Rechte es gibt.

    26ce2512-2b1b-4d23-b0d2-5ec9a11cb104-image.png

    Viel habe ich zu Benutzerberechtigungen nicht gefunden: Entweder "read" oder "*" für Vollzugriff. Welche Objekte es gibt, muss man eher ausprobieren. HIer mal die Seite zu BEnutzerberechtigungen: https://nodered.org/docs/user-guide/runtime/securing-node-red#user-permissions

    apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #8

    @mickym Mega Dank an @mickym für diesen Mega ausführlichen Post!!

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    1 Antwort Letzte Antwort
    0
    • J Jan1

      Was möchte mir diese Warnung mitteilen?

      2022-03-12 07:27:31.096 - warn: node-red.0 (1156817) Cannot enable the dynamic object read as admin has authentication
      
      apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von apollon77
      #9

      @jan1 sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:

      2022-03-12 07:27:31.096 - warn: node-red.0 (1156817) Cannot enable the dynamic object read as admin has authentication

      Der grund ist das deine Admin Instanz SSL aktiv hat du das aber nicht im node-red hast (oder anders rum) ... damit ist die Kommunikation zwischen node-red und admin bezogen auf den "Objekt-ID Selector Dialog" nicht möglich und die Meldung sagt das das aktuell nicht geht.

      EDIT:
      Btwww ... warte ... die Meldung sagt das Admin ein passwort gesetzt hat und damit nide-red nicht zugreifen kann ... SSL wäre ne leicht andere Meldung

      @mickym Kann das vllt ein grund sein warum der Dialog nicht tut? ;-)

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      J 1 Antwort Letzte Antwort
      0
      • apollon77A apollon77

        @jan1 sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:

        2022-03-12 07:27:31.096 - warn: node-red.0 (1156817) Cannot enable the dynamic object read as admin has authentication

        Der grund ist das deine Admin Instanz SSL aktiv hat du das aber nicht im node-red hast (oder anders rum) ... damit ist die Kommunikation zwischen node-red und admin bezogen auf den "Objekt-ID Selector Dialog" nicht möglich und die Meldung sagt das das aktuell nicht geht.

        EDIT:
        Btwww ... warte ... die Meldung sagt das Admin ein passwort gesetzt hat und damit nide-red nicht zugreifen kann ... SSL wäre ne leicht andere Meldung

        @mickym Kann das vllt ein grund sein warum der Dialog nicht tut? ;-)

        J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von
        #10

        @apollon77
        Ich habe sowohl im Admin als auch im Node-Red ein User mit Login angelegt. Alles läuft auf HTTPS, sonst wären die Logins eh fün .... ;)
        Auch der Web Adapter ist mit Authentifikation.

        Klar, wenn ich alles ohne mache, kommt auch die Warnung nicht mehr.
        Bist jetzt stört auch nur die Warnung, da augenscheinlich alles läuft.

        Claus1985 0C 1 Antwort Letzte Antwort
        1
        • J Jan1

          @apollon77
          Ich habe sowohl im Admin als auch im Node-Red ein User mit Login angelegt. Alles läuft auf HTTPS, sonst wären die Logins eh fün .... ;)
          Auch der Web Adapter ist mit Authentifikation.

          Klar, wenn ich alles ohne mache, kommt auch die Warnung nicht mehr.
          Bist jetzt stört auch nur die Warnung, da augenscheinlich alles läuft.

          Claus1985 0C Offline
          Claus1985 0C Offline
          Claus1985 0
          schrieb am zuletzt editiert von
          #11

          @jan1 Hab die gleiche Fehlermeldung. Kannst Du mir sagen welche Einstellungen Du dafür im Node Red verwendet hast? Wenn ich im Adapter einen User mit Kennwort angebe kann ich anschließend NodeRed nur noch separat mit https im Browser öffnen allerdings bekomme ich die Fehlermeldung immer noch im Log..

          J apollon77A 2 Antworten Letzte Antwort
          0
          • Claus1985 0C Claus1985 0

            @jan1 Hab die gleiche Fehlermeldung. Kannst Du mir sagen welche Einstellungen Du dafür im Node Red verwendet hast? Wenn ich im Adapter einen User mit Kennwort angebe kann ich anschließend NodeRed nur noch separat mit https im Browser öffnen allerdings bekomme ich die Fehlermeldung immer noch im Log..

            J Offline
            J Offline
            Jan1
            schrieb am zuletzt editiert von
            #12

            @claus1985-0
            Hast den Web Adapter auch auf HTTPS? Wenn, dann musst alles umstellen.

            1 Antwort Letzte Antwort
            0
            • mickymM mickym

              Nachdem ich im Node-RED Bereich des ioBroker-Forums relativ aktiv bin und auch bei den Tests zu dem neuen Major-Release des Node-Red Adapters in der Version 3.0.0 mithelfen durfte, habe ich mich in Abstimmung mit @apollon77 dazu bereit erklärt ein paar Highlights und Fehlerbehebungen des neuen Major-Releases hier vorzustellen bzw. zu dokumentieren. Teilweise werde ich hier auch ein paar persönliche Schwerpunkte setzen - es aber auch nicht schaffen, alles in einem Posting festzuhalten.

              Ich möchte mich persönlich auf diesem Weg nochmals bei allen Entwicklern (@apollon77, @Bluefox und @jwiesel), die an der Entwicklung und bei der Bereitstellung dieses Node-Red Adapters beteiligt waren, persönlich bedanken!
              Es ist nicht nur ein Meilenstein, weil nun offiziell Node-Red in der Version 2.2.2 enthalten ist und diese ebenfalls ein paar wirkliche Neuerungen und Erleichterungen mit sich bringen, sondern weil in meinen Augen auch die meisten Fehlerbehebungen und Verbesserungen des Node-Red Adapters im Zusammenspiel mit dem iobroker enthalten.

              Da die Sprünge bei den Node-Red Versionen nun doch erheblich waren, hier ein paar Quellen und ein paar Highlights, die inzwischen implementiert wurden.

              Neues Major Release Node-Red Version 2

              In der Version 2.0 sind erst mal die wirklich weit reichensten Änderungen erhalten, die einem das Leben wesentlich erleichtern.

              Einen Überblick vom Node-Red Guru mit einem Video auf Englisch gibt es hier: https://nodered.org/blog/2021/07/20/version-2-0-released

              Ein paar Einstellungen muss man immer noch die settings.js anpassen. Grundsätzlich ist diese Datei vollkommen neu strukturiert und nun wesentlich übersichtlicher aufgebaut.
              Für bestimmte Einstellungen muss man diese immer noch an den bekannten Stellen editieren.

              Wenn man also den "neuen" Monaco Editor im Programmierfenster der function Nodes nutzen möchte, um kontextbezogene Hilfe bzw. Vorschläge zu bekommen, dann muss man das manuell weiterhin in der settings.js machen. Der bisheriger Editor ist "ace", der neue "monaco". Ich bevorzuge eigentlich weiter den bisherigen Editor - aber ist Gewöhnungssache.

              1c1099bd-ca4c-466e-9099-a10aa1f9ea04-image.png

              Eines der gewaltigsten Vorteile der NR Version 2 ist die Installation und das Nutzen externer NodeJS Module in Function Nodes ohne diese installieren zu müssen!!!
              Die Module müssen also nicht in der settings.js bekannt gemacht werden und werden automatisch im
              /opt/iobroker/iobroker-data/node-red/node_modules Verzeichnis installiert. Es ist KEINE Installation über Adaptereinstellungen oder über die Kommandozeile erforderlich.
              Die Module können einfach in den function Nodes über den Setup-Tab bekannt gemacht werden:

              16316e33-96d0-4109-b071-bac6108e053c-image.png

              Beispiele für die Verwendung von NodeJS Bibliotheken in function Nodes gibts in diesem Thread.

              Ansonsten heißen die ehemaligen RBE Nodes nun Filter Nodes:

              f1725060-85cf-4507-9b99-62f8a2425010-image.png

              Wenn es Probleme mit dieser Node gibt - müsst ihr ggf. die rbe Nodes manuell deinstallieren. Im Palettenmanager tauchen die rbe/filter Nodes unter den Core Nodes auf und dürfen nicht mehr als eigenständige Nodes zu sehen sein.

              Die tail Node ist im Gegenzug nicht mehr Bestandteil der Core-Nodes. Wer diese also braucht oder im Einsatz hat muss diese neu installieren: https://flows.nodered.org/node/node-red-node-tail

              Ab der Version 2.1.
              gibt es als Highlight erst mal eine Guided Tour, die alle Neuerungen vorstellt. Allerdings kann man nicht die Vorgängerversionen anschauen - da die aktuelle Version bereits 2.2.2 ist - findet man nun die Guided Tour nur für diese Version, aber eben keine anderen.

              Die aktuelle Guided Tour findet man unter dem Change Log - das sich öffnet sobald man im Hauptmenü auf die aktuelle Versionsnummer klickt. Dort findet man dann ganz oben die Guided Tour.

              9a3e3557-dc9d-4bd9-8ffd-7653d22cb9af-image.png 3e1a5225-4350-4925-9bdb-8fa8a183dd66-image.png

              Die Details vom NR-Guru in Englisch findet man hier - zusammen mit einem Video: https://nodered.org/blog/2021/10/21/version-2-1-released

              Dieses Release vor allem verbessert die Übersichtlichkeit und das Anordnen der Nodes. Man markiert die gewünschten Nodes und kann diese dann über das Menü anordnen:

              fd523360-9619-42ba-8ac8-760cb77d5757-image.png

              Wer schon mal mit Visio oder ähnlichen Tools gearbeitet hat oder Visual Basic um eine GUI zu entwerfen, dem wird das sicher bekannt vorkommen. ;)

              Das wichtigste Menü - um die bessere Übersichtlichkeit zu nutzen - ist im Flows Menü:

              67634f91-3efe-44df-9d9f-bd82158cb2bf-image.png

              Damit kann mal alle Flows, die man gerade nicht braucht verstecken und über den Dialog wieder sichtbar machen oder man klickt in der Flow übersicht auf den Flow und toggelt zwischen versteckt (durchgestrichenes Auge) und sichtbar:

              d9c71a89-66b7-4417-9ad7-13a44890f331-image.png

              Ein weitere Möglichkeit einen Flow zu verstecken ist einfach in dem Tab auf das Auge zu klicken:
              18984b4c-2546-437c-8c94-bdb7b66406d8-image.png

              Eine weitere meines Erachtens sehr erwähnenswerte Neuerung ist, dass man nicht nur für Subflows, sondern auch für Flows Umgebungsvariablen nutzen zu können, um ggf. die Flows zu initialisieren. Dazu braucht man also nicht mehr unbedingt einen Datenpunkt im iobroker zu definieren.

              Bei Subflows sind diese Umgebungsvariablen schon eine gute Erfindung, da man so jede Instanz der Node bzw. des Subflows unterschiedlich initialisieren kann.

              Hier mal ein Beispiel für die Initialisierung eines Flows.
              In den Eigenschaften eines Flows gibt es rechts einen neuen Button, in dem man Umgebungsvariablen definieren kann.

              62165503-91fd-48fb-90b8-2e242c21c8b1-image.png

              In dem Flow kann man dann auf diese Umgebungsvariable zugreifen.

              f32e9b5e-369c-4577-80d2-b369903b8f02-image.png

              Ein weiteres Highlight dieser Version ist für mqtt-Benutzer.
              Man kann die MQTT Nodes nun dynamisch konfigurieren. In der Beschreibung zum mqtt-Broker kann man nun das automatische Verbinden unterbinden - das sehe ich aber nicht als den Hauptvorteil.

              Der Vorteil dieser MQTT Nodes dynamisch zu konfigurieren ist, dass man so ein topic getriggert auslesen kann, was man im iobroker Umfeld mit einer iobroker-get Node macht.
              Allerdings ist das nicht gut dokumentiert in der Hilfe:

              Wenn man die mqtt-In Node dynamisch konfiguriert - bekommt diese einen Eingang und kann dann über msg.topic getriggert das topic auslesen:

              6cab157b-d79b-47ea-9ca4-d78172a94ba2-image.png

              Damit das Ganze aber funktioniert muss man eine action subscribe mitgeben - und wie gesagt das ist alles nicht dokumentiert:

              79c934ee-4437-411d-9e42-15304638897f-image.png

              Ein paar Beispiele für valide actions - gerade auch zum manuelle Aufbau zu einem mqtt Broker gibts hier in dem folgenden Flow:

              [
                 {
                     "id": "52942541834747c1",
                     "type": "mqtt out",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "topic": "",
                     "qos": "",
                     "retain": "",
                     "respTopic": "",
                     "contentType": "",
                     "userProps": "",
                     "correl": "",
                     "expiry": "",
                     "broker": "8a6b74c0.3c461",
                     "x": 390,
                     "y": 3200,
                     "wires": []
                 },
                 {
                     "id": "e2f0aae314b88447",
                     "type": "inject",
                     "z": "54b226bc.0793e8",
                     "name": "connect port 1883",
                     "props": [
                         {
                             "p": "action",
                             "v": "connect",
                             "vt": "str"
                         },
                         {
                             "p": "broker",
                             "v": "{\"broker\":\"192.168.1.51\",\"port\":1883}",
                             "vt": "json"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "x": 190,
                     "y": 3200,
                     "wires": [
                         [
                             "52942541834747c1",
                             "c1cfb193f31c86a7"
                         ]
                     ]
                 },
                 {
                     "id": "f5ed93bae65b0374",
                     "type": "inject",
                     "z": "54b226bc.0793e8",
                     "name": "connect 1884",
                     "props": [
                         {
                             "p": "action",
                             "v": "connect",
                             "vt": "str"
                         },
                         {
                             "p": "broker",
                             "v": "{\"broker\":\"192.168.1.51\",\"port\":1884}",
                             "vt": "json"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payloadType": "str",
                     "x": 170,
                     "y": 3280,
                     "wires": [
                         [
                             "52942541834747c1"
                         ]
                     ]
                 },
                 {
                     "id": "c1cfb193f31c86a7",
                     "type": "debug",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "true",
                     "targetType": "full",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 440,
                     "y": 3120,
                     "wires": []
                 },
                 {
                     "id": "1342c8cb6c7d1396",
                     "type": "inject",
                     "z": "54b226bc.0793e8",
                     "name": "disconnect",
                     "props": [
                         {
                             "p": "action",
                             "v": "disconnect",
                             "vt": "str"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "x": 180,
                     "y": 3420,
                     "wires": [
                         [
                             "52942541834747c1"
                         ]
                     ]
                 },
                 {
                     "id": "a945fa7b989d68d6",
                     "type": "mqtt in",
                     "z": "54b226bc.0793e8",
                     "name": "",
                     "topic": "",
                     "qos": "2",
                     "datatype": "auto",
                     "broker": "8a6b74c0.3c461",
                     "nl": false,
                     "rap": true,
                     "rh": 0,
                     "inputs": 1,
                     "x": 390,
                     "y": 3540,
                     "wires": [
                         []
                     ]
                 },
                 {
                     "id": "a853a0255681f2c0",
                     "type": "inject",
                     "z": "54b226bc.0793e8",
                     "name": "connect",
                     "props": [
                         {
                             "p": "action",
                             "v": "connect",
                             "vt": "str"
                         },
                         {
                             "p": "topic",
                             "vt": "str"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "x": 200,
                     "y": 3120,
                     "wires": [
                         [
                             "52942541834747c1"
                         ]
                     ]
                 },
                 {
                     "id": "388b902f250d4ab1",
                     "type": "inject",
                     "z": "54b226bc.0793e8",
                     "name": "force  connect 1884",
                     "props": [
                         {
                             "p": "action",
                             "v": "connect",
                             "vt": "str"
                         },
                         {
                             "p": "broker",
                             "v": "{\"broker\":\"192.168.1.51\",\"port\":1884,\"force\":true}",
                             "vt": "json"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "x": 190,
                     "y": 3340,
                     "wires": [
                         [
                             "52942541834747c1"
                         ]
                     ]
                 },
                 {
                     "id": "6128f1909cbf8ea4",
                     "type": "inject",
                     "z": "54b226bc.0793e8",
                     "name": "subscribe topic test",
                     "props": [
                         {
                             "p": "action",
                             "v": "subscribe",
                             "vt": "str"
                         },
                         {
                             "p": "topic",
                             "vt": "str"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "test",
                     "x": 180,
                     "y": 3540,
                     "wires": [
                         [
                             "a945fa7b989d68d6"
                         ]
                     ]
                 },
                 {
                     "id": "4c7b8677c28b28d6",
                     "type": "inject",
                     "z": "54b226bc.0793e8",
                     "name": "Unsubscribe topic test",
                     "props": [
                         {
                             "p": "action",
                             "v": "unsubscribe",
                             "vt": "str"
                         },
                         {
                             "p": "topic",
                             "vt": "str"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "test",
                     "x": 209,
                     "y": 3606,
                     "wires": [
                         [
                             "a945fa7b989d68d6"
                         ]
                     ]
                 },
                 {
                     "id": "8a6b74c0.3c461",
                     "type": "mqtt-broker",
                     "name": "localhost:1883",
                     "broker": "192.168.1.51",
                     "port": "1883",
                     "clientid": "",
                     "autoConnect": false,
                     "usetls": false,
                     "protocolVersion": "5",
                     "keepalive": "60",
                     "cleansession": true,
                     "birthTopic": "",
                     "birthQos": "0",
                     "birthRetain": "false",
                     "birthPayload": "",
                     "birthMsg": {},
                     "closeTopic": "",
                     "closePayload": "",
                     "closeMsg": {},
                     "willTopic": "",
                     "willQos": "0",
                     "willRetain": "false",
                     "willPayload": "",
                     "willMsg": {},
                     "sessionExpiry": ""
                 }
              ]
              

              Ansonsten kann man im Debug Fenster nun auch die Debug Nodes filtern, die man sehen will, ohne diese im Flow deaktivieren bzw. aktivieren zu müssen. Hab ich aber auch noch nicht benutzt.

              Auf die Highlights der Version 2.2 gehe ich hier erst mal nicht ein - hier verweise ich auf die aktuelle Guided Tour.

              ==============================================================================

              Ich halte mich mal an die Liste - und werde diese ggf. mit eine paar Beispielen aufzeigen:

              3.0.0 (2022-03-11)

              IMPORTANT: Node-RED is now v2. Please check your nodes for compatibility! See also https://nodered.org/blog/2021/07/20/version-2-0-released and https://nodered.org/blog/2021/10/21/version-2-1-released

              • (jwiesel) Node-RED updated to 2.2.2

              Nun erst nochmals vielen Dank! - Wie gesagt an dem vorangegangen Post sieht man, dass doch erhebliche Erweiterungen und Verbesserungen mit den neuen Verbesserungen einhergegangen sind.

              • (jwiesel) "Tail" node has been removed from the default palette in Node-RED 2.0. You can reinstall it from node-red-node-tail.

              wurde bereits erwähnt

              • (Apollon77) Automatically create missing folders when node-red creates objects in javascript., node-red. and 0_userdata.0.*

              Hier steckte ein größerer Aufwand dahinter ist nun aber wieder kompatibel mit dem neuen Admin 5 und erstellt nun automatisch Folder Objekte für alle Hierarchieebenen. Ich persönlich habe mich ja sehr darüber mokiert, dass das nun so unflexibel war und bin hier sehr dankbar, dass dieses Problem gelöst ist und man unter 0_userdata.0.* wieder volle Flexibilität hat. Auch Folder Objekte in der Hierarchie können im Nachhinein wieder zu States umgewandelt werden. Als Beispiel werde ich mal meinen Subflow verwenden, um zu demonstrieren, dass die Objekte nun automatisch von der iobroker-out Node angelegt werden.

              Ich hab einfach mal aus den JSONATA Beispielen mal einen JSON String als Beispiel genommen und in eine INJECT-Node gepackt:

              a1267a73-3522-4646-b11e-f42593e2d219-image.png
              Über eine Subflow Variable legt man fest unter welchem Datenpunkt die Struktur angelegt werden soll.

              Das Ergebnis kann sich nun sehen lassen:

              712528bf-8408-43ed-9a19-d3a16136ca7f-image.png

              Man sieht der ganze JSON String wird als Datenstruktur mit den erforderlichen Folder-Objekten von der iobroker-out Node angelegt. Herzlichen Dank nochmals an @apollon77

              • (jwiesel) Added NodeRed parameter httpStatic to instance settings

              Auch das habe ich angeregt, da ich bei jedem Update die settings.js immer anpassen musste und das in meinen Augen ein wichtiger Parameter ist, den man nun in der Adapterkonfiguration festlegen kann.

              76c54ba5-ea69-4dfd-bac8-1af434031a5a-image.png

              Dieses Verzeichnis ist das Basisverzeichnis, um im Dashboard auf eigene Resourcen zugreifen zu können. Das können JS-Programme sein (s. Steelseries Thread) oder bei mir liegen Bilder und Wettericons in diesem Pfad.

              Im Flow ist das dann das Root Verzeichnis:

              Hier zeige ich zum Beispiel ein bestimmtes Icon für das Wetter an:

              619c1387-4ddf-4a0e-a949-c52e6876381a-image.png
              Basis ist also : /images/WetterIcons/ zusammen mit dem http-Static Path - liegt das Verzeichnis auf der Maschine also im Verzeichnis:
              /data/node-red/images/WetterIcons/

              40fe5ce5-5d44-4979-981c-82b74ead5c5b-image.png

              • (bluefox) Added the reading of objects from admin for SelectID dialog

              Das ist meines Erachtens noch offen und funktioniert immer noch nicht.
              Also den Pfad weiterhin manuell rauskopieren oder den Adapter neu starten.

              • (bluefox) Added debug output: Cannot set state of non-existing object

              Das ist meines Erachtens auch eine riesige Verbesserung. Hier gab es in der Vorgängerversion folgenden Eintrag im Log:

              Automatic objects creation is not enabled. You can enable it in the node configuration
              

              Da kommt man auch nicht gleich drauf, dass diese Meldung erzeugt wird, weil eine iobroker-IN oder iobroker-GET Node einen Datenpunkt im iobroker lesen möchte, den es gar nicht gibt.

              Hier mal eine ioBroker IN Node, die auf einen Datenpunkt verweist - der nicht existiert.

              Nun war man in der Vergangenheit mit obiger Meldung aufgeschmissen, weil man

              1. nicht wusste welcher Datenpunkt nicht existiert
                und
              2. man nicht wusste welche Node auf diesen Datenpunkt verweist.

              ac7a449e-5760-4e00-9860-79083761ee34-image.png

              Nun löst der neue Log-Eintrag beide Probleme:

              5727f4605ec73bac: "ioBroker in" Cannot set state of non-existing object "0_userdata.0.testType5".
              

              zum einen weiß man nun welcher Datenpunkt nicht existiert und bekommt auch noch gleich die Node-ID mitgeliefert mit der man die Node in seinen Flows identifizieren kann. Also die ID aus dem LOG kopieren und dann in das Suchfenster der Flows eingeben.
              Mit der Suche wird einem nicht nur die Node angezeigt:

              3e6d891e-c8e6-4bab-99fd-096287a71c7b-image.png

              Durch einen Doppelklick auf die Lupe wird sowohl auf den Flow mit der betroffenen Node gewechselt, diese markiert (oranger Rahmen) und die Definition aufgemacht.
              527d91ef-a74a-4beb-80e5-2eac84c40722-image.png

              Also in meinen Augen ein toller Komfortgewinn.

              • (bluefox) Allow setting of regular expression in the list node in message

              Hier hat nach meinen Tests, sowohl der reguläre Ausdruck nicht richtig funktioniert und zukünftig ist dieser reguläre Ausdruck auch noch dynamisch konfigurierbar.

              Hier wieder ein Anwendungsbeispiel:

              Die folgende iobroker-List Node - kann alle Objekte eines bestimmten Typs mit einem bestimmten Pfad selektieren.
              Hier mal meine Struktur unter 0_userdata.0

              d3884432-46f6-463a-861f-4a7f3486ac2a-image.png

              Über einen regulären Ausdruck möchte ich nun nur die Datenpunkte

              0_userdata.0.testType2
              0_userdata.0.testType3
              0_userdata.0.testType4
              

              herausfiltern.

              Die Definition der List Node sieht also wie folgt aus:

              e05708f5-1c02-4221-8eb7-c58cbc268647-image.png

              Das Topic selektiert alle Objekte unter 0_userdata.0.* (grün markiert) und filtert dann mit dem regulären Ausdruck (gelb markiert) die 3 gewünschten Objekte heraus .

              Die Anforderung war nun auch den Filter dynamisch konfigurieren zu können.

              Nun kann sowohl das Topic (grün), als auch der reguläre Ausdruck (gelb) über msg.regex dynamisch konfiguriert werden!

              90deb17a-a679-4cfa-b69c-ca12b4729537-image.png

              • (bluefox) Allow the filtering of ack=false messages for IN node

              Auch dies macht nun den NR-Fans das Leben viel leichter - hier hatten die Blockly Fans immer einen Vorteil. Wir konnten nie auf ACK=false überprüfen, sondern nur auf true oder egal. Gut es ging umständlich, indem wir das gesamte Objekt auslasen und dann über eine Switch Node filterten.

              Nun kann man auch ACK= false filtern und quasi wie ein HW Adapter agieren:

              2e7b43e8-fa70-40e5-840f-dc013b18da0a-image.png

              Beispiel in Zusammenspiel mit dem YAHKA Adapter, um Endlosschleifen zu vermeiden.
              Man erstellt zum Beispiel einen eigenen Datenpunkt unter 0_userdata.0. Wenn man dann in der HomeApp das Gerät schaltet, wird dieser Datenpunkt mit ACK=false gesetzt. Der Flow filtert dann über ACK=false und der iobroker-In Node den Trigger heraus und schaltet die eigentliche Hardware. Als Rückmeldung setzt der Flow den Datenpunkt mit ACK=true und verhindert so, dass die HW erneut geschaltet wird.

              • (Apollon77) Enhance GetNode rbe/deadband functions to optionally ignore initial value (wurde in Version 3.1.x geändert - und am Ende ergänzt)

              • (Apollon77) Return undefined for GetNode if the state currently has no value set (e.g. because expired or never set)

              Das bisherige Verhalten - hatte einen nicht vorhandenen State einfach ignoriert. Damit konnte man im Flow nicht auf diesen Fall reagieren und ggf. einen State erstellen. Nun hat man folgende Möglichkeiten:

              768b1683-168e-4790-bc2e-8a2f974daf05-image.png

              1. Return nothing
                Das entspricht dem bisherigen Verhalten und nicht vorhandene States werden ignoriert. Eine info wird im iobroker Log geloggt.

              2. Return state value as undefined
                Es wird ein undefined zurückgegeben, egal ob ein Wert nicht existiert oder nicht initialisiert ist. Man muss also in der Folge selbst entscheiden, ob man auf beide Situationen unterschiedlich reagieren will.

              3. Return error
                Ein uninitialisierter Wert wird weiterhin undefined weitergeben, bei einem nicht vorhandenen Wert wird ein Fehler erzeugt. Wird dieser nicht behandelt gibt es nur eine Fehlereintrag im LOG mit dem entsprechenden Datenpunkt, der nicht vorhanden ist.
                In Kombination mit einer Catch-Node kann man diesen Fehler abfangen und den Datenpunkt/State über eine iobroker-out Nodes anlegen.

              • (Apollon77) Allow for GetNode to return an error if a state-id is used for which no object exists, else also return undefined

              Wurde wie vorher besprochen.

              • (Apollon77) Also allow to access system.* states directly

              Das war leider seit der Version 2.x des iobroker NodeRed-Adapters nicht mehr möglich. In der Version 1 ging das. Somit musste man einen Alias bemühen, um den Zustand von beispielsweise Adapter zu überprüfen.

              Nun kann man die Objekte unter system wieder abfragen:

              4de0c45b-f846-447a-94c5-8e453c59e117-image.png

              Damit ist es ohne Umwege wieder möglich - den Zustand von Adapter zu analysieren und ggf. eigene Maßnahmen einzuleiten.

              Vielen Dank auch hierfür.

              • (Apollon77) When RBE function is used on InNode and not value is sent on start still initialize current value internally

              wurde bereits besprochen

              • (Apollon77) Add node-ID in front of all log lines logged by node logic

              Der Komfortgewinn wurde in Zusammenhang bei der Suche von iobroker-IN Nodes, die auf nicht vorhandene Datenpunkte verweisen erläutert.

              • (jwiesel) Changed default setting to "convert data from ioBroker nodes into Strings" to false. Setting will not be changed automatically in instances already existing

              Dies ist wohl eine der wichtigsten Verbesserungen für Anfänger. Wie oft muss man fragen, ob hier der Haken rausgenommen wurde. Nun ist der Standardwert, dass aus dem iobroker gelesene Werte ihren Typ behalten und nicht in Strings umgewandelt werden!

              ==============================================================================

              Also nochmals vielen Dank - an alle die an den Verbesserungen mitgewirkt haben und falls es noch Fragen zu meinen Erläuterungen gibt, nutzt den Thread und ich denke neben mir werden auch alle anderen versuchen, hier zu helfen!!!

              Ach ja - noch was Wichtiges: Dieser Node-Red Adapter ist nun mit dem JS 4.0.x Adapter kompatibel!!! - Somit können auch NR-Fans nun wieder das System auf den akuellen Stand bringen!

              ==============================================================================
              Änderungen in Version 3.2.0

              • ListenpunktEnhance GetNode rbe/deadband functions to optionally ignore initial value

              Das ignorieren des Initialwertes entspricht nun dem Verhalten der Filter Node und bedeutet, dass dieser Initialwert nicht gesendet wird, sondern nur zum Initialisieren der Node genutzt wird, um Änderungen zu erkennen.

              Die Beschreibung wurde von Ignore auf Initialize geändert:

              3cab447c-e3a7-467c-b7a1-f461ba4e03a1-image.png

              Will man also den Anfangswert nach Adapterstart oder Neustart der Flows unterdrücken will, nutzt man die Initialisierungsoption - anderenfalls wird dieser Wert - falls Nachrichten bei Start auslesen gewählt ist - gesendet.

              Hier das Bild direkt nach Adapterstart - wenn send msg at start definiert wurde:

              f75c3999-d239-436a-bfcb-84c339ee73f4-image.png

              Falls no msg at start ausgewählt wurde findet die Initialisierung nach dem ersten Update statt.

              Ansonsten stehen wie beim Filter diese Optionen zur Verfügung:

              1. Wert hat sich geändert.
              2. Wert hat sich um einen definierten Wert geändert (also um eine Zahl)
              3. Wert hat sich um einen Prozentsatz geändert.

              In den Fällen 2 und 3 wird größer gleich als Vergleich angewandt.

              Das ganze funktioniert nicht über Wildcards.

              Für alle komplexeren Fälle empfieht es sich die Filter-Node in Kombination zu nutzen.
              In diesem Fall sollte man die iobroker-In Node, wie folgt konfigurieren:

              1. send msg at start
              2. send all events

              Die Filterung konfiguriert man dann über die Filter Node. Da stehen weitere Optionen zur Verfügung. Nutzt man Wildcards in der iobroker-IN Node, und konfiguriert, dass der Filter auf topic Basis arbeitet:

              ddcf1313-5065-47b1-994b-1685794a6585-image.png

              • (Bannsaenger) Added option for in Node to choose topic format (MQTT with / or ioBroker with .). Default: MQTT

              Nach dem Bilder in meinen Augen mehr als 1000 Worte sagen. Das bisherige Verhalten die Hierarchien der Topics mit / zu trennen, wie es unter MQTT üblich ist (grün), kann man sich das topic auch als iobroker Pfade mit einem Punkt zur Trennung der Hierarchieebenen ausgeben lassen (gelb).

              941e64f1-944b-47d0-88be-1f0f0137cfde-image.png

              Zu den letzten beiden Punkten kann ich nicht viel sagen, da ich weder Authentisierung, noch das Ändern der Pfade für den Webzugang genutzt habe.

              • Added new parameter "httpNodeRoot" as httpRoot has been replaced by httpAdminRoot in version 3.0.0.

              • Added extended authentication to instance settings and config
                Hier hat man in der NodeRed Adapter Konfiguration einen eigenen Tab, mit folgenden Optionen:

              1. Keine Authentifizierung
              2. Einfache Authentifizierung - mit Benutzer und Passwort (wobei ich nicht weiß, ob das wirklich noch funktioniert)
              3. Erweiterte Authentifizierung - hier kann man dann verschiedene Benutzer mit einer differenzierten Rechtevergabe definieren.

              5a60bb09-ded0-415a-aa24-dcaa2fa9c8fe-image.png

              Aber wie gesagt - hier muss man selbst Nachlesen welche Rechte es gibt.

              26ce2512-2b1b-4d23-b0d2-5ec9a11cb104-image.png

              Viel habe ich zu Benutzerberechtigungen nicht gefunden: Entweder "read" oder "*" für Vollzugriff. Welche Objekte es gibt, muss man eher ausprobieren. HIer mal die Seite zu BEnutzerberechtigungen: https://nodered.org/docs/user-guide/runtime/securing-node-red#user-permissions

              F Offline
              F Offline
              frankyboy73
              schrieb am zuletzt editiert von
              #13

              @mickym Toller Post. Danke für die ausführlichen Erläuterungen.:+1:

              Und auch an die Entwickler einen schönen Dank für die vielen guten Neuerungen/Verbesserungen. @apollon77, @Bluefox und @jwiesel

              Schöne Grüße Frank

              1 Antwort Letzte Antwort
              0
              • Claus1985 0C Claus1985 0

                @jan1 Hab die gleiche Fehlermeldung. Kannst Du mir sagen welche Einstellungen Du dafür im Node Red verwendet hast? Wenn ich im Adapter einen User mit Kennwort angebe kann ich anschließend NodeRed nur noch separat mit https im Browser öffnen allerdings bekomme ich die Fehlermeldung immer noch im Log..

                apollon77A Offline
                apollon77A Offline
                apollon77
                schrieb am zuletzt editiert von
                #14

                @claus1985-0 Langsam!! Wenn die Meldung die ist wie oben hat es NICHTS mit SSL zu tun (dann sieht die Meldung etwas anders aus). Wenn es die Meldung wie oben ist dann iegt es daran das dein Admin ne user/Passwort auth aktiviert hat ... damit kann der node.red prozess (der das passwort ja nicht kennt) nicht mit dem Admin reden

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                J Claus1985 0C 2 Antworten Letzte Antwort
                0
                • apollon77A apollon77

                  @claus1985-0 Langsam!! Wenn die Meldung die ist wie oben hat es NICHTS mit SSL zu tun (dann sieht die Meldung etwas anders aus). Wenn es die Meldung wie oben ist dann iegt es daran das dein Admin ne user/Passwort auth aktiviert hat ... damit kann der node.red prozess (der das passwort ja nicht kennt) nicht mit dem Admin reden

                  J Offline
                  J Offline
                  Jan1
                  schrieb am zuletzt editiert von
                  #15

                  @apollon77
                  Die Meldung hat mit dem "Problem" eigentlich nichts zu tun, sind zwei Baustellen. Wobei ich das zu Beginn der Umstellung auf HTTPS auch hatte, dass der Nod-Red nur noch in einem separaten Browser Fenster lief. Da half eben alles auf HTTPS umstellen und schon läuft er auch wieder im IOBroker Fenster.

                  Zurück zu der Meldung. Klingt plausibel, nur ist das nun ein Problem, oder kann man es schlicht ignorieren?

                  apollon77A 1 Antwort Letzte Antwort
                  0
                  • J Jan1

                    @apollon77
                    Die Meldung hat mit dem "Problem" eigentlich nichts zu tun, sind zwei Baustellen. Wobei ich das zu Beginn der Umstellung auf HTTPS auch hatte, dass der Nod-Red nur noch in einem separaten Browser Fenster lief. Da half eben alles auf HTTPS umstellen und schon läuft er auch wieder im IOBroker Fenster.

                    Zurück zu der Meldung. Klingt plausibel, nur ist das nun ein Problem, oder kann man es schlicht ignorieren?

                    apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #16

                    @jan1 sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:

                    Zurück zu der Meldung. Klingt plausibel, nur ist das nun ein Problem, oder kann man es schlicht ignorieren?

                    Naja der "Object select dialog" tut nicht vollständig (heisst bekommt nicht die aktuellsten Daten und zeigt keine aktuellen Werte an)

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    J 1 Antwort Letzte Antwort
                    0
                    • apollon77A apollon77

                      @jan1 sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:

                      Zurück zu der Meldung. Klingt plausibel, nur ist das nun ein Problem, oder kann man es schlicht ignorieren?

                      Naja der "Object select dialog" tut nicht vollständig (heisst bekommt nicht die aktuellsten Daten und zeigt keine aktuellen Werte an)

                      J Offline
                      J Offline
                      Jan1
                      schrieb am zuletzt editiert von
                      #17

                      @apollon77
                      Ok, in meinem Fall dann nicht tragisch, da ich mit Node-Red lediglich ein paar Geräte an Alex anbinde.

                      1 Antwort Letzte Antwort
                      0
                      • M Online
                        M Online
                        mrjeschke
                        schrieb am zuletzt editiert von
                        #18

                        Moin,

                        Ich habe gerade Node-Red installiert, weil ich sehen wollte ob ich damit klar komme.
                        Bei mir fehlt aber der Menü-Punkt Palette verwalten.
                        Ist das ein Bug oder ein Feature.
                        Der Eintrag die der config.js

                         allowInstall: '%%palletmanagerEnabled%%' /** Enable the Palette Manager in the editor */
                        

                        sieht aber eher nach einem Bug aus.

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • M mrjeschke

                          Moin,

                          Ich habe gerade Node-Red installiert, weil ich sehen wollte ob ich damit klar komme.
                          Bei mir fehlt aber der Menü-Punkt Palette verwalten.
                          Ist das ein Bug oder ein Feature.
                          Der Eintrag die der config.js

                           allowInstall: '%%palletmanagerEnabled%%' /** Enable the Palette Manager in the editor */
                          

                          sieht aber eher nach einem Bug aus.

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von mickym
                          #19

                          @maik-0 in der Adapterkonfig: Palettenmanager nutzen anhaken.Keine Änderungen in Dateien machen.

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          M 1 Antwort Letzte Antwort
                          1
                          • mickymM mickym

                            @maik-0 in der Adapterkonfig: Palettenmanager nutzen anhaken.Keine Änderungen in Dateien machen.

                            M Online
                            M Online
                            mrjeschke
                            schrieb am zuletzt editiert von
                            #20

                            @mickym

                            Sorry, brauch wohl doch ne neue Brille.

                            1 Antwort Letzte Antwort
                            0
                            • apollon77A apollon77

                              @claus1985-0 Langsam!! Wenn die Meldung die ist wie oben hat es NICHTS mit SSL zu tun (dann sieht die Meldung etwas anders aus). Wenn es die Meldung wie oben ist dann iegt es daran das dein Admin ne user/Passwort auth aktiviert hat ... damit kann der node.red prozess (der das passwort ja nicht kennt) nicht mit dem Admin reden

                              Claus1985 0C Offline
                              Claus1985 0C Offline
                              Claus1985 0
                              schrieb am zuletzt editiert von
                              #21

                              @apollon77 danke für die Info und vielen Dank für den Adapter!
                              Kann ich das im Adapter konfigurieren, damit das funktioniert
                              oder bedeutet das, sobald Admin mit auth tritt der Fehler unweigerlich auf
                              und das lässt sich nur über deaktivieren des auth korrigieren?
                              Danke und Gruß,
                              Claus

                              apollon77A 1 Antwort Letzte Antwort
                              0
                              • Claus1985 0C Claus1985 0

                                @apollon77 danke für die Info und vielen Dank für den Adapter!
                                Kann ich das im Adapter konfigurieren, damit das funktioniert
                                oder bedeutet das, sobald Admin mit auth tritt der Fehler unweigerlich auf
                                und das lässt sich nur über deaktivieren des auth korrigieren?
                                Danke und Gruß,
                                Claus

                                apollon77A Offline
                                apollon77A Offline
                                apollon77
                                schrieb am zuletzt editiert von
                                #22

                                @claus1985-0 sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:

                                sobald Admin mit auth tritt der Fehler unweigerlich auf
                                und das lässt sich nur über deaktivieren des auth korrigieren?

                                Grundsätzlich ja, aber es betrifft nur den Select-ID Dialog in der Node-Red-Node Konfiguration

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                1 Antwort Letzte Antwort
                                0
                                • SBorgS Offline
                                  SBorgS Offline
                                  SBorg
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von SBorg
                                  #23

                                  Kann es sein, dass es den "http Stammpfad" erwischt hat, zumindest scheint er jetzt nicht mehr benutzt zu werden?

                                  Ich nutze hier /node-red, damit liegt das Dashboard (unter der 2er) dann korrekt unter IP:PORT/node-red/ui...
                                  In der 3er liegt es aber nun unter IP:PORT/ui...

                                  Wäre jetzt nicht so schlimm, aber mein Reverse Proxy läuft nun auch ins Leere, da er /node-red erwartet, aber nur ein / bekommt.

                                  Übliches booten, Cache leeren etc. hat nix gebracht, bevor ich jetzt aber noch ellenlang weiter suche, lieber mal nachfragen. Downgrade auf 2.x und sofort lüppt es wieder.

                                  https://github.com/ioBroker/ioBroker.node-red/issues/288

                                  LG SBorg ( SBorg auf GitHub)
                                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                  apollon77A 1 Antwort Letzte Antwort
                                  0
                                  • SBorgS SBorg

                                    Kann es sein, dass es den "http Stammpfad" erwischt hat, zumindest scheint er jetzt nicht mehr benutzt zu werden?

                                    Ich nutze hier /node-red, damit liegt das Dashboard (unter der 2er) dann korrekt unter IP:PORT/node-red/ui...
                                    In der 3er liegt es aber nun unter IP:PORT/ui...

                                    Wäre jetzt nicht so schlimm, aber mein Reverse Proxy läuft nun auch ins Leere, da er /node-red erwartet, aber nur ein / bekommt.

                                    Übliches booten, Cache leeren etc. hat nix gebracht, bevor ich jetzt aber noch ellenlang weiter suche, lieber mal nachfragen. Downgrade auf 2.x und sofort lüppt es wieder.

                                    https://github.com/ioBroker/ioBroker.node-red/issues/288

                                    apollon77A Offline
                                    apollon77A Offline
                                    apollon77
                                    schrieb am zuletzt editiert von
                                    #24

                                    @sborg bitte github issue anlegen

                                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                    SBorgS 1 Antwort Letzte Antwort
                                    0
                                    • apollon77A apollon77

                                      @sborg bitte github issue anlegen

                                      SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #25

                                      @apollon77 Danke und done :heavy_check_mark:

                                      LG SBorg ( SBorg auf GitHub)
                                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                      1 Antwort Letzte Antwort
                                      1
                                      • Bernd1967B Offline
                                        Bernd1967B Offline
                                        Bernd1967
                                        schrieb am zuletzt editiert von
                                        #26

                                        Ich hab da eine Frage zum ioBroker-in:

                                        1.jpg

                                        Folgende Einstellung im ioBroker-in mit wildcard im Topic:
                                        2.jpg

                                        Jetzt hab ich es so das bei "Send all events" trotzdem nach dem start einmal ein Wert gesendet wird.
                                        Oder funktioniert das in dieser Kombination nicht?

                                        mickymM 1 Antwort Letzte Antwort
                                        0
                                        • Bernd1967B Bernd1967

                                          Ich hab da eine Frage zum ioBroker-in:

                                          1.jpg

                                          Folgende Einstellung im ioBroker-in mit wildcard im Topic:
                                          2.jpg

                                          Jetzt hab ich es so das bei "Send all events" trotzdem nach dem start einmal ein Wert gesendet wird.
                                          Oder funktioniert das in dieser Kombination nicht?

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #27

                                          @bernd1967 Ja Du hast Recht. Diese Kombi gibts quasi nicht. ICh habe das falsch beschrieben, sondern es funktioniert wie im Fall6. Wenn der Wert sich ändert, dann wird sofort gesendet - es ist also Update und Change ein Event und insofern kein Unterschied zum Fall 6, in dem der initiale Wert ebenfalls sofort eingelesen wird.

                                          Das ACK-Flag hat hier gar keinen Einfluß.

                                          Sprich es wird bei einer Änderung, sofort der Wert gesendet nur bei einer Aktualisierung nicht. Ich werde das in der Beschreibung korrigieren.

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          Bernd1967B 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          917

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe