Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions libs/libsml/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=libsml
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/volkszaehler/libsml.git
PKG_RELEASE:=1
PKG_SOURCE_DATE:=2025-09-27
PKG_SOURCE_VERSION:=9ff113e448efd1b14f871e556ce189a797032447

PKG_MAINTAINER:=Andy Voigt <a.voigt@mailbox.org>
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=LICENSE

include $(INCLUDE_DIR)/package.mk

define Package/libsml
SECTION:=libs
CATEGORY:=Libraries
TITLE:=libsml
URL:=volkszaehler.org
DEPENDS:=+libuuid
endef

define Package/libsml/description
libSML is a library which implements the Smart Message Language (SML) protocol
specified by VDE's Forum Netztechnik/Netzbetrieb (FNN). It can be utilized to
communicate to FNN specified Smart Meters or Smart Meter components (EDL/MUC).
endef

define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/sml \
CC="$(TARGET_CC)" \
LD="$(TARGET_CROSS)ld"
endef

define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) -a $(PKG_BUILD_DIR)/sml/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/sml/lib/libsml.{a,so*} $(1)/usr/lib/
$(LN) libsml.so.$(PKG_VERSION) $(1)/usr/lib/libsml.so
endef

define Package/libsml/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/sml/lib/libsml.{a,so*} $(1)/usr/lib/
$(LN) libsml.so.$(PKG_VERSION) $(1)/usr/lib/libsml.so
endef

$(eval $(call BuildPackage,libsml))
43 changes: 43 additions & 0 deletions utils/vzlogger/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=vzlogger
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/volkszaehler/vzlogger.git
PKG_RELEASE:=1
PKG_SOURCE_DATE:=2025-10-06
PKG_SOURCE_VERSION:=fdad271ea3884f1ee970a8b0b6c42451d93f20a4

PKG_MAINTAINER:=Andy Voigt <a.voigt@mailbox.org>
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk

CMAKE_INSTALL:=1
CMAKE_OPTIONS += \
-DBUILD_TEST:BOOL=OFF

define Package/vzlogger
SECTION:=utils
CATEGORY:=Utilities
TITLE:=vzlogger
URL:=volkszaehler.org
DEPENDS:=+libmosquitto-ssl +libsml +libmicrohttpd-no-ssl +libcurl +libunistring +libsasl2 +libgcrypt +libgnutls +libstdcpp +libjson-c
endef

define Package/vzlogger/description
vzlogger is a tool to read values from sensors and smartmeters.
It is used to collect data which can be forwarded to the volkszaehler.org Middleware
or to an MQTT broker
endef

define Package/vzlogger/install
$(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(1)/etc/config
$(CP) $(PKG_INSTALL_DIR)/usr/bin/vzlogger $(1)/usr/bin/
$(INSTALL_BIN) ./files/vzlogger.init $(1)/etc/init.d/vzlogger
$(INSTALL_CONF) ./files/vzlogger.conf $(1)/etc/config/vzlogger.conf
endef

$(eval $(call BuildPackage,vzlogger))

29 changes: 29 additions & 0 deletions utils/vzlogger/files/vzlogger.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"retry": 2,
"verbosity": 1,
"log": "/var/log/vzlogger.log",
"push": [],
"local": {
"enabled": true,
"port": 8080,
"index": true,
"timeout": 0,
"buffer": 0
},
"meters": [
{
"enabled": true,
"allowskip": false,
"interval": -1,
"aggtime": 10,
"aggfixedinterval": true,
"channels": [],
"protocol": "sml",
"device": "/dev/ttyUSB0",
"pullseq": "",
"baudrate": 9600,
"parity": "8n1",
"use_local_time": false
}
]
}
14 changes: 14 additions & 0 deletions utils/vzlogger/files/vzlogger.init
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh /etc/rc.common

USE_PROCD=1

START=95
STOP=01

start_service() {
procd_open_instance
procd_set_param command /usr/bin/vzlogger -c /etc/config/vzlogger.conf
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
33 changes: 33 additions & 0 deletions utils/vzlogger/patches/001-disable-werror.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Index: vzlogger-2025-10-06-fdad271/modules/CompilerFlags.cmake
===================================================================
--- vzlogger-2022-08-20-fdad271.orig/modules/CompilerFlags.cmake
+++ vzlogger-2022-08-20-fdad271/modules/CompilerFlags.cmake
@@ -8,7 +8,7 @@ if(NOT WIN32)
message(STATUS "using gcc compiler ${CMAKE_CXX_COMPILER_ID}")
include (CheckCXXSourceCompiles)

- set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -W -Wall -Wextra -Werror -Wnon-virtual-dtor -Wno-system-headers")
+ set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -W -Wall -Wextra -Wnon-virtual-dtor -Wno-system-headers")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Winit-self -Wmissing-include-dirs -Wno-pragmas -Wredundant-decls")
@@ -32,7 +32,7 @@ if(NOT WIN32)
# release flags
# Releases are made with the release build. Optimize code.
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-unused-parameter")
- #set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Werror -Wno-non-virtual-dtor")
+ #set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-non-virtual-dtor")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-redundant-decls")
#set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-non-virtual-dtor")

@@ -59,7 +59,7 @@ if(NOT WIN32)
set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_PROFILE} -ftest-coverage")

# Experimental
- set(CMAKE_CXX_FLAGS_EXPERIMENTAL "-O0 -pg -g -ggdb -Wall -Werror -W -Wshadow")
+ set(CMAKE_CXX_FLAGS_EXPERIMENTAL "-O0 -pg -g -ggdb -Wall -W -Wshadow")
set(CMAKE_CXX_FLAGS_EXPERIMENTAL "${CMAKE_CXX_FLAGS_EXPERIMENTAL} -Wunused-variable")
set(CMAKE_CXX_FLAGS_EXPERIMENTAL "${CMAKE_CXX_FLAGS_EXPERIMENTAL} -Wunused-parameter")
set(CMAKE_CXX_FLAGS_EXPERIMENTAL "${CMAKE_CXX_FLAGS_EXPERIMENTAL} -Wunused-function")
--
2.53.0
18 changes: 18 additions & 0 deletions utils/vzlogger/patches/002-disable-optimization.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Index: vzlogger-2022-08-20-fdad271/modules/CompilerFlags.cmake
===================================================================
--- vzlogger-2022-08-20-fdad271.orig/modules/CompilerFlags.cmake
+++ vzlogger-2022-08-20-fdad271/modules/CompilerFlags.cmake
@@ -29,10 +29,10 @@ if(NOT WIN32)

# release flags
# Releases are made with the release build. Optimize code.
- set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-unused-parameter")
- #set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-non-virtual-dtor")
+ set(CMAKE_CXX_FLAGS_RELEASE "-Wno-unused-parameter")
+ #set(CMAKE_CXX_FLAGS_RELEASE "-Wno-non-virtual-dtor")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-redundant-decls")
- #set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-non-virtual-dtor")
+ #set(CMAKE_CXX_FLAGS_RELEASE "-Wno-non-virtual-dtor")

# debug flags
set(CMAKE_CXX_FLAGS_DEBUG