From ae8766ed618c3f3ac9fcb72a015134318f1c1acb Mon Sep 17 00:00:00 2001 From: ticaki Date: Wed, 20 Dec 2023 00:39:57 +0100 Subject: [PATCH] update readme --- .gitignore | 2 +- README.md | 3 +++ build/lib/mqtt.js | 10 +++++----- build/lib/mqtt.js.map | 4 ++-- mydb/000060.log | Bin 2810 -> 0 bytes mydb/CURRENT | 2 +- mydb/LOG | 10 +++++----- mydb/LOG.old | 19 +++++-------------- mydb/MANIFEST-000058 | Bin 315 -> 0 bytes src/lib/mqtt.ts | 10 +++++----- 10 files changed, 27 insertions(+), 33 deletions(-) delete mode 100644 mydb/000060.log delete mode 100644 mydb/MANIFEST-000058 diff --git a/.gitignore b/.gitignore index 3bf582b..c8d20ba 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .*/ !.vscode/ !.github/ - +mydb/ *.code-workspace node_modules nbproject diff --git a/README.md b/README.md index d8944fc..99f2b5e 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ Was geht: Placeholder for the next version (at the beginning of the line): ### **WORK IN PROGRESS** --> +### **WORK IN PROGRESS** +* (ticaki) Added: Mqtt Server with file db + ### 0.0.2 (2023-12-18) * (ticaki) initial release diff --git a/build/lib/mqtt.js b/build/lib/mqtt.js index 71e0318..ad0045e 100644 --- a/build/lib/mqtt.js +++ b/build/lib/mqtt.js @@ -41,7 +41,7 @@ class MQTTClientClass extends import_library.BaseClass { super(adapter, "mqttClient"); this.client = import_mqtt.default.connect(`mqtt://${ip}:${port}`, { username, password }); this.client.on("connect", () => { - this.log.info(`connection is active.`); + this.log.info(`Connection is active.`); this.adapter.setState("info.connection", true, true); this.client.subscribe("espresense/#", (err) => { if (err) { @@ -58,7 +58,7 @@ class MQTTClientClass extends import_library.BaseClass { }); this.client.on("close", () => { this.adapter.setState("info.connection", false, true); - this.log.info(`connection is closed.`); + this.log.info(`Connection is closed.`); }); this.client.on("message", (topic, message) => { let value; @@ -108,14 +108,14 @@ class MQTTServerClass extends import_library.BaseClass { this.aedes = new import_aedes.default({ persistence }); this.server = (0, import_net.createServer)(this.aedes.handle); this.server.listen(port, () => { - this.log.debug("server started and listening on port ", String(port)); + this.log.info(`Started and listening on port ${port}`); }); this.aedes.authenticate = (client, un, pw, callback) => { const confirm = username === un && password == pw.toString(); if (!confirm) - this.log.warn("MQTT client login denied. User name or password wrong!"); + this.log.warn(`Login denied client: ${client.id}. User name or password wrong!`); else - this.log.debug("MQTT client login successful."); + this.log.info(`Client ${client.id} login successful.`); callback(null, confirm); }; } diff --git a/build/lib/mqtt.js.map b/build/lib/mqtt.js.map index 5aada2d..04cfb31 100644 --- a/build/lib/mqtt.js.map +++ b/build/lib/mqtt.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../src/lib/mqtt.ts"], - "sourcesContent": ["import mqtt from 'mqtt'; // import namespace \"mqtt\"\nimport { Level } from 'level';\n\n//@ts-expect-error no types\nimport aedesPersistencelevel from 'aedes-persistence-level';\n\nimport { AdapterClassDefinition, BaseClass } from './library';\n\nimport Aedes, { Client } from 'aedes';\nimport { Server, createServer } from 'net';\nimport { Espresense } from '../main';\n\nexport class MQTTClientClass extends BaseClass {\n client: mqtt.MqttClient;\n data: any = {};\n constructor(adapter: AdapterClassDefinition, ip: string, port: number, username: string, password: string) {\n super(adapter, 'mqttClient');\n this.client = mqtt.connect(`mqtt://${ip}:${port}`, { username: username, password: password });\n this.client.on('connect', () => {\n this.log.info(`connection is active.`);\n this.adapter.setState('info.connection', true, true);\n this.client.subscribe('espresense/#', (err) => {\n if (err) {\n this.log.error(`On subscribe: ${err}`);\n }\n });\n });\n this.client.on('disconnect', () => {\n this.adapter.setState('info.connection', false, true);\n this.log.debug(`disconnected`);\n });\n this.client.on('error', (err) => {\n this.log.error(`${err}`);\n });\n\n this.client.on('close', () => {\n this.adapter.setState('info.connection', false, true);\n this.log.info(`connection is closed.`);\n });\n\n this.client.on('message', (topic, message) => {\n //this.log.debug('topic: ' + topic + ' message: ' + message.toString() + ' type:');\n let value: any;\n let type: string = '';\n try {\n value = JSON.parse(message.toString());\n if (typeof value == 'string') throw new Error('nope');\n type = typeof value;\n } catch (e: any) {\n value = message.toString();\n if (isNaN(value)) {\n if (value == 'ON' || value == 'OFF') {\n type = 'boolean';\n value = value == 'ON';\n } else {\n type = 'string';\n }\n } else if (value == '') {\n type = 'string';\n } else {\n type = 'number1';\n this.log.debug(typeof value);\n value = parseFloat(value);\n }\n }\n const test = topic.split('/');\n const key = test.pop();\n if (this.data[test.join('_')] === undefined) this.data[test.join('_')] = {};\n if (key !== undefined) this.data[test.join('_')][key] = value;\n\n this.log.debug(`${topic}: ${type} - ${value}`);\n //this.log.debug(`json: ${JSON.stringify(this.data)}`);\n this.adapter.handleMessage(topic, value);\n });\n }\n\n destroy(): void {\n this.client.end();\n }\n}\n\nexport class MQTTServerClass extends BaseClass {\n aedes: Aedes;\n server: Server;\n constructor(adapter: Espresense, port: number, username: string, password: string) {\n super(adapter, 'mqttServer');\n const persistence = aedesPersistencelevel(new Level('./mydb'));\n this.aedes = new Aedes({ persistence: persistence });\n this.server = createServer(this.aedes.handle);\n\n this.server.listen(port, () => {\n this.log.debug('server started and listening on port ', String(port));\n });\n this.aedes.authenticate = (\n client: Client,\n un: Readonly,\n pw: Readonly,\n callback: any,\n ) => {\n const confirm = username === un && password == pw!.toString();\n if (!confirm) this.log.warn('MQTT client login denied. User name or password wrong!');\n else this.log.debug('MQTT client login successful.');\n callback(null, confirm);\n };\n }\n destroy(): void {\n this.aedes.close();\n this.server.close();\n }\n}\n"], - "mappings": "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", + "sourcesContent": ["import mqtt from 'mqtt'; // import namespace \"mqtt\"\nimport { Level } from 'level';\n\n//@ts-expect-error no types\nimport aedesPersistencelevel from 'aedes-persistence-level';\n\nimport { AdapterClassDefinition, BaseClass } from './library';\n\nimport Aedes, { Client } from 'aedes';\nimport { Server, createServer } from 'net';\nimport { Espresense } from '../main';\n\nexport class MQTTClientClass extends BaseClass {\n client: mqtt.MqttClient;\n data: any = {};\n constructor(adapter: AdapterClassDefinition, ip: string, port: number, username: string, password: string) {\n super(adapter, 'mqttClient');\n this.client = mqtt.connect(`mqtt://${ip}:${port}`, { username: username, password: password });\n this.client.on('connect', () => {\n this.log.info(`Connection is active.`);\n this.adapter.setState('info.connection', true, true);\n this.client.subscribe('espresense/#', (err) => {\n if (err) {\n this.log.error(`On subscribe: ${err}`);\n }\n });\n });\n this.client.on('disconnect', () => {\n this.adapter.setState('info.connection', false, true);\n this.log.debug(`disconnected`);\n });\n this.client.on('error', (err) => {\n this.log.error(`${err}`);\n });\n\n this.client.on('close', () => {\n this.adapter.setState('info.connection', false, true);\n this.log.info(`Connection is closed.`);\n });\n\n this.client.on('message', (topic, message) => {\n //this.log.debug('topic: ' + topic + ' message: ' + message.toString() + ' type:');\n let value: any;\n let type: string = '';\n try {\n value = JSON.parse(message.toString());\n if (typeof value == 'string') throw new Error('nope');\n type = typeof value;\n } catch (e: any) {\n value = message.toString();\n if (isNaN(value)) {\n if (value == 'ON' || value == 'OFF') {\n type = 'boolean';\n value = value == 'ON';\n } else {\n type = 'string';\n }\n } else if (value == '') {\n type = 'string';\n } else {\n type = 'number1';\n this.log.debug(typeof value);\n value = parseFloat(value);\n }\n }\n const test = topic.split('/');\n const key = test.pop();\n if (this.data[test.join('_')] === undefined) this.data[test.join('_')] = {};\n if (key !== undefined) this.data[test.join('_')][key] = value;\n\n this.log.debug(`${topic}: ${type} - ${value}`);\n //this.log.debug(`json: ${JSON.stringify(this.data)}`);\n this.adapter.handleMessage(topic, value);\n });\n }\n\n destroy(): void {\n this.client.end();\n }\n}\n\nexport class MQTTServerClass extends BaseClass {\n aedes: Aedes;\n server: Server;\n constructor(adapter: Espresense, port: number, username: string, password: string) {\n super(adapter, 'mqttServer');\n const persistence = aedesPersistencelevel(new Level('./mydb'));\n this.aedes = new Aedes({ persistence: persistence });\n this.server = createServer(this.aedes.handle);\n\n this.server.listen(port, () => {\n this.log.info(`Started and listening on port ${port}`);\n });\n this.aedes.authenticate = (\n client: Client,\n un: Readonly,\n pw: Readonly,\n callback: any,\n ) => {\n const confirm = username === un && password == pw!.toString();\n if (!confirm) this.log.warn(`Login denied client: ${client.id}. User name or password wrong!`);\n else this.log.info(`Client ${client.id} login successful.`);\n callback(null, confirm);\n };\n }\n destroy(): void {\n this.aedes.close();\n this.server.close();\n }\n}\n"], + "mappings": "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", "names": ["mqtt", "aedesPersistencelevel", "Aedes"] } diff --git a/mydb/000060.log b/mydb/000060.log deleted file mode 100644 index 9593b0142e9495085700c47a2c54cf853b5a87fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2810 zcmb`}y-yTD6aerUK<$i)l?Fc`>WR2_hum?V+L@pv8bYOwtg}0FGTiRWGP4UuX`#VC zz^_%^6vpdPbu}5~BYj)<%@4b0@@51Wi!M6Zj zfuQ8a)zNHBa_oIJviTe zqT9@+b0=p^ixTGc;TK`3@K{g0*B?FtIH)3yt(}u#1+u~6?!bvj)5g<|XINAYHF&gV zYm&3vV=fV`ji+QgXO)ap6B=X}d(OMg*~H#&0O~3$9ff71l8$LP^UNdrJ~^6k}gO=7gEwVbq9RikvcjhbiixYviaK5O&PQOp8+%))`^mi@NiWZ zXX71=pi@EzI=D{dng%{iRIHt0^-r50i&6-spBe zEA4e^?uQLBvXeSPoDqGLGu@?jZRuMtJ-?p^kSIV92}nv+;I1aRbOykJx;|3Z7a1R8 zx{XY^dv)$cd5ddX+=7atoO_zRej30bbqg&@nas+UUZ+^j|2Y4z+~8E%0Y++YB(O&r z*SU-0Z16;c7EnS51#j-}?X9hH+wm4$)(tnV^IWcb4n{7CQ+G6qE)2biPEIbimp@-c zRTt?FmWLuiEP^Dt8)Kh#__%uiJYnQbY;P8R{`v!;rP>-8hhD*3^~bH)hNVR~@4L4! ULDt^bk<0Tk0idn8!N#-fe|?Ml82|tP diff --git a/mydb/CURRENT b/mydb/CURRENT index 717cf9a..5d746f2 100644 --- a/mydb/CURRENT +++ b/mydb/CURRENT @@ -1 +1 @@ -MANIFEST-000058 +MANIFEST-000064 diff --git a/mydb/LOG b/mydb/LOG index 15a279b..6b19a7c 100644 --- a/mydb/LOG +++ b/mydb/LOG @@ -1,5 +1,5 @@ -2023/12/19-23:44:26.994375 7fd287bff6c0 Recovering log #56 -2023/12/19-23:44:26.994462 7fd287bff6c0 Level-0 table #59: started -2023/12/19-23:44:27.007904 7fd287bff6c0 Level-0 table #59: 880 bytes OK -2023/12/19-23:44:27.011417 7fd287bff6c0 Delete type=3 #54 -2023/12/19-23:44:27.011491 7fd287bff6c0 Delete type=0 #56 +2023/12/20-00:34:58.856057 7faa6bbff6c0 Recovering log #63 +2023/12/20-00:34:58.856183 7faa6bbff6c0 Level-0 table #65: started +2023/12/20-00:34:58.860421 7faa6bbff6c0 Level-0 table #65: 3455 bytes OK +2023/12/20-00:34:58.864348 7faa6bbff6c0 Delete type=3 #61 +2023/12/20-00:34:58.864407 7faa6bbff6c0 Delete type=0 #63 diff --git a/mydb/LOG.old b/mydb/LOG.old index 66f2835..7f9ce30 100644 --- a/mydb/LOG.old +++ b/mydb/LOG.old @@ -1,14 +1,5 @@ -2023/12/19-23:43:04.386992 7f1f723ff6c0 Recovering log #53 -2023/12/19-23:43:04.387100 7f1f723ff6c0 Level-0 table #55: started -2023/12/19-23:43:04.412023 7f1f723ff6c0 Level-0 table #55: 866 bytes OK -2023/12/19-23:43:04.415774 7f1f723ff6c0 Delete type=0 #53 -2023/12/19-23:43:04.415830 7f1f723ff6c0 Delete type=3 #51 -2023/12/19-23:43:04.420782 7f1f5bfff6c0 Compacting 4@0 + 1@1 files -2023/12/19-23:43:04.427971 7f1f5bfff6c0 Generated table #57@0: 29 keys, 3443 bytes -2023/12/19-23:43:04.428110 7f1f5bfff6c0 Compacted 4@0 + 1@1 files => 3443 bytes -2023/12/19-23:43:04.429507 7f1f5bfff6c0 compacted to: files[ 0 1 0 0 0 0 0 ] -2023/12/19-23:43:04.429775 7f1f5bfff6c0 Delete type=2 #55 -2023/12/19-23:43:04.429989 7f1f5bfff6c0 Delete type=2 #44 -2023/12/19-23:43:04.430200 7f1f5bfff6c0 Delete type=2 #49 -2023/12/19-23:43:04.430383 7f1f5bfff6c0 Delete type=2 #52 -2023/12/19-23:43:04.430571 7f1f5bfff6c0 Delete type=2 #46 +2023/12/20-00:30:00.814059 7f69c8fff6c0 Recovering log #60 +2023/12/20-00:30:00.814237 7f69c8fff6c0 Level-0 table #62: started +2023/12/20-00:30:00.823427 7f69c8fff6c0 Level-0 table #62: 880 bytes OK +2023/12/20-00:30:00.827201 7f69c8fff6c0 Delete type=3 #58 +2023/12/20-00:30:00.827267 7f69c8fff6c0 Delete type=0 #60 diff --git a/mydb/MANIFEST-000058 b/mydb/MANIFEST-000058 deleted file mode 100644 index dc156decd7a97c27949e72f18c6c7161481343a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315 zcmb7X8( diff --git a/src/lib/mqtt.ts b/src/lib/mqtt.ts index 9743470..95738e4 100644 --- a/src/lib/mqtt.ts +++ b/src/lib/mqtt.ts @@ -17,7 +17,7 @@ export class MQTTClientClass extends BaseClass { super(adapter, 'mqttClient'); this.client = mqtt.connect(`mqtt://${ip}:${port}`, { username: username, password: password }); this.client.on('connect', () => { - this.log.info(`connection is active.`); + this.log.info(`Connection is active.`); this.adapter.setState('info.connection', true, true); this.client.subscribe('espresense/#', (err) => { if (err) { @@ -35,7 +35,7 @@ export class MQTTClientClass extends BaseClass { this.client.on('close', () => { this.adapter.setState('info.connection', false, true); - this.log.info(`connection is closed.`); + this.log.info(`Connection is closed.`); }); this.client.on('message', (topic, message) => { @@ -89,7 +89,7 @@ export class MQTTServerClass extends BaseClass { this.server = createServer(this.aedes.handle); this.server.listen(port, () => { - this.log.debug('server started and listening on port ', String(port)); + this.log.info(`Started and listening on port ${port}`); }); this.aedes.authenticate = ( client: Client, @@ -98,8 +98,8 @@ export class MQTTServerClass extends BaseClass { callback: any, ) => { const confirm = username === un && password == pw!.toString(); - if (!confirm) this.log.warn('MQTT client login denied. User name or password wrong!'); - else this.log.debug('MQTT client login successful.'); + if (!confirm) this.log.warn(`Login denied client: ${client.id}. User name or password wrong!`); + else this.log.info(`Client ${client.id} login successful.`); callback(null, confirm); }; }