JSPM

  • Created
  • Published
  • Downloads 62
  • Score
    100M100P100Q65663F
  • License MIT

Publish data from your Smartmeter with a P1 interface to your MQTT server.

Package Exports

  • smartmeter2mqtt

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (smartmeter2mqtt) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Smartmeter2mqtt

Smartmeter2mqtt documentation npm docker pulls Support me on Github

github issues Run tests and publish Coverage Status semantic-release

An application that parses smartmeter data over the network or a P1 cable.

Key features

  • Connect to smartmeter over p1 cable or p1-to-socket device.
  • Parse DSMR data
  • Website with real-time-data (over websockets)
  • Output socket to daisy-chain other applications
  • Decrypt Luxemburg smartmeter data

Documentation

Go to smartmeter2mqtt documentation to get started really quickly.

Screenshot of smartmeter2mqtt web page

Docker

If you don't want to read the carefully made documentation, use one of the docker compose samples to get started quickly.

Docker compose with socket

version: "3.7"

services:
  smartmeter:
    image: svrooij/smartmeter:latest
    restart: unless-stopped
    ports: # Depending on your situation you'll need to expose some ports
      - 3000:3000
      - 3010:3010
      - 3020:3020
    environment:
      - TZ=Europe/Amsterdam
      - SMARTMETER_SOCKET=192.168.1.15:23
      - SMARTMETER_web-server=3000
      - SMARTMETER_tcp-server=3010
      - SMARTMETER_raw-tcp-server=3020
      # - SMARTMETER_enc-key=056F9B0CFEDF150E889BEAD52FA7A174 # if you need to decrypt the messages
      # - SMARTMETER_sunspec-modbus=192.168.x.x # if you want to also read your solar inverter.

Docker compose with usb

If you're reading from an USB to P1 cable, it's important that you connect the device to the container. The mapped location might change on reboot or if you connect other devices. That is why I recommend to connect the device by serial. You will need the real device location, type ls /dev/serial/by-id and note the device string that looks like usb-FTDI_FT232R_USB_UART_A13LN4ZS-if00-port0 for my cable.

Be sure to replace this device id in the docker compose file.

version: "3.7"

services:
  smartmeter:
    image: svrooij/smartmeter:latest
    devices: # Replace the device id with your found id, the device is mapped as /dev/ttyUSB0 inside the container.
      - /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A13LN4ZS-if00-port0:/dev/ttyUSB0
    restart: unless-stopped
    ports: # Depending on your situation you'll need to expose some ports
      - 3000:3000
      - 3010:3010
      - 3020:3020
    environment:
      - TZ=Europe/Amsterdam
      - SMARTMETER_PORT=/dev/ttyUSB0
      - SMARTMETER_web-server=3000
      - SMARTMETER_tcp-server=3010
      - SMARTMETER_raw-tcp-server=3020
      # - SMARTMETER_enc-key=056F9B0CFEDF150E889BEAD52FA7A174 # if you need to decrypt the messages
      # - SMARTMETER_sunspec-modbus=192.168.x.x # if you want to also read your solar inverter.