『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1137|回复: 6

[流程系列] 请教如何实现transmission下载完一个种后推送到手机?

[复制链接]

20

主题

700

帖子

3106

积分

论坛元老

Rank: 8Rank: 8

积分
3106
金钱
2406
HASS币
0
发表于 2024-5-21 12:24:45 | 显示全部楼层 |阅读模式
本想实现一下tr下载完一个种子后就提示一下,推送手机也行,TTS也行,折腾了半天没折腾出来,想看看看大神们是怎么弄的,如何获取到刚下载完种子的名称。特来请教,用HA自带自动化也行,NR也行,谢谢!!



回复

使用道具 举报

0

主题

32

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
金钱
231
HASS币
0
发表于 2024-5-24 15:33:17 | 显示全部楼层
TR界面设置里是提供下载完成执行脚本的,我前几天写了参考TR代码库,写了一个脚本,但是设置后没被调用,不知道怎么调试,你可以看看

 #!/bin/bash

# 设置企业微信的Webhook

webhook="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=123456"

# 获取命令行参数

message = ""
type="$1"
format="${3:-text}"  # 如果未提供format参数,默认为"text"

if [ "$type" == "TR" ]; then
        message="transmission下载完成通知 \n 种子名称: $TR_TORRENT_NAME \n 种子目录: $TR_TORRENT_DIR \n 当前时间: $TR_TIME_LOCALTIME \n TR版本号: $TR_APP_VERSION "
elif [ "$type" == "QB" ]; then
        message="qBittorrent下载完成通知 \n 种子名称: %N \n 种子目录: %D \n 文件大小: %Z "
fi

# 发送消息
if [ "$format" == "text" ]; then
    # 发送文本格式的消息
        curl -s -H "Content-Type: application/json" -d "{"msgtype":"text","text":{"content":"$message"}}" "$webhook"
elif [ "$format" == "markdown" ]; then
    # 发送Markdown格式的消息
    curl -s -H "Content-Type: application/json" -d "{"msgtype":"markdown","markdown":{"content":"$message"}}" "$webhook"
else
    echo "Invalid format. Please choose either 'text' or 'markdown'."
    exit 1
fi

echo
回复

使用道具 举报

20

主题

700

帖子

3106

积分

论坛元老

Rank: 8Rank: 8

积分
3106
金钱
2406
HASS币
0
 楼主| 发表于 2024-5-24 17:32:42 | 显示全部楼层
狂欢马克思 发表于 2024-5-24 15:33
TR界面设置里是提供下载完成执行脚本的,我前几天写了参考TR代码库,写了一个脚本,但是设置后没被调用,不 ...

我也弄了个脚本调试了下,开始也是没调用,后来可以了,不过我的还有点问题,种子文件名没过去,你修改settings.json时得先把tr停了,不然修改不成功,迟点我也研究下你的。。
回复

使用道具 举报

0

主题

32

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
金钱
231
HASS币
0
发表于 2024-5-25 15:28:16 | 显示全部楼层
我的可以推送了,文本 和 配图的都OK
微信图片_20240525134520.jpg
回复

使用道具 举报

20

主题

700

帖子

3106

积分

论坛元老

Rank: 8Rank: 8

积分
3106
金钱
2406
HASS币
0
 楼主| 发表于 2024-5-28 17:03:39 | 显示全部楼层
本帖最后由 gzroc 于 2024-5-28 17:05 编辑
狂欢马克思 发表于 2024-5-25 15:28
我的可以推送了,文本 和 配图的都OK

恭喜,最新的消息代码分享下,薅一下你的羊毛,哈哈!
回复

使用道具 举报

0

主题

32

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
金钱
231
HASS币
0
发表于 2024-5-30 09:30:52 | 显示全部楼层
gzroc 发表于 2024-5-28 17:03
恭喜,最新的消息代码分享下,薅一下你的羊毛,哈哈!
 #!/bin/bash

# 设置企业微信的Webhook
webhook="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=123456"

# 消息标题
title="Transmission下载完成通知"
# 消息内容
message="种子名称: $TR_TORRENT_NAME \n 种子目录: $TR_TORRENT_DIR \n 当前时间: $TR_TIME_LOCALTIME \n TR版本号: $TR_APP_VERSION "

# 消息链接
url="https://zhangsan.com/transmission"
# 图片链接
picurl="https://zhangsan.com/favicon.ico"

# 发送消息
curl -s -H "Content-Type: application/json" -d "{ "msgtype": "news", "news": { "articles" : [ { "title" : "$title", "description" : "$message", "url" : "$url", "picurl" : "$picurl" } ] } }" "$webhook"

echo

回复

使用道具 举报

20

主题

700

帖子

3106

积分

论坛元老

Rank: 8Rank: 8

积分
3106
金钱
2406
HASS币
0
 楼主| 发表于 2024-5-30 10:34:54 | 显示全部楼层

刚弄好你就发来,不过刚好,你是企业微信通知,我是弄的homeassistant通知,一起用了,谢谢!我的也放上来给需要的人参考。
#!/bin/bash
# Transmission completion script
# 获取传输的 torrent 名称
torrent_name=$TR_TORRENT_NAME
log_file="/volume2/homes/ken/transmission_complete.log"

echo "$(date): 种子 $torrent_name 已下载完成" >> $log_file 2>&1

#向 Home Assistant 发送通知
curl -X POST -H "Content-Type: application/json" -d '{"title": "下载完成", "message": "种子 '$torrent_name' 已下载完成", "torrent__name": "'$torrent_name'"}' http://10.1.1.XXX:8123/api/webhook/transmission_complete >> $log_file 2>&1

# 发送邮件通知
#echo "种子 $torrent_name 已下载完成" | mail -s "Transmission 下载完成" [email protected]






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 11:59 , Processed in 0.053423 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表