2021年3月16日 星期二

Homeassistant Dyson無法登入問題

 前幾天更新NAS並且重啟後,發現 Homeassistant出現了這個錯誤

home assistant Setup failed for dyson: Integration failed to initialize.

上網搜尋了一下,發現是Dyson的API新增了email兩階段驗證功能,造成 Homeassistant 出現這個錯誤,解決方法如下:

1.進入Homeassistant的Docker,並且按照以下步驟:

cd /usr/local/lib/python3.8/site-packages/libpurecool/

rm dyson.py

curl -O https://raw.githubusercontent.com/bfayers/libpurecool/fix_auth/libpurecool/dyson.py


2.用你安裝有Dyson APP的手機,確認連線是在同一個網路環境

3.登出你手機上的Dyson APP

4.登入你手機上的Dyson APP,並且依照提示輸入密碼跟e-mail收到的二階段驗證碼

5.利用Homeassistant的重啟功能進行重啟


這樣你就可以看到你的Dyson設備回來了


2020年12月30日 星期三

透過Docker將Google Photo相簿同步到本地硬碟

 *事前準備

如果你電腦還沒有安裝,請先參考 官方文件 進行安裝,或是Google搜尋如何在電腦上安裝Docker


1. 在電腦內建立兩個資料夾,一個名稱為 storage,用來儲存從Google下載的照片,另一個名稱為 config,用來放設定檔案

2. 到 Google Console 做事前準備:

[1] 打開 Google Cloud Platform 
[2] 建立新專案,名稱自訂,位置選無機構,按下建立

[3] 點選左邊的『資料庫』

[4] 在『搜尋API和服務』輸入 『Photo Library API』,並且點選搜尋結果
[5] 點選『啟用』

[6] 點選『憑證』,再點選『建立憑證』,然後選擇『OAuth 用戶端 ID』


[7] 點選『設定同意畫面』

[8] 點選『外部』,再點選『建立』


[9] 應用程式名稱輸入一個自己想要的名稱,使用者支援電子郵件選擇自己的email,開發人員聯絡資訊的電子郵件輸入自己的email,之後按下『儲存並繼續』
[10] 點選『新增或移除範圍』,將全部的API都打勾,按下『更新』,再按『儲存並繼續』

[11] 按下 『ADD USERS』,並且輸入你想同步的Google帳號,有幾個就要輸入幾個,然後按下『新增』,再按下『儲存並繼續』
[12] 直接拉到最下面,按『返回資訊主頁』
[13] 點左側功能表的『憑證』,選擇『建立憑證』,點選『OAuth用戶端ID』
[14] 應用程式類型選擇『電腦版應用程式』,點選『建立』
[15] 他會先彈出一個『OAuth用戶端已建立』的視窗,先點『確定』關閉,然後點選最右邊的下載按鈕,並且將下載好的檔案重新命名成『client_secret.json』
[16] 將重新命名的『client_secret.json』檔案放到步驟一所建立的『config』資料夾中

3. 到你電腦的終端機中輸入以下指令:

docker run \
 -ti \
 --name gphotos-sync \
 -v {步驟一建立的storage資料夾路徑}
:/storage \ 
 -v {步驟一建立的config資料夾路徑}:/config \ 
 gilesknap/gphotos-sync \
 /storage

隔沒多久會出現一個網址給你,拿這個網址貼到瀏覽器,進行同意後會給你一串代碼,再把他貼回終端機內貼上,並且按下Enter



4. 接下來會看到『WARNING  Downloading Photos』這個字眼,代表已經開始下載你的Google Photo的照片了,第一次會把你上面所有的相片下載下來,會需要花上許多時間,端看你上面有多少照片來取決於他第一次同步的時間會花多長


5. 接下來將以下啟動指令做成啟動檔,並且設定排程,就可以每天幫你自動抓相片嚕

 docker container start gphotos-sync


[後記]

最近在使用的時候發現出現了錯誤訊息:『oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)』

這時候請輸入以下指令來重新取得 token:

docker run \
 --rm \
 -ti \
 -v {步驟一建立的storage資料夾路徑}
:/storage \ 
 -v {步驟一建立的config資料夾路徑}:/config \ 
 gilesknap/gphotos-sync \
 /storage --new-token

然後照著步驟3再走一次就可以重新取得token了

2020年12月29日 星期二

透過 Synology NAS DDNS 功能更新 CLOUDFLARE IP

1. 到 『控制台』 -> 『終端機 & SNMP』 功能,將 『啟動 SSH 功能』打勾

2. 透過 SSH 連線到你的 NAS ,登入者的帳號要在 administrators 群組裡 

3. 輸入以下指令進入 root 權限
 
sudo -i

輸入後會要求你輸入登入者的密碼 

4. 輸入指令來下載 cloudflareddns.sh 到 /sbin/ 資料夾中 

wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh

5. 修改剛剛下載的檔案權限讓系統可以執行

chmod +x /sbin/cloudflareddns.sh

6. 使用編輯器打開DMS DDNS 設定檔案

vi /etc.defaults/ddns_provider.conf

並且將剛剛的sh加入 DMS 的 DDNS 選項

[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com/
擺放的位置沒有一定,只是我習慣按照順序擺放在對的順位,這樣等等在DDNS下拉選單才會是依照文字順序排列( 

7. 到 CloudFlare 的 『概觀』 頁面,拉到最下面,可以取得你的『區域識別碼』,先把他記下來,等等會用到
8. 點擊 『取得您的API Token』
選擇『API Token』-> 『建立Token』
點擊『建立自訂 Token』後方的『開始使用』按鈕
在權限的地方選擇『區域』『DNS』『編輯』,再點擊『繼續至摘要』
確認所新增的權限沒有問題以後,點擊『建立Token』
接下來你會拿到一組 API Token,請把他記下來,等等設定會用到
9.回到DSM的『控制台』 -> 『外部存取』-> 『DDNS』,點下『新增』,服務供應商選擇『Cloudflare』
10. 依照圖中的說明填入相對應的資料,並且按下『確定』
11. 選擇Cloudflare,點下『立即更新』,如果看到狀態是『正常』就代表你設定成功嚕,這個時候回到Cloudflare的DNS頁面就可以看到你更新後的IP了

2015年3月4日 星期三

Airport Express WOL PC 設定

這幾天在看電費的問題,想著家裡這台伺服器,
雖然有架設FTP跟遠端連線很方便, 但是24小時開機,
卻沒有24小時要傳檔案,總覺得浪費,
所以就找了一下相關的產品,看有沒有可以透過延長線來讓電腦開機的產品,
找著找著,居然看到了WOL(Wake On Lan)技術,
以前設定BIOS的時候總是會看到從網路開機, 但是卻不知道怎麼設定,所以就來研究一下,
沒想到這一研究下去居然花了我兩個小時的時間... 
主要是因為我的無線基地台是該死又自以為簡單殊不知對於想多設定一點的人是很麻煩的Airport Express啊啊啊啊啊
====================我是分隔線,不是婚革線,廢話不多說,正文開始====================
首先,先將你的Windows電腦打開,然後進入控制台,選擇你的網路卡,路徑是:
 控制台➝網路與網際網路➝網路和共用中心➝變更介面卡設定➝選擇你的網路卡按右鍵內容➝設定➝進階

然後選擇WOL Magic Packet(有的電腦是網路喚醒,每家設定不同),在選擇已啟用


看到這裡,如果你沒有這個設定,那你可以關掉網頁了,因為你電腦不支援網路喚醒功能XD

再來,要設定你的BIOS,我的主機板是技嘉Z97n Wifi,設定的路徑是:

電源管理➝網路喚醒➝啟用


每間公司的每個型號BIOS都不同,詳情就參考你的說明書嚕。

這樣設定好以後,只能透過區網來做WOL的開機,如果像我說的,我在外要傳檔案,才要開機,那我該怎麼設定呢?

基本上你的IP分享器要有支援導向功能,把你的某個Port轉向到某台主機的某個Port就可以了,以WOL來說,他是Port 9,所以就把Port 9導向到你的主機IP就可以了。

像我的Airpot Express,設定的方式如下:

1.開啟Airport工具
2.點選你的Airport Express,選擇編輯

3.選擇網路
4.在DHCP保留選擇編輯,輸入你的PC的Mac Address跟你要保留的IP,按下儲存
5.在傳輸阜設定選擇編輯,選擇IPv4傳輸對應,公用、專用UDP/TCP阜都輸入9,專用IP輸入你剛剛保留的IP,按下儲存,最後再按下更新,這樣就設定好嚕。

最後要怎麼遠端開機呢?

我是使用iPhone,下載mWOL這套軟體

選擇Configure

IP輸入你的Airport Exress 對外IP,MAC Address輸入你的PC網卡MAC Address,記得把WOL on LAN開關關掉,不然沒辦法用外部網路傳到你電腦
最後選擇Wake Up,選擇你的電腦,按下Wake Up就可以開機嚕

2015年2月24日 星期二

Centos 5/6/7 切換 JAVA JDK方法

1.至 Oracle下載rpm
2.安裝rpm
rpm -ivh java-1.x.x.rpm
3.找到安裝好的jdk放在哪

find / -name java

4.利用alternatives將安裝好的jdk設定進去系統

alternatives --install /usr/bin/java java 《jdk位置》 2

5.切換jdk
alternatives --config java

6.將jar,javac也用同樣方法切換
# alternatives --install /usr/bin/jar jar 《jar位置》 2
# alternatives --install /usr/bin/javac javac 《javac位置》 2
# alternatives --set jar 《jar位置》
# alternatives --set javac 《javac位置》 

2014年10月6日 星期一

node.js永久在背景執行

讓node.js永久在背景執行超簡單,只要下載forever套件就可以了

npm install forever -g //安裝
forever start app.js //執行
forever list //查看
forever stop 0 //刪除

2014年8月27日 星期三

Android SDK 安裝方式 ( @ Eclipse)

1.從Help -> Install New Software進入安裝視窗
2.輸入網址:
https://dl-ssl.google.com/android/eclipse/
按下Enter以後會出現選項,把全部選取後就一直按Next,安裝完成會問要不要重新啟動Eclipse,選擇Yes。


3.在上方工具列選擇小綠人下載器
4.照著畫面選擇下載SDK Tools,Android L,Google Play Service

5.選擇同意按Install,就會回到第四步驟,會看到下方進度調在安裝,安裝完畢就可以把第四步驟的視窗關掉,就完成了Android SDK的安裝了。