Merge branch 'master' into dev

This commit is contained in:
Nick O'Leary 2019-05-24 10:22:14 +01:00
commit 245e06f026
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
43 changed files with 442 additions and 421 deletions

View File

@ -48,9 +48,9 @@
},
"settings" : "Einstellungen",
"userSettings" : "Benutzereinstellungen",
"nodes" : "Knoten",
"displayStatus" : "Knotenstatus anzeigen",
"displayConfig" : "Konfigurationsknoten",
"nodes" : "Nodes",
"displayStatus" : "Nodestatus anzeigen",
"displayConfig" : "Konfigurations-Node",
"import" : "Import",
"export" : "Exportieren",
"search" : "Flows durchsuchen",
@ -84,17 +84,17 @@
"notAuthorized" : "Keine Berechtigung",
"errors" : {
"settings" : "Sie müssen angemeldet sein, um auf die Einstellungen zuzugreifen.",
"deploy" : "Sie müssen angemeldet sein, um Änderungen implementieren zu können.",
"deploy" : "Sie müssen angemeldet sein, um Änderungen anwenden zu können.",
"notAuthorized" : "Sie müssen angemeldet sein, um diese Aktion ausführen zu können."
}
},
"notification" : {
"warning" : "<strong> Warnung </strong>: __message__",
"warnings" : {
"undeployedChanges" : "Knoten hat nicht implementierte Änderungen",
"nodeActionDisabled" : "In Subflow inaktivierte Knotenaktionen",
"missing-types" : "<p> Die Flows wurden aufgrund fehlender Knotentypen gestoppt. </p>",
"restartRequired" : "Knoten-RED muss erneut gestartet werden, damit aufgerüstete Module aktiviert werden können",
"undeployedChanges" : "Node hat nicht implementierte Änderungen",
"nodeActionDisabled" : "In Subflow inaktivierte Nodeaktionen",
"missing-types" : "<p> Die Flows wurden aufgrund fehlender Nodetypen gestoppt. </p>",
"restartRequired" : "Node-RED muss erneut gestartet werden, damit aufgerüstete Module aktiviert werden können",
"credentials_load_failed" : "<p> Die Flows wurden gestoppt, da die Berechtigungsnachweise nicht entschlüsselt werden konnten. </p> <p> Die Datei mit dem Datenflowberechtigungsnachweis ist verschlüsselt, aber der Verschlüsselungsschlüssel des Projekts fehlt oder ist ungültig. </p>",
"credentials_load_failed_reset" : "<p> Die Berechtigungsnachweise konnten nicht entschlüsselt werden </p> <p> Die Datei mit dem Flow-Berechtigungsnachweis ist verschlüsselt, aber der Chiffrierschlüssel des Projekts fehlt oder ist ungültig. </p> <p> Die Datei des Flow-Berechtigungsnachweises wird bei der nächsten Implementierung zurückgesetzt. Alle vorhandenen Datenflowberechtigungsnachweise werden gelöscht. </p>",
"missing_flow_file" : "<p> Die Projektflowdatei wurde nicht gefunden. </p> <p> Das Projekt ist nicht mit einer Flow-Datei konfiguriert. </p>",
@ -134,18 +134,18 @@
},
"clipboard" : {
"clipboard" : "Zwischenablage",
"nodes" : "Knoten",
"pasteNodes" : "Knoten hier einfügen",
"importNodes" : "Knoten importieren",
"exportNodes" : "Knoten in Zwischenablage exportieren",
"nodes" : "Nodes",
"pasteNodes" : "Nodes hier einfügen",
"importNodes" : "Nodes importieren",
"exportNodes" : "Nodes in Zwischenablage exportieren",
"importUnrecognised" : "Importierter Typ nicht erkannt:",
"importUnrecognised_plural" : "Importierte Typen nicht erkannt:",
"nodesExported" : "Knoten, die in die Zwischenablage exportiert wurden",
"nodeCopied" : "__count__ Knoten kopiert",
"nodeCopied_plural" : "__count__ Knoten kopiert",
"nodesExported" : "Nodes, die in die Zwischenablage exportiert wurden",
"nodeCopied" : "__count__ Node kopiert",
"nodeCopied_plural" : "__count__ Nodes kopiert",
"invalidFlow" : "Ungültiger Nachrichtenflow: __message__",
"export" : {
"selected" : "Ausgewählte Knoten",
"selected" : "Ausgewählte Nodes",
"current" : "Aktueller Flow",
"all" : "alle Flows",
"compact" : "kompakt",
@ -161,16 +161,16 @@
"copyMessageValue_truncated" : "Abgeschnittene Wert kopiert"
},
"deploy" : {
"deploy" : "Implementieren",
"deploy" : "deploy",
"full" : "Voll",
"fullDesc" : "Implementiert alles im Arbeitsbereich",
"modifiedFlows" : "Geänderte Flows",
"modifiedFlowsDesc" : "Implementiert nur Flows, die geänderte Knoten enthalten.",
"modifiedNodes" : "Geänderte Knoten",
"modifiedNodesDesc" : "Implementiert nur Knoten, die sich geändert haben.",
"modifiedFlowsDesc" : "Implementiert nur Flows, die geänderte Nodes enthalten.",
"modifiedNodes" : "Geänderte Nodes",
"modifiedNodesDesc" : "Implementiert nur Nodes, die sich geändert haben.",
"successfulDeploy" : "Erfolgreich implementiert",
"deployFailed" : "Implementieren fehlgeschlagen: __message__",
"unusedConfigNodes" : "Sie haben einige nicht verwendete Konfigurationsknoten.",
"deployFailed" : "Deploy fehlgeschlagen: __message__",
"unusedConfigNodes" : "Sie haben einige nicht verwendete Konfigurations-Nodes.",
"unusedConfigNodesLink" : "Klicken Sie hier, um sie zu sehen",
"errors" : {
"noResponse" : "Keine Antwort vom Server"
@ -178,16 +178,16 @@
"confirm" : {
"button" : {
"ignore" : "Ignorieren",
"confirm" : "Implementieren bestätigen",
"confirm" : "Deploy bestätigen",
"review" : "Änderungen prüfen",
"cancel" : "Abbrechen",
"merge" : "Zusammenführen",
"overwrite" : "Ignorieren & implementieren"
"overwrite" : "Ignorieren & deployen"
},
"undeployedChanges" : "Sie haben nicht implementierte Änderungen.\n\nWenn Sie diese Seite verlassen, gehen diese Änderungen verloren.",
"improperlyConfigured" : "Der Arbeitsbereich enthält einige Knoten, die nicht ordnungsgemäß konfiguriert sind:",
"unknown" : "Der Arbeitsbereich enthält einige unbekannte Knotentypen:",
"confirm" : "Sind Sie sicher, dass Sie implementieren möchten?",
"improperlyConfigured" : "Der Arbeitsbereich enthält einige Nodes, die nicht ordnungsgemäß konfiguriert sind:",
"unknown" : "Der Arbeitsbereich enthält einige unbekannte Node-Typen:",
"confirm" : "Sind Sie sicher, dass Sie deployen möchten?",
"doNotWarn" : "warnen Sie nicht noch einmal.",
"conflict" : "Auf dem Server wird eine aktuellere Gruppe von Datenflüssen ausgeführt.",
"backgroundUpdate" : "Die Datenflüsse auf dem Server wurden aktualisiert.",
@ -200,7 +200,7 @@
"diff" : {
"unresolvedCount" : "__count__ unaufgelöster Konflikt",
"unresolvedCount_plural" : "__count__ unaufgelöste Konflikte",
"globalNodes" : "Globale Knoten",
"globalNodes" : "Globale Nodes",
"flowProperties" : "Flow-Eigenschaften",
"type" : {
"added" : "hinzugefügt",
@ -212,8 +212,8 @@
"movedTo" : "verschoben zu __id__",
"movedFrom" : "verschoben von __id__"
},
"nodeCount" : "__count__, Knoten",
"nodeCount_plural" : "__count__-Knoten",
"nodeCount" : "__count__, Node",
"nodeCount_plural" : "__count__-Nodes",
"local" : "Lokale Änderungen",
"remote" : "Ferne Änderungen",
"reviewChanges" : "Änderungen prüfen",
@ -239,7 +239,7 @@
"category" : "Kategorie",
"format" : "Markdown-Format",
"errors" : {
"noNodesSelected" : "<strong> Subflow kann nicht erstellt werden </strong>: Es wurden keine Knoten ausgewählt.",
"noNodesSelected" : "<strong> Subflow kann nicht erstellt werden </strong>: Es wurden keine Nodes ausgewählt.",
"multipleInputsToSelection" : "<strong> Subflow kann nicht erstellt werden </strong>: Mehrere Eingaben zur Auswahl"
}
},
@ -249,13 +249,13 @@
"configUpdate" : "Aktualisieren",
"configDelete" : "Löschen",
"nodesUse" : "__count__node verwendet diese Konfiguration",
"nodesUse_plural" : "__count__ -Knoten verwenden diese Konfiguration",
"addNewConfig" : "Neuen __type__config-Knoten hinzufügen",
"editNode" : "__type__ Knoten bearbeiten",
"editConfig" : "__type__config-Knoten bearbeiten",
"nodesUse_plural" : "__count__ -Nodes verwenden diese Konfiguration",
"addNewConfig" : "Neuen __type__config-Node hinzufügen",
"editNode" : "__type__ Node bearbeiten",
"editConfig" : "__type__config-Node bearbeiten",
"addNewType" : "Neuen __type__ hinzufügen ...",
"nodeProperties" : "Knoteneigenschaften",
"portLabels" : "Knoteneinstellungen",
"nodeProperties" : "Node-Eigenschaften",
"portLabels" : "Node-Einstellungen",
"labelInputs" : "Eingänge",
"labelOutputs" : "Ausgänge",
"settingIcon" : "Symbol",
@ -264,7 +264,7 @@
"searchIcons" : "Suchsymbole",
"useDefault" : "Standardwert verwenden",
"errors" : {
"scopeChange" : "Wenn Sie den Geltungsbereich ändern, wird er für Knoten in anderen Nachrichtenflüssen, die ihn verwenden, nicht verfügbar sein."
"scopeChange" : "Wenn Sie den Geltungsbereich ändern, wird er für Nodes in anderen Nachrichtenflüssen, die ihn verwenden, nicht verfügbar sein."
}
},
"keyboard" : {
@ -276,19 +276,19 @@
"unassigned" : "Nicht zugeordnet",
"global" : "global",
"workspace" : "Arbeitsbereich",
"selectAll" : "Alle Knoten auswählen",
"selectAllConnected" : "Alle verbundenen Knoten auswählen",
"addRemoveNode" : "Knoten aus Auswahl hinzufügen/entfernen",
"editSelected" : "Ausgewählten Knoten bearbeiten",
"deleteSelected" : "Ausgewählte Knoten oder ausgewählten Link löschen",
"importNode" : "Knoten importieren",
"exportNode" : "Knoten exportieren",
"nudgeNode" : "Ausgewählte Knoten verschieben (1px)",
"moveNode" : "Ausgewählte Knoten verschieben (20px)",
"selectAll" : "Alle Nodes auswählen",
"selectAllConnected" : "Alle verbundenen Nodes auswählen",
"addRemoveNode" : "Node aus Auswahl hinzufügen/entfernen",
"editSelected" : "Ausgewählten Node bearbeiten",
"deleteSelected" : "Ausgewählte Node oder ausgewählten Link löschen",
"importNode" : "Node importieren",
"exportNode" : "Node exportieren",
"nudgeNode" : "Ausgewählte Nodes verschieben (1px)",
"moveNode" : "Ausgewählte Nodes verschieben (20px)",
"toggleSidebar" : "Seitenleiste ein-/ausschalten",
"copyNode" : "Ausgewählte Knoten kopieren",
"cutNode" : "Ausgewählte Knoten ausschneiden",
"pasteNode" : "Knoten einfügen",
"copyNode" : "Ausgewählte Nodes kopieren",
"cutNode" : "Ausgewählte Nodes ausschneiden",
"pasteNode" : "Node einfügen",
"undoChange" : "Letzte Änderung rückgängig machen",
"searchBox" : "Suchfeld öffnen",
"managePalette" : "Palette verwalten"
@ -301,7 +301,7 @@
"unnamedType" : "Unbenannt __type__",
"dialogSaveOverwrite" : "Ein __libraryType__ mit dem Namen __libraryName__ ist bereits vorhanden. Überschreiben?",
"invalidFilename" : "Ungültiger Dateiname",
"savedNodes" : "Gespeicherte Knoten",
"savedNodes" : "Gespeicherte Nodes",
"savedType" : "Gespeichert __type__",
"saveFailed" : "Speichern fehlgeschlagen: __message__",
"types": {
@ -310,11 +310,11 @@
},
"palette" : {
"noInfo" : "Keine Informationen verfügbar",
"filter" : "Filterknoten",
"filter" : "Filter Nodes",
"search" : "Suchmodule",
"addCategory" : "Neu hinzufügen ...",
"label" : {
"subflows" : "untergeordnete Nachrichtenflüsse",
"subflows" : "Subflows",
"input" : "Eingabe",
"output" : "Ausgabe",
"function" : "Funktion",
@ -324,15 +324,15 @@
"advanced" : "fortgeschritten"
},
"event" : {
"nodeAdded" : "Knoten zur Palette hinzugefügt:",
"nodeAdded_plural" : "Die Palette wurde der Palette hinzugefügt.",
"nodeRemoved" : "Knoten aus Palette entfernt:",
"nodeRemoved_plural" : "Knoten aus Palette entfernt:",
"nodeEnabled" : "Knoten aktiviert:",
"nodeEnabled_plural" : "Knoten aktiviert:",
"nodeDisabled" : "Knoten inaktiviert:",
"nodeDisabled_plural" : "Knoten inaktiviert:",
"nodeUpgraded" : "Knotenmodul __module__ aktualisiert auf Version __version__"
"nodeAdded" : "Node zur Palette hinzugefügt:",
"nodeAdded_plural" : "Die Nodes wurde der Palette hinzugefügt.",
"nodeRemoved" : "Node aus Palette entfernt:",
"nodeRemoved_plural" : "Nodes aus Palette entfernt:",
"nodeEnabled" : "Node aktiviert:",
"nodeEnabled_plural" : "Nodes aktiviert:",
"nodeDisabled" : "Node inaktiviert:",
"nodeDisabled_plural" : "Nodes inaktiviert:",
"nodeUpgraded" : "Node-Modul __module__ aktualisiert auf Version __version__"
},
"editor" : {
"title" : "Palette verwalten",
@ -356,8 +356,8 @@
"yearsMonthsV" : "____ Jahre, __count__ Monat vor",
"yearsMonthsV_plural" : "____ Jahre, __count__ Monaten"
},
"nodeCount" : "__label__, Knoten",
"nodeCount_plural" : "__label__ Knoten",
"nodeCount" : "__label__, Node",
"nodeCount_plural" : "__label__ Nodes",
"moduleCount" : "__count__ Modul verfügbar",
"moduleCount_plural" : "__count__-Module verfügbar",
"inuse" : "im Gebrauch",
@ -371,14 +371,14 @@
"install" : "installieren",
"installed" : "installiert",
"loading" : "Kataloge werden geladen ...",
"tab-nodes" : "Knoten",
"tab-nodes" : "Nodes",
"tab-install" : "installieren",
"sort" : "Sortierung:",
"sortAZ" : "a-z",
"sortRecent" : "kürzlich",
"more" : "+ __count__ mehr",
"errors" : {
"catalogLoadFailed" : "<p> Fehler beim Laden des Knotenkatalogs. </p> <p> Weitere Informationen finden Sie in der Browserkonsole. </p>",
"catalogLoadFailed" : "<p> Fehler beim Laden des Node-Katalogs. </p> <p> Weitere Informationen finden Sie in der Browserkonsole. </p>",
"installFailed" : "<p> Installation fehlgeschlagen: __module__ </p> <p> __message__ </p> <p> Überprüfen Sie das Protokoll auf weitere Informationen. </p>",
"removeFailed" : "<p> Entfernen fehlgeschlagen: __module__ </p> <p> __message__ </p> <p> Überprüfen Sie das Protokoll auf weitere Informationen. </p>",
"updateFailed" : "<p> Aktualisierung fehlgeschlagen: __module__ </p> <p> __message__ </p> <p> Überprüfen Sie das Protokoll auf weitere Informationen. </p>",
@ -387,22 +387,22 @@
},
"confirm" : {
"install" : {
"body" : "<p> Installieren von '__module__' </p> <p> Vor der Installation von lesen Sie bitte die Dokumentation des Knotens. Einige Knoten haben Abhängigkeiten, die nicht automatisch aufgelöst werden können und einen Neustart von 'Node-RED' erfordern. </p>",
"title" : "Knoten installieren"
"body" : "<p> Installieren von '__module__' </p> <p> Vor der Installation von lesen Sie bitte die Dokumentation des Nodes. Einige Nodes haben Abhängigkeiten, die nicht automatisch aufgelöst werden können und einen Neustart von 'Node-RED' erfordern. </p>",
"title" : "Nodes installieren"
},
"remove" : {
"body" : "<p> Entfernen von '__module__' </p> <p>-Der Knoten deinstalliert ihn aus Node-RED. Der Knoten kann weiterhin Ressourcen verwenden, bis Node-RED erneut gestartet wird. </p>",
"title" : "Knoten entfernen"
"body" : "<p> Entfernen von '__module__' </p> <p>-Der Node deinstalliert ihn aus Node-RED. Der Node kann weiterhin Ressourcen verwenden, bis Node-RED erneut gestartet wird. </p>",
"title" : "Nodes entfernen"
},
"update" : {
"body" : "<p> Aktualisieren von '__module__' </p> <p> Für die Aktualisierung des Knotens ist ein Neustart von 'Node-RED' erforderlich, damit die Aktualisierung abgeschlossen werden kann. Dies muss manuell geschehen. </p>",
"title" : "Knoten aktualisieren"
"body" : "<p> Aktualisieren von '__module__' </p> <p> Für die Aktualisierung des Nodes ist ein Neustart von 'Node-RED' erforderlich, damit die Aktualisierung abgeschlossen werden kann. Dies muss manuell geschehen. </p>",
"title" : "Nodes aktualisieren"
},
"cannotUpdate" : {
"body" : "Es ist eine Aktualisierung für diesen Knoten verfügbar, aber sie ist nicht an einer Position installiert, die vom Palettenmanager aktualisiert werden kann. <br/> <br/> Weitere Informationen zum Aktualisieren dieses Knotens finden Sie in der Dokumentation."
"body" : "Es ist eine Aktualisierung für diesen Node verfügbar, aber sie ist nicht an einer Position installiert, die vom Palettenmanager aktualisiert werden kann. <br/> <br/> Weitere Informationen zum Aktualisieren dieses Nodes finden Sie in der Dokumentation."
},
"button" : {
"review" : "Knoteninformationen öffnen",
"review" : "Node-Informationen öffnen",
"install" : "installieren",
"remove" : "Entfernen",
"update" : "Aktualisieren"
@ -412,10 +412,10 @@
},
"sidebar" : {
"info" : {
"name" : "Knoteninformationen",
"name" : "Node-Informationen",
"tabName" : "Name",
"label" : "info",
"node" : "Knoten",
"node" : "Node",
"type" : "Typ",
"id" : "ID",
"status" : "Status",
@ -431,16 +431,16 @@
"showLess" : "Weniger anzeigen",
"flow" : "Flow",
"selection" : "Auswahl",
"nodes" : "__count__ Knoten",
"nodes" : "__count__ Nodes",
"flowDesc" : "Beschreibung des Flows",
"subflowDesc" : "Beschreibung des Subflows",
"nodeHelp" : "Knotenhilfe",
"nodeHelp" : "Node-Hilfe",
"none" : "Keine",
"arrayItems" : "__count__ items",
"showTips" : "Sie können die Tipps in der Anzeige \"Einstellungen\" öffnen."
},
"config" : {
"name" : "Konfigurationsknoten",
"name" : "Konfigurations-Node",
"label" : "Konfiguration",
"global" : "Bei allen Flows",
"none" : "keine",
@ -456,7 +456,7 @@
"none" : "keine ausgewählt",
"refresh" : "Aktualisierung zum Laden",
"empty" : "leer",
"node" : "Knoten",
"node" : "Node",
"flow" : "Flow",
"global" : "Global"
},
@ -604,13 +604,13 @@
},
"typedInput" : {
"type" : {
"str" : "Zeichenfolge",
"num" : "Anzahl",
"str" : "String",
"num" : "Number",
"re" : "Regulärer Ausdruck",
"bool" : "boolean",
"json" : "JSON",
"bin" : "Puffer",
"date" : "Zeitmarke",
"bin" : "Buffer",
"date" : "timestamp",
"jsonata" : "Ausdruck",
"env" : "env, Variable"
}
@ -620,7 +620,7 @@
},
"search" : {
"empty" : "Keine Übereinstimmungen gefunden",
"addNode" : "Knoten hinzufügen ..."
"addNode" : "Node hinzufügen ..."
},
"expressionEditor" : {
"functions" : "Funktionen",
@ -652,10 +652,10 @@
"title" : "Markdown-Editor"
},
"bufferEditor" : {
"title" : "Puffereditor",
"title" : "Buffereditor",
"modeString" : "Als UTF-8-Zeichenfolge bearbeiten",
"modeArray" : "Als JSON-Array bearbeiten",
"modeDesc" : "<h3> Puffereditor </h3> <p> Der Puffertyp wird als JSON-Array mit Bytewerten gespeichert. Der Editor versucht, den eingegebenen Wert als JSON-Array zu parsen. Wenn es sich nicht um ein gültiges JSON handelt, wird es als UTF-8-Zeichenfolge behandelt und in ein Array der einzelnen Zeichencodepunkte konvertiert. </p> <p> Beispiel: Der Wert <code> Hello World </code> wird in das JSON-Array konvertiert: <pre> [ 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100] </pre> </p>"
"modeDesc" : "<h3> Buffereditor </h3> <p> Der Buffertyp wird als JSON-Array mit Bytewerten gespeichert. Der Editor versucht, den eingegebenen Wert als JSON-Array zu parsen. Wenn es sich nicht um ein gültiges JSON handelt, wird es als UTF-8-Zeichenfolge behandelt und in ein Array der einzelnen Zeichencodepunkte konvertiert. </p> <p> Beispiel: Der Wert <code> Hello World </code> wird in das JSON-Array konvertiert: <pre> [ 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100] </pre> </p>"
},
"projects" : {
"config-git" : "Git-Client konfigurieren",

View File

@ -1,23 +1,23 @@
{
"info" : {
"tip0" : "Sie können die ausgewählten Knoten oder Verbindungen mit {{ core:delete-selection }} entfernen.",
"tip1" : "Suche nach Knoten mit {{ core:search }}",
"tip0" : "Sie können die ausgewählten Nodes oder Verbindungen mit {{ core:delete-selection }} entfernen.",
"tip1" : "Suche nach Nodes mit {{ core:search }}",
"tip2" : "{{ core:toggle-sidebar }} schaltet die Ansicht dieser Seitenleiste ein.",
"tip3" : "Sie können Ihre Palette von Knoten mit {{ core:manage-palette }} verwalten.",
"tip4" : "Ihre Flow-Konfigurationsknoten werden in der Seitenleiste angezeigt. Es kann über das Menü oder mit {{ core:show-config-tab }} aufgerufen werden.",
"tip3" : "Sie können Ihre Palette von Nodes mit {{ core:manage-palette }} verwalten.",
"tip4" : "Ihre Flow-Konfigurations-Nodes werden in der Seitenleiste angezeigt. Es kann über das Menü oder mit {{ core:show-config-tab }} aufgerufen werden.",
"tip5" : "Aktiviert oder inaktiviert diese Tipps von der Option in den Einstellungen",
"tip6" : "Verschieben Sie die ausgewählten Knoten mit Hilfe der [left] [up] [down] und [right] Tasten. Halten Sie [Shift] gedrückt, um das Fenster weiter zu schieben",
"tip7" : "Wenn Sie einen Knoten auf eine Verbindung ziehen, wird er in die Verbindung eingefügt.",
"tip8" : "Die ausgewählten Knoten exportieren oder die aktuelle Registerkarte mit {{ core:show-export-dialog }}",
"tip6" : "Verschieben Sie die ausgewählten Nodes mit Hilfe der [left] [up] [down] und [right] Tasten. Halten Sie [Shift] gedrückt, um das Fenster weiter zu schieben",
"tip7" : "Wenn Sie einen Node auf eine Verbindung ziehen, wird er in die Verbindung eingefügt.",
"tip8" : "Die ausgewählten Nodes exportieren oder die aktuelle Registerkarte mit {{ core:show-export-dialog }}",
"tip9" : "Importieren Sie einen Flow, indem Sie sein JSON in den Editor ziehen oder mit {{ core:show-import-dialog }}.",
"tip10" : "[Umschalt] [Klicken] und ziehen Sie auf einen Knotenanschluss, um alle angeschlossenen Verbindungen oder nur die ausgewählte zu verschieben.",
"tip10" : "[Umschalt] [Klicken] und ziehen Sie auf einen Node-Anschluss, um alle angeschlossenen Verbindungen oder nur die ausgewählte zu verschieben.",
"tip11" : "Die Registerkarte \"Info\" mit {{ core:show-info-tab }} oder der Registerkarte \"Debug\" mit {{ core:show-debug-tab }} anzeigen",
"tip12" : "[ctrl] [Klicken] in den Arbeitsbereich, um den Schnellhinzufügedialog zu öffnen.",
"tip13" : "Halten Sie [ctrl] gedrückt, wenn Sie auf einem Knotenanschluss klicken, um eine Schnellverbindung zu aktivieren.",
"tip14" : "Halten Sie [Umschalt] gedrückt, wenn Sie auf einen Knoten klicken, um auch alle verbundenen Knoten auszuwählen.",
"tip15" : "Halten Sie [ctrl] gedrückt, wenn Sie auf einen Knoten klicken, um ihn aus der aktuellen Auswahl hinzuzufügen oder zu entfernen.",
"tip13" : "Halten Sie [ctrl] gedrückt, wenn Sie auf einem Node-Anschluss klicken, um eine Schnellverbindung zu aktivieren.",
"tip14" : "Halten Sie [Umschalt] gedrückt, wenn Sie auf einen Node klicken, um auch alle verbundenen Nodes auszuwählen.",
"tip15" : "Halten Sie [ctrl] gedrückt, wenn Sie auf einen Node klicken, um ihn aus der aktuellen Auswahl hinzuzufügen oder zu entfernen.",
"tip16" : "Indexzungen wechseln mit {{ core:show-previous-tab }} und {{ core:show-next-tab }}",
"tip17" : "Sie können die Änderungen im Editierrahmen des Knotens mit {{ core:confirm-edit-tray }} bestätigen oder sie mit {{ core:cancel-edit-tray }} abbrechen.",
"tip18" : "Durch Drücken von {{ core:edit-selected-node }} wird der erste Knoten in der aktuellen Auswahl bearbeitet."
"tip17" : "Sie können die Änderungen im Editierrahmen des Nodes mit {{ core:confirm-edit-tray }} bestätigen oder sie mit {{ core:cancel-edit-tray }} abbrechen.",
"tip18" : "Durch Drücken von {{ core:edit-selected-node }} wird der erste Node in der aktuellen Auswahl bearbeitet."
}
}

View File

@ -53,7 +53,7 @@
},
"$now" : {
"args" : "",
"desc" : "Generiert eine Zeitmarke im ISO-8601-kompatiblen Format und gibt sie als Zeichenfolge zurück."
"desc" : "Generiert einen Zeitstempel im ISO-8601-kompatiblen Format und gibt sie als Zeichenfolge zurück."
},
"$base64encode" : {
"args" : "Zeichenfolge",
@ -201,7 +201,7 @@
},
"$fromMillis" : {
"args" : "Anzahl",
"desc" : "Konvertieren Sie eine Zahl, die Millisekunden seit der Unix-Epoche (1. Januar 1970 (UTC)) in eine Zeitmarkenzeichenfolge im ISO 8601-Format darstellt."
"desc" : "Konvertieren Sie eine Zahl, die Millisekunden seit der Unix-Epoche (1. Januar 1970 (UTC)) enthält in eine Zeitangabe im ISO 8601-Format."
},
"$formatNumber" : {
"args" : "Zahl, Bild [, Optionen]",
@ -212,8 +212,8 @@
"desc" : "Transformiere die `Zahl` in eine Zeichenfolge und formatiert sie in eine ganze Zahl, die in der durch das `radix` -Argument angegebenen Zahlenbasis dargestellt wird. Wenn 'radix' nicht angegeben wird, wird standardmäßig die Basis 10 verwendet. 'radix` kann zwischen 2 und 36 liegen, andernfalls wird ein Fehler ausgelöst."
},
"$toMillis" : {
"args" : "Zeitmarke",
"desc" : "Konvertieren Sie eine Zeichenfolge `Zeitmarke' im ISO 8601-Format in die Anzahl der Millisekunden seit der Unix-Epoche (1. Januar 1970 (UTC)) als Zahl. Es wird ein Fehler ausgelöst, wenn die Zeichenfolge nicht das richtige Format hat."
"args" : "timestamp",
"desc" : "Konvertieren Sie eine Zeitangabe im ISO 8601-Format in die Anzahl der Millisekunden seit der Unix-Epoche (1. Januar 1970 (UTC)) als Zahl. Es wird ein Fehler ausgelöst, wenn die Zeichenfolge nicht das richtige Format hat."
},
"$env" : {
"args" : "arg",

View File

@ -350,10 +350,8 @@ var RED = (function() {
var parts = topic.split("/");
var node = RED.nodes.node(parts[1]);
if (node) {
if (msg.hasOwnProperty("text")) {
if (msg.text[0] !== ".") {
msg.text = node._(msg.text.toString(),{defaultValue:msg.text.toString()});
}
if (msg.hasOwnProperty("text") && /^[a-zA-Z]/.test(msg.text)) {
msg.text = node._(msg.text.toString(),{defaultValue:msg.text.toString()});
}
node.status = msg;
node.dirtyStatus = true;

View File

@ -708,6 +708,7 @@
}
}
}
this.input.trigger('change',this.propertyType,this.value());
} else {
if (this.optionSelectTrigger) {
this.optionSelectTrigger.hide();

View File

@ -27,7 +27,7 @@
name: {value:""},
func: {value:"\nreturn msg;"},
outputs: {value:1},
noerr: {value:0,required:true,validate:function(v) { return ((!v) || (v === 0)) ? true : false; }}
noerr: {value:0,required:true,validate:function(v) { return !v; }}
},
inputs:1,
outputs:1,

View File

@ -400,48 +400,47 @@ RED.debug = (function() {
}
function processDebugMessage(o) {
var msg = document.createElement("div");
var msg = $("<div/>");
var sourceNode = o._source;
msg.onmouseenter = function() {
$(msg).addClass('red-ui-debug-msg-hover');
msg.on("mouseenter", function() {
msg.addClass('red-ui-debug-msg-hover');
if (o._source) {
config.messageMouseEnter(o._source.id);
if (o._source._alias) {
config.messageMouseEnter(o._source._alias);
}
}
};
msg.onmouseleave = function() {
$(msg).removeClass('red-ui-debug-msg-hover');
});
msg.on("mouseleave", function() {
msg.removeClass('red-ui-debug-msg-hover');
if (o._source) {
config.messageMouseLeave(o._source.id);
if (o._source._alias) {
config.messageMouseLeave(o._source._alias);
}
}
};
});
var name = sanitize(((o.name?o.name:o.id)||"").toString());
var topic = sanitize((o.topic||"").toString());
var property = sanitize(o.property?o.property:'');
var payload = o.msg;
var format = sanitize((o.format||"").toString());
msg.className = 'red-ui-debug-msg'+(o.level?(' red-ui-debug-msg-level-'+o.level):'')+
msg.attr("class", 'red-ui-debug-msg'+(o.level?(' red-ui-debug-msg-level-'+o.level):'')+
(sourceNode?(
" red-ui-debug-msg-node-"+sourceNode.id.replace(/\./g,"_")+
(sourceNode.z?" red-ui-debug-msg-flow-"+sourceNode.z.replace(/\./g,"_"):"")
):"");
):""));
if (sourceNode) {
$(msg).data('source',sourceNode.id);
msg.data('source',sourceNode.id);
if (filterType === "filterCurrent" && activeWorkspace) {
if (sourceNode.z && sourceNode.z.replace(/\./g,"_") !== activeWorkspace) {
$(msg).addClass('hide');
msg.addClass('hide');
}
} else if (filterType === 'filterSelected'){
if (!!filteredNodes[sourceNode.id]) {
$(msg).addClass('hide');
msg.addClass('hide');
}
}
}
@ -481,7 +480,7 @@ RED.debug = (function() {
errorLvl = 30;
errorLvlType = 'warn';
}
$(msg).addClass('red-ui-debug-msg-level-' + errorLvl);
msg.addClass('red-ui-debug-msg-level-' + errorLvl);
$('<span class="red-ui-debug-msg-topic">function : (' + errorLvlType + ')</span>').appendTo(metaRow);
} else {
var tools = $('<span class="red-ui-debug-msg-tools button-group"></span>').appendTo(metaRow);

View File

@ -94,10 +94,10 @@ module.exports = function(RED) {
opts.maxRedirects = 21;
opts.jar = request.jar();
opts.proxy = null;
if (msg.requestTimeout) {
if (msg.requestTimeout !== undefined) {
if (isNaN(msg.requestTimeout)) {
node.warn(RED._("httpin.errors.timeout-isnan"));
} else if (msg.requestTimeout < 0) {
} else if (msg.requestTimeout < 1) {
node.warn(RED._("httpin.errors.timeout-isnegative"));
} else {
opts.timeout = msg.requestTimeout;

View File

@ -22,17 +22,17 @@
<dt> Nutzdaten <span class="property-type"> verschiedene Tyoen </span> </dt>
<dd> Die konfigurierten Nutzdaten der Nachricht. </dd>
<dt class="optional"> Topic <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Eine optionale Eigenschaft, die im Knoten konfiguriert werden kann. </dd>
<dd> Eine optionale Eigenschaft, die im Node konfiguriert werden kann. </dd>
</dl>
<h3> Details </h3>
<p> Der Inject-Knoten kann einen Flow mit einem bestimmten Nutzdatenwert starten.
Die Standardnutzlast ist die aktuelle Zeit als Zeitmarke seit dem 1. Januar 1970 in Millisekunden. </p>
<p> Der Knoten unterstützt auch die Injektion von Zeichenfolgen, Zahlen, Boolescher Daten, JavaScript-Objekten oder flow/globalen Kontextwerten. </p>
<p> Der Knoten wird standardmäßig manuell ausgelöst, indem Sie im Editor auf seine Schaltfläche klicken. Er kann auch in regelmäßigen Abständen oder nach einem Zeitplan injizieren. </p>
<p> Der Inject-Node kann einen Flow mit einem bestimmten Nutzdatenwert starten.
Der Standard-Payload ist die aktuelle Zeit als Zeitstempel seit dem 1. Januar 1970 in Millisekunden. </p>
<p> Der Node unterstützt auch die Injektion von Zeichenfolgen, Zahlen, Boolescher Daten, JavaScript-Objekten oder flow/globalen Kontextwerten. </p>
<p> Der Node wird standardmäßig manuell ausgelöst, indem Sie im Editor auf seine Schaltfläche klicken. Er kann auch in regelmäßigen Abständen oder nach einem Zeitplan injizieren. </p>
<p> Er kann auch so konfiguriert werden, dass er jedes Mal, wenn der Flow gestartet wird einen Wert injiziert. </p>
<p> Das maximale <i> Intervall </i> , das angegeben werden kann, beträgt etwa 596 Stunden/24 Tage. Wenn Sie jedoch Intervalle grösser als 24h verwenden wollen, sollten Sie einen Scheduler-Knoten verwenden, der mit Stromausfällen und Neustarts besser umgehen kann. </p>
<p> Das maximale <i> Intervall </i> , das angegeben werden kann, beträgt etwa 596 Stunden/24 Tage. Wenn Sie jedoch Intervalle grösser als 24h verwenden wollen, sollten Sie einen Scheduler-Node verwenden, der mit Stromausfällen und Neustarts besser umgehen kann. </p>
<p> <b> Hinweis </b>: Die Optionen <i> "Intervall zwischen den Zeiten" </i> und <i> "Zu einem bestimmten Zeitpunkt" </i> verwenden das Standardcron-System.
Dies bedeutet, dass 20 Minuten bedeuten, dass der Event in der nächsten Stunde, 20 Minuten nach der Stunde und 40 Minuten nach der Stunde - aber nicht in 20 Minuten Zeit.
Wenn Sie alle 20 Minuten ab sofort verwenden möchten, verwenden Sie die Option <i> "interval" </i> . </p>
<p> <b> Hinweis </b>: Um eine neue Zeile in eine Zeichenfolge einzuschließen, müssen Sie einen Funktionsknoten verwenden, um die Nutzdaten zu erstellen. </p>
<p> <b> Hinweis </b>: Um eine neue Zeile in eine Zeichenfolge einzuschließen, müssen Sie einen Funktions-Node verwenden, um die Nutzdaten zu erstellen. </p>
</script>

View File

@ -15,26 +15,26 @@
-->
<script type="text/x-red" data-help-name="catch">
<p> Fängt Fehler von Knoten auf derselben Registerkarte. </p>
<p> Fängt Fehler von Nodes auf derselben Registerkarte ab. </p>
<h3> Ausgaben </h3>
<dl class="message-properties">
<dt> error.message <span class="property-type"> Zeichenfolge </span> </dt>
<dd> die Fehlernachricht. </dd>
<dt> error.source.id <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Die ID des Knotens, der den Fehler ausgelöst hat. </dd>
<dd> Die ID des Nodes, der den Fehler ausgelöst hat. </dd>
<dt> error.source.type <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Der Typ des Knotens, der den Fehler ausgelöst hat. </dd>
<dd> Der Typ des Nodes, der den Fehler ausgelöst hat. </dd>
<dt> error.source.name <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Der Name des Knotens (falls festgelegt), der den Fehler ausgelöst hat. </dd>
<dd> Der Name des Nodes (falls festgelegt), der den Fehler ausgelöst hat. </dd>
</dl>
<h3> Details </h3>
<p> Wenn ein Knoten bei der Verarbeitung einer Nachricht einen Fehler auslöst, wird der Flow in der Regel
angehalten. Dieser Knoten kann verwendet werden, um diese Fehler abzufangen und sie mit einem
<p> Wenn ein Node bei der Verarbeitung einer Nachricht einen Fehler auslöst, wird der Flow in der Regel
angehalten. Dieser Node kann verwendet werden, um diese Fehler abzufangen und sie mit einem
dedizierten Flow zu bearbeiten. </p>
<p> Der Knoten fängt standardmäßig Fehler ab, die von einem beliebigen Knoten auf derselben Registerkarte ausgelöst werden. Alternativ
kann er an einen bestimmten Knoten gebunden werden. </p>
<p> Wenn ein Fehler ausgelöst wird, empfangen alle übereinstimmenden Fehlerabfang-Knoten die Nachricht. </p>
<p> Wenn ein Fehler in einem Subflow ausgelöst wird, wird der Fehler von einem Fehlerabfangknoten
<p> Der Node fängt standardmäßig Fehler ab, die von einem beliebigen Node auf derselben Registerkarte ausgelöst werden. Alternativ
kann er an einen bestimmten Node gebunden werden. </p>
<p> Wenn ein Fehler ausgelöst wird, empfangen alle übereinstimmenden Fehlerabfang-Node die Nachricht. </p>
<p> Wenn ein Fehler in einem Subflow ausgelöst wird, wird der Fehler von einem Fehlerabfang-Node
innerhalb des Subflows abgefangen. Wenn keine vorhanden sind, wird zu dem Tab geleitet,
in der sich die Subflow-Instanz befindet. </p>
<p> Wenn die Nachricht bereits über eine Eigenschaft <code>error</code> verfügt, wird sie nach <code>_error</code> kopiert. </p>

View File

@ -15,20 +15,20 @@
-->
<script type="text/x-red" data-help-name="status">
<p> Berichtet Statusnachrichten von anderen Knoten auf derselben Registerkarte. </p>
<p> Berichtet Statusnachrichten von anderen Node auf derselben Registerkarte. </p>
<h3> Ausgaben </h3>
<dl class="message-properties">
<dt> status.text <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Statustext </dd>
<dt> status.source.type <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Der Typ des Knotens, der den Status gemeldet hat </dd>
<dd> Der Typ des Nodes, der den Status gemeldet hat </dd>
<dt> status.source.id <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Die ID des Knotens, der den Status gemeldet hat. </dd>
<dd> Die ID des Nodes, der den Status gemeldet hat. </dd>
<dt> status.source.name <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Der Name des Knotens (falls gesetzt), der den Status gemeldet hat. </dd>
<dd> Der Name des Nodes (falls gesetzt), der den Status gemeldet hat. </dd>
</dl>
<h3> Details </h3>
<p> Dieser Knoten erzeugt keine <code>Nutzdaten</code>. </p>
<p> Standardmäßig meldet der Knoten den Status für alle Knoten auf derselben Registerkarte.
Er kann so konfiguriert werden, dass der Status für einzelne Knoten selektiv gemeldet wird. </p>
<p> Dieser Node erzeugt keine <code>Nutzdaten</code>. </p>
<p> Standardmäßig meldet der Node den Status für alle Node auf derselben Registerkarte.
Er kann so konfiguriert werden, dass der Status für einzelne Nodes selektiv gemeldet wird. </p>
</script>

View File

@ -23,10 +23,10 @@
<p> JavaScript-Objekte und -Arrays können nach Bedarf ausgeblendet und eingeblendet werden.
Bufferobjekte können, wenn möglich, als Rohdaten oder als Zeichenfolge angezeigt werden. </p>
<p> Neben jeder Nachricht enthält die Registerkarte "Debug" Informationen über den Zeitpunkt,
zu dem die Nachricht empfangen wurde, den Knoten, der sie gesendet hat, und den Typ der Nachricht.
Wenn Sie auf die ID des Quellenknotens klicken, wird dieser Knoten innerhalb des Arbeitsbereichs angezeigt. </p>
<p> Die Schaltfläche auf dem Knoten kann verwendet werden, um die Ausgabe zu aktivieren oder zu inaktivieren.
Es wird empfohlen, alle Debugknoten, die nicht verwendet werden, zu inaktivieren oder zu entfernen. </p>
<p> Der Knoten kann auch so konfiguriert werden, dass er alle Nachrichten an das Laufzeitprotokoll sendet,
oder dass er kurze (32 Zeichen) an den Statustext unter dem Debugknoten sendet. </p>
zu dem die Nachricht empfangen wurde, den Node, der sie gesendet hat, und den Typ der Nachricht.
Wenn Sie auf die ID des Quellen-Nodes klicken, wird dieser Node innerhalb des Arbeitsbereichs angezeigt. </p>
<p> Die Schaltfläche auf dem Node kann verwendet werden, um die Ausgabe zu aktivieren oder zu inaktivieren.
Es wird empfohlen, alle Debug-Nodes, die nicht verwendet werden, zu inaktivieren oder zu entfernen. </p>
<p> Der Node kann auch so konfiguriert werden, dass er alle Nachrichten an das Laufzeitprotokoll sendet,
oder dass er kurze (32 Zeichen) an den Statustext unter dem Debug-Node sendet. </p>
</script>

View File

@ -17,10 +17,10 @@
<script type="text/x-red" data-help-name="link in">
<p> Erstellt virtuelle Verbindungen zwischen Flows. </p>
<h3> Details </h3>
<p> Der Knoten kann mit jedem beliebigen <code>Link-out</code> Knoten auf einer beliebigen Registerkarte verbunden werden.
<p> Der Node kann mit jedem beliebigen <code>Link-out</code> Node auf einer beliebigen Registerkarte verbunden werden.
Sobald sie verbunden sind, verhalten sie sich so, als wären sie direkt verbunden. </p>
<p> Die Verbindungen zwischen Verknüpfungsknoten werden nur angezeigt, wenn ein Verknüpfungsknoten ausgewählt ist.
Wenn Verbindungen zu anderen Registerkarten vorhanden sind, wird ein virtueller Knoten angezeigt, auf den geklickt werden kann,
<p> Die Verbindungen zwischen Verknüpfungs-Node werden nur angezeigt, wenn ein Verknüpfungs-Node ausgewählt ist.
Wenn Verbindungen zu anderen Registerkarten vorhanden sind, wird ein virtueller Node angezeigt, auf den geklickt werden kann,
um zur entsprechenden Registerkarte zu springen. </p>
<p> <b> Hinweis: </b> Links können nicht in einem Subflow erstellt oder aus einem Subflow heraus erstellt werden. </p>
</script>
@ -28,10 +28,10 @@
<script type="text/x-red" data-help-name="link out">
<p> Erstellt virtuelle Verbindungen zwischen Flows. </p>
<h3> Details </h3>
<p> Der Knoten kann mit jedem beliebigen <code>Link-out</code> Knoten auf einer beliebigen Registerkarte verbunden werden.
<p> Der Node kann mit jedem beliebigen <code>Link-out</code> Node auf einer beliebigen Registerkarte verbunden werden.
Sobald sie verbunden sind, verhalten sie sich so, als wären sie direkt verbunden. </p>
<p> Die Verbindungen zwischen Verknüpfungsknoten werden nur angezeigt, wenn ein Verknüpfungsknoten ausgewählt ist.
Wenn Verbindungen zu anderen Registerkarten vorhanden sind, wird ein virtueller Knoten angezeigt, auf den geklickt werden kann,
<p> Die Verbindungen zwischen Verknüpfungs-Node werden nur angezeigt, wenn ein Verknüpfungs-Node ausgewählt ist.
Wenn Verbindungen zu anderen Registerkarten vorhanden sind, wird ein virtueller Node angezeigt, auf den geklickt werden kann,
um zur entsprechenden Registerkarte zu springen. </p>
<p> <b> Hinweis: </b> Links können nicht in einem Subflow erstellt oder aus einem Subflow heraus erstellt werden. </p>
</script>

View File

@ -16,18 +16,18 @@
<script type="text/x-red" data-help-name="exec">
<p> Führt einen Systembefehl aus und gibt seine Ausgabe zurück. </p>
<p> Der Knoten kann so konfiguriert werden, dass er entweder wartet, bis der Befehl abgeschlossen ist,
<p> Der Node kann so konfiguriert werden, dass er entweder wartet, bis der Befehl abgeschlossen ist,
oder die Ausgabe so sendet wie der Befehl sie generiert. </p>
<p> Der Befehl, der ausgeführt wird, kann im Knoten konfiguriert oder von der empfangenen Nachricht übergeben werden. </p>
<p> Der Befehl, der ausgeführt wird, kann im Node konfiguriert oder von der empfangenen Nachricht übergeben werden. </p>
<h3> Eingaben </h3>
<dl class="message-properties">
<dt class="optional">payload<span class="property-type"> Zeichenfolge </span> </dt>
<dd> wird an den ausgeführten Befehl angehängt </dd>
<dt class="optional"> kill <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Der Typ des Kill-Signals, das einen vorhandenen exec-Knotenprozess gesendet wird. </dd>
<dd> Der Typ des Kill-Signals, das einen vorhandenen exec-Node-Prozess gesendet wird. </dd>
<dt class="optional"> pid <span class="property-type"> Zahl|Zeichenfolge </span> </dt>
<dd> Die Prozess-ID eines vorhandenen exec-Knotenprozesses, der beendet werden soll. </dd>
<dd> Die Prozess-ID eines vorhandenen exec-Node-Prozesses, der beendet werden soll. </dd>
</dl>
<h3> Ausgaben </h3>
@ -67,17 +67,17 @@
am 3. Port zurück. Ein erfolgreicher Befehl sollte z. B. <code>{ code: 0 }</code> zurückgeben. </p>
<p> Fehler können zusätzliche Informationen über den dritten Port als <code>msg.payload</code> zurückgeben,
z. B. eine <code>message</code> Zeichenfolge oder <code>Signal</code> zeichenfolge. </p>
<p> Der Befehl, der ausgeführt wird, ist innerhalb des Knotens definiert, mit einer Option zum Anhängen von <code> msg.payload </code>
<p> Der Befehl, der ausgeführt wird, ist innerhalb des Nodes definiert, mit einer Option zum Anhängen von <code> msg.payload </code>
und einer weiteren Gruppe von Parametern. </p>
<p> Befehle oder Parameter mit Leerzeichen müssen in Anführungszeichen eingeschlossen werden: <code> "Dies ist ein einzelner Parameter" </code> </p>
<p> Die zurückgegebenen <code>Nutzdaten</code> sind in der Regel ein <i>string</i>, es sei denn, es werden nicht UTF8-Zeichen erkannt, in denen
falls es sich um einen <i>Buffer</i> handelt. </p>
<p> Das Statussymbol und die PID des Knotens werden angezeigt, während der Knoten aktiv ist. Änderungen an dieser Funktion können vom Knoten <code> Status </code> gelesen werden. </p>
<p> Das Statussymbol und die PID des Nodes werden angezeigt, während der Node aktiv ist. Änderungen an dieser Funktion können vom Node <code> Status </code> gelesen werden. </p>
<h4> Prozesse beenden </h4>
<p> Wird <code>msg.kill</code> gesendet, wird ein einzelner aktiver Prozess beendet. <code>msg.kill</code> sollte eine Zeichenfolge sein, die
Der Typ des Signals, der gesendet werden soll, z. B. <code>SIGINT</code>, <code>SIGQUIT</code> oder <code>SIGHUP</code>.
Der Standardwert ist <code>SIGTERM</code> , wenn er auf eine leere Zeichenfolge gesetzt ist. </p>
<p> Wenn der Knoten mehr als einen Prozess ausführt, muss <code>msg.pid</code> ebenfalls mit dem Wert der zu ermordenen PID festgelegt werden. </p>
<p> Wenn der Node mehr als einen Prozess ausführt, muss <code>msg.pid</code> ebenfalls mit dem Wert der zu ermordenen PID festgelegt werden. </p>
<p> Wenn ein Wert im Feld <code>Zeitlimit</code> angegeben wird, wird der Prozess automatisch beendet, wenn der Prozess nicht abgeschlossen ist, wenn die angegebene Anzahl von Sekunden abgelaufen ist. </p>
<p> Tipp: Wenn Sie eine Python-App ausführen, müssen Sie möglicherweise den Parameter <code>-u</code> verwenden, um die Ausgabe zu stoppen, die gepuffert wird. </p>
</script>

View File

@ -15,7 +15,7 @@
-->
<script type="text/x-red" data-help-name="function">
<p> Ein JavaScript-Funktionsblock, der für die Nachrichten ausgeführt werden soll, die vom Knoten empfangen werden. </p>
<p> Ein JavaScript-Funktionsblock, der für die Nachrichten ausgeführt werden soll, die vom Node empfangen werden. </p>
<p> Die Nachrichten werden als JavaScript-Objekt mit dem Namen <code>msg</code> übergeben. </p>
<p> Er erwartet eine Eigenschaft <code> msg.payload </code> , die den Hauptteil der Nachricht enthält. </p>
<p> Die Funktion wird erwartet, dass ein Nachrichtenobjekt (oder mehrere Nachrichtenobjekte) zurückgegeben werden, kann aber
@ -24,12 +24,12 @@
<p> Siehe <a target="_blank" href="http://nodered.org/docs/writing-functions.html"> Onlinedokumentation </a> für weitere Informationen
zum Schreiben von Funktionen. </p>
<h4> Nachrichten senden </h4>
<p> Die Funktion kann die Nachrichten zurückgeben, die sie an die nächsten Knoten inm Flow weitergeben möchte
<p> Die Funktion kann die Nachrichten zurückgeben, die sie an die nächsten Node inm Flow weitergeben möchte
oder kann <code>node.send (msg)</code> aufrufen. </p>
<p> Es kann Folgendes zurückgeben/senden: </p>
<ul>
<li> Ein einzelnes Nachrichtenobjekt-übergeben an Knoten, die mit der ersten Ausgabe verbunden sind </li>
<li> ein Array von Nachrichtenobjekten, die an Knoten übergeben werden, die mit den entsprechenden Ausgaben verbunden sind </li>
<li> Ein einzelnes Nachrichtenobjekt-übergeben an Node, die mit der ersten Ausgabe verbunden sind </li>
<li> ein Array von Nachrichtenobjekten, die an Nodes übergeben werden, die mit den entsprechenden Ausgaben verbunden sind </li>
</ul>
<p> Wenn ein Element des Arrays selbst ein Array von Nachrichten ist, werden mehrere Nachrichten an die entsprechende Ausgabe gesendet. </p>
<p> Wenn null zurückgegeben wird, entweder durch sich selbst oder als Element des Arrays, wird die Nachricht nicht weitergegeben. </p>
@ -41,14 +41,14 @@
<li> <code>node.error ("Error")</code> </li>
</ul>
</p>
<p> Der Catch-Knoten kann auch zur Bearbeitung von Fehlern verwendet werden. So rufen Sie einen Catch-Knoten auf:
<p> Der Catch-Node kann auch zur Bearbeitung von Fehlern verwendet werden. So rufen Sie einen Catch-Node auf:
Übergeben Sie <code>msg</code> als zweites Argument an <code>node.error</code>:</p>
<pre>node.error ("Error" ,msg);</pre>
<h4> Auf Knoteninformationen zugreifen </h4>
<p> Im Funktionsblock können die ID und der Name des Knotens mit den folgenden Eigenschaften referenziert werden: </p>
<h4> Auf Node-Informationen zugreifen </h4>
<p> Im Funktionsblock können die ID und der Name des Nodes mit den folgenden Eigenschaften referenziert werden: </p>
<ul>
<li> <code>node.id</code> - ID des Knotens </li>
<li> <code>node.name</code> - Name des Knotens </li>
<li> <code>node.id</code> - ID des Nodes </li>
<li> <code>node.name</code> - Name des Nodes </li>
</ul>
<h4> Umgebungsvariablen verwenden </h4>
<p> Auf Umgebungsvariablen kann mit <code>env.get ("MY_ENV_VAR")</code> zugegriffen werden. </p>

View File

@ -15,19 +15,19 @@
-->
<script type="text/x-red" data-help-name="delay">
<p> Verzögert jede Nachricht, die den Knoten durchläuft oder begrenzt die Geschwindigkeit, mit der sie übergeben werden können. </p>
<p> Verzögert jede Nachricht, die den Node durchläuft oder begrenzt die Geschwindigkeit, mit der sie übergeben werden können. </p>
<h3> Eingaben </h3>
<dl class="message-properties">
<dt class="optional"> delay <span class="property-type"> Zahl </span> </dt>
<dd> Legt die Verzögerung (in Millisekunden) fest, die auf die Nachricht angewendet werden soll. Dies
Option gilt nur, wenn der Knoten so konfiguriert ist, dass er Nachrichten zulässt,
Option gilt nur, wenn der Node so konfiguriert ist, dass er Nachrichten zulässt,
die das konfigurierte Standardverzögerungsintervall überschreiben. </dd>
<dt class="optional"> zurücksetzen </dt>
<dd> Wenn für die empfangene Nachricht diese Eigenschaft auf einen beliebigen Wert gesetzt ist, werden alle
ausstehende Nachrichten gelöscht, die vom Knoten noch gehalten werden. </dd>
ausstehende Nachrichten gelöscht, die vom Node noch gehalten werden. </dd>
<dt class="optional"> Flush </dt>
<dd> Wenn für die empfangene Nachricht diese Eigenschaft auf einen beliebigen Wert gesetzt ist, werden alle
ausstehende Nachrichten, die vom noch Knoten gehalten werden, sofort gesendet. </dd>
ausstehende Nachrichten, die vom noch Node gehalten werden, sofort gesendet. </dd>
</dl>
<h3> Details </h3>
<p> Wenn das Verzögerungsintervall für die Verzögerung von Nachrichten konfiguriert ist, kann es sich um einen festen Wert,
@ -39,7 +39,7 @@
<p> Die Ratenbegrenzung kann auf alle Nachrichten angewendet werden
oder sie werden gemäß des Wertes von <code>msg.topic</code> gruppiert.
Bei der Gruppierung werden zwíschenzeitlich eintreffende Nachrichten automatisch gelöscht.
In jedes Zeitintervall kann der Knoten entweder die aktuellste Nachricht für alle Themen
oder die neueste Nachricht für das nächste Thema freigeben.
In jedes Zeitintervall kann der Node entweder die aktuellste Nachricht für alle Themen
oder die neueste Nachricht für das nächste Topic freigeben.
</p>
</script>

View File

@ -26,19 +26,19 @@
</dl>
<h3> Details </h3>
<p> Dieser Knoten kann verwendet werden, um ein Zeitlimit in einem Flow zu erstellen. Wenn er eine Nachricht empfängt, wird
<p> Dieser Node kann verwendet werden, um ein Zeitlimit in einem Flow zu erstellen. Wenn er eine Nachricht empfängt, wird
standardmäßig wird eine Nachricht mit einer <code>payload</code> von <code>1</code> versandt.
Anschließend wartet er 250 ms, bevor er eine zweite Nachricht mit einer <code>payload</code> von <code>0</code> sendet.
Dies kann beispielsweise zum Blinken einer LED verwendet werden, die an einen Raspberry Pi GPIO-Pin angeschlossen ist.</p>
<p> Die Nutzdaten jeder gesendeten Nachricht können für eine Vielzahl von Werten konfiguriert werden,
einschließlich der Option, nichts zu senden. Wenn Sie beispielsweise die Anfangsnachricht auf <i>nichts</i> setzen und
Auswahl der Option zum Erweitern des Zeitgebers mit jeder empfangenen Nachricht dann wird der Knoten als Überwachungszeitgeber agieren
Auswahl der Option zum Erweitern des Zeitgebers mit jeder empfangenen Nachricht dann wird der Node als Überwachungszeitgeber agieren
und nur dann eine Nachricht senden, wenn innerhalb des konfigurierten Erweiterungszeitraums keine Nachricht empfangen wird. </p>
<p> Wenn der Knoten auf den Typ <i>Zeichenfolge</i> gesetzt ist, unterstützt der Knoten die Syntax der Mustache-Vorlage. </p>
<p> Wenn der Knoten eine Nachricht mit einer Eigenschaft <code>reset</code> oder einer <code>payload</code> die mit dem Wert in der
Knotenkonfiguration übereinstimmt, wird jede beliebige Zeitlimitüberschreitung oder Wiederholung gelöscht,
<p> Wenn der Node auf den Typ <i>Zeichenfolge</i> gesetzt ist, unterstützt der Node die Syntax der Mustache-Vorlage. </p>
<p> Wenn der Node eine Nachricht mit einer Eigenschaft <code>reset</code> oder einer <code>payload</code> die mit dem Wert in der
Node-Konfiguration übereinstimmt, wird jede beliebige Zeitlimitüberschreitung oder Wiederholung gelöscht,
die sich derzeit in Bearbeitung befindet und es wird keine Nachricht ausgelöst. </p>
<p> Der Knoten kann so konfiguriert werden, dass er eine Nachricht in einem regulären Intervall sendet,
<p> Der Node kann so konfiguriert werden, dass er eine Nachricht in einem regulären Intervall sendet,
bis er durch eine empfangene Nachricht zurückgesetzt wird. </p>
<p> Optional kann der Knoten so konfiguriert werden, dass er Nachrichten für jedes <code>msg.topic</code> als separate Datenströme behandelt. </p>
<p> Optional kann der Node so konfiguriert werden, dass er Nachrichten für jedes <code>msg.topic</code> als separate Datenströme behandelt. </p>
</script>

View File

@ -15,8 +15,8 @@
-->
<script type="text/x-red" data-help-name="comment">
<p>Ein Knoten, der zur Kommentierung der Flows verwendet werden kann.</p>
<p>Ein Node, der zur Kommentierung der Flows verwendet werden kann.</p>
<h3>Details</h3>
<p>Das Textfeld des Knoten akzeptiert die Markdown Syntax. Der eingegebene Text wird dann in diesem Informations Panel angezeigt.
<p>Das Textfeld des Node akzeptiert die Markdown Syntax. Der eingegebene Text wird dann in diesem Informations Panel angezeigt.
</p>
</script>

View File

@ -15,14 +15,14 @@
-->
<script type="text/x-red" data-help-name="unknown">
<p>Dieser Knoten ist von einem Typ, der in der aktuellen Node-RED Installation unbekannt ist.</p>
<p>Dieser Node ist von einem Typ, der in der aktuellen Node-RED Installation unbekannt ist.</p>
<h3>Details</h3>
<p><i>Wenn der Flow im aktuellen Zustand eingesetzt wird, bleibt die Konfiguration erhalten
aber der Flow wird nicht starten bis der vermisste Knoten Typ installiert ist.</i></p>
<p>Benutzen Sie die <code>Menu - Palette anpassen</code> Option um nach Knoten zu suchen und sie zu installieren
aber der Flow wird nicht starten bis der vermisste Node Typ installiert ist.</i></p>
<p>Benutzen Sie die <code>Menu - Palette anpassen</code> Option um nach Nodes zu suchen und sie zu installieren
oder verwenden Sie <b>npm install &lt;module&gt;</b> um die vermissten Module zu installieren.
Starten Sie danach Node-RED neu und importieren Sie die Knoten erneut.</p>
<p>Es ist möglich, dass der Knotentyp bereits installiert ist, aber bestimmte Abhängigkeiten vermisst werden.
Prüfen Sie das Node-RED Protokoll auf Fehlernachrichten in Bezug auf den vermissten Knotentyp.</p>
<p>Andernfalls kontaktieren Sie den Author des Flows um Informationen über den vermissten Knotentyp zu bekommen.</p>
Starten Sie danach Node-RED neu und importieren Sie die Node erneut.</p>
<p>Es ist möglich, dass der Nodetyp bereits installiert ist, aber bestimmte Abhängigkeiten vermisst werden.
Prüfen Sie das Node-RED Protokoll auf Fehlernachrichten in Bezug auf den vermissten Nodetyp.</p>
<p>Andernfalls kontaktieren Sie den Author des Flows um Informationen über den vermissten Nodetyp zu bekommen.</p>
</script>

View File

@ -15,14 +15,14 @@
-->
<script type="text/x-red" data-help-name="rpi-gpio in">
<p> Raspberry Pi-Empfangsknoten. Generiert eine <code>msg.payload</code> mit einem Wert von
<p> Raspberry Pi-Empfangs-Node. Generiert eine <code>msg.payload</code> mit einem Wert von
0 oder 1 in Abhängigkeit vom Status des Eingabepins. </p>
<h3> Ausgaben </h3>
<dl class="message-properties">
<dt> payload <span class="property-type"> Zahl </span> </dt>
<dd> Die Nutzdaten sind 1 oder 0. </dd>
<dt> topic <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Das Thema wird auf <code>pi/ { the pin number }</code> gesetzt. </dd>
<dd> Das Topic wird auf <code>pi/ { the pin number }</code> gesetzt. </dd>
</dl>
<h3> Details </h3>
<p> Sie können auch den Eingangs-Pullup-Widerstand oder den Pulldown-Widerstand aktivieren. </p>
@ -30,24 +30,24 @@
</script>
<script type="text/x-red" data-help-name="rpi-gpio out">
<p> Raspberry Pi-Ausgabeknoten. Kann im Digital- oder PWM-Modus verwendet werden. </p>
<p> Raspberry Pi-Ausgabe-Node. Kann im Digital- oder PWM-Modus verwendet werden. </p>
<h3> Eingaben </h3>
<dl class="message-properties">
<dt> payload <span class="property-type"> Zahl | Zeichen | Boolean </span> </dt>
</dl>
<h3> Details </h3>
<p> Der digitale Modus erwartet der Knoten eine <code>msg.payload</code> von entweder 0 oder 1 (oder false oder true)
<p> Der digitale Modus erwartet der Node eine <code>msg.payload</code> von entweder 0 oder 1 (oder false oder true)
und schaltet den ausgewählten physischen Pin in Abhängigkeit von dem übergebenen Wert entweder auf LOW oder HIGH. </p>
<p> Der Anfangswert für den Pin kann bei der Implementierung auf 0 oder 1 gesetzt werden. </p>
<p> Im PWM-Modus erwartet der Knoten einen Eingabewert mit der Zahl 0-100. Es kann ein Gleitkommazahl sein. </p>
<p> Im PWM-Modus erwartet der Node einen Eingabewert mit der Zahl 0-100. Es kann ein Gleitkommazahl sein. </p>
<p> Der PWM-Modus kann verwendet werden, um einen Servo unter Verwendung von Eingabewerten nur zwischen 10 und 20 zu steuern,
akzeptiert aber auch Gleitkommawerte. Der GPIO2-Pin eignet sich am besten dafür, da er Hardware-PWM unterstützt. Für eine bessere Servounterstützung
sollten Sie den alternativen Knoten <pre>Node-red-node-pi-gpiod</pre> berücksichtigen. </p>
sollten Sie den alternativen Node <pre>Node-red-node-pi-gpiod</pre> berücksichtigen. </p>
<p> Erfordert die Python-Bibliothek RPi.GPIO in der Version 0.5.10 (oder besser). </p>
</script>
<script type="text/x-red" data-help-name="rpi-mouse">
<p> Raspberry Pi-Maustastenknoten. Erfordert eine USB-Maus. </p>
<p> Raspberry Pi-Maustasten-Node. Erfordert eine USB-Maus. </p>
<h3>Ausgaben </h3>
<dl class="message-properties">
<dt> payload <span class="property-type"> Zahl </span> </dt>
@ -61,7 +61,7 @@
</script>
<script type="text/x-red" data-help-name="rpi-keyboard">
<p>Raspberry Pi Tastaturknoten. Benötigt eine USB Tastatur.</p>
<p>Raspberry Pi Tastatur-Node. Benötigt eine USB Tastatur.</p>
<h3>Ausgaben</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">Zahl</span></dt>

View File

@ -12,23 +12,23 @@
-->
<script type="text/x-red" data-help-name="mqtt in">
<p> Stellt eine Verbindung zu einem MQTT-Broker her und subskribiert Nachrichten zu dem angegebenen Thema. </p>
<p> Stellt eine Verbindung zu einem MQTT-Broker her und subskribiert Nachrichten zu dem angegebenen Topic. </p>
<h3> Ausgaben </h3>
<dl class="message-properties">
<dt> payload <span class="property-type"> Zeichenfolge | Buffer </span> </dt>
<dd> eine Zeichenfolge, sofern sie nicht als binärer Buffer erkannt wird. </dd>
<dt> topic <span class="property-type"> Zeichenfolge </span> </dt>
<dd> Das MQTT-Thema verwendet <code>/</code> als Trennzeichen für die Hierarchie. </dd>
<dd> Das MQTT-Topic verwendet <code>/</code> als Trennzeichen für die Hierarchie. </dd>
<dt> qos <span class="property-type"> Zahl </span> </dt>
<dd> 0: fire und forget 1: mindestens einmal 2: einmal und nur einmal. </dd>
<dt> retain <span class="property-type"> boolean </span> </dt>
<dd> true gibt an, dass die Nachricht beibehalten wurde und älter sein kann. </dd>
<dd> true gibt an, dass die Nachricht retained wurde und älter sein kann. </dd>
</dl>
<h3> Details </h3>
Das Subskriptionsthema kann MQTT-Platzhalterzeichen, + für eine Ebene, # für mehrere Ebenen umfassen. </p>
<p> Dieser Knoten erfordert eine Verbindung zu einem MQTT-Broker, der über die Auswahlliste selektiert werden kann.
Das Subscribete Topic kann MQTT-Platzhalterzeichen, + für eine Ebene, # für mehrere Ebenen umfassen. </p>
<p> Dieser Node erfordert eine Verbindung zu einem MQTT-Broker, der über die Auswahlliste selektiert werden kann.
Eine neue Konfiguration wird durch Klicken auf das Stiftsymbol erstellt. </p>
<p> Mehrere MQTT-Knoten (in oder out) können bei Bedarf dieselbe Brokerverbindung nutzen. </p>
<p> Mehrere MQTT-Nodes (in oder out) können bei Bedarf dieselbe Brokerverbindung nutzen. </p>
</script>
<script type="text/x-red" data-help-name="mqtt out">
@ -38,7 +38,7 @@
<dt>payload <span class="property-type">Zeichenfolge | Buffer</span></dt>
<dd>die meisten Benutzer präferieren einfach Textnachrichten aber es können auch binäre Buffer publiziert werden.</dd>
<dt class="optional">topic <span class="property-type">string</span></dt>
<dd> Das MQTT-Thema zu dem publiziert wird. Es verwendet <code>/</code> als Trennzeichen für die Hierarchie.</dd>
<dd> Das MQTT-Topic zu dem publiziert wird. Es verwendet <code>/</code> als Trennzeichen für die Hierarchie.</dd>
<dt class="optional">qos <span class="property-type">number</span></dt>
<dd>0: fire und forget 1: mindestens einmal 2: einmal und nur einmal. Default 0.</dd>
@ -49,35 +49,35 @@
<h3>Details</h3>
<code> msg.payload </code> wird als Nutzdaten der zu veröffentlichenden Nachricht verwendet.
Wenn er ein Objekt enthält, wird es in eine JSON-Zeichenfolge konvertiert, bevor es gesendet wird.
Wenn er einen binären Puffer enthält, wird die Nachricht unverändert veröffentlicht. </p>
<p> Das verwendete Thema kann im Knoten konfiguriert werden oder, falls es leer gelassen wird,
Wenn er einen binären Buffer enthält, wird die Nachricht unverändert veröffentlicht. </p>
<p> Das verwendete Topic kann im Node konfiguriert werden oder, falls es leer gelassen wird,
durch <code>msg.topic</code> festgelegt werden. </p>
<p> Ebenso können die QoS- und retain-Werte im Knoten konfiguriert werden oder, falls vorhanden,
<p> Ebenso können die QoS- und retain-Werte im Node konfiguriert werden oder, falls vorhanden,
durch <code>msg.qos</code> bzw. <code>msg.retain</code> festgelegt werden.
Sie können eine zuvor auf einem Thema auf dem Broker beibehalten Nachricht löschen,
indem eine leere Nachricht an dieses Thema gesendet wird und die Markierung 'retain' gesetzt ist.</p>
<p>Dieser Knoten erfordert eine Verbindung zu einem MQTT-Broker, der über die Auswahlliste selektiert werden kann.
Sie können eine zuvor auf einem Topic auf dem Broker retainte Nachricht löschen,
indem eine leere Nachricht an dieses Topic gesendet wird und die Markierung 'retain' gesetzt ist.</p>
<p>Dieser Node erfordert eine Verbindung zu einem MQTT-Broker, der über die Auswahlliste selektiert werden kann.
Eine neue Konfiguration wird durch Klicken auf das Stiftsymbol erstellt.</p>
<p>Mehrere MQTT-Knoten (in oder out) können bei Bedarf dieselbe Brokerverbindung nutzen.</p>
<p>Mehrere MQTT-Nodes (in oder out) können bei Bedarf dieselbe Brokerverbindung nutzen.</p>
</script>
<script type="text/x-red" data-help-name="mqtt-broker">
<p> Konfiguration für eine Verbindung zu einem MQTT-Broker. </p>
<p> Diese Konfiguration erstellt eine Verbindung zu einem Broker, die anschließend von den
Knoten <code>MQTT In</code> und <code>MQTT Out</code> verwendet werden. </p>
<p> Der Knoten generiert eine beliebige Client-ID, falls sie nicht definiert ist und der Knoten für die Verwendung
Nodes <code>MQTT In</code> und <code>MQTT Out</code> verwendet werden. </p>
<p> Der Node generiert eine beliebige Client-ID, falls sie nicht definiert ist und der Node für die Verwendung
einer bereinigten Sitzung (Clean Session) konfiguriert ist. Wenn eine Client-ID festgelegt ist,
muss sie für den Broker, zu dem Sie eine Verbindung herstellen, eindeutig sein. </p>
<h3> Nachricht bei Verbindungsaufbau </h3>
<p> Dies ist eine Nachricht, die vom Broker in dem konfigurierten Thema veröffentlicht wird, wenn die Verbindung hergestellt wurde. </p>
<p> Dies ist eine Nachricht, die vom Broker in dem konfigurierten Topic veröffentlicht wird, wenn die Verbindung hergestellt wurde. </p>
<h3> Nachricht bei Verbindungsbeendigung </h3>
<p> Dies ist eine Nachricht, die vom Broker in dem konfigurierten Thema veröffentlicht wird, wenn die Verbindung normal geschlossen wird -
entweder durch erneute Implementierung des Knotens oder durch Herunterfahren von Node-RED. </p>
<p> Dies ist eine Nachricht, die vom Broker in dem konfigurierten Topic veröffentlicht wird, wenn die Verbindung normal geschlossen wird -
entweder durch erneute Implementierung des Nodes oder durch Herunterfahren von Node-RED. </p>
<h3> Nachricht bei unerwarteter Verbindungsbeendigung</h3>
<p> Dies ist eine Nachricht, die vom Broker in dem konfigurierten Thema veröffentlicht wird,
<p> Dies ist eine Nachricht, die vom Broker in dem konfigurierten Topic veröffentlicht wird,
wenn die Verbindung unerwartet geschlossen wird
<h3> WebSockets </h3>
<p> Der Knoten kann für die Verwendung einer WebSocket-Verbindung konfiguriert werden.
<p> Der Node kann für die Verwendung einer WebSocket-Verbindung konfiguriert werden.
Dazu wird im Server-Feld eine vollständigen URI für die Verbindung angegeben. Beispiel: </p>
<pre> ws://example.com:4000/mqtt </pre>
</script>

View File

@ -36,11 +36,11 @@
</dd>
<dt>res<span class="property-type">Objekt</span></dt>
<dd>Ein HTTP-Antwortobjekt. Diese Eigenschaft sollte nicht direkt verwendet werden.
Der <code>HTTP Response</code> Knoten dokumentiert, wie auf eine Anforderung reagiert wird.
Diese Eigenschaft muss an die Nachricht angehängt bleiben, die an den Antwortknoten übergeben wird.</dd>
Der <code>HTTP Response</code> Node dokumentiert, wie auf eine Anforderung reagiert wird.
Diese Eigenschaft muss an die Nachricht angehängt bleiben, die an den Antwort-Node übergeben wird.</dd>
</dl>
<h3>Details</h3>
<p> Der Knoten ist auf dem konfigurierten Pfad für Anforderungen eines bestimmten Typs empfangsbereit.
<p> Der Node ist auf dem konfigurierten Pfad für Anforderungen eines bestimmten Typs empfangsbereit.
Der Pfad kann vollständig angegeben werden, z. B. <code>/user</code> oder benannte Parameter beinhalten,
die einen beliebigen Wert akzeptieren, z. B. <code>/user/:name</code>.
Wenn benannte Parameter verwendet werden, kann auf ihren tatsachlichen Wert über <code> msg.req.params</code>
@ -49,12 +49,12 @@
Anforderung über <code>msg.payload</code> verfügbar gemacht.</p>
<p> Wenn der Inhaltstyp der Anforderung ermittelt werden kann, wird der Hauptteil syntaktisch analysiert.
Wenn zum Beispiel <code> application/json</code> erkannt wurde, die Darstellung in der JavaScript-Objekt Notation. </p>
<p> <b> Hinweis:</b> Dieser Knoten sendet keine Antwort an die Anforderung. Der Flow
muss einen code>HTTP Response</code> Knoten enthalten, um die Anforderung abzuschließen. </p>
<p> <b> Hinweis:</b> Dieser Node sendet keine Antwort an die Anforderung. Der Flow
muss einen code>HTTP Response</code> Node enthalten, um die Anforderung abzuschließen. </p>
</script>
<script type="text/x-red" data-help-name="http response">
<p>Sendet Antworten auf Anforderungen, die von einem code>HTTP In</code> Knoten empfangen wurden. </p>
<p>Sendet Antworten auf Anforderungen, die von einem code>HTTP In</code> Node empfangen wurden. </p>
<h3>Eingaben</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">Zeichenfolge</span> </dt>
@ -67,8 +67,8 @@
<dd> Wenn festgelegt kann es zum Setzen oder Löschen von Cookies verwendet werden. </dd>
</dl>
<h3>Details</h3>
<p>Der <code>StatusCode</code> und die <code>Header</code> können auch innerhalb des Knoten gesetzt werden.
Wenn eine Eigenschaft innerhalb des Knotens festgelegt wird,
<p>Der <code>StatusCode</code> und die <code>Header</code> können auch innerhalb des Node gesetzt werden.
Wenn eine Eigenschaft innerhalb des Nodes festgelegt wird,
kann sie nicht durch die entsprechende Nachrichteneigenschaft überschrieben werden.</p>
<h4>Behandlung von Cookies</h4>
<p> Die Eigenschaft <code>Cookies</code> muss ein Objekt mit Name/Wert-Paaren sein.

View File

@ -19,10 +19,10 @@
<h3>Eingaben</h3>
<dl class="message-properties">
<dt class="optional">url <span class="property-type">Zeichenkette</span></dt>
<dd>Wenn nicht im Knoten konfiguriert, setzt diese optionale Eigenschaft die URL der Anforderung.</dd>
<dt class="optional">method <span class="property-type">Zeichenkette</span></dt>
<dd>Wenn nicht im Knoten konfiguriert, setzt diese optionale Eigenschaft die HTTP-Methode der Anforderung.
<dt class="optional">url <span class="property-type">String</span></dt>
<dd>Wenn nicht im Node konfiguriert, setzt diese optionale Eigenschaft die URL der Anforderung.</dd>
<dt class="optional">method <span class="property-type">String</span></dt>
<dd>Wenn nicht im Node konfiguriert, setzt diese optionale Eigenschaft die HTTP-Methode der Anforderung.
Muss einer von <code>GET</code>, <code>PUT</code>, <code>POST</code>, <code>PATCH</code> oder <code>DELETE</code> sein.</dd>
<dt class="optional">headers <span class="property-type">Objekt</span></dt>
<dd>Setzt die HTTP-Header der Anforderung.</dd>
@ -41,21 +41,21 @@
</dl>
<h3>Ausgaben</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">Zeichenkette | Objekt | Puffer</span></dt>
<dd>Der Hauptteil der Antwort. Der Knoten kann konfiguriert werden, um den Hauptteil als Zeichenkette zurückzugeben,
zu versuchen, ihn als JSON-Zeichenkette zu analysieren oder ihn als binären Puffer zu belassen.</dd>
<dt>payload <span class="property-type">String | Objekt | Buffer</span></dt>
<dd>Der Hauptteil der Antwort. Der Node kann konfiguriert werden, um den Hauptteil als String zurückzugeben,
zu versuchen, ihn als JSON-String zu analysieren oder ihn als binären Buffer zu belassen.</dd>
<dt>statusCode <span class="property-type">Zahl</span></dt>
<dd>Der Statuscode der Antwort oder der Fehlercode, wenn die Anforderung nicht abgeschlossen werden konnte.</dd>
<dt>headers <span class="property-type">Objekt</span></dt>
<dd>Ein Objekt, das die HTTP-Header der Antwort enthält.</dd>
<dt>responseUrl <span class="property-type">Zeichenkette</span></dt>
<dt>responseUrl <span class="property-type">String</span></dt>
<dd>Falls während der Bearbeitung der Anforderung Umleitungen aufgetreten sind, ist diese Eigenschaft die letzte umgelenkte URL.
Andernfalls die URL der ursprünglichen Anforderung.</dd>
<dt>responseCookies <span class="property-type">Objekt</span></dt>
<dd>Wenn die Antwort Cookies enthält, ist dieses Element ein Objekt von Namen/Wertpaaren für jedes Cookie.</dd>
</dl>
<h3>Details</h3>
<p>Wenn innerhalb des Knotens konfiguriert, kann die URL-Eigenschaft
<p>Wenn innerhalb des Nodes konfiguriert, kann die URL-Eigenschaft
<a href="http://mustache.github.io/mustache.5.html" target="_blank">mustache-style</a> Tags enthalten.
Diese ermöglicht es, die URL aus den Werten der eingehenden Nachricht aufzubauen.
Wenn die URL beispielsweise auf <code>example.com/{{{topic}}}</code> gesetzt ist,
@ -64,21 +64,21 @@
<p><b>Note</b>: Wenn Node-RED hinter einem Proxy läuft, sollte die Umgebungsvariable <code>http_proxy=...</code> gesetzt
und Node-RED neu gestartet werden, oder eine Proxy Konfiguration wird verwendet.
Wenn die Proxy-Konfiguration verwendet wird, hat diese Konfiguration Vorrang vor der Umgebungsvariablen.</p>
<h4>Verwendung mehrerer HTTP-Anforderungsknoten</h4>
<p>Um mehr als einen dieser Knoten im gleichen Flow verwenden zu können,
<h4>Verwendung mehrerer HTTP-Anforderungs-Node</h4>
<p>Um mehr als einen dieser Node im gleichen Flow verwenden zu können,
ist Vorsicht bei der Verwendung der Eigenschaft <code>msg.headers</code> geboten
Der erste Knoten setzt diese Eigenschaft mit dem Antwortheader.
Der nächste Knoten verwendet dann diese Header für seine Anfrage - diese sind aber in der Regel nicht die Richtigen.
Wenn die Eigenschaft <code>msg.headers</code> zwischen den Knoten unverändert bleibt, wird sie vom zweiten Knoten ignoriert.
Der erste Node setzt diese Eigenschaft mit dem Antwortheader.
Der nächste Node verwendet dann diese Header für seine Anfrage - diese sind aber in der Regel nicht die Richtigen.
Wenn die Eigenschaft <code>msg.headers</code> zwischen den Nodes unverändert bleibt, wird sie vom zweiten Node ignoriert.
Um benutzerdefinierte Header festzulegen, sollte <code>msg.headers</code> zuerst gelöscht
oder auf ein leeres Objekt gesetzt werden: <code>{}</code>.</p>
<h4>Behandlung von Cookies</h4>
<p>Die an den Knoten übergebene Eigenschaft <code>cookies</code> muss ein Objekt von Name/Wert Paaren sein.
Der Wert kann entweder eine Zeichenkette sein, um den Wert des Cookies zu setzen,
<p>Die an den Node übergebene Eigenschaft <code>cookies</code> muss ein Objekt von Name/Wert Paaren sein.
Der Wert kann entweder ein String sein, um den Wert des Cookies zu setzen,
oder es kann ein Objekt mit einer einzigen <code>value</code> Eigenschaft sein.<p>
<p>Alle von der Anforderung zurückgegebenen Cookies werden unter der Eigenschaft <code>responseCookies</code> zurückgegeben.</p>
<h4>Behandlung von Content-Typen</h4>
<p>Wenn <code>msg.payload</code> ein Objekt ist, setzt der Knoten automatisch den Inhaltstyp der Anforderung
<p>Wenn <code>msg.payload</code> ein Objekt ist, setzt der Node automatisch den Inhaltstyp der Anforderung
auf <code>application/json</code> und kodiert den Hauptteil als solchen.</p>
<p>Um die Anforderung als Formulardaten zu kodieren,
sollte <code>msg.headers["content-type"]</code> auf <code>application/x-wwww-form-urlencoded</code> gesetzt werden.</p>

View File

@ -15,18 +15,18 @@
-->
<script type="text/x-red" data-help-name="websocket in">
<p>WebSocket Eingangsknoten.</p>
<p>WebSocket Eingangs-Node.</p>
<p>Standardmäßig befinden sich die vom WebSocket empfangenen Daten in <code>msg.payload</code>.
Der Socket kann konfiguriert werden, um eine korrekt gebildete JSON-Zeichenkette zu erwarten,
Der Socket kann konfiguriert werden, um einen korrekt gebildeten JSON-String zu erwarten,
in diesem Fall wird er das JSON analysieren und das resultierende Objekt als gesamte Nachricht senden.</p>
</script>
<script type="text/x-red" data-help-name="websocket out">
<p>WebSocket Ausgabeknoten.</p>
<p>WebSocket Ausgabe-Node.</p>
<p>Standardmäßig wird <code>msg.payload</code> über den WebSocket gesendet.
Der Socket kann so konfiguriert werden, dass er das gesamte <code>msg</code> Objekt als JSON-String kodiert und über den WebSocket sendet.</p>
<p>Wenn die an diesem Knoten ankommende Nachricht an einem WebSocket-Eingangsknoten begann,
<p>Wenn die an diesem Node ankommende Nachricht an einem WebSocket-Eingangs-Node begann,
wird die Nachricht an den Client zurückgesendet, der den Flow ausgelöst hat.
Andernfalls wird die Nachricht an alle verbundenen Clients gesendet..</p>
<p>Wenn eine Nachricht, die an einem WebSocket-Eingangsnoten gestartet wurde, an alle verbunden Clients gesendet werden soll,
@ -34,7 +34,7 @@
</script>
<script type="text/x-red" data-help-name="websocket-listener">
<p>Dieser Konfigurationsknoten erstellt einen WebSocket Server-Endpunkt unter Verwendung des angegebenen Pfades.</p>
<p>Dieser Konfigurations-Node erstellt einen WebSocket Server-Endpunkt unter Verwendung des angegebenen Pfades.</p>
</script>
<!-- WebSocket Client configuration node -->
@ -62,5 +62,5 @@
</script>
<script type="text/x-red" data-help-name="websocket-client">
<p>Dieser Konfigurationsknoten verbindet einen WebSocket-Client mit der angegebenen URL.</p>
<p>Dieser Konfigurations-Node verbindet einen WebSocket-Client mit der angegebenen URL.</p>
</script>

View File

@ -22,23 +22,23 @@
<script type="text/x-red" data-help-name="tcp out">
<p>Bietet eine Auswahl an TCP-Ausgängen. Kann sich entweder mit einem entfernten TCP-Port verbinden,
eingehende Verbindungen akzeptieren oder auf Nachrichten antworten, die von einem TCP-In-Knoten empfangen werden.</p>
eingehende Verbindungen akzeptieren oder auf Nachrichten antworten, die von einem TCP-In-Node empfangen werden.</p>
<p>Nur der Inhalt von <code>msg.payload</code> wird gesendet.</p>
<p>Wenn <code>msg.payload</code> eine Zeichenkette beinhaltet, die eine Base64-Kodierung von binären
<p>Wenn <code>msg.payload</code> einen String beinhaltet, die eine Base64-Kodierung von binären
Daten darstellt, wird die <code>Dekodiere Base64</codes> Option dazu führen,
dass sie wieder in Binärdaten umgewandelt wird bevor sie verschickt werden.</p>
<p>Wenn <code>msg._session</code> nicht vorhanden ist, wird die Nutzlast an <b>alle</b> alle verbundenen Clients gesendet.</p>
<p>Wenn <code>msg._session</code> nicht vorhanden ist, wird der Payload an <b>alle</b> alle verbundenen Clients gesendet.</p>
<p><b>Note: </b>Auf einigen Systemen benötigen Sie möglicherweise Root- oder Administratorzugriff, um
Ports unter 1024 und/oder Broadcast nutzen zu können.</p>
</script>
<script type="text/x-red" data-help-name="tcp request">
<p>Ein einfacher TCP-Anforderungsknoten - sendet die <code>msg.payload</code> an einen Server-TCP-Port und erwartet eine Antwort.</p>
<p>Verbindet sich, sendet die "Anforderung" und liest die "Antwort". Der Knoten wartet entweder auf eine vorgegebene Anzahl von
Zeichen in einen festen Puffer, auf ein bestimmtes Zeichen oder einen festen Timeout ab der ersten Antwort,
<p>Ein einfacher TCP-Anforderungs-Node - sendet die <code>msg.payload</code> an einen Server-TCP-Port und erwartet eine Antwort.</p>
<p>Verbindet sich, sendet die "Anforderung" und liest die "Antwort". Der Node wartet entweder auf eine vorgegebene Anzahl von
Zeichen in einen festen Buffer, auf ein bestimmtes Zeichen oder einen festen Timeout ab der ersten Antwort,
bevor er die Verbindug schliesst und die Daten an den Flow zurück gibt.
Alternativ hält der Knoten die Verbindung ständig offen. </p>
<p>Die Antwort wird in <code>msg.payload</code> als Puffer ausgegeben, so dass sie unter Umständen mit einer
Alternativ hält der Node die Verbindung ständig offen. </p>
<p>Die Antwort wird in <code>msg.payload</code> als Buffer ausgegeben, so dass sie unter Umständen mit einer
<code> .toString()>/code> Funktion umgewandelt werden müssen.</p>
<p>Wenn <code>tcp host</code> oder <code>port</code> leer gelassen werden,
müssen diese mit den Eigenschaften <code>msg.host</code> und <code>msg.port</code> übergeben werden.</p>

View File

@ -15,8 +15,8 @@
-->
<script type="text/x-red" data-help-name="udp in">
<p>Ein UDP-Eingangsknoten, der eine <code>msg.payload</code> erzeugt, die einen
Puffer, Zeichenketten oder base64-kodierte Zeichenkette enthält. Multicast wird unterstützt.</p>
<p>Ein UDP-Eingangs-Node, der eine <code>msg.payload</code> erzeugt, die einen
Buffer, Strings oder base64-kodierter String enthält. Multicast wird unterstützt.</p>
<p>Über die Eigenschaften <code>msg.ip</code> und <code>msg.port</code> kann auf die Werte der
IP Addresse und des Ports zugegriffen werden, von dem die Nachtricht empfangen wurde.</p>
<p><b>Note</b>: Auf einigen Systemen benötigen Sie möglicherweise Root- oder Administratorzugriff, um
@ -24,9 +24,9 @@
</script>
<script type="text/x-red" data-help-name="udp out">
<p>Dieser Knoten sendet <code>msg.payload</code> an den angegebenen UDP-Host und Port. Multicast wird unterstützt.</p>
<p>Dieser Node sendet <code>msg.payload</code> an den angegebenen UDP-Host und Port. Multicast wird unterstützt.</p>
<p>Sie können <code>msg.ip</code> und <code>msg.port</code> verwenden, um die Zielwerte festzulegen,
aber die statisch im Knoten konfigurierten Werte haben Vorrang.</p>
aber die statisch im Node konfigurierten Werte haben Vorrang.</p>
<p>Wenn Sie Broadcast auswählen, stellen Sie entweder die Adresse auf die lokale Broadcast-IP-Adresse
oder versuchen Sie es mit 255.255.255.255, was die globale Broadcast-Adresse ist.</p>
<p><b>Note</b>: Auf einigen Systemen benötigen Sie möglicherweise Root- oder Administratorzugriff, um

View File

@ -17,9 +17,9 @@
<script type="text/x-red" data-help-name="switch">
<p>Weiterleitung von Nachrichten basierend auf den Werten ihrer Eigenschaften oder der Position der Sequenz.</p>
<h3>Details</h3>
<p>Wenn eine Nachricht ankommt, wertet der Knoten jede der definierten Regeln aus
<p>Wenn eine Nachricht ankommt, wertet der Node jede der definierten Regeln aus
und leitet die Nachricht an die entsprechenden Ausgänge der übereinstimmenden Regeln weiter.</p>
<p>Optional kann der Knoten so eingestellt werden, dass er die Auswertung von Regeln einstellt,
<p>Optional kann der Node so eingestellt werden, dass er die Auswertung von Regeln einstellt,
sobald er eine passende Regel findet.</p>
<p>Die Regeln können anhand einer einzelnen Nachrichteneigenschaft,
einer Flow- oder globalen Kontext-Eigenschaft oder dem Ergebniss eines JSONata-Ausdrucks ausgewertet werden.</p>
@ -28,7 +28,7 @@
<ol>
<li><b>Value</b> Regeln werden gegen die konfigurierte Eigenschaft ausgewertet.</li>
<li><b>Sequence</b> Regeln können auf Nachrichtenfolgen verwendet werden,
wie sie beispielsweise durch den Split-Knoten erzeugt werden.</li>
wie sie beispielsweise durch den Split-Node erzeugt werden.</li>
<li>Es kann ein JSONata <b>Expression</b> bereitgestellt werden,
der anhand der gesamten Nachricht bewertet wird und eine Übereinstimmung erzeugt,
wenn der Ausdruck einen wahren Wert zurückgibt.</li>
@ -38,13 +38,13 @@
<h4>Bemerkungen</h4>
<p>Die <code>is true/false</code> und <code>is null</code> Regeln führen strenge Vergleiche mit diesen Typen durch.
Sie konvertieren nicht zwischen den Typen.</p>
<p>Die <code>is empty</code>Regel passt nur für Zeichenketten, Arrays und Puffer, die eine Länge von 0 haben
<p>Die <code>is empty</code>Regel passt nur für Strings, Arrays und Buffer, die eine Länge von 0 haben
oder Objekte, die keine Eigenschaften haben aber nicht für <code>null</code> oder <code>undefiniert</code>.</p>
<h4>Behandlung von Nachrichtenfolgen</h4>
<p>Standardmäßig ändert der Knoten nicht die Eigenschaft <code>msg.parts</code> für Nachrichten,
<p>Standardmäßig ändert der Node nicht die Eigenschaft <code>msg.parts</code> für Nachrichten,
die Teil einer Sequenz sind.</p>
<p>Die Option <b>Nachrichtenfolgen neu erstellen</b> kann aktiviert werden, um neue Nachrichtenfolgen für jede passende Regel zu generieren.
In diesem Modus puffert der Knoten die gesamte eingehende Sequenz, bevor er die neuen Sequenzen weiter sendet.
In diesem Modus puffert der Node die gesamte eingehende Sequenz, bevor er die neuen Sequenzen weiter sendet.
Mit der Laufzeiteinstellung <code>nodeMessageBufferMaxLength</code> kann begrenzt werden,
wie viele Nachrichten im Knoten zwischengespeichert werden sollen.</p>
wie viele Nachrichten im Node zwischengespeichert werden sollen.</p>
</script>

View File

@ -16,7 +16,7 @@
<script type="text/x-red" data-help-name="change">
<p>Setzen, Ändern, Löschen oder Verschieben von Eigenschaften einer Nachricht, eines Flow-Kontextes oder eines globalen Kontextes.</p>
<p>Der Knoten kann mehrere Regeln angeben, die in der Reihenfolge ihrer Definition angewendet werden.</p>
<p>Der Node kann mehrere Regeln angeben, die in der Reihenfolge ihrer Definition angewendet werden.</p>
<h3>Details</h3>
<p>Die verfügbaren Operationen sind:</p>
<dl class="message-properties">

View File

@ -19,7 +19,7 @@
<h3>Eingaben</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">Zahl</span></dt>
<dd>Die Nutzlast <i>muss</i> eine Zahl sein.
<dd>Der Payload <i>muss</i> eine Zahl sein.
Alles andere wird versucht als Zahl interpretiert zu werden und abgelehnt, wenn das fehlschlägt.</dd>
</dl>
<h3>Ausgaben</h3>
@ -28,8 +28,8 @@
<dd>Der Wert, der dem neuen Bereich zugeordnet ist.</dd>
</dl>
<h3>Details</h3>
<p>Dieser Knoten skaliert den empfangenen Wert linear.
Standardmäßig ist das Ergebnis nicht auf den im Knoten definierten Bereich beschränkt.</p>
<p>Dieser Node skaliert den empfangenen Wert linear.
Standardmäßig ist das Ergebnis nicht auf den im Node definierten Bereich beschränkt.</p>
<p><i>Skalieren und begrenzen auf den Zielbereich</i> bedeutet,
dass das Ergebnis niemals außerhalb des im Ergebnisbereich angegebenen Bereichs liegt.</p>
<p><Skalieren und Umhüllen innerhalb des Zielbereichs</i> bedeutet,

View File

@ -19,11 +19,11 @@
<h3>Eingaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Zeichenkette | Array | Puffer</span></dt>
<dd>Das Verhalten des Knotens wird durch den Typ der <code>msg.payload</code> bestimmt:
<dt>payload<span class="property-type">Objekt | String | Array | Buffer</span></dt>
<dd>Das Verhalten des Nodes wird durch den Typ der <code>msg.payload</code> bestimmt:
<ul>
<li><b>Zeichenkette</b>/<b>Puffer</b> - die Nachricht wird anhand des angegebenen Zeichens (Standard: <code>\n</code>),
der Puffersequenz oder in feste Längen aufgeteilt.</li>
<li><b>String</b>/<b>Buffer</b> - die Nachricht wird anhand des angegebenen Zeichens (Standard: <code>\n</code>),
der Buffersequenz oder in feste Längen aufgeteilt.</li>
<li><b>Array</b> - die Nachricht wird entweder in einzelne Array-Elemente oder Arrays mit fester Länge aufgeteilt.</li>
<li><b>Objekt</b> - es wird für jedes Schlüssel-Wert-Paar des Objekts eine Nachricht gesendet.</li>
</ul>
@ -33,7 +33,7 @@
<dl class="message-properties">
<dt>parts<span class="property-type">Objekt</span></dt>
<dd>Diese Eigenschaft enthält Informationen darüber, wie die Nachricht von der ursprünglichen Nachricht getrennt wurde.
Wenn sie an einen Knoten <b>join</b> übergeben werden,
Wenn sie an einen Node <b>join</b> übergeben werden,
kann die Sequenz wieder zu einer einzigen Nachricht zusammengefasst werden.
Diese Eigenschaft hat die folgenden Eigenschaften:
<ul>
@ -41,25 +41,25 @@
<li><code>index</code> - die Position innerhalb der Gruppep</li>
<li><code>count</code> - falls bekannt, die Gesamtzahl der Nachrichten in der Gruppe. Siehe dazu unten "Streaming-Modus".</li>
<li><code>type</code> - die Art der Nachricht - string/array/object/buffer</li>
<li><code>ch</code> - für eine Zeichenkette oder einen Puffer, die Daten, die für das Aufteilen der Nachricht verwendet wurden, entweder als Zeichenkette oder als Array von Bytes.</li>
<li><code>key</code> - für ein Objekt, den Schlüssel der Eigenschaft, aus der diese Nachricht erstellt wurde. Der Knoten kann konfiguriert werden, um diesen Wert auch in andere Nachrichteneigenschaften zu kopieren, wie z.B. <code>msg.topic</code>.</li>
<li><code>ch</code> - für ein String oder einen Buffer, die Daten, die für das Aufteilen der Nachricht verwendet wurden, entweder als String oder als Array von Bytes.</li>
<li><code>key</code> - für ein Objekt, den Schlüssel der Eigenschaft, aus der diese Nachricht erstellt wurde. Der Node kann konfiguriert werden, um diesen Wert auch in andere Nachrichteneigenschaften zu kopieren, wie z.B. <code>msg.topic</code>.</li>
<li><code>len</code> - die Länge jeder Nachricht, wenn sie durch einen Wert fester Länge aufgeteilt wird.</li>
</ul>
</dd>
</dl>
<h3>Details</h3>
<p>Dieser Knoten macht es einfach, einen Flow zu erstellen, der gemeinsame Aktionen über eine Sequenz von Nachrichten ausführt,
bevor er den Knoten <b>join</b> verwendet und die Sequenz zu einer einzigen Nachricht neu kombiniert.</p>
<p>Dieser Node macht es einfach, einen Flow zu erstellen, der gemeinsame Aktionen über eine Sequenz von Nachrichten ausführt,
bevor er den Node <b>join</b> verwendet und die Sequenz zu einer einzigen Nachricht neu kombiniert.</p>
<p>Es verwendet die Eigenschaft <code>msg.parts</code>, um die einzelnen Teile einer Sequenz zu verfolgen.</p>
<h4>Streaming Modus</h4>
<p>Der Knoten kann auch zum Wiederaufbereiten eines Nachrichtenstroms verwendet werden.
<p>Der Node kann auch zum Wiederaufbereiten eines Nachrichtenstroms verwendet werden.
So kann beispielsweise ein serielles Gerät, das <code><newline/code>-terminierte Befehle sendet,
eine einzelne Nachricht mit einem Teilbefehl am Ende liefern.
Im Streaming-Modus teilt dieser Knoten eine Nachricht auf und sendet jedes komplette Segment.
Befindet er sich am Ende eines Teilsegments, hält der Knoten es fest und wird es der nächsten empfangenen Nachricht voranstellen.
Im Streaming-Modus teilt dieser Node eine Nachricht auf und sendet jedes komplette Segment.
Befindet er sich am Ende eines Teilsegments, hält der Node es fest und wird es der nächsten empfangenen Nachricht voranstellen.
</p>
<p>Wenn der Knoten in diesem Modus arbeitet, setzt er die Eigenschaft <code>msg.parts.count</code> nicht, da er nicht weiß, wie viele Nachrichten im Stream zu erwarten sind.
Das bedeutet, dass er nicht mit dem <b>join</b> Knoten im Automatikmodus verwendet werden kann.</p>
<p>Wenn der Node in diesem Modus arbeitet, setzt er die Eigenschaft <code>msg.parts.count</code> nicht, da er nicht weiß, wie viele Nachrichten im Stream zu erwarten sind.
Das bedeutet, dass er nicht mit dem <b>join</b> Node im Automatikmodus verwendet werden kann.</p>
</script>
<script type="text/x-red" data-help-name="join">
@ -67,7 +67,7 @@
<p>Es sind drei Modi verfügbar:</p>
<dl>
<dt>automatisch</dt>
<dd>Wenn es mit dem Knoten <b>split</b> gepaart wird, verbindet es automatisch die Nachrichten, um die durchgeführte Aufteilung rückgängig zu machen.</dd>
<dd>Wenn es mit dem Node <b>split</b> gepaart wird, verbindet es automatisch die Nachrichten, um die durchgeführte Aufteilung rückgängig zu machen.</dd>
<dt>manual</dt>
<dd>Die Sequenzen von Nachrichten können auf verschiedene Weise verknüpft werden.</dd>
<dt>Reihenfolge reduzieren</dt>
@ -77,34 +77,34 @@
<dl class="message-properties">
<dt class="optional">parts<span class="property-type">Objekt</span></dt>
<dd>Um automatisch einer Nachrichtensequenz beizutreten, sollten sie alle über diese Eigenschaft verfügen.
Der Knoten <b>split</b> erzeugt diese Eigenschaft, sie kann aber manuell erstellt werden.
Der Node <b>split</b> erzeugt diese Eigenschaft, sie kann aber manuell erstellt werden.
Es hat die folgenden Eigenschaften:
<ul>
<li><code>id</code> - ein Identifikator für die Gruppe der Nachrichten</li>
<li><code>index</code> - die Position innerhalb der Gruppep</li>
<li><code>count</code> - fie Gesamtzahl der Nachrichten in der Gruppe.</li>
<li><code>type</code> - die Art der Nachricht - string/array/object/buffer</li>
<li><code>ch</code> - für eine Zeichenkette oder einen Puffer, die Daten, die für das Aufteilen der Nachricht verwendet wurden, entweder als Zeichenkette oder als Array von Bytes.</li>
<li><code>ch</code> - für ein String oder einen Buffer, die Daten, die für das Aufteilen der Nachricht verwendet wurden, entweder als String oder als Array von Bytes.</li>
<li><code>key</code> - für ein Objekt, den Schlüssel der Eigenschaft, aus der diese Nachricht erstellt wurde.</li>
<li><code>len</code> - die Länge jeder Nachricht, wenn sie durch einen Wert fester Länge aufgeteilt wird.</li>
</ul>
</dd>
<dt class="optional">complete</dt>
<dd>Wenn gesetzt, sendet der Knoten seine Ausgangsnachricht im aktuellen Zustand.</dd>
<dd>Wenn gesetzt, sendet der Node seine Ausgangsnachricht im aktuellen Zustand.</dd>
</dl>
<h3>Details</h3>
<h4>Automatischer Modus</h4>
<p>Der automatische Modus verwendet die Eigenschaft <code>parts</code> der eingehenden Nachrichten, um festzulegen,
wie die Sequenz verknüpft werden soll.
Dies ermöglicht es ihm, die Aktion eines <b>split</b>-Knotens automatisch rückgängig zu machen.
Dies ermöglicht es ihm, die Aktion eines <b>split</b>-Nodes automatisch rückgängig zu machen.
</p>
<h4>Manueller Modus</h4>
<p>Wenn der Knoten für die Zusammenführung im manuellen Modus konfiguriert ist,
<p>Wenn der Node für die Zusammenführung im manuellen Modus konfiguriert ist,
kann er Sequenzen von Nachrichten zu einer Reihe von verschiedenen Ergebnissen zusammenfügen:</p>
<ul>
<li>eine <b>Zeichenkette </b> oder <b>Puffer</b> - erstellt durch Verbinden der ausgewählten Eigenschaft
jeder Nachricht mit den angegebenen Join-Zeichen oder dem angegebenen Puffer.</li>
<li>ein <b>String </b> oder <b>Buffer</b> - erstellt durch Verbinden der ausgewählten Eigenschaft
jeder Nachricht mit den angegebenen Join-Zeichen oder dem angegebenen Buffer.</li>
<li>ein <b>Array</b> - erstellt durch Hinzufügen jeder ausgewählten Eigenschaft oder einer ganzen Nachricht zum Ausgangsarray.</li>
<li>ein <b>Schlüssel/Wert-Objekt</b> - erstellt durch Verwendung einer Eigenschaft jeder Nachricht, um den Schlüssel zu bestimmen,
unter dem der gewünschte Wert gespeichert ist.</li>
@ -112,7 +112,7 @@
</ul>
<p>Die anderen Eigenschaften der Ausgangsnachricht werden aus der letzten empfangenen Nachricht entnommen, bevor das Ergebnis gesendet wird.</p>
<p>Mit <i>count</i> kann angegeben werden, wie viele Nachrichten vor dem Erzeugen der Ausgabemeldung empfangen werden sollen.
Bei Objektausgaben kann der Knoten nach Erreichen dieser Anzahl konfiguriert werden,
Bei Objektausgaben kann der Node nach Erreichen dieser Anzahl konfiguriert werden,
um für jede nachfolgende empfangene Nachricht eine Nachricht zu senden.</p>
<p>Ein <i>Timeout</i> kann so eingestellt werden, dass das Senden einer neuen Nachricht mit dem ausgelöst wird, was bisher empfangen wurde.</p>
<p>Wenn eine Nachricht mit der Eigenschaft <b>msg.complete</b> empfangen wird, wird die Ausgabemeldung finalisiert und gesendet.
@ -134,7 +134,7 @@
<ul>
<li><code>$A</code>: der kumulierte Wert, </li>
<li><code>$I</code>: Index der Nachricht innerhalb der Squenz, </li>
<li><code>$N</code>: Anzahl der nachrichten in der Sequenz.</li>
<li><code>$N</code>: Anzahl der Nachrichten in der Sequenz.</li>
</ul>
</dd>
<dt>Fix-up Ausdruck</dt>
@ -142,7 +142,7 @@
Im Ausdruck können folgende spezielle Variablen verwendet werden:
<ul>
<li><code>$A</code>: der kumulierte Wert, </li>
<li><code>$N</code>: Anzahl der nachrichten in der Sequenz.</li>
<li><code>$N</code>: Anzahl der Nachrichten in der Sequenz.</li>
</ul>
</dd>
<p>Standardmäßig wird der Reduktionsausdruck in der Reihenfolge von der ersten bis zur letzten Nachricht der Sequenz angewendet.
@ -156,7 +156,7 @@
</ul>
</p>
<h4>Speichern von Nachrichtens</h4>
<p>Dieser Knoten puffert Nachrichten intern, um sequenzübergreifend zu arbeiten.
<p>Dieser Node puffert Nachrichten intern, um sequenzübergreifend zu arbeiten.
Mit der Laufzeiteinstellung <code>nodeMessageBufferMaxLength</code> kann begrenzt werden,
wie viele Nachrichten im Knoten zwischengespeichert werden sollen.</p>
wie viele Nachrichten im Node zwischengespeichert werden sollen.</p>
</script>

View File

@ -16,9 +16,9 @@
<script type="text/x-red" data-help-name="sort">
<p>Eine Funktion, die die Nachrichteneigenschaft oder eine Folge von Nachrichten sortiert.</p>
<p>Wenn der Knoten konfiguriert ist, um die Nachrichteneigenschaft zu sortieren,
<p>Wenn der Node konfiguriert ist, um die Nachrichteneigenschaft zu sortieren,
sortiert er Array-Daten, auf die von der angegebenen Nachrichteneigenschaft verwiesen wird.</p>
<p>Wenn der Knoten konfiguriert ist, um eine Folge von Nachrichten zu sortieren, ordnet er die Nachrichten neu.</p>
<p>Wenn der Node konfiguriert ist, um eine Folge von Nachrichten zu sortieren, ordnet er die Nachrichten neu.</p>
<p>Die Sortierreihenfolge kann sein:</p>
<ul>
<li><b>aufsteigend</b>,</li>
@ -27,8 +27,8 @@
<p>Für Zahlen kann die numerische Reihenfolge durch ein Kontrollkästchen festgelegt werden.</p>
<p>Der Sortierschlüssel kann ein Elementwert oder ein JSONata-Ausdruck zum Sortieren des Eigenschaftswerts
oder eine Nachrichteneigenschaft oder ein JSONata-Ausdruck zum Sortieren einer Nachrichtensequenz sein.<p>
<p>Beim Sortieren einer Nachrichtenfolge verlässt sich der Sortierknoten auf die empfangenen Nachrichten, bei denen <code>msg.parts</code> gesetzt ist.
Der Split-Knoten erzeugt diese Eigenschaft, kann aber manuell angelegt werden. Es hat die folgenden Eigenschaften:</p>
<p>Beim Sortieren einer Nachrichtenfolge verlässt sich der SortierNode auf die empfangenen Nachrichten, bei denen <code>msg.parts</code> gesetzt ist.
Der Split-Node erzeugt diese Eigenschaft, kann aber manuell angelegt werden. Es hat die folgenden Eigenschaften:</p>
<p>
<ul>
<li><code>id</code> - ein Identifikator für die Gruppe der Nachrichten</li>
@ -36,7 +36,7 @@
<li><code>count</code> - die Anzahl von Nachrichten in einer Gruppe</li>
</ul>
</p>
<p><b>Note:</b> Dieser Knoten speichert intern Nachrichten für seinen Betrieb. Um einen unerwarteten Speicherverbrauch zu vermeiden, kann die maximale Anzahl der gespeicherten Nachrichten angegeben werden.
<p><b>Note:</b> Dieser Node speichert intern Nachrichten für seinen Betrieb. Um einen unerwarteten Speicherverbrauch zu vermeiden, kann die maximale Anzahl der gespeicherten Nachrichten angegeben werden.
Standardmäßig ist die Anzahl der Nachrichten nicht begrenzt.
<ul>
<li>Es kann die Eigenschaft <code>nodeMessageBufferMaxLength</code> in der Datei <b>settings.js</b> gesetzt werden.</li>

View File

@ -25,18 +25,18 @@
<dt>Zeitintervall</dt>
<dd>Gruppiert Nachrichten, die innerhalb des angegebenen Intervalls eingehen. Wenn keine Nachrichten
innerhalb des Intervalls ankommen, kann der Knoten optional eine leere Nachricht senden.</dd>
innerhalb des Intervalls ankommen, kann der Node optional eine leere Nachricht senden.</dd>
<dt>Sequenzesn verketten/dt>
<dd>Erzeugt eine Nachrichtensequenz durch die Verkettung eingehender Sequenzen. Jede Nachricht muss eine <code>msg.topic</code>
und eine <code>msg.parts</code> Eigenschaft haben, um die Sequenz identifizieren zu können.
Der Knoten ist mit einer Liste von <code>topic</code> konfiguriert,
Der Node ist mit einer Liste von <code>topic</code> konfiguriert,
mit der die Reihnmefolge der Verkettung der Sequenzen definiert wird.
</dd>
</dl>
<h4>Speichern der Nachrichten</h4>
<p>Dieser Knoten puffert Nachrichten intern, um sequenzübergreifend arbeiten zu können. Die Laufzeiteinstellung
<p>Dieser Node puffert Nachrichten intern, um sequenzübergreifend arbeiten zu können. Die Laufzeiteinstellung
<code>nodeMessageBufferMaxLength</code> kann verwendet werden, um die Anzahl der Nachrichten zu begrenzen
die vom Knoten gepuffert werden.</p>
die vom Node gepuffert werden.</p>
</script>

View File

@ -2,7 +2,7 @@
"common" : {
"label" : {
"payload" : "Nutzdaten",
"topic" : "Thema",
"topic" : "Topic",
"name" : "Name",
"username" : "Benutzername",
"password" : "Kennwort",
@ -19,13 +19,13 @@
"notification" : {
"error" : "<strong> Fehler </strong>: __message__",
"errors" : {
"not-deployed" : "Knoten nicht vorhanden",
"not-deployed" : "Node nicht vorhanden",
"no-response" : "Keine Antwort vom Server",
"unexpected" : "Unerwarteter Fehler (__status__) __message__"
}
},
"errors" : {
"nooverride" : "Warnung: Nachrichten-Eigenschaften können die Eigenschaften des festgelegten Knotens nicht mehr außer Kraft setzen. Siehe Bit.ly/nr-override-msg-props"
"nooverride" : "Warnung: Nachrichten-Eigenschaften können die Eigenschaften des festgelegten Nodes nicht mehr außer Kraft setzen. Siehe Bit.ly/nr-override-msg-props"
}
},
"inject" : {
@ -37,7 +37,7 @@
"label" : {
"repeat" : "Wiederholen"
},
"timestamp" : "Zeitmarke",
"timestamp" : "timestamp",
"none" : "keine",
"interval" : "Intervall",
"interval-time" : "Intervall zwischen den Uhrzeiten",
@ -66,15 +66,15 @@
"catchNodes" : "Catch: __number__",
"label" : {
"source" : "Catch-Fehler von",
"node" : "Knoten",
"node" : "Node",
"type" : "Typ",
"selectAll" : "Alle auswählen",
"sortByLabel" : "Sortieren nach Bezeichnung",
"sortByType" : "Sortieren nach Typ"
},
"scope" : {
"all" : "allen Knoten",
"selected" : "ausgewählten Knoten"
"all" : "allen Nodes",
"selected" : "ausgewählten Nodes"
}
},
"status" : {
@ -82,15 +82,15 @@
"statusNodes" : "Status: __number__",
"label" : {
"source" : "Berichtsstatus von",
"node" : "Knoten",
"node" : "Node",
"type" : "Typ",
"selectAll" : "Alle auswählen",
"sortByLabel" : "Sortieren nach Bezeichnung",
"sortByType" : "Sortieren nach Typ"
},
"scope" : {
"all" : "allen Knoten",
"selected" : "ausgewählten Knoten"
"all" : "allen Nodes",
"selected" : "ausgewählten Nodes"
}
},
"debug" : {
@ -102,7 +102,7 @@
"tabcon" : "Debug-Registerkarte und -Konsole",
"toSidebar" : "Debugfenster",
"toConsole" : "Systemkonsole",
"toStatus" : "Knotenstatus (32 Zeichen)",
"toStatus" : "Node-Status (32 Zeichen)",
"severity" : "Ebene",
"notification" : {
"activated" : "Erfolgreich aktiviert: __label__",
@ -111,17 +111,17 @@
"sidebar" : {
"label" : "Debugging",
"name" : "Debugnachrichten",
"filterAll" : "Alle Knoten",
"filterSelected" : "Ausgewählte Knoten",
"filterAll" : "Alle Nodes",
"filterSelected" : "Ausgewählte Nodes",
"filterCurrent" : "Aktueller Fluss",
"debugNodes" : "Debugknoten",
"debugNodes" : "Debug-Nodes",
"clearLog" : "Protokoll löschen",
"openWindow" : "In neuem Fenster öffnen"
},
"messageMenu" : {
"collapseAll" : "Alle Pfade ausblenden",
"clearPinned" : "Angeheftete Pfade löschen",
"filterNode" : "Dieser Knoten filtern",
"filterNode" : "Diesen Node filtern",
"clearFilter" : "Filter löschen"
}
},
@ -217,7 +217,7 @@
"limitrate" : "Geschwindigkeitslimit",
"limitall" : "Alle Nachrichten",
"limittopic" : "Für jedes msg.topic",
"fairqueue" : "Jedes Thema im Gegenzug senden",
"fairqueue" : "Jedes Topic im Gegenzug senden",
"timedqueue" : "Alle Themen senden",
"milisecs" : "Milisekunden",
"secs" : "Sekunden",
@ -237,7 +237,7 @@
"delay" : "Verzögerung",
"variable" : "Variable",
"limit" : "Begrenzung",
"limitTopic" : "Grenzwert, Thema",
"limitTopic" : "Grenzwert, Topic",
"random" : "Zufall",
"units" : {
"second" : {
@ -310,14 +310,14 @@
"label" : {
"unknown" : "unbekannt"
},
"tip" : "<p> Dieser Knoten ist ein Typ, der Ihrer Installation von Node-RED unbekannt ist. </p> <p> <i> Wenn Sie mit dem Knoten in diesem Status implementieren, wird die Konfiguration beibehalten, aber der Fluss wird erst gestartet, wenn der fehlende Typ installiert ist. </i> </p> <p> Weitere Informationen finden Sie in der Info-Seitenleiste für. Weitere Hilfe </p>"
"tip" : "<p> Dieser Node ist ein Typ, der Ihrer Installation von Node-RED unbekannt ist. </p> <p> <i> Wenn Sie mit dem Node in diesem Status deployen, wird die Konfiguration beibehalten, aber der Fluss wird erst gestartet, wenn der fehlende Typ installiert ist. </i> </p> <p> Weitere Informationen finden Sie in der Info-Seitenleiste für. Weitere Hilfe </p>"
},
"mqtt" : {
"label" : {
"broker" : "Server",
"example" : "z. B. lokaler_Host",
"qos" : "QoS",
"retain" : "Beibehalten",
"retain" : "Retain",
"clientid" : "Client-ID",
"port" : "Port",
"keepalive" : "Keepalive-Zeit (en)",
@ -349,14 +349,14 @@
"disconnected" : "Verbindung zum Broker __broker__ wurde beendet.",
"connect-failed" : "Verbindung zum Broker __broker__ konnte nicht hergestellt werden."
},
"retain" : "Beibehalten",
"retain" : "Retain",
"true" : "Wahr",
"false" : "Falsch",
"tip" : "Tipp: Behalten Sie das Thema \"Artikel\", \"qos\" oder \"retain\" bei, wenn Sie diese über die Eigenschaft \"msg\" festlegen",
"tip" : "Tipp: Behalten Sie das Topic \"Artikel\", \"qos\" oder \"retain\" bei, wenn Sie diese über die Eigenschaft \"msg\" festlegen",
"errors" : {
"not-defined" : "Thema nicht definiert",
"not-defined" : "Topic nicht definiert",
"missing-config" : "Fehlende Brokerkonfiguration",
"invalid-topic" : "Ungültiges Thema angegeben",
"invalid-topic" : "Ungültiges Topic angegeben",
"nonclean-missingclientid" : "Keine Client-ID-Gruppe unter Verwendung einer bereinigten Sitzung"
}
},
@ -380,12 +380,12 @@
"json" : "ein analysiertes JSON-Objekt",
"tip" : {
"in" : "Die URL ist relativ zu ",
"res" : "Die an diesen Knoten gesendeten Nachrichten <b> müssen </b> von einem <i> http-Input </i> -Knoten stammen",
"res" : "Die an diesen Node gesendeten Nachrichten <b> müssen </b> von einem <i> http-Input </i> -Node stammen",
"req" : "Tipp: Wenn die JSON-Syntaxanalyse fehlschlägt, wird die abgerufene Zeichenfolge als-ist zurückgegeben."
},
"httpreq" : "HTTP-Anforderung",
"errors" : {
"not-created" : "http-in-Knoten kann nicht erstellt werden, wenn httpNodeRoot auf 'false' gesetzt ist.",
"not-created" : "http-in-Node kann nicht erstellt werden, wenn httpNodeRoot auf 'false' gesetzt ist.",
"missing-path" : "Fehlendes Pfad",
"no-response" : "Kein Antwortobjekt",
"json-error" : "JSON-Parsing-Fehler",
@ -415,8 +415,8 @@
"url2" : "Standardmäßig enthält <code> Nutzdaten </code> die Daten, die über einen Websocket gesendet oder von einem Websocket empfangen werden. Der Client kann so konfiguriert werden, dass er das gesamte Nachrichtenobjekt als eine JSON-formatierte Zeichenfolge sendet oder empfängt."
},
"status" : {
"connected" : "angeschlossener __count__",
"connected_plural" : "angeschlossener __count__"
"connected" : "verbunden __count__",
"connected_plural" : "verbunden __count__"
},
"errors" : {
"connect-error" : "Bei der WS-Verbindung ist ein Fehler aufgetreten: ",
@ -441,7 +441,7 @@
"output" : "Ausgabe",
"port" : "Port",
"host" : "auf Host",
"payload" : "Nutzlast (en)",
"payload" : "Payload (en)",
"delimited" : "begrenzt durch",
"close-connection" : "Schließen Sie die Verbindung, nachdem jede Nachricht gesendet wurde?",
"decode-base64" : "Nachricht aus Base64 dekodierien?",
@ -581,7 +581,7 @@
},
"errors" : {
"invalid-expr" : "Ungültiger JSONata Ausdruck: __error__",
"too-many" : "Zu viele anstehende Nachrichten im Switchknoten"
"too-many" : "Zu viele anstehende Nachrichten im Switch-Node"
}
},
"change" : {
@ -630,7 +630,7 @@
"limit" : "Skalieren und Begrenzen auf den Zielbereich",
"wrap" : "Skaliere und Einhüllen innerhalb des Zielbereichs"
},
"tip" : "Tipp: Dieser Knoten funktioniert NUR mit Zahlen.",
"tip" : "Tipp: Dieser Node funktioniert NUR mit Zahlen.",
"errors" : {
"notnumber" : "Keine Zahl"
}
@ -671,7 +671,7 @@
"windows" : "Windows (\\r \\n)"
},
"errors" : {
"csv_js" : "Dieser Knoten verarbeitet nur CSV-Zeichenfolgen oder JS-Objekte.",
"csv_js" : "Dieser Node verarbeitet nur CSV-Zeichenfolgen oder JS-Objekte.",
"obj_csv" : "Es wurde keine Spaltenschablone für Objekt-> CSV angegeben."
}
},
@ -726,7 +726,7 @@
"x2o" : "Optionen für XML zu Objekt"
},
"errors" : {
"xml_js" : "Dieser Knoten verarbeitet nur XML-Zeichenfolgen oder JS-Objekte."
"xml_js" : "Dieser Node verarbeitet nur XML-Zeichenfolgen oder JS-Objekte."
}
},
"rpi-gpio" : {
@ -786,7 +786,7 @@
"na" : "N/A: __Wert__"
},
"errors" : {
"ignorenode" : "Raspberry Pi-spezifischer Knotenset inaktiv",
"ignorenode" : "Raspberry Pi-spezifische Nodes inaktiv",
"version" : "Abrufen der Version von Pi fehlgeschlagen",
"sawpitype" : "Saw-Pi-Typ",
"libnotfound" : "Pi RPi.GPIO-Python-Bibliothek nicht gefunden",
@ -853,7 +853,7 @@
"appendfail" : "Anhängen an Datei fehlgeschlagen: __error__",
"createfail" : "Fehler beim Erstellen der Datei: __error__"
},
"tip" : "Tipp: Der Dateiname muss ein absoluter Pfad sein. Andernfalls wird er relativ zum Arbeitsverzeichnis des Knotens-RED-Prozesses verwendet."
"tip" : "Tipp: Der Dateiname muss ein absoluter Pfad sein. Andernfalls wird er relativ zum Arbeitsverzeichnis des Node-RED-Prozesses verwendet."
},
"split" : {
"split" : "aufteilen",
@ -895,13 +895,13 @@
"afterTimeout" : "nach Zeitlimitüberschreitung von",
"seconds" : "Sekunden",
"complete" : "Nach einer Nachricht mit der gesetzten Eigenschaft <code>msg.complete</code>",
"tip" : "Dieser Modus setzt voraus, dass dieser Knoten entweder mit einem <i> split </i> Knoten verbunden ist oder dass die empfangenen Nachrichten über eine ordnungsgemäß konfigurierte Eigenschaft <code> msg.parts </code> verfügen.",
"too-many" : "Zu viele anstehende Nachrichten im Verknüpfungsknoten",
"tip" : "Dieser Modus setzt voraus, dass dieser Node entweder mit einem <i> split </i> Node verbunden ist oder dass die empfangenen Nachrichten über eine ordnungsgemäß konfigurierte Eigenschaft <code> msg.parts </code> verfügen.",
"too-many" : "Zu viele anstehende Nachrichten im Verknüpfungs-Node",
"merge" : {
"topics-label" : "Zusammengemiedene Themen",
"topics" : "Themen",
"topic" : "Thema",
"on-change" : "Zusammengefügte Nachricht bei Ankunft eines neuen Themas senden"
"topic" : "Topic",
"on-change" : "Zusammengefügte Nachricht bei Ankunft eines neuen Topics senden"
},
"reduce" : {
"exp" : "Zusammenfassen durch",
@ -924,9 +924,9 @@
"ascending" : "aufsteigend",
"descending" : "absteigend",
"as-number" : "als Zahl",
"invalid-exp" : "Ungültiger JSONata-Ausdruck in Sortierknoten: __message__",
"too-many" : "Zu viele anstehende Nachrichten in Sortierknoten",
"clear" : "Anstehende Nachricht in Sortierknoten löschen"
"invalid-exp" : "Ungültiger JSONata-Ausdruck in Sortier-Node: __message__",
"too-many" : "Zu viele anstehende Nachrichten in Sortier-Node",
"clear" : "Anstehende Nachricht in Sortier-Node löschen"
},
"batch" : {
"batch" : "Batch",
@ -949,9 +949,9 @@
},
"concat" : {
"topics-label" : "Topics",
"topic" : "Thema"
"topic" : "Topic"
},
"too-many" : "Zu viele anstehende Nachrichten im Stapelknoten",
"too-many" : "Zu viele anstehende Nachrichten im Stapel-Node",
"unexpected" : "Unerwarteter Modus",
"no-parts" : "Keine Teileeigenschaft in Nachricht"
}

View File

@ -15,23 +15,23 @@
-->
<script type="text/x-red" data-help-name="csv">
<p>Konvertiert zwischen einer CSV-formatierten Zeichenkette und ihrer JavaScript-Objektdarstellung in beide Richtungen.</p>
<p>Konvertiert zwischen einem CSV-formatierten String und ihrer JavaScript-Objektdarstellung in beide Richtungen.</p>
<h3>Eingaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Array | Zeichenkette</span></dt>
<dd>Ein JavaScript Objekt, Array oder CSV Zeichenkette.</dd>
<dt>payload<span class="property-type">Objekt | Array | String</span></dt>
<dd>Ein JavaScript Objekt, Array oder CSV String.</dd>
</dl>
<h3>Ausgaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Array | Zeichenkette</span></dt>
<dt>payload<span class="property-type">Objekt | Array | String</span></dt>
<dd>
<ul>
<li>Wenn die Eingabe eine Zeichenkette ist, wird versucht sie als CSV zu analysieren und
<li>Wenn die Eingabe ein String ist, wird versucht sie als CSV zu analysieren und
es wird für jede Zeile ein JavaScript-Objekt mit Schlüssel/Wertpaaren erstellt.
Der Knoten sendet dann entweder eine Nachricht für jede Zeile oder eine einzelne Nachricht mit einem Array von Objekten.</li>
<li>Wenn die Eingabe ein JavaScript-Objekt ist, wird versucht eine CSV-Zeichenkette zu erzeugen.</li>
<li>Wenn die Eingabe ein Array mit einfachen Werten ist, wird eine einzeilige CSV-Zeichenkette erstellt.</li>
<li>Wenn die Eingabe ein Array von Arrays oder ein Array von Objekten ist, wird eine mehrzeilige CSV-Zeichenkette erstellt.</li>
Der Node sendet dann entweder eine Nachricht für jede Zeile oder eine einzelne Nachricht mit einem Array von Objekten.</li>
<li>Wenn die Eingabe ein JavaScript-Objekt ist, wird versucht ein CSV-String zu erzeugen.</li>
<li>Wenn die Eingabe ein Array mit einfachen Werten ist, wird ein einzeiliger CSV-String erstellt.</li>
<li>Wenn die Eingabe ein Array von Arrays oder ein Array von Objekten ist, wird ein mehrzeiliger CSV-String erstellt.</li>
</ul>
</dd>
</dl>
@ -41,7 +41,7 @@
<p>Bei der Konvertierung nach CSV wird die Spaltenvorlage verwendet, um festzustellen,
welche Eigenschaften aus dem Objekt in welcher Reihenfolge extrahiert werden sollen.</p>
<p>Wenn die Eingabe ein Array ist, wird die Spaltenvorlage nur verwendet, um optional eine Reihe von Spaltentiteln zu erzeugen.</p>
<p>Der Knoten kann eine mehrteilige Eingabe akzeptieren, solange die Eigenschaft <code>parts</code> korrekt gesetzt ist.</p>
<p>Der Node kann eine mehrteilige Eingabe akzeptieren, solange die Eigenschaft <code>parts</code> korrekt gesetzt ist.</p>
<p>Wenn mehrere Nachrichten ausgeben werden, sind ihre <code>parts</code>-Eigenschaft festgelegt und sie bilden eine vollständige Nachrichtensequenz.</p>
<p><b>Note:</b> die Spaltenvorlage muss kommagetrennt sein - auch wenn für die Daten ein anderes Trennzeichen gewählt wird.</p>
</script>

View File

@ -18,20 +18,20 @@
<p>Extrahiert unter Verwendung eines CSS-Selektors Elemente aus einem HTML-Dokument, das sich in <code>msg.payload</code> befindet.</p>
<h3>Eingaben</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">Zeichenkette</span></dt>
<dd>die html-Zeichenkette, aus der Elemente extrahiert werden sollen.</dd>
<dt class="optional">select <span class="property-type">Zeichenkette</span></dt>
<dt>payload <span class="property-type">String</span></dt>
<dd>der html-String, aus der Elemente extrahiert werden sollen.</dd>
<dt class="optional">select <span class="property-type">String</span></dt>
<dd>wenn nicht im Edit-Panel konfiguriert, kann der Selektor als Eigenschaft der Nachricht übergeben werden.</dd>
</dl>
<h3>Ausgaben</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">Array | Zeichenkette</span></dt>
<dd>das Ergebnis kann entweder eine einzelne Nachricht mit einer Nutzlast sein, die ein Array der übereinstimmenden Elemente enthält
<dt>payload <span class="property-type">Array | String</span></dt>
<dd>das Ergebnis kann entweder eine einzelne Nachricht mit eine, Payload sein, das ein Array der übereinstimmenden Elemente enthält
oder mehrere Nachrichten, die jeweils ein passendes Element enthalten.
Wenn mehrere Nachrichten gesendet werden, haben sie auch <code>parts</code> gesetzt.</dd>
</dl>
<h3>Details</h3>
<p>Dieser Knoten unterstützt eine Kombination aus CSS- und jQuery-Selektoren. Siehe die
<p>Dieser Node unterstützt eine Kombination aus CSS- und jQuery-Selektoren. Siehe die
<a href="https://github.com/fb55/CSSselect#user-content-supported-selectors" target="_blank">css-select Dokumentation</a>
für weitere Informationen über die unterstützte Syntax.</p>
</script>

View File

@ -18,32 +18,32 @@
<p>Konvertiert zwischen einem JSON-String und seiner JavaScript-Objektdarstellung in beide Richtungen.</p>
<h3>Eingaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Zeichenkette</span></dt>
<dd>Ein JavaScript Objekt oder eine Zeichenkette.</dd>
<dt>payload<span class="property-type">Objekt | String</span></dt>
<dd>Ein JavaScript Objekt oder ein String.</dd>
<dt>schema<span class="property-type">Objekt</span></dt>
<dd>Ein optionales JSON Schema Objekt gegen das das JSON Objekt validiert wird.</dd>
</dl>
<h3>Ausgaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Zeichenkette</span></dt>
<dt>payload<span class="property-type">Objekt | String</span></dt>
<dd>
<ul>
<li>Wenn die Eingabe ein JSON-String ist, wird versucht ihn in ein JavaScript-Objekt zu parsen..</li>
<li>Wenn die Eingabe ein JavaScript-Objekt ist, wird ein JSON-String erstellt. Die Zeichenkette kann optional gut formatiert werden.</li>
<li>Wenn die Eingabe ein JavaScript-Objekt ist, wird ein JSON-String erstellt. Der String kann optional gut formatiert werden.</li>
</ul>
</dd>
<dt>schemaError<span class="property-type">Array</span></dt>
<dd>Wenn die JSON-Schemavalidierung fehlschlägt, wird für den <code>Catch</code> Knoten eine <code>schemaError</code> Eigenschaft erstellt,
<dd>Wenn die JSON-Schemavalidierung fehlschlägt, wird für den <code>Catch</code> Node eine <code>schemaError</code> Eigenschaft erstellt,
die ein Array von Fehlern enthält.</dd>
</dl>
<h3>Details</h3>
<p>Standardmäßig arbeitet der Knoten mit <code>msg.payload</code>, kann aber so konfiguriert werden, dass eine beliebige
<p>Standardmäßig arbeitet der Node mit <code>msg.payload</code>, kann aber so konfiguriert werden, dass eine beliebige
Nachrichteneigenschaft konvertiert wird.</p>
<p>Der Knoten kann auch konfiguriert werden, um eine bestimmte Kodierung sicherzustellen, anstatt zwischen den beiden umzuschalten.
Dies kann z.B. mit dem <code>HTTP In</code> Knoten benutzt werden, um sicherzustellen, dass die Nutzlast ein analysiertes Objekt ist,
auch wenn eine eingehende Anfrage seinen Inhaltstyp nicht korrekt eingestellt hat, damit der <code>HTTP In</code> Knoten
<p>Der Node kann auch konfiguriert werden, um eine bestimmte Kodierung sicherzustellen, anstatt zwischen den beiden umzuschalten.
Dies kann z.B. mit dem <code>HTTP In</code> Node benutzt werden, um sicherzustellen, dass der Payload ein analysiertes Objekt ist,
auch wenn eine eingehende Anfrage seinen Inhaltstyp nicht korrekt eingestellt hat, damit der <code>HTTP In</code> Node
die Konvertierung durchführen kann.</p>
<p>Wenn der Knoten so konfiguriert ist, dass die Eigenschaft als String kodiert wird, und es einen String empfängt,
<p>Wenn der Node so konfiguriert ist, dass die Eigenschaft als String kodiert wird, und es einen String empfängt,
werden keine weiteren Prüfungen der Eigenschaft durchgeführt.
Es wird weder prüfen, ob der String ein gültiges JSON enthält noch wird er ihn neu formatieren, wenn die Format-Option ausgewählt ist.</p>
<p>Für weitere Details über das JSON-Schema

View File

@ -18,16 +18,16 @@
<p>Konvertiert zwischen einem XML-String und seiner JavaScript-Objektdarstellung - in beiden Richtungen.</p>
<h3>Eingaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Zeichenkette</span></dt>
<dd>Ein JavaScript Objekt oder eine XML Zeichenkette.</dd>
<dt>payload<span class="property-type">Objekt | String</span></dt>
<dd>Ein JavaScript Objekt oder ein XML String.</dd>
</dl>
<h3>Ausgaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Zeichenkette</span></dt>
<dt>payload<span class="property-type">Objekt | String</span></dt>
<dd>
<ul>
<li>Wenn die Eingabe eine Zeichenkette ist, wird versucht sie als XML zu analysieren und daraus ein JavaScript-Objekt zu erstellen.</li>
<li>Wenn die Eingabe ein JavaScript-Objekt ist, wird versucht eine XML-Zeichenkette zu erstellen.</li>
<li>Wenn die Eingabe ein String ist, wird versucht sie als XML zu analysieren und daraus ein JavaScript-Objekt zu erstellen.</li>
<li>Wenn die Eingabe ein JavaScript-Objekt ist, wird versucht ein XML-String zu erstellen.</li>
</ul>
</dd>
<dt class="optional">Optionen <span class="property-type">Objekt</span></dt>
@ -38,7 +38,7 @@
<h3>Details</h3>
<p>Bei der Konvertierung zwischen XML und einem Objekt werden standardmäßig alle XML-Attribute als Eigenschaft namens <code>$</code> hinzugefügt.
Jeder Textinhalt wird als Eigenschaft namens <code>_</code> hinzugefügt.
Diese Eigenschaftsnamen können in der Knotenkonfiguration angegeben werden.</p>
Diese Eigenschaftsnamen können in der Node-Konfiguration angegeben werden.</p>
<p>Zum Beispiel wird das folgende XML wie dargestellt konvertiert:</p>
<pre>&lt;p class="tag"&gt;Hello World&lt;/p&gt;</pre>
<pre>{

View File

@ -15,19 +15,19 @@
-->
<script type="text/x-red" data-help-name="yaml">
<p>Konvertiert zwischen einer YAML-formatierten Zeichenkette und ihrer JavaScript-Objektdarstellung in beide Richtungen.</p>
<p>Konvertiert zwischen einer YAML-formatierten String und ihrer JavaScript-Objektdarstellung in beide Richtungen.</p>
<h3>Eingaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Zeichenkette</span></dt>
<dd>Ein JavaScript Objekt oder eine YAML Zeichenkette.</dd>
<dt>payload<span class="property-type">Objekt | String</span></dt>
<dd>Ein JavaScript Objekt oder ein YAML String.</dd>
</dl>
<h3>Ausgaben</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">Objekt | Zeichenkette</span></dt>
<dt>payload<span class="property-type">Objekt | String</span></dt>
<dd>
<ul>
<li>Wenn die Eingabe ein YAML-String ist, wird versucht ihn in ein JavaScript-Objekt zu parsen.</li>
<li>Wenn die Eingabe ein JavaScript-Objekt ist, wird eine YAML-Zeichenkette erstellt.</li>
<li>Wenn die Eingabe ein JavaScript-Objekt ist, wird ein YAML-String erstellt.</li>
</ul>
</dd>
</dl>

View File

@ -19,7 +19,7 @@
<p>Dies funktioniert nicht auf Windows-Dateisystemen, da es auf dem Befehl <b>tail -F</b> basiert.</p>
<h3>Ausgaben</h3>
<ul>
<li>Textdateien (UTF-8) werden als Zeichenketten zurückgegeben.</li>
<li>Textdateien (UTF-8) werden als Strings zurückgegeben.</li>
<li>Binärdateien werden als Buffer-Objekte zurückgegeben.</li>
</ul>
</script>

View File

@ -19,19 +19,19 @@
Alternativ kann die Datei auch gelöscht werden.</p>
<h3>Eingaben</h3>
<dl class="message-properties">
<dt class="optional">filename <span class="property-type">Zeichenkette</span></dt>
<dd>Wenn nicht im Knoten konfiguriert, legt diese optionale Eigenschaft den Namen der zu aktualisierenden Datei fest.</dd>
<dt class="optional">filename <span class="property-type">String</span></dt>
<dd>Wenn nicht im Node konfiguriert, legt diese optionale Eigenschaft den Namen der zu aktualisierenden Datei fest.</dd>
</dl>
<h3>Ausgaben</h3>
<p>Nach Abschluss des Schreibvorgangs wird die Eingangsnachricht an den Ausgangsport gesendet.</p>
<h3>Details</h3>
<p>Jede Nachrichten-Nutzlast wird am Ende der Datei hinzugefügt und optional dazwischen ein Zeilenumbruchzeichen.</p>
<p>Jeder Nachrichten-Payload wird am Ende der Datei hinzugefügt und optional dazwischen ein Zeilenumbruchzeichen.</p>
<p>Wenn <code>msg.filename</code> verwendet wird, wird die Datei nach jedem Schreiben geschlossen.
Für eine optimale Leistung verwenden Sie einen festen Dateinamen.</p>
<p>Es kann konfiguriert werden, dass die gesamte Datei überschrieben wird und nicht angehängt wird. Zum Beispiel
beim Schreiben von Binärdaten in eine Datei wie bei einem Bild, sollte diese Option verwendet werden
und die Option, einen Zeilenumbruch anzuhängen, sollte deaktiviert sein.</p>
<p>Alternativ kann dieser Knoten konfiguriert werden, um die Datei zu löschen.</p>
<p>Alternativ kann dieser Node konfiguriert werden, um die Datei zu löschen.</p>
</script>
<script type="text/x-red" data-help-name="file in">

View File

@ -46,7 +46,7 @@ var stubbedExpressApp = {
}
var adminApi = {
auth: {
needsPermission: function() {}
needsPermission: function() {return function(req,res,next) {next()}}
},
adminApp: stubbedExpressApp,
server: {}

View File

@ -9,20 +9,20 @@
}
},
"server" : {
"loading" : "Palettenknoten werden geladen",
"loading" : "Paletten-Nodes werden geladen",
"palette-editor" : {
"disabled" : "Paletteneditor inaktiviert: Benutzereinstellungen",
"npm-not-found" : "Paletteneditor inaktiviert: Befehl 'npm' nicht gefunden"
},
"errors" : "Registrieren des Knotentyps __count__ ist fehlgeschlagen.",
"errors_plural" : "Fehler beim Registrieren von __count__ -Knotentypen",
"errors" : "Registrieren des Node-Typs __count__ ist fehlgeschlagen.",
"errors_plural" : "Fehler beim Registrieren von __count__ -Node-Typen",
"errors-help" : "Mit -v ausführen, um Details zu erfahren",
"missing-modules" : "Fehlende Knotenmodule:",
"node-version-mismatch" : "Das Knotenmodul kann in dieser Version nicht geladen werden. Erfordert: __version__ ",
"missing-modules" : "Fehlende Node-Module:",
"node-version-mismatch" : "Das Node-Modul kann in dieser Version nicht geladen werden. Erfordert: __version__ ",
"type-already-registered" : "'__type__' bereits von Modul __module__ registriert",
"removing-modules" : "Module aus der Konfiguration entfernen",
"added-types" : "Hinzugefügte Knotentypen:",
"removed-types" : "Entfernte Knotentypen:",
"added-types" : "Hinzugefügte Node-Typen:",
"removed-types" : "Entfernte Node-Typen:",
"install" : {
"invalid" : "Ungültiger Modulname",
"installing" : "Modul wird installiert: __name__, Version: __version__",
@ -31,7 +31,7 @@
"install-failed-long" : "Die Installation des Moduls __name__ ist fehlgeschlagen:",
"install-failed-not-found" : "Das Modul '$t(server.install.install-failed-long') wurde nicht gefunden.",
"upgrading" : "Modul wird aktualisiert: __name__ auf Version: __version__",
"upgraded" : "Erweitertes Modul: __name__. Neustart von Knoten-RED für die Verwendung der neuen Version",
"upgraded" : "Erweitertes Modul: __name__. Neustart von Node-RED für die Verwendung der neuen Version",
"upgrade-failed-not-found" : "$t(server.install.install-failed-long) Version nicht gefunden",
"uninstalling" : "Modul wird deinstalliert: __name__",
"uninstall-failed" : "Deinstallation fehlgeschlagen",
@ -59,9 +59,9 @@
"error-save-flow" : "Fehler beim Speichern des Flows '__path__': __message__"
},
"nodes" : {
"enabled" : "Aktivierte Knotentypen:",
"disabled" : "Inaktivierte Knotentypen:",
"error-enable" : "Der Knoten konnte nicht aktiviert werden:"
"enabled" : "Aktivierte Node-Typen:",
"disabled" : "Inaktivierte Node-Typen:",
"error-enable" : "Der Node konnte nicht aktiviert werden:"
}
},
"comms" : {
@ -79,25 +79,25 @@
"error" : "Fehler beim Laden der Berechtigungsnachweise: __message__",
"error-saving" : "Fehler beim Speichern der Berechtigungsnachweise: __message__",
"not-registered" : "Der Berechtigungsnachweistyp '__type__' ist nicht registriert.",
"system-key-warning" : "\n\n---------------------------------------------------------------------\nDie Datei mit den Datenflowberechtigungsnachweisen wird mit einem vom System generierten Schlüssel verschlüsselt.\n\nWenn der vom System generierte Schlüssel aus irgendeinem Grund verloren geht, werden Ihre Berechtigungsnachweise\nDie Datei kann nicht wiederhergestellt werden. Sie müssen sie löschen und erneut eingeben.\nIhre Berechtigungsnachweise.\n\nSie sollten Ihren eigenen Schlüssel mit Hilfe der Option 'credentialSecret' in\nIhre Einstellungsdatei. Node-RED wird dann Ihre Berechtigungsnachweise erneut verschlüsseln.\nDatei mit dem ausgewählten Schlüssel beim nächsten Implementieren einer Änderung verwenden.\n---------------------------------------------------------------------\n"
"system-key-warning" : "\n\n---------------------------------------------------------------------\nDie Datei mit den Datenflowberechtigungsnachweisen wird mit einem vom System generierten Schlüssel verschlüsselt.\n\nWenn der vom System generierte Schlüssel aus irgendeinem Grund verloren geht, werden Ihre Berechtigungsnachweise\nDie Datei kann nicht wiederhergestellt werden. Sie müssen sie löschen und erneut eingeben.\nIhre Berechtigungsnachweise.\n\nSie sollten Ihren eigenen Schlüssel mit Hilfe der Option 'credentialSecret' in\nIhre Einstellungsdatei. Node-RED wird dann Ihre Berechtigungsnachweise erneut verschlüsseln.\nDatei mit dem ausgewählten Schlüssel beim nächsten Deployen einer Änderung verwenden.\n---------------------------------------------------------------------\n"
},
"flows" : {
"registered-missing" : "Fehlender Typ registriert: __type__",
"error" : "Fehler beim Laden von Flows: __message__",
"starting-modified-nodes" : "Modifizierte Knoten werden gestartet",
"starting-modified-nodes" : "Modifizierte Nodes werden gestartet",
"starting-modified-flows" : "Modifizierte Flows werden gestartet",
"starting-flows" : "Flows starten",
"started-modified-nodes" : "Gestartete geänderte Knoten",
"started-modified-nodes" : "Gestartete geänderte Nodes",
"started-modified-flows" : "Gestartete geänderte Flows",
"started-flows" : "Flows gestartet",
"stopping-modified-nodes" : "Modifizierte Knoten werden gestoppt",
"stopping-modified-nodes" : "Modifizierte Nodes werden gestoppt",
"stopping-modified-flows" : "Modifizierte Flows werden gestoppt",
"stopping-flows" : "Flows stoppen",
"stopped-modified-nodes" : "Geänderte Knoten gestoppt",
"stopped-modified-nodes" : "Geänderte Nodes gestoppt",
"stopped-modified-flows" : "Geänderte Flows gestoppt",
"stopped-flows" : "Flows gestoppt",
"stopped" : "Gestoppt",
"stopping-error" : "Fehler beim Stoppen des Knotens: __message__",
"stopping-error" : "Fehler beim Stoppen des Nodes: __message__",
"added-flow" : "Flow hinzufügen: __label__",
"updated-flow" : "Aktualisierter Flow: __label__",
"removed-flow" : "Entfernter Flow: __label__",

View File

@ -979,6 +979,29 @@ describe('HTTP Request Node', function() {
n1.receive({payload:"foo", requestTimeout: -4});
});
});
it('should show a warning if msg.requestTimeout is set to 0', function(done) {
var flow = [{id:"n1",type:"http request",wires:[["n2"]],method:"GET",ret:"obj",url:getTestURL('/text')},
{id:"n2", type:"helper"}];
helper.load(httpRequestNode, flow, function() {
var n1 = helper.getNode("n1");
var n2 = helper.getNode("n2");
n2.on("input", function(msg) {
try {
msg.should.have.property('statusCode', 200);
var logEvents = helper.log().args.filter(function(evt) {
return evt[0].type == 'http request';
});
logEvents.should.have.length(2);
var tstmp = logEvents[0][0].timestamp;
logEvents[0][0].should.eql({level:helper.log().WARN, id:'n1',type:'http request',msg:'httpin.errors.timeout-isnegative', timestamp:tstmp});
done();
} catch(err) {
done(err);
}
});
n1.receive({payload:"foo", requestTimeout: 0});
});
});
it('should pass if response time is faster than timeout set via msg.requestTimeout', function(done) {
var flow = [{id:"n1",type:"http request",wires:[["n2"]],method:"GET",ret:"obj",url:getTestURL('/timeout50ms')},
{id:"n2", type:"helper"}];