Remove the old parsers

This commit is contained in:
Adrian Jagielak 2025-07-23 15:35:48 +02:00
parent d608afb455
commit f120ee382c
No known key found for this signature in database
GPG Key ID: 0818CF7AF6C62BFB
5 changed files with 0 additions and 144 deletions

View File

@ -1,22 +0,0 @@
import { MqttClient } from 'mqtt';
export function handleBattery(client: MqttClient, dev: any, svc: any) {
const uid = `fh_${dev.id}_${svc.name}`;
const base = `homeassistant/sensor/${uid}`;
// config
client.publish(`${base}/config`, JSON.stringify({
name: `${dev.name} Battery`,
uniq_id: uid,
dev_cla: "battery",
stat_t: `${base}/state`,
unit_of_meas: "%",
device: { identifiers: [dev.id.toString()], name: dev.name, model: dev.model }
}), { retain: true });
// initial state if available
const lvl = svc.attributes?.find((a: any) => a.name === 'lvl')?.values?.[0]?.val;
if (lvl !== undefined) {
client.publish(`${base}/state`, String(lvl), { retain: true });
}
}

View File

@ -1,35 +0,0 @@
import { MqttClient } from 'mqtt';
import { v4 as uuidv4 } from 'uuid';
export function handleBinSwitch(client: MqttClient, dev: any, svc: any) {
const uid = `fh_${dev.id}_${svc.name}`;
const base = `homeassistant/switch/${uid}`;
client.publish(`${base}/config`, JSON.stringify({
name: dev.name,
uniq_id: uid,
cmd_t: `${base}/set`,
stat_t: `${base}/state`,
device: { identifiers: [dev.id.toString()], name: dev.name, model: dev.model }
}), { retain: true });
// current value
const bin = svc.attributes?.find((a: any) => a.name === 'binary')?.values?.[0]?.val;
client.publish(`${base}/state`, bin ? 'ON' : 'OFF', { retain: true });
// HA → Smarthub
client.subscribe(`${base}/set`, { qos: 0 });
client.on('message', (topic, payload) => {
if (topic !== `${base}/set`) return;
const target = payload.toString() === 'ON';
client.publish(`pt:j1/mt:cmd/${svc.address}`, JSON.stringify({
type: "cmd.binary.set",
service: svc.name,
uid: uuidv4(),
val_t: "bool",
val: target,
src: "ha-futurehome"
}), { qos: 1 });
});
}

View File

@ -1,47 +0,0 @@
import { MqttClient } from 'mqtt';
import { v4 as uuidv4 } from 'uuid';
export function handleLvlSwitch(client: MqttClient, dev: any, svc: any) {
const uid = `fh_${dev.id}_${svc.name}`;
const base = `homeassistant/light/${uid}`;
client.publish(`${base}/config`, JSON.stringify({
name: dev.name,
uniq_id: uid,
cmd_t: `${base}/set`,
stat_t: `${base}/state`,
bri_cmd_t: `${base}/brightness/set`,
bri_stat_t: `${base}/brightness/state`,
schema: "template",
device: { identifiers: [dev.id.toString()], name: dev.name, model: dev.model }
}), { retain: true });
const bin = svc.attributes?.find((a: any) => a.name === 'binary')?.values?.[0]?.val;
const lvl = svc.attributes?.find((a: any) => a.name === 'lvl')?.values?.[0]?.val;
client.publish(`${base}/state`, bin ? "ON" : "OFF", { retain: true });
if (lvl !== undefined) client.publish(`${base}/brightness/state`, String(lvl), { retain: true });
client.subscribe([`${base}/set`, `${base}/brightness/set`]);
client.on('message', (topic, payload) => {
if (topic === `${base}/set`) {
const on = payload.toString() === 'ON';
client.publish(`pt:j1/mt:cmd/${svc.address}`, JSON.stringify({
type: "cmd.binary.set",
service: svc.name,
uid: uuidv4(),
val_t: "bool",
val: on
}), { qos: 1 });
} else if (topic === `${base}/brightness/set`) {
const value = parseInt(payload.toString(), 10);
client.publish(`pt:j1/mt:cmd/${svc.address}`, JSON.stringify({
type: "cmd.lvl.set",
service: svc.name,
uid: uuidv4(),
val_t: "int",
val: value
}), { qos: 1 });
}
});
}

View File

@ -1,20 +0,0 @@
import { MqttClient } from 'mqtt';
export function handlePresenceSensor(client: MqttClient, dev: any, svc: any) {
const uid = `fh_${dev.id}_${svc.name}`;
const base = `homeassistant/sensor/${uid}`;
client.publish(`${base}/config`, JSON.stringify({
name: `${dev.name} Presence`,
uniq_id: uid,
dev_cla: "presence",
stat_t: `${base}/state`,
unit_of_meas: "°C",
device: { identifiers: [dev.id.toString()], name: dev.name, model: dev.model }
}), { retain: true });
const presence = svc.attributes?.find((a: any) => a.name === 'presence')?.values?.[0]?.val;
if (presence !== undefined) {
client.publish(`${base}/state`, String(presence), { retain: true });
}
}

View File

@ -1,20 +0,0 @@
import { MqttClient } from 'mqtt';
export function handleTempSensor(client: MqttClient, dev: any, svc: any) {
const uid = `fh_${dev.id}_${svc.name}`;
const base = `homeassistant/sensor/${uid}`;
client.publish(`${base}/config`, JSON.stringify({
name: `${dev.name} Temperature`,
uniq_id: uid,
dev_cla: "temperature",
stat_t: `${base}/state`,
unit_of_meas: "°C",
device: { identifiers: [dev.id.toString()], name: dev.name, model: dev.model }
}), { retain: true });
const temp = svc.attributes?.find((a: any) => a.name === 'sensor')?.values?.[0]?.val;
if (temp !== undefined) {
client.publish(`${base}/state`, String(temp), { retain: true });
}
}