Advertisement
Guest User

NodeRED/OpenAI

a guest
Apr 17th, 2023
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.37 KB | None | 0 0
  1. [{"id":"9a292e2025c57546","type":"json","z":"c2883a331c36842f","name":"","property":"payload.choices[0].message.content","action":"","pretty":false,"x":1230,"y":1420,"wires":[["6c88c905ac283559","84940fd7b694f6b7"]]},{"id":"6c88c905ac283559","type":"switch","z":"c2883a331c36842f","name":"","property":"payload.choices[0].message.content.domain","propertyType":"msg","rules":[{"t":"eq","v":"light","vt":"str"},{"t":"eq","v":"media_player","vt":"str"},{"t":"eq","v":"climate","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":1350,"y":1420,"wires":[["9f5a875cd1c6978d"],["f9b112e4e4dad60c"],["609e16dccc0ea341"]]},{"id":"95dca33d0f99fbfa","type":"api-call-service","z":"c2883a331c36842f","name":"","server":"14d8f9e6.e28f76","version":5,"debugenabled":false,"domain":"","service":"","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1790,"y":1300,"wires":[["e534555c120fc552"]]},{"id":"9f5a875cd1c6978d","type":"function","z":"c2883a331c36842f","name":"light","func":"\nmsg.payload = {\n \"data\": {\n \"entity_id\": msg.payload.choices[0].message.content.entity_id,\n \"color_name\": msg.payload.choices[0].message.content.color_name,\n \"brightness\": msg.payload.choices[0].message.content.brightness,\n \"rgb_color\": msg.payload.choices[0].message.content.rgb_color\n },\n \"domain\": msg.payload.choices[0].message.content.domain,\n \"service\": msg.payload.choices[0].message.content.service\n}\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1510,"y":1340,"wires":[["95dca33d0f99fbfa"]]},{"id":"609e16dccc0ea341","type":"function","z":"c2883a331c36842f","name":"climate","func":"if (msg.payload.choices[0].message.content.service == \"set_temperature\" || msg.payload.choices[0].message.content.service == \"turn_on\") {\n msg.payload.choices[0].message.content.hvac_mode = \"cool\"\n}\n\nmsg.payload = {\n \"data\": {\n \"entity_id\": msg.payload.choices[0].message.content.entity_id,\n \"temperature\": msg.payload.choices[0].message.content.temperature,\n \"hvac_mode\": msg.payload.choices[0].message.content.hvac_mode,\n \n },\n \"domain\": msg.payload.choices[0].message.content.domain,\n \"service\": msg.payload.choices[0].message.content.service\n}\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1510,"y":1500,"wires":[["41e3f151388f6817"]]},{"id":"41e3f151388f6817","type":"api-call-service","z":"c2883a331c36842f","name":"","server":"14d8f9e6.e28f76","version":5,"debugenabled":false,"domain":"","service":"","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1690,"y":1500,"wires":[["dc95d2bc718eea67"]]},{"id":"f62c976aaafb70da","type":"function","z":"c2883a331c36842f","name":"queue playlist","func":"msg.payload = {\n \"data\": {\n \"command\": msg.payload.choices[0].message.content.service,\n \"uri\": msg.payload.choices[0].message.content.data.media_content_id,\n \"enqueue_mode\": \"play\",\n \"radio_mode\": false\n },\n \"domain\": \"mass\",\n \"service\": \"queue_command\"\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1800,"y":1360,"wires":[["da03beb06bb6541f","75975623304c2037"]]},{"id":"f9b112e4e4dad60c","type":"switch","z":"c2883a331c36842f","name":"media_player","property":"payload.choices[0].message.content.service","propertyType":"msg","rules":[{"t":"eq","v":"turn_off","vt":"str"},{"t":"eq","v":"play_media","vt":"str"},{"t":"eq","v":"volume_mute","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":1520,"y":1420,"wires":[["c16f8091df9fcf34"],["8264b3d2fc2c3ed6","f78b4f5d7901c913"],["c16f8091df9fcf34"]]},{"id":"c16f8091df9fcf34","type":"function","z":"c2883a331c36842f","name":"turn off","func":"msg.payload = {\n \"domain\": \"media_player\",\n \"service\": \"turn_off\"\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1780,"y":1440,"wires":[["da03beb06bb6541f","b4e9d8488eaac412"]]},{"id":"da03beb06bb6541f","type":"api-call-service","z":"c2883a331c36842f","name":"","server":"14d8f9e6.e28f76","version":5,"debugenabled":false,"domain":"","service":"","areaId":[],"deviceId":[],"entityId":["media_player.mass_music_assistant"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":2030,"y":1420,"wires":[[]]},{"id":"f78b4f5d7901c913","type":"function","z":"c2883a331c36842f","name":"clear previous","func":"msg.payload = {\n \"data\": {\n \"command\": \"clear\",\n },\n \"domain\": \"mass\",\n \"service\": \"queue_command\"\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1800,"y":1400,"wires":[["da03beb06bb6541f"]]},{"id":"8264b3d2fc2c3ed6","type":"delay","z":"c2883a331c36842f","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":1665,"y":1360,"wires":[["f62c976aaafb70da"]],"l":false},{"id":"e534555c120fc552","type":"function","z":"c2883a331c36842f","name":"send telegram","func":"msg.payload.chatId = { seu chat id }\nmsg.payload.type = 'message'\nmsg.payload.content = `${msg.payload.data.entity_id} acionado com serviço ${msg.payload.service}`\n\nreturn msg;","outputs":"1","noerr":5,"initialize":"","finalize":"","libs":[],"x":2020,"y":1300,"wires":[["b0bd11e76f990d0b"]]},{"id":"dc95d2bc718eea67","type":"function","z":"c2883a331c36842f","name":"send telegram","func":"msg.payload.chatId = { seu chat id }\nmsg.payload.type = 'message'\nmsg.payload.content = `${msg.payload.data.entity_id} acionado com serviço ${msg.payload.service}`\n\nreturn msg;","outputs":"1","noerr":5,"initialize":"","finalize":"","libs":[],"x":1940,"y":1500,"wires":[["b0bd11e76f990d0b"]]},{"id":"b4e9d8488eaac412","type":"function","z":"c2883a331c36842f","name":"send telegram","func":"msg.payload.chatId = { seu chat id }\nmsg.payload.type = 'message'\nmsg.payload.content = `Som desligado.`\n\nreturn msg;","outputs":"1","noerr":5,"initialize":"","finalize":"","libs":[],"x":1960,"y":1460,"wires":[["b0bd11e76f990d0b"]]},{"id":"75975623304c2037","type":"function","z":"c2883a331c36842f","name":"send telegram","func":"msg.payload.chatId = { seu chat id }\nmsg.payload.type = 'message'\nmsg.payload.content = `Som ligado, tocando a playlist: <${msg.payload.data.uri}>`\n\nreturn msg;","outputs":"1","noerr":5,"initialize":"","finalize":"","libs":[],"x":2140,"y":1360,"wires":[["b0bd11e76f990d0b"]]},{"id":"84940fd7b694f6b7","type":"debug","z":"c2883a331c36842f","name":"debug 63","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1410,"y":1260,"wires":[]},{"id":"92d6474b125e410e","type":"function","z":"c2883a331c36842f","name":"prompt gpt","func":"var str = msg.payload;\nvar newStr = str.replace(\"!test \", \"\");\nmsg.payload = newStr\n\n\nmsg.url = \"https://api.openai.com/v1/chat/completions\";\nmsg.method = \"POST\";\n\nmsg.payload = {\n \"model\": \"gpt-3.5-turbo\",\n \"temperature\": 0.2,\n \"messages\": [{\n \"role\": \"user\", \"content\": `\n Você é um robô assitente do meu servidor de Home Assistant.\n Sua função é interpretar esse texto {${newStr}} e converter em comandos json\n para um node chamada de serviço do node-red. Deve conter\n o \"domain\", \"service\", \"friendly_name\", propriedades da entidade que foram definidas no texto como\n \"brightness\", \"temperature\", \"color\" etc.\n Para domain = media_player, incluir na mensagem a uri do spotify de uma playlist do estilo ou música solicitado\n \n Sua resposta será apenas o payload em json e nada mais` }]\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":930,"y":1420,"wires":[["6557a88bc5cc77e7"]]},{"id":"6557a88bc5cc77e7","type":"http request","z":"c2883a331c36842f","name":"","method":"use","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":true,"proxy":"","insecureHTTPParser":false,"authType":"bearer","senderr":false,"headers":[],"x":1090,"y":1420,"wires":[["9a292e2025c57546"]]},{"id":"14d8f9e6.e28f76","type":"server","name":"Home Assistant","addon":true}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement