Skip to content

Commit 2cbe846

Browse files
committed
vzlogger: add support for vzlogger
This adds the vzlogger package to the OpenWrt packages feed. It enables building and installing vzlogger on supported targets. Signed-off-by: Andy Voigt <a.voigt@mailbox.org>
1 parent 23324d9 commit 2cbe846

File tree

6 files changed

+186
-0
lines changed

6 files changed

+186
-0
lines changed

libs/libsml/Makefile

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
include $(TOPDIR)/rules.mk
2+
3+
PKG_NAME:=libsml
4+
PKG_SOURCE_PROTO:=git
5+
PKG_SOURCE_URL=https://github.com/volkszaehler/libsml.git
6+
PKG_RELEASE:=1
7+
PKG_SOURCE_DATE:=2025-09-27
8+
PKG_SOURCE_VERSION:=9ff113e448efd1b14f871e556ce189a797032447
9+
10+
PKG_MAINTAINER:=Andy Voigt <a.voigt@mailbox.org>
11+
PKG_LICENSE:=GPL-3.0-or-later
12+
PKG_LICENSE_FILES:=LICENSE
13+
14+
include $(INCLUDE_DIR)/package.mk
15+
16+
define Package/libsml
17+
SECTION:=libs
18+
CATEGORY:=Libraries
19+
TITLE:=libsml
20+
URL:=volkszaehler.org
21+
DEPENDS:=+libuuid
22+
endef
23+
24+
define Package/libsml/description
25+
libSML is a library which implements the Smart Message Language (SML) protocol
26+
specified by VDE's Forum Netztechnik/Netzbetrieb (FNN). It can be utilized to
27+
communicate to FNN specified Smart Meters or Smart Meter components (EDL/MUC).
28+
endef
29+
30+
define Build/Compile
31+
$(MAKE) -C $(PKG_BUILD_DIR)/sml \
32+
CC="$(TARGET_CC)" \
33+
LD="$(TARGET_CROSS)ld"
34+
endef
35+
36+
define Build/InstallDev
37+
$(INSTALL_DIR) $(1)/usr/include
38+
$(CP) -a $(PKG_BUILD_DIR)/sml/include/* $(1)/usr/include/
39+
$(INSTALL_DIR) $(1)/usr/lib
40+
$(CP) $(PKG_BUILD_DIR)/sml/lib/libsml.{a,so*} $(1)/usr/lib/
41+
$(LN) libsml.so.$(PKG_VERSION) $(1)/usr/lib/libsml.so
42+
endef
43+
44+
define Package/libsml/install
45+
$(INSTALL_DIR) $(1)/usr/lib
46+
$(CP) $(PKG_BUILD_DIR)/sml/lib/libsml.{a,so*} $(1)/usr/lib/
47+
$(LN) libsml.so.$(PKG_VERSION) $(1)/usr/lib/libsml.so
48+
endef
49+
50+
$(eval $(call BuildPackage,libsml))

utils/vzlogger/Makefile

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
include $(TOPDIR)/rules.mk
2+
3+
PKG_NAME:=vzlogger
4+
PKG_SOURCE_PROTO:=git
5+
PKG_SOURCE_URL=https://github.com/volkszaehler/vzlogger.git
6+
PKG_RELEASE:=1
7+
PKG_SOURCE_DATE:=2025-10-06
8+
PKG_SOURCE_VERSION:=fdad271ea3884f1ee970a8b0b6c42451d93f20a4
9+
10+
PKG_MAINTAINER:=Andy Voigt <a.voigt@mailbox.org>
11+
PKG_LICENSE:=GPL-3.0-or-later
12+
PKG_LICENSE_FILES:=COPYING
13+
14+
include $(INCLUDE_DIR)/package.mk
15+
include $(INCLUDE_DIR)/cmake.mk
16+
17+
CMAKE_INSTALL:=1
18+
CMAKE_OPTIONS += \
19+
-DBUILD_TEST:BOOL=OFF
20+
21+
define Package/vzlogger
22+
SECTION:=utils
23+
CATEGORY:=Utilities
24+
TITLE:=vzlogger
25+
URL:=volkszaehler.org
26+
DEPENDS:=+libmosquitto-ssl +libsml +libmicrohttpd-no-ssl +libcurl +libunistring +libsasl2 +libgcrypt +libgnutls +libstdcpp +libjson-c
27+
endef
28+
29+
define Package/vzlogger/description
30+
vzlogger is a tool to read values from sensors and smartmeters.
31+
It is used to collect data which can be forwarded to the volkszaehler.org Middleware
32+
or to an MQTT broker
33+
endef
34+
35+
define Package/vzlogger/install
36+
$(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(1)/etc/config
37+
$(CP) $(PKG_INSTALL_DIR)/usr/bin/vzlogger $(1)/usr/bin/
38+
$(INSTALL_BIN) ./files/vzlogger.init $(1)/etc/init.d/vzlogger
39+
$(INSTALL_CONF) ./files/vzlogger.conf $(1)/etc/config/vzlogger.conf
40+
endef
41+
42+
$(eval $(call BuildPackage,vzlogger))

utils/vzlogger/files/vzlogger.conf

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"retry": 2,
3+
"verbosity": 1,
4+
"log": "/var/log/vzlogger.log",
5+
"push": [],
6+
"local": {
7+
"enabled": true,
8+
"port": 8080,
9+
"index": true,
10+
"timeout": 0,
11+
"buffer": 0
12+
},
13+
"meters": [
14+
{
15+
"enabled": true,
16+
"allowskip": false,
17+
"interval": -1,
18+
"aggtime": 10,
19+
"aggfixedinterval": true,
20+
"channels": [],
21+
"protocol": "sml",
22+
"device": "/dev/ttyUSB0",
23+
"pullseq": "",
24+
"baudrate": 9600,
25+
"parity": "8n1",
26+
"use_local_time": false
27+
}
28+
]
29+
}

utils/vzlogger/files/vzlogger.init

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/sh /etc/rc.common
2+
3+
USE_PROCD=1
4+
5+
START=95
6+
STOP=01
7+
8+
start_service() {
9+
procd_open_instance
10+
procd_set_param command /usr/bin/vzlogger -c /etc/config/vzlogger.conf
11+
procd_set_param stdout 1
12+
procd_set_param stderr 1
13+
procd_close_instance
14+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Index: vzlogger-2025-10-06-fdad271/modules/CompilerFlags.cmake
2+
===================================================================
3+
--- vzlogger-2022-08-20-fdad271.orig/modules/CompilerFlags.cmake
4+
+++ vzlogger-2022-08-20-fdad271/modules/CompilerFlags.cmake
5+
@@ -8,7 +8,7 @@ if(NOT WIN32)
6+
message(STATUS "using gcc compiler ${CMAKE_CXX_COMPILER_ID}")
7+
include (CheckCXXSourceCompiles)
8+
9+
- set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -W -Wall -Wextra -Werror -Wnon-virtual-dtor -Wno-system-headers")
10+
+ set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -W -Wall -Wextra -Wnon-virtual-dtor -Wno-system-headers")
11+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated")
12+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
13+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Winit-self -Wmissing-include-dirs -Wno-pragmas -Wredundant-decls")
14+
@@ -32,7 +32,7 @@ if(NOT WIN32)
15+
# release flags
16+
# Releases are made with the release build. Optimize code.
17+
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-unused-parameter")
18+
- #set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Werror -Wno-non-virtual-dtor")
19+
+ #set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-non-virtual-dtor")
20+
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-redundant-decls")
21+
#set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-non-virtual-dtor")
22+
23+
@@ -59,7 +59,7 @@ if(NOT WIN32)
24+
set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_PROFILE} -ftest-coverage")
25+
26+
# Experimental
27+
- set(CMAKE_CXX_FLAGS_EXPERIMENTAL "-O0 -pg -g -ggdb -Wall -Werror -W -Wshadow")
28+
+ set(CMAKE_CXX_FLAGS_EXPERIMENTAL "-O0 -pg -g -ggdb -Wall -W -Wshadow")
29+
set(CMAKE_CXX_FLAGS_EXPERIMENTAL "${CMAKE_CXX_FLAGS_EXPERIMENTAL} -Wunused-variable")
30+
set(CMAKE_CXX_FLAGS_EXPERIMENTAL "${CMAKE_CXX_FLAGS_EXPERIMENTAL} -Wunused-parameter")
31+
set(CMAKE_CXX_FLAGS_EXPERIMENTAL "${CMAKE_CXX_FLAGS_EXPERIMENTAL} -Wunused-function")
32+
--
33+
2.53.0
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Index: vzlogger-2022-08-20-fdad271/modules/CompilerFlags.cmake
2+
===================================================================
3+
--- vzlogger-2022-08-20-fdad271.orig/modules/CompilerFlags.cmake
4+
+++ vzlogger-2022-08-20-fdad271/modules/CompilerFlags.cmake
5+
@@ -29,10 +29,10 @@ if(NOT WIN32)
6+
7+
# release flags
8+
# Releases are made with the release build. Optimize code.
9+
- set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-unused-parameter")
10+
- #set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-non-virtual-dtor")
11+
+ set(CMAKE_CXX_FLAGS_RELEASE "-Wno-unused-parameter")
12+
+ #set(CMAKE_CXX_FLAGS_RELEASE "-Wno-non-virtual-dtor")
13+
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-redundant-decls")
14+
- #set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-non-virtual-dtor")
15+
+ #set(CMAKE_CXX_FLAGS_RELEASE "-Wno-non-virtual-dtor")
16+
17+
# debug flags
18+
set(CMAKE_CXX_FLAGS_DEBUG

0 commit comments

Comments
 (0)