1 คะแนน โดย GN⁺ 2024-08-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ระบบควบคุมแอร์แบบดักต์ Advantage Air e-zone ที่ติดตั้งในปี 2019 กลายเป็นระบบที่ไม่สามารถเปิดหรือปิดเครื่องทำความร้อนได้ทันทีเมื่อแท็บเล็ต Android ติดผนังเครื่องหนึ่งเสีย
  • จุดที่เสียไม่ใช่ตัวแอร์ Daikin หรือกล่องควบคุมบนห้องใต้หลังคา แต่เป็น แท็บเล็ต Android ที่จ่ายไฟผ่าน POE ซึ่งในมุมของผู้ใช้ก็แทบไม่ต่างจากสวิตช์เปิด/ปิดเสีย
  • หลังหมดประกัน Advantage Air ไม่ขายแท็บเล็ตแยก และในตอนแรกแนะนำให้เปลี่ยนระบบควบคุมทั้งชุดราคา $1245 ก่อนที่ใบเสนอราคาอย่างเป็นทางการจะเพิ่มเป็น $1697 พร้อมเซ็นเซอร์วัดอุณหภูมิไร้สาย
  • ผู้ใช้ถอดแท็บเล็ตเดิมออกมา ตรวจสอบสายของ USB ที่ซ่อนอยู่และคอนเน็กเตอร์ POE จากนั้นต่อคอนเน็กเตอร์เข้ากับ Samsung Galaxy Tab 4 และแพตช์ การตรวจสอบรุ่นอุปกรณ์ ของแอปเพื่อให้รันแอป e-Zone ได้
  • จากการตรวจสอบพบว่าอุปสรรคหลักที่ทำให้แท็บเล็ตรุ่นใหม่ใช้กับระบบควบคุมรุ่นเก่าไม่ได้ ดูจะเป็น ข้อจำกัดทางซอฟต์แวร์ มากกว่าฮาร์ดแวร์ และต่อมาก็มีการสร้างคลังเอกสารเกี่ยวกับฮาร์ดแวร์ โปรโตคอล และ API ด้วย

สิ่งที่พังไม่ใช่แอร์ แต่เป็นแท็บเล็ตบนผนัง

  • ครอบครัวติดตั้งระบบแอร์ reverse cycle แบบดักต์ขนาดใหญ่ หรือก็คือระบบแอร์ฮีตปั๊ม ตอนสร้างบ้านใหม่ในปี 2019
    • ราคาที่แน่นอนไม่ทราบเพราะรวมอยู่ในแพ็กเกจก่อสร้างทั้งบ้าน แต่ประเมินจากใบเสนอราคาบ้านขนาดใกล้เคียงกันว่าน่าจะอยู่ที่ประมาณ $10k-$12k
  • ระบบแบ่งออกเป็นสองส่วน
    • อุปกรณ์ทำความเย็นและทำความร้อนจริงคือแอร์ของ Daikin
    • บนห้องใต้หลังคามี กล่องควบคุม Advantage Air สำหรับเปิดปิดช่องลมของแต่ละโซน
  • แท็บเล็ต Android ติดผนังในห้องนั่งเล่นที่รับไฟผ่าน POE ทำหน้าที่เป็นอินเทอร์เฟซของ Advantage Air e-zone
  • ด้วย e-zone ผู้ใช้สามารถปรับอุณหภูมิของหลายโซน มุมการเปิดของช่องลม และความเร็วพัดลมได้ และยังควบคุมระยะไกลผ่านแอปบนมือถือได้ด้วย

แท็บเล็ตควบคุมหยุดทำงาน 6 เดือนหลังหมดประกัน

  • วันอาทิตย์ที่ 18 สิงหาคม 2024 แท็บเล็ตแสดงข้อความ “Sorry Google services has stopped”
  • หลังจากนั้นแอป e-zone ก็ล่มและเปิดไม่ขึ้น และหลังรีสตาร์ตก็ค้างอยู่ที่หน้าจอโหลด ANDROID แบบไม่สิ้นสุด
  • ลองหลายวิธีรวมถึงล้างการตั้งค่าและพาร์ทิชันจากโหมดกู้คืนแล้ว แต่ก็ยังไม่สามารถกู้กลับมาได้
  • ตัวเครื่องไม่มีพอร์ต USB ที่มองเห็นได้ จึงต่อเข้าคอมพิวเตอร์โดยตรงไม่ได้ และ “system integrity check” ก็คืนค่าข้อผิดพลาดหลายรายการ

การสนับสนุนอย่างเป็นทางการเรียกร้องให้เปลี่ยนทั้งระบบแทนที่จะเปลี่ยนแท็บเล็ต

  • ทีมซัพพอร์ตของ Advantage Air ตรวจสอบแล้วว่าเครื่องพ้นระยะประกัน จึงแจ้งว่าหากแท็บเล็ตเสียจะต้องใช้ระบบควบคุมชุดใหม่ราคา $1245
  • แม้ผู้ใช้จะโต้แย้งว่าน่าจะเปลี่ยนแค่แท็บเล็ตราคาถูกก็พอ แต่ทีมซัพพอร์ตตอบในทำนองว่าเทคโนโลยีก้าวหน้าต่อเนื่องและระบบจึงไม่เข้ากัน
  • ทั้งที่องค์ประกอบอื่นยังทำงานปกติอยู่ในตอนนั้น
    • ตัวเครื่องแอร์
    • กล่องควบคุม
    • ที่เสียมีเพียงแท็บเล็ต Android เท่านั้น
  • ต่อมาใบเสนอราคาอย่างเป็นทางการยังรวมการเปลี่ยน เซ็นเซอร์วัดอุณหภูมิไร้สาย นอกเหนือจากแท็บเล็ตและระบบควบคุม ทำให้ยอดรวมเป็น $1697
  • ผู้ใช้เห็นกรณีการใช้แท็บเล็ตรุ่นใหม่กับระบบเก่า จึงตัดสินว่าปัญหานี้น่าจะแก้ได้ด้วยแท็บเล็ตอย่างเดียว

