別怕IP等級搞不懂!一招查 IP65/IP66 夠不夠防水(下雨天專用懶人包)
每次想買戶外用電器,看到什麼 IP65、IP66 超級頭大?我懂你。我就被規格表騙過,結果東西泡水直接掰掰。其實很多人都問過我「台灣這種下雨鬼天氣,IP65夠不夠?還是要直接上IP66?」別再自己硬背規格了!我寫了一個小工具,直接幫你比、查、防水模擬一次搞定!
這裡複製工具!馬上知道你家設備夠不夠力
只要填幾格資料,馬上告訴你IP65、IP66哪個比較穩!還能記錄你的查詢,下次不會忘記。
// === IP 防護等級超簡查詢小工具 ===
function doGet(e) {
return HtmlService.createHtmlOutput(buildUI());
}
function buildUI() {
var html = [];
html.push('<html><head><title>IP等級懶人包</title>');
html.push('<style>body{font-family:Microsoft JhengHei;max-width:480px;margin:40px auto;padding:24px;background:#f7faff;}label{display:block;margin:8px 0 2px;}input,select{padding:4px 8px;margin-bottom:12px;width:100%;box-sizing:border-box;}button{padding:8px 20px;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;}table{width:100%;margin-top:18px;}th,td{border-bottom:1px solid #ccc;padding:4px 8px;}tr:last-child td{border-bottom:none;}#msg{color:#006600;margin-bottom:14px;}</style>');
html.push('</head><body>');
html.push('<h2>IP65/IP66 防護等級查詢</h2>');
html.push('<form id="form">');
html.push('<label>使用情境(可填地點、用途)</label>');
html.push('<input type="text" name="scene" placeholder="例:陽台插座、室外攝影機">');
html.push('<label>預期下雨情況</label>');
html.push('<select name="rain">');
html.push('<option value="小雨">小雨/偶爾滴水</option>');
html.push('<option value="中雨">中雨/容易濺水</option>');
html.push('<option value="大雨">大雨/直接沖刷</option>');
html.push('</select>');
html.push('<label>打算選哪個IP等級</label>');
html.push('<select name="ip">');
html.push('<option value="IP65">IP65</option>');
html.push('<option value="IP66">IP66</option>');
html.push('</select>');
html.push('<button type="submit">查一下夠不夠防水!</button>');
html.push('</form>');
html.push('<div id="msg"></div>');
html.push('<h3>查詢紀錄(最近10筆)</h3>');
html.push('<div id="history"></div>');
html.push('<script>');
html.push('document.getElementById("form").onsubmit = function(e){e.preventDefault();var f = e.target;var d = {scene:f.scene.value,rain:f.rain.value,ip:f.ip.value};document.getElementById("msg").innerText="查詢中...";google.script.run.withSuccessHandler(function(res){document.getElementById("msg").innerHTML = res.msg;document.getElementById("form").reset();loadHistory();}).checkIPLevel(d);};');
html.push('function loadHistory(){google.script.run.withSuccessHandler(function(h){document.getElementById("history").innerHTML=h;}).getHistory();}');
html.push('window.onload=loadHistory;</script>');
html.push('</body></html>');
return html.join('');
}
// 處理判斷和寫入
function checkIPLevel(formData) {
// 拿現在時間
var now = new Date();
var ip = formData.ip;
var rain = formData.rain;
var scene = formData.scene || "";
var suggest = '';
// 關鍵邏輯判斷
if (ip == 'IP65' && rain == '大雨') {
suggest = '⚠️ IP65沒辦法長時間直接沖水!台灣午後雷陣雨這種直接淋,建議選IP66才穩。';
} else if (ip == 'IP65' && rain == '中雨') {
suggest = '大多數場合OK,但偶爾還是有滲水風險。靠近屋簷或水柱不要用IP65。';
} else if (ip == 'IP66') {
suggest = '這超穩!就算颱風天也扛得住。幾乎沒什麼死角。';
} else {
suggest = '正常狀況IP65可以,記得不要直接拿水管沖洗。';
}
// 防呆,IP66大雨=沒問題
// 寫入Sheet
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('查詢紀錄');
if (!sheet) {
sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('查詢紀錄');
sheet.appendRow(['查詢時間','情境','下雨情況','IP等級','評語']);
}
sheet.insertRowBefore(2);
sheet.getRange(2,1,1,5).setValues([[now, scene, rain, ip, suggest]]);
// 回傳
return {msg:suggest};
}
// 讀取歷史資料
function getHistory() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('查詢紀錄');
if (!sheet) return '還沒紀錄過查詢唷!';
var data = sheet.getRange(2,1,Math.min(sheet.getLastRow()-1,10),5).getValues();
if (data.length==0) return '查無紀錄。';
var html = [];
html.push('<table><tr><th>時間</th><th>情境</th><th>雨勢</th><th>IP</th><th>結果</th></tr>');
for(var i=0;i<data.length;i++){
html.push('<tr><td>'+Utilities.formatDate(new Date(data[i][0]), "GMT+8", "MM/dd HH:mm")+'</td><td>'+(data[i][1]||'-')+'</td><td>'+data[i][2]+'</td><td>'+data[i][3]+'</td><td>'+data[i][4]+'</td></tr>');
}
html.push('</table>');
return html.join('');
}
// 真的,就這樣。
輕鬆設定小工具的教學來了!
新手也能上手,我陪你慢慢來!
- 打開 Apps Script 編輯器
動作:在 Google 試算表點「擴充功能」→「Apps Script」
位置:選單列中間偏右「擴充功能」
結果:新分頁自動打開 Apps Script 編輯器
⚠️ 我就遇過,公司帳號會直接擋住開不了,這時用個人帳號最快!
- 貼上這段程式碼
動作:Ctrl+A 全選 → 刪除 → Ctrl+V 貼上程式碼
位置:編輯器中央白色區域
結果:預設的 myFunction 消失,換成剛剛那坨新內容
⚠️ 貼不全很容易出錯,別急著貼,慢慢來就好!
- 儲存一下
動作:點左上磁碟片圖示,或 Ctrl+S
位置:編輯區上方那排圖示,最左邊
結果:第一次會要你取名,不管亂取沒差
⚠️ 忘記儲存直接部署會跳錯,我之前就懶一次出包!
- 部署成網頁應用程式
動作:點右上「部署」→「新增部署作業」
位置:右上角藍色「部署」按鈕
結果:跳出新視窗設定部署內容
子步驟:
1. 點小齒輪選「網頁應用程式」
2. 執行身份選「我」
3. 誰可以存取選「任何人」
4. 點最下面的「部署」
⚠️ 「任何人」一定要勾,不然別人根本打不開!有朋友之前就是只開給自己然後說工具壞掉XD
- 處理授權流程
動作:跟著跳出流程,一直點下一步
結果:會看到紅色警告寫「Google 尚未驗證這個應用程式」
處理:點左下「進階」→「前往XXX(不安全)」→「允許」
⚠️ 這不是你中毒,是Google太龜毛。我自己測超過20次,每次都這個流程,習慣就好!
- 拿到網址直接用
動作:部署完後,複製螢幕上的網址
位置:部署視窗中間會顯示 `https://script.google.com/...`
結果:瀏覽器貼上就能直接玩這個小工具
⚠️ 程式碼有改一定要重新部署,不然內容沒更新,我常常一改完忘了部署還以為自己寫壞了!
⚠️ 關於紅色授權警告到底在怕什麼?
這個紅色畫面只是提醒你這是自己寫的 Apps Script,Google 沒幫你驗證(超多新手都以為中毒,我第一次看到也有點毛)。其實只要是你自己貼的程式,沒去申請認證,就一定跳這個畫面。真的沒關係,按「進階」再點「前往XXX(不安全)」就好,完全安全,因為只有你自己開的帳號才看得到。
你會想用的超實際場景
上次有朋友問我,陽台要裝攝影機,結果他根本搞不清楚「IP65到底能不能扛雷雨天?」一查就一堆文字,還一堆怪英文。我用這工具,馬上輸入「陽台攝影機」選大雨情境、IP65,直接跳警語叫他升級IP66,超快。他再也沒猶豫了!
又有一次,幫社區換戶外燈具,長輩只會問「下雨會壞嗎?」這工具現場查給大家看,順便把查詢結果紀錄下來。之後要補單還能直接回頭查哪款適合,超懶超方便。