mruettgers / SMLReader

ESP8266 based smart meter (SML) to MQTT gateway
GNU General Public License v3.0
289 stars 67 forks source link

Change output 1.8.0 / 2.8.0 from Wh to kWh #59

Open AndyWo83 opened 1 year ago

AndyWo83 commented 1 year ago

Is it possible to include the output from Wh to kWh in the config, since most people work with kwh anyway?

static const SensorConfig SENSOR_CONFIGS[] = {
    {.pin = D2, // GPIO pin of the phototransistor
     .name = "1", // Sensor name used in MQTT topic
     .numeric_only = false, // If "true", only numeric values are being published via MQTT
     .output_kwh = true,// If "true", output value in kWh   <--- !!!!!!!NEW!!!!!!!!
     .status_led_enabled = true, // Flash status LED (3 times) when an SML start sequence has been found
     .status_led_inverted = true, // Some LEDs (like the ESP8266 builtin LED) require an inverted output signal
     .status_led_pin = LED_BUILTIN, // GPIO pin used for sensor status LED
     .interval = 0 // If greater than 0, messages are published every [interval] seconds
    }};

That's why I'm currently using Tasmota and there smartmeter integration, but I would like to switch to this, since Tasmota only sends the data via MQTT every 10 seconds.

image

emmrichd commented 1 year ago

Hello,

Tasmota can send the data more often. you have to add 16 to the precision definition in the M-statement: <precision> | number of decimal places. Add 16 to transmit the data immediately. Otherwise it is transmitted on TelePeriod only. Regards, Dieter

btmerz commented 11 months ago

Hi, to get this, I added the lines if (scaler<0) { scaler -=3; //convert values from Wh to kWhum prec=3; }

at line 103 of MqttPublisher.h to convert the values from Wh to kWh.

Maybe that helps someone...

Regards Bernd

Kubunter commented 5 months ago

@mruettgers Would be nice to see this change in the next version.