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

 找回密码
 立即注册
查看: 1046|回复: 4

[进阶教程] hass中自动更改aruba的wifi密码

[复制链接]

37

主题

396

帖子

4104

积分

元老级技术达人

积分
4104
金钱
3653
HASS币
250
发表于 2022-11-27 21:17:39 | 显示全部楼层 |阅读模式
本帖最后由 trz0332 于 2022-11-27 21:32 编辑

起因是想在家中创建一个访客的wifi,能生成二维码,客人来了扫码就能自动登录。然后设置定时任务,每天更改访客wifi密码,也就是说密码在固定时间重置效果展示,自动生成16位的字母+数字组合的随机密码。生成二维码,实测原生安卓,小米的二维码扫码,或者支付宝扫码可以直接连接,但是微信扫码不能自动连接,只能识别字符串显示wifi账号密码
1669553275431.png

环境:
a\hass安装在docker中。如果是其他方式安装的,需要手动修改代码中文件保存路径

b\使用aruba的iap。固件8.10

部署
1\在Aruba的控制器中添加一个访客ssid。比如我创建的就是Guest的名字
下载.png
2、将压缩包解压后放入configuration.yaml同级目录目录结构
script.zip (39.34 KB, 下载次数: 1)
修改show_qr.py里面的内容
import qrcode
import ap_aruba

if __name__=='__main__':
    SSID='Guest'   #需要修改密码的ssid
    config={'host':'10.18.17.30','username':'admin','password':'xxxxxxxxx'}
    ts=ap_aruba.aruba(config)
    text=ap_aruba.v_code(16)  #生成16位长度的随机字符
    ts.modif_wlan_password(SSID,text)  #修改ssid的密码
    t2='WIFI:T:WPA;P:{};S:{};'.format(text,SSID)  #生成自动连接的字符串
    qr_code=qrcode.QRCode(version=3,box_size=12,border=1)
    qr_code.add_data(t2)  
    qr_code.make(fit=True)
    img=qr_code.make_image()  #生成二维码
    img.save('/config/www/passwd.png')  #保存二维码位置
    with open('/config/script/change_wifipasswd/passwd','w') as file:
        file.write(text)  #将密码保存到文件中,用于hass读取这个文件生成一个传感器用于展示密码

将里config这一行的ip,用户名,密码填写成自己的如果你访客的ssid不是Guest,那么需要SSID这一行改成自己的ssid
如果你不是用docker安装的,需要手动修改代码中2处文件保存的路径
3、在configuration.yaml的同级目录添加www文件夹。如果已经存在,跳过
4、hass配置文件中添加如下实体
camera:  #创建一个摄像头的实体,用于显示二维码
  - platform: local_file
    name: qr_wifi
    file_path: /config/www/passwd.png
sensor:  #创建一个传感器,读取密码文件中的字符,直接展示密码
  - platform: command_line
    name: 访客wifi密码
    command: "cat /config/script/change_wifipasswd/passwd"
    scan_interval: 60

shell_command:  #创建一个脚本
  changewifipasswd:  'python /config/script/change_wifipasswd/show_qr.py'
5、重启hass
6、添加一个按钮,用来启动shell脚本来重置wifi密码
下载1.png
生成按钮之后,点击一下,就可以重置密码,并生成二维码了。
一般来说运行这个shell之后差不多要60s才能生成二维码和一个包含密码的文件

7、在表盘上添加一个摄像头,显示刚刚我们添加的qr_wifi这个摄像头和传感器   访客wifi密码8、在自动化中添加一个定时任务用于每天定时修改密码
1669555126900.png
大功告成了
如果你在aruba后台修改wifi密码,这里是不会同步更新,所以访客的密码就不建议在aruba后台修改,直接在hass页面去重置就行了
游客,如果您要查看本帖隐藏内容请回复

。。。。
后记  
准备再淘一块墨水屏用来显示二维码,挂墙上直接展示
由于疫情快递到不了,等到了再更新屏幕展示二维码。



评分

参与人数 1金钱 +5 收起 理由
zelotoj + 5 赠人玫瑰,手留余香!

查看全部评分

回复

使用道具 举报

109

主题

1581

帖子

4996

积分

元老级技术达人

积分
4996
金钱
3410
HASS币
30
发表于 2022-11-27 22:06:16 | 显示全部楼层
直接平板上墙,展示ha,多加个导航访客wifi多好,
回复

使用道具 举报

50

主题

1300

帖子

4903

积分

论坛DIY达人

积分
4903
金钱
3603
HASS币
20
发表于 2022-11-28 08:50:48 | 显示全部楼层
一直都是开放网络,任何人想用就用。
回复

使用道具 举报

0

主题

29

帖子

1195

积分

金牌会员

Rank: 6Rank: 6

积分
1195
金钱
1166
HASS币
0
发表于 2022-12-1 12:04:11 | 显示全部楼层
刚刚买了ARUBA的AP,就发现楼主的贴子,太幸福了
回复

使用道具 举报

0

主题

3

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
29
HASS币
0
发表于 2023-6-22 02:32:39 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-28 22:48 , Processed in 0.106401 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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