
最近对养龟产生了酷爱,家里络续来了 6 只:草龟、舆图龟、西非侧颈龟、三只黄喉拟水龟。龟缸上装了 TP-Link 摄像头,群晖 NAS 跑着 Surveillance Station 24 小时摄像,水温传感器和加热棒也配皆了。
东西都有,但用起来全是漫步的。看温度一个 APP,看摄像头另一个,加热棒手动开关。录了几百 GB 的视频从来没东谈主翻。
刚好最近一直在用 Claude Code 折腾家里的 Home Assistant,上周才用它逆向了空气净化器的 API。此次思试试,纯靠对话,能把养龟这件事作念到什么进度。
刻下是什么样的
掀开手机 HA,龟缸的东西全在一个页面里:

摄像头画面、乌龟步履气象、加热棒功率和用电量、水温湿度趋势。温度极度会聊天软件推送。
每半小时还会收到一段精华视频和一段 AI 写的行动分析:

所有这个词历程我没写一瞥代码。容颜盘、自动化、监控剧本、视频处理、AI 分析,都是和 Claude Code 聊出来的。
HA 容颜盘和自动化
跟 Claude Code 说的第一句话不详是「把乌龟摄像头加到 HA 容颜盘上」。
然后即是握住地提需求:
「加热棒的功率和用电量也透透露来」
「水温作念个容颜盘,标出合乎温度区间」
「加个 24 小时和 7 天的水温趋势图」
「温度太低或太高给我发音问」
它每次径直改 HA 的建立文献和容颜盘数据,改完重启,我刷外行机算作果。不悠然连续说,悠然就下一个。跟一个懂 HA 的东谈主聊天没什么分辨,我无谓管 YAML 怎样写、automation 怎样配。

加热棒 7 天功率、水温湿度容颜盘

24 小时水温湿度趋势,带温区标注
水温趋势图标了过冷/偏冷/合乎/偏热/过热的区间。加热棒功率弧线能看出责任法例,比如图上 4 月 7 号之前加热棒是关着的,之后才运行责任。
自动化跑了温渡过高和过低两条告警。温度极度聊天软件几分钟就能收到。
AI 步履监测
容颜盘能看数据了,但龟在干嘛,水温弧线看不出来。
我问 Claude Code 能不可作念个步履监测。它的有打算:每 5 分钟从 SS 摄像里抽帧对比,检测画面变化判断龟有莫得在动。处理放在家里闲置的 Mac 16"(M1 Max 64GB)上,NAS 只管存摄像。
握帧对比
摄像在 NAS,Mac 通过 SSH 读取。一运行传所有这个词 100MB 的 mp4,12 秒。其后只传文献头 5MB(mp4 的 moov atom 在文献头,够解码出帧),降到 2 秒。
代码块
复制
NAS 摄像 → ssh head -c 5MB → OpenCV 读帧 → 灰度+高斯朦胧 → 像素差值
变化超 2% 就算「活跃」,21点适度推到 HA sensor。
精华视频
「有步履时径直发视频给我」
Claude Code 作念了每 30 分钟的精华视频。检测到活跃的时间点,从对应摄像截取片断拼在一齐。
一个细节:一运行用 OpenCV 逐帧重编码,25 秒出一个片断,画质还糊。其后装了 ffmpeg 用 -c:v copy 径直裁切,2 秒处置,1080p 原始画质。用具选对了差十倍。
腹地大模子看龟
精华视频解决了「看什么」。但我还思知谈每只龟在干嘛。
我问有什么看法识别不同的乌龟。Claude Code 列了几种:OpenCV 花样轮廓检测、YOLO、深度学习个体识别、Vision LLM。6 只龟品种各异大,草龟最小深色、舆图龟最大有斑纹、西非侧颈脖子侧扁、小青体型差未几,径直用视觉大模子就行,无谓覆按。
试了 Gemini API 配额不够。我说能不可跑腹地的。终末用 Ollama 跑 Gemma 4(8B Q4 量化),M1 Max 64GB 没什么压力。
分析分两步。先逐帧:从 30 分钟摄像均匀抽 30 帧,每帧单独让 Gemma 形容看到了什么。再汇总:30 条形容拼一齐,让 Gemma 回归这半小时。
prompt 改了好几轮。一运行让它「分析哪只最活跃哪只最安靖」,输出很八股。我说不关爱这个,改成「像一又友聊天同样说说」,输出就对味了。

摄像头视角。右上角是晒背台,中间红蘑菇是讳饰。能看到龟在晒背台上叠罗汉,它们十分爱干这个。
架构
代码块
复制
┌──────────────────────────────────────┐
│ NAS (群晖 DS923+) │
│ Surveillance Station → 30min MP4 │
│ HA VM → 容颜盘 / 自动化 / 告警 │
│ 水温传感器 · 加热棒 · 摄像头 ONVIF │
└──────────────┬───────────────────────┘
│ ssh pipe + HA API
┌──────────────▼───────────────────────┐
│ Mac 16" (M1 Max 64GB) │
│ │
│ monitor.py 每5分钟 │
│ └─ 握帧对比 → 活跃/静止 → HA │
│ highlights.py 每30分钟 │
│ ├─ ffmpeg 截取精华视频 → Telegram │
│ ├─ 30帧 → Gemma 4 逐帧分析 │
│ └─ 抽象汇总 → Telegram │
│ daily_report 每天22:00 日报 │
│ │
│ Ollama + Gemma 4 (8B) 腹地推理 │
└──────────────────────────────────────┘
HA 管数据收罗、展示、告警。Mac 管视频处理和 AI 推理。双方通过 HA REST API 连起来。launchd 定时跑,开机自启。
对于没写代码
系统里有 Python 剧本(OpenCV 图像对比、ffmpeg 调用、Ollama API、Telegram 告知)、HA 的 YAML 建立(sensor、automation、lovelace dashboard)、launchd 定时任务,代码量不算少。
但我照实一瞥都没手写。
每一步都是对话完成的。我说「把摄像头加到容颜盘」,它改 lovelace JSON。说「温度告警发聊天软件」,它写 automation YAML。说「用腹地模子分析龟缸画面」,它装 Ollama、拉模子、写剧本、配定时任务。
我干的事更像是产物司理:说需求、算作果、给反应。
不是说时间不报复了。这套系统里有不少时间判断,比如只传 mp4 头部 5MB 而不是所有这个词文献、用 ffmpeg stream copy 而不是重编码、逐帧分析再汇总而不是多图一齐扔给模子。仅仅这些判断刻下 AI 也能作念。
本钱
零。硬件家里都有,软件全开源,AI 推理跑腹地。Mac 每月多费不详 3 块钱电。
养龟是个慢节拍的事。但每天翻翻聊天软件的诠释,望望谁又抢占了晒背台、谁偷掉包了个位置21点app,比蹲在缸前看半天有酷爱多了。
米兰体育官方网站 - MILAN
备案号: