家庭用电量及电费统计模块 (Home Assistant 、Node-RED、MQTT综合应
文章目录[隐藏]
创作立场声明:本文所有商品为自费购入。
【写作说明】:看了 frLab的个人主页| 什么值得买 (smzdm.com) 的几篇关于 Home Assistant 的文章
Home Assistant 篇一:从Node-RED与微信推送谈起_NAS存储_什么值得买 (smzdm.com)
Home Assistant 篇二:群晖Docker安装Home Assistant_NAS存储_什么值得买 (smzdm.com)
Home Assistant 篇三:给HA插上翅膀——HACS与MQTT_NAS存储_什么值得买 (smzdm.com)
总想搞个事情出来,在网上找了些资料,感觉搞一个家庭用电量及电费统计模块很不错,又能就习一下Home Assistant和Node-RED,电路又很简单。
总用购买了五个配件:
peacefair品牌交流电压电流功率因数电能通信模块模组TTL串口通信-tmall.com锟斤拷猫 最好购买1000A开合式CT。我还买了TTL转USB线,但没有用到。首购金10元,到手 40元
CH340C下载烧录器ESP8266 ESP-01 ESP-01S WIFI模块下载器 调试器-tmall.com锟斤拷猫 最好购买ESP-01S+CH340C下载烧录器,烧录器以后还可以使用。17.5元
220V转5V9V12V400/500/700MA/1A隔离开关电源模块AC-DC降压模块-tmall.com锟斤拷猫 200V转5V电源模块,800ma应该够了,我买的是1A的。8元
LM2596S DC-DC直流可调降压电源模块稳压板3A 12/24转12/5/3.3V-tmall.com锟斤拷猫 降压模块3.3V输出,也可以购买5V转3.3V模块,5V转3.3V的模块应该还要便宜点。3.5元
40P彩色杜邦线 母对母 公对母 公对公 长10CM/20CM/30CM/40CM-tmall.com锟斤拷猫 还有这个母对母的杜邦线,家里有就没买了。2元。
还要电铬铁和焊锡丝,这个没有可以到但电子产品的借用一下,也可以自己购买,我个自家有就没算成本了。
总共花费71元。
给大家总体展示一下。
安装软件服务
首先安装 Home Assistant 、 Node-RED、QTT 和设置Node-RED的企业推送 参考 frLab 的三篇Home Assistant文章,我就不详细说了,上链接。
Home Assistant 篇一:从Node-RED与微信推送谈起,
Home Assistant 篇二:群晖Docker安装Home Assistant,
Home Assistant 篇三:给HA插上翅膀——HACS与MQTT。
硬件组装
购买硬件:
peacefair PZEM-004T 交流电压电流功率等信息测量通信模块。如果要测家庭总用电量请购买100A的,10A只能测2200W以下功率的电器。互感器CT最好购买开合式的,贵7元,这样就可以不用拆强电箱的进线。
CH340C下载烧录器+ESP-01S,CH340C下载烧录器不是必须购买,如果有一定基础可以自己用USB线烧录,以前有的可以重复使用。WIFI模块最好购买ESP-01S,ESP-01要多接两个电阻,接线也复杂很多。看电路图:
电源模块:因为peacefair PZEM-004T要5V输入,ESP-01S要3.3V输入,所有要有两个模块 220V转5V和5V转3.3V。也有些模块有5V和3.3V两种输出。
母对母杜邦线,接线用。
刷写固件:刷 Tasmota
下载固件 ota.tasmota.com/tasmota/release/ 或者 github.com 下载:tasmota-CN.bin ,这个是简体中文版
下载安信可烧录软件 开发工具清单 | 安信可科技 (ai-thinker.com) 下载第3个 “3、烧录WiFi固件工具:ESP_DOWNLOAD_TOOL”
把ESP-01S插上烧录器并接上电脑电脑
cha
接到电脑USB接口
解压烧录软件并运行,运行后会自动安装驱动。如果没有安装就到 开发工具清单 | 安信可科技 (ai-thinker.com) 下载 “串口驱动”,安装驱动后会出现一个COM设备
运行烧录软件
在烧录软件里选ESP8266,develop。
驱动安装成功后设备管理器出现CH340
在烧录器软件点OK出现
第一行选择刚下载的固件,并在前面打钩,在@后面输 0X000000,FLASH SIZE 选 8Mbit,COM:选刚刚在设备管理器上看到的COM口,我这是COM3,其它的看和我上面对比一下,也选一样的。
点START烧录固件
点START烧录固件。
出现完成表示烧录完成
显示完成表示烧录完成。到此tasmota刷写完成,关掉烧录软件。
配制WIFI :配制ESP-01S的WIFI
把烧录器和ESP-01S从电脑的USB接口上扯出,再从新插到电脑USB接口上,然后到手机上操作。
手机上会多一个tasmota开头的WIF
打开手机WIFI,搜索WIF 手机上会多一个tasmota开头的WIFI,后面的字母数字和我手机上的不一样。选择并连接。
连上后会出现这个配置WIFI界面
连上后就会出现这个配置WIFi界面,如果没有出现,就到浏览器里面 输入 192.168.4.1 可以看到这个界面,在这里填上路由器或AP的WIF名称和密码。
点击保存,会跳转显示ESP-01S获取到的IP信息页面,因为显示时间比较短,没有截到图。
如果在上一步没有看到ESP-01S的IP,就到路由器DHCP客户端上去查看,一个以tasmota开头的设置。到路由器上查看DHCP客户端IP就不详说了,这个大家应该都会。
到电脑浏览器里输入ESP-01S的IP
到电脑浏览器里输入ESP-01S的IP(我的是192.168.222.125),如果看到这个界面说明WIFI设置成功,可以到网页上设置了。
设置ESP-01S
点设置
点MQTT设置
填上安装的MQTT信息
填上安装的MQTT信息,安装MQTT可以看 Home Assistant 篇三:给HA插上翅膀——HACS与MQTT_NAS存储_什么值得买 (smzdm.com)
设置好后保存,保存后会重启。
模块设置
设置和PZE-004T的接口
设置好后,不过还没接设置所有数据都是0和我这有点不一样
保存后会重启,重启后到主菜单,上面会多出电压电流等信息,不过数据都是0,因为还没有接上PZE-004T。
现在设置好了,把ESP-01S和烧录器从电脑上扯下,再把ESP-01S从烧录器上拔下。
接线:
线路图,三根线线是因为与其它线在图线上相交,实际不相连接,所以用红色区分一下。
ESP-01S,200V转5V电源,5V转3.3V电源
220V转5V电源接线
所有线接好后
测试运行,把互感器接到插头的其中一根线上
整个模块 功率1W
现在可以装到强电箱上去了。
这个是我已经装到强电箱上的,前面那个是我为写这个文章重买的一套
用电工胶把电源模块胶到PZE-004T的外壳上,把ESP-001S放到外里。
互感器我是套在入户零线上,因为火线空间太小不好装。
把ESP-01S放到外面,这样WIFI信号好点
关掉盖板。
现在所有安装都完成了。
到 Home Assistant 里面添加MQTT插件
这装Home Assistant按 Home Assistant 篇二:群晖Docker安装Home Assistant_NAS存储_什么值得买 (smzdm.com) 这篇文章安装
添加集成
添加集成
安装MTQQ
这里填写先安装的MQTT,和ESP-01S里填的一样
如果MQTT设置正确,就会出现一个已发现Tasmota
点配置来配置tasmota
点提交
你的可能只有一个,点完成
点击X个设备
点击设备名
这就出来用电信息
如果有需要可以把他们添加个中文别名,点想要修改的一行
名称里改为中文名,点更新
部分改成了中文名
添加到仪表盘
编辑仪表盘,把不要的删除
编辑好之后保存
到这Home Assistant就可以显示电压电流功率总用电量等信息了。
月初自动清零和显示电费信息
编辑 /config/configuration.yaml 文件,怎么找到这个文件请查看 Home Assistant 篇二:群晖Docker安装Home Assistant_NAS存储_什么值得买 (smzdm.com) ,添加以下代码,用来显示电费和月初1号0点清空总电量。
sensor:
#本月电费
– platform: template
sensors:
zong_dianfei:
value_template: >
{% set dianlian=states(“sensor.tasmota_energy_total”) | float %}
{% set onedianjia=0.588 %}
{% set twodianjia=0.05 %}
{% set threedianjia=0.25 %}
{% set onedianlian=200 %}
{% set twodianlian1=350 %}
{% set twodianlian2=450 %}
{% set two1month=[4,5,6,10,11,12] %}
{% if now().month in two1month %}
{% set twodianlian=twodianlian1 %}
{% else %}
{% set twodianlian=twodianlian2 %}
{% endif %}
{% if dianlian > twodianlian %}
{% set threedianfei= (dianlian – twodianlian) * threedianjia %}
{% else %}
{% set threedianfei=0 %}
{% endif %}
{% if dianlian > onedianlian %}
{% set twodianfei= (dianlian – onedianlian) * twodianjia %}
{% else %}
{% set twodianfei=0 %}
{% endif %}
{% set zong_dianfei=dianlian * onedianjia + twodianfei + threedianfei %}
{% if(zong_dianfei>0) %}
{{ zong_dianfei | round(2) }}
{% endif %}
friendly_name: ‘zong_dianfei’
unit_of_measurement: “RMB”
#今日电费,本月电费-本月今天以前的电费
– platform: template
sensors:
jintian_dianfei:
value_template: >
{% set dianlian=states(“sensor.tasmota_energy_total”) | float %}
{% set jintiandianlian=states(“sensor.tasmota_energy_today”) | float %}
{% set onedianjia=0.588 %}
{% set twodianjia=0.05 %}
{% set threedianjia=0.25 %}
{% set onedianlian=200 %}
{% set twodianlian1=350 %}
{% set twodianlian2=450 %}
{% set two1month=[4,5,6,10,11,12] %}
{% if now().month in two1month %}
{% set twodianlian=twodianlian1 %}
{% else %}
{% set twodianlian=twodianlian2 %}
{% endif %}
{% if dianlian > twodianlian %}
{% set threedianfei= (dianlian – twodianlian) * threedianjia %}
{% else %}
{% set threedianfei=0 %}
{% endif %}
{% if dianlian > onedianlian %}
{% set twodianfei= (dianlian – onedianlian) * twodianjia %}
{% else %}
{% set twodianfei=0 %}
{% endif %}
{% set zongdianfei= dianlian * onedianjia + twodianfei + threedianfei %}
{% set before_dianliang= dianlian – jintiandianlian %}
{% if before_dianliang > twodianlian %}
{% set threedianfei= (before_dianliang – twodianlian) * threedianjia %}
{% else %}
{% set threedianfei=0 %}
{% endif %}
{% if before_dianliang > onedianlian %}
{% set twodianfei= (before_dianliang – onedianlian) * twodianjia %}
{% else %}
{% set twodianfei=0 %}
{% endif %}
{% set before_dianfei= before_dianliang * onedianjia + twodianfei + threedianfei %}
{% set jintian_dianfei=zongdianfei – before_dianfei %}
{% if(jintian_dianfei>0) %}
{{ jintian_dianfei | round(2) }}
{% endif %}
friendly_name: ‘jintian_dianfei’
unit_of_measurement: “RMB”
#昨日电费,本月今天以前的电费-本月昨天以前的电费
– platform: template
sensors:
zuotian_dianfei:
value_template: >
{% set dianlian=states(“sensor.tasmota_energy_total”) | float %}
{% set jintiandianlian=states(“sensor.tasmota_energy_today”) | float %}
{% set zuotiandianlian=states(“sensor.tasmota_energy_yesterday”) | float %}
{% set onedianjia=0.588 %}
{% set twodianjia=0.05 %}
{% set threedianjia=0.25 %}
{% set onedianlian=200 %}
{% set twodianlian1=350 %}
{% set twodianlian2=450 %}
{% set two1month=[4,5,6,10,11,12] %}
{% if now().month in two1month %}
{% set twodianlian=twodianlian1 %}
{% else %}
{% set twodianlian=twodianlian2 %}
{% endif %}
{% set before_dianliang= dianlian – jintiandianlian %}
{% if before_dianliang > twodianlian %}
{% set threedianfei= (before_dianliang – twodianlian) * threedianjia %}
{% else %}
{% set threedianfei=0 %}
{% endif %}
{% if before_dianliang > onedianlian %}
{% set twodianfei= (before_dianliang – onedianlian) * twodianjia %}
{% else %}
{% set twodianfei=0 %}
{% endif %}
{% set before_dianfei= before_dianliang * onedianjia + twodianfei + threedianfei %}
{% set zuotian_before_dianliang= dianlian – jintiandianlian – zuotiandianlian %}
{% if zuotian_before_dianliang > twodianlian %}
{% set threedianfei= (zuotian_before_dianliang – twodianlian) * threedianjia %}
{% else %}
{% set threedianfei=0 %}
{% endif %}
{% if zuotian_before_dianliang > onedianlian %}
{% set twodianfei= (zuotian_before_dianliang – onedianlian) * twodianjia %}
{% else %}
{% set twodianfei=0 %}
{% endif %}
{% set zuotian_before_dianfei= zuotian_before_dianliang * onedianjia + twodianfei + threedianfei %}
{% set zuotian_dianfei = before_dianfei – zuotian_before_dianfei %}
{% if zuotian_dianfei>0 %}
{{ zuotian_dianfei | round(2) }}
{% endif %}
friendly_name: ‘zuotian_dianfei’
unit_of_measurement: “RMB”
#计量清零
automation:
– id: ‘monitor_clear’
alias: 月初清零电表
initial_state: true
hide_entity: false
trigger:
– platform: template
value_template: ‘{{ states(“sensor.tasmota_energy_today”) | round(3) == 0.000 }}’
condition:
– condition: template
value_template: ‘{{ (now().strftime(“%d”) | int) == 1 }}’
action:
– service: mqtt.publish
data:
topic: ‘cmnd/sonoff/EnergyReset2’
payload: ‘0’
– service: mqtt.publish
data:
topic: ‘cmnd/sonoff/EnergyReset3’
payload: ‘0’
里面的 0.588 为基本电价,0.05为二档电价-一档电价,0.25三档电价-二档电价,4,5,6,10,11,12这几个月为春秋季二档电量为350度,其它几个月为冬夏季二档电量为450度。如果不同就按照修改。
这是湖南的电价
这样就可以每月1号0点把总电量清零变成月电量和显示电费了。
显示电费
用 Node-RED 把用电信息推送到企业微信
Home Assistant 篇一:从Node-RED与微信推送谈起_NAS存储_什么值得买 (smzdm.com) 这篇已经告诉我们怎么用Node_RED把信息推送到企业微信,现在我们要做的就是Node-RED提取Home Assistant信息处理好后再推送。
Node-RED安装Home Assistant插件
登录安装好的Node-RED,再到节点管理添加 node-red-contrib-home-assistant-websocket 插件
节点管理
安装node-red-contrib-home-assistant-websocket插件
导入流程
复制下面的流程导入
导入以下流程
[
{
“id”: “dcbd8ed9f4179814”,
“type”: “inject”,
“z”: “b58a7128aa4b97b4”,
“name”: “每天9点发送用电信息”,
“props”: [
{
“p”: “payload”
},
{
“p”: “topic”,
“vt”: “str”
}
],
“repeat”: “”,
“crontab”: “00 09 * * *”,
“once”: false,
“onceDelay”: 0.1,
“topic”: “”,
“payloadType”: “date”,
“x”: 460,
“y”: 180,
“wires”: [
[
“82a8fda3f504513e”,
“1dc399c57821bd14”,
“5cd3531c2512bffd”,
“9f24f15912873f5b”
]
]
},
{
“id”: “82a8fda3f504513e”,
“type”: “api-current-state”,
“z”: “b58a7128aa4b97b4”,
“name”: “昨天用电量”,
“server”: “e8349c19021c66e6”,
“version”: 2,
“outputs”: 1,
“halt_if”: “”,
“halt_if_type”: “num”,
“halt_if_compare”: “is”,
“entity_id”: “sensor.tasmota_energy_yesterday”,
“state_type”: “num”,
“blockInputOverrides”: false,
“outputProperties”: [
{
“property”: “payload1”,
“propertyType”: “msg”,
“value”: “”,
“valueType”: “entityState”
},
{
“property”: “data1”,
“propertyType”: “msg”,
“value”: “”,
“valueType”: “entity”
}
],
“override_topic”: false,
“state_location”: “payload”,
“override_payload”: “msg”,
“entity_location”: “data”,
“override_data”: “msg”,
“x”: 690,
“y”: 120,
“wires”: [
[
“84eed89c4ae0a7e5”
]
]
},
{
“id”: “96391bb46eab6444”,
“type”: “function”,
“z”: “b58a7128aa4b97b4”,
“name”: “”,
“func”: “nvar message=msg.payload;nnvar desc=’本月已用电量:’+ message[2] + ‘KWHrn’;ndesc+=’本月已用电费:’+ message[3] + ‘元rn’;ndesc+=’昨天用电量:’+ message[0] + ‘KWHrn’;ndesc+=’昨天电费:’+ message[1] + ‘元’;nnwechat = {n “touser” : “@all”,n “msgtype”: “textcard”,n “textcard”: {n “title”: ‘家庭用电详情’,n “description” : desc,n “url” : `Home Assistant网址和端口`,n “btntxt”:”查看详情”,n },n}nnmsg.payload = {};nmsg.payload = wechat;nnreturn msg;”,
“outputs”: 1,
“noerr”: 0,
“initialize”: “”,
“finalize”: “”,
“libs”: [],
“x”: 770,
“y”: 420,
“wires”: [
[
“2252d013b647ef4f”
]
]
},
{
“id”: “2252d013b647ef4f”,
“type”: “bizwechat-push”,
“z”: “b58a7128aa4b97b4”,
“name”: “”,
“bizwechat”: “c36787cd99e1d359”,
“x”: 900,
“y”: 420,
“wires”: [
[]
]
},
{
“id”: “1dc399c57821bd14”,
“type”: “api-current-state”,
“z”: “b58a7128aa4b97b4”,
“name”: “昨天电费”,
“server”: “e8349c19021c66e6”,
“version”: 2,
“outputs”: 1,
“halt_if”: “”,
“halt_if_type”: “str”,
“halt_if_compare”: “is”,
“entity_id”: “sensor.zuotian_dianfei”,
“state_type”: “num”,
“blockInputOverrides”: false,
“outputProperties”: [
{
“property”: “payload2”,
“propertyType”: “msg”,
“value”: “”,
“valueType”: “entityState”
},
{
“property”: “data2”,
“propertyType”: “msg”,
“value”: “”,
“valueType”: “entity”
}
],
“override_topic”: false,
“state_location”: “payload”,
“override_payload”: “msg”,
“entity_location”: “data”,
“override_data”: “msg”,
“x”: 680,
“y”: 160,
“wires”: [
[
“84eed89c4ae0a7e5”
]
]
},
{
“id”: “5cd3531c2512bffd”,
“type”: “api-current-state”,
“z”: “b58a7128aa4b97b4”,
“name”: “本月已用电量”,
“server”: “e8349c19021c66e6”,
“version”: 2,
“outputs”: 1,
“halt_if”: “”,
“halt_if_type”: “str”,
“halt_if_compare”: “is”,
“entity_id”: “sensor.tasmota_energy_total”,
“state_type”: “num”,
“blockInputOverrides”: false,
“outputProperties”: [
{
“property”: “payload3”,
“propertyType”: “msg”,
“value”: “”,
“valueType”: “entityState”
},
{
“property”: “data3”,
“propertyType”: “msg”,
“value”: “”,
“valueType”: “entity”
}
],
“override_topic”: false,
“state_location”: “payload”,
“override_payload”: “msg”,
“entity_location”: “data”,
“override_data”: “msg”,
“x”: 700,
“y”: 200,
“wires”: [
[
“84eed89c4ae0a7e5”
]
]
},
{
“id”: “9f24f15912873f5b”,
“type”: “api-current-state”,
“z”: “b58a7128aa4b97b4”,
“name”: “本月已用电费”,
“server”: “e8349c19021c66e6”,
“version”: 2,
“outputs”: 1,
“halt_if”: “”,
“halt_if_type”: “str”,
“halt_if_compare”: “is”,
“entity_id”: “sensor.zong_dianfei”,
“state_type”: “num”,
“blockInputOverrides”: false,
“outputProperties”: [
{
“property”: “payload4”,
“propertyType”: “msg”,
“value”: “”,
“valueType”: “entityState”
},
{
“property”: “data4”,
“propertyType”: “msg”,
“value”: “”,
“valueType”: “entity”
}
],
“override_topic”: false,
“state_location”: “payload”,
“override_payload”: “msg”,
“entity_location”: “data”,
“override_data”: “msg”,
“x”: 700,
“y”: 240,
“wires”: [
[
“84eed89c4ae0a7e5”
]
]
},
{
“id”: “bbfb4fd669583aba”,
“type”: “debug”,
“z”: “b58a7128aa4b97b4”,
“name”: “”,
“active”: false,
“tosidebar”: true,
“console”: true,
“tostatus”: true,
“complete”: “payload”,
“targetType”: “msg”,
“statusVal”: “payload”,
“statusType”: “auto”,
“x”: 920,
“y”: 300,
“wires”: []
},
{
“id”: “a7061ef619785c6a”,
“type”: “join”,
“z”: “b58a7128aa4b97b4”,
“name”: “合并成数组”,
“mode”: “custom”,
“build”: “array”,
“property”: “payload”,
“propertyType”: “msg”,
“key”: “topic”,
“joiner”: “n”,
“joinerType”: “str”,
“accumulate”: false,
“timeout”: “”,
“count”: “4”,
“reduceRight”: false,
“reduceExp”: “”,
“reduceInit”: “”,
“reduceInitType”: “”,
“reduceFixup”: “”,
“x”: 430,
“y”: 420,
“wires”: [
[
“759804d789b42f8e”,
“ea66b8ca18cc54ae”
]
]
},
{
“id”: “84eed89c4ae0a7e5”,
“type”: “function”,
“z”: “b58a7128aa4b97b4”,
“name”: “合并”,
“func”: “nreturn { payload:[msg.payload1, msg.payload2,msg.payload3,msg.payload4]};n”,
“outputs”: 1,
“noerr”: 0,
“initialize”: “”,
“finalize”: “”,
“libs”: [],
“x”: 890,
“y”: 180,
“wires”: [
[
“a7061ef619785c6a”
]
]
},
{
“id”: “759804d789b42f8e”,
“type”: “debug”,
“z”: “b58a7128aa4b97b4”,
“name”: “”,
“active”: false,
“tosidebar”: true,
“console”: true,
“tostatus”: true,
“complete”: “payload”,
“targetType”: “msg”,
“statusVal”: “payload”,
“statusType”: “auto”,
“x”: 800,
“y”: 540,
“wires”: []
},
{
“id”: “ea66b8ca18cc54ae”,
“type”: “function”,
“z”: “b58a7128aa4b97b4”,
“name”: “合并成一个数组”,
“func”: “var redata=[0,0,0,0]nfor (var x in msg.payload)n{n var data=msg.payload[x];n for(var i =0;i<redata.length;i++){n if(data.length>=i-1 && data[i] && data[i]>0){n redata[i]=data[i];n }n }n}nreturn { payload:redata};n”,
“outputs”: 1,
“noerr”: 0,
“initialize”: “”,
“finalize”: “”,
“libs”: [],
“x”: 620,
“y”: 420,
“wires”: [
[
“bbfb4fd669583aba”,
“96391bb46eab6444”
]
]
},
{
“id”: “e8349c19021c66e6”,
“type”: “server”,
“name”: “Home Assistant”,
“version”: 1,
“legacy”: false,
“addon”: false,
“rejectUnauthorizedCerts”: true,
“ha_boolean”: “y|yes|true|on|home|open”,
“connectionDelay”: true,
“cacheJson”: true
},
{
“id”: “c36787cd99e1d359”,
“type”: “bizwechat-configurator”,
“name”: “企业微信推送”,
“port”: “3001”,
“corpid”: “”,
“agentid”: “”,
“corpsecret”: “”,
“url”: “”,
“token”: “”,
“aeskey”: “”,
“client_id”: “”,
“client_secret”: “”
}
]
导入后要把Home Assistant和企业微信的信息改成自己的。双击修改。
最后点部署。。。。
到此所有工作做完了。
最后
欢迎收藏、评论、点赞。
转自什么值得买社区,原贴地址:https://post.smzdm.com/p/aqxqv867/
微信扫描下方的二维码阅读更多精彩内容
每日分享到群里,或者推荐给朋友会得大量积分,机会可以兑换微信零钱红包,具体请点击这里,得到了微信红包可以用来支持大飞哥
大飞哥能不能加鸡腿就看各位了!
开发者微信
开发者微信反馈BUG或者VIP可以添加,其他情况反馈可能不及时,见谅
版权声明
初衷是提供高清手机电脑壁纸等图片素材免费分享下载,禁止商用。图片素材来源网络,版权归原作者所有,若有侵权问题敬请告知我们!
【友情提醒】:
因平台原因不易展示大尺度写真,有的写真展示越少代表此套写真越性感,特别是xiuren等写真每一套写真完整套图50-100张不等。更多内容的欣赏请移步 点击这里
【更多图集移步】:
每日更新-点击这里
漂亮小姐姐-点击这里
性感美女-点击这里
清纯女孩-点击这里
xiuren专栏-点击这里
整站资源下载-点击这里