প্রকল্প সম্পর্কে

Hauser হলো একটি সেলফ-হোস্টেড, রুম-ফার্স্ট Home Assistant ড্যাশবোর্ড, যা ওয়াল প্যানেল, ট্যাবলেট ও ফোনের জন্য ডিজাইন করা। এটি নিজেকে পরিবারের সদস্যদের জন্য একটি শান্ত দৈনন্দিন ইন্টারফেস হিসেবে উপস্থাপন করে, আর Home Assistant অপারেটর ও অ্যাডমিন ইন্টারফেস হিসেবে থাকে। প্রকল্পটি তার প্রথম পাবলিক টেকনিক্যাল বিটায় (AGPL-লাইসেন্সড শখ প্রকল্প) রয়েছে এবং Docker Compose বা Home Assistant App হিসেবে ইনস্টল করা যায়। মূল বৈশিষ্ট্যগুলোর মধ্যে রয়েছে: - **রুম**: ক্লাইমেট, লাইট, সিন, উপস্থিতি ও জানালার অবস্থা, প্রতিটি তিনটি লাইটিং অবস্থায় চিত্রিত যা প্রকৃত লাইট অনুসরণ করে। - **রুম ইমেজ**: একটি উইজার্ড ফোনের ছবি থেকে কাস্টম ইলাস্ট্রেশন তৈরি করে, OpenAI (পেইড, ঐচ্ছিক), Cloudflare Workers AI (ফ্রি টিয়ার) বা ম্যানুয়াল ড্রয়িং ব্যবহার করে। - **Home Assistant ইন্টিগ্রেশন**: অফিসিয়াল ক্লায়েন্টের মাধ্যমে WebSocket, রিকনসিলিয়েশনসহ অপটিমিস্টিক কমান্ড, রিকানেক্ট হ্যান্ডলিং এবং `sun.sun` থেকে দিন/রাত থিমিং। - **মিডিয়া**: Jellyfin লাইব্রেরি, শেলফ, ডিটেইল ভিউ, রিজিউমসহ HLS প্লেব্যাক; HA মিডিয়া প্লেয়ারের মাধ্যমে রুম অডিও। - **এনার্জি**: প্রকৃত পাওয়ার সেন্সর থেকে লাইভ লোড ও দৈনিক খরচ, সৎ খালি অবস্থাসহ। - **দৈনন্দিন**: ক্যালেন্ডার, নোট, রিমাইন্ডার, শপিং লিস্ট, লন্ড্রি নোটিফিকেশন। - **ডকুমেন্ট**: PIN-গেটেড Paperless-ngx সার্চ, প্রিভিউ, ডাউনলোড ও ঐচ্ছিক কম্প্যানিয়ন সার্ভারের মাধ্যমে ইমপোর্ট। - **ডিভাইস**: UI-এর ভেতর থেকে এনটিটি যোগ, লুকানো, নাম পরিবর্তন, রুমে অ্যাসাইন ও পুনর্বিন্যাস। - **এডিট ও ইউজ মোড**: একটি সুইচ কনফিগারিং থেকে অপারেটিং আলাদা করে; ইউজ মোড কনফিগারেশন দরজা বন্ধ করে, ঐচ্ছিকভাবে আইডল টাইমআউটসহ PIN-এর পিছনে। - **স্ট্যান্ডবাই**: ঘড়ি, সপ্তাহের স্ট্রিপ, নোট ও শপিং লিস্টসহ একটি শান্ত লকস্ক্রিন; ঐচ্ছিকভাবে OpenStreetMap ডেটা থেকে রেন্ডার করা নিজের শহরের একটি ক্ষীণ স্ট্রিট ম্যাপ। - **দুটি শেল**: একটি ল্যান্ডস্কেপ ওয়াল প্যানেল ও একটি একহাতে ফোন লেআউট, যা একটি ডিজাইন সিস্টেম শেয়ার করে। - **হোটেল মোড**: ছুটির অ্যাপার্টমেন্টের জন্য ঐচ্ছিক গেস্ট সারফেস, Home Assistant ক্যালেন্ডার থেকে স্টে, ডিফল্ট-ডিনাই ডিভাইস রিলিজ, PIN-গেটেড অ্যাডমিন সেশন ও গেস্ট চেকআউট। আর্কিটেকচার: অ্যাপটি Svelte 5 + Vite, UI ও ব্যাকএন্ডের মধ্যে চার-স্তরের অ্যাডাপ্টারসহ (এনটিটি স্টোর, পেন্ডিং ইনটেন্ট ওভারলে, কমান্ড কিউ, সোয়াপেবল ব্যাকএন্ড)। এটি Home Assistant-এ দুটি ট্রান্সপোর্ট সমর্থন করে: Home Assistant App হিসেবে (Supervisor-এর মাধ্যমে সার্ভার-অনলি কানেকশন) বা Docker Compose-এর সাথে (ব্রাউজার সরাসরি সংযুক্ত হয়)। সার্ভার ভ্যালিডেটেড হাউসহোল্ড কনফিগারেশন, রুম-ইমেজ স্টোর, স্ট্যান্ডবাই ম্যাপ রেন্ডারার, কেন্দ্রীয়ভাবে সংরক্ষিত রিমাইন্ডার, ঐচ্ছিক Notion শপিং সোর্স ও PIN-গেটেড Paperless-ngx ব্রিজ ধারণ করে। ইন্টিগ্রেশন ক্রেডেনশিয়াল সার্ভার-সাইডে থাকে। ইনস্টলেশন: দুটি সমর্থিত পথ — Home Assistant App হিসেবে (HA OS/Supervised-এর জন্য) বা Docker Compose-এর সাথে (HA Container, সাধারণ Docker হোস্ট, NAS)। উভয়ই একটি গাইডেড সেটআপ উইজার্ডে শেষ হয়, যা ভাষা নির্বাচন, Home Assistant কানেকশন, এরিয়া ডিসকভারি, রুম রিভিউ, Jellyfin এনাবলমেন্ট ও অ্যাটমিক কনফিগারেশন অ্যাক্টিভেশন কভার করে। রিলিজ ইমেজ হলো `ghcr.io/ralleur/hauser:v0.37.2` (বর্তমান)। একটি স্ট্যাটিক ডেমো ভিজিটরের HA-তে সংযুক্ত না হয়েই সিমুলেটেড ডিভাইসের বিপরীতে প্রকৃত ইন্টারফেস চালায়। ডকুমেন্টেশনে রয়েছে একটি উইকি, ডিজাইন সিস্টেম ডকস, ইন্টারঅ্যাকশন কন্ট্রাক্ট, পারফরম্যান্স বাজেট, ইনস্টলেশন কন্ট্রাক্ট, কনফিগারেশন রেফারেন্স ও ডেভ-পাইলট গাইড। প্রকল্পটি একটি পারফরম্যান্স বাজেট (১৬ মিলিসেকেন্ডের কম টাচ-টু-ফিডব্যাক, শুধুমাত্র ট্রান্সফর্ম/অপাসিটি), রিকনসিলিয়েশনসহ অপটিমিস্টিক UI এবং সব সারফেসে একটি একীভূত ডিজাইন সিস্টেমের উপর জোর দেয়।