diff --git a/futurehome/CHANGELOG.md b/futurehome/CHANGELOG.md index c11c11c..a23a9af 100644 --- a/futurehome/CHANGELOG.md +++ b/futurehome/CHANGELOG.md @@ -1,5 +1,9 @@ +## 0.1.7 (26.07.2025) + +- Added setting for enabling debug log. + ## 0.1.6 (26.07.2025) - Improved MQTT components interfaces. diff --git a/futurehome/config.yaml b/futurehome/config.yaml index e51b9dc..aab39aa 100644 --- a/futurehome/config.yaml +++ b/futurehome/config.yaml @@ -1,6 +1,6 @@ # https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config name: Futurehome -version: "0.1.6" +version: "0.1.7" slug: futurehome description: Local Futurehome Smarthub integration url: "https://github.com/adrianjagielak/home-assistant-futurehome" @@ -20,11 +20,13 @@ options: username: "" password: "" demo_mode: false + show_debug_log: false schema: hub_ip: "str?" username: "str?" password: "str?" demo_mode: "bool?" + show_debug_log: "bool?" image: "ghcr.io/adrianjagielak/{arch}-home-assistant-futurehome" diff --git a/futurehome/rootfs/etc/services.d/futurehome/run b/futurehome/rootfs/etc/services.d/futurehome/run index cfd6ab8..7343af1 100755 --- a/futurehome/rootfs/etc/services.d/futurehome/run +++ b/futurehome/rootfs/etc/services.d/futurehome/run @@ -9,6 +9,7 @@ export FH_HUB_IP=$(bashio::config 'hub_ip') export FH_USERNAME=$(bashio::config 'username') export FH_PASSWORD=$(bashio::config 'password') export DEMO_MODE=$(bashio::config 'demo_mode') +export SHOW_DEBUG_LOG=$(bashio::config 'show_debug_log') export MQTT_HOST=$(bashio::services mqtt "host") export MQTT_PORT=$(bashio::services mqtt "port") diff --git a/futurehome/src/index.ts b/futurehome/src/index.ts index 8a2a6a2..0886970 100644 --- a/futurehome/src/index.ts +++ b/futurehome/src/index.ts @@ -1,5 +1,5 @@ import { connectHub, connectHA, RetainedMessage } from './client'; -import { log } from './logger'; +import { log, setupLogger } from './logger'; import { FimpResponse, sendFimpMsg, setFimp } from './fimp/fimp'; import { haCommandHandlers, setHa, setHaCommandHandlers } from './ha/globals'; import { CommandHandlers, haPublishDevice } from './ha/publish_device'; @@ -13,12 +13,17 @@ import { delay } from './utils'; const hubUsername = process.env.FH_USERNAME || ''; const hubPassword = process.env.FH_PASSWORD || ''; const demoMode = (process.env.DEMO_MODE || '').toLowerCase().includes('true'); + const showDebugLog = (process.env.SHOW_DEBUG_LOG || '') + .toLowerCase() + .includes('true'); const mqttHost = process.env.MQTT_HOST || ''; const mqttPort = Number(process.env.MQTT_PORT || '1883'); const mqttUsername = process.env.MQTT_USER || ''; const mqttPassword = process.env.MQTT_PWD || ''; + setupLogger({ showDebugLog }); + // 1) Connect to HA broker (for discovery + state + availability + commands) log.info('Connecting to HA broker...'); const { ha, retainedMessages } = await connectHA({ diff --git a/futurehome/src/logger.ts b/futurehome/src/logger.ts index 42969b2..121d0bc 100644 --- a/futurehome/src/logger.ts +++ b/futurehome/src/logger.ts @@ -4,13 +4,17 @@ function getTimestamp(): string { return new Date().toISOString(); } +let shouldShowDebugLog = false; + function _log(level: LogLevel, ...args: unknown[]): void { const timestamp = getTimestamp(); const prefix = `[${timestamp}] [${level.toUpperCase()}]`; switch (level) { case 'debug': - console.debug(prefix, ...args); + if (shouldShowDebugLog) { + console.debug(prefix, ...args); + } break; case 'info': console.info(prefix, ...args); @@ -32,3 +36,7 @@ export const log = { error: (...args: unknown[]) => _log('error', ...args), fatal: (...args: unknown[]) => _log('fatal', ...args), }; + +export function setupLogger({ showDebugLog }: { showDebugLog: boolean }): void { + shouldShowDebugLog = showDebugLog; +} diff --git a/futurehome/translations/da.yaml b/futurehome/translations/da.yaml index f559b9f..b4ed52d 100644 --- a/futurehome/translations/da.yaml +++ b/futurehome/translations/da.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demotilstand description: Brug en optaget tilstand fra en ægte Futurehome Smarthub til at simulere enheder. + show_debug_log: + name: Vis fejllog diff --git a/futurehome/translations/de.yaml b/futurehome/translations/de.yaml index edb0030..6775488 100644 --- a/futurehome/translations/de.yaml +++ b/futurehome/translations/de.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demomodus description: Verwende einen aufgezeichneten Zustand von einem echten Futurehome Smarthub, um Geräte zu simulieren. + show_debug_log: + name: Debug-Log anzeigen diff --git a/futurehome/translations/dk.yaml b/futurehome/translations/dk.yaml index f559b9f..b4ed52d 100644 --- a/futurehome/translations/dk.yaml +++ b/futurehome/translations/dk.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demotilstand description: Brug en optaget tilstand fra en ægte Futurehome Smarthub til at simulere enheder. + show_debug_log: + name: Vis fejllog diff --git a/futurehome/translations/en.yaml b/futurehome/translations/en.yaml index 450a1ab..4eef3d5 100644 --- a/futurehome/translations/en.yaml +++ b/futurehome/translations/en.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demo Mode description: Use a sample recorded state from a real Futurehome Smarthub to simulate devices. + show_debug_log: + name: Show debug log diff --git a/futurehome/translations/fi.yaml b/futurehome/translations/fi.yaml index 22c7d2c..797852c 100644 --- a/futurehome/translations/fi.yaml +++ b/futurehome/translations/fi.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demotila description: Käytä tallennettua esimerkkitilaa oikeasta Futurehome Smarthubista laitteiden simuloimiseen. + show_debug_log: + name: Näytä vianmääritysloki diff --git a/futurehome/translations/is.yaml b/futurehome/translations/is.yaml index b80515d..cd87d29 100644 --- a/futurehome/translations/is.yaml +++ b/futurehome/translations/is.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Sýnishamur description: Notaðu skráða stöðu úr raunverulegum Futurehome Smarthub til að líkja eftir tækjum. + show_debug_log: + name: Sýna aflúsunarskrá diff --git a/futurehome/translations/nb.yaml b/futurehome/translations/nb.yaml index cdd9b08..d6774bd 100644 --- a/futurehome/translations/nb.yaml +++ b/futurehome/translations/nb.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demomodus description: Bruk et forhåndsopptatt eksempel fra en ekte Futurehome Smarthub for å simulere enheter. + show_debug_log: + name: Vis feillogg diff --git a/futurehome/translations/nn.yaml b/futurehome/translations/nn.yaml index 7c09034..a72c39d 100644 --- a/futurehome/translations/nn.yaml +++ b/futurehome/translations/nn.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demomodus description: Bruk eit førehandsopptak frå ein ekte Futurehome Smarthub for å simulere einingar. + show_debug_log: + name: Vis feillogg diff --git a/futurehome/translations/no.yaml b/futurehome/translations/no.yaml index cdd9b08..d6774bd 100644 --- a/futurehome/translations/no.yaml +++ b/futurehome/translations/no.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demomodus description: Bruk et forhåndsopptatt eksempel fra en ekte Futurehome Smarthub for å simulere enheter. + show_debug_log: + name: Vis feillogg diff --git a/futurehome/translations/pl.yaml b/futurehome/translations/pl.yaml index d125b53..c70ea58 100644 --- a/futurehome/translations/pl.yaml +++ b/futurehome/translations/pl.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Tryb demo description: Użyj przykładowego zapisanego stanu z prawdziwego Futurehome Smarthub, aby symulować urządzenia. + show_debug_log: + name: Pokaż dziennik debugowania diff --git a/futurehome/translations/se.yaml b/futurehome/translations/se.yaml index 9d6218a..5d67d5e 100644 --- a/futurehome/translations/se.yaml +++ b/futurehome/translations/se.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demoläge description: Använd ett inspelat exempel från en riktig Futurehome Smarthub för att simulera enheter. + show_debug_log: + name: Čájet divrrodagaslogu diff --git a/futurehome/translations/sv.yaml b/futurehome/translations/sv.yaml index 9d6218a..d3e236c 100644 --- a/futurehome/translations/sv.yaml +++ b/futurehome/translations/sv.yaml @@ -11,3 +11,5 @@ configuration: demo_mode: name: Demoläge description: Använd ett inspelat exempel från en riktig Futurehome Smarthub för att simulera enheter. + show_debug_log: + name: Visa felsökningslogg