mirror of
https://github.com/adrianjagielak/home-assistant-futurehome.git
synced 2025-09-13 15:47:08 +00:00
Add setting for enabling debug log
This commit is contained in:
parent
2a7f27a81f
commit
aa9cb0f12a
@ -1,5 +1,9 @@
|
|||||||
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->
|
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->
|
||||||
|
|
||||||
|
## 0.1.7 (26.07.2025)
|
||||||
|
|
||||||
|
- Added setting for enabling debug log.
|
||||||
|
|
||||||
## 0.1.6 (26.07.2025)
|
## 0.1.6 (26.07.2025)
|
||||||
|
|
||||||
- Improved MQTT components interfaces.
|
- Improved MQTT components interfaces.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config
|
# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config
|
||||||
name: Futurehome
|
name: Futurehome
|
||||||
version: "0.1.6"
|
version: "0.1.7"
|
||||||
slug: futurehome
|
slug: futurehome
|
||||||
description: Local Futurehome Smarthub integration
|
description: Local Futurehome Smarthub integration
|
||||||
url: "https://github.com/adrianjagielak/home-assistant-futurehome"
|
url: "https://github.com/adrianjagielak/home-assistant-futurehome"
|
||||||
@ -20,11 +20,13 @@ options:
|
|||||||
username: ""
|
username: ""
|
||||||
password: ""
|
password: ""
|
||||||
demo_mode: false
|
demo_mode: false
|
||||||
|
show_debug_log: false
|
||||||
|
|
||||||
schema:
|
schema:
|
||||||
hub_ip: "str?"
|
hub_ip: "str?"
|
||||||
username: "str?"
|
username: "str?"
|
||||||
password: "str?"
|
password: "str?"
|
||||||
demo_mode: "bool?"
|
demo_mode: "bool?"
|
||||||
|
show_debug_log: "bool?"
|
||||||
|
|
||||||
image: "ghcr.io/adrianjagielak/{arch}-home-assistant-futurehome"
|
image: "ghcr.io/adrianjagielak/{arch}-home-assistant-futurehome"
|
||||||
|
@ -9,6 +9,7 @@ export FH_HUB_IP=$(bashio::config 'hub_ip')
|
|||||||
export FH_USERNAME=$(bashio::config 'username')
|
export FH_USERNAME=$(bashio::config 'username')
|
||||||
export FH_PASSWORD=$(bashio::config 'password')
|
export FH_PASSWORD=$(bashio::config 'password')
|
||||||
export DEMO_MODE=$(bashio::config 'demo_mode')
|
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_HOST=$(bashio::services mqtt "host")
|
||||||
export MQTT_PORT=$(bashio::services mqtt "port")
|
export MQTT_PORT=$(bashio::services mqtt "port")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { connectHub, connectHA, RetainedMessage } from './client';
|
import { connectHub, connectHA, RetainedMessage } from './client';
|
||||||
import { log } from './logger';
|
import { log, setupLogger } from './logger';
|
||||||
import { FimpResponse, sendFimpMsg, setFimp } from './fimp/fimp';
|
import { FimpResponse, sendFimpMsg, setFimp } from './fimp/fimp';
|
||||||
import { haCommandHandlers, setHa, setHaCommandHandlers } from './ha/globals';
|
import { haCommandHandlers, setHa, setHaCommandHandlers } from './ha/globals';
|
||||||
import { CommandHandlers, haPublishDevice } from './ha/publish_device';
|
import { CommandHandlers, haPublishDevice } from './ha/publish_device';
|
||||||
@ -13,12 +13,17 @@ import { delay } from './utils';
|
|||||||
const hubUsername = process.env.FH_USERNAME || '';
|
const hubUsername = process.env.FH_USERNAME || '';
|
||||||
const hubPassword = process.env.FH_PASSWORD || '';
|
const hubPassword = process.env.FH_PASSWORD || '';
|
||||||
const demoMode = (process.env.DEMO_MODE || '').toLowerCase().includes('true');
|
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 mqttHost = process.env.MQTT_HOST || '';
|
||||||
const mqttPort = Number(process.env.MQTT_PORT || '1883');
|
const mqttPort = Number(process.env.MQTT_PORT || '1883');
|
||||||
const mqttUsername = process.env.MQTT_USER || '';
|
const mqttUsername = process.env.MQTT_USER || '';
|
||||||
const mqttPassword = process.env.MQTT_PWD || '';
|
const mqttPassword = process.env.MQTT_PWD || '';
|
||||||
|
|
||||||
|
setupLogger({ showDebugLog });
|
||||||
|
|
||||||
// 1) Connect to HA broker (for discovery + state + availability + commands)
|
// 1) Connect to HA broker (for discovery + state + availability + commands)
|
||||||
log.info('Connecting to HA broker...');
|
log.info('Connecting to HA broker...');
|
||||||
const { ha, retainedMessages } = await connectHA({
|
const { ha, retainedMessages } = await connectHA({
|
||||||
|
@ -4,13 +4,17 @@ function getTimestamp(): string {
|
|||||||
return new Date().toISOString();
|
return new Date().toISOString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let shouldShowDebugLog = false;
|
||||||
|
|
||||||
function _log(level: LogLevel, ...args: unknown[]): void {
|
function _log(level: LogLevel, ...args: unknown[]): void {
|
||||||
const timestamp = getTimestamp();
|
const timestamp = getTimestamp();
|
||||||
const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
|
const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
|
||||||
|
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case 'debug':
|
case 'debug':
|
||||||
console.debug(prefix, ...args);
|
if (shouldShowDebugLog) {
|
||||||
|
console.debug(prefix, ...args);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'info':
|
case 'info':
|
||||||
console.info(prefix, ...args);
|
console.info(prefix, ...args);
|
||||||
@ -32,3 +36,7 @@ export const log = {
|
|||||||
error: (...args: unknown[]) => _log('error', ...args),
|
error: (...args: unknown[]) => _log('error', ...args),
|
||||||
fatal: (...args: unknown[]) => _log('fatal', ...args),
|
fatal: (...args: unknown[]) => _log('fatal', ...args),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export function setupLogger({ showDebugLog }: { showDebugLog: boolean }): void {
|
||||||
|
shouldShowDebugLog = showDebugLog;
|
||||||
|
}
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demotilstand
|
name: Demotilstand
|
||||||
description: Brug en optaget tilstand fra en ægte Futurehome Smarthub til at simulere enheder.
|
description: Brug en optaget tilstand fra en ægte Futurehome Smarthub til at simulere enheder.
|
||||||
|
show_debug_log:
|
||||||
|
name: Vis fejllog
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demomodus
|
name: Demomodus
|
||||||
description: Verwende einen aufgezeichneten Zustand von einem echten Futurehome Smarthub, um Geräte zu simulieren.
|
description: Verwende einen aufgezeichneten Zustand von einem echten Futurehome Smarthub, um Geräte zu simulieren.
|
||||||
|
show_debug_log:
|
||||||
|
name: Debug-Log anzeigen
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demotilstand
|
name: Demotilstand
|
||||||
description: Brug en optaget tilstand fra en ægte Futurehome Smarthub til at simulere enheder.
|
description: Brug en optaget tilstand fra en ægte Futurehome Smarthub til at simulere enheder.
|
||||||
|
show_debug_log:
|
||||||
|
name: Vis fejllog
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demo Mode
|
name: Demo Mode
|
||||||
description: Use a sample recorded state from a real Futurehome Smarthub to simulate devices.
|
description: Use a sample recorded state from a real Futurehome Smarthub to simulate devices.
|
||||||
|
show_debug_log:
|
||||||
|
name: Show debug log
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demotila
|
name: Demotila
|
||||||
description: Käytä tallennettua esimerkkitilaa oikeasta Futurehome Smarthubista laitteiden simuloimiseen.
|
description: Käytä tallennettua esimerkkitilaa oikeasta Futurehome Smarthubista laitteiden simuloimiseen.
|
||||||
|
show_debug_log:
|
||||||
|
name: Näytä vianmääritysloki
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Sýnishamur
|
name: Sýnishamur
|
||||||
description: Notaðu skráða stöðu úr raunverulegum Futurehome Smarthub til að líkja eftir tækjum.
|
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á
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demomodus
|
name: Demomodus
|
||||||
description: Bruk et forhåndsopptatt eksempel fra en ekte Futurehome Smarthub for å simulere enheter.
|
description: Bruk et forhåndsopptatt eksempel fra en ekte Futurehome Smarthub for å simulere enheter.
|
||||||
|
show_debug_log:
|
||||||
|
name: Vis feillogg
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demomodus
|
name: Demomodus
|
||||||
description: Bruk eit førehandsopptak frå ein ekte Futurehome Smarthub for å simulere einingar.
|
description: Bruk eit førehandsopptak frå ein ekte Futurehome Smarthub for å simulere einingar.
|
||||||
|
show_debug_log:
|
||||||
|
name: Vis feillogg
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demomodus
|
name: Demomodus
|
||||||
description: Bruk et forhåndsopptatt eksempel fra en ekte Futurehome Smarthub for å simulere enheter.
|
description: Bruk et forhåndsopptatt eksempel fra en ekte Futurehome Smarthub for å simulere enheter.
|
||||||
|
show_debug_log:
|
||||||
|
name: Vis feillogg
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Tryb demo
|
name: Tryb demo
|
||||||
description: Użyj przykładowego zapisanego stanu z prawdziwego Futurehome Smarthub, aby symulować urządzenia.
|
description: Użyj przykładowego zapisanego stanu z prawdziwego Futurehome Smarthub, aby symulować urządzenia.
|
||||||
|
show_debug_log:
|
||||||
|
name: Pokaż dziennik debugowania
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demoläge
|
name: Demoläge
|
||||||
description: Använd ett inspelat exempel från en riktig Futurehome Smarthub för att simulera enheter.
|
description: Använd ett inspelat exempel från en riktig Futurehome Smarthub för att simulera enheter.
|
||||||
|
show_debug_log:
|
||||||
|
name: Čájet divrrodagaslogu
|
||||||
|
@ -11,3 +11,5 @@ configuration:
|
|||||||
demo_mode:
|
demo_mode:
|
||||||
name: Demoläge
|
name: Demoläge
|
||||||
description: Använd ett inspelat exempel från en riktig Futurehome Smarthub för att simulera enheter.
|
description: Använd ett inspelat exempel från en riktig Futurehome Smarthub för att simulera enheter.
|
||||||
|
show_debug_log:
|
||||||
|
name: Visa felsökningslogg
|
||||||
|
Loading…
x
Reference in New Issue
Block a user