[vz-users] Daten auf MQTT Topics verteilen

Frank Richter frank.richter83 at gmail.com
Mon Oct 8 01:09:15 CEST 2018


Und?

Frank Richter <frank.richter83 at gmail.com> schrieb am Mi., 3. Okt. 2018,
23:17:

> Hi Christian,
>
> probier's mal mit folgendem Code im Function-Node (nach uuidMap {}). Die
> bei dir vorgeschalteten JSON-Nodes fliegen raus, das ist nur sinnloses hin-
> und herkonvertieren zwischen JSON-String und JS-Object.
>
> var outputMsgs = [];
>
> // loop trough data array
> msg.payload.data.forEach(function(element) {
>     // Get UUID, timestamp and value
>     var myUuid = element.uuid;
>     var myValue = element.tuples[0][1];
>
>     if (uuidMap[myUuid] !== undefined) {
>         // Create output message
>         var myOutput = {};
>         myOutput.topic = uuidMap[myUuid]['topic'];
>         myOutput.payload = myValue;
>         outputMsgs.push(myOutput);
>     }
> });
>
> return [outputMsgs];
>
> Grüße
> Frank
>
> Am Di., 2. Okt. 2018 um 18:10 Uhr schrieb Christian Wulff <
> christianwulff at gmx.de>:
>
>> Moin Frank,
>>
>>
>>
>> die vier inject nodes sind vier aufeinander folgende Datensätze die der
>> /vzpush gesendet hat.
>>
>> Danach wiederholt sich das dann immer wieder mit ähnlichen Datensätzen.
>>
>> Die Datensätze sind (nach meinem Verständnis) leicht unterschiedlich
>> aufgebaut, weil 1 oder 2 oder z.B. 18 Kanäle darin enthalten sind.
>>
>> Dadurch wird (wenn ich mich jetzt richtig ausdrücke?!) das JSON Object
>> mit mehr oder weniger Zweigen strukturiert.
>>
>> Die vier Datensätze habe ich einfach zum Testen kopiert, damit ich sie
>> jederzeit antriggern kann.
>>
>> Mir hat jemand den Tipp gegeben, das mit einem Change Node und der darin
>> enthaltenen JSONata expression zu lösen. Das habe ich probiert. Inzwischen
>> ist auch das Abfangen einer nicht eingetragenen UUID gelöst. Soweit wie es
>> dort drin ist bin ich gekommen.
>>
>>
>>
>> Warum das gerade nicht funktioniert schau ich mir grad nochmal an,
>> wahrscheinlich beim hin und- her kopieren irgendwo ein Fehler eingebaut.
>> Funktioniert hatte es soweit.
>>
>> Zusätzlich als alternative Variante habe ich jetzt den Function Node
>> wieder hinzugefügt.
>>
>>
>>
>> Hier die überarbeitete Testsequenz:
>>
>>
>>
>> [{"id":"cf961e49.49d18","type":"debug","z":"44c69799.54d068","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":530,"y":880,"wires":[]},{"id":"4f9b4202.44a6f4","type":"change","z":"44c69799.54d068","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"(\t
>> $uuidMap := {\t       'xxxxxxxx-0001-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Strom/Haus',\t       'xxxxxxxx-0002-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Strom/WärmepumpeHaupttarif',\t
>> 'xxxxxxxx-0003-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Strom/WärmepumpeNebentarif',\t
>> 'xxxxxxxx-0004-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T01Aussen',\t
>> 'xxxxxxxx-0005-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T02Fortluft',\t
>> 'xxxxxxxx-0006-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T03Warmwasserspeicher',\t
>> 'xxxxxxxx-0007-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T04WarmwasserVorlauf',\t
>> 'xxxxxxxx-0008-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Temperatur/T05Bad',\t
>> 'xxxxxxxx-0009-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T06LeniRauchmelder',\t
>> 'xxxxxxxx-0010-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T07SchlafenWand',\t
>> 'xxxxxxxx-0011-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T08SchlafenRauchmelder',\t
>> 'xxxxxxxx-0012-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T09Spitzboden',\t
>> 'xxxxxxxx-0013-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T10BadTür',\t
>> 'xxxxxxxx-0014-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T11TemperaturServerBreadboard',\t
>> 'xxxxxxxx-0015-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/Haus/Temperatur/T12LeniTür',\t
>> 'xxxxxxxx-0016-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T13JoniRauchmelder',\t
>> 'xxxxxxxx-0017-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T14JoniTür',\t
>> 'xxxxxxxx-0018-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T15ZirkulationKüche',\t
>> 'xxxxxxxx-0019-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T16ZirkulationBad',\t
>> 'xxxxxxxx-0020-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T17HausVorlauf',\t
>> 'xxxxxxxx-0021-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T18HausRücklauf',\t
>> 'xxxxxxxx-0022-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T19KellerVorlauf',\t
>> 'xxxxxxxx-0023-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T20KellerRücklauf',\t
>> 'xxxxxxxx-0024-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Temperatur/T21ZuluftHaus',\t
>>      'xxxxxxxx-0025-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T22AbluftHaus',\t
>> 'xxxxxxxx-0026-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T23AbluftKeller',\t
>> 'xxxxxxxx-0027-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T24DieleRauchmelder',\t
>> 'xxxxxxxx-0028-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T25WohnzimmerRauchmelder',\t
>> 'xxxxxxxx-0029-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T26EssenRauchmelder',\t
>> 'xxxxxxxx-0030-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T27EssenTürRaumtemp',\t
>> 'xxxxxxxx-0031-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T28BüroRauchmelder',\t
>> 'xxxxxxxx-0032-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T29HobbyRauchmelder',\t
>> 'xxxxxxxx-0033-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T30FlurKellerRauchmelder',\t
>> 'xxxxxxxx-0034-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T31HWRRauchmelder',\t
>> 'xxxxxxxx-0035-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T32FlurobenRauchmelder',\t
>> 'xxxxxxxx-0036-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T33FlurobenWand',\t
>> 'xxxxxxxx-0037-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T34JoniZuluftmobilerESP_3',\t
>> 'xxxxxxxx-0038-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T35LeniZuluftmobilerESP_4',\t
>> 'xxxxxxxx-0039-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T36SchlafenZuluftmobilerESP_5',\t
>> 'xxxxxxxx-0040-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T37KellerabgangRauchmelder',\t
>> 'xxxxxxxx-0041-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T38Breadboard',\t
>> 'xxxxxxxx-0042-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T39BME280_07',\t
>> 'xxxxxxxx-0043-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T40BME280_08',\t
>> 'xxxxxxxx-0044-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T41BME280_01',\t
>> 'xxxxxxxx-0045-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T42BME280_02',\t
>> 'xxxxxxxx-0046-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T43BME280_03',\t
>> 'xxxxxxxx-0047-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T44BME280_04',\t
>> 'xxxxxxxx-0048-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T45BME280_05',\t
>> 'xxxxxxxx-0049-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T46BME280_06',\t
>> 'xxxxxxxx-0050-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Luftfeuchtigkeit/BME280_07',\t
>> 'xxxxxxxx-0051-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Luftfeuchtigkeit/BME280_08',\t
>>      'xxxxxxxx-0052-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Luftfeuchtigkeit/BME280_01',\t
>> 'xxxxxxxx-0053-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Luftfeuchtigkeit/BME280_02',\t
>> 'xxxxxxxx-0054-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Luftfeuchtigkeit/BME280_03',\t
>> 'xxxxxxxx-0055-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Luftfeuchtigkeit/BME280_04',\t
>> 'xxxxxxxx-0056-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Luftfeuchtigkeit/BME280_05',\t
>> 'xxxxxxxx-0057-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Luftfeuchtigkeit/BME280_06',\t
>> 'xxxxxxxx-0058-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Luftdruck/BME280_07',\t
>> 'xxxxxxxx-0059-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Luftdruck/BME280_08',\t
>> 'xxxxxxxx-0060-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Luftdruck/BME280_01',\t
>> 'xxxxxxxx-0061-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Luftdruck/BME280_02',\t
>> 'xxxxxxxx-0062-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Luftdruck/BME280_03',\t
>> 'xxxxxxxx-0063-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Luftdruck/BME280_04',\t
>> 'xxxxxxxx-0064-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Luftdruck/BME280_05',\t
>> 'xxxxxxxx-0065-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Luftdruck/BME280_06',\t
>> 'xxxxxxxx-0066-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/DrehzahlZuluft',\t
>> 'xxxxxxxx-0067-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/DrehzahlAbluft',\t
>> 'xxxxxxxx-0068-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/DrehzahlFortluft',\t
>> 'xxxxxxxx-0069-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Wasser/Meter' \t   \t
>> };\t   payload.data.(\t       $key := $lookup($uuidMap, uuid);\t
>> {\t           ($key? $key: \"unknown\"): tuples[0] \t       \t       }\t
>> \t
>> )\t\t)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":880,"wires":[["cf961e49.49d18","6111810d.c1a1d"]]},{"id":"9da8917b.d2f6d","type":"debug","z":"44c69799.54d068","name":"","active":false,"tosidebar":true,"console":false,"complete":"payload","x":330,"y":660,"wires":[]},{"id":"4ba5f0b7.85044","type":"inject","z":"44c69799.54d068","name":"1
>> from
>> /vzpush","topic":"","payload":"{\"data\":[{\"uuid\":\"xxxxxxxx-0001-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425885138,13924.9]]}]}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":660,"wires":[["9da8917b.d2f6d","4f9b4202.44a6f4","f68bfb1e.a795c"]]},{"id":"6c6f7971.06ff","type":"inject","z":"44c69799.54d068","name":"2
>> from
>> /vzpush","topic":"","payload":"{\"data\":[{\"uuid\":\"xxxxxxxx-0004-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425891985,7.25]]}]}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":700,"wires":[["4f9b4202.44a6f4","cc9e1672.681e48","95b37d53.c33588"]]},{"id":"fefc81e5.8d139","type":"inject","z":"44c69799.54d068","name":"3
>> from
>> /vzpush","topic":"","payload":"{\"data\":[{\"uuid\":\"xxxxxxxx-0034-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425899278,20.062]]},{\"uuid\":\"xxxxxxxx-0033-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425900088,19.625]]},{\"uuid\":\"xxxxxxxx-0026-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425886648,20.5]]},{\"uuid\":\"xxxxxxxx-0025-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425893608,21.25]]},{\"uuid\":\"xxxxxxxx-0024-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425896039,18.875]]},{\"uuid\":\"xxxxxxxx-0006-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425889078,46.937]]},{\"uuid\":\"xxxxxxxx-0032-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425887458,19.562]]},{\"uuid\":\"xxxxxxxx-0014-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425885838,20.312]]},{\"uuid\":\"xxxxxxxx-0023-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425890698,19.5]]},{\"uuid\":\"xxxxxxxx-0005-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425896848,9.937]]},{\"uuid\":\"xxxxxxxx-0008-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425885028,21.437]]},{\"uuid\":\"xxxxxxxx-0031-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425897659,20.187]]},{\"uuid\":\"xxxxxxxx-0022-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425894418,20.812]]},{\"uuid\":\"xxxxxxxx-0007-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425889888,39.375]]},{\"uuid\":\"xxxxxxxx-0018-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425895228,29.687]]},{\"uuid\":\"xxxxxxxx-0019-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425888268,29.5]]},{\"uuid\":\"xxxxxxxx-0020-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425892798,20.812]]},{\"uuid\":\"xxxxxxxx-0021-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425898468,21.375]]}]}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":740,"wires":[["4f9b4202.44a6f4","8efc19ee.4692d8","af4a18f8.020c4"]]},{"id":"db1fdebf.b479b8","type":"inject","z":"44c69799.54d068","name":"4
>> from
>> /vzpush","topic":"","payload":"{\"data\":[{\"uuid\":\"xxxxxxxx-0003-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425943890,12330.1]]},{\"uuid\":\"xxxxxxxx-0002-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538425943080,13704.1]]}]}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":780,"wires":[["4f9b4202.44a6f4","8ac8e7a6.d8fc8","a80474e5.7aaf68"]]},{"id":"cc9e1672.681e48","type":"debug","z":"44c69799.54d068","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":330,"y":700,"wires":[]},{"id":"8efc19ee.4692d8","type":"debug","z":"44c69799.54d068","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":330,"y":740,"wires":[]},{"id":"8ac8e7a6.d8fc8","type":"debug","z":"44c69799.54d068","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":330,"y":780,"wires":[]},{"id":"6111810d.c1a1d","type":"split","z":"44c69799.54d068","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":510,"y":920,"wires":[["3173493c.e862f6","f4e53fe3.30269"]]},{"id":"3173493c.e862f6","type":"debug","z":"44c69799.54d068","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":670,"y":920,"wires":[]},{"id":"f4e53fe3.30269","type":"json","z":"44c69799.54d068","name":"","property":"payload","action":"","pretty":false,"x":650,"y":960,"wires":[["5a450f72.c8fd9"]]},{"id":"5a450f72.c8fd9","type":"debug","z":"44c69799.54d068","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":810,"y":960,"wires":[]},{"id":"df3c8bb2.0628f8","type":"function","z":"44c69799.54d068","name":"Format
>> payload for MQTT only value","func":"var uuidMap = {\n
>> 'xxxxxxxx-0001-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Strom/Haus'},\n
>> 'xxxxxxxx-0002-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Strom/WärmepumpeHaupttarif'},\n
>> 'xxxxxxxx-0003-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Strom/WärmepumpeNebentarif'},\n
>> 'xxxxxxxx-0004-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T01Aussen'},\n
>> 'xxxxxxxx-0005-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T02Fortluft'},\n
>> 'xxxxxxxx-0006-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/T03Warmwasserspeicher'},\n
>> 'xxxxxxxx-0007-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/T04WarmwasserVorlauf'},\n
>> 'xxxxxxxx-0008-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T05Bad'},\n
>> 'xxxxxxxx-0009-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T06LeniRauchmelder'},\n
>> 'xxxxxxxx-0010-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T07SchlafenWand'},\n
>> 'xxxxxxxx-0011-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T08SchlafenRauchmelder'},\n
>> 'xxxxxxxx-0012-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T09Spitzboden'},\n
>>   'xxxxxxxx-0013-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T10BadTür'},\n
>> 'xxxxxxxx-0014-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T11TemperaturServerBreadboard'},\n
>> 'xxxxxxxx-0015-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/Haus/Temperatur/T12LeniTür'},\n
>> 'xxxxxxxx-0016-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T13JoniRauchmelder'},\n
>> 'xxxxxxxx-0017-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T14JoniTür'},\n
>> 'xxxxxxxx-0018-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/T15ZirkulationKüche'},\n
>> 'xxxxxxxx-0019-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/T16ZirkulationBad'},\n
>> 'xxxxxxxx-0020-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/T17HausVorlauf'},\n
>> 'xxxxxxxx-0021-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/T18HausRücklauf'},\n
>> 'xxxxxxxx-0022-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/T19KellerVorlauf'},\n
>> 'xxxxxxxx-0023-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/T20KellerRücklauf'},\n
>> 'xxxxxxxx-0024-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T21ZuluftHaus'},\n
>> 'xxxxxxxx-0025-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T22AbluftHaus'},\n
>> 'xxxxxxxx-0026-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T23AbluftKeller'},\n
>> 'xxxxxxxx-0027-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T24DieleRauchmelder'},\n
>> 'xxxxxxxx-0028-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T25WohnzimmerRauchmelder'},\n
>> 'xxxxxxxx-0029-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T26EssenRauchmelder'},\n
>> 'xxxxxxxx-0030-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T27EssenTürRaumtemp'},\n
>> 'xxxxxxxx-0031-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T28BüroRauchmelder'},\n
>> 'xxxxxxxx-0032-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T29HobbyRauchmelder'},\n
>> 'xxxxxxxx-0033-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T30FlurKellerRauchmelder'},\n
>> 'xxxxxxxx-0034-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T31HWRRauchmelder'},\n
>> 'xxxxxxxx-0035-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T32FlurobenRauchmelder'},\n
>> 'xxxxxxxx-0036-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T33FlurobenWand'},\n
>> 'xxxxxxxx-0037-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T34JoniZuluftmobilerESP_3'},\n
>> 'xxxxxxxx-0038-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T35LeniZuluftmobilerESP_4'},\n
>> 'xxxxxxxx-0039-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T36SchlafenZuluftmobilerESP_5'},\n
>> 'xxxxxxxx-0040-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T37KellerabgangRauchmelder'},\n
>> 'xxxxxxxx-0041-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T38Breadboard'},\n
>> 'xxxxxxxx-0042-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T39BME280_07'},\n
>> 'xxxxxxxx-0043-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T40BME280_08'},\n
>> 'xxxxxxxx-0044-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T41BME280_01'},\n
>> 'xxxxxxxx-0045-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T42BME280_02'},\n
>> 'xxxxxxxx-0046-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T43BME280_03'},\n
>> 'xxxxxxxx-0047-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T44BME280_04'},\n
>> 'xxxxxxxx-0048-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T45BME280_05'},\n
>> 'xxxxxxxx-0049-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Temperatur/T46BME280_06'},\n
>> 'xxxxxxxx-0050-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftfeuchtigkeit/BME280_07'},\n
>> 'xxxxxxxx-0051-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftfeuchtigkeit/BME280_08'},\n
>> 'xxxxxxxx-0052-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftfeuchtigkeit/BME280_01'},\n
>> 'xxxxxxxx-0053-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftfeuchtigkeit/BME280_02'},\n
>> 'xxxxxxxx-0054-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftfeuchtigkeit/BME280_03'},\n
>> 'xxxxxxxx-0055-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftfeuchtigkeit/BME280_04'},\n
>> 'xxxxxxxx-0056-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftfeuchtigkeit/BME280_05'},\n
>> 'xxxxxxxx-0057-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftfeuchtigkeit/BME280_06'},\n
>> 'xxxxxxxx-0058-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftdruck/BME280_07'},\n
>> 'xxxxxxxx-0059-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftdruck/BME280_08'},\n
>> 'xxxxxxxx-0060-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftdruck/BME280_01'},\n
>> 'xxxxxxxx-0061-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftdruck/BME280_02'},\n
>> 'xxxxxxxx-0062-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftdruck/BME280_03'},\n
>> 'xxxxxxxx-0063-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftdruck/BME280_04'},\n
>> 'xxxxxxxx-0064-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftdruck/BME280_05'},\n
>> 'xxxxxxxx-0065-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Luftdruck/BME280_06'},\n
>> 'xxxxxxxx-0066-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/DrehzahlZuluft'},\n
>>       'xxxxxxxx-0067-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/DrehzahlAbluft'},\n
>> 'xxxxxxxx-0068-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Heizung/DrehzahlFortluft'},\n
>> 'xxxxxxxx-0069-xxxx-xxxx-xxxxxxxxxxxx':{topic:'Haus/Wasser/Meter'}\n\t};
>> \n\n// Parse JSON\nvar myJsonObj = [];\nvar myJsonObj =
>> JSON.parse(msg.payload);\n\n// Get UUID, timestamp and value\nvar myUuid =
>> myJsonObj.data[0].uuid;\nvar myTimestamp =
>> myJsonObj.data[0].tuples[0][0];\nvar myValue =
>> myJsonObj.data[0].tuples[0][1];\n\nif (uuidMap[myUuid] !== undefined) {\n
>> // Create output payload\n  var myOutput = {};\n  myOutput.topic =
>> uuidMap[myUuid]['topic'];\n  myOutput.payload = myValue;\n  return
>> myOutput;\n}","outputs":1,"noerr":0,"x":570,"y":1120,"wires":[["b60a6e1e.3e5868"]]},{"id":"b60a6e1e.3e5868","type":"debug","z":"44c69799.54d068","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":830,"y":1120,"wires":[]},{"id":"f68bfb1e.a795c","type":"json","z":"44c69799.54d068","name":"","property":"payload","action":"","pretty":false,"x":310,"y":1060,"wires":[["df3c8bb2.0628f8"]]},{"id":"95b37d53.c33588","type":"json","z":"44c69799.54d068","name":"","property":"payload","action":"","pretty":false,"x":310,"y":1100,"wires":[["df3c8bb2.0628f8"]]},{"id":"af4a18f8.020c4","type":"json","z":"44c69799.54d068","name":"","property":"payload","action":"","pretty":false,"x":310,"y":1140,"wires":[["df3c8bb2.0628f8"]]},{"id":"a80474e5.7aaf68","type":"json","z":"44c69799.54d068","name":"","property":"payload","action":"","pretty":false,"x":310,"y":1180,"wires":[["df3c8bb2.0628f8"]]},{"id":"6cf9515c.8336d8","type":"comment","z":"44c69799.54d068","name":"Lösung
>> mit function
>> node:","info":"","x":370,"y":1020,"wires":[]},{"id":"29c2d21c.cae516","type":"comment","z":"44c69799.54d068","name":"Lösung
>> mit change node:","info":"","x":370,"y":840,"wires":[]}]
>>
>>
>>
>>
>>
>> Es bleibt jetzt noch die Fragestellung:
>>
>> 1. Wie krieg ich das so aufgeteilt, dass dabei für jedes Topic eine
>> eigene Message mit folgendem Format erzeugt wird:
>> {"topic":"Haus/Heizung/T18HausRücklauf","payload":21.062,"_msgid":"c6a81ec4.8f35f"}
>> ?
>> (ich brauche nur “topic” und “payload”, die _msgid brauche ich nicht)
>>
>> Lieben Dank und liebe Grüße,
>> Chris
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *Von:* Frank Richter [mailto:frank.richter83 at gmail.com]
>> *Gesendet:* Dienstag, 2. Oktober 2018 12:48
>> *An:* volkszaehler.org - users
>> *Betreff:* Re: [vz-users] Daten auf MQTT Topics verteilen
>>
>>
>>
>> Hi Chiristian,
>>
>>
>>
>> folgende Fragen/Anmerkungen:
>>
>>
>>
>> * Worin unterscheiden sich die 4 Inject-Nodes?
>>
>> * Warum benutzt du den Change-Node? Mehr als ein "undefined" kommt da
>> nicht raus.
>>
>> * Ich vermisse den Function-Node mit dem bisherigen Code, der zumindest
>> das erste Array-Element auswertet.
>>
>>
>>
>> Grüße
>>
>> Frank
>>
>>
>>
>> Am Di., 2. Okt. 2018 um 10:07 Uhr schrieb Christian Wulff <
>> christianwulff at gmx.de>:
>>
>> Hallo Frank,
>>
>>
>>
>> das wäre wirklich sehr lieb, wenn du mir dabei nochmal helfen könntest.
>>
>> Ich hab mich ne ganze Weile damit beschäftigt, aber leider noch keine gut
>> funktionierende Lösung gefunden.
>>
>>
>>
>> Hier ist eine Testsequenz mit Testdaten, die aus dem /vzpush rauskommen:
>>
>>
>>
>> [{"id":"58b4a1f0.38211","type":"debug","z":"aac14499.e7214","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":510,"y":1240,"wires":[]},{"id":"2d338874.d09c9","type":"change","z":"aac14499.e7214","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"(\t
>> $uuidMap := {\t    'xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Strom/Haus',\t    'xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Strom/WärmepumpeHaupttarif',\t
>> 'xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Strom/WärmepumpeNebentarif',\t
>> 'xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Temperatur/T01Aussen',\t
>> 'xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Temperatur/T02Fortluft',\t
>> 'xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T03Warmwasserspeicher',\t
>> 'xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Heizung/T04WarmwasserVorlauf',\t
>> 'xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Temperatur/T05Bad',\t
>> 'xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T06LeniRauchmelder',\t
>> 'xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T07SchlafenWand',\t
>> 'xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx':
>> 'Haus/Temperatur/T08SchlafenRauchmelder',\t
>> 'xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx': 'Haus/Temperatur/T12LeniTür'\t
>> };\t\t  payload.data.{\t    $lookup($uuidMap, uuid): tuples[0]\t
>> }\t)\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":1240,"wires":[["58b4a1f0.38211"]]},{"id":"a13bb1ff.e694e","type":"debug","z":"aac14499.e7214","name":"","active":false,"tosidebar":true,"console":false,"complete":"payload","x":310,"y":1080,"wires":[]},{"id":"2b063ddf.a29fb2","type":"inject","z":"aac14499.e7214","name":"from
>> /vzpush","topic":"","payload":"{\"_msgid\":\"91a80fdc.ad383\",\"payload\":{\"data\":[{\"uuid\":\"xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292008,20.187]]},{\"uuid\":\"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292818,19.75]]},{\"uuid\":\"xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380279628,20.562]]},{\"uuid\":\"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286108,21.125]]},{\"uuid\":\"xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380288744,19.437]]},{\"uuid\":\"xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282058,46.937]]},{\"uuid\":\"xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380280438,19.625]]},{\"uuid\":\"xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380278798,20.437]]},{\"uuid\":\"xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380283678,19.625]]},{\"uuid\":\"xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380289573,12.125]]},{\"uuid\":\"xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380277983,21.562]]},{\"uuid\":\"xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380290388,20.187]]},{\"uuid\":\"xxxxxxxx-cccc-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286917,20.687]]},{\"uuid\":\"xxxxxxxx-dddd-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[153838028286
>> 8,39.5]]},{\"uuid\":\"xxxxxxxx-eeee-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380287728,31.125]]},{\"uuid\":\"xxxxxxxx-ffff-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380281248,30.875]]},{\"uuid\":\"xxxxxxxx-gggg-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380285298,20.687]]},{\"uuid\":\"xxxxxxxx-hhhh-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380291198,21.187]]}]},\"req\":{\"_readableState\":{\"objectMode\":false,\"highWaterMark\":16384,\"buffer\":{\"head\":null,\"tail\":null,\"length\":0},\"length\":0,\"pipes\":null,\"pipesCount\":0,\"flowing\":true,\"ended\":true,\"endEmitted\":true,\"reading\":false,\"sync\":false,\"needReadable\":false,\"emittedReadable\":false,\"readableListening\":false,\"resumeScheduled\":false,\"destroyed\":false,\"defaultEncoding\":\"utf8\",\"awaitDrain\":0,\"readingMore\":false,\"decoder\":null,\"encoding\":null},\"readable\":false,\"domain\":null,\"_events\":{},\"_eventsCount\":0,\"socket\":\"[internal]\",\"connection\":\"[internal]\",\"httpVersionMajor\":1,\"httpVersionMinor\":1,\"httpVersion\":\"1.1\",\"complete\":true,\"headers\":{\"host\":\"
>> 127.0.0.1:1880\",\"content-type\":\"application/json\",\"accept\":\"application/json\",\"user-agent\":\"vzlogger/0.6.0
>> (libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3
>> librtmp/2.3)\",\"content-length\":\"1805\",\"expect\":\"100-continue\"},\"rawHeaders\":[\"Host\",\"
>> 127.0.0.1:1880\",\"Content-type\",\"application/json\",\"Accept\",\"application/json\",\"User-Agent\",\"vzlogger/0.6.0
>> (libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3
>> librtmp/2.3)\",\"Content-Length\",\"1805\",\"Expect\",\"100-continue\"],\"trailers\":{},\"rawTrailers\":[],\"upgrade\":false,\"url\":\"/vzpush\",\"method\":\"POST\",\"statusCode\":null,\"statusMessage\":null,\"client\":\"[internal]\",\"_consuming\":true,\"_dumped\":false,\"baseUrl\":\"\",\"originalUrl\":\"/vzpush\",\"_parsedUrl\":{\"protocol\":null,\"slashes\":null,\"auth\":null,\"host\":null,\"port\":null,\"hostname\":null,\"hash\":null,\"search\":null,\"query\":null,\"pathname\":\"/vzpush\",\"path\":\"/vzpush\",\"href\":\"/vzpush\",\"_raw\":\"/vzpush\"},\"params\":{},\"query\":{},\"res\":\"[internal]\",\"body\":{\"data\":[{\"uuid\":\"xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292008,20.187]]},{\"uuid\":\"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292818,19.75]]},{\"uuid\":\"xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380279628,20.562]]},{\"uuid\":\"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286108,21.125]]},{\"uuid\":\"xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380288744,19.437]]},{\"uuid\":\"xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282058,46.937]]},{\"uuid\":\"xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380280438,19.625]]},{\"uuid\":\"xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380278798,20.437]]},{\"uuid\":\"xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380283678,19.625]]},{\"uuid\":\"xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380289573,12.125]]},{\"uuid\":\"xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380277983,21.562]]},{\"uuid\":\"xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380290388,20.187]]},{\"uuid\":\"xxxxxxxx-cccc-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286917,20.687]]},{\"uuid\":\"xxxxxxxx-dddd-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282868,39.5]]},{\"uuid\":\"xxxxxxxx-eeee-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380287728,31.125]]},{\"uuid\":\"xxxxxxxx-ffff-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380281248,30.875]]},{\"uuid\":\"xxxxxxxx-gggg-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380285298,20.687]]},{\"uuid\":\"xxxxxxxx-hhhh-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380291198,21.187]]}]},\"_body\":true,\"_passport\":{\"instance\":{\"_key\":\"passport\",\"_strategies\":{\"session\":{\"name\":\"session\"},\"bearer\":{\"name\":\"bearer\",\"_realm\":\"Users\"},\"oauth2-client-password\":{\"name\":\"oauth2-client-password\"},\"anon\":{\"name\":\"anon\"}},\"_serializers\":[],\"_deserializers\":[],\"_infoTransformers\":[],\"_framework\":{},\"_userProperty\":\"user\",\"_sm\":{\"_key\":\"passport\"},\"strategies\":{}}},\"route\":{\"path\":\"/vzpush\",\"stack\":[{\"name\":\"cookieParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"httpMiddleware\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"corsHandler\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"metricsHandler\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"jsonParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"urlencodedParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"multipartParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"rawBodyParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"<anonymous>\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"<anonymous>\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"}],\"methods\":{\"post\":true}},\"cookies\":{},\"signedCookies\":{}},\"res\":{\"_res\":\"[internal]\"}}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1080,"wires":[["a13bb1ff.e694e","2d338874.d09c9"]]},{"id":"d9cc42a5.c5641","type":"inject","z":"aac14499.e7214","name":"from
>> /vzpush","topic":"","payload":"{\"_msgid\":\"91a80fdc.ad383\",\"payload\":{\"data\":[{\"uuid\":\"xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292008,20.187]]},{\"uuid\":\"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292818,19.75]]},{\"uuid\":\"xxxxxxxx-2222-xxxx
>> -xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380279628,20.562]]},{\"uuid\":\"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286108,21.125]]},{\"uuid\":\"xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380288744,19.437]]},{\"uuid\":\"xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282058,46.937]]},{\"uuid\":\"xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380280438,19.625]]},{\"uuid\":\"xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380278798,20.437]]},{\"uuid\":\"xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380283678,19.625]]},{\"uuid\":\"xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380289573,12.125]]},{\"uuid\":\"xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380277983,21.562]]},{\"uuid\":\"xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380290388,20.187]]},{\"uuid\":\"xxxxxxxx-cccc-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286917,20.687]]},{\"uuid\":\"xxxxxxxx-dddd-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282868,39.5]]},{\"uuid\":\"xxxxxxxx-eeee-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380287728,31.125]]},{\"uuid\":\"xxxxxxxx-ffff-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380281248,30.875]]},{\"uuid\":\"xxxxxxxx-gggg-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380285298,20.687]]},{\"uuid\":\"xxxxxxxx-hhhh-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380291198,21.187]]}]},\"req\":{\"_readableState\":{\"objectMode\":false,\"highWaterMark\":16384,\"buffer\":{\"head\":null,\"tail\":null,\"length\":0},\"length\":0,\"pipes\":null,\"pipesCount\":0,\"flowing\":true,\"ended\":true,\"endEmitted\":true,\"reading\":false,\"sync\":false,\"needReadable\":false,\"emittedReadable\":false,\"readableListening\":false,\"resumeScheduled\":false,\"destroyed\":false,\"defaultEncoding\":\"utf8\",\"awaitDrain\":0,\"readingMore\":false,\"decoder\":null,\"encoding\":null},\"readable\":false,\"domain\":null,\"_events\":{},\"_eventsCount\":0,\"socket\":\"[internal]\",\"connection\":\"[internal]\",\"httpVersionMajor\":1,\"httpVersionMinor\":1,\"httpVersion\":\"1.1\",\"complete\":true,\"headers\":{\"host\":\"
>> 127.0.0.1:1880\",\"content-type\":\"application/json\",\"accept\":\"application/json\",\"user-agent\":\"vzlogger/0.6.0
>> (libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3
>> librtmp/2.3)\",\"content-length\":\"1805\",\"expect\":\"100-continue\"},\"rawHeaders\":[\"Host\",\"
>> 127.0.0.1:1880\",\"Content-type\",\"application/json\",\"Accept\",\"application/json\",\"User-Agent\",\"vzlogger/0.6.0
>> (libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3
>> librtmp/2.3)\",\"Content-Length\",\"1805\",\"Expect\",\"100-continue\"],\"trailers\":{},\"rawTrailers\":[],\"upgrade\":false,\"url\":\"/vzpush\",\"method\":\"POST\",\"statusCode\":null,\"statusMessage\":null,\"client\":\"[internal]\",\"_consuming\":true,\"_dumped\":false,\"baseUrl\":\"\",\"originalUrl\":\"/vzpush\",\"_parsedUrl\":{\"protocol\":null,\"slashes\":null,\"auth\":null,\"host\":null,\"port\":null,\"hostname\":null,\"hash\":null,\"search\":null,\"query\":null,\"pathname\":\"/vzpush\",\"path\":\"/vzpush\",\"href\":\"/vzpush\",\"_raw\":\"/vzpush\"},\"params\":{},\"query\":{},\"res\":\"[internal]\",\"body\":{\"data\":[{\"uuid\":\"xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292008,20.187]]},{\"uuid\":\"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292818,19.75]]},{\"uuid\":\"xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380279628,20.562]]},{\"uuid\":\"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286108,21.125]]},{\"uuid\":\"xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380288744,19.437]]},{\"uuid\":\"xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282058,46.937]]},{\"uuid\":\"xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380280438,19.625]]},{\"uuid\":\"xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380278798,20.437]]},{\"uuid\":\"xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380283678,19.625]]},{\"uuid\":\"xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380289573,12.125]]},{\"uuid\":\"xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380277983,21.562]]},{\"uuid\":\"xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380290388,20.187]]},{\"uuid\":\"xxxxxxxx-cccc-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286917,20.687]]},{\"uuid\":\"xxxxxxxx-dddd-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282868,39.5]]},{\"uuid\":\"xxxxxxxx-eeee-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380287728,31.125]]},{\"uuid\":\"xxxxxxxx-ffff-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380281248,30.875]]},{\"uuid\":\"xxxxxxxx-gggg-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380285298,20.687]]},{\"uuid\":\"xxxxxxxx-hhhh-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380291198,21.187]]}]},\"_body\":true,\"_passport\":{\"instance\":{\"_key\":\"passport\",\"_strategies\":{\"session\":{\"name\":\"session\"},\"bearer\":{\"name\":\"bearer\",\"_realm\":\"Users\"},\"oauth2-client-password\":{\"name\":\"oauth2-client-password\"},\"anon\":{\"name\":\"anon\"}},\"_serializers\":[],\"_deserializers\":[],\"_infoTransformers\":[],\"_framework\":{},\"_userProperty\":\"user\",\"_sm\":{\"_key\":\"passport\"},\"strategies\":{}}},\"route\":{\"path\":\"/vzpush\",\"stack\":[{\"name\":\"cookieParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"httpMiddleware\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"corsHandler\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"metricsHandler\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"jsonParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"urlencodedParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"multipartParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"rawBodyParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"<anonymous>\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"<anonymous>\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"}],\"methods\":{\"post\":true}},\"cookies\":{},\"signedCookies\":{}},\"res\":{\"_res\":\"[internal]\"}}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1120,"wires":[["2d338874.d09c9","f36a2088.552a6"]]},{"id":"3b1859e2.775fbe","type":"inject","z":"aac14499.e7214","name":"from
>> /vzpush","topic":"","payload":"{\"_msgid\":\"91a80fdc.ad383\",\"payload\":{\"data\":[{\"uuid\":\"xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292008,20.187]]},{\"uuid\":\"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292818,19.75]]},{\"uuid\":\"xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380279628,20.562]]},{\"uuid\":\"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286108,21.125]]},{\"uuid\":\"xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380288744,19.437]]},{\"uuid\":\"xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282058,46.937]]},{\"uuid\":\"xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380280438,19.625]]},{\"uuid\":\"xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380278798,20.437]]},{\"uuid\":\"xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380283678,19.625]]},{\"uuid\":\"xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380289573,12.125]]},{\"uuid\":\"xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380277983,21.562]]},{\"uuid\":\"xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380290388,20.187]]},{\"uuid\":\"xxxxxxxx-cccc-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286917,20.687]]},{\"uuid\":\"xxxxxxxx-dddd-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282868,39.5]]},{\"uuid\":\"xxxxxxxx-eeee-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380287728,31.125]]},{\"uuid\":\"xxxxxxxx-ffff-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380281248,30.875]]},{\"uuid\":\"xxxxxxxx-gggg-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380285298,20.687]]},{\"uuid\":\"xxxxxxxx-hhhh-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380291198,21.187]]}]},\"req\":{\"_readableState\":{\"objectMode\":false,\"highWaterMark\":16384,\"buffer\":{\"head\":null,\"tail\":null,\"length\":0},\"length\":0,\"pipes\":null,\"pipesCount\":0,\"flowing\":true,\"ended\":true,\"endEmitted\":true,\"reading\":false,\"sync\":false,\"needReadable\":false,\"emittedReadable\":false,\"readableListening\":false,\"resumeScheduled\":false,\"destroyed\":false,\"defaultEncoding\":\"utf8\",\"awaitDrain\":0,\"readingMore\":false,\"decoder\":null,\"encoding\":null},\"readable\":false,\"domain\":null,\"_events\":{},\"_eventsCount\":0,\"socket\":\"[internal]\",\"connection\":\"[internal]\",\"httpVersionMajor\":1,\"httpVersionMinor\":1,\"httpVersion\":\"1.1\",\"complete\":true,\"headers\":{\"host\":\"
>> 127.0.0.1:1880\",\"content-type\":\"application/json\",\"accept\":\"application/json\",\"user-agent\":\"vzlogger/0.6.0
>> (libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3
>> librtmp/2.3)\",\"content-length\":\"1805\",\"expect\":\"100-continue\"},\"rawHeaders\":[\"Host\",\"
>> 127.0.0.1:1880\",\"Content-type\",\"application/json\",\"Accept\",\"application/json\",\"User-Agent\",\"vzlogger/0.6.0
>> (libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3
>> librtmp/2.3)\",\"Content-Length\",\"1805\",\"Expect\",\"100-continue\"],\"trailers\":{},\"rawTrailers\":[],\"upgrade\":false,\"url\":\"/vzpush\",\"method\":\"POST\",\"statusCode\":null,\"statusMessage\":null,\"client\":\"[internal]\",\"_consuming\":true,\"_dumped\":false,\"baseUrl\":\"\",\"originalUrl\":\"/vzpush\",\"_parsedUrl\":{\"protocol\":null,\"slashes\":null,\"auth\":null,\"host\":null,\"port\":null,\"hostname\":null,\"hash\":null,\"search\":null,\"query\":null,\"pathname\":\"/vzpush\",\"path\":\"/vzpush\",\"href\":\"/vzpush\",\"_raw\":\"/vzpush\"},\"params\":{},\"query\":{},\"res\":\"[internal]\",\"body\":{\"data\":[{\"uuid\":\"xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292008,20.187]]},{\"uuid\":\"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292818,19.75]]},{\"uuid\":\"xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380279628,20.562]]},{\"uuid\":\"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286108,21.125]]},{\"uuid\":\"xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380288744,19.437]]},{\"uuid\":\"xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282058,46.937]]},{\"uuid\":\"xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380280438,19.625]]},{\"uuid\":\"xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380278798,20.437]]},{\"uuid\":\"xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380283678,19.625]]},{\"uuid\":\"xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380289573,12.125]]},{\"uuid\":\"xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380277983,21.562]]},{\"uuid\":\"xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380290388,20.187]]},{\"uuid\":\"xxxxxxxx-cccc-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286917,20.687]]},{\"uuid\":\"xxxxxxxx-dddd-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282868,39.5]]},{\"uuid\":\"xxxxxxxx-eeee-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380287728,31.125]]},{\"uuid\":\"xxxxxxxx-ffff-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380281248,30.875]]},{\"uuid\":\"xxxxxxxx-gggg-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380285298,20.687]]},{\"uuid\":\"xxxxxxxx-hhhh-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380291198,21.187]]}]},\"_body\":true,\"_passport\":{\"instance\":{\"_key\":\"passport\",\"_strategies\":{\"session\":{\"name\":\"session\"},\"bearer\":{\"name\":\"bearer\",\"_realm\":\"Users\"},\"oauth2-client-password\":{\"name\":\"oauth2-client-password\"},\"anon\":{\"name\":\"anon\"}},\"_serializers\":[],\"_deserializers\":[],\"_infoTransformers\":[],\"_framework\":{},\"_userProperty\":\"user\",\"_sm\":{\"_key\":\"passport\"},\"strategies\":{}}},\"route\":{\"path\":\"/vzpush\",\"stack\":[{\"name\":\"cookieParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"httpMiddleware\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"corsHandler\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"metricsHandler\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"jsonParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"urlencodedParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"multipartParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"rawBodyParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"<anonymous>\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"<anonymous>\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"}],\"methods\":{\"post\":true}},\"cookies\":{},\"signedCookies\":{}},\"res\":{\"_res\":\"[internal]\"}}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1160,"wires":[["2d338874.d09c9","9c257f3b.8a2458"]]},{"id":"7f272f2.f6c83d","type":"inject","z":"aac14499.e7214","name":"from
>> /vzpush","topic":"","payload":"{\"_msgid\":\"91a80fdc.ad383\",\"payload\":{\"data\":[{\"uuid\":\"xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292008,20.187]]},{\"uuid\":\"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292818,19.75]]},{\"uuid\":\"xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380279628,20.562]]},{\"uuid\":\"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286108,21.125]]},{\"uuid\":\"xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380288744,19.437]]},{\"uuid\":\"xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282058,46.937]]},{\"uuid\":\"xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380280438,19.625]]},{\"uuid\":\"xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380278798,20.437]]},{\"uuid\":\"xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380283678,19.625]]},{\"uuid\":\"xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380289573,12.125]]},{\"uuid\":\"xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380277983,21.562]]},{\"uuid\":\"xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380290388,20.187]]},{\"uuid\":\"xxxxxxxx-cccc-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286917,20.687]]},{\"uuid\":\"xxxxxxxx-dddd-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282868,39.5]]},{\"uuid\":\"xxxxxxxx-eeee-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380287728,31.125]]},{\"uuid\":\"xxxxxxxx-ffff-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380281248,30.875]]},{\"uuid\":\"xxxxxxxx-gggg-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380285298,20.687]]},{\"uuid\":\"xxxxxxxx-hhhh-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380291198,21.187]]}]},\"req\":{\"_readableState\":{\"objectMode\":false,\"highWaterMark\":16384,\"buffer\":{\"head\":null,\"tail\":null,\"length\":0},\"length\":0,\"pipes\":null,\"pipesCount\":0,\"flowing\":true,\"ended\":true,\"endEmitted\":true,\"reading\":false,\"sync\":false,\"needReadable\":false,\"emittedReadable\":false,\"readableListening\":false,\"resumeScheduled\":false,\"destroyed\":false,\"defaultEncoding\":\"utf8\",\"awaitDrain\":0,\"readingMore\":false,\"decoder\":null,\"encoding\":null},\"readable\":false,\"domain\":null,\"_events\":{},\"_eventsCount\":0,\"socket\":\"[internal]\",\"connection\":\"[internal]\",\"httpVersionMajor\":1,\"httpVersionMinor\":1,\"httpVersion\":\"1.1\",\"complete\":true,\"headers\":{\"host\":\"
>> 127.0.0.1:1880\",\"content-type\":\"application/json\",\"accept\":\"application/json\",\"user-agent\":\"vzlogger/0.6.0
>> (libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3
>> librtmp/2.3)\",\"content-length\":\"1805\",\"expect\":\"100-continue\"},\"rawHeaders\":[\"Host\",\"
>> 127.0.0.1:1880\",\"Content-type\",\"application/json\",\"Accept\",\"application/json\",\"User-Agent\",\"vzlogger/0.6.0
>> (libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3
>> librtmp/2.3)\",\"Content-Length\",\"1805\",\"Expect\",\"100-continue\"],\"trailers\":{},\"rawTrailers\":[],\"upgrade\":false,\"url\":\"/vzpush\",\"method\":\"POST\",\"statusCode\":null,\"statusMessage\":null,\"client\":\"[internal]\",\"_consuming\":true,\"_dumped\":false,\"baseUrl\":\"\",\"originalUrl\":\"/vzpush\",\"_parsedUrl\":{\"protocol\":null,\"slashes\":null,\"auth\":null,\"host\":null,\"port\":null,\"hostname\":null,\"hash\":null,\"search\":null,\"query\":null,\"pathname\":\"/vzpush\",\"path\":\"/vzpush\",\"href\":\"/vzpush\",\"_raw\":\"/vzpush\"},\"params\":{},\"query\":{},\"res\":\"[internal]\",\"body\":{\"data\":[{\"uuid\":\"xxxxxxxx-0000-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292008,20.187]]},{\"uuid\":\"xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380292818,19.75]]},{\"uuid\":\"xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380279628,20.562]]},{\"uuid\":\"xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286108,21.125]]},{\"uuid\":\"xxxxxxxx-4444-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380288744,19.437]]},{\"uuid\":\"xxxxxxxx-5555-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282058,46.937]]},{\"uuid\":\"xxxxxxxx-6666-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380280438,19.625]]},{\"uuid\":\"xxxxxxxx-7777-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380278798,20.437]]},{\"uuid\":\"xxxxxxxx-8888-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380283678,19.625]]},{\"uuid\":\"xxxxxxxx-9999-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380289573,12.125]]},{\"uuid\":\"xxxxxxxx-aaaa-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380277983,21.562]]},{\"uuid\":\"xxxxxxxx-bbbb-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380290388,20.187]]},{\"uuid\":\"xxxxxxxx-cccc-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380286917,20.687]]},{\"uuid\":\"xxxxxxxx-dddd-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380282868,39.5]]},{\"uuid\":\"xxxxxxxx-eeee-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380287728,31.125]]},{\"uuid\":\"xxxxxxxx-ffff-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380281248,30.875]]},{\"uuid\":\"xxxxxxxx-gggg-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380285298,20.687]]},{\"uuid\":\"xxxxxxxx-hhhh-xxxx-xxxx-xxxxxxxxxxxx\",\"tuples\":[[1538380291198,21.187]]}]},\"_body\":true,\"_passport\":{\"instance\":{\"_key\":\"passport\",\"_strategies\":{\"session\":{\"name\":\"session\"},\"bearer\":{\"name\":\"bearer\",\"_realm\":\"Users\"},\"oauth2-client-password\":{\"name\":\"oauth2-client-password\"},\"anon\":{\"name\":\"anon\"}},\"_serializers\":[],\"_deserializers\":[],\"_infoTransformers\":[],\"_framework\":{},\"_userProperty\":\"user\",\"_sm\":{\"_key\":\"passport\"},\"strategies\":{}}},\"route\":{\"path\":\"/vzpush\",\"stack\":[{\"name\":\"cookieParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"httpMiddleware\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false}
>> ,\"method\":\"post\"},{\"name\":\"corsHandler\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"metricsHandler\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"jsonParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"urlencodedParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"multipartParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"rawBodyParser\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"<anonymous>\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"},{\"name\":\"<anonymous>\",\"keys\":[],\"regexp\":{\"fast_star\":false,\"fast_slash\":false},\"method\":\"post\"}],\"methods\":{\"post\":true}},\"cookies\":{},\"signedCookies\":{}},\"res\":{\"_res\":\"[internal]\"}}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":1200,"wires":[["2d338874.d09c9","5d5546f5.439248"]]},{"id":"f36a2088.552a6","type":"debug","z":"aac14499.e7214","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":310,"y":1120,"wires":[]},{"id":"9c257f3b.8a2458","type":"debug","z":"aac14499.e7214","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":310,"y":1160,"wires":[]},{"id":"5d5546f5.439248","type":"debug","z":"aac14499.e7214","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":310,"y":1200,"wires":[]}]
>>
>>
>>
>>
>>
>> Dazu folgende zwei Problemstellungen:
>>
>>
>>
>> 1. Wie krieg ich das so aufgeteilt, dass dabei für jedes Topic eine
>> eigene Message mit folgendem Format erzeugt wird:
>>
>> {"topic":"Haus/Heizung/T18HausRücklauf","payload":21.062,"_msgid":"c6a81ec4.8f35f"}
>> ?
>>
>> (ich brauche nur “topic” und “payload”, die _msgid brauche ich nicht)
>>
>>
>>
>> 2. Wie fange ich UUIDs ab, die nicht in der uuidMap stehen?
>>
>> Momentan kommt dann immer folgende Fehlermeldung bei raus:
>>
>> "Invalid JSONata expression: Key in object structure must evaluate to a
>> string; got: undefined"
>>
>>
>>
>> Liebe Grüße,
>>
>> Chris
>>
>>
>>
>>
>>
>> *Von:* Frank Richter [mailto:frank.richter83 at gmail.com]
>> *Gesendet:* Dienstag, 2. Oktober 2018 02:08
>> *An:* volkszaehler.org - users
>> *Betreff:* Re: [vz-users] Daten auf MQTT Topics verteilen
>>
>>
>>
>> Hi Christian,
>>
>>
>>
>> wenn du noch Hilfe brauchst, schick mal deinen Flow, damit ich eine Basis
>> zum Rumprobieren habe. Vielleicht komme ich diese Woche dazu.
>>
>>
>>
>> Grüße
>>
>> Frank
>>
>>
>>
>> Am Di., 25. Sep. 2018 um 20:22 Uhr schrieb Christian Wulff <
>> christianwulff at gmx.de>:
>>
>> Moin Frank,
>>
>>
>>
>> Ich steck tief im Schlamm L
>>
>> Daran verzweifle ich leider, ich kann kein bisschen JavaScript.
>>
>> Ich habe forEach() gesucht, gefunden und mehrere Seiten darüber
>> durchgelesen, aber wenn man keine einzige Zeile JavaScript schreiben kann,
>> dann ist das wie Kiswahili und Chinesisch. Kann ich auch beides nicht.
>>
>> Könntest du mir dabei vielleicht weiter helfen?
>>
>>
>>
>> Danke und liebe Grüße,
>>
>> Chris
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *Von:* Frank Richter [mailto:frank.richter83 at gmail.com]
>> *Gesendet:* Dienstag, 25. September 2018 01:57
>> *An:* volkszaehler.org - users
>> *Betreff:* Re: [vz-users] Daten auf MQTT Topics verteilen
>>
>>
>>
>> Hi,
>>
>>
>>
>> ok, kapiert. Das data-Array kannst du mit forEach() auseinander nehmen.
>> Beim return musst du dann wieder ein Array aus Message-Objekten übergeben
>> (siehe https://nodered.org/docs/writing-functions#multiple-messages).
>>
>> Den Rest dazwischen musst du selbst basteln ;-)
>>
>>
>>
>> Grüße
>>
>> Frank
>>
>>
>>
>> Christian Wulff <christianwulff at gmx.de> schrieb am Mo., 24. Sep. 2018,
>> 23:52:
>>
>> Da hab ich mich wohl falsch ausgedrückt. Pro UUID ist immer nur ein
>> timestamp und ein Wert drin.
>>
>> Ich hatte weiter unten drei Beispiele eingefügt.
>>
>> Hier nochmal:
>>
>> {
>>
>>     "data": [
>>
>>         {
>>
>>             "uuid": "xxxxxxxx-1111-xxxx-xxxx-xxxxxxxxxxxx",
>>
>>             "tuples": [
>>
>>                 [
>>
>>                     1537815350021,
>>
>>                     13875.6
>>
>>                 ]
>>
>>             ]
>>
>>         }
>>
>>     ]
>>
>> }
>>
>> Der läuft einwandfrei durch, weil es nur ein Kanal ist.
>>
>>
>>
>> Beim nächsten sind zwei UUIDs drin, davon kriege ich nur die erste
>> erwischt:
>>
>> {
>>
>>     "data": [
>>
>>         {
>>
>>             "uuid": "xxxxxxxx-2222-xxxx-xxxx-xxxxxxxxxxxx",
>>
>>             "tuples": [
>>
>>                 [
>>
>>                     1537815406656,
>>
>>                     12309.5
>>
>>                 ]
>>
>>             ]
>>
>>         },
>>
>>         {
>>
>>             "uuid": "xxxxxxxx-3333-xxxx-xxxx-xxxxxxxxxxxx",
>>
>>             "tuples": [
>>
>>                 [
>>
>>                     1537815405848,
>>
>> <
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20181008/4c8bf87c/attachment-0001.html>


More information about the volkszaehler-users mailing list