diff --git a/fhem/lib/FHEM/SynoModules/API.pm b/fhem/lib/FHEM/SynoModules/API.pm index 291c1418b..66a87fc20 100644 --- a/fhem/lib/FHEM/SynoModules/API.pm +++ b/fhem/lib/FHEM/SynoModules/API.pm @@ -32,7 +32,7 @@ use warnings; use utf8; use Carp qw(croak carp); -use version; our $VERSION = qv('1.0.0'); +use version; our $VERSION = version->declare('1.0.1'); use Exporter ('import'); our @EXPORT_OK = qw(apistatic); diff --git a/fhem/lib/FHEM/SynoModules/SMUtils.pm b/fhem/lib/FHEM/SynoModules/SMUtils.pm index eab78c8c0..033af7894 100644 --- a/fhem/lib/FHEM/SynoModules/SMUtils.pm +++ b/fhem/lib/FHEM/SynoModules/SMUtils.pm @@ -35,7 +35,7 @@ use utf8; use GPUtils qw( GP_Import GP_Export ); use Carp qw(croak carp); -use version; our $VERSION = qv('1.0.0'); +use version; our $VERSION = version->declare('1.1.0'); use Exporter ('import'); our @EXPORT_OK = qw( @@ -43,6 +43,7 @@ our @EXPORT_OK = qw( trim sortVersion setVersionInfo + jboolmap ); our %EXPORT_TAGS = (all => [@EXPORT_OK]); @@ -156,6 +157,9 @@ sub setVersionInfo { $hash->{HELPER}{PACKAGE} = __PACKAGE__; $hash->{HELPER}{VERSION} = $v; + $hash->{HELPER}{VERSION_API} = FHEM::SynoModules::API->VERSION() // "unused"; + $hash->{HELPER}{VERSION_SMUtils} = FHEM::SynoModules::SMUtils->VERSION() // "unused"; + if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) { # META-Daten sind vorhanden $modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{}{META}} @@ -167,7 +171,7 @@ sub setVersionInfo { return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id$ im Kopf komplett! vorhanden ) if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) { # es wird mit Packages gearbeitet -> mit {->VERSION()} im FHEMWEB kann Modulversion abgefragt werden - use version; our $VERSION = FHEM::Meta::Get( $hash, 'version' ); ## no critic 'VERSION Reused' + use version 0.77; our $VERSION = FHEM::Meta::Get( $hash, 'version' ); ## no critic 'VERSION Reused' } } else { # herkömmliche Modulstruktur @@ -177,4 +181,19 @@ sub setVersionInfo { return; } +############################################################################### +# JSON Boolean Test und Mapping +############################################################################### +sub jboolmap { + my $bool = shift // carp "got no value to check if bool !" && return; + + my $is_boolean = JSON::is_bool($bool); + + if($is_boolean) { + $bool = $bool ? "true" : "false"; + } + +return $bool; +} + 1; \ No newline at end of file