# Nicht mehr als 2 Motoren einschalten

**URL:** <https://discourse.nodered.org/t/nicht-mehr-als-2-motoren-einschalten/22372>\
**Category:** General\
**Created:** [28 February 2020 11:16 UTC](https://discourse.nodered.org/t/nicht-mehr-als-2-motoren-einschalten/22372 "2020-02-28T11:16:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rene.we5](https://avatars.discourse-cdn.com/v4/letter/r/a698b9/32.png) [@rene.we5](https://discourse.nodered.org/u/rene.we5)\
**Post date:** [28 February 2020 11:16 UTC](https://discourse.nodered.org/t/nicht-mehr-als-2-motoren-einschalten/22372/1 "2020-02-28T11:16:08Z")

</div>

Hallo  
ich versuche ein Programm zu schreiben, indem es 4 Motoren gibt, aber es sollen sich maximal 2 gleichzeitig einschalten lassen.  
aber es wird IMMER "false" ausgegeben

* * *

// Code in der Funktion  
var x0 = {payload: msg.payload.x0};  
var x1 = {payload: msg.payload.x1};  
var x2 = {payload: msg.payload.x2};  
var x3 = {payload: msg.payload.x3};

var msg1={};

if (!x3 && x2 && x1 && x0 || x3 && !x2 && x1 && x0 || x3 && x2 && !x1 && x0 || x3 && x2 && x1 && x0 || x3 && x2 && x1 && x0){

```
msg1.payload = "false";

```

}  
else{  
msg1.payload = "true";  
}

return msg1;

* * *

bitte helft mir

LG

---

<div class="post-metadata">

**Author:** ![homeplayer](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/homeplayer/32/12388_2.png) [@homeplayer](https://discourse.nodered.org/u/homeplayer)\
**Post date:** [28 February 2020 12:08 UTC](https://discourse.nodered.org/t/nicht-mehr-als-2-motoren-einschalten/22372/2 "2020-02-28T12:08:19Z")

</div>

```auto
var x0 = msg.payload.x0;
var x1 = msg.payload.x1;
var x2 = msg.payload.x2;
var x3 = msg.payload.x3;

```

That's what I think could be it, without knowing what is coming into the function.

if the state of the motors is coming in multiple msg's, then you need to safe the state into context or flow variable to keep track of them.

a quick flow example;

```auto
[{"id":"a00a0735.0eb5b8","type":"inject","z":"95f61204.15452","name":"","topic":"motor1","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":262,"y":1368,"wires":[["d4c5a420.9a8e58"]]},{"id":"8d59f29f.ad995","type":"inject","z":"95f61204.15452","name":"","topic":"motor1","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":262,"y":1404,"wires":[["d4c5a420.9a8e58"]]},{"id":"633095bd.8216dc","type":"inject","z":"95f61204.15452","name":"","topic":"motor2","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":262,"y":1464,"wires":[["d4c5a420.9a8e58"]]},{"id":"6b321c7b.908b44","type":"inject","z":"95f61204.15452","name":"","topic":"motor2","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":262,"y":1500,"wires":[["d4c5a420.9a8e58"]]},{"id":"1642c43d.6a50fc","type":"inject","z":"95f61204.15452","name":"","topic":"motor3","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":262,"y":1560,"wires":[["d4c5a420.9a8e58"]]},{"id":"9bd997cd.b708c8","type":"inject","z":"95f61204.15452","name":"","topic":"motor3","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":262,"y":1596,"wires":[["d4c5a420.9a8e58"]]},{"id":"422559a0.3a73a8","type":"inject","z":"95f61204.15452","name":"","topic":"motor4","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":262,"y":1656,"wires":[["d4c5a420.9a8e58"]]},{"id":"59321b02.444154","type":"inject","z":"95f61204.15452","name":"","topic":"motor4","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":262,"y":1692,"wires":[["d4c5a420.9a8e58"]]},{"id":"d4c5a420.9a8e58","type":"function","z":"95f61204.15452","name":"","func":"var nr = parseInt(msg.topic.substring(msg.topic.length - 1))-1;\nvar count = 0;\ncontext.set(\"state[\" + nr +\"]\", msg.payload);\n\nfor (var i in context.get(\"state\")){\n \n if (context.get(\"state[\" + i +\"]\") === true ) {\n count++\n }\n msg.payload = count < 3?\"oke\":\"to Match\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":542,"y":1536,"wires":[["33fbaaa3.d24036"]]},{"id":"33fbaaa3.d24036","type":"debug","z":"95f61204.15452","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":674,"y":1536,"wires":[]}]

```

![temp](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/4/94b8f7cb874f58bd6283c839866bda2879ddd05b.jpeg)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [28 April 2020 12:08 UTC](https://discourse.nodered.org/t/nicht-mehr-als-2-motoren-einschalten/22372/3 "2020-04-28T12:08:25Z")

</div>

Closed on 28 April 2020 12:08 UTC

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
