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

 找回密码
 立即注册
查看: 18446|回复: 11

[基础教程] (1-12更新)北京实时公交 支持配置文件

[复制链接]

32

主题

986

帖子

4233

积分

论坛元老

Rank: 8Rank: 8

积分
4233
金钱
3207
HASS币
110

教程狂人论坛风云人物

发表于 2018-1-9 17:04:07 | 显示全部楼层 |阅读模式
本帖最后由 27hh 于 2018-1-16 20:07 编辑

又重新写了遍插件,优化了逻辑,现在基本可以正常使用了! https://github.com/w27/hass-bjbus
IMG_1259(20180116-200330).jpg

使用方法:访问 http://www.bjbus.com/home/fun_rtbus.php ,选择线路、方向和你的上车站

QQ截图20180109171638.png

然后打开审查元素,记下对应选项前的数字

QQ截图20180109171619.png

然后编辑配置文件即可!如果想添加多路公交,继续按格式书写即可,公交名字如果带有中文,请把中文转换成16进制并把整个字段用英文引号括起来。范例如下:
sensor:
  - platform: bjbus
    line: 108
    direction: 5629483961239037439
    board: 1
    options:
      - station
      - distance
      - bustime
  - platform: bjbus

    line: "%e7%89%b911"
    direction: 5261911733291917280
    board: 2
    options:
      - station
      - distance
      - bustime


bjbus.zip

1.7 KB, 下载次数: 28

回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16412
金钱
11666
HASS币
45
发表于 2018-1-9 17:49:02 | 显示全部楼层
先mark占位。
回复

使用道具 举报

0

主题

25

帖子

110

积分

注册会员

Rank: 2

积分
110
金钱
84
HASS币
0
发表于 2018-1-12 15:48:58 | 显示全部楼层
支持楼主,新人学习下
回复

使用道具 举报

12

主题

206

帖子

759

积分

高级会员

Rank: 4

积分
759
金钱
553
HASS币
10
发表于 2019-2-14 17:03:43 | 显示全部楼层
先回复后学习。
回复

使用道具 举报

0

主题

10

帖子

81

积分

注册会员

Rank: 2

积分
81
金钱
71
HASS币
0
发表于 2019-2-19 14:52:21 | 显示全部楼层
请问一下怎么能显示出您的图示中的剩余站数、距离、到达时间呢?
回复

使用道具 举报

2

主题

91

帖子

436

积分

中级会员

Rank: 3Rank: 3

积分
436
金钱
345
HASS币
0
发表于 2019-2-19 15:48:18 | 显示全部楼层
其他城市的有吗
回复

使用道具 举报

15

主题

297

帖子

1511

积分

论坛技术达人

积分
1511
金钱
1209
HASS币
30
发表于 2019-4-5 19:11:55 来自手机 | 显示全部楼层
mynameisny 发表于 2019-2-19 14:52
请问一下怎么能显示出您的图示中的剩余站数、距离、到达时间呢?

你解决了么,我这弄完貌似组件报错了
回复

使用道具 举报

3

主题

159

帖子

587

积分

高级会员

Rank: 4

积分
587
金钱
428
HASS币
0
发表于 2019-4-5 20:21:30 | 显示全部楼层
crazysiri 发表于 2019-4-5 19:11
你解决了么,我这弄完貌似组件报错了

北京公交官网的Web API变了,新加了个selBStop参数:
http://www.bjbus.com/home/js/2014/jquery.rtbus.js
楼主的Python程序要稍微改一下。

这是北京公交官网的Web API对应的JavaScript片段。
可见其多了个selBStop参数:
$('#searchBS').click(function(){
    var htmlobj = $.ajax({
        url: "ajax_rtbus_data.php",
        type: "GET",
        async: true,
        data: "act=busTime&selBLine="+selBLine+"&selBDir="+selBDir+"&selBStop="+selBStop,
        dataType: "json",
        success: function(data, textStatus){
            if(data.err != undefined){
               alert(data.err);
            }else{
                $("#station_info").html(data.html);
                $("#cc_stop ul").css("width", data.w);
                $("#station").show();
                var container = $('#cc_stop'),scrollTo = $("#"+data.seq);
                container.scrollLeft(
                    scrollTo.offset().left - container.offset().left + container.scrollLeft() - 450
                );
                container.animate({
                    scrollTop: scrollTo.offset().left - container.offset().left + container.scrollLeft()
                });
                clearInterval(timeout);
                timeout = setInterval(getBusGPS, 15000); // 1s鎵ц涓€娆tnCount
                getLTurl();
            }
        }
    });
        
});

回复

使用道具 举报

3

主题

159

帖子

587

积分

高级会员

Rank: 4

积分
587
金钱
428
HASS币
0
发表于 2019-4-5 20:29:08 | 显示全部楼层
比如查379路“育新小区-左家庄”方向的第14站(地铁林萃桥站),新API是::
http://www.bjbus.com/home/ajax_r ... 740&selBStop=14

而楼主的老API(缺参数 selBStop=14):
http://www.bjbus.com/home/ajax_r ... 4795901823746554740
会报错。
回复

使用道具 举报

15

主题

297

帖子

1511

积分

论坛技术达人

积分
1511
金钱
1209
HASS币
30
发表于 2019-4-6 18:45:54 来自手机 | 显示全部楼层
MAPGPS 发表于 2019-4-5 20:29
比如查379路“育新小区-左家庄”方向的第14站(地铁林萃桥站),新API是::
http://www.bjbus.com/home/aja ...

不是,github最新的脚本是加了这个字段。原因是脚本里,解析到没有 剩余公里数的结构时报错了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 13:15 , Processed in 0.062188 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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