Sobre o projeto

Hauser é um painel Home Assistant auto-hospedado, centrado em salas, concebido para painéis de parede, tablets e telefones. Posiciona-se como uma interface calma para o dia a dia dos membros da família, enquanto o Home Assistant continua a ser a interface de operador e administração. O projeto está na sua primeira beta técnica pública (projeto hobby com licença AGPL) e é instalável via Docker Compose ou como App do Home Assistant. As principais funcionalidades incluem: - **Salas**: Clima, luzes, cenas, presença e estado das janelas, cada uma ilustrada em três estados de iluminação que acompanham as luzes reais. - **Imagens das salas**: Um assistente gera ilustrações personalizadas a partir de uma fotografia de telefone, usando OpenAI (pago, opcional), Cloudflare Workers AI (nível gratuito) ou desenho manual. - **Integração com Home Assistant**: WebSocket através do cliente oficial, comandos otimistas com reconciliação, tratamento de reconexão e tema dia/noite a partir de `sun.sun`. - **Multimédia**: Biblioteca Jellyfin, prateleiras, vista de detalhe, reprodução HLS com retoma; áudio da sala através dos media players do HA. - **Energia**: Carga em tempo real e consumo diário a partir de sensores de potência reais, com estados vazios honestos. - **Dia a dia**: Calendário, notas, lembretes, lista de compras, notificações de roupa. - **Documentos**: Pesquisa Paperless-ngx protegida por PIN, pré-visualização, download e importação através de um servidor companheiro opcional. - **Dispositivos**: Adicionar, ocultar, renomear, atribuir a uma sala e reordenar entidades a partir da própria UI. - **Modos de edição e utilização**: Um interruptor separa a configuração da operação; o modo de utilização fecha as portas de configuração, opcionalmente atrás de um PIN com timeout de inatividade. - **Standby**: Um ecrã de bloqueio calmo com relógio, faixa semanal, notas e lista de compras; opcionalmente um mapa de rua ténue da sua própria localidade renderizado a partir de dados OpenStreetMap. - **Duas shells**: Um painel de parede em modo paisagem e um layout de telefone para uma mão que partilham um único sistema de design. - **Modo hotel**: Superfície opcional para hóspedes em apartamentos de férias, com estadias a partir de um calendário do Home Assistant, libertação de dispositivos com negação por defeito, sessão de administração protegida por PIN e checkout de hóspede. Arquitetura: A aplicação é Svelte 5 + Vite com um adaptador de quatro camadas entre a UI e os backends (store de entidades, sobreposição de intenções pendentes, fila de comandos, backend substituível). Suporta dois transportes para o Home Assistant: como App do Home Assistant (ligação apenas do servidor via Supervisor) ou com Docker Compose (o navegador liga-se diretamente). O servidor guarda a configuração validada da casa, o armazenamento de imagens das salas, o renderizador do mapa de standby, lembretes armazenados centralmente, fonte de compras Notion opcional e ponte Paperless-ngx protegida por PIN. As credenciais de integração ficam do lado do servidor. Instalação: Dois caminhos suportados — como App do Home Assistant (para HA OS/Supervised) ou com Docker Compose (para HA Container, hosts Docker simples, NAS). Ambos terminam num assistente de configuração guiada que cobre seleção de idioma, ligação ao Home Assistant, descoberta de áreas, revisão de salas, ativação do Jellyfin e ativação atómica da configuração. A imagem de lançamento é `ghcr.io/ralleur/hauser:v0.37.2` (atual). Uma demo estática executa a interface real contra dispositivos simulados sem ligar ao HA de um visitante. A documentação inclui uma wiki, documentos do sistema de design, contrato de interação, orçamento de desempenho, contrato de instalação, referência de configuração e guia de dev-pilot. O projeto enfatiza um orçamento de desempenho (menos de 16 ms do toque ao feedback, apenas transform/opacity), UI otimista com reconciliação e um sistema de design unificado em todas as superfícies.