Module homie-p1
P1 smartmeter to Homie bridge.
This module instantiates a homie device posting data read from a P1 smartmeter port as a Homie device.
The input will be read from a serial port using socat
to pass the data to
stdout
. The actual socat command is:
while : ; do socat [INPUT_STREAM] stdout 2>/dev/null; done
this will dismiss any error output and ensures a restart if something fails.
The module returns a single function that takes an options table. When called it will construct a Homie device and add it to the Copas scheduler (without running the scheduler).
Usage:
local copas = require "copas" local hp1 = require "homie-p1" hp1 { socat_input_stream = "/dev/ttyUSB0,b115200", -- input stream, see socat docs homie_mqtt_uri = "http://mqtthost:123", -- format: "mqtt(s)://user:pass@hostname:port" homie_domain = "homie", -- default: "homie" homie_device_id = "smartmeter", -- default: "smartmeter" homie_device_name = "Homie smartmeter", -- default: "P1 Smartmeter" } copas()
Info:
- Copyright: Copyright (c) 2022-2023 Thijs Schreijer
- License: MIT, see
LICENSE
. - Author: Thijs Schreijer