分享 透過 Line 傳送攝影機即時影像連結

最近常有人問要怎麼傳送錄影檔案到Line
因本身沒有門鈴所以就沒動過
參考了惟家Kris老師的做法做了些簡化
改成傳送即時影像連結而不是傳送影像檔

前置作業
1.請先參考我之前寫的前半段
Line Notify Token + 攝影機截圖 Line訊息傳送 NR應用方法
申請Line Token
2. 將你的攝影機接入HA
因本人都是Tapo下面只會用Tapo做範例

開始設定

  1. 須先讓攝影機產出Token
    使用連結的時候需要用到
    依照你的習慣看是要放/config/configuration.yaml還是其他地方都可以
    ex. /config/packages/camera_taoke.yaml
sensor:
  - platform: template
    sensors:
      cam_token:
        value_template: "{{ state_attr('你的攝影機實體ID', 'access_token') }}"

設定好後重開HA讓sensor生效

  1. 因我都是在NR做自動化所以這邊只做function裡面的參數修正
    如果有參照前一篇的文章直接修改function內容即可
var TimeNow= new Date();
var yyyy = TimeNow.getFullYear()
var MM = (TimeNow.getMonth()+1<10 ? '0' : '')+(TimeNow.getMonth()+1);
var dd = (TimeNow.getDate()<10 ? '0' : '')+TimeNow.getDate();
var h = (TimeNow.getHours()<10 ? '0' : '')+TimeNow.getHours();
var m = (TimeNow.getMinutes()<10 ? '0' : '')+TimeNow.getMinutes();
var s = (TimeNow.getSeconds()<10 ? '0' : '')+TimeNow.getSeconds(); 
var ms = (TimeNow.getMilliseconds()<10 ? '0' : '')+TimeNow.getMilliseconds(); 
var date = '_'+yyyy+'_'+MM+'_'+dd+'_'+h+'_'+m+'_'+s;
var date2 = yyyy+'/'+MM+'/'+dd+' '+h+':'+m+':'+s+'.'+ms;
const globalHomeAssistant = global.get('homeassistant');
var token = globalHomeAssistant.homeAssistant.states["sensor.cam_token"].state;
msg.payload_line = { "data": { "file": "/config/www/image/snapshot" + date + ".jpg" }, "message": date2 + "改成你要顯示的內容!" };

msg.payload_link = { 
      "message": "改成你要顯示的內容:\n改成你的HA對外域名:HA的port/api/camera_proxy_stream/你的攝影機ID?token="
      + token 
};

msg.payload_snapshot = {
   "filename":"/config/www/image/snapshot"+date+".jpg"
};
return msg;


function 的內容跟上一篇差不多只是多了以下三段

const globalHomeAssistant = global.get('homeassistant');
var token = globalHomeAssistant.homeAssistant.states["sensor.cam_token"].state;
msg.payload_link = { 
      "message": "改成你要顯示的內容:\n改成你的HA對外域名:HA的port/api/camera_proxy_stream/改成你的攝影機實體ID?token="
      + token 
};

需要注意的是 改成你要顯示的內容 改成你的HA對外域名:HA的port 改成你的攝影機實體ID
這幾個需要變更
改成你的HA對外域名:HA的port 測試過http 或者 https都可以使用
NR測試截圖




以上為本次分享
希望能幫上有需要的朋友

3個讚

哈囉 謝謝你的分享,有下述問題需請教
如果有2支或以上攝影機要如何設定,我第一支攝影機使用此方式的教學已成功接入,但第二支無法由LINE連結

像這樣設每隻攝影機的token
其他就照文章內容去修改成另外一隻攝影機的實體id
function內的sensor.cam?_token 記得也要改成對應的攝影機的sensor才可以

謝謝了 已成功接入 感謝分享