möchte die Heimautomation über die Kombination Openhab 2 / Snips betreiben ( mit Raspberry 3)
In einer Regel erhalte ich mqtt Nachrichten von Snips AI welche ich über JSONPATH "bearbeiten" möchte
Ich versuche die Slots über den Slotnamen wie folgt zu extrahieren.
Code: Alles auswählen
var x = "{\"sessionId\":\"12fd7058-6550-4bc8-ac7e-29752f66ef51\",\"customData\":null,\"siteId\":\"default\",\"input\":\"rolladen büro runter\",\"asrTokens\":[[{\"value\":\"rolladen\",\"confidence\":0.7004744,\"rangeStart\":0,\"rangeEnd\":8,\"time\":{\"start\":0.0,\"end\":0.45}},{\"value\":\"büro\",\"confidence\":1.0,\"rangeStart\":9,\"rangeEnd\":13,\"time\":{\"start\":0.45,\"end\":1.05}},{\"value\":\"runter\",\"confidence\":1.0,\"rangeStart\":14,\"rangeEnd\":20,\"time\":{\"start\":1.05,\"end\":2.31}}]],\"asrConfidence\":0.88810456,\"intent\":{\"intentName\":\"Armin_123:Rollladensteuerung\",\"confidenceScore\":1.0},\"slots\":[{\"rawValue\":\"büro\",\"value\":{\"kind\":\"Custom\",\"value\":\"Büro\"},\"alternatives\":[],\"range\":{\"start\":9,\"end\":13},\"entity\":\"TYPE_ROOMS\",\"slotName\":\"Zimmer\",\"confidenceScore\":1.0},{\"rawValue\":\"runter\",\"value\":{\"kind\":\"Custom\",\"value\":\"Runter\"},\"alternatives\":[],\"range\":{\"start\":14,\"end\":20},\"entity\":\"TYPE_BLIND_COMMANDS\",\"slotName\":\"Aktion\",\"confidenceScore\":1.0}],\"alternatives\":[{\"intentName\":\"CrystalMethod:searchWikipedia\",\"confidenceScore\":0.053615358,\"slots\":[{\"rawValue\":\"runter\",\"value\":{\"kind\":\"Custom\",\"value\":\"runter\"},\"alternatives\":[],\"range\":{\"start\":14,\"end\":20},\"entity\":\"article\",\"slotName\":\"article_indicator\",\"confidenceScore\":1.0}]},{\"intentName\":\"domi:searchWeatherForecastCondition\",\"confidenceScore\":0.04479771,\"slots\":[]}]}"
var slotZimmer = transform("JSONPATH", "$..slots[?(@.slotName==\"Zimmer\")]",x)
leider funktioniert das ganze nicht. Die Variable "slotZimmer" enthält nach der Transformation immer die komplette Nachricht.
Wenn ich das ganze in den jsonpath online evaluator eingebe funktioniert es.
Hat jemand eine Idee?
Grüße Armin