-
Notifications
You must be signed in to change notification settings - Fork 535
plugins
简单的回声/传话功能。
当接入微信时,可以利用这个功能实现远程给家里发语音消息。
- 如果发送的是文本信息,用户发的内容将被转换成语音再播放;
- 如果发送的是语音消息,则用户的语音将被叮当直接播放。
当检测到指令中包含 "echo" 或者 "传话" 时,将其余内容直接念出来。
- 用户:“echo 你是最棒的”
- 叮当:“你是最棒的”
检查邮件功能。
- 用户已在 ~/.dingdang/profile.xml 中完成了邮箱的配置。
- 指令中有关键词 “邮件” 。
另外,叮当还有个定期消息检查机制,每 30 秒会执行一次邮件检查,如果有未读邮件,将会在当次运行会话中给用户语音播报一次。
语音播报的规则:
- 如果配置
read_email_title
选项为true
,会同时阅读邮件标题。如果为false
,则只阅读邮件的发件人信息。 - 如果邮件的标题带有
[echo]
的前缀,则不管read_email_title
值为什么,都会阅读该邮件的标题,并且不会播报发件人信息(可利用该功能来实现传话、其他事件监控播报,例如与 ifttt 结合发布各类通知)。 - 如果邮件的标题带有
[control]
的前缀,且发件人是用户的邮箱,则将当成一条远程命令指令进行响应。
-
用户:“我有多少封邮件?”
-
叮当:“您有一封来自 m at hahack.com 的未读邮件”
-
用户:(发送一篇标题为
[echo] 你是最棒的
的邮件到叮当邮箱中) -
叮当:“你是最棒的”
-
用户:(发送一篇标题为
[control] 发送微信二维码
的邮件到叮当邮箱中) -
叮当:“正在发送微信登录二维码到您的邮箱...发送成功”
时间插件。询问叮当时间。
指令中有关键词 “时间” 或 “几点”
- 用户:“现在几点?”
- 叮当:“现在时间是2017年5月14日23点14分PM”
用于调起摄像头拍照(如果安装了摄像头的话)。
指令中有关键词 “拍照” 或 “拍张照” 时。
如果接入了邮箱或微信,照片将发送到用户的邮箱或微信中(选择哪种取决于配置中 prefers_email
的值)。
- 用户:“拍张照”。
- 叮当:“收到,3秒后启动拍照……咔擦(拍照声)……拍照成功!正在发送照片到您的微信……发送成功!”
- 用户:“偷偷地拍张照”(也可以使用微信发)。
- 叮当:“……(无声)”
# 拍照
camera:
enable: true
dest_path: "/home/pi/camera" # 保存目录
quality: 5 # 成像质量(0~100)
vertical_flip: false # 竖直翻转
horizontal_flip: false # 水平翻转
count_down: 3 # 倒计时(秒),仅当开启倒计时时有效
sendToUser: true # 拍完照是否发送到邮箱/微信
sound: true # 是否有拍照音效
usb_camera: false # 是否是 USB 摄像头
如果是 USB 摄像头,还需要确保安装了 fswebcam :
sudo apt-get install fswebcam
要求叮当发送微信登录二维码到用户邮箱(方便远程微信登录)。
指令中有关键词 “微信” 和 “二维码”
- 用户:“发送我的微信二维码?”
- 叮当:“正在发送微信登录二维码到您的邮箱...发送成功”
微信不允许扫描文件的登录二维码,否则会提示“无法识别的二维码”。因此只能直接用相机扫码登录。
用于进入/退出闲聊模式的插件。
- 用户:我们聊聊天吧。
- 叮当:进入闲聊模式,现在跟我说说话吧!
- 用户:现在几点?
- 叮当:现在时间是20点08分。
- 用户:你几岁了?
- 叮当:我1岁了。
- 用户:结束闲聊。
- 叮当:退出闲聊模式。
用于处理未知的问题。
如果接入了对话机器人,将转交给对话机器人应对;否则将给予类似 “我没听清楚” 这样的回复。
语音指令不符合其他的插件的触发条件。
- 用户:“讲个绕口令”
- 叮当:“山上五棵树,架上五壶醋,林中五只鹿,箱里五条裤。伐了山上树,搬下架上的醋,射死林中的鹿,取出箱中的裤。”
用于控制接入HomeAssistant的设备
- 用户:“开启助手”
- 叮当:“开始家庭助手控制”
- 叮当:“请在滴一声后说明内容”
- 用户:“开始浇水”
- 叮当:“执行成功”
homeassistant:
url: "http://127.0.0.1" #切记加上http://,ip或者域名为你的homeassistant的主机
port: "8123" # 端口为你的homeassistant的端口
password: "" # 建议加上密码,增加安全性
configuration.yaml相同目录下添加customize.yaml并include进配置文件。
查看状态类的设备(传感器等)将命令写成list;控制类的设备命令写成dict,控制命令为key,动作为value。
如下是示例的部分配置:
sensor.tempareture:
friendly_name: "环境温度"
dingdang: ["查看环境温度", "当前环境温度", "环境温度"]
sensor.humidity:
friendly_name: "环境湿度"
dingdang: ["查看环境湿度度", "当前环境湿度", "环境湿度"]
switch.light:
friendly_name: "补光"
dingdang: {"开始补光":"turn_on", "补光":"turn_on", "停止补光":"turn_off", "结束补光":"turn_off"}
switch.pump:
friendly_name: "浇水"
dingdang: {"开始浇水":"turn_on", "浇水":"turn_on", "停止浇水":"turn_off", "结束浇水":"turn_off"}
用于清除 dingdang 运行时产生的所有临时数据(包括语音缓存数据)
指令中有关键词 “清除缓存” 或 “清空缓存”
- 用户:“清除缓存”
- 叮当:“缓存目录已清空”