[ { "id": "x11_wash_common", "name": "X11洗衣机-通用模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "common", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_common", "seeker_wash_common", "seekerR2_wash_common", "x11_ultra_wash_common" ], "description": "X11 洗衣机 通用模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% macro count_round(value) %}\n{% set value = value | int %}\n {{ (value / 10) | round(0) | int * 10 }}\n{% endmacro %}\n\n{% macro approx_fraction(p) -%}\n{%- set p = 99 if p |int >= 100 else p -%}\n{%- if p >= 50 -%}\n百分之{{ ['','一','二','三','四','五','六','七','八','九'][p//10] }}{{ '十' if p >= 10 else '' }}{{\n['','一','二','三','四','五','六','七','八','九'][p%10] if p%10 else '' }}\n{%- elif p >= 40 -%}一半\n{%- else -%}三分之一\n{%- endif -%}\n{%- endmacro %}\n\n{% set greeting = [\"嗨\", \"哈喽\"] %}\n{% set assistant1 = [\"小优来啦\", \"你的洗护小管家来啦\", \"你的洗护小助手来啦\", \"你的洗护小精灵来啦\", \"你的洗护小管家上线啦\", \"你的洗护小助手上线啦\", \"你的洗护小精灵上线啦\", \"小优前来报到\",\n\"洗护小管家前来报道\", \"洗护小助手前来报道\", \"洗护小精灵前来报到\"] %}\n{% set assistant2 = [\"洗衣推荐来啦\", \"洗衣小贴士来啦\", \"又要洗衣服啦\", \"又来洗衣服啦\", \"洗衣时间到啦\"] %}\n{% set user1 = [ \"位用户\", \"位邻居\", \"位朋友\", \"户家庭\", \"个小伙伴\"] %}\n{% set user2 = [\"用户\", \"小伙伴\", \"邻居\"] %}\n\n\n{%- macro commands_params(changed_params) -%}\n{%- if changed_params is none or changed_params == {} or changed_params == \"\" -%}\n{{ \"\" }}\n{%- else -%}\n\n{# 注意:不要用 or 取值,因为 0 会被当成 false #}\n{%- set setTemp_raw = changed_params['setTemp'] if 'setTemp' in changed_params else changed_params.get('温度') -%}\n{%- set speed_raw = changed_params['speed'] if 'speed' in changed_params else changed_params.get('转速') -%}\n{%- set spinTime_raw = changed_params['spinTime'] if 'spinTime' in changed_params else changed_params.get('漂洗') -%}\n{%- set washTime_raw = changed_params['washTime'] if 'washTime' in changed_params else changed_params.get('时间') -%}\n\n{# ================= 温度 ================= #}\n{%- set temp_str = \"\" -%}\n{%- if setTemp_raw is not none and setTemp_raw != \"\" -%}\n {%- set setTemp_s = setTemp_raw|string|trim -%}\n\n {%- if setTemp_raw is number or setTemp_s.isdigit() -%}\n {%- set setTemp = setTemp_raw|int -%}\n\n {%- if setTemp != 65535 -%}\n {%- if setTemp == 0 -%}\n {%- set temp_str = \"水温常温\" -%}\n {%- elif setTemp >= 90 -%}\n {%- set temp_str = \"水温95度\" -%}\n {%- else -%}\n {%- set temp_str = \"水温{}度\".format(setTemp) -%}\n {%- endif -%}\n {%- endif -%}\n {%- else -%}\n {%- set temp_str = \"水温\" ~ setTemp_s -%}\n {%- endif -%}\n{%- endif -%}\n\n{# ================= 转速 ================= #}\n{%- set speed_str = \"\" -%}\n{%- if speed_raw is not none and speed_raw != \"\" -%}\n {%- set speed_s = speed_raw|string|trim -%}\n\n {%- if speed_raw is number or speed_s.isdigit() -%}\n {%- set speed = speed_raw|int -%}\n\n {%- if speed not in [65535] -%}\n {%- set speed_str = \"转速{}转\".format(speed * 10) -%}\n {%- endif -%}\n {%- else -%}\n {%- set speed_str = \"转速\" ~ speed_s -%}\n {%- endif -%}\n{%- endif -%}\n\n{# ================= 漂洗 ================= #}\n{%- set spin_str = \"\" -%}\n{%- if spinTime_raw is not none and spinTime_raw != \"\" -%}\n {%- set spinTime_s = spinTime_raw|string|trim -%}\n\n {%- if spinTime_raw is number or spinTime_s.isdigit() -%}\n {%- set spinTime = spinTime_raw|int -%}\n\n {%- if spinTime != 65535 -%}\n {%- set spin_str = \"漂洗{}次\".format(spinTime) -%}\n {%- endif -%}\n {%- else -%}\n {%- set spin_str = \"漂洗\" ~ spinTime_s -%}\n {%- endif -%}\n{%- endif -%}\n\n{# ================= 洗涤时间 ================= #}\n{%- set wash_str = \"\" -%}\n{%- if washTime_raw is not none and washTime_raw != \"\" -%}\n {%- set washTime_s = washTime_raw|string|trim -%}\n\n {%- if washTime_raw is number or washTime_s.isdigit() -%}\n {%- set washTime = washTime_raw|int -%}\n\n {%- if washTime not in [0, 65535] and washTime <= 255 -%}\n {%- set wash_str = \"洗涤{}分钟\".format(washTime) -%}\n {%- endif -%}\n {%- else -%}\n {%- set wash_str = \"洗涤\" ~ washTime_s -%}\n {%- endif -%}\n{%- endif -%}\n\n{{ [spin_str, wash_str, temp_str, speed_str] | reject(\"equalto\", \"\") | join(\",\") }}\n\n{%- endif -%}\n{%- endmacro -%}\n\n{# --------------------- 人气/定制简短模板函数 --------------------- #} \n{% set prefix_message %}\n{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{% if program_name %}\n {% if rerank_reason |upper == \"PIN_CONSECUTIVE\" %}\n {%set commands_text = commands_params(changed_params) | trim %}\n {{[\n \"{0}好呀,小优发现你最近几次洗衣都喜欢用{1}程序,{2}给你准备好了。\".format(period, program_name, commands_text~\"这个使用习惯\" if commands_text else \"\"),\n \"{0},发现你最近几次洗衣都使用{1},{2}给你准备好了。\".format(assistant1 | random, program_name, commands_text~\",\" if commands_text else \"\"),\n \"{0},为你推荐最近几次常用的{1}程序,{2}赶快启动吧!\".format(assistant2 | random, program_name, commands_text~\",\" if commands_text else \"\"),\n \"{0},最懂你的小优来啦,你最近几次洗衣都使用了{1}程序,{2}这次还这么用吧。\".format(greeting |random, program_name, commands_text~\",\" if commands_text else \"\"),\n \"又能帮你洗衣服了,小优很开心哦。前几次洗衣你都使用{0}程序,我猜你这次还想用它。\".format(program_name)\n ] | random \n }} \n {% elif rerank_reason |upper == \"PIN_WEEKLY\" %}\n {%set feature_week_name=\"每周这个时间都喜欢用\"%}\n {%set commands_text = commands_params(changed_params) | trim %}\n {{[\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(period, feature_week_name, program_name, commands_text~\",\" if commands_text else \"\"),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧。\".format(period, feature_week_name, program_name, commands_text~\",\" if commands_text else \"\"),\n \"{0},{1},推荐你{2}的{3}程序。{4}\".format(greeting |random, assistant1 | random, feature_week_name, program_name, commands_text~\"。\" if commands_text else \"\"),\n \"{0},你{1}的{2}程序,{3}给你准备好了。\".format(assistant1 | random, feature_week_name, program_name, commands_text~\"这个使用习惯\" if commands_text else \"\"),\n \"{0},小优准备了你{1}的{2}程序,{3}赶快启动吧!\".format(assistant2 | random, feature_week_name, program_name, commands_text~\",\" if commands_text else \"\")\n ] | random}}\n {% elif recommend_type |upper == \"POPULAR\" %}\n {{ [\n \"{0},给你准备了{1}人气最高的{2}程序。\".format(assistant1 | random, city, program_name),\n \"{0},这个时间{1}程序在{2}使用率最高哦。\".format(assistant2 | random, program_name, city),\n \"{0}好呀,为你推荐{1}人气最高的{2}程序。\".format(period, city, program_name),\n \"嗨,小优发现这个时间{0},{1}程序人气最高哦。\".format(city, program_name),\n \"{0}洗衣推荐来啦,{1}程序是{2}当前的热门程序哦。\".format(season, program_name, city)\n ] | random \n }}\n {% elif recommend_type |upper == \"CUSTOM\" %}\n {%set commands_text = commands_params(changed_params) | trim %}\n {% if feature_name!=\"\" %}\n {{ [\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(period, feature_name, program_name, commands_text~\",\" if commands_text else \"\"),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}\".format(period, feature_name, program_name, commands_text~\"。\" if commands_text else \"\"),\n \"{0},推荐你{1}的{2}程序。{3}\".format(assistant1 | random, feature_name, program_name, commands_text~\"。\" if commands_text else \"\"),\n \"{0},为你准备了你{1}的{2}程序。{3}\".format(assistant1 | random, feature_name, program_name, commands_text~\"。\" if commands_text else \"\"),\n \"{0},你{1}的{2}程序,{3}已经准备就绪。\".format(assistant2 | random, feature_name, program_name, commands_text if commands_text else \"\")\n ]| random }}\n {% else %}\n {{\n \"您好,推荐您常用的{}程序,已准备好了,快开始启动吧。\".format(program_name)\n }}\n {% endif %}\n {% endif %}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}\n{% endset %}", "redis_key_second": "broadcast-template-jinja:single_card:wash:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:common", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:common" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_wash_time_popular", "name": "X11洗衣机-人气模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "time_popular", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_time_popular", "seeker_wash_time_popular", "seekerR2_wash_time_popular", "x11_ultra_wash_time_popular" ], "description": "X11 洗衣机 人气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{% set count = count_round(count) | int %}\n{% set user_count = count_round(user_count) |int %}\n{% set user_proportion = user_proportion | int %}\n{% if program_name %}\n {% if rerank_reason |upper == \"PIN_CONSECUTIVE\" %}\n {%set commands_text = commands_params(changed_params) | trim %}\n {{[\n \"{0}好呀,小优发现你最近几次洗衣都喜欢用{1}程序,{2}给你准备好了。\".format(period, program_name,\n commands_text~\"这个使用习惯\" if commands_text else \"\"\n ),\n \"{0},发现你最近几次洗衣都使用{1},{2}给你准备好了。\".format(assistant1 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},为你推荐最近几次常用的{1}程序,{2}赶快启动吧!\".format(assistant2 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},最懂你的小优来啦,你最近几次洗衣都使用了{1}程序,{2}这次还这么用吧。\".format(greeting |random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"又能帮你洗衣服了,小优很开心哦。前几次洗衣你都使用{0}程序,我猜你这次还想用它。\".format(\n program_name\n )\n ] | random \n }} \n {% elif rerank_reason |upper == \"PIN_WEEKLY\" %}\n {%set commands_text = commands_params(changed_params) | trim %}\n {%set feature_week_name=\"每周这个时间都喜欢用\"%}\n {{[\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},{1},推荐你{2}的{3}程序。{4}\".format(\n greeting |random,\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},你{1}的{2}程序,{3}给你准备好了。\".format(\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"这个使用习惯\" if commands_text else \"\"\n ),\n \"{0},小优准备了你{1}的{2}程序,{3}赶快启动吧!\".format(\n assistant2 | random,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n )\n ] | random}}\n {% else %}\n{{ [\n \"{0}好呀,为你推荐{1}人气最高的{2}程序。{3}\".format(\n period,\n city,\n program_name,\n (\"近期有\" ~ user_count ~ \"多\" ~ (user1 | random) ~ \"都喜欢用呢。\" if user_count >= 30 else \"\")\n ),\n\n \"{0}好呀,为你推荐{1}人气最高的{2}程序。{3}\".format(\n period,\n city,\n program_name,\n (\"近期有\" ~ approx_fraction(user_proportion) ~ \"的\" ~ (user2 | random) ~ \"都喜欢用呢。\" if user_proportion >= 30 else \"快启动试试吧。\")\n ),\n\n \"{0}好呀,小优发现{1}程序在{2}的人气很高哦,{3}咱也来试试吧!\".format(\n period,\n program_name,\n city,\n (\"近期有\" ~ count ~\"多次使用记录呢,\" if count >= 100 else \"\")\n ),\n\n \"{0},给你准备了{1}人气最高的{2}程序,{3}\".format(\n assistant1 |random,\n city,\n program_name,\n (\"近期有\"~ user_count ~\"多\" ~ (user1 | random) ~ \"都喜欢用呢。咱们也来试试看吧!\" if user_count >= 30 else \"快来试试看吧!\")\n ),\n\n \"{0},{1}程序在{2}很受欢迎呢,{3}咱们也来试试看吧!\".format(\n assistant1 |random,\n program_name,\n city,\n (\"是\" ~ user_count ~\"多\"~ (user1 | random) ~ \"的共同选择。\" if user_count >= 30 else \"\")\n ),\n\n \"{0},{1},这个时间段{2}程序在{3}人气最高,{4}给你也准备好了。\".format(\n greeting | random,\n assistant1 | random,\n program_name,\n city,\n (\"超过\" ~ approx_fraction(user_proportion) ~ \"的\" ~ (user2 |random) ~ \"都在用呢,\" if user_proportion >= 30 else \"\")\n ),\n\n \"{0},为你推荐当前人气最高的{1}程序,{2}\".format(\n assistant2 | random,\n program_name,\n (city ~ \"超过\"~ approx_fraction(user_proportion) ~\"的\"~ (user2 |random) ~\"都在用哦\" if user_proportion >= 30 else \"都准备好了,直接启动就行。\")\n ),\n\n \"{0},给你准备了{1}人气最高的{2}程序,{3}\".format(\n assistant2 | random,\n city,\n program_name,\n (\"近期有\"~ user_count ~\"多\" ~ (user1 | random) ~ \"都喜欢用呢。咱们也来试试看吧!\" if user_count >= 30 else \"快启动试试吧!\")\n ),\n\n \"{0},{1}程序在{2}人气最高,{3}咱们也来试试看吧!\".format(\n assistant2 | random,\n program_name,\n city,\n (\"是\"~ user_count ~\"多\"~ (user1 | random) ~ \"的共同选择。\" if user_count >= 30 else \"\")\n ),\n\n \"{0},{1},{2}程序给你准备好了,{3}快来试试看吧!\".format(\n greeting | random,\n assistant2 | random,\n program_name,\n (\"这个时间\"~ city ~\"有超过\"~ approx_fraction(user_proportion) ~\"的\"~ (user2 |random) ~\"都在用它,\" if user_proportion >= 30 else \"\")\n ),\n\n \"{0}好呀,根据全网用户的使用偏好,我帮你选好了{1}程序,你放心用就好了。\".format(\n period,\n program_name\n ),\n\n \"{0}好呀,小优发现大家都爱用{1}程序,今天我们也来试试吧。\".format(\n period,\n program_name\n ),\n\n \"{0},为你准备好了全网使用率最高的{1}程序,来试试效果怎么样吧。\".format(\n assistant1 | random,\n program_name\n ),\n\n \"{0}!{1},{2}程序大家用着还不错,快启动体验一下吧。\".format(\n greeting | random,\n assistant2 | random,\n program_name\n ),\n\n \"{0}!{1},今天我们来试试这个人气最高的程序吧。\".format(\n greeting | random,\n assistant2 | random\n )\n\n] | random }}\n{% endif %}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_wash_time_custom", "name": "X11洗衣机-定制模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "time_custom", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_time_custom", "seeker_wash_time_custom", "seekerR2_wash_time_custom", "x11_ultra_wash_time_custom" ], "description": "X11 洗衣机 定制模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{% if program_name %}\n{%set commands_text = commands_params(changed_params) | trim %}\n {% if rerank_reason |upper == \"PIN_CONSECUTIVE\" %}\n {{[\n \"{0}好呀,小优发现你最近几次洗衣都喜欢用{1}程序,{2}给你准备好了。\".format(period, program_name,\n commands_text~\"这个使用习惯\" if commands_text else \"\"\n ),\n \"{0},发现你最近几次洗衣都使用{1},{2}给你准备好了。\".format(assistant1 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},为你推荐最近几次常用的{1}程序,{2}赶快启动吧!\".format(assistant2 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},最懂你的小优来啦,你最近几次洗衣都使用了{1}程序,{2}这次还这么用吧。\".format(greeting |random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"又能帮你洗衣服了,小优很开心哦。前几次洗衣你都使用{0}程序,我猜你这次还想用它。\".format(\n program_name\n )\n ] | random \n }} \n {% elif rerank_reason |upper == \"PIN_WEEKLY\" %}\n {%set feature_week_name=\"每周这个时间都喜欢用\"%}\n {{[\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},{1},推荐你{2}的{3}程序。{4}\".format(\n greeting |random,\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},你{1}的{2}程序,{3}给你准备好了。\".format(\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"这个使用习惯\" if commands_text else \"\"\n ),\n \"{0},小优准备了你{1}的{2}程序,{3}赶快启动吧!\".format(\n assistant2 | random,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n )\n ] | random}}\n {% elif feature_name!=\"\" %}\n {{ [\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(\n period,\n feature_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧\".format(\n period,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0}好呀,{1}程序已经准备就绪了,它可是你{2}的程序。{3}赶快启动吧\".format(\n period,\n program_name,\n feature_name,\n commands_text~\"的习惯参数也帮你设置好了。\" if commands_text else \"\"\n ),\n \"{0},{1},推荐你{2}的{3}程序,{4}\".format(\n greeting | random,\n assistant1 | random,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},{1},为你准备了你{2}的{3}程序。{4}\".format(\n greeting | random,\n assistant1 | random,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},你{1}的{2}程序{3}\".format(\n assistant2 | random,\n feature_name,\n program_name,\n \"和\"~commands_text~\"的习惯参数给你准备好了。\" if commands_text else \",给你准备好了。\"\n ),\n \"{0},为你推荐{1}的{2}程序,{3}赶快启动吧!\".format(\n assistant2 | random,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},你{1}的{2}程序,{3}已经准备就绪。启动前,记得检查衣物口袋哦。\".format(\n assistant2 | random,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"我发现你喜欢这么用,我给你准备好了,现在开始洗吗?\",\n \"你懂洗衣,我懂你,准备好了,快开始洗吧。\"\n ]| random }}\n {% else %}\n {{ \"您好,推荐您常用的{}程序,已准备好了,快开始启动吧。\".format(program_name) }}\n {% endif %}\n\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_wash_weather", "name": "X11洗衣机-天气模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "weather", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_weather", "seeker_wash_weather", "seekerR2_wash_weather", "x11_ultra_wash_weather" ], "description": "X11 洗衣机 天气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set wd_link = wd_link | string |trim %}\n{% if wd_link in ['1', '开'] %}\n {% set wd_link = '1' %}\n{% endif %}\n{% set washdry = washdry | string |trim %}\n{{ \n[ prefix_message |trim,\n [\n \"今天阴天,洗完烘干更省心哦。\" if weather == '阴' else\n \"天气预报今天有{},洗完烘干更省心哦。\".format(weather) if weather in ['小雨','中雨','大雨','暴雨','小雪','中雪','大雪','暴雪','雾霾','中度雾霾','重度雾霾','沙尘'] else\n \"今天天气不太好,洗完烘干更省心哦。\"\n ] | first if washdry == \"_wd\" else \n [\n [\n \"今天阴天,晾晒衣物会比较慢,帮你打开洗烘联动啦。\",\n \"今天阴天,晾晒衣物会比较慢,洗烘联动更省心哦。\"\n ] | random if weather == '阴' and wd_link == \"1\" else\n \"今天阴天,室外晾晒衣物会比较慢,建议您在室内晾晒。\" if weather == '阴' else\n [\n \"今天预报有{},不适合室外晾晒,帮你打开洗烘联动啦。\".format(weather),\n \"今天预报有{},不适合室外晾晒,洗烘联动更省心哦。\".format(weather)\n ] | random if weather in ['小雨','中雨','大雨','暴雨','小雪','中雪','大雪','暴雪'] and wd_link == \"1\" else\n \"天气预报今天有{},建议您在室内晾晒。\".format(weather) if weather in ['小雨','中雨','大雨','暴雨','小雪','中雪','大雪','暴雪'] else\n [\n \"今天有{},室外晾晒容易导致二次污染,帮你打开洗烘联动啦。\".format(weather),\n \"今天有{},室外晾晒容易导致二次污染,洗烘联动更省心哦。\".format(weather)\n ] | random if weather in ['雾霾','中度雾霾','重度雾霾','沙尘'] and wd_link == \"1\" else\n \"天气预报今天有{},室外晾晒容易导致二次污染,建议您在室内晾晒。\".format(weather) if weather in ['雾霾','中度雾霾','重度雾霾','沙尘'] else\n [\n \"今天天气不太好,帮你打开洗烘联动啦。\",\n \"今天天气不太好,洗烘联动更省心哦。\"\n ] | random if wd_link == \"1\" else\n \"今天天气不太好,建议您在室内晾晒。\" \n ] | first \n]| reject(\"equalto\", \"\") | join(\"\")\n}}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:weather", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:weather" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_wash_time_season", "name": "X11洗衣机-季节模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "time_season", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_time_season", "seeker_wash_time_season", "seekerR2_wash_time_season", "x11_ultra_wash_time_season" ], "description": "X11 洗衣机 季节模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{{ [\n\"立春快乐,春风送暖,是时候准备好轻盈的春装了。{}\".format(\n\"为您推荐\"~program_name~\"程序,应对春季多变天气,轻松打理出行装备。\"\nif program_id == '52' else \"\")\nif time_term == '立春' and filter_rule_code== 'time_season_in' else\n\n\"立春时节,是时候让厚重冬衣退役啦。{}\".format(\n\"为您推荐\"~program_name~\"程序,温和洗净,将暖意封存。\" if program_id in [\"3\",\"10\"] else \"\")\nif time_term == '立春' and filter_rule_code== 'time_season_storage' else\n\n\"立夏时节,暑气渐长。轻薄的夏日穿搭该从箱底翻出来洗洗啦。{}\".format(\n\"为您推荐\"~program_name~\"程序,温和洗净,抚平褶皱,让您的夏日清爽舒适。\" if program_id in [\"22\",\"1\"] else \"\")\nif time_term == '立夏' and filter_rule_code== 'time_season_in' else\n\n\"立夏潮闷,春装收纳正当时。{}\".format(\n\"推荐使用\"~program_name~\"程序,彻底洗净风尘,便于安心久存。\" if program_id == '52' else \"\")\nif time_term == '立夏' and filter_rule_code== 'time_season_storage' else\n\n\"立秋已至,暑去凉来。是时候洗净压箱底的秋装,准备添衣了。{}\".format(\n\"为您推荐\"~program_name~\"程序,温和洁净,守护面料防水与防风性能,伴您从容出行。\" if program_id == '52' else \"\")\nif time_term == '立秋' and filter_rule_code== 'time_season_in' else\n\n\"立秋换季,夏装可以功成身退啦。{}\".format(\n\"推荐使用\"~program_name~\"程序,温和洗净,防止变形与泛黄,帮您留住夏日风采。\"\nif program_id in [\"22\",\"1\"] else \"\")\nif time_term == '立秋' and filter_rule_code== 'time_season_storage' else\n\n\"立冬安康,寒潮将至。保暖的冬装该登场了。{}\".format(\n\"为您推荐\"~program_name~\"程序,温和洁净,让衣物恢复蓬松柔软,为您锁住冬日温暖。\" if program_id in [\"3\",\"10\"] else \"\")\nif time_term == '立冬' and filter_rule_code== 'time_season_in' else\n\n\"立冬时节,薄款秋装该收纳入库啦。{}\".format(\n\"为您推荐\"~program_name~\"程序,温和洁净,让您的衣物保持最佳状态,静待明年春日。\" if program_id == '52' else \"\")\nif time_term == '立冬' and filter_rule_code== 'time_season_storage'\n\n]| random}}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_wash_care", "name": "X11洗衣机-关怀模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "care", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_care", "seeker_wash_care", "seekerR2_wash_care", "x11_ultra_wash_care" ], "description": "X11 洗衣机 关怀模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{# 从归一化后的 care 字典中读取,active = 1 表示已开启 #}\n{% set night_wash_on = care.get(\"night_wash\", {}).get(\"active\", 0) == 1 %}\n{% set night_wash_name = care.get(\"night_wash\", {}).get(\"display_name\", \"夜间洗\") %}\n{% set wind_cruise_on = care.get(\"wind_cruise\", {}).get(\"active\", 0) == 1 %}\n{% set wind_cruise_name = care.get(\"wind_cruise\", {}).get(\"display_name\", \"风巡航\") %}\n\n{{ [prefix_message |trim, [\n [\"夜深了,帮你打开{0}和{1}功能啦。\".format(night_wash_name, wind_cruise_name) ,\n \"时间有点晚了,已为你开启{0}和{1},衣物久放也不闷。\".format(night_wash_name, wind_cruise_name),\n \"{0}已开启,静音洗衣,{1}为您守护衣物至天明。\".format(night_wash_name, wind_cruise_name),\n \"已开启{0}自动降噪,并开启{1}防异味。\".format(night_wash_name, wind_cruise_name)\n ] |random if night_wash_on and wind_cruise_on else\n [\"夜深了,帮你打开{0}功能,静音不扰眠。\".format(night_wash_name), \n \"时间有点晚了,我会静悄悄的。\",\n \"夜间洗衣,已自动开启静音洗涤,守护您的安宁。\",\n \"夜洗功能也准备好了,洗衣机会低噪运行,让您静享安宁。\"\n ] |random if night_wash_on else\n [\"夜深了,帮你打开{},智能保管衣物。\".format(wind_cruise_name) ,\n \"时间有点晚了,{}功能可以帮你守护衣物到天明。\".format(wind_cruise_name),\n \"夜间洗衣,帮你开启{}了,衣物久放也不用怕。\".format(wind_cruise_name),\n \"{}也准备好了,洗完会帮你智能保管衣物。\".format(wind_cruise_name)\n ]|random if wind_cruise_on else\n \"\"\n] | first] | reject(\"equalto\", \"\") | join(\"\") }}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:care", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:care" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_wash_environmental", "name": "X11洗衣机-环保模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "environmental", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_environmental", "seeker_wash_environmental", "seekerR2_wash_environmental", "x11_ultra_wash_environmental" ], "description": "X11 洗衣机 环保模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{{ [prefix_message |trim,\"马上就到错峰用电时间段了,建议您预约洗护。\"] |reject(\"equalto\", \"\") | join(\"\")}}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:environmental", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_wash_health", "name": "X11洗衣机-健康模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "health", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_health", "seeker_wash_health", "seekerR2_wash_health", "x11_ultra_wash_health" ], "description": "X11 洗衣机 健康模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{{\"你的洗衣机该清洁了,快启用{}程序给它洗个澡吧!注意不要放入衣服和洗衣液哦。\".format(program_name)}}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_health", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:health" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_wash_health2", "name": "X11洗衣机-健康2-杀菌模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11", "template_type": "health2", "type_id": "201c51890c31c308050100218008390000000000000000000000000000000040", "zone_ids": [ "2", "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_wash_health2", "seeker_wash_health2", "seekerR2_wash_health2", "x11_ultra_wash_health2" ], "description": "X11 洗衣机 健康2-杀菌模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set health2_features = health2_features | string | trim %}\n{{\"最近天气湿度较高,帮你打开了{}功能,杀菌消毒更放心哦。\".format(health2_features)}}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_health_2", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:2:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008390000000000000000000000000000000040:3:single_card:health" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_dry_common", "name": "X11干衣机-通用模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11", "template_type": "common", "type_id": "201c51890c31c308310100218003484748000000000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_dry_common", "seeker_dry_common", "seekerR2_dry_common", "x11_ultra_dry_common" ], "description": "X11 干衣机 通用模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% macro count_round(value) %}\n{% set value = value | int %}\n {{ (value / 10) | round(0) | int * 10 }}\n{% endmacro %}\n\n{% macro approx_fraction(p) -%}\n{%- set p = 99 if p |int >= 100 else p -%}\n{%- if p >= 50 -%}\n百分之{{ ['','一','二','三','四','五','六','七','八','九'][p//10] }}{{ '十' if p >= 10 else '' }}{{\n['','一','二','三','四','五','六','七','八','九'][p%10] if p%10 else '' }}\n{%- elif p >= 40 -%}一半\n{%- else -%}三分之一\n{%- endif -%}\n{%- endmacro %}\n\n{# ---------------------内部随机用的数组 --------------------- #}\n\n{% set greeting = [\"嗨\", \"哈喽\"] %}\n{% set assistant1 = [\"小优来啦\", \"你的洗护小管家来啦\", \"你的洗护小助手来啦\", \"你的洗护小精灵来啦\", \"你的洗护小管家上线啦\", \"你的洗护小助手上线啦\", \"你的洗护小精灵上线啦\", \"小优前来报到\",\n\"洗护小管家前来报道\", \"洗护小助手前来报道\", \"洗护小精灵前来报到\"] %}\n{% set assistant2 = [\"干衣推荐来啦\", \"干衣小贴士来啦\", \"又要烘干衣服啦\", \"又来烘干衣服啦\", \"干衣时间到啦\"] %}\n{% set user1 = [ \"位用户\", \"位邻居\", \"位朋友\", \"户家庭\", \"个小伙伴\"] %}\n{% set user2 = [\"用户\", \"小伙伴\", \"邻居\"] %}\n\n\n{# 干燥度枚举映射 #}\n{% set dry_level_map = {\n \"1\": \"潮湿\",\n \"2\": \"即熨\",\n \"3\": \"即穿\",\n \"4\": \"储藏\",\n \"5\": \"特干\"\n} %}\n\n{# 温度枚举映射 #}\n{% set dry_temp_map = {\n \"0\": \"冷风\",\n \"1\": \"低温\",\n \"2\": \"中温\",\n \"3\": \"高温\"\n} %}\n\n{%- macro commands_params(changed_params) -%}\n\n{%- if changed_params is none or changed_params == {} or changed_params == \"\" -%}\n{{ \"\" }}\n{%- else -%}\n\n{# 注意:不要用 or 取值,因为 0 会被当成 false #}\n{%- set dryLevel_raw = dry_level_map.get(changed_params['DryLevel']|string|trim) if 'DryLevel' in changed_params else changed_params.get('干燥度') -%}\n{%- set dryTemp_raw = dry_temp_map.get(changed_params['DryTemp']|string|trim)if 'DryTemp' in changed_params else changed_params.get('温度') -%}\n{%- set fanLevel_raw = changed_params['FanLevel'] if 'FanLevel' in changed_params else changed_params.get('风力') -%}\n\n{{ [\n \"干燥度:{}\".format(dryLevel_raw) if dryLevel_raw else \"\",\n \"温度:{}\".format(dryTemp_raw) if dryTemp_raw else \"\",\n \"风力{}挡\".format(fanLevel_raw) if fanLevel_raw and fanLevel_raw != \"0\" else \"\"\n] | reject(\"equalto\", \"\") | join(\",\") }}\n{%- endif -%} \n\n{%- endmacro %}\n\n\n\n{# --------------------- 人气/定制简短模板函数 --------------------- #} \n{% set prefix_message %}\n{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{% if program_name %}\n\n {% if rerank_reason |upper == \"PIN_CONSECUTIVE\" %}\n {%set commands_text = commands_params(changed_params) | trim %}\n {{[\n \"{0}好呀,小优发现你最近几次干衣都喜欢用{1}程序,{2}给你准备好了。\".format(period, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},发现你最近几次干衣都使用{1},{2}给你准备好了。\".format(assistant1 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},为你推荐最近几次常用的{1}程序,{2}赶快启动吧!\".format(assistant2 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},最懂你的小优来啦,你最近几次干衣都使用了{1}程序,{2}这次还这么用吧。\".format(greeting |random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"又能帮你烘干衣服了,小优很开心哦。前几次干衣你都使用{0}程序,我猜你这次还想用它。\".format(\n program_name\n )\n ] | random \n }} \n {% elif rerank_reason |upper == \"PIN_WEEKLY\" %}\n {%set feature_week_name=\"每周这个时间都喜欢用\"%}\n {%set commands_text = commands_params(changed_params) | trim %}\n {{[\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},{1},推荐你{2}的{3}程序。{4}\".format(\n greeting |random,\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},你{1}的{2}程序,{3}给你准备好了。\".format(\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"这个使用习惯\" if commands_text else \"\"\n ),\n \"{0},小优准备了你{1}的{2}程序,{3}赶快启动吧!\".format(\n assistant2 | random,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n )\n ] | random}}\n {% elif recommend_type |upper == \"POPULAR\" %}\n {{ [\n \"{0},给你准备了{1}人气最高的{2}程序。\".format(assistant1 | random, city, program_name),\n \"{0},这个时间{1}程序在{2}使用率最高哦。\".format(assistant2 | random, program_name, city),\n \"{0}好呀,为你推荐{1}人气最高的{2}程序。\".format(period, city, program_name),\n \"嗨,小优发现这个时间{0},{1}程序人气最高哦。\".format(city, program_name),\n \"{0}干衣推荐来啦,{1}程序是{2}当前的热门程序哦。\".format(season, program_name, city)\n ] | random \n }}\n {% elif recommend_type |upper == \"CUSTOM\" %}\n {%set commands_text = commands_params(changed_params) | trim %}\n {{ [\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(period, feature_name, program_name, commands_text~\",\" if commands_text else \"\"),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}\".format(period, feature_name, program_name, commands_text~\"。\" if commands_text else \"\"),\n \"{0},推荐你{1}的{2}程序。{3}\".format(assistant1 | random, feature_name, program_name, commands_text~\"。\" if commands_text else \"\"),\n \"{0},为你准备了你{1}的{2}程序。{3}\".format(assistant1 | random, feature_name, program_name, commands_text~\"。\" if commands_text else \"\"),\n \"{0},你{1}的{2}程序,{3}已经准备就绪。\".format(assistant2 | random, feature_name, program_name, commands_text if commands_text else \"\")\n ]| random }}\n {% endif %}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}\n{% endset %}", "redis_key_second": "broadcast-template-jinja:single_card:dry:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218003484748000000000000000000000000000040:0:single_card:common" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_dry_time_popular", "name": "X11干衣机-人气模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11", "template_type": "time_popular", "type_id": "201c51890c31c308310100218003484748000000000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_dry_time_popular", "seeker_dry_time_popular", "seekerR2_dry_time_popular", "x11_ultra_dry_time_popular" ], "description": "X11 干衣机 人气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{% set count = count_round(count) | int %}\n{% set user_count = count_round(user_count) |int %}\n{% set user_proportion = user_proportion | int %}\n{% if program_name %}\n\n{% if rerank_reason |upper == \"PIN_CONSECUTIVE\" %}\n {%set commands_text = commands_params(changed_params) | trim %}\n {{[\n \"{0}好呀,小优发现你最近几次干衣都喜欢用{1}程序,{2}给你准备好了。\".format(period, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},发现你最近几次干衣都使用{1},{2}给你准备好了。\".format(assistant1 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},为你推荐最近几次常用的{1}程序,{2}赶快启动吧!\".format(assistant2 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},最懂你的小优来啦,你最近几次干衣都使用了{1}程序,{2}这次还这么用吧。\".format(greeting |random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"又能帮你烘干衣服了,小优很开心哦。前几次干衣你都使用{0}程序,我猜你这次还想用它。\".format(\n program_name\n )\n ] | random \n }} \n {% elif rerank_reason |upper == \"PIN_WEEKLY\" %}\n {%set feature_week_name=\"每周这个时间都喜欢用\"%}\n {%set commands_text = commands_params(changed_params) | trim %}\n {{[\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},{1},推荐你{2}的{3}程序。{4}\".format(\n greeting |random,\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},你{1}的{2}程序,{3}给你准备好了。\".format(\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"这个使用习惯\" if commands_text else \"\"\n ),\n \"{0},小优准备了你{1}的{2}程序,{3}赶快启动吧!\".format(\n assistant2 | random,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n )\n ] | random}}\n\t{% else %}\n\n{{ [\n \"{0}好呀,为你推荐{1}人气最高的{2}程序。{3}\".format(\n period,\n city,\n program_name,\n (\"近期有\" ~ user_count ~ \"多\" ~ (user1 | random) ~ \"都喜欢用呢。\" if user_count >= 30 else \"\")\n ),\n\n \"{0}好呀,为你推荐{1}人气最高的{2}程序。{3}\".format(\n period,\n city,\n program_name,\n (\"近期有\" ~ approx_fraction(user_proportion) ~ \"的\" ~ (user2 | random) ~ \"都喜欢用呢。\" if user_proportion >= 30 else \"\")\n ),\n\n \"{0}好呀,小优发现{1}程序在{2}的人气很高哦,{3}咱也来试试吧!\".format(\n period,\n program_name,\n city,\n (\"近期有\" ~ count ~\"多次使用记录呢,\" if count >= 100 else \"\")\n ),\n\n \"{0},给你准备了{1}人气最高的{2}程序,{3}\".format(\n assistant1 |random,\n city,\n program_name,\n (\"近期有\"~ user_count ~\"多\" ~ (user1 | random) ~ \"都喜欢用呢。咱们也来试试看吧!\" if user_count >= 30 else \"快来试试看吧!\")\n ),\n\n \"{0},{1}程序在{2}很受欢迎呢,{3}咱们也来试试看吧!\".format(\n assistant1 |random,\n program_name,\n city,\n (\"是\" ~ user_count ~\"多\"~ (user1 | random) ~ \"的共同选择。\" if user_count >= 30 else \"\")\n ),\n\n \"{0},{1},这个时间段{2}程序在{3}人气最高,{4}给你也准备好了。\".format(\n greeting | random,\n assistant1 | random,\n program_name,\n city,\n (\"超过\" ~ approx_fraction(user_proportion) ~ \"的\" ~ (user2 |random) ~ \"都在用呢,\" if user_proportion >= 30 else \"\")\n ),\n\n \"{0},为你推荐当前人气最高的{1}程序,{2}\".format(\n assistant2 | random,\n program_name,\n (city ~ \"超过\"~ approx_fraction(user_proportion) ~\"的\"~ (user2 |random) ~\"都在用哦\" if user_proportion >= 30 else \"都准备好了,直接启动就行。\")\n ),\n\n \"{0},给你准备了{1}人气最高的{2}程序,{3}\".format(\n assistant2 | random,\n city,\n program_name,\n (\"近期有\"~ user_count ~\"多\" ~ (user1 | random) ~ \"都喜欢用呢。咱们也来试试看吧!\" if user_count >= 30 else \"快启动试试吧!\")\n ),\n\n \"{0},{1}程序在{2}人气最高,{3}咱们也来试试看吧!\".format(\n assistant2 | random,\n program_name,\n city,\n (\"是\"~ user_count ~\"多\"~ (user1 | random) ~ \"的共同选择。\" if user_count >= 30 else \"\")\n ),\n\n \"{0},{1},{2}程序给你准备好了,{3}快来试试看吧!\".format(\n greeting | random,\n assistant2 | random,\n program_name,\n (\"这个时间\"~ city ~\"有超过\"~ approx_fraction(user_proportion) ~\"的\"~ (user2 |random) ~\"都在用它,\" if user_proportion >= 30 else \"\")\n ),\n\n \"{0}好呀,根据全网用户的使用偏好,我帮你选好了{1}程序,你放心用就好了。\".format(\n period,\n program_name\n ),\n\n \"{0}好呀,小优发现大家都爱用{1}程序,今天我们也来试试吧。\".format(\n period,\n program_name\n ),\n\n \"{0},为你准备好了全网使用率最高的{1}程序,来试试效果怎么样吧。\".format(\n assistant1 | random,\n program_name\n ),\n\n \"{0}!{1},{2}程序很受欢迎,给你也准备好了,快启动体验一下吧\".format(\n greeting | random,\n assistant2 | random,\n program_name\n ),\n\n \"{0}!{1},今天我们来试试这个人气最高的程序吧。\".format(\n greeting | random,\n assistant2 | random\n )\n\n] | random }}\n{% endif %}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218003484748000000000000000000000000000040:0:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.137235+08:00", "updated_at": "2026-09-09T13:02:25.137235+08:00" }, { "id": "x11_dry_time_custom", "name": "X11干衣机-定制模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11", "template_type": "time_custom", "type_id": "201c51890c31c308310100218003484748000000000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_dry_time_custom", "seeker_dry_time_custom", "seekerR2_dry_time_custom", "x11_ultra_dry_time_custom" ], "description": "X11 干衣机 定制模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{% if program_name %}\n{%set commands_text = commands_params(changed_params) | trim %}\n{% if rerank_reason |upper == \"PIN_CONSECUTIVE\" %}\n {{[\n \"{0}好呀,小优发现你最近几次干衣都喜欢用{1}程序,{2}给你准备好了。\".format(period, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},发现你最近几次干衣都使用{1},{2}给你准备好了。\".format(assistant1 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},为你推荐最近几次常用的{1}程序,{2}赶快启动吧!\".format(assistant2 | random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},最懂你的小优来啦,你最近几次干衣都使用了{1}程序,{2}这次还这么用吧。\".format(greeting |random, program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"又能帮你烘干衣服了,小优很开心哦。前几次干衣你都使用{0}程序,我猜你这次还想用它。\".format(\n program_name\n )\n ] | random \n }} \n {% elif rerank_reason |upper == \"PIN_WEEKLY\" %}\n {%set feature_week_name=\"每周这个时间都喜欢用\"%}\n {{[\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧。\".format(\n period,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0},{1},推荐你{2}的{3}程序。{4}\".format(\n greeting |random,\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},你{1}的{2}程序,{3}给你准备好了。\".format(\n assistant1 | random,\n feature_week_name,\n program_name,\n commands_text~\"这个使用习惯\" if commands_text else \"\"\n ),\n \"{0},小优准备了你{1}的{2}程序,{3}赶快启动吧!\".format(\n assistant2 | random,\n feature_week_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n )\n ] | random}}\n\t{% elif feature_name!=\"\" %}\n\n{{ [\n \"{0}好呀,小优发现你{1}{2}程序,{3}给你准备好了。\".format(\n period,\n feature_name,\n program_name,\n commands_text~\",\" if commands_text else \"\"\n ),\n \"{0}好呀,小优准备了你{1}的{2}程序。{3}快来启动吧\".format(\n period,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0}好呀,{1}程序已经准备就绪了,它可是你{2}的程序。{3}赶快启动吧\".format(\n period,\n program_name,\n feature_name,\n commands_text~\"的习惯参数也帮你设置好了。\" if commands_text else \"\"\n ),\n \"{0},{1},推荐你{2}的{3}程序,{4}\".format(\n greeting | random,\n assistant1 | random,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},{1},为你准备了你{2}的{3}程序。{4}\".format(\n greeting | random,\n assistant1 | random,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"{0},你{1}的{2}程序{3}\".format(\n assistant2 | random,\n feature_name,\n program_name,\n \"和\"~commands_text~\"的习惯参数给你准备好了。\" if commands_text else \",给你准备好了。\"\n ),\n \"{0},为你推荐{1}的{2}程序,{3}赶快启动吧!\".format(\n assistant2 | random,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \n \"{0},你{1}的{2}程序,{3}已经准备就绪。\".format(\n assistant2 | random,\n feature_name,\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n \"我发现你喜欢这么用,我给你准备好了,现在开始烘干吗?\",\n \"又是为你贴心服务的一天,今天为你专属定制{0}程序,{1}赶快启动吧。\".format(\n program_name,\n commands_text~\"。\" if commands_text else \"\"\n ),\n ]| random }}\n {% else %}\n\n {{\"你好,推荐您常用的{0}程序,已准备好了,快开始启动吧。\".format(program_name)}}\n {% endif %} \n\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218003484748000000000000000000000000000040:0:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "x11_dry_weather", "name": "X11干衣机-天气模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11", "template_type": "weather", "type_id": "201c51890c31c308310100218003484748000000000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_dry_weather", "seeker_dry_weather", "seekerR2_dry_weather", "x11_ultra_dry_weather" ], "description": "X11 干衣机 天气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set wd_link = wd_link | string |trim %}\n{% set washdry = washdry | string |trim %}\n{{ \n[ prefix_message |trim,\n [\n \"今天阴天,洗完烘干更省心哦。\" if weather == '阴' else\n \"天气预报今天有{},洗完烘干更省心哦。\".format(weather) if weather in ['小雨','中雨','大雨','暴雨','小雪','中雪','大雪','暴雪','雾霾','中度雾霾','重度雾霾','沙尘'] else\n \"今天天气不太好,洗完烘干更省心哦。\"\n ] | first if washdry == \"_wd\" else ''\n]| reject(\"equalto\", \"\") | join(\"\")\n}}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218003484748000000000000000000000000000040:0:single_card:weather" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "x11_dry_time_season", "name": "X11干衣机-季节模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11", "template_type": "time_season", "type_id": "201c51890c31c308310100218003484748000000000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_dry_time_season", "seeker_dry_time_season", "seekerR2_dry_time_season", "x11_ultra_dry_time_season" ], "description": "X11 干衣机 季节模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set program_name = program_name_map.get(program_id) %}\n{{ [\n\"立春启新,暖意渐浓!轻盈的春装该提前准备了。{}\".format(\n\"为您推荐\"~program_name~\"程序,烘干同时守护面料防水性能,春日出行清爽随行。\"\nif program_id == '52' else \"\")\nif time_term == '立春' and filter_rule_code== 'time_season_in' else\n\n\"立春时节,天气渐暖。厚重冬衣,烘干后收纳才靠谱。{}\".format(\n\"为您推荐\"~program_name~\"程序,将冬日暖意妥善封存。\" if program_id in [\"3\",\"10\"] else \"\")\nif time_term == '立春' and filter_rule_code== 'time_season_storage' else\n\n\"立夏时节,暑气渐长。轻薄的夏日穿搭该提前准备好啦。{}\".format(\n\"为您推荐\"~program_name~\"程序,让您的夏日穿搭清爽挺括。\" if program_id == \"22\" else \"\")\nif time_term == '立夏' and filter_rule_code== 'time_season_in' else\n\n\"立夏潮闷,春装收纳正当时。{}\".format(\n\"推荐使用\"~program_name~\"程序,彻底烘干衣物潮气与风尘,防止霉变,便于安心久存。\" if program_id == '52' else \"\")\nif time_term == '立夏' and filter_rule_code== 'time_season_storage' else\n\n\"立秋已至,暑去凉来。是时候取出压箱底的秋装,准备添衣了。{}\".format(\n\"为您推荐\"~program_name~\"程序,守护面料防水与防风性能,伴您从容出行。\" if program_id == '52' else \"\")\nif time_term == '立秋' and filter_rule_code== 'time_season_in' else\n\n\"立秋换季,夏装可以功成身退啦。{}\".format(\n\"推荐使用\"~program_name~\"程序,帮您留住夏日风采~\"\nif program_id == \"22\" else \"\")\nif time_term == '立秋' and filter_rule_code== 'time_season_storage' else\n\n\"立冬安康,寒潮将至。保暖的冬装该登场了。{}\".format(\n\"为您推荐\"~program_name~\"程序,均匀烘干去除潮气,让衣物恢复蓬松柔软,为您锁住冬日温暖。\" if program_id in [\"10\",\"3\"] else \"\")\nif time_term == '立冬' and filter_rule_code== 'time_season_in' else\n\n\"立冬时节,薄款秋装该收纳入库啦。{}\".format(\n\"为您推荐\"~program_name~\"程序,温和烘干去除潮气,让衣物处于最佳储存状态,静待明年春日。\" if program_id == '52' else \"\")\nif time_term == '立冬' and filter_rule_code== 'time_season_storage'\n\n]| random}}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218003484748000000000000000000000000000040:0:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "x11_dry_care", "name": "X11干衣机-关怀模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11", "template_type": "care", "type_id": "201c51890c31c308310100218003484748000000000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_dry_care", "seeker_dry_care", "seekerR2_dry_care", "x11_ultra_dry_care" ], "description": "X11 干衣机 关怀模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set night_dry_on = care.get(\"night_dry\", {}).get(\"active\", 0) == 1 %}\n{% set night_dry_name = care.get(\"night_dry\", {}).get(\"display_name\", \"夜间烘\") %}\n{% set wind_cruise_on = care.get(\"wind_cruise\", {}).get(\"active\", 0) == 1 %}\n{% set wind_cruise_name = care.get(\"wind_cruise\", {}).get(\"display_name\", \"延取防皱\") %}\n\n{{ [prefix_message |trim, [\n [\"夜深了,帮你打开{0}和{1}功能啦。\".format(night_dry_name, wind_cruise_name),\n \"时间有点晚了,已为你开启{0}和{1},衣物久放也不皱。\".format(night_dry_name, wind_cruise_name),\n \"{0}已开启,静音干衣,{1}为您守护衣物至天明。\".format(night_dry_name, wind_cruise_name),\n \"已开启{0},自动降噪并开启{1}防止褶皱。\".format(night_dry_name, wind_cruise_name)\n ] |random if night_dry_on and wind_cruise_on else\n [\"夜深了,帮你打开{0}啦,静音不扰眠。\".format(night_dry_name), \n \"时间有点晚了,我会静悄悄的。\",\n \"夜间干衣,已自动开启静音功能,守护您的安宁。\",\n \"夜间烘也准备好了,干衣机会低噪运行,让您静享安宁。\"\n ] |random if night_dry_on else\n [\"夜深了,帮你打开{0},智能保管衣物。\".format(wind_cruise_name) ,\n \"时间有点晚了,{0}功能帮你守护衣物到天明。\".format(wind_cruise_name),\n \"夜间干衣,帮你打开{0}了,衣物久放也不用怕。\".format(wind_cruise_name),\n \"{0}也准备好了,烘干完成会帮你智能保管衣物。\".format(wind_cruise_name)\n ]|random if wind_cruise_on else\n \"\"\n] | first] | reject(\"equalto\", \"\") | join(\"\") }}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218003484748000000000000000000000000000040:0:single_card:care" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "x11_dry_environmental", "name": "X11干衣机-环保模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11", "template_type": "environmental", "type_id": "201c51890c31c308310100218003484748000000000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [ "ultra_dry_environmental", "seeker_dry_environmental", "seekerR2_dry_environmental", "x11_ultra_dry_environmental" ], "description": "X11 干衣机 环保模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{{ [prefix_message |trim,\"马上就到错峰用电时间段了,建议您预约烘干。\"] |reject(\"equalto\", \"\") | join(\"\")}}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218003484748000000000000000000000000000040:0:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_common", "name": "Hplus洗衣机-通用模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "common", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 通用模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{%- macro commands_params(changed_params) -%}\n{%- if changed_params is none or changed_params == {} or changed_params == \"\" -%}\n{{\"\"}}\n{%- else -%}\n{%- set setTemp_raw = changed_params.get('setTemp') -%}\n{%- set speed_raw = changed_params.get('speed') -%}\n{%- set spinTime_raw = changed_params.get('spinTime') -%}\n{%- set washTime_raw = changed_params.get('washTime') -%}\n\n{%- set setTemp = setTemp_raw | int if setTemp_raw not in [none, ''] else none -%}\n{%- set speed = speed_raw | int if speed_raw not in [none, ''] else none -%}\n{%- set spinTime = spinTime_raw | int if spinTime_raw not in [none, ''] else none -%}\n{%- set washTime = washTime_raw | int if washTime_raw not in [none, ''] else none -%}\n{{[\n \"水温常温\" if setTemp is not none and setTemp == 0 else \"水温95度\" if setTemp is not in [none, 65535] and setTemp >= 90 else \"水温{}度\".format(setTemp) if setTemp is not in [none, 65535] else \"\",\n \"转速{}转\".format(speed * 10) if speed is not in [none, 0, 65535] else \"\",\n \"漂洗{}次\".format(spinTime) if spinTime not in [none, '', 65535 ] else \"\", \n \"洗涤{}分钟\".format(washTime) if washTime not in [none, '', 0, 65535] and washTime <= 255 else \"\"\n] | reject(\"equalto\", \"\") | join(\",\") }}\n{%- endif -%}\n{%- endmacro -%}\n\n{% set down_prog_map = {\n\"1\": {\"name\":\"棉麻\",\"desc\":\"适用于棉麻类衣物的洗涤。\"},\n\"2\": {\"name\":\"化纤\",\"desc\":\"适用于化纤类衣物的洗涤。\"},\n\"3\": {\"name\":\"羽绒\",\"desc\":\"适用于可机洗的羽绒类衣物及填充物为合成纤维的棉服。例如:羽绒外套、丝棉背心等。\"},\n\"6\": {\"name\":\"衬衣\",\"desc\":\"适用于棉质、亚麻、合成纤维及其混纺类衬衣的洗涤。\"},\n\"7\": {\"name\":\"童装\",\"desc\":\"适用于婴幼儿棉质及混纺衣物的洗涤。例如:婴儿服、爬服、婴儿床品等。建议使用适用于婴幼儿衣物的洗涤剂。\"},\n\"9\": {\"name\":\"烫烫净\",\"desc\":\"适用于可耐高温的棉麻类衣物的除菌洗涤;例如:婴幼儿棉质衣物、床品或较脏的衣物。\"},\n\"10\":{\"name\":\"羊毛\",\"desc\":\"适用于可机洗的羊毛及羊毛混纺衣物的洗涤,洗衣强度较低,以轻柔地护理羊毛织物,降低缩水、毡化\"},\n\"13\":{\"name\":\"筒自洁\",\"desc\":\"适用于清洁洗衣机内外筒,借助离子净化技术结合高温水流,深入清洁内筒缝隙中的污垢与细菌。为了避免高温导致泡沫溢出,请勿添加任何清洗剂。\"},\n\"14\": {\"name\":\"内衣\",\"desc\":\"适用于可机洗内衣的洗涤,如秋衣秋裤、保暖衣的日常洗涤。\"},\n\"15\": {\"name\":\"速洗\",\"desc\":\"适用于有轻微污渍的衣物的快速洗涤。例如:夏季日常换洗的衣物。\"},\n\"17\": {\"name\":\"大件\",\"desc\":\"适用于可机洗的棉质、亚麻及混合面料的大件织物的日常洗涤。例如:棉质床单、被罩、毛巾被、秋冬季棉质工装等。\"},\n\"18\": {\"name\":\"运动服\",\"desc\":\"适用于棉质、合成纤维等运动类衣物的洗涤。低温水流有效保护衣物纤维,维持衣物功能性。\"},\n\"19\": {\"name\":\"超柔\",\"desc\":\"适用于可机洗的真丝类、手洗类衣物的洗涤。易褶皱类衣物请降低脱水转速,衣量不超过一公斤。\"},\n\"27\": {\"name\":\"漂+脱\",\"desc\":\"仅对衣物进行漂洗和脱水操作,也可用于手洗后漂洗脱水。请确认要漂洗的衣物适合机洗。\"},\n\"28\": {\"name\":\"单脱水\",\"desc\":\"仅对衣物进行脱水操作,也可用于手洗后衣物的脱水。请确认要脱水的衣物适合机洗。\"},\n\"40\": {\"name\":\"强力洗\",\"desc\":\"适用于耐磨的棉、麻及其混纺衣物的洗涤。通过增强洗护力度实现深层去污。\"},\n\"52\": {\"name\":\"冲锋衣\",\"desc\":\"适用于含有防水涂层面料的户外衣物的洗涤。例如:冲锋衣、户外裤、夹克等。建议洗前拉上拉链,切勿使用柔顺剂。\"},\n\"56\": {\"name\":\"智慧洗\",\"desc\":\"适用于棉、麻、合成纤维类衣物的洗涤。程序会根据衣物的重量自动调节洗涤方式,确保衣物达到最佳洗护效果。\"},\n\"58\": {\"name\":\"浴巾\",\"desc\":\"适用于毛巾、浴巾等用品的洗涤,通过持续高温水流有效杀菌和消除衣物上的污渍和异味。\"}\n} %}", "redis_key_second": "broadcast-template-jinja:single_card:wash:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:common" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_time_popular", "name": "Hplus洗衣机-人气模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "time_popular", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 人气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set prog = down_prog_map.get(program_id) %}\n{% if prog %}\n{{ [\n\"{0}程序,是{1}当前人气最高的程序哦。{2}\".format(\ndown_prog_map[program_id].name,\ncity,\n\"它\"~down_prog_map[program_id].desc\n),\n\n\"{0}程序,在{1}人气最高哦。{2}\".format(\ndown_prog_map[program_id].name,\ncity,\n\"它\"~down_prog_map[program_id].desc\n),\n\n\"{0}程序,在{1}很受欢迎呢。{2}\".format(\ndown_prog_map[program_id].name,\ncity,\n\"它\"~down_prog_map[program_id].desc\n),\n\n\"{0}程序,是全网人气最高的程序哦。{1}\".format(\ndown_prog_map[program_id].name,\n\"它\"~down_prog_map[program_id].desc\n),\n\n\"{0}程序,在全网都很受欢迎呢。{1}\".format(\ndown_prog_map[program_id].name,\n\"它\"~down_prog_map[program_id].desc\n)\n] | random }}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_time_custom", "name": "Hplus洗衣机-定制模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "time_custom", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 定制模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set prog = down_prog_map.get(program_id) %}\n{% if prog %}\n{% if feature_name != \"\" %}\n\n{% set commands_text = commands_params(changed_params) %}\n{% if commands_text != \"\" %}\n{{ [[\n\"{0}程序,是你{1}的程序呢\".format(\ndown_prog_map[program_id].name,\nfeature_name\n),\n\n\"发现你{0}{1}程序呢\".format(\nfeature_name,\ndown_prog_map[program_id].name\n),\n\n\"这是你{0}的程序呢\".format(\nfeature_name\n)\n\n] | random,\n[\ncommands_text ~ \"的习惯参数也帮你记着了。\",\ncommands_text ~ \"的习惯参数也帮你准备好了。\",\n\"AI守护帮你设置了习惯的\" ~ commands_text ~ \"。\"\n] | random] | reject(\"equalto\", \"\") | join(\",\") }}\n{% else %}\n{{ [\n\"{0}程序,是你{1}的程序呢,{2}\".format(\ndown_prog_map[program_id].name,\nfeature_name,\n\"它\" ~ down_prog_map[program_id].desc\n),\n\"发现你{0}{1}程序呢。{2}\".format(\nfeature_name,\ndown_prog_map[program_id].name,\n\"它\" ~ down_prog_map[program_id].desc\n),\n\"这是你{0}的程序呢,{1}\".format(\nfeature_name,\n\"它\" ~ down_prog_map[program_id].desc\n)\n] | random }}\n{% endif %}\n{% else %}\n帮你准备了{{down_prog_map[program_id].name}}程序,它{{down_prog_map[program_id].desc}}\n{% endif %}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_weather", "name": "Hplus洗衣机-天气模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "weather", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 天气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{{ [\n[\n\"今天阴天,晾晒衣物会比较慢,帮你打开洗烘联动啦。\",\n\"今天阴天,晾晒衣物会比较慢,洗烘联动更省心哦。\"\n] | random if weather == '阴' else\n\n[\n\"今天预报有{},不适合室外晾晒,帮你打开洗烘联动啦。\".format(weather),\n\"今天预报有{},不适合室外晾晒,洗烘联动更省心哦。\".format(weather)\n] | random if weather in ['小雨','中雨','大雨','暴雨'] else\n\n[\n\"今天预报有{},不适合室外晾晒,帮你打开洗烘联动啦。\".format(weather),\n\"今天预报有{},不适合室外晾晒,洗烘联动更省心哦。\".format(weather)\n] | random if weather in ['小雪','中雪','大雪','暴雪'] else\n\n[\n\"今天有{},室外晾晒容易导致二次污染,帮你打开洗烘联动啦。\".format(weather),\n\"今天有{},室外晾晒容易导致二次污染,洗烘联动更省心哦。\".format(weather)\n] | random if weather in ['雾霾','中度雾霾','重度雾霾','沙尘暴'] else\n\n[\n\"今天天气不太好,帮你打开洗烘联动啦。\",\n\"今天天气不太好,洗烘联动更省心哦。\"\n] |random\n\n] | first }}", "redis_key_second": "broadcast-template-jinja:single_card:wash:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:weather" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_time_season_in", "name": "Hplus洗衣机-季节上新模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "time_season_in", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 季节上新模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set prog = down_prog_map.get(program_id) %}\n{% if prog %}\n{% set program_name = down_prog_map[program_id].name %}\n{{ [\n\"立春快乐,春风送暖,是时候准备好轻盈的春装了。{}\".format(\n\"AI守护提醒您记得拉好拉链,将\"~program_name~\"内外翻转后洗涤,不用使用柔顺剂哦。\"\nif program_name == '冲锋衣' else \"\")\nif time_term == '立春' else\n\n\"立夏时节,暑气渐长。轻薄的夏日穿搭该拿出来洗洗啦。{}\".format(\n\"AI守护提醒您使用\"~program_name~\"专用洗剂,洗护效果更佳哦。\"\nif program_name == '丝绸' else \"\")\nif time_term == '立夏' else\n\n\"立秋已至,暑去凉来。是时候洗净压箱底的秋装,准备添衣了。{}\".format(\n\"AI守护提醒您记得拉好拉链,将\"~program_name~\"内外翻转后洗涤,不用使用柔顺剂哦。\"\nif program_name == '冲锋衣' else \"\")\nif time_term == '立秋' else\n\n\"立冬安康,寒潮将至。保暖的冬装该登场了。{}\".format(\n\"AI守护提醒您使用\"~program_name~\"专用洗剂,洗护效果更佳哦。\" if program_name == '羊毛' else\n\"AI守护提醒您\"~program_name~\"衣物洗前记得拉好拉链,内外翻转后洗涤。\" if program_name ==\"羽绒\" else\n\"\")\nif time_term == '立冬' \n\n]| random}}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_season_in", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_time_season_storage", "name": "Hplus洗衣机-季节收纳模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "time_season_storage", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 季节收纳模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set prog = down_prog_map.get(program_id) %}\n{% if prog %}\n{% set program_name = down_prog_map[program_id].name %}\n{{ [\n\n\"立春时节,是时候洗好厚重衣物收纳起来啦。{}\".format(\n\"AI守护提醒您使用\"~program_name~\"专用洗剂,洗护效果更佳哦。\" if program_name == '羊毛' else\n\"AI守护提醒您羽绒衣物洗前记得拉好拉链,内外翻转后洗涤。\" if program_name ==\"羽绒\" else\n\"\")\nif time_term == '立春' else\n\n\"立夏潮闷,春装收纳正当时。{}\".format(\n\"AI守护提醒您记得拉好拉链,将\"~program_name~\"内外翻转后洗涤,不用使用柔顺剂哦。\"\nif program_name == '冲锋衣' else \"\")\nif time_term == '立夏' else\n\n\n\"立秋换季,夏装可以功成身退啦。{}\".format(\n\"AI守护提醒您使用\"~program_name~\"专用洗剂,洗护效果更佳哦。\"\nif program_name == '丝绸' else \"\")\nif time_term == '立秋' else\n\n\"立冬时节,薄款秋装该收起来啦。{}\".format(\n\"AI守护提醒您记得拉好拉链,将\"~program_name~\"内外翻转后洗涤,不用使用柔顺剂哦。\"\nif program_name == '冲锋衣' else \"\")\nif time_term == '立冬' \n\n]| random}}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_season_storage", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_care", "name": "Hplus洗衣机-关怀模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "care", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 关怀模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set name_wash = \"夜间洗\" %}\n{% set name_wind = \"延取防皱\" %}\n{% set night_wash = washNight if washNight !=\"0\" else \"\"%}\n{% set wind_cruise = WFreeCn if WFreeCn !=\"0\" else \"\"%}\n{{ [\n [\"夜深了,AI守护已为您开启{0}和{1}啦,衣服就放心交给我吧。\".format(name_wash, name_wind) ,\n \"时间有点晚了,已为你开启{0}和{1},衣物久放也不闷。\".format(name_wash, name_wind),\n \"{0}已开启,静音洗衣,不扰眠。{1}为您守护衣物至天明。\".format(name_wash, name_wind),\n \"AI守护已开启{0}和{1},降噪洗护,防止衣物产生异味和褶皱。\".format(name_wash, name_wind)\n ] |random if night_wash and wind_cruise else\n [\"夜深了,AI守护已为您开启{}功能,静音洗衣不扰眠。\".format(name_wash), \n \"时间有点晚了,我会静悄悄的。\",\n \"夜间洗衣,AI守护已自动开启静音洗涤,守护您的安宁。\",\n \"夜洗功能已开启,洗衣机会低噪运行,让您静享安宁。\"\n ] |random if night_wash else\n [\"夜深了,AI守护已帮你打开{},智能保管衣物。\".format(name_wind) ,\n \"时间有点晚了,{}功能会帮你守护衣物到天明。\".format(name_wind),\n \"夜间洗衣,帮你开启{}了,衣物久放也不用怕。\".format(name_wind),\n \"{}准备好了,洗完会帮你智能保管衣物。\".format(name_wind)\n ]|random if wind_cruise else\n \"\"\n] | first }}", "redis_key_second": "broadcast-template-jinja:single_card:wash:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:care" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_environmental", "name": "Hplus洗衣机-环保模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "environmental", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 环保模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "AI守护提醒您,马上就到错峰用电时间段了,建议您预约洗护。", "redis_key_second": "broadcast-template-jinja:single_card:wash:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_wash_health", "name": "Hplus洗衣机-健康模板", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "hplus", "template_type": "health", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "3" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 洗衣机 健康模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set prog = down_prog_map.get(program_id) %}\n{% if prog %}\n{% set health_name = down_prog_map[program_id].name %}\n{{ \n\"您的洗衣筒需要清洁了,请及时使用{}程序清洗。\".format(health_name) if remainderNum |int <= 0 else \n\"\"\n}}\n{%- endif -%}", "redis_key_second": "broadcast-template-jinja:single_card:wash:health", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:3:single_card:health" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_dry_common", "name": "Hplus干衣机-通用模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "hplus", "template_type": "common", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 干衣机 通用模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set up_prog_map = {\n\"1\": {\"name\":\"棉麻\",\"desc\":\"适用于耐磨、耐热的棉、麻及其混纺衣物。\"},\n\"2\": {\"name\":\"化纤\",\"desc\":\"适用于合成纤维及轻薄棉织物。精准控温,快速干燥的同时有效避免面料损伤,保护纤维弹性。\"},\n\"3\": {\"name\":\"羽绒\",\"desc\":\"适用于可烘干的羽绒衣物及合成纤维填充的棉服。通过气流和翻转确保羽绒蓬松轻盈。\"},\n\"6\": {\"name\":\"衬衣\",\"desc\":\"适用于纯棉、亚麻、合成纤维及其混纺的衬衫,合理烘干档位可有效减少衣物褶皱,烘后即穿。\"},\n\"7\": {\"name\":\"童装\",\"desc\":\"适用于婴幼儿棉质及其混纺衣物。例如:婴儿服、爬服、婴儿床品等。\"},\n\"10\":{\"name\":\"羊毛\",\"desc\":\"适用于可烘干的羊毛及其混纺类衣物,可根据需求自定义烘干时间,呵护羊毛纤维不损伤。​\"},\n\"14\": {\"name\":\"内衣\",\"desc\":\"适用于耐热的贴身衣物。烘干过程同步除菌,守护家人健康。​\"},\n\"15\": {\"name\":\"速烘\",\"desc\":\"适用于少量棉麻、化纤类衣物的快速烘干。\"},\n\"17\": {\"name\":\"大件\",\"desc\":\"适用于床单、被罩等家纺织物,精准温控配合智能翻转,确保大件家纺均匀受热,降低褶皱。\"},\n\"18\": {\"name\":\"运动服\",\"desc\":\"适用于化纤或棉麻材质的运动类衣物。烘干前请查看水洗标,确保衣物适用于滚筒烘干。\"},\n\"22\": {\"name\":\"丝绸\",\"desc\":\"适用于可滚筒烘干的丝绸衣物。建议烘干前查看水洗标,确保衣物适用于滚筒烘干。\"},\n\"34\": {\"name\":\"支架烘\",\"desc\":\"适用于不可滚筒烘干的衣物,如羊毛衫、毛绒玩具等,请将衣物展开放在支架上,确保烘干效果。​\"},\n\"43\": {\"name\":\"定时\",\"desc\":\"适用于可滚筒烘干的衣物,可根据衣物重量及含水量自定义烘干时间,此程序无自动判干功能。​\"},\n\"52\": {\"name\":\"冲锋衣\",\"desc\":\"适用于冲锋衣、户外裤等功能性户外衣物。可有效保护防水涂层,维持衣物功能性。​\"},\n\"56\": {\"name\":\"智慧烘\",\"desc\":\"适用于棉、麻、合成纤维类织物。​程序会根据衣物的重量自动调节烘干时间。\"},\n\"58\": {\"name\":\"浴巾\",\"desc\":\"适用于耐热的浴巾、毛巾等家纺用品。能有效避免纤维板结,使浴巾蓬松柔软,吸水性更佳。​\"},\n\"92\": {\"name\":\"亚麻\",\"desc\":\"适用于可滚筒烘干的亚麻及其混纺织物。有效降低衣物磨损和褶皱。\"}\n} %}\n\n{# 干燥度枚举映射 #}\n{% set dry_level_map = {\n \"1\": \"潮湿\",\n \"2\": \"即熨\",\n \"3\": \"即穿\",\n \"4\": \"储藏\",\n \"5\": \"特干\"\n} %}\n\n{# 温度枚举映射 #}\n{% set dry_temp_map = {\n \"0\": \"冷风\",\n \"1\": \"低温\",\n \"2\": \"中温\",\n \"3\": \"高温\"\n} %}\n\n{# 烘干参数对应关系 #}\n{% macro commands_params(changed_params) -%}\n{% set DryLevel = changed_params.DryLevel |string |trim %}\n{% set DryTemp = changed_params.DryTemp |string |trim %}\n{% set FanLevel = changed_params.FanLevel |string |trim %}\n{{ [\n \"干燥度:{}\".format(dry_level_map.get(DryLevel)) if DryLevel and DryLevel != \"0\" else \"\",\n \"温度:{}\".format(dry_temp_map.get(DryTemp)) if DryTemp and DryTemp != \"0\" else \"\",\n \"风力{}挡\".format(FanLevel) if FanLevel and FanLevel != \"0\" else \"\"\n] | reject(\"equalto\", \"\") | join(\",\") }}\n{%- endmacro %}", "redis_key_second": "broadcast-template-jinja:single_card:dry:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:single_card:common" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_dry_time_popular", "name": "Hplus干衣机-人气模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "hplus", "template_type": "time_popular", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 干衣机 人气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set prog = up_prog_map.get(program_id) %}\n{% if prog %}\n{{ [\n\"{0}程序,是{1}当前人气最高的程序。{2}\".format(\nup_prog_map[program_id].name,\ncity,\n\"它\"~up_prog_map[program_id].desc\n),\n\n\"{0}程序,在{1}人气最高哦。{2}\".format(\nup_prog_map[program_id].name,\ncity,\n\"它\"~up_prog_map[program_id].desc\n),\n\n\"{0}程序,在{1}很受欢迎呢。{2}\".format(\nup_prog_map[program_id].name,\ncity,\n\"它\"~up_prog_map[program_id].desc\n),\n\n\"{0}程序,是全网人气最高的程序。{1}\".format(\nup_prog_map[program_id].name,\n\"它\"~up_prog_map[program_id].desc\n),\n\n\"{0}程序,在全网都很受欢迎呢。{1}\".format(\nup_prog_map[program_id].name,\n\"它\"~up_prog_map[program_id].desc\n)\n] | random }}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_dry_time_custom", "name": "Hplus干衣机-定制模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "hplus", "template_type": "time_custom", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 干衣机 定制模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | string | trim %}\n{% set prog = up_prog_map.get(program_id) %}\n{% if prog %}\n{% if feature_name != \"\" %}\n\n{% set commands_text = commands_params(changed_params) %}\n{% if commands_text != \"\" %}\n{{ [[\n\"{0}程序,是你{1}的程序呢\".format(\nup_prog_map[program_id].name,\nfeature_name\n),\n\n\"发现你{0}{1}程序呢\".format(\nfeature_name,\nup_prog_map[program_id].name\n),\n\n\"这是你{0}的程序呢\".format(\nfeature_name\n)\n\n] | random,\n[\ncommands_text ~ \"的习惯参数也帮你记着了。\",\ncommands_text ~ \"的习惯参数也帮你准备好了。\",\n\"AI守护帮你设置了习惯的\" ~ commands_text ~ \"。\"\n] | random] | reject(\"equalto\", \"\") | join(\",\") }}\n{% else %}\n{{ [\n\"{0}程序,是你{1}的程序呢,{2}\".format(\nup_prog_map[program_id].name,\nfeature_name,\n\"它\" ~ up_prog_map[program_id].desc\n),\n\"发现你{0}{1}程序呢。{2}\".format(\nfeature_name,\nup_prog_map[program_id].name,\n\"它\" ~ up_prog_map[program_id].desc\n),\n\"这是你{0}的程序呢,{1}\".format(\nfeature_name,\n\"它\" ~ up_prog_map[program_id].desc\n)\n] | random }}\n{% endif %}\n{% else %}\n帮你准备了{{up_prog_map[program_id].name}}程序,它{{up_prog_map[program_id].desc}}\n{% endif %}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_dry_time_season_in", "name": "Hplus干衣机-季节上新模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "hplus", "template_type": "time_season_in", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 干衣机 季节上新模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | trim %}\n{% set prog = up_prog_map.get(program_id) %}\n{% if prog %}\n{{ (\n \"立春启新,暖意渐浓!轻盈的春装该提前准备了。\" if time_term == '立春' else \n \"立夏时节,暑气渐长。轻薄的夏日穿搭该提前准备好啦。\" if time_term == '立夏' else \n \"立秋已至,暑去凉来。是时候取出压箱底的秋装,准备添衣了。\" if time_term == '立秋' else \n \"立冬安康,寒潮将至。保暖的冬装该登场了。\" if time_term == '立冬' else ''\n)}}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_season_in", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_dry_time_season_storage", "name": "Hplus干衣机-季节收纳模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "hplus", "template_type": "time_season_storage", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 干衣机 季节收纳模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set program_id = program_id | trim %}\n{% set prog = up_prog_map.get(program_id) %}\n{% if prog %}\n{{ (\n\"立春时节,天气渐暖。厚重冬衣,烘干后收纳才靠谱。\" if time_term == '立春' else\n\"立夏潮闷,春装收纳正当时。\" if time_term == '立夏' else\n\"立秋换季,夏装可以功成身退啦。\" if time_term == '立秋' else\n\"立冬时节,薄款秋装该收纳入库啦。\" if time_term == '立冬' else ''\n)}}\n{% else %}\n抱歉,ID为'{{ program_id }}'的程序不存在或暂未收录。\n{% endif %}", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_season_storage", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_dry_care", "name": "Hplus干衣机-关怀模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "hplus", "template_type": "care", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 干衣机 关怀模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "{% set name_dry = \"夜间烘\" %}\n{% set name_wind = \"延取防皱\" %}\n{% set night_dry = DryNight if DryNight !=\"0\" else \"\"%}\n{% set wind_cruise = WFreeCn if WFreeCn !=\"0\" else \"\"%}\n{{ [\n [\"夜深了,AI守护已为您开启{0}和{1}啦,衣服就放心交给我吧。\".format(name_dry, name_wind) ,\n \"时间有点晚了,已为你开启{0}和{1},衣物久放也不皱。\".format(name_dry, name_wind),\n \"{0}已开启,静音干衣,不扰眠。{1}为您守护衣物至天明。\".format(name_dry, name_wind),\n \"AI守护已开启{0}和{1},降噪烘干,防止衣物产生褶皱。\".format(name_dry, name_wind)\n ] |random if night_dry and wind_cruise else\n [\"夜深了,AI守护已为您开启{}功能,静音洗衣不扰眠。\".format(name_dry), \n \"时间有点晚了,我会静悄悄的。\",\n \"夜间干衣,AI守护已自动开启静音模式,守护您的安宁。\",\n \"{}功能已开启,干衣机会低噪运行,让您静享安宁。\".format(name_dry)\n ] |random if night_dry else\n [\"夜深了,AI守护已帮你打开{},智能保管衣物。\".format(name_wind) ,\n \"时间有点晚了,{}功能会帮你守护衣物到天明。\".format(name_wind),\n \"夜间干衣,帮你开启{}了,衣物久放也不用怕。\".format(name_wind),\n \"{}准备好了,烘干完会帮你智能保管衣物。\".format(name_wind)\n ]|random if wind_cruise else\n \"\"\n] | first }}", "redis_key_second": "broadcast-template-jinja:single_card:dry:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:single_card:care" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "hplus_dry_environmental", "name": "Hplus干衣机-环保模板", "category": "单卡干衣机", "device_type": "dry", "machine_model": "hplus", "template_type": "environmental", "type_id": "201c51890c31c308050400218003484843000001000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "", "reuse_targets": [], "description": "Hplus 干衣机 环保模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "AI守护提醒您,马上就到错峰用电时间段了,建议您预约烘干。", "redis_key_second": "broadcast-template-jinja:single_card:dry:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484843000001000000000000000000000040:0:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.138232+08:00", "updated_at": "2026-09-09T13:02:25.138232+08:00" }, { "id": "f2_multi_wash_common", "name": "F2 Multi洗衣机-通用模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "common", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 通用模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:common" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "f2_multi_wash_time_popular", "name": "F2 Multi洗衣机-人气模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "time_popular", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 人气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "f2_multi_wash_time_custom", "name": "F2 Multi洗衣机-定制模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "time_custom", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 定制模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "f2_multi_wash_weather", "name": "F2 Multi洗衣机-天气模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "weather", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 天气模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:time_weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:weather" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "f2_multi_wash_time_season_storage", "name": "F2 Multi洗衣机-季节收纳模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "time_season_storage", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 季节收纳模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:time_season_storage", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "f2_multi_wash_time_season_in", "name": "F2 Multi洗衣机-季节上新模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "time_season_in", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 季节上新模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:time_season_in", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "f2_multi_wash_care", "name": "F2 Multi洗衣机-关怀模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "care", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 关怀模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:time_care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:care" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "f2_multi_wash_environmental", "name": "F2 Multi洗衣机-环保模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "environmental", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 环保模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:time_environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:environmental" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "f2_multi_wash_health", "name": "F2 Multi洗衣机-健康模板", "category": "多卡洗衣机", "device_type": "wash", "machine_model": "f2_multi", "template_type": "health", "type_id": "201c51890c31c30805040021800", "zone_ids": [ "1" ], "card_type": "multi_card", "reusable_from": "", "reuse_targets": [], "description": "F2 Multi 洗衣机 健康模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:multi_card:wash:time_basic", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805040021800:1:multi_card:health" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_common", "name": "Ultra洗衣机-通用模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "common", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_common", "reuse_targets": [], "description": "Ultra 洗衣机 通用模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:common" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_time_popular", "name": "Ultra洗衣机-人气模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "time_popular", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_time_popular", "reuse_targets": [], "description": "Ultra 洗衣机 人气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_time_custom", "name": "Ultra洗衣机-定制模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "time_custom", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_time_custom", "reuse_targets": [], "description": "Ultra 洗衣机 定制模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_weather", "name": "Ultra洗衣机-天气模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "weather", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_weather", "reuse_targets": [], "description": "Ultra 洗衣机 天气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:weather" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_time_season", "name": "Ultra洗衣机-季节模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "time_season", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_time_season", "reuse_targets": [], "description": "Ultra 洗衣机 季节模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_care", "name": "Ultra洗衣机-关怀模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "care", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_care", "reuse_targets": [], "description": "Ultra 洗衣机 关怀模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:care" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_environmental", "name": "Ultra洗衣机-环保模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "environmental", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_environmental", "reuse_targets": [], "description": "Ultra 洗衣机 环保模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_health", "name": "Ultra洗衣机-健康模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "health", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_health", "reuse_targets": [], "description": "Ultra 洗衣机 健康模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:health", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:health" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_wash_health2", "name": "Ultra洗衣机-健康2-杀菌模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "ultra", "template_type": "health2", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_wash_health2", "reuse_targets": [], "description": "Ultra 洗衣机 健康2-杀菌模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:health2", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:health", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:health" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_dry_common", "name": "Ultra干衣机-通用模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "ultra", "template_type": "common", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_dry_common", "reuse_targets": [], "description": "Ultra 干衣机 通用模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:common", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:common" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_dry_time_popular", "name": "Ultra干衣机-人气模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "ultra", "template_type": "time_popular", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_dry_time_popular", "reuse_targets": [], "description": "Ultra 干衣机 人气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_dry_time_custom", "name": "Ultra干衣机-定制模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "ultra", "template_type": "time_custom", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_dry_time_custom", "reuse_targets": [], "description": "Ultra 干衣机 定制模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_dry_weather", "name": "Ultra干衣机-天气模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "ultra", "template_type": "weather", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_dry_weather", "reuse_targets": [], "description": "Ultra 干衣机 天气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:weather", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:weather" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_dry_time_season", "name": "Ultra干衣机-季节模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "ultra", "template_type": "time_season", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_dry_time_season", "reuse_targets": [], "description": "Ultra 干衣机 季节模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_dry_care", "name": "Ultra干衣机-关怀模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "ultra", "template_type": "care", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_dry_care", "reuse_targets": [], "description": "Ultra 干衣机 关怀模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:care", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:care" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "ultra_dry_environmental", "name": "Ultra干衣机-环保模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "ultra", "template_type": "environmental", "type_id": "201c51890c31c30805010021800805415000000000000000000000000000040", "zone_ids": [ "1", "3", "41", "43", "61", "63" ], "card_type": "single_card", "reusable_from": "x11_dry_environmental", "reuse_targets": [], "description": "Ultra 干衣机 环保模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:1:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:3:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:41:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:43:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:61:single_card:environmental", "broadcast-template-jinja:201c51890c31c30805010021800805415000000000000000000000000000040:63:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "seeker_wash_common", "name": "Seeker洗衣机-通用模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "common", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_common", "reuse_targets": [], "description": "Seeker 洗衣机 通用模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:common", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:common", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:common" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "seeker_wash_time_popular", "name": "Seeker洗衣机-人气模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "time_popular", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_time_popular", "reuse_targets": [], "description": "Seeker 洗衣机 人气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "seeker_wash_time_custom", "name": "Seeker洗衣机-定制模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "time_custom", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_time_custom", "reuse_targets": [], "description": "Seeker 洗衣机 定制模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "seeker_wash_weather", "name": "Seeker洗衣机-天气模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "weather", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_weather", "reuse_targets": [], "description": "Seeker 洗衣机 天气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:weather", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:weather", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:weather" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "seeker_wash_time_season", "name": "Seeker洗衣机-季节模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "time_season", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_time_season", "reuse_targets": [], "description": "Seeker 洗衣机 季节模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.139232+08:00", "updated_at": "2026-09-09T13:02:25.139232+08:00" }, { "id": "seeker_wash_care", "name": "Seeker洗衣机-关怀模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "care", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_care", "reuse_targets": [], "description": "Seeker 洗衣机 关怀模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:care", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:care", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:care" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_wash_environmental", "name": "Seeker洗衣机-环保模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "environmental", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_environmental", "reuse_targets": [], "description": "Seeker 洗衣机 环保模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:environmental", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:environmental", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_wash_health", "name": "Seeker洗衣机-健康模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "health", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_health", "reuse_targets": [], "description": "Seeker 洗衣机 健康模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:health", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:health" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_wash_health2", "name": "Seeker洗衣机-健康2-杀菌模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seeker", "template_type": "health2", "type_id": "201c51890c31c308050100218008054251410000000000000000000000000040", "zone_ids": [ "2", "3", "4" ], "card_type": "single_card", "reusable_from": "x11_wash_health2", "reuse_targets": [], "description": "Seeker 洗衣机 健康2-杀菌模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:health2", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:2:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:3:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008054251410000000000000000000000000040:4:single_card:health" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_dry_common", "name": "Seeker干衣机-通用模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seeker", "template_type": "common", "type_id": "201c51890c31c308310100218008054251410003000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "x11_dry_common", "reuse_targets": [], "description": "Seeker 干衣机 通用模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054251410003000000000000000000000040:0:single_card:common" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_dry_time_popular", "name": "Seeker干衣机-人气模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seeker", "template_type": "time_popular", "type_id": "201c51890c31c308310100218008054251410003000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "x11_dry_time_popular", "reuse_targets": [], "description": "Seeker 干衣机 人气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054251410003000000000000000000000040:0:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_dry_time_custom", "name": "Seeker干衣机-定制模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seeker", "template_type": "time_custom", "type_id": "201c51890c31c308310100218008054251410003000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "x11_dry_time_custom", "reuse_targets": [], "description": "Seeker 干衣机 定制模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054251410003000000000000000000000040:0:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_dry_weather", "name": "Seeker干衣机-天气模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seeker", "template_type": "weather", "type_id": "201c51890c31c308310100218008054251410003000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "x11_dry_weather", "reuse_targets": [], "description": "Seeker 干衣机 天气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054251410003000000000000000000000040:0:single_card:weather" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_dry_time_season", "name": "Seeker干衣机-季节模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seeker", "template_type": "time_season", "type_id": "201c51890c31c308310100218008054251410003000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "x11_dry_time_season", "reuse_targets": [], "description": "Seeker 干衣机 季节模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054251410003000000000000000000000040:0:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_dry_care", "name": "Seeker干衣机-关怀模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seeker", "template_type": "care", "type_id": "201c51890c31c308310100218008054251410003000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "x11_dry_care", "reuse_targets": [], "description": "Seeker 干衣机 关怀模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054251410003000000000000000000000040:0:single_card:care" ], "created_at": "2026-09-09T13:02:25.140228+08:00", "updated_at": "2026-09-09T13:02:25.140228+08:00" }, { "id": "seeker_dry_environmental", "name": "Seeker干衣机-环保模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seeker", "template_type": "environmental", "type_id": "201c51890c31c308310100218008054251410003000000000000000000000040", "zone_ids": [ "0" ], "card_type": "single_card", "reusable_from": "x11_dry_environmental", "reuse_targets": [], "description": "Seeker 干衣机 环保模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054251410003000000000000000000000040:0:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_common", "name": "SeekerR2洗衣机-通用模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "common", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_common", "reuse_targets": [], "description": "SeekerR2 洗衣机 通用模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:common", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:common", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:common" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_time_popular", "name": "SeekerR2洗衣机-人气模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "time_popular", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_time_popular", "reuse_targets": [], "description": "SeekerR2 洗衣机 人气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_time_custom", "name": "SeekerR2洗衣机-定制模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "time_custom", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_time_custom", "reuse_targets": [], "description": "SeekerR2 洗衣机 定制模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_weather", "name": "SeekerR2洗衣机-天气模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "weather", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_weather", "reuse_targets": [], "description": "SeekerR2 洗衣机 天气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:weather", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:weather", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:weather" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_time_season", "name": "SeekerR2洗衣机-季节模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "time_season", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_time_season", "reuse_targets": [], "description": "SeekerR2 洗衣机 季节模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_care", "name": "SeekerR2洗衣机-关怀模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "care", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_care", "reuse_targets": [], "description": "SeekerR2 洗衣机 关怀模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:care", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:care", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:care" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_environmental", "name": "SeekerR2洗衣机-环保模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "environmental", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_environmental", "reuse_targets": [], "description": "SeekerR2 洗衣机 环保模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:environmental", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:environmental", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_health", "name": "SeekerR2洗衣机-健康模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "health", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_health", "reuse_targets": [], "description": "SeekerR2 洗衣机 健康模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:health", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:health" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_wash_health2", "name": "SeekerR2洗衣机-健康2-杀菌模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "seekerR2", "template_type": "health2", "type_id": "201c51890c31c308050100218008054146000000000000000000000000000040", "zone_ids": [ "1", "41", "61" ], "card_type": "single_card", "reusable_from": "x11_wash_health2", "reuse_targets": [], "description": "SeekerR2 洗衣机 健康2-杀菌模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:health2", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:1:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:41:single_card:health", "broadcast-template-jinja:201c51890c31c308050100218008054146000000000000000000000000000040:61:single_card:health" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_dry_common", "name": "SeekerR2干衣机-通用模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seekerR2", "template_type": "common", "type_id": "201c51890c31c308310100218008054146000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_common", "reuse_targets": [], "description": "SeekerR2 干衣机 通用模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054146000000000000000000000000000040:24:single_card:common" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_dry_time_popular", "name": "SeekerR2干衣机-人气模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seekerR2", "template_type": "time_popular", "type_id": "201c51890c31c308310100218008054146000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_time_popular", "reuse_targets": [], "description": "SeekerR2 干衣机 人气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054146000000000000000000000000000040:24:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_dry_time_custom", "name": "SeekerR2干衣机-定制模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seekerR2", "template_type": "time_custom", "type_id": "201c51890c31c308310100218008054146000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_time_custom", "reuse_targets": [], "description": "SeekerR2 干衣机 定制模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054146000000000000000000000000000040:24:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_dry_weather", "name": "SeekerR2干衣机-天气模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seekerR2", "template_type": "weather", "type_id": "201c51890c31c308310100218008054146000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_weather", "reuse_targets": [], "description": "SeekerR2 干衣机 天气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054146000000000000000000000000000040:24:single_card:weather" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_dry_time_season", "name": "SeekerR2干衣机-季节模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seekerR2", "template_type": "time_season", "type_id": "201c51890c31c308310100218008054146000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_time_season", "reuse_targets": [], "description": "SeekerR2 干衣机 季节模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054146000000000000000000000000000040:24:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.141225+08:00" }, { "id": "seekerR2_dry_care", "name": "SeekerR2干衣机-关怀模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seekerR2", "template_type": "care", "type_id": "201c51890c31c308310100218008054146000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_care", "reuse_targets": [], "description": "SeekerR2 干衣机 关怀模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054146000000000000000000000000000040:24:single_card:care" ], "created_at": "2026-09-09T13:02:25.141225+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "seekerR2_dry_environmental", "name": "SeekerR2干衣机-环保模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "seekerR2", "template_type": "environmental", "type_id": "201c51890c31c308310100218008054146000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_environmental", "reuse_targets": [], "description": "SeekerR2 干衣机 环保模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308310100218008054146000000000000000000000000000040:24:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_common", "name": "X11 Ultra洗衣机-通用模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "common", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_common", "reuse_targets": [], "description": "X11 Ultra 洗衣机 通用模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:common", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:common" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_time_popular", "name": "X11 Ultra洗衣机-人气模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "time_popular", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_time_popular", "reuse_targets": [], "description": "X11 Ultra 洗衣机 人气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:time_made_popularity1", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_time_custom", "name": "X11 Ultra洗衣机-定制模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "time_custom", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_time_custom", "reuse_targets": [], "description": "X11 Ultra 洗衣机 定制模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:time_made_popularity2", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_weather", "name": "X11 Ultra洗衣机-天气模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "weather", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_weather", "reuse_targets": [], "description": "X11 Ultra 洗衣机 天气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:weather", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:weather" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_time_season", "name": "X11 Ultra洗衣机-季节模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "time_season", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_time_season", "reuse_targets": [], "description": "X11 Ultra 洗衣机 季节模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:time_season_storage", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_care", "name": "X11 Ultra洗衣机-关怀模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "care", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_care", "reuse_targets": [], "description": "X11 Ultra 洗衣机 关怀模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:care", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:care" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_environmental", "name": "X11 Ultra洗衣机-环保模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "environmental", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_environmental", "reuse_targets": [], "description": "X11 Ultra 洗衣机 环保模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:environmental", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_health", "name": "X11 Ultra洗衣机-健康模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "health", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_health", "reuse_targets": [], "description": "X11 Ultra 洗衣机 健康模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:health", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:health", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:health" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_wash_health2", "name": "X11 Ultra洗衣机-健康2-杀菌模板 (复用X11)", "category": "单卡洗衣机", "device_type": "wash", "machine_model": "x11_ultra", "template_type": "health2", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "1", "7" ], "card_type": "single_card", "reusable_from": "x11_wash_health2", "reuse_targets": [], "description": "X11 Ultra 洗衣机 健康2-杀菌模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:wash:health2", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:1:single_card:health", "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:7:single_card:health" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_dry_common", "name": "X11 Ultra干衣机-通用模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11_ultra", "template_type": "common", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_common", "reuse_targets": [], "description": "X11 Ultra 干衣机 通用模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:common", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:24:single_card:common" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_dry_time_popular", "name": "X11 Ultra干衣机-人气模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11_ultra", "template_type": "time_popular", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_time_popular", "reuse_targets": [], "description": "X11 Ultra 干衣机 人气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_popular", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:24:single_card:time_made_popularity1" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_dry_time_custom", "name": "X11 Ultra干衣机-定制模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11_ultra", "template_type": "time_custom", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_time_custom", "reuse_targets": [], "description": "X11 Ultra 干衣机 定制模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_custom", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:24:single_card:time_made_popularity2" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_dry_weather", "name": "X11 Ultra干衣机-天气模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11_ultra", "template_type": "weather", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_weather", "reuse_targets": [], "description": "X11 Ultra 干衣机 天气模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:weather", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:24:single_card:weather" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_dry_time_season", "name": "X11 Ultra干衣机-季节模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11_ultra", "template_type": "time_season", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_time_season", "reuse_targets": [], "description": "X11 Ultra 干衣机 季节模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:time_season", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:24:single_card:time_season_storage" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_dry_care", "name": "X11 Ultra干衣机-关怀模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11_ultra", "template_type": "care", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_care", "reuse_targets": [], "description": "X11 Ultra 干衣机 关怀模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:care", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:24:single_card:care" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" }, { "id": "x11_ultra_dry_environmental", "name": "X11 Ultra干衣机-环保模板 (复用X11)", "category": "单卡干衣机", "device_type": "dry", "machine_model": "x11_ultra", "template_type": "environmental", "type_id": "201c51890c31c308050400218003484446000000000000000000000000000040", "zone_ids": [ "24" ], "card_type": "single_card", "reusable_from": "x11_dry_environmental", "reuse_targets": [], "description": "X11 Ultra 干衣机 环保模板,复用 X11 模板", "output_description": "语音播报脚本", "prerequisite": "", "call_method": "", "input_variables": [], "template_body": "", "redis_key_second": "broadcast-template-jinja:single_card:dry:environmental", "redis_keys_first": [ "broadcast-template-jinja:201c51890c31c308050400218003484446000000000000000000000000000040:24:single_card:environmental" ], "created_at": "2026-09-09T13:02:25.142223+08:00", "updated_at": "2026-09-09T13:02:25.142223+08:00" } ]