@mickym Hi, seit dem Node Red Adapter Update auf Version 3.2.0 bzw. Version größer 3, funktionieren bei mir die UND und ODER mit der JSONata Eigenschaft nicht mehr. Bekomme eine Fehlermeldung. Geht dir das auch so? Bzw. hast du da schon eine Lösung gefunden. JSONata ist nicht so mein Fachgebiet.
NodesFehler1.jpg
Spoiler
[
{
"id": "1b34ca2b.069996",
"type": "switch",
"z": "42e1e0df.44b9f",
"name": "AND?",
"property": "(\t $withAND := function($i, $j){$i and $j};\t $reduce(\t $each(\t payload,\t function($v) {$v}\t ),$withAND\t );\t)",
"propertyType": "jsonata",
"rules": [
{
"t": "true"
},
{
"t": "false"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 710,
"y": 1740,
"wires": [
[
"d842e3755d87c525"
],
[
"d842e3755d87c525"
]
],
"info": "# All Property have specfic value\n\nAll properties of an object must be true.\n\n`{\n \"Office\": true,\n \"Bedroom\": true,\n \"Living Room Balcony\": true,\n \"Living Room Right Window\": true,\n \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n \"Office\": true,\n \"Bedroom\": false,\n \"Living Room Balcony\": true,\n \"Living Room Right Window\": true,\n \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften haben einen speziellen Wert\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n \"Büro Balkon\": true,\n \"Schlafzimmer Balkon\": true,\n \"Wohnzimmer Balkon\": true,\n \"Wohnzimmer rechtes Fenster\": true,\n \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n \"Büro Balkon\": true,\n \"Schlafzimmer Balkon\": true,\n \"Wohnzimmer Balkon\": true,\n \"Wohnzimmer rechtes Fenster\": false,\n \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
},
{
"id": "560feab7.492ee4",
"type": "switch",
"z": "42e1e0df.44b9f",
"name": "OR?",
"property": "(\t $withOR := function($i, $j){$i or $j};\t $reduce(\t $each(\t payload,\t function($v) {$v}\t ),$withOR\t );\t)",
"propertyType": "jsonata",
"rules": [
{
"t": "true"
},
{
"t": "false"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 710,
"y": 1860,
"wires": [
[
"d40913fe9cf6f55b"
],
[
"d40913fe9cf6f55b"
]
],
"info": "# One Property has to be false\n\nOnly one property of an object needs to be false.\n\n`{\n \"Office\": false,\n \"Bedroom\": false,\n \"Living Room Balcony\": false,\n \"Liviueng Room Right Window\": false,\n \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n \"Office\": false,\n \"Bedroom\": true,\n \"Living Room Balcony\": false,\n \"Living Room Right Window\": false,\n \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft muss wahr sein\n\nMindestens eine Eigenschaft des Objektes müssen wahr sein.\n\n`{\n \"Büro Balkon\": false,\n \"Schlafzimmer Balkon\": false,\n \"Wohnzimmer Balkon\": false,\n \"Wohnzimmer rechtes Fenster\": false,\n \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n \"Büro Balkon\": false,\n \"Schlafzimmer Balkon\": true,\n \"Wohnzimmer Balkon\": false,\n \"Wohnzimmer rechtes Fenster\": false,\n \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
},
{
"id": "55624631.5d1df8",
"type": "change",
"z": "42e1e0df.44b9f",
"name": "AND ?",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "(\t $withAND := function($i, $j){$i and $j};\t $reduce(\t $each(\t payload,\t function($v) {$v}\t ),$withAND\t );\t)",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 710,
"y": 1800,
"wires": [
[
"b47710c09311d7b6"
]
]
},
{
"id": "e00ef3c6.e6aed",
"type": "change",
"z": "42e1e0df.44b9f",
"name": "OR ?",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "(\t $withOR := function($i, $j){$i or $j};\t $reduce(\t $each( payload, function($v) {$v} ),\t $withOR \t );\t )",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 710,
"y": 1920,
"wires": [
[
"cdc73ce8f6b961b2"
]
]
},
{
"id": "0b04ae667b347bb1",
"type": "inject",
"z": "42e1e0df.44b9f",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "2",
"payload": "true",
"payloadType": "bool",
"x": 410,
"y": 1900,
"wires": [
[
"19cc436e72b56a20"
]
]
},
{
"id": "8aec8eaf0feee7f9",
"type": "inject",
"z": "42e1e0df.44b9f",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "1",
"payload": "true",
"payloadType": "bool",
"x": 390,
"y": 1760,
"wires": [
[
"19cc436e72b56a20"
]
]
},
{
"id": "d842e3755d87c525",
"type": "debug",
"z": "42e1e0df.44b9f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 930,
"y": 1720,
"wires": []
},
{
"id": "d40913fe9cf6f55b",
"type": "debug",
"z": "42e1e0df.44b9f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 930,
"y": 1860,
"wires": []
},
{
"id": "b47710c09311d7b6",
"type": "debug",
"z": "42e1e0df.44b9f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 930,
"y": 1800,
"wires": []
},
{
"id": "cdc73ce8f6b961b2",
"type": "debug",
"z": "42e1e0df.44b9f",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 930,
"y": 1940,
"wires": []
},
{
"id": "19cc436e72b56a20",
"type": "join",
"z": "42e1e0df.44b9f",
"name": "",
"mode": "custom",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"accumulate": true,
"timeout": "",
"count": "2",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "",
"reduceFixup": "",
"x": 550,
"y": 1820,
"wires": [
[
"1b34ca2b.069996",
"55624631.5d1df8",
"560feab7.492ee4",
"e00ef3c6.e6aed"
]
]
}
]
Edit:
Hi, hatte noch ne alte Version der Switch bzw. der Change Nodes. Habe den Code aus diesem Post noch mal neu Importiert und damit funktioniert es jetzt. (Wenn man es richtig eingebunden hat)
NodesFehler2.jpg