kopia lustrzana https://github.com/weetmuts/wmbusmeters
Rename --device= to --overridedevice=
rodzic
2e8f6e5430
commit
2ce3f33151
|
@ -2,6 +2,7 @@ build/
|
||||||
build_debug
|
build_debug
|
||||||
build_arm/
|
build_arm/
|
||||||
build_arm_debug/
|
build_arm_debug/
|
||||||
|
packaging/
|
||||||
testaes/
|
testaes/
|
||||||
testoutput/
|
testoutput/
|
||||||
tests_tmp/
|
tests_tmp/
|
||||||
|
|
4
CHANGES
4
CHANGES
|
@ -1,4 +1,6 @@
|
||||||
Version: 1.10.0 2022-09-14
|
|
||||||
|
Rename option --device=xyz to --overridedevice=xyz and add better error message
|
||||||
|
if it is used without --useconfig=xyz. --device still works but will eventually be removed.
|
||||||
|
|
||||||
OPTIONAL fields were only printed in the json, if they appeared in the telegram,
|
OPTIONAL fields were only printed in the json, if they appeared in the telegram,
|
||||||
even if the field had received a value before. Now a field will be printed
|
even if the field had received a value before. Now a field will be printed
|
||||||
|
|
10
README.md
10
README.md
|
@ -255,20 +255,20 @@ wmbusmeters --useconfig=/home/me/.config/wmbusmeters
|
||||||
|
|
||||||
If you already have config with a device specified, and you want to use
|
If you already have config with a device specified, and you want to use
|
||||||
the config with another device. You might have multiple meters in the config
|
the config with another device. You might have multiple meters in the config
|
||||||
that you want to listen to. Then you can add `--device` to override the settings
|
that you want to listen to. Then you can add `--overridedevice` to override the settings
|
||||||
in the config. Like this:
|
in the config. Like this:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
wmbusmeters --useconfig=/home/me/.config/wmbusmeters --device=rtlwmbus
|
wmbusmeters --useconfig=/home/me/.config/wmbusmeters --overridedevice=rtlwmbus
|
||||||
```
|
```
|
||||||
|
|
||||||
You must have both `--useconfig=` and `--device=` for it to work.
|
You must have both `--useconfig=` and `--overridedevice=` for it to work.
|
||||||
|
|
||||||
The files/dir should then be located here:
|
The files/dir should then be located here:
|
||||||
`/home/me/.config/wmbusmeters/wmbusmeters.conf` and
|
`/home/me/.config/wmbusmeters/wmbusmeters.conf` and
|
||||||
`/home/me/.config/wmbusmeters/wmbusmeters.d`
|
`/home/me/.config/wmbusmeters/wmbusmeters.d`
|
||||||
|
|
||||||
The option `--useconfig=` can only be combined with a few other options: `--device= --listento= --exitafter= --oneshot= --silent --normal --verbose --debug --trace`
|
The option `--useconfig=` can only be combined with a few other options: `--overridedevice= --listento= --exitafter= --oneshot= --silent --normal --verbose --debug --trace`
|
||||||
|
|
||||||
When running using config files then you can trigger a reload of the config files
|
When running using config files then you can trigger a reload of the config files
|
||||||
using `sudo killall -HUP wmbusmetersd` or `killall -HUP wmbusmeters`
|
using `sudo killall -HUP wmbusmetersd` or `killall -HUP wmbusmeters`
|
||||||
|
@ -293,7 +293,7 @@ As {options} you can use:
|
||||||
--analyze=<driver> Analyze a telegram and use only this driver.
|
--analyze=<driver> Analyze a telegram and use only this driver.
|
||||||
--analyze=<driver>:<key> Analyze a telegram and use only this driver with this key.
|
--analyze=<driver>:<key> Analyze a telegram and use only this driver with this key.
|
||||||
--debug for a lot of information
|
--debug for a lot of information
|
||||||
--device=<device> override device in config files. Use only in combination with --useconfig= option
|
--overridedevice=<device> override device in config files. Use only in combination with --useconfig= option
|
||||||
--donotprobe=<tty> do not auto-probe this tty. Use multiple times for several ttys or specify "all" for all ttys.
|
--donotprobe=<tty> do not auto-probe this tty. Use multiple times for several ttys or specify "all" for all ttys.
|
||||||
--exitafter=<time> exit program after time, eg 20h, 10m 5s
|
--exitafter=<time> exit program after time, eg 20h, 10m 5s
|
||||||
--format=<hr/json/fields> for human readable, json or semicolon separated fields
|
--format=<hr/json/fields> for human readable, json or semicolon separated fields
|
||||||
|
|
|
@ -67,6 +67,11 @@ static shared_ptr<Configuration> parseNormalCommandLine(Configuration *c, int ar
|
||||||
c->need_help = true;
|
c->need_help = true;
|
||||||
return shared_ptr<Configuration>(c);
|
return shared_ptr<Configuration>(c);
|
||||||
}
|
}
|
||||||
|
if (!strncmp(argv[i], "--device=", 9) || // Deprecated
|
||||||
|
!strncmp(argv[i], "--overridedevice=", 17))
|
||||||
|
{
|
||||||
|
error("You can only use --overridedevice=xyz with --useconfig=xyz\n");
|
||||||
|
}
|
||||||
if (!strcmp(argv[i], "--silent")) {
|
if (!strcmp(argv[i], "--silent")) {
|
||||||
c->silent = true;
|
c->silent = true;
|
||||||
i++;
|
i++;
|
||||||
|
@ -732,7 +737,8 @@ shared_ptr<Configuration> parseCommandLineWithUseConfig(Configuration *c, int ar
|
||||||
i++;
|
i++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!strncmp(argv[i], "--device=", 9))
|
if (!strncmp(argv[i], "--device=", 9) || // Deprecated
|
||||||
|
!strncmp(argv[i], "--overridedevice=", 17))
|
||||||
{
|
{
|
||||||
c->overrides.device_override = string(argv[i]+9);
|
c->overrides.device_override = string(argv[i]+9);
|
||||||
debug("(useconfig) device override \"%s\"\n", c->overrides.device_override.c_str());
|
debug("(useconfig) device override \"%s\"\n", c->overrides.device_override.c_str());
|
||||||
|
@ -772,7 +778,7 @@ shared_ptr<Configuration> parseCommandLineWithUseConfig(Configuration *c, int ar
|
||||||
}
|
}
|
||||||
|
|
||||||
error("Usage error: --useconfig=... can only be used in combination with:\n"
|
error("Usage error: --useconfig=... can only be used in combination with:\n"
|
||||||
"--device= --listento= --exitafter= --oneshot= --logfile= --silent --normal --verbose --debug --trace\n");
|
"--overridedevice= --listento= --exitafter= --oneshot= --logfile= --silent --normal --verbose --debug --trace\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ if [ "$TESTRESULT" = "ERROR" ]; then echo ERROR: $TESTNAME; exit 1; fi
|
||||||
TESTNAME="Test additional json from wmbusmeters.conf and from meter file"
|
TESTNAME="Test additional json from wmbusmeters.conf and from meter file"
|
||||||
TESTRESULT="ERROR"
|
TESTRESULT="ERROR"
|
||||||
|
|
||||||
$PROG --debug --useconfig=tests/config6 --device=simulations/simulation_shell.txt > $TEST/test_output.txt 2> $TEST/test_stderr.txt
|
$PROG --debug --useconfig=tests/config6 --overridedevice=simulations/simulation_shell.txt > $TEST/test_output.txt 2> $TEST/test_stderr.txt
|
||||||
|
|
||||||
if [ "$?" = "0" ]
|
if [ "$?" = "0" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -12,7 +12,7 @@ echo "RUNNING $TESTNAME ..."
|
||||||
> /tmp/wmbusmeters_telegram_test
|
> /tmp/wmbusmeters_telegram_test
|
||||||
> /tmp/wmbusmeters_alarm_test
|
> /tmp/wmbusmeters_alarm_test
|
||||||
|
|
||||||
$PROG --useconfig=tests/config7 --device=simulations/simulation_alarm.txt 2> $TEST/test_stderr.txt | sed 's/....-..-..T..:..:..Z/1111-11-11T11:11:11Z/' > $TEST/test_output.txt
|
$PROG --useconfig=tests/config7 --overridedevice=simulations/simulation_alarm.txt 2> $TEST/test_stderr.txt | sed 's/....-..-..T..:..:..Z/1111-11-11T11:11:11Z/' > $TEST/test_output.txt
|
||||||
|
|
||||||
echo "STDERR---------------------------------"
|
echo "STDERR---------------------------------"
|
||||||
cat $TEST/test_stderr.txt
|
cat $TEST/test_stderr.txt
|
||||||
|
|
|
@ -19,7 +19,7 @@ TESTRESULT="ERROR"
|
||||||
cat simulations/serial_aes.msg | grep '^{' | tr -d '#' > $TEST/test_expected.txt
|
cat simulations/serial_aes.msg | grep '^{' | tr -d '#' > $TEST/test_expected.txt
|
||||||
cat simulations/serial_aes.msg | grep '^[CT]' | tr -d '#' > $TEST/test_input.txt
|
cat simulations/serial_aes.msg | grep '^[CT]' | tr -d '#' > $TEST/test_input.txt
|
||||||
|
|
||||||
cat $TEST/test_input.txt | $PROG --useconfig=tests/config9 --device=stdin:rtlwmbus --oneshot > $TEST/test_output.txt 2> $TEST/test_stderr.txt
|
cat $TEST/test_input.txt | $PROG --useconfig=tests/config9 --overridedevice=stdin:rtlwmbus --oneshot > $TEST/test_output.txt 2> $TEST/test_stderr.txt
|
||||||
|
|
||||||
if ! grep -q "(main) all meters have received at least one update, stopping." $TEST/test_stderr.txt
|
if ! grep -q "(main) all meters have received at least one update, stopping." $TEST/test_stderr.txt
|
||||||
then
|
then
|
||||||
|
@ -46,7 +46,7 @@ cat simulations/serial_aes.msg | grep '^{' | tr -d '#' > $TEST/test_expected.txt
|
||||||
cat simulations/serial_aes.msg | grep '^[CT]' | tr -d '#' > $TEST/test_input.txt
|
cat simulations/serial_aes.msg | grep '^[CT]' | tr -d '#' > $TEST/test_input.txt
|
||||||
|
|
||||||
# Read from stdin
|
# Read from stdin
|
||||||
{ cat $TEST/test_input.txt ; sleep 4; } | $PROG --useconfig=tests/config9 --device=stdin:rtlwmbus --exitafter=1s > $TEST/test_output.txt 2> $TEST/test_stderr.txt
|
{ cat $TEST/test_input.txt ; sleep 4; } | $PROG --useconfig=tests/config9 --overridedevice=stdin:rtlwmbus --exitafter=1s > $TEST/test_output.txt 2> $TEST/test_stderr.txt
|
||||||
|
|
||||||
if ! grep -q "(serial) exit after " $TEST/test_stderr.txt
|
if ! grep -q "(serial) exit after " $TEST/test_stderr.txt
|
||||||
then
|
then
|
||||||
|
|
|
@ -9,7 +9,7 @@ TESTRESULT="ERROR"
|
||||||
|
|
||||||
cat simulations/simulation_extras.txt | grep '^{' > $TEST/test_expected.txt
|
cat simulations/simulation_extras.txt | grep '^{' > $TEST/test_expected.txt
|
||||||
|
|
||||||
$PROG --useconfig=tests/config8 --device=simulations/simulation_extras.txt 2> $TEST/test_stderr.txt > $TEST/test_output.txt
|
$PROG --useconfig=tests/config8 --overridedevice=simulations/simulation_extras.txt 2> $TEST/test_stderr.txt > $TEST/test_output.txt
|
||||||
|
|
||||||
if [ "$?" = "0" ]
|
if [ "$?" = "0" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -43,7 +43,7 @@ Add :verbose to any analyze to get more verbose analyze output.
|
||||||
|
|
||||||
\fB\--debug\fR for a lot of information
|
\fB\--debug\fR for a lot of information
|
||||||
|
|
||||||
\fB\--device=\fR<device> override device in config files. Use only in combination with --useconfig= option
|
\fB\--overridedevice=\fR<device> override device in config files. Can only be used in combination with --useconfig= option
|
||||||
|
|
||||||
\fB\--donotprobe=\fR<tty> do not auto-probe this tty. Use multiple times for several ttys or specify "all" for all ttys
|
\fB\--donotprobe=\fR<tty> do not auto-probe this tty. Use multiple times for several ttys or specify "all" for all ttys
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue