This commit is contained in:
gongwenxin
2025-08-28 16:20:24 +08:00
parent 61e533cddf
commit 73e887ebf4
1539 changed files with 360926 additions and 0 deletions
@@ -0,0 +1,55 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="function">
<p>Una función de JavaScript que se ejecuta en los mensajes que recibe el nodo.</p>
<p>Los mensajes se pasan como un objeto JavaScript llamado <code>msg</code>.</p>
<p>Por convención, tendrá una propiedad <code>msg.payload</code> que contiene el cuerpo del mensaje.</p>
<p>Se espera que la función devuelva un objeto de mensaje (o varios objetos de mensaje), pero puede optar por no devolver nada para detener un flujo.</p>
<p>La pestaña <b>Al iniciar</b> contiene código que se ejecutará cada vez que se inicie el nodo. La pestaña <b>Al detener</b> contiene código que se ejecutará cuando se detenga el nodo.</p>
<p>Si el código <b>Al iniciar</b> devuelve un objeto Promise, el nodo no comenzará a manejar mensajes hasta que se resuelva la promesa.</p>
<h3>Detalles</h3>
<p>Ver la <a target="_blank" href="https://nodered.org/docs/writing-functions.html">documentación online</a> para obtener más información sobre cómo escribir funciones.</p>
<h4>Enviando mensajes</h4>
<p>La función puede devolver los mensajes que quieras pasar a los siguientes nodos del flujo o puede llamar a <code>node.send(messages)</code>.</p>
<p>Puede devolver/enviar:</p>
<ul>
<li>un único objeto de mensaje - pasado a los nodos conectados a la primera salida</li>
<li>una matriz de objetos de mensaje - pasados a nodos conectados a las salidas correspondientes</li>
</ul>
<p>Nota: El código de configuración se ejecuta durante la inicialización de los nodos. Por lo tanto, si se llama a <code>node.send</code> en la pestaña de configuración, es posible que los nodos posteriores no puedan recibir el mensaje.</p>
<p>Si algún elemento de la matriz es en mismo una matriz de mensajes, se envían varios mensajes a la salida correspondiente.</p>
<p>Si se devuelve nulo, ya sea solo o como elemento de la matriz, no se transmite ningún mensaje.</p>
<h4>Registro y manejo de errores</h4>
<p>Para registrar cualquier información o informar de un error, están disponibles las siguientes funciones:</p>
<ul>
<li><code>node.log("Log message")</code></li>
<li><code>node.warn("Warning")</code></li>
<li><code>node.error("Error")</code></li>
</ul>
</p>
<p>El nodo Captura (Catch) también se puede utilizar para gestionar errores. Para invocar un nodo Catch, pasa <code>msg</code> como segundo argumento a <code>node.error</code>:</p>
<pre>node.error("Error",msg);</pre>
<h4>Accediendo a la información del nodo</h4>
<p>Las siguientes propiedades están disponibles para acceder a información sobre el nodo:</p>
<ul>
<li><code>node.id</code> - identificación del nodo</li>
<li><code>node.name</code> - nombre del nodo</li>
<li><code>node.outputCount</code> - número de salidas de nodo</li>
</ul>
<h4>Usar variables de entorno</h4>
<p>Se puede acceder a las variables de entorno utilizando <code>env.get("MY_ENV_VAR")</code>.</p>
</script>
@@ -0,0 +1,37 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="switch">
<p>Enruta mensajes según los valores de sus propiedades o la posición de la secuencia.</p>
<h3>Detalles</h3>
<p>Cuando llega un mensaje, el nodo evaluará cada una de las reglas definidas y reenviará el mensaje a las salidas correspondientes de cualquier regla coincidente.</p>
<p>Opcionalmente, se puede configurar el nodo para que deje de evaluar reglas una vez que encuentre una que coincida.</p>
<p>Las reglas se pueden evaluar en función de una propiedad de mensaje individual, una propiedad de flujo o contexto global, una variable de entorno o el resultado de una expresión JSONata.</p>
<h4>Reglas</h4>
<p>Hay cuatro tipos de reglas.:</p>
<ol>
Las reglas <li><b>valor</b> se evalúan con respecto a la propiedad configurada</li>
Las reglas <li><b>Secuencia</b> se pueden utilizar en secuencias de mensajes, como las generadas por el nodo Dividir</li>
<li>Se puede proporcionar una <b>expresión</b> JSONata que se evaluará en relación con todo el mensaje y coincidirá si la expresión devuelve un valor verdadero.</li>
<li>Se puede utilizar una regla <b>de lo contrario</b> para hacer coincidir si ninguna de las reglas anteriores coincide.</li>
</ol>
<h4>Notas</h4>
<p>Las reglas <code>verdadero/falso</code> y <code>es nulo</code> realizan comparaciones estrictas con esos tipos. No convierten entre tipos.</p>
<p>Las reglas <code>está vacío</code> y <code>no está vacío</code> se pueden utilizar para probar la longitud de cadenas, matrices y buffers, o el número de propiedades que tiene un objeto. Ninguna regla se aprobará si la propiedad que se está probando tiene un valor <code>booleano</code>, <code>null</code> o <code>indefinido</code>.</p>
<h4>Manejo de secuencias de mensajes</h4>
<p>De forma predeterminada, el nodo no modifica la propiedad <code>msg.parts</code> de los mensajes que forman parte de una secuencia.</p>
<p>La opción <b>recrear secuencias de mensajes</b> se puede habilitar para generar nuevas secuencias de mensajes para cada regla que coincida. En este modo, el nodo almacenará en buffer toda la secuencia entrante antes de enviar las nuevas secuencias. La configuración de tiempo de ejecución <code>nodeMessageBufferMaxLength</code> se puede utilizar para limitar cuántos nodos de mensajes almacenarán en el buffer.</p>
</script>
@@ -0,0 +1,33 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="change">
<p>Establecer, cambiar, eliminar o mover propiedades de un mensaje, contexto de flujo o contexto global.</p>
<p>El nodo puede especificar múltiples reglas que se aplicarán en el orden en que se definan.</p>
<h3>Detalles</h3>
<p>Las operaciones disponibles son:</p>
<dl class="message-properties">
<dt>Establecer</dt>
<dd>establecer una propiedad. El valor puede ser de varios tipos diferentes o puede tomarse de un mensaje existente o de una propiedad de contexto.</dd>
<dt>Cambiar</dt>
<dd>buscar y reemplazar partes de la propiedad. Si las expresiones regulares están habilitadas, la propiedad "reemplazar con" puede incluir grupos de captura, por ejemplo <code>$1</code>. Reemplazar solo cambiará el tipo si hay una coincidencia completa.</dd>
<dt>Eliminar</dt>
<dd>eliminar una propiedad.</dd>
<dt>Mover</dt>
<dd>mover o cambiar el nombre de una propiedad.</dd>
</dl>
<p>El tipo "expresión" utiliza el lenguaje de consulta y expresión <a href="http://jsonata.org/" target="_new">JSONata</a>.</p>
</script>
@@ -0,0 +1,42 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="range">
<p>Asigna un valor numérico a un rango diferente.</p>
<h3>Entradas</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">número</span></dt>
<dd>La carga <i>debe</i> ser un número. Cualquier otra cosa intentará analizarse como un número y rechazarse si falla.</dd>
</dl>
<h3>Salidas</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">número</span></dt>
<dd>El valor asignado al nuevo rango.</dd>
</dl>
<h3>Detalles</h3>
<p>Este nodo escalará linealmente el valor recibido. De forma predeterminada, el resultado no está restringido al rango definido en el nodo.</p>
<p><i>Escalar y limitar al rango objetivo</i> significa que el resultado nunca estará fuera del rango especificado dentro del rango objetivo.</p>
<p><i>Escalar y ajustar dentro del rango objetivo</i> significa que el resultado se ajustará dentro del rango objetivo.</p>
<p><i>Escalar, pero eliminar si está fuera del rango de entrada</i> significa que el resultado se escalará, pero cualquier entrada fuera del rango de entrada y salida se eliminará.</p>
<p>Por ejemplo, una entrada 0 - 10 asignada a 0 - 100.</p>
<table style="outline-width:#888 solid thin">
<tr><th width="80px">modo</th><th width="80px">entrada</th><th width="80px">salida</th></tr>
<tr><td><center>scale</center></td><td><center>12</center></td><td><center>120</center></td></tr>
<tr><td><center>limit</center></td><td><center>12</center></td><td><center>100</center></td></tr>
<tr><td><center>wrap</center></td><td><center>12</center></td><td><center>20</center></td></tr>
<tr><td><center>drop</center></td><td><center>12</center></td><td><center><i>(sin salida)</i></center></td></tr>
</table>
</script>
@@ -0,0 +1,51 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="template">
<p>Establece una propiedad basada en la plantilla proporcionada.</p>
<h3>Entradas</h3>
<dl class="message-properties">
<dt>msg <span class="property-type">objeto</span></dt>
<dd>Un objeto de mensaje que contiene información para completar la plantilla.</dd>
<dt class="optional">template <span class="property-type">texto</span></dt>
<dd>Una plantilla que se completará desde <code>msg.payload</code>. Si no está configurado en el panel de edición, esto se puede configurar como una propiedad de msg.</dd>
</dl>
<h3>Salidas</h3>
<dl class="message-properties">
<dt>msg <span class="property-type">objeto</span></dt>
<dd>un mensaje con una propiedad establecida al completar la plantilla configurada con propiedades del mensaje entrante.</dd>
</dl>
<h3>Detalles</h3>
<p>De forma predeterminada, esto utiliza el formato <i><a href="http://mustache.github.io/mustache.5.html" target="_blank">mustache</a></i>, pero se puede desactivar si es necesario.</p>
<p>Por ejemplo, cuando una plantilla de:
<pre>Hola {{payload.name}}. Hoy es {{date}}</pre>
<p>recibe un mensaje que contiene:
<pre>{
date: "lunes",
payload: {
name: "Fred"
}
}</pre>
<p>La propiedad resultante será:
<pre>Hola Fred. Hoy es lunes</pre>
<p>Es posible utilizar una propiedad del contexto de flujo o del contexto global. Simplemente usa <code>{{flow.name}}</code> o <code>{{global.name}}</code>, o para el almacén persistente <code>store</code> usa <code>{{ flow[store].name}}</code> o <code>{{global[store].name}}</code>.
<p><b>Nota: </b>De forma predeterminada, <i>mustache</i> codificará cualquier entidad HTML o no alfanumérica en los valores que sustituye. Para evitar esto, utilice llaves <code>{{{triple}}}</code>.</p>
<p>Si necesita utilizar <code>{{ }}</code> en su contenido, puede cambiar los caracteres utilizados para marcar las secciones con plantilla. Por ejemplo, para usar <code>[[ ]]</code> en su lugar, agregue la siguiente línea en la parte superior de la plantilla:</p>
<pre>{{=[[ ]]=}}</pre>
<h4>Usando variables de entorno</h4>
<p>El nodo de plantilla puede acceder a variables de entorno utilizando la sintaxis:</p>
<pre>Mi color favorito es {{env.COLOUR}}.</pre>
</script>
@@ -0,0 +1,39 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="delay">
<p>Retrasa cada mensaje que pasa por el nodo o limita la velocidad a la que pueden pasar.</p>
<h3>Entradas</h3>
<dl class="message-properties">
<dt class="optional">delay <span class="property-type">número</span></dt>
<dd>Establece el retraso, en milisegundos, que se aplicará al mensaje. Esta opción solo se aplica si el nodo está configurado para permitir que el mensaje anule el intervalo de retardo predeterminado configurado.</dd>
<dt class="optional">rate <span class="property-type">número</span></dt>
<dd>Establece el valor de la tasa en milisegundos entre mensajes. Esta propiedad sobrescribe el valor de tasa existente definido en la configuración del nodo cuando recibe el mensaje que contiene el valor <code>msg.rate</code> en milisegundos. Esta opción solo se aplica si el nodo está configurado para permitir que el mensaje anule el intervalo de velocidad predeterminado configurado.</dd>
<dt class="optional">reset</dt>
<dd>Si el mensaje recibido tiene esta propiedad establecida en cualquier valor, todos los mensajes pendientes retenidos por el nodo se borran sin enviarse.</dd>
<dt class="optional">flush</dt>
<dd>Si el mensaje recibido tiene esta propiedad establecida en un valor numérico, esa cantidad de mensajes se publicará inmediatamente. Si se establece en cualquier otro tipo (por ejemplo, booleano), todos los mensajes pendientes retenidos por el nodo se envían inmediatamente.</dd>
<dt class="optional">toFront</dt>
<dd>Cuando está en modo de límite de velocidad, si el mensaje recibido tiene esta propiedad establecida en booleano <code>verdadero</code>, entonces el mensaje se envía al frente de la cola y se publicará a continuación. Esto se puede utilizar en combinación con <code>msg.flush=1</code> para reenviar inmediatamente.
</dd>
</dl>
<h3>Detalles</h3>
<p>Cuando se configura para retrasar mensajes, el intervalo de retraso puede ser un valor fijo, un valor aleatorio dentro de un rango o establecerse dinámicamente para cada mensaje. Cada mensaje se retrasa independientemente de cualquier otro mensaje, según la hora de su llegada.</p>
<p>Cuando se configura para calificar los mensajes con límite, su entrega se distribuye durante el período de tiempo configurado. El estado muestra la cantidad de mensajes actualmente en la cola. Opcionalmente, puede descartar mensajes intermedios a medida que llegan.</p>
<p>Si se configura para permitir modificar la frecuencia, la nueva tasa se aplicará inmediatamente y permanecerá vigente hasta que se cambie nuevamente, se restablezca el nodo o se reinicie el flujo.</p>
<p>La limitación de velocidad se puede aplicar a todos los mensajes o agruparlos según su valor <code>msg.topic</code>. Al agrupar, los mensajes intermedios se eliminan automáticamente. En cada intervalo de tiempo, el nodo puede publicar el mensaje más reciente para todos los temas o publicar el mensaje más reciente para el siguiente tema.</p>
<p><b>Nota</b>: En el modo de límite de velocidad, la profundidad máxima de la cola se puede establecer mediante una propiedad en su archivo <i>settings.js</i>. Por ejemplo <code>nodeMessageBufferMaxLength: 1000,</code></p>
</script>
@@ -0,0 +1,37 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="trigger">
<p>Cuando se activa, puede enviar un mensaje y luego, opcionalmente, un segundo mensaje, a menos que se extienda o se restablezca.</p>
<h3>Entradas</h3>
<dl class="message-properties">
<dt class="optional">delay <span class="property-type">número</span></dt>
<dd>Establece el retraso, en milisegundos, que se aplicará al mensaje. Esta opción solo se aplica si el nodo está configurado para permitir que el mensaje anule el intervalo de retardo predeterminado configurado.</dd>
<dt class="optional">reset</dt>
<dd>Si se recibe un mensaje con esta propiedad, se borrará cualquier tiempo de espera o repetición actualmente en curso y no se activará ningún mensaje.</dd>
</dl>
<h3>Detalles</h3>
<p>Este nodo se puede utilizar para crear un tiempo de espera dentro de un flujo. De forma predeterminada, cuando recibe un mensaje, envía un mensaje con una <code>carga</code> de <code>1</code>. Luego espera 250 ms antes de enviar un segundo mensaje con una <code>carga</code> de <code>0</code>. Esto podría usarse, por ejemplo, para hacer parpadear un LED conectado a un pin GPIO de Raspberry Pi.</p>
<p>Las cargas de cada mensaje enviado se pueden configurar con una variedad de valores, incluida la opción de no enviar nada. Por ejemplo, configurando el mensaje inicial en <i>nada</i> y seleccionando la opción de extender el temporizador con cada mensaje recibido, el nodo actuará como un temporizador de vigilancia; solo enviar un mensaje si no se recibe nada dentro del intervalo establecido.</p>
<p>Si se establece en un tipo <i>cadena</i>, el nodo admite la sintaxis de plantilla mustache.</p>
<p>El retraso entre el envío de mensajes puede ser anulado por <code>msg.delay</code> si esa opción está habilitada en el nodo. El valor debe proporcionarse en milisegundos.</p>
<p>Si el nodo recibe un mensaje con una propiedad <code>reset</code> o una <code>carga</code> que coincide con la configurada en el nodo, cualquier tiempo de espera o repetición actualmente en curso se borrará y no se activa ningún mensaje.</p>
<p>El nodo se puede configurar para reenviar un mensaje a intervalos regulares hasta que se restablezca mediante un mensaje recibido.</p>
<p>Opcionalmente, el nodo se puede configurar para tratar los mensajes como si fueran secuencias separadas, utilizando una propiedad msg para identificar cada secuencia. <code>msg.topic</code> predeterminado.</p>
<p>El estado indica que el nodo está actualmente activo. Si se utilizan varias transmisiones, el estado indica la cantidad de transmisiones que se están realizando.</p>
</script>
@@ -0,0 +1,75 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="exec">
<p>Ejecuta un comando del sistema y devuelve su salida.</p>
<p>El nodo se puede configurar para esperar hasta que se complete el comando o para enviar su salida a medida que el comando lo genera.</p>
<p>El comando que se ejecuta puede configurarse en el nodo o proporcionarse mediante el mensaje recibido.</p>
<h3>Entradas</h3>
<dl class="message-properties">
<dt class="optional">payload <span class="property-type">texto</span></dt>
<dd>si está configurado para hacerlo, se agregará al comando ejecutado.</dd>
<dt class="optional">kill <span class="property-type">texto</span></dt>
<dd>el tipo de señal de interrupción para enviar al proceso de ejecución existente.</dd>
<dt class="optional">pid <span class="property-type">número|texto</span></dt>
<dd>el ID de proceso del proceso de ejecución existente que se va a eliminar.</dd>
</dl>
<h3>Salidas</h3>
<ol class="node-ports">
<li>Salida estándar
<dl class="message-properties">
<dt>payload <span class="property-type">texto</span></dt>
<dd>la salida estándar del comando.</dd>
</dl>
<dl class="message-properties">
<dt>rc <span class="property-type">objeto</span></dt>
<dd>solo en modo ejecución, una copia del objeto de código de retorno (también disponible en el puerto 3)</dd>
</dl>
</li>
<li>Salida error
<dl class="message-properties">
<dt>payload <span class="property-type">texto</span></dt>
<dd>el error estándar del comando.</dd>
</dl>
<dl class="message-properties">
<dt>rc <span class="property-type">objeto</span></dt>
<dd>solo en modo ejecución, una copia del objeto de código de retorno (también disponible en el puerto 3)</dd>
</dl>
</li>
<li>Código de retorno
<dl class="message-properties">
<dt>payload <span class="property-type">objeto</span></dt>
<dd>un objeto que contiene el código de retorno y posiblemente las propiedades <code>message</code>, <code>signal</code>.</dd>
</dl>
</li>
</ol>
<h3>Detalles</h3>
<p>De forma predeterminada, utiliza la llamada al sistema <code>exec</code> que llama al comando, espera a que se complete y luego devuelve el resultado. Por ejemplo, un comando exitoso debe tener un código de retorno de <code>{ code: 0 }</code>.</p>
<p>Opcionalmente, puedes usar <code>spawn</code> en su lugar, que devuelve la salida de stdout y stderr a medida que se ejecuta el comando, generalmente una línea a la vez. Al finalizar, devuelve un objeto en el tercer puerto. Por ejemplo, un comando exitoso debería devolver <code>{ code: 0 }</code>.</p>
<p>Los errores pueden devolver información adicional en el tercer puerto <code>msg.payload</code>, como una cadena <code>message</code>, <code>señal</code>.</p>
<p>El comando que se ejecuta se define dentro del nodo, con una opción para agregar <code>msg.payload</code> y un conjunto adicional de parámetros.</p>
<p>Los comandos o parámetros con espacios deben estar entre comillas - <code>"Este es un solo parámetro"</code></p>
<p>La <code>carga</code> devuelta suele ser una <i>cadena</i>, a menos que se detecten caracteres que no sean UTF8, en cuyo caso es un <i>búfer</i>.</p>
<p>El icono de estado del nodo y el PID serán visibles mientras el nodo esté activo. Los cambios a esto pueden ser leídos por el nodo <code>Estado</code>.</p>
<p>La opción <code>Ocultar consola</code> ocultará la consola de procesos que normalmente se muestra en los sistemas Windows.</p>
<h4>Eliminando Procesos</h4>
<p>Enviar <code>msg.kill</code> eliminará un único proceso activo. <code>msg.kill</code> debe ser una cadena que contenga el tipo de señal que se enviará, por ejemplo, <code>SIGINT</code>, <code>SIGQUIT</code> o <code>SIGHUP</code>.
El valor predeterminado es <code>SIGTERM</code> si se establece en una cadena vacía.</p>
<p>Si el nodo tiene más de un proceso en ejecución, entonces <code>msg.pid</code> también debe configurarse con el valor del PID que se va a eliminar.</p>
<p>Si se proporciona un valor en el campo <code>Timeout</code>, si el proceso no se ha completado cuando haya transcurrido el número de segundos especificado, el proceso se finalizará automáticamente</p>
<p>Consejo: si ejecutas una aplicación Python, es posible que necesites usar el parámetro <code>-u</code> para detener la salida que se almacena en el búfer.</p>
</script>
@@ -0,0 +1,32 @@
<script type="text/html" data-help-name="rbe">
<p>Nodo Informe por excepción (RBE): solo transmite datos si la carga ha cambiado.
También puede bloquear o ignorar si el valor cambia en una cantidad específica (modo de banda muerta y de banda estrecha).</p>
<h3>Entradas</h3>
<dl class="message-properties">
<dt>payload
<span class="property-type">número | texto | (objeto)</span>
</dt>
<dd>El modo RBE aceptará números, cadenas y objetos simples.
Otros modos deben proporcionar un número analizable.</dd>
<dt class="optional">topic <span class="property-type">texto</span>
</dt>
<dd>Si se especifica, funcionará por tema. Esta propiedad se puede establecer mediante configuración.</dd>
<dt class="optional">reset<span class="property-type">cualquiera</span></dt>
<dd>si está configurado, borra el valor almacenado para el msg.topic especificado, o todos los temas si no se especifica msg.topic.</dd>
</dl>
<h3>Salidas</h3>
<dl class="message-properties">
<dt>carga <span class="property-type">según la entrada</span></dt>
<dd>Si se activa, la salida será la misma que la entrada.</dd>
</dl>
<h3>Detalles</h3>
<p>En modo RBE, este nodo se bloqueará hasta que el valor de <code>msg.payload</code> (o propiedad seleccionada) sea diferente al anterior.
Si es necesario, puede ignorar el valor inicial para no enviar nada al inicio.</p>
<p>El modo <a href="https://en.wikipedia.org/wiki/Deadband" target="_blank">Deadband</a> bloqueará el valor entrante <i>hasta</i> que el cambio sea mayor o igual que &plusmn; la banda dada.</p>
<p>El modo de banda estrecha bloqueará el valor entrante, <i>si</i> su cambio es mayor o igual que &plusmn; la banda dada.
Es útil para ignorar valores atípicos de un sensor defectuoso, por ejemplo.</p>
<p>Tanto en el modo Banda Muerta como en el Modo Banda Estrecha, el valor entrante debe contener un número analizable y ambos también admiten %: solo se envía si/a menos que la entrada difiera en más del x% del valor original.</p>
<p>Tanto la banda muerta como la banda estrecha permiten la comparación con el valor de salida válido anterior, ignorando así cualquier valor fuera de rango, o con el valor de entrada anterior, que restablece el punto de ajuste, permitiendo así una deriva gradual (banda muerta) o un cambio en pasos (banda estrecha).</p>
<p><b>Nota:</b> Esto funciona por <code>msg.topic</code>, aunque se puede cambiar a otra propiedad si se desea.
Esto significa que un único nodo de filtro puede manejar varios temas diferentes al mismo tiempo.</p>
</script>