แกะแท็บเล็ตเดิมและตามรอยคอนเน็กเตอร์ POE

  • เมื่อถอดแท็บเล็ตออกจากผนังและแกะดู พบว่าการเชื่อมต่อ POE ไม่ได้ดูเป็นมาตรฐานทั่วไป และส่งไฟ 12V และ 2V ผ่านขากลาง
  • ภายในมีพอร์ต USB ที่ซ่อนอยู่ แต่ในตอนแรกคอมพิวเตอร์ก็ยังมองไม่เห็น ไม่ว่าจะอยู่ในโหมด fastboot, recovery หรือ adb sideload
  • เมื่อลองถอดเมนบอร์ดและไล่ตามสายเพิ่มเติมจากคอนเน็กเตอร์ POE ก็พบสาย 3 เส้นที่เชื่อมกับ 5V และ data line ของ USB
  • หลังตัด data line ออก แท็บเล็ตจึงเริ่มปรากฏใน fastboot devices
  • หลังจากนั้นลองใช้ mtktool เพื่อปลดล็อกบูตโหลดเดอร์ แต่ล้มเหลวที่ stage2 และผู้ใช้ก็ตัดสินว่าเสียเวลากับการกู้แท็บเล็ตเครื่องเดิมมากเกินไปแล้ว

หัวใจสำคัญคืออะแดปเตอร์ POE และการตรวจสอบในแอป มากกว่าฮาร์ดแวร์เฉพาะทาง

  • สิ่งที่พิเศษจริง ๆ ในเชิงฮาร์ดแวร์ของแท็บเล็ตเดิมคือ อะแดปเตอร์ POE
    • มันจ่ายไฟค้างแทนแบตเตอรี่
    • และทำหน้าที่เป็นอุปกรณ์ USB ด้วย
  • มีการลองต่อคอนเน็กเตอร์ POE เข้ากับปลั๊ก USB-A เพื่อให้คอมพิวเตอร์ตรวจพบอุปกรณ์ แต่ไม่สำเร็จ
  • จึงสันนิษฐานว่าอุปกรณ์นี้ทำงานเหมือนโฮสต์และเชื่อมต่อได้เฉพาะกับแท็บเล็ตหรือโทรศัพท์ ทำให้เริ่มมองหาอุปกรณ์ Android อื่น
  • ผู้ใช้พบ Samsung Galaxy Tab 4 ที่ได้รับมาตั้งแต่ปี 2015 แล้วนำมาชาร์จ และเมื่อเชื่อมต่อคอนเน็กเตอร์ที่บัดกรีขึ้นเอง ก็เริ่มเห็นว่ามีโอกาสใช้งานได้

แพตช์แอป Android เพื่อข้ามข้อจำกัดของอุปกรณ์

  • แท็บเล็ต e-zone เดิมรัน Android 6.0 ส่วน Samsung Galaxy Tab 4 ใช้ Android 5.0
  • จึงดาวน์โหลดและติดตั้งแอปที่ต้องใช้จากเว็บไซต์ Advantage Air และ apkpure
    • แอป AAService
    • แอปอินเทอร์เฟซ Ezone
  • ตอนแรกขึ้นข้อผิดพลาดประมาณ “Not on AA Hardware” ทำให้สรุปว่าจำเป็นต้องแพตช์แอป Android
  • โดยอ้างอิงจากบทความ reverse engineering แอป Android แล้วใช้ apktool เพื่อ disassemble APK และ build กลับใหม่
  • ใช้ JAXE web decompiler เพื่อตรวจดู APK ในรูปแบบที่ใกล้เคียง Java มากขึ้น ก่อนจะลงมือแก้จริงในโค้ด smali

เปลี่ยนแค่การตรวจชื่อรุ่นก็ทำให้แอปรันได้

  • ใน onResume() ของแอป AAService มีเงื่อนไขตรวจว่าอุปกรณ์เป็นฮาร์ดแวร์ของ Advantage Air หรือไม่ และถ้าไม่ผ่านก็จะแสดง “Not on AA Hardware” แล้วปิดตัวเอง
  • ลอจิกการตรวจคือการเทียบ Build.MODEL กับชื่อรุ่นหลายค่า
    • เช่น "eZone", "e-zone", "PIC7KS-EZ", "PIC7KS6", "PIC7KS6-EZ"
  • เมื่อตรวจดูชื่อรุ่นจากสติกเกอร์ด้านในเคสแท็บเล็ตเดิม ก็พบว่าในโค้ดน่าจะต้องใช้ตัวระบุ -EZ คือ PIC7KS6-EZ
  • จึงแก้โค้ด smali ตำแหน่งที่เดิมคืนค่า Build.MODEL ให้เปลี่ยนเป็นคืนสตริง "PIC7KS6-EZ" แทน
  • หลัง build ใหม่ด้วย apktool b ก็เซ็น APK ที่ยังไม่ได้เซ็นด้วย keytool และ jarsigner

แก้ทั้งแอปบริการและแอป UI ด้วยวิธีเดียวกัน

  • ตอนติดตั้งครั้งแรกเกิดข้อผิดพลาด INSTALL_FAILED_DUPLICATE_PERMISSION
    • เพราะแอป AAService และแอป eZone ขอ permission เดียวกัน แต่ถูกเซ็นด้วยคนละคีย์
    • เพื่อให้เดินหน้าต่อได้ จึงลบแอป eZone ออก
  • แอป AAService ที่แพตช์แล้วสามารถรันได้ และแสดงการแจ้งเตือน “System connected”
  • หลังจากนั้นก็หาโค้ดตรวจอุปกรณ์แบบเดียวกันในแอป UI ของ eZone และแก้แบบเดียวกัน
  • เมื่อแก้ smali/com/air/advantage/w1/k.smali แล้ว build และติดตั้งใหม่ e-Zone ก็ทำงานได้ตามปกติบน Samsung Galaxy Tab 4
  • ตั้งแต่ยอมเลิกกู้แท็บเล็ตเดิมจนทำให้มันทำงานบนแท็บเล็ตเครื่องใหม่ได้ ใช้เวลาเพียงไม่กี่ชั่วโมง

ข้อสรุปเรื่องค่าใช้จ่ายและความเข้ากันได้

  • วันถัดมาผู้ติดตั้งแอร์แจ้งว่าสามารถขายแท็บเล็ตเก่าที่เจอหลังรถตู้ได้ในราคา $400
  • แม้ราคานี้ก็ยังแพง แต่ผู้ใช้มองว่าหาก Advantage Air เสนอทางเลือกนี้ตั้งแต่แรก ก็น่าจะยอมรับได้มากกว่า
  • การซ่อมนี้ทำได้เพราะมี คอนเน็กเตอร์ POE เดิมอยู่แล้ว และจะไม่ช่วยคนที่ไม่มีฮาร์ดแวร์ของ Advantage Air
  • หากปัญหาแท็บเล็ตเสียแบบนี้เกิดขึ้นบ่อย ก็อาจแก้ได้ด้วยการบัดกรีเล็กน้อยและแท็บเล็ตเครื่องใหม่
  • อุปสรรคที่ทำให้แท็บเล็ตรุ่นใหม่ใช้งานกับระบบควบคุมรุ่นเก่าไม่ได้ ดูจะเป็น การเลือกฝั่งซอฟต์แวร์ มากกว่าฮาร์ดแวร์

ข้อมูลเพิ่มเติมที่มีเข้ามาหลังโพสต์บน HN

  • ในการพูดคุยบน Hacker News มีผู้ใช้ชื่อ gstar ที่อยู่เมืองเดียวกันกำลังจัดการปัญหาเดียวกัน และระบุว่าระบบใช้ RS422
  • gstar เสริมว่าหากรูตแท็บเล็ตแล้วเปลี่ยน build.MODEL เป็น "MyAir5" ก็จะทำงานได้บนแท็บเล็ตของบุคคลที่สามเช่นกัน
  • ผู้ร่วมวงสนทนาใน HN บางส่วนเริ่มรวบรวมทรัพยากรเพื่อจัดทำเอกสารข้อมูลเกี่ยวกับฮาร์ดแวร์ โปรโตคอล และ API
  • คลังที่เกี่ยวข้อง: aa_interop

1 ความคิดเห็น

 
GN⁺ 2024-08-30
ความคิดเห็นบน Hacker News
  • โอ้โห ผมอยู่ที่ Perth และเจอระบบเดียวกัน ปัญหาเดียวกัน แก้ด้วยวิธีแทบเหมือนกัน และกำลังเขียนบันทึกเรื่องนี้อยู่พอดี
    ระบบนี้ใช้ RS422 และในไบนารี aaservice มีคีย์ AES ที่เข้ารหัสแบบ base64 อยู่
    ผมกำลังคิดว่าจะทำคอนโทรลเลอร์โอเพนซอร์สบน ESP32 อยู่พอดี เป็นเรื่องบังเอิญที่แปลกสุด ๆ

    • อนึ่ง ถ้า root แท็บเล็ตแล้ว แค่เปลี่ยน build.MODEL เป็น MyAir5 ทุกอย่างก็ทำงานบน แท็บเล็ตของบุคคลที่สาม ได้ด้วย
    • เผื่อจะเป็นประโยชน์กับใคร ผมทำตัวควบคุมระบบ Advantage Air ไว้แล้ว: https://git.nethack.net/rob/aircon
      โดยพื้นฐานคือคุยกับ Android tablet API เพื่อให้มันทำงาน ดังนั้นถ้าแท็บเล็ตตายก็ช่วยอะไรไม่ได้ แต่สามารถสั่งเปิดปิดทั้งเครื่องตามอุณหภูมิเฉลี่ยของโซน เปิดปิดช่องลมตามว่าอุปกรณ์ของเจ้าของห้องออนไลน์อยู่หรือไม่และอุณหภูมิโซนรอบข้าง หรือส่งอุณหภูมิโซนเข้า influxdb ได้
    • ผมไม่เข้าใจเลยว่าทำไมระบบควบคุมถึงต้องมี ช่องทางควบคุมที่ป้องกันด้วย AES
      เจตนาที่เป็นไปได้มีแค่ทำให้การทำงานร่วมกับระบบอื่นยากขึ้นเท่านั้น และถ้าต้องการความปลอดภัยจริง ๆ ก็คงไม่ใช้คีย์ AES ที่ฝังไว้ตายตัวแบบนี้
    • ผมก็ใช้ระบบนี้อยู่เหมือนกัน
      ยังไม่พัง แต่กังวลว่ามีโอกาส เลยเริ่มทำเอกสารโปรโตคอลการสื่อสาร และถึงขั้นเริ่มออกแบบ Pi HAT สำหรับคุยกับบอร์ดควบคุมหลักแล้ว
      สักวันต้องเขียนเรื่องนี้ออกมาเหมือนกัน
    • ถ้ามันพังกันในช่วงเวลาใกล้ ๆ กันแบบนี้ ดูเหมือนว่าสตอเรจในระบบ logging บางอย่างจะเสีย
      อาจเป็นลักษณะเขียน log จำนวนใกล้เคียงกันทุกวันลงแฟลชราคาถูกจนถึงขีดจำกัด
      ผู้ผลิตรายนี้ควรรู้สึกละอายบ้าง
  • ชอบที่เขาปลุกบล็อกที่ปล่อยทิ้งไว้ 10 ปีให้กลับมา เพียงเพื่อเขียนบทความนี้บทความเดียว
    ความโกรธและความแค้น เป็นแรงจูงใจที่ทรงพลัง

    • คุณอาจไม่รู้ว่าประโยคนี้จริงแค่ไหน :)
      ต้องอัปเกรดทุกอย่างหมด และเว็บเก่าก็ไม่มี SSL ด้วย
      แต่ผมหงุดหงิดมากจนอยากให้คนอื่นรู้วิธีซ่อม
    • ผมเคยโมโหและแค้น IKEA จนสร้างเตียงให้ลูกสาวเองตั้งแต่ศูนย์
    • ก็ดีอยู่ แต่ถ้าบทความนี้จะมีคุณค่า ต้องทำให้มันแพร่ไปในโซเชียลมีเดียที่ไหนสักแห่งให้สำเร็จ
      ถ้าไม่ได้มีอิทธิพลในโซเชียลมีเดียอยู่แล้ว หรือรู้จักคนแบบนั้นเป็นการส่วนตัวก็ยาก และแม้แต่บน HN ก็ต้องหวังว่าจะโพสต์ถูกเวลาพอดีและไม่โดนกลุ่มคนกด report
  • ปีที่แล้วผมติดตั้งแอร์ที่บ้าน
    ผมตั้งใจเลือกเครื่องที่ควบคุมด้วย รีโมต IR แทนที่จะเป็นรุ่นที่มีฟีเจอร์สมาร์ตแบบ proprietary และจัดการฟีเจอร์สมาร์ตด้วย IR blaster ราคาถูกจาก AliExpress ที่ต่อกับ Home Assistant
    แดชบอร์ดในห้องใช้แท็บเล็ต Lenovo ราคาถูกติดผนัง ให้ควบคุมไฟและแอร์ได้โดยไม่ต้องใช้มือถือ เรื่องสยองแบบนี้ทำให้ผมมั่นใจในการตัดสินใจของตัวเองมากขึ้น

    • อุปกรณ์บางตัวมี พอร์ต 5V UART ที่เชื่อมกับ Home Assistant ได้ง่าย และสื่อสารสองทางได้ด้วย: https://static.xtremeownage.com/blog/2023/pioneer-mini-split...
    • ผมก็คิดวิธีเดียวกัน แต่การควบคุมด้วย IR ทำได้แค่ การสื่อสารทางเดียว กับอุปกรณ์
      ถ้าไม่มีกลไก feedback ก็สงสัยว่าจะแก้ยังไงเมื่อสถานะของอุปกรณ์กับสถานะใน Home Assistant ไม่ตรงกัน
    • ผมซื้อ Daikin ด้วยเหตุผลเดียวกัน
      โมดูล Wi-Fi ต้องจ่ายเพิ่ม แต่พออ่านรีวิวแอปแล้ว โดยรวมให้ความรู้สึกว่า “พอใช้ได้บ้าง แต่แทบไร้ประโยชน์”
      ผมทำตัวส่ง IR ด้วย ESP32 แล้วลง Tasmota IR ซึ่งรองรับ Daikin ได้ดีมาก และถึงจะรับสัญญาณกลับไม่ได้ แต่เสถียร 100% เลยดูไม่จำเป็น
    • ที่บ้านมีฮีตปั๊ม Lennox อยู่ และเมื่อไม่กี่เดือนก่อนคอนโทรลเลอร์ควบคุมอุณหภูมิหลักเสีย
      Lennox ก็ใช้ระบบ proprietary แบบนี้เหมือนกัน แต่บนบอร์ดควบคุมเห็นขั้วควบคุมแบบเก่า และเพราะอุบัติเหตุที่ช่างติดตั้งตัดสายเดิมทิ้งระหว่างปูพื้นใหม่ ทำให้มี สายเทอร์โมสแตต 5 เส้น แทนที่จะเป็น 4 เส้นเดิม
      พอต่อเทอร์โมสแตตราคา 50 ดอลลาร์ ไฟกับพัดลมติด แต่คอนเดนเซอร์ A/C ไม่ตอบสนอง อะไหล่แท้เกิน 700 ดอลลาร์ ส่วนอัปเกรดอยู่ที่ 800 ดอลลาร์
      ผมเจอคนขายรุ่นอัปเกรดใน OfferUp ราคา 400 ดอลลาร์ ตอนแรกบรรยากาศเหมือน “ของขโมยนะ อย่าถามมาก” แต่สุดท้ายก็ซื้อมา
      กลับบ้านมาต่อแล้วพัดลมติดแต่แอร์ไม่ทำงาน เผื่อไว้เลยไปเช็กไฟของ heat exchanger ข้างนอก พบว่าเคยถอดไว้เพื่อความปลอดภัยแล้วเสียบกลับก็จริง แต่เสียบไม่แน่น
      พอเสียบให้แน่นอีกครั้งก็มีประกายไฟแล้วกลับมาทำงาน และเทอร์โมสแตต 50 ดอลลาร์อาจจะพอแล้วก็ได้ แต่ในเมื่อเสียเงินไปแล้วก็ไม่มีเหตุผลต้องเดินสายใหม่ทั้งระบบ
      ถ้าระบบนี้ตายอีก ผมจะเปลี่ยนไปใช้ mini split แบบไม่มีท่อ
    • นี่แหละคำตอบ
      ตั้งใจซื้อแต่ อุปกรณ์โง่ ๆ แล้วทำให้มันสมาร์ตด้วยวิธีของผมเอง
  • วงการ “แอร์อัจฉริยะ” ทั้งวงการควรถูกอุกกาบาตลูกใหญ่ชนให้หายไปเสียที
    ความต้องการจริง ๆ สำหรับ อุปกรณ์แบบปรับความเร็วได้ สมัยใหม่นั้นชัดเจน แต่ผู้ผลิตกลับทำพังด้วยการใช้โปรโตคอลเฉพาะของตัวเองเพื่อกักผู้ใช้ไว้ในระบบนิเวศของตน
    TRANE ในสหรัฐฯ ก็คล้ายกัน และยิ่งน่าหงุดหงิดกว่าเพราะปั๊มแบบปรับความเร็วได้ช่วยแก้ปัญหาการทำงานเป็นรอบสั้น ๆ และระบบที่มีขนาดใหญ่เกินไปได้

    • อย่างน้อยดูเหมือนว่าจำเป็นต้องบังคับให้มี มาตรฐานเปิด ขั้นต่ำผ่านกฎระเบียบ
      แบบนั้นถึงจะทำสิ่งอย่างการปรับระบบให้สอดคล้องกับสถานการณ์การผลิตพลังงานหมุนเวียนที่ไม่สม่ำเสมอได้
    • มีพัดลมเตาให้ความร้อน/แอร์แบบปรับความเร็วได้ด้วย
      พอชิ้นส่วนหนัก ๆ แบบนี้มีชุดควบคุมเพิ่มเข้ามา เวลามันเสียก็แพงมาก และในกรณีของผม ชุดควบคุมยังดีอยู่ แต่มีแค่มอเตอร์พัดลมที่ตาย
      เขาบอกว่าไม่ขายเฉพาะมอเตอร์ แต่ขายเป็นชุดประกอบราคา 900 ดอลลาร์เท่านั้น และถ้าผมติดตั้งเองการรับประกันก็จะเป็นโมฆะ
      ถ้าเป็น Trane ผมได้ยินมาว่าเขาคงไม่ขายแม้แต่ชุดประกอบนั้นด้วยซ้ำ ส่วนเครื่องของผมเป็น Goodman
      โดนฟันราคาชัด ๆ
    • ถ้าคิดว่านี่แย่แล้ว ลองเจออุปกรณ์สระว่ายน้ำดูสิ
    • กำลังดูเรื่องเปลี่ยนระบบแอร์อยู่ แต่พอได้ลองจับเครื่องแบบขั้นเดียว·ความเร็วเดียวที่ติดตั้งอยู่ตอนนี้เอง และเห็นสินค้าประหลาด ๆ ที่ซับซ้อนกว่าชุดเตาให้ความร้อนเป่าลมด้วยแก๊สแบบเรียบง่ายกับแอร์ 16 SEER ขั้นเดียวมาก ก็ไม่อยากซื้ออย่างอื่นเลย
      เครื่องที่เรียบง่ายนั้นร้านอะไหล่ทุกเจ้ามีอะไหล่ทดแทนราคาถูกในสต็อก และซ่อมก็ง่าย
      ตรงกันข้าม ถ้าต้องไปหา มอเตอร์ปรับความเร็วได้หายาก หรือบอร์ดควบคุมที่ Lennox หรือ Trane เลิกผลิตทันทีที่เครื่องผมเสีย ก็ขอให้โชคดีแล้วกัน
    • เหตุผลที่สร้างมาตรฐานให้เรื่องพวกนี้ยาก คือแต่ละอุปกรณ์มีความต้องการด้านการสื่อสารและระดับความฉลาดต่างกัน
      บางเครื่องต้องการเซ็นเซอร์อุณหภูมิ 2 ตัว บางเครื่องต้องการ 3 ตัว และบางระบบใช้คุณลักษณะกับตำแหน่งของเซ็นเซอร์เป็นโมเดลทางกายภาพเพื่อควบคุมอย่างละเอียด ดังนั้นแม้แต่ระบบทั่วไปก็อาจมีจุดข้อมูลราว 5~15 จุด
      การทำเอกสารโปรโตคอลเป็นเรื่องดี แต่ในทางปฏิบัติคนที่จะใช้คงมีน้อยมาก และถ้าจะให้มาตรฐานเดินได้ ก็น่าจะต้องใช้วิธีแบบ Bluetooth ที่มีโปรไฟล์ตามสถานการณ์อย่าง HFP, A2DP, SPP และมีแอตทริบิวต์อเนกประสงค์แบบ GATT ที่เป็นทางเลือก
      แต่ดังที่เห็นใน Bluetooth LE ถ้าทุกคนวางการใช้งานเฉพาะของตัวเองทับบน GATT สุดท้ายก็วนกลับมาปัญหาเดิม
      บางระบบพยายามทำงานแบบ “อัจฉริยะ” พร้อมกับใช้โปรโตคอลอย่าง 24V C/W/Y1/Y2 เป็นเส้นทางทดแทนที่สอดคล้องกับมาตรฐาน ซึ่งไม่ได้สูญเสียความฉลาดทั้งหมด แต่ตัวอุปกรณ์ต้องอาศัยการประมาณทางกายภาพเพื่ออนุมานข้อมูล
      ตัวอย่างเช่น ถ้าใช้แค่เทอร์โมสตัทเปิด/ปิด ก็จะไม่รู้ส่วนต่างจากอุณหภูมิที่ตั้งไว้โดยตรง ต้องประมาณจากการสังเกตหลายรอบการทำงาน
      ทางออกที่เป็นจริงอาจเป็นการขยายอินเทอร์เฟซ 24V แบบเก่า
      เช่น โอนนโยบายการควบคุมจริงไปให้เทอร์โมสตัท แล้วใช้สัญญาณ 0~10V โดย 5V คือปิด, 0V คือทำความเย็นสูงสุด, 10V คือทำความร้อนสูงสุด
      แบบนั้นจะเลือกการจัดวางเซ็นเซอร์อุณหภูมิได้อย่างอิสระ แต่การติดตั้งที่ต้องมีหลายโซนหรือหลายเทอร์โมสตัทจะซับซ้อนขึ้น
      คงยากมากที่ทั้งอุตสาหกรรมจะตกลงกับวิธีแก้แบบนี้ได้
      Qualcomm Quick Charge 2.0 เป็นโปรโตคอลที่เรียบง่ายมากในลักษณะคล้ายกัน และแทบจะอธิบายตัวเองได้ จึงแทบไม่ต้องจัดการเวอร์ชัน แต่เมื่อความต้องการเปลี่ยนไป ก็ผ่าน 3.0 และ 4.0 มา จนถึง USB-C และ USB PD ก็กลายเป็น API โปรโตคอลข้อมูลที่มีครบทุกชั้นของ OSI รวมถึงส่วนขยายเฉพาะผู้ผลิต
      ต่อให้ไม่ใช่มาตรฐาน ก็อาจกำหนดโปรโตคอลซับซ้อนที่เปิดเผย API ของระบบได้ แต่ผู้ผลิตไม่มีแรงจูงใจให้ทำเช่นนั้น และบริษัทใหญ่ ๆ อย่าง Control4, Lutron, Crestron อาจทำผลิตภัณฑ์ที่เชื่อมต่อร่วมกันได้
      แต่ถ้าเป็นแบบนั้น ลูกค้าก็เลือกเทอร์โมสตัทได้ไม่อิสระ ต้องรับมือทั้งผู้ผลิต N รายและผู้ผลิตเทอร์โมสตัท N ราย จึงขยายไม่ได้และตกสู่นรกของ dependency
      สำหรับอาคารขนาดใหญ่กว่า BACnet ดูเป็นทางออกที่ใกล้เคียงมาตรฐานที่สุด
      ดูเหมือนจะใช้โมเดลโปรไฟล์ตามสถานการณ์แบบ Bluetooth แต่มีข้อเสียใหญ่คือ ต้องตั้งค่าด้วยมือในระดับหนึ่งเพื่อส่งข้อมูลไปยังจุดที่ต้องการ และคงยากจะมองว่าช่างติดตั้งในระดับบ้านพักอาศัยพร้อมจะจัดการสิ่งนี้
      “เทอร์โมสตัท” ในความหมายสมัยใหม่แทบจะเป็นอวัยวะตกค้างไปแล้ว และโดยพื้นฐานก็เป็นแค่อินเทอร์เฟซผู้ใช้กับเทอร์โมมิเตอร์เท่านั้น
      แม้ไม่นับความต้องการอย่างการควบคุมผ่านแอปโอเพนซอร์ส ก็ยังยากที่จะนิยามว่าเทอร์โมสตัททำอะไร ระบบทำอะไร และอุปกรณ์ที่ติดอยู่บนผนังนั้นควรเรียกว่า “เทอร์โมสตัท” ที่เปลี่ยนทดแทนได้จริงหรือไม่
      เพื่อนที่ทำงานด้านการรวมระบบบ้านอัตโนมัติบอกว่า ลูกค้าหลายคนไม่ชอบรูปลักษณ์ของเทอร์โมสตัทพื้นฐาน
      ในกรณีแบบนี้ ผมเข้าใจความจำเป็นในการปรับแต่ง แต่การทำจริงดูยากมาก
  • “ไม่ว่าจะด้วยเหตุผลอะไรก็ตาม แท็บเล็ตของทุกคนตายในช่วงเวลาใกล้ ๆ กัน” ช่างเป็นเรื่องบังเอิญที่น่าสนุกจริง ๆ
    และการที่ช่วงเวลานั้นอยู่ นอกระยะรับประกัน ก็คงเป็นเรื่องบังเอิญล้วน ๆ ด้วยสินะ?

    • จากมุมผู้ผลิต มันสะดวกมาก และทำได้ง่าย ๆ แค่ซื้อชิ้นส่วนที่ถูกที่สุด
      น่าจะเป็นแบบ eMMC และเขียนไฟล์ log อยู่ตลอด
      หลักฐานคือผมมีอุปกรณ์ Android สี่เครื่องแล้วที่ตายด้วยวิธีแบบนี้เป๊ะ ๆ
    • เห็นบริษัทแบบนี้มามาก ต่อให้อยู่ในระยะรับประกันก็คงไม่ต่างกันมาก
      พวกเขามีแนวโน้มจะปล่อยให้คนจำนวนมากซวยไป จนกว่าจะมีคดีแบบกลุ่มหรือกระบวนการเทียบเท่าในประเทศนั้น ๆ แล้วก็โดนตบข้อมือเบา ๆ เป็นค่าตอบแทนที่ไม่ยอมทำตามการเคลมประกัน
    • ชิ้นส่วนเสียเกิดขึ้นได้
      ผมเคยซื้อทีวี Philips 4K LED ช่วงลดราคาเดือนเมษายน 2021 มันมีอาการแปลก ๆ จุกจิกอยู่บ้าง แต่ไม่ถึงขั้นร้ายแรง
      แล้วสัปดาห์ที่สองของเดือนมกราคมปีนี้ จู่ ๆ หน้าจอก็เต็มไปด้วยแถบแนวตั้ง จากวินาทีก่อนยังปกติ วินาทีถัดมาก็เสียแล้ว
      โชคดีที่นอร์เวย์โดยทั่วไปมีระยะรับประกัน 5 ปี และถือว่าทีวีควรใช้งานได้อย่างน้อย 5 ปี
      พอเอาไปที่ร้าน ก็มีทีวีรุ่นเดียวกันอีกสองเครื่องอยู่ที่นั่น และจากโน้ตที่ติดไว้ ทั้งสองเครื่องเสียด้วยอาการเดียวกับของผม และวันที่ซื้อก็ราวเดือนมีนาคม~เมษายน 2021 เหมือนกัน
      คงมองเป็นอย่างอื่นไม่ได้นอกจาก ชิ้นส่วนร่วมบางอย่างเสีย
    • ถ้าเกิดกับทุกคนในช่วงเวลาใกล้ ๆ กัน ก็อาจเป็นเพราะมีการเก็บ log แล้วไม่ลบ จนพื้นที่เก็บข้อมูลเต็มก็ได้
    • ถ้าได้ขุดดูโค้ด Java ว่าอะไรเป็นตัวกระตุ้นให้เกิดขึ้นก็คงดี
  • น่าเสียดายที่ถ้ามีใครสักคนจากผู้ผลิตรู้เรื่องนี้ ความคิดแรกคงไม่ใช่ “จะทำให้ลูกค้าใช้งานง่ายขึ้นได้อย่างไร?”
    แต่น่าจะเป็น “จะปิด วิธีเลี่ยง นี้ได้อย่างไร?” และสุดท้ายมีแนวโน้มจะไปสู่ฮาร์ดแวร์และซอฟต์แวร์ที่จำกัดมากขึ้นและประหลาดมากขึ้น

    • ผมว่าเขาคงไม่สนใจถึงขนาดนั้น
      ในบรรดาลูกค้า คนที่ทำ “การแฮ็ก” แบบนี้ได้คงมีแค่ 1% และตราบใดที่การเปลี่ยนแท็บเล็ตยังถูกกว่าการซื้อแอร์ใหม่จากบริษัทอื่น ผู้ผลิตก็คงรับได้
    • ใช่ และนั่นแหละที่น่าเศร้ามาก
      แทบทุกอย่างกำลังไปในทิศทางนี้
      ยังจำยุคเจลเบรก iPhone สมัยก่อนกับเกมแมวจับหนูของ Apple ได้อยู่เลย
    • คงต้องเอาเงื่อนไขไปใส่ไว้ใน shared library .so แล้วใช้ Android JNI
      ทำให้มันซับซ้อน แล้วซ่อนสตริงรุ่นแท็บเล็ตไว้ทั่วโค้ด ก็น่าจะกันได้ในระดับที่ทำให้คนที่ decompile ไฟล์ .so หงุดหงิดพอสมควร
  • แอปที่รันบนแท็บเล็ต Android ทั่วไปแล้วขึ้นข้อผิดพลาด not on AA hardware ควรถือเป็นอาชญากรรม

    • ถ้าจะพูดแก้ต่าง ก็ต้องจำไว้ว่าใคร ๆ ก็สามารถดาวน์โหลดและติดตั้งแอปนี้ลงในอุปกรณ์ Android ได้
      ในกรณีนี้ การมีโหมดล้มเหลวที่ชัดเจนก็สมเหตุสมผล
      ถ้าเป็นคนที่ถึงขั้นหยิบหัวแร้งออกมาเพื่อจะต่อแท็บเล็ตใหม่ เรื่องแค่นี้ก็น่าจะเลี่ยงได้สบาย
  • นี่คือช่วงเวลาที่ของ “สมาร์ท” กลายเป็นของโง่
    ผมก็กังวลเรื่องนี้กับ Nest และอุปกรณ์สมาร์ทอื่น ๆ อยู่บ้าง แต่แอร์ธรรมดาก็อาจทำให้เสียเงินหลายร้อยดอลลาร์ได้จากปัญหาง่าย ๆ ไม่กี่อย่างเหมือนกัน
    ไม่กี่สัปดาห์ก่อน พัดลมโบลเวอร์ของแอร์หยุดทำงาน แต่คอมเพรสเซอร์ยังทำงานอยู่
    พอขึ้นไปดู พบว่า คาปาซิเตอร์ เสีย เลยถ่ายรูปไว้แล้วซื้ออะไหล่มาเปลี่ยน ใช้เวลาประมาณ 15 นาที และน่าจะประหยัดไปอย่างน้อย 400 ดอลลาร์
    ในทะเลทราย แอร์เสียถือเป็นเหตุฉุกเฉิน ดังนั้นเขาก็คงคิดเงินตามนั้น
    การซ่อมเครื่องใช้ไฟฟ้าก็สนุกไม่น้อยเหมือนกัน

    • ข้อดีของออสเตรเลียคือ การซ่อมแบบนั้นน่าจะผิดกฎหมาย
      ที่นี่มีกฎคุ้มครองแบบปกป้องผลประโยชน์ที่ค่อนข้างพัง ๆ เกี่ยวกับสิ่งที่คุณทำได้หรือทำไม่ได้ในบ้านของตัวเอง
      ในทางปฏิบัติไม่ได้มีคนคอยเฝ้าดูตลอด จึงโดยรวมยังพอไหว แต่มันโง่ถึงขั้นที่แม้แต่การเปลี่ยนก๊อกน้ำหรือโคมไฟเดิมก็ผิดกฎหมาย
      พอรัฐบาลรัฐทบทวนกฎเป็นครั้งคราว สมาคมวิชาชีพต่าง ๆ ก็กรูกันเข้ามาอ้างว่าเป็นกฎเพื่อปกป้องคุณ ป้องกันไม่ให้ถูก “ช่างสารพัด” ที่ไม่มีใบอนุญาตหลอก
      เพราะ regulatory capture แบบนี้ ตามกฎหมายแล้วถ้าจะเปลี่ยนปลั๊กหนึ่งตัวต้องผ่านการฝึกงาน 4 ปี และถ้าจะทำท่อน้ำพื้นฐานก็ต้องฝึกงานอีกแบบหนึ่ง
      งานในบล็อกนี้เอง ถ้าพูดเคร่ง ๆ ก็มีแนวโน้มจะผิดกฎหมายด้วย
      ตัวอย่างเช่น สายดาต้าต้องติดตั้งโดยช่างไฟฟ้าที่มีใบอนุญาตเฉพาะด้านดาต้า
      คุณเสียบสาย Ethernet เข้าคอมพิวเตอร์เองได้ แต่ถ้าซื้อรางพลาสติกติดผนังแล้วร้อยสายผ่านข้างใน นั่นถือว่าฝ่าฝืน และอาจโดนปรับได้ถึงหลายพันดอลลาร์
      เพียงเพราะเอาท่อพลาสติกไปติดบนผนังบ้านตัวเอง
    • ข้อดีของเครื่อง Mitsubishi Heavy Industry คือคุณสามารถใส่โมดูล MHI-AC-Ctrl[1] หลายตัวไว้ แล้วให้มันสื่อสารกับ Home Assistant ผ่าน service interface ได้
      สิ่งที่ดีคือมันไม่ได้เปิดเผยแค่การควบคุมพื้นฐาน แต่รวมถึงเซ็นเซอร์ภายในและโค้ดทั้งหมดด้วย
      สิ่งที่จำเป็นจริง ๆ คือกฎหมายสิทธิในการซ่อมที่บังคับให้เปิดเผย มาตรฐานการควบคุม แบบนี้
      ไม่ควรมีใครต้องทำ reverse engineering และถ้าจะนำผลิตภัณฑ์ออกสู่ตลาด ก็ควรต้องให้สเปกเต็มของอินเทอร์เฟซซอฟต์แวร์และข้อมูล
      ถ้าทำแบบนั้น ผมคิดว่าในไม่กี่ปี เครื่องใช้ไฟฟ้าใหม่ทุกชิ้นจะรองรับมาตรฐานพอร์ต serial ร่วมกัน และมีตารางโค้ดอยู่ในคู่มือ
      ที่น่าขันคือการแพร่หลายของผลิตภัณฑ์สมาร์ท Tuya ทำให้แทบจะเข้าใกล้สถานการณ์นั้นแล้ว แต่พวกเขาทุ่มความพยายามอย่างไร้เหตุผลเพื่อกันไม่ให้แตะต้องไมโครคอนโทรลเลอร์ Wi-Fi
      [1] https://github.com/absalom-muc/MHI-AC-Ctrl
    • ทุกคนที่อ่านข้อความนี้ควรไปดูว่าแอร์ของตัวเองต้องใช้คาปาซิเตอร์แบบไหน แล้วซื้อเก็บไว้สักตัวจาก Amazon
      ทั้งหมดราคาต่ำกว่า 20 ดอลลาร์
      ผมลองทำเองแล้ว ใช้เวลาไม่ถึง 15 นาที และแทบเป็นไปไม่ได้ที่จะทำพัง
      ต่อให้คุณยอมจ่ายหลายร้อยดอลลาร์เพื่อเรียกคนมาซ่อม อย่างน้อยก็ต้องอยู่โดยไม่มีแอร์หลายชั่วโมง และขึ้นอยู่กับฤดูกาล มันอาจทรมานพอสมควร
    • ผมเคยทำเรื่องคล้ายกันกับเครื่องอบผ้า
      เป็นรุ่นช่วงกลางยุค 80 จึงเก่าแต่ยอดเยี่ยม และเพราะขนาดใหญ่ จึงอบผ้านวมได้ราวสามผืนภายในไม่ถึงชั่วโมง
      พอความร้อนไม่ออก ตรวจดูแล้วพบว่าปัญหาอยู่ที่โซลินอยด์ควบคุมการไหลของก๊าซธรรมชาติ
      เป็นยุคที่ผลิตภัณฑ์ถูกออกแบบมาให้ซ่อมง่าย จึงถอดประกอบได้เร็ว เปลี่ยนโซลินอยด์สองตัวราคา 8 ดอลลาร์ที่ซื้อจาก Amazon แล้วมันก็กลับมาทำงานอีกครั้ง
    • ซ่อมมาหลายอย่างแล้ว
      มือจับพลาสติกเล็ก ๆ ด้านในเครื่องบดกาแฟแบบ burr ของ Capresso หัก ผมใช้แหวนรองราคา 10 เซนต์กับกาวซ่อม มันทำงานได้ดีมาหลายปี และภายนอกก็ดูไม่ออกเลย
  • สิ้นเปลืองมาก
    ถ้าบริษัทนี้ทำเงินจากการทิ้งฮาร์ดแวร์ที่ยังสมบูรณ์ดีเป็นจำนวนมากทุกไม่กี่ปี ก็ช่างเป็นเรื่องที่ “ยอดเยี่ยม” ต่อสิ่งแวดล้อมจริง ๆ
    ตัวบทความเองสนุก และการเอาคืนแบบนี้ก็น่าดู แต่แนวทางแบบนี้ทำให้โมโหมากจริง ๆ

  • แท็บเล็ต ezone เดิมเป็น Android 6.0 ส่วน Samsung ตัวนี้เป็น 5.0 แต่ผมคิดว่าน่าจะไม่มีปัญหา สิ่งที่ขาดไปคือแอปที่จำเป็น
    แอป ezone มีอยู่ทั้งบนเว็บไซต์ Advantage Air และเว็บไซต์ apkpure และผมรู้จัก apkpure เพราะเห็นโพสต์ว่าฝ่ายซัพพอร์ตเทคนิคของ AA เป็นคนแนะนำ
    ส่งลูกค้าไปยัง เว็บแจกจ่าย APK บุคคลที่สาม ที่ตัวตนไม่ชัดเจนแบบนี้ ความจริงชนะงานเสียดสีไปแล้ว

    • แอปมีการเซ็นชื่อไว้ ดังนั้นจึงเทียบกับต้นฉบับและลายเซ็นได้
      ผมยังไม่เห็นรายงานว่าไฟล์จาก Apkpure มีลายเซ็นไม่ตรง แต่แน่นอนว่ามันเป็นไปได้
      สิ่งสำคัญกว่าคือเส้นทางภัยคุกคามจริง ๆ คืออะไร
      มันไม่ใช่มือถือส่วนตัวด้วยซ้ำ แค่ไม่เชื่อมต่อแท็บเล็ตกับ Wi-Fi ก็พอ
      จะมีใครแอบปรับอุณหภูมิขึ้น 1 องศาหรือไง?
    • ผมกำลังอ่านประกาศทางเทคนิคอย่างเป็นทางการของ Volvo เกี่ยวกับปัญหาที่อาจเกิดขึ้นกับ XC90 รุ่นล่าสุด แล้วในคู่มือเขียนตรงตัวว่า “ดาวน์โหลดแพตช์นี้แล้วใส่ลงในซอฟต์แวร์แพตช์ จากนั้นจะมีคำเตือนขึ้นว่าแพตช์นี้ไม่ถูกต้องสำหรับรถคันนี้และไม่ได้เซ็นชื่อ ให้กด ignore แล้วกด continue”
      ถ้าจะให้ช่างของตัวเองกดข้ามอยู่แล้ว ก็ไม่รู้ว่าจะใส่คำเตือนแบบนั้นไว้ทำไม
    • ก็ไม่ได้ต่างจากตอนที่ Blizzard ใช้ BitTorrent สำหรับอัปเดตซอฟต์แวร์เท่าไร
      เป็นวิธีฉลาด ๆ ในการเลี่ยงต้นทุนแบนด์วิดท์
      อย่างที่คอมเมนต์พี่น้องบอก ไฟล์นั้นมีการเซ็นชื่อไว้