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

 找回密码
 立即注册
查看: 114306|回复: 148

[插件集成] 南京水费插件

  [复制链接]

5

主题

47

帖子

791

积分

论坛技术达人

积分
791
金钱
739
HASS币
20
发表于 2021-1-15 12:35:22 | 显示全部楼层 |阅读模式
本帖最后由 freefitter 于 2023-11-24 10:10 编辑

    一直想把基础的水电燃气接入HA,目前水费和燃气费已经接入了。今天发个水费插件,本人生活南京,所以就写了个南京的插件,只需要户号和cookie就行了。首先登陆  http://www.jlwater.com/login.html?url=payment/index.htm
微信截图_20210115121900.png
登陆完之后找到户号,和Cookie,拿到这两个就OK了
然后在 configuration.yaml 中添加 sensor:
    - platform: nanjing_water
        name: '水费'
        custno: 'XXXXX'
        cookies: 'XXXXXXXXXXXXXX'
这样就大功告成!
就是这样了:
detail.png
最后加个floorplan
floorplan.png




                               
登录/注册后可看大图

20231124 update

                               
登录/注册后可看大图



之前的水费是需要自己去抓Cookie,然后填在配置文件中,现在不需要了,使用了带带弟弟OCR通用验证码识别SDK免费开源版,来进行验证码识别,并进行模拟登陆。这边只取了水费信息,如果需要其他的可以自己修改。有一定概率失败,失败重新调用即可

import requests
import random
import ddddocr
from fake_useragent import UserAgent
ua = UserAgent()
user_Agent = ua.random
headers = {
    "User-Agent": user_Agent,
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Accept-Encoding": "gzip, deflate, br",
    "DNT": "1",
    "Connection": "cloes"
}
ocr = ddddocr.DdddOcr()
if __name__ == '__main__':
    num = random.uniform(0, 1)
    # Verification code
    img_src = 'https://www.jlwater.com/captcha?' + str(num)
    print("Verification code url: " + img_src)
    r = requests.get(img_src, headers=headers)
    # save cookie
    cookies = r.cookies.items()
    cookie = ''
    for name, value in cookies:
        cookie += '{0}={1};'.format(name, value)
    # save Verification code img
    # with open("yzm.jpeg", "wb") as f:
    #     f.write(r.content)
    res = ocr.classification(r.content)
    print("The code is:", res)
    # login
    url = "https://www.jlwater.com/user/ajaxLogin"
    payload = {
        "mobile": "填写你的手机号",
        "password": "抓包查看下加密后的",
        "code": res,
        "url": ""
    }
    headers = {
        "User-Agent": user_Agent,
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Accept-Encoding": "gzip, deflate, br",
        "cookie": cookie
    }
    res = requests.post(url, data=payload, headers=headers)
    cookies = r.cookies.items()
    for name, value in cookies:
        cookie += '{0}={1};'.format(name, value)
    # water fee
    url = "https://www.jlwater.com/waterFee/getConsWaterFeeSummary"
    payload = {'consNo': '你的户号'}
    response = requests.request("POST", url, headers=headers, data=payload)
    print(response.text)
可以使用Node-Red直接调用 exec 节点调用。
   



插件附件回复可见
游客,如果您要查看本帖隐藏内容请回复















评分

参与人数 2金钱 +25 HASS币 +20 收起 理由
lqf1206 + 5 虽然看不懂,但感觉很厉害的样子。.
+ 20 + 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

7

主题

192

帖子

1547

积分

金牌会员

Rank: 6Rank: 6

积分
1547
金钱
1355
HASS币
0
发表于 2021-1-15 12:37:29 来自手机 | 显示全部楼层
优秀优秀。同是南京
回复

使用道具 举报

39

主题

2049

帖子

7693

积分

元老级技术达人

积分
7693
金钱
5629
HASS币
110
发表于 2021-1-15 13:40:30 | 显示全部楼层
同南京 燃气和电怎么接的?
回复

使用道具 举报

39

主题

2049

帖子

7693

积分

元老级技术达人

积分
7693
金钱
5629
HASS币
110
发表于 2021-1-15 13:46:42 | 显示全部楼层
江宁不是南京 哎
回复

使用道具 举报

5

主题

47

帖子

791

积分

论坛技术达人

积分
791
金钱
739
HASS币
20
 楼主| 发表于 2021-1-15 14:03:30 | 显示全部楼层
ghostist 发表于 2021-1-15 13:46
江宁不是南京 哎

不应该都是南京水务的吗?,电费还没接入,燃气是中燃的,后面发
回复

使用道具 举报

39

主题

2049

帖子

7693

积分

元老级技术达人

积分
7693
金钱
5629
HASS币
110
发表于 2021-1-15 14:24:19 | 显示全部楼层
freefitter 发表于 2021-1-15 14:03
不应该都是南京水务的吗?,电费还没接入,燃气是中燃的,后面发

江宁水务集团  华润燃气
....
完全用不起来啊
回复

使用道具 举报

15

主题

636

帖子

2179

积分

金牌会员

Rank: 6Rank: 6

积分
2179
金钱
1543
HASS币
0
发表于 2021-1-15 23:30:39 | 显示全部楼层
厉害了楼主,可惜和楼主的城市差了个字,用不上。

羡慕大房子,羡慕上班只需要4.8分钟。。。乘10的哭晕在厕所
回复

使用道具 举报

2

主题

341

帖子

2320

积分

金牌会员

Rank: 6Rank: 6

积分
2320
金钱
1974
HASS币
30
发表于 2021-1-15 23:39:52 | 显示全部楼层
对那个当前停留有兴趣,是怎样做的
回复

使用道具 举报

0

主题

17

帖子

58

积分

注册会员

Rank: 2

积分
58
金钱
41
HASS币
0
发表于 2021-1-16 00:24:44 | 显示全部楼层
好家伙,还知道你 去上班了?
回复

使用道具 举报

1

主题

169

帖子

1031

积分

金牌会员

Rank: 6Rank: 6

积分
1031
金钱
862
HASS币
0
发表于 2021-1-17 20:01:46 来自手机 | 显示全部楼层
优秀优秀
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-26 20:54 , Processed in 0.060309 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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