首页 > 技术随笔

Home Assistant 接入 CHNT DDSU666 电表实战

Home Assistant 接入 CHNT DDSU666 电表实战 前情提要 最近发现家庭电费一直高居不下,需要搞清楚电能在各房间、各路设备之间的流向分布,于是决定把电表数据拉进 Home Assistant 做可视化与自动化。前一篇文章已经讲过如何完成 CHNT DDSU666 的初始化协议切换,本文继续沿着这条线,聚焦在网关与 Home Assistant 侧的实际配置。 网关准备与串口对齐 使用 485 转 WiFi 网关时,务必让串口和链路参数与电表保持一致,避免在透明传输过程中出现丢帧: 串口参数设为 9600 / 8 / 1 / NONE 报文打包间隔设为 0 ms 报...

正泰DDSU666单相导轨电表协议切换指南

正泰DDSU666单相导轨电表协议切换指南 概述 最近在家折腾IoT设备,希望基于Home Assistant构建一个完整的家庭能源监控链路,于是入手了多块485电表和485转WiFi网关。电表默认工作在DLT645规约下,与现有的Modbus采集链路不兼容,因此需要先完成协议切换。本文记录正泰DDSU666单相导轨电表从DLT645协议切换到Modbus RTU(485)协议的操作方法。 操作步骤 1. 获取电表地址 按下电表面板按钮,查看并记录电表地址信息: L地址(低位):例如 L131566 H地址(高位):例如 H250812 2. 构建切换报文 2.1 报文模板 FE F...

1Panel PHP 时区排障记录:Typecho 日志超前 8 小时的修复过程🛠️

1Panel PHP 时区排障记录:Typecho 日志超前 8 小时的修复过程🛠️ 🔍 最近在排查 Typecho 站点的安全策略时,发现一个异常情况:Access 与 Fail2ban 的日志时间比实际时间快了整整 8 小时,在追踪这个问题的过程中,依次确认了宿主机、容器以及 PHP-FPM 的配置,最终才让日志时间回到正常值。记录如下,方便后续快速复盘。 前情提要 🧭 Typecho 后台的 Fail2ban 控制台显示“最后检测”时间比真实时间快 8 小时,同时 Nginx access 日志也是“未来时间”。这意味着从宿主、容器到 PHP-FPM 的时区设置没有统一,导致日...

理解动态规划思想

前言 最近和朋友聊天,说起DP问题,想到大学时候学长上来一通“状态转移函数”把我们讲懵了,于是尝试写个入门笔记。 DP思想 通俗来说,动态规划解决问题的方法,就是当系统处于任何一个状态C,你去穷举所有状态A,然后把可能从A到达C的情况全部找出来,并从中获得最优解即可。所以,所谓的“状态转移方程”就是存在一条边从状态A到状态C,这条边的代价。简而言之,动态规划主要思想就是自底向上、局部最优到全局最优,通过计算每个子结构的最优解,求出总体结构的最优解。其目的是解决通过自顶向下的算法(如递归),带来的子结构重复计算,导致时间复杂度指数级上升的问题。 入门示例 桌上有 1kg、8kg、11kg...

记一次LUA逻辑查错:查看LUA函数闭包内变量状态

今天好不容易偶然重现了一个渲染队列总是跳过一个渲染元素的问题,这问题一直存在但是却一直无法稳定重现。 拿到环境后开始分析问题,首先要知道这个对象有没有进渲染队列,可是渲染队列在导出接口的闭包内外界无法访问。 立马想到debug库,利用多次调用debug.getupvalue层层进入闭包,最终成功拿到了队列数据,发现对象在队列中,从而定位问题出在分帧渲染逻辑,跳转到响应代码位置问题迎刃而解。 local function getupval(f, k) local i = 1 while true do local n, v = debug.getupvalu...

记一次 Typecho 插件的 XSS 攻击

发现 咸鱼好久没有更新内容,于是昨天想着来记录下最近的事情,结果上来发现网站页脚出现了奇怪的友链,于是登录进后台,元素审查一看,居然有人给我插了一条 XSS 进去了…… 再一看网络记录,可以,我的 cookie 已经被上传了…… 赶紧把 token 改了,然后临时把管理页删了…… 溯源 搞完在思考,为什么这里会有这么严重的问题。首先回到友链插件上,没想到这个作者居然显示文字的时候没有做任何安全性字符过滤,导致了 xss 的可能。 但是为何数据会出现在我的库里呢?想来想去没想通,于是顺手看了下友链插件的提交数据,然后把表单复制出来,去除 cookie 信息后从控制台直接 curl 提交...

最新文章

最近回复