[vz-users] Daten auf MQTT Topics verteilen
Christian Wulff
christianwulff at gmx.de
Tue Oct 9 21:53:47 CEST 2018
Vielleicht reichen ja auch ein paar Beispiele, was man sich damit so zusammenbasteln kann.
Lieben Gruß,
Chris
Von: Frank Richter <frank.richter83 at gmail.com>
Gesendet: Dienstag, 9. Oktober 2018 21:52
An: volkszaehler.org - users <volkszaehler-users at demo.volkszaehler.org>
Betreff: Re: [vz-users] Daten auf MQTT Topics verteilen
Am Di., 9. Okt. 2018 um 21:43 Uhr schrieb Christian Wulff <christianwulff at gmx.de <mailto:christianwulff at gmx.de> >:
Andreas‘ Node-RED nodes habe ich mir auch installiert.
Gibt’s dazu irgendeine Beschreibung was man damit machen kann? So intuitiv bin ich damit nicht klargekommen.
Nicht dass ich wüsste.
Von: Frank Richter <frank.richter83 at gmail.com <mailto:frank.richter83 at gmail.com> >
Gesendet: Dienstag, 9. Oktober 2018 20:52
An: volkszaehler.org <http://volkszaehler.org> - users <volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org> >
Betreff: Re: [vz-users] Daten auf MQTT Topics verteilen
API abfragen geht wie immer: HTTP GET und dann das JSON auseinander nehmen.
Beispiel für Verbrauch des aktuellen Tages (im Request-Node UUID einfügen):
[{"id":"930c1bf1.540458","type":"inject","z":"1faadd0a.425383","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"*/1 0-23 * * *","once":false,"x":126,"y":873,"wires":[["9f23e5d3.4b7598"]]},{"id":"9f23e5d3.4b7598","type":"http request","z":"1faadd0a.425383","name":"","method":"GET","ret":"obj","url":"http://127.0.0.1/middleware.php/data/UUID.json?from=today <http://127.0.0.1/middleware.php/data/UUID.json?from=today&group=day> &group=day","tls":"","x":306,"y":873,"wires":[["efbfc0a.6bc514"]]},{"id":"efbfc0a.6bc514","type":"function","z":"1faadd0a.425383","name":"Extract consumption","func":"msg.topic = \"volkszaehler/bezug/heute\"\nmsg.payload = msg.payload.data.consumption;\nreturn msg;","outputs":1,"noerr":0,"x":516,"y":873,"wires":[["e602adc4.442a5"]]},{"id":"e602adc4.442a5","type":"debug","z":"1faadd0a.425383","name":"","active":true,"console":"false","complete":"false","x":714,"y":873,"wires":[]}]
Oder du nimmst https://www.npmjs.com/package/node-red-contrib-volkszaehler von Andreas.
Grüße
Frank
Am Di., 9. Okt. 2018 um 20:32 Uhr schrieb Christian Wulff <christianwulff at gmx.de <mailto:christianwulff at gmx.de> >:
Öhm ?! gute Frage, wo sind die denn abgeblieben?!
Tja, Klammer rein und schon läuft es.
COOL!
Und vielen lieben Dank!
Jetzt fehlt mir nur noch die Wasseruhr, also der Zählerstand der Wasseruhr.
Da das ja eine S0 Wasseruhr ist, spukt die ja nur Impulse aus.
Die krieg ich dann wohl nur über die Middleware, nehme ich an.
Aber an der Stelle ist das Wiki leider noch leer:
https://wiki.volkszaehler.org/howto/node-red#apiget_data
Lieben Gruß und lieben Dank,
Chris
Von: Frank Richter <frank.richter83 at gmail.com <mailto:frank.richter83 at gmail.com> >
Gesendet: Dienstag, 9. Oktober 2018 20:26
An: volkszaehler.org <http://volkszaehler.org> - users <volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org> >
Betreff: Re: [vz-users] Daten auf MQTT Topics verteilen
Und was hast du mit meinen eckigen Klammern in
return [outputMsgs];
gemacht?
Am Di., 9. Okt. 2018 um 20:14 Uhr schrieb Christian Wulff <christianwulff at gmx.de <mailto:christianwulff at gmx.de> >:
Hallo Frank,
jetzt konnte ich es schnell zwischendurch mal testen.
Leider wird immer nur der erste Datensatz ausgegeben, egal ob das Array 1,2 oder 18 Datensätze enthält.
Immerhin kommt da kein Fehler bei raus.
Aber woran das liegen könnte finde ich leider nicht heraus.
Ich vermute das ist noch irgendwie verschachtelt.
Das JSON sieht so aus:
{
"_msgid":"54a836a8.ad32c8",
"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]]
}
]
}
}
Hier ist nochmal die komplette Testsequenz mit den vier Input-Datensätzen:
„1 from /vzpush“ enthält ein Datensatz, das funktioniert.
„2 from /vzpush“ enthält ein Datensatz, das funktioniert.
„3 from /vzpush“ enthält ein 18 Datensätze, von denen aber nur der erste rauskommt, sonst nichts.
„4 from /vzpush“ enthält ein 2 Datensätze, von denen aber nur der erste rauskommt, sonst nichts.
[{"id":"7302fa5a.fb35fc","type":"debug","z":"aac14499.e7214","name":"","active":true,"tosidebar":true,"console":false,"complete":"payload","x":330,"y":1820,"wires":[]},{"id":"8db30bf8.a98f08","type":"inject","z":"aac14499.e7214","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":1820,"wires":[["7302fa5a.fb35fc","f193d955.50d8f"]]},{"id":"c718ba1b.74ba98","type":"inject","z":"aac14499.e7214","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":1860,"wires":[["4e4df194.16e57","f193d955.50d8f"]]},{"id":"35d9aff6.73e3d8","type":"inject","z":"aac14499.e7214","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":1900,"wires":[["4d208feb.3858d8","f193d955.50d8f"]]},{"id":"802bf900.66516","type":"inject","z":"aac14499.e7214","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":1940,"wires":[["b5dd8c2b.762f7","f193d955.50d8f"]]},{"id":"4e4df194.16e57","type":"debug","z":"aac14499.e7214","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":330,"y":1860,"wires":[]},{"id":"4d208feb.3858d8","type":"debug","z":"aac14499.e7214","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":330,"y":1900,"wires":[]},{"id":"b5dd8c2b.762f7","type":"debug","z":"aac14499.e7214","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":330,"y":1940,"wires":[]},{"id":"589755ad.08c4dc","type":"comment","z":"aac14499.e7214","name":"Chris example:","info":"","x":120,"y":1780,"wires":[]},{"id":"f193d955.50d8f","type":"function","z":"aac14499.e7214","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\nvar outputMsgs = [];\t\n\n// loop trough data array\nmsg.payload.data.forEach(function(element) {\n // Get UUID, timestamp and value\n var myUuid = element.uuid;\n var myValue = element.tuples[0][1];\n\n if (uuidMap[myUuid] !== undefined) {\n // Create output message\n var myOutput = {};\n myOutput.topic = uuidMap[myUuid]['topic'];\n myOutput.payload = myValue;\n outputMsgs.push(myOutput);\n }\n});\n\nreturn outputMsgs;","outputs":1,"noerr":0,"x":410,"y":1980,"wires":[["ce3a1827.c2346"]]},{"id":"ce3a1827.c2346","type":"debug","z":"aac14499.e7214","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":670,"y":1980,"wires":[]}]
Lieben Dank und lieben Gruß,
Chris
Von: Frank Richter <frank.richter83 at gmail.com <mailto:frank.richter83 at gmail.com> >
Gesendet: Mittwoch, 3. Oktober 2018 23:17
An: volkszaehler.org <http://volkszaehler.org> - users <volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org> >
Betreff: Re: [vz-users] Daten auf MQTT Topics verteilen
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 <mailto: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 <file://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 <mailto:frank.richter83 at gmail.com> ]
Gesendet: Dienstag, 2. Oktober 2018 12:48
An: volkszaehler.org <http://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 <mailto: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\":[[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 <http://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 <http://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 <http://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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20181009/d1a7be91/attachment-0001.html>
More information about the volkszaehler-users
mailing list