98_Installer: state nur noch "error 'outdatedPerl'"

Begonnen von meier81, 23 Juli 2024, 21:08:47

Vorheriges Thema - Nächstes Thema

tomcat.x

Hallo Heiko,

nur zur Sicherheit: Es gab danach schon wieder Updates und der FHEM-Installer hat die eingespielt? Weil auch bei mir ist nach "cpan-outdated -p | cpanm" auch erst mal alles in Ordnung.

Viele Grüße
Thomas
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

DS_Starter

Hallo Thomas,

Ein "set ... outdatedPerl" wirft keinen Parsing Fehler mehr.
Und ich konnte ein bislang nicht installiertes Perl Modul installieren ohne das hinterher der bislang aufgetretene Parsing Fehler kam.
Es wäre zur Sicherheit noch abzuwarten wie sich ein Update eines bereits vorhandenen Moduls verhält, aber ich gehe davon aus, dass auch das funktionieren wird da m.M. nach das Problem beim Parsing der Rückkehrantwort besteht/bestand.

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

tomcat.x


Ich drücke Dir die Daumen ;-) Weil das
Zitat von: DS_Starter am 15 Januar 2025, 11:34:25Ein "set ... outdatedPerl" wirft keinen Parsing Fehler mehr.

Läuft beim mir auch jeden Tag ohne Fehler, bis es dann wieder Updates zum Einspielen gibt. Wäre Zufall, wenn bisher immer das Modul dabei gewesen wäre, bei dem der Parsing Fehler auftritt.
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

tomcat.x

Als Nachtrag und für eine eventuelle Behebung des Fehlers noch folgende Info: Aktuell liefert "cpan-outdated -p" bei mir folgendes:
Config::Perl::V
DB_File
experimental
Time::Piece

Der FHEM-Installer bekommt keinen Parsing-Fehler, macht aber auch kein Update. Dort wird soweit ich gesehen habe ein "cpan-outdated --verbose" gemacht. Das ergibt eine ausführlichere Ausgabe, aber natürlich die gleichen 4 Module. Entweder Heiko hat Recht und der Fehler tritt nur auf, wenn bestimmte Module in der Liste sind oder der Parsing Fehler tritt nur auf, wenn Updates notwendig sind. Das fände ich seltsam, weil das Parsing vorher passieren müsste, aber bisher hatte ich das so beobachtet.
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

DS_Starter

Ich habe jetzt testweise eine ältere Version von Time::Piece (Time-Piece-1.3401) in mein System gebracht, restartet, und dann mit "set ... installPerl Time::Piece" auf die neueste Time-Piece-1.35 upgedatet -> ohne Probleme bzw. Parsing Error.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Ich habe dieses Update nochmal mit verbose 4 durchgeführt. Hier der Logauszug zum evtl. Vergleich:

echo n | sh -c "LC_ALL=C sudo -H -n  $(which cpanm) --quiet --force  Time::Piece" 2>&1
2025.01.15 14:19:26.328 4: Installer (fhemInstaller) - execute command asynchronously (PID= 213057)
2025.01.15 14:19:26.330 4: Installer (fhemInstaller) - control passed back to main loop.
Successfully installed Time-Piece-1.35 (upgraded from 1.3401)
1 distribution installed
2025.01.15 14:19:30.384 4: Installer (fhemInstaller) - got result from asynchronous parsing.
2025.01.15 14:19:30.387 4: Installer (fhemInstaller) - asynchronous finished.
2025.01.15 14:19:30.388 4: Installer (fhemInstaller) - clean Subprocess
2025.01.15 14:19:30.390 4: Installer (fhemInstaller) - JSON: {"success":1,"installed":{"Time::Piece":{"version":"1.35","result":"installed"}}}
2025.01.15 14:19:30.392 4: Installer (fhemInstaller) - Write Readings
echo n | sh -c "LC_ALL=C sudo -H -n  $(which cpanm) --version 2>&1" 2>&1 && L1=$( cpan-outdated --verbose 2>&1) && [ "$L1" != "" ] && [ "$L1" != "\n" ] && echo "@Outdated:\n$L1";
2025.01.15 14:19:30.414 4: Installer (fhemInstaller) - execute command asynchronously (PID= 213224)
2025.01.15 14:19:30.419 4: Installer (fhemInstaller) - control passed back to main loop.
cpanm (App::cpanminus) version 1.7048 (/usr/local/bin/cpanm)
perl version 5.036000 (/usr/bin/perl)

  %Config:
    archname=x86_64-linux-gnu-thread-multi
    installsitelib=/usr/local/share/perl/5.36.0
    installsitebin=/usr/local/bin
    installman1dir=/usr/share/man/man1
    installman3dir=/usr/share/man/man3
    sitearchexp=/usr/local/lib/x86_64-linux-gnu/perl/5.36.0
    sitelibexp=/usr/local/share/perl/5.36.0
    vendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.36
    vendorlibexp=/usr/share/perl5
    archlibexp=/usr/lib/x86_64-linux-gnu/perl/5.36
    privlibexp=/usr/share/perl/5.36
  %ENV:
  @INC:
    FatPacked::94464665432120=HASH(0x55ea44d3b038)
    /etc/perl
    /usr/local/lib/x86_64-linux-gnu/perl/5.36.0
    /usr/local/share/perl/5.36.0
    /usr/lib/x86_64-linux-gnu/perl5/5.36
    /usr/share/perl5
    /usr/lib/x86_64-linux-gnu/perl-base
    /usr/lib/x86_64-linux-gnu/perl/5.36
    /usr/share/perl/5.36
    /usr/local/lib/site_perl
2025.01.15 14:19:36.859 4: Installer (fhemInstaller) - got result from asynchronous parsing.
2025.01.15 14:19:36.861 4: Installer (fhemInstaller) - asynchronous finished.
2025.01.15 14:19:36.862 4: Installer (fhemInstaller) - clean Subprocess
2025.01.15 14:19:36.865 4: Installer (fhemInstaller) - JSON: {"versions":{"INC":["FatPacked::94464665432120=HASH(0x55ea44d3b038)","/etc/perl","/usr/local/lib/x86_64-linux-gnu/perl/5.36.0","/usr/local/share/perl/5.36.0","/usr/lib/x86_64-linux-gnu/perl5/5.36","/usr/share/perl5","/usr/lib/x86_64-linux-gnu/perl-base","/usr/lib/x86_64-linux-gnu/perl/5.36","/usr/share/perl/5.36","/usr/local/lib/site_perl"],"cpanminus":"1.7048","cpanoutdated":0,"Config":{"vendorlibexp":"/usr/share/perl5","archname":"x86_64-linux-gnu-thread-multi","vendorarch":"/usr/lib/x86_64-linux-gnu/perl5/5.36","sitearchexp":"/usr/local/lib/x86_64-linux-gnu/perl/5.36.0","installman3dir":"/usr/share/man/man3","archlibexp":"/usr/lib/x86_64-linux-gnu/perl/5.36","installman1dir":"/usr/share/man/man1","installsitelib":"/usr/local/share/perl/5.36.0","installsitebin":"/usr/local/bin","privlibexp":"/usr/share/perl/5.36","sitelibexp":"/usr/local/share/perl/5.36.0"},"perl":"5.036000"},"listedPerl":{"Perl::PrereqScanner::NotQuiteLite":{"version":"0.991700"},"Module::CoreList":{"version":"5.202412200"},"File::ShareDir::Install":{"version":"0.140"},"Getopt::Long":{"version":"2.580"},"Module::Find":{"version":"0.160"},"Test::Without::Module":{"version":"0.230"},"Test::Most":{"version":"0.380"},"Sub::HandlesVia":{"version":"0.050000"},"Pod::Checker":{"version":"1.770"},"HTTP::Entity::Parser":{"version":"0.250"},"IO":{"version":"1.550"},"XML::SAX::Base":{"version":"1.090"},"String::CRC32":{"version":"2.100"},"local::lib":{"version":"2.000029"},"File::Find::Object":{"version":"0.003009"},"Redis":{"version":"2.000"},"Test::Exception":{"version":"0.430"},"MCE":{"version":"1.901"},"Nmap::Parser":{"version":"1.370"},"Hash::MultiValue":{"version":"0.160"},"Module::Util":{"version":"1.090"},"Test::Warnings":{"version":"0.037"},"parent":{"version":"0.244"},"Crypt::RC4":{"version":"2.020"},"Perl::Tidy":{"version":"20250105.000"},"CHI":{"version":"0.610"},"Module::Runtime::Conflicts":{"version":"0.003"},"MIME::Types":{"version":"2.260"},"HTTP::Tiny":{"version":"0.090"},"GnuPG::Interface":{"version":"1.040"},"ExtUtils::HasCompiler":{"version":"0.025"},"Params::Validate":{"version":"1.310"},"PPI":{"version":"1.281"},"Mail::IMAPClient":{"version":"3.430"},"XS::Parse::Keyword":{"version":"0.480"},"Test2::Plugin::NoWarnings":{"version":"0.100"},"Moose":{"version":"2.220700"},"Term::Table":{"version":"0.024"},"Data::Peek":{"version":"0.530"},"PPIx::Regexp":{"version":"0.088"},"Encode":{"version":"3.210"},"Test::Kwalitee":{"version":"1.280"},"Net::SNMP":{"version":"6.000001"},"IPC::Run3":{"version":"0.049"},"Object::Accessor":{"version":"0.480"},"MP3::Tag":{"version":"1.160"},"RedisDB":{"version":"2.570"},"Class::Load::XS":{"version":"0.100"},"Time::Piece":{"version":"1.350"},"POSIX::strftime::Compiler":{"version":"0.460"},"CPANPLUS":{"version":"0.991400"},"Test::RequiresInternet":{"version":"0.050"},"IO::Interface":{"version":"1.090"},"Sys::Statistics::Linux":{"version":"0.660"},"Net::FTPSSL":{"version":"0.420"},"Alien::Libxml2":{"version":"0.190"},"Test::Simple":{"version":"1.302207"},"Devel::Leak::Object":{"version":"1.020"},"UNIVERSAL::require":{"version":"0.190"},"version":{"version":"0.993300"},"Tie::RefHash":{"version":"1.410"},"IO::Socket::Timeout":{"version":"0.320"},"Test::Time":{"version":"0.092"},"Type::Tiny":{"version":"2.006000"},"Test::Differences":{"version":"0.710"},"Cache::RedisDB":{"version":"0.130"},"JSON::MaybeXS":{"version":"1.004008"},"Test::Pod::Coverage":{"version":"1.100"},"Mock::Config":{"version":"0.030"},"Config::Tiny":{"version":"2.300"},"Number::Misc":{"version":"1.200"},"Test::CheckDeps":{"version":"0.010"},"Package::DeprecationManager":{"version":"0.180"},"Test::FailWarnings":{"version":"0.008"},"Sereal::Encoder":{"version":"5.004"},"Role::Hooks":{"version":"0.008"},"CPAN::Requirements::Dynamic":{"version":"0.001"},"Tie::Hash::LRU":{"version":"0.050"},"Array::RefElem":{"version":"1.000"},"ExtUtils::Install":{"version":"2.220"},"B::COW":{"version":"0.007"},"Log::Any":{"version":"1.717"},"Config::Perl::V":{"version":"0.380"},"Test::SubCalls":{"version":"1.100"},"HTTP::CookieJar":{"version":"0.014"},"Crypt::Rijndael":{"version":"1.160"},"Error":{"version":"0.170290"},"Test::SharedFork":{"version":"0.350"},"GraphViz2":{"version":"2.670"},"Test::Object":{"version":"0.080"},"Data::Section":{"version":"0.200008"},"Compress::Raw::Bzip2":{"version":"2.213"},"HTML::TokeParser::Simple":{"version":"3.160"},"Date::Range":{"version":"1.410"},"Test::More::UTF8":{"version":"0.050"},"String::RewritePrefix":{"version":"0.009"},"DateTime::Locale":{"version":"1.440"},"File::Remove":{"version":"1.610"},"Locale::Maketext":{"version":"1.330"},"Module::Pluggable":{"version":"6.300"},"Lingua::EN::Inflect":{"version":"1.905"},"Regexp::Trie":{"version":"0.020"},"Math::BigInt":{"version":"2.003003"},"experimental":{"version":"0.034"},"PerlIO::via::QuotedPrint":{"version":"0.100"},"Term::UI":{"version":"0.500"},"Spreadsheet::XLSX":{"version":"0.180"},"CHI::Driver::SharedMem":{"version":"0.190"},"List::Util":{"version":"1.680"},"Pod::Usage":{"version":"2.030"},"Log::Message::Simple":{"version":"0.100"},"Scope::Guard":{"version":"0.210"},"Net::Telnet":{"version":"3.050"},"Test::UseAllModules":{"version":"0.170"},"Pod":{"version":0},"Mail::GnuPG":{"version":"0.230"},"Pod::Spell":{"version":"1.270"},"IPC::Run":{"version":"20231003.000"},"IO::Zlib":{"version":"1.150"},"Archive::Extract":{"version":"0.880"},"Memory::Usage":{"version":"0.201"},"Moo":{"version":"2.005005"},"Test::Perl::Critic":{"version":"1.040"},"Finance::Quote":{"version":"1.640"},"Log::Message":{"version":"0.080"},"Safe::Isa":{"version":"1.000010"},"PPIx::Utils":{"version":"0.003"},"Data::UUID":{"version":"1.227"},"ExtUtils::Manifest":{"version":"1.750"},"Test::Toolbox":{"version":"0.400"},"CPAN::Meta::Check":{"version":"0.018"},"Perl::Critic":{"version":"1.156"},"HTML::TreeBuilder::XPath":{"version":"0.140"},"IO::Socket::Multicast":{"version":"1.120"},"autodie":{"version":"2.370"},"Test::Carp":{"version":"0.200"},"Sub::Override":{"version":"0.120"},"XML::SAX":{"version":"1.020"},"HTTP::MultiPartParser":{"version":"0.020"},"Test::CleanNamespaces":{"version":"0.240"},"Time::Duration::Parse":{"version":"0.160"},"Importer":{"version":"0.026"},"OLE::Storage_Lite":{"version":"0.220"},"Mozilla::CA":{"version":"20240924.000"},"Test::Deep::UnorderedPairs":{"version":"0.006"},"Alien::Build":{"version":"2.840"},"Module::CPANfile":{"version":"1.100400"},"Text::Wrap":{"version":"2024.001"},"Sub::Info":{"version":"0.002"},"IO::Compress":{"version":"2.213"},"URI::cpan":{"version":"1.009"},"ExtUtils::Helpers":{"version":"0.028"},"Plack":{"version":"1.005100"},"Class::Load":{"version":"0.250"},"Term::ReadLine":{"version":"1.170"},"Sub::Uplevel":{"version":"0.280000"},"Pod::Coverage":{"version":"0.230"},"GraphViz":{"version":"2.260"},"YAML::Tiny":{"version":"1.760"},"Test::Warn":{"version":"0.370"},"Module::CPANTS::Analyse":{"version":"1.020"},"HTML::Selector::XPath":{"version":"0.280"},"Email::Date::Format":{"version":"1.008"},"ExtUtils::MakeMaker":{"version":"7.700"},"FindBin":{"version":"1.540"},"Test::Pod":{"version":"1.520"},"CPAN::Meta::YAML":{"version":"0.020"},"Text::Template":{"version":"1.610"},"Capture::Tiny":{"version":"0.500"},"File::pushd":{"version":"1.016"},"Exporter":{"version":"5.780"},"Test::Needs":{"version":"0.002010"},"Test::Snapshot":{"version":"0.060"},"Test::Deep":{"version":"1.204"},"Web::Scraper":{"version":"0.380"},"CPAN::Meta::Requirements":{"version":"2.143"},"IO::Stringy":{"version":"2.113"},"ExtUtils::CChecker":{"version":"0.120"},"Digest::MD5":{"version":"2.590"},"Time::Local":{"version":"1.350"},"Digest::Perl::MD5":{"version":"1.900"},"Socket":{"version":"2.038"},"Devel::Gladiator":{"version":"0.080"},"JSON::Parse":{"version":"0.620"},"Dist::CheckConflicts":{"version":"0.110"},"Set::Object":{"version":"1.420"},"File::TreeCreate":{"version":"0.000001"},"Date::Manip":{"version":"6.960"},"Spreadsheet::ParseExcel":{"version":"0.660"},"cpan::outdated":{"version":0},"IO::Socket::INET6":{"version":"2.730"},"Cpanel::JSON::XS":{"version":"4.390"},"DateTime::Format::ISO8601":{"version":"0.160"},"Hook::LexWrap":{"version":"0.260"},"Test::Harness":{"version":"3.500"},"IPC::System::Simple":{"version":"1.300"},"DB_File":{"version":"1.859"},"Math::BigInt::FastCalc":{"version":"0.501800"},"DateTime::Format::Strptime":{"version":"1.790"},"Carp::Assert":{"version":"0.220"},"Filter::Util::Call":{"version":"1.640"},"PPIx::QuoteLike":{"version":"0.023"},"File::Which":{"version":"1.270"},"Stream::Buffered":{"version":"0.030"},"XML::Simple":{"version":"2.250"},"File::Copy::Recursive":{"version":"0.450"},"Test::File::ShareDir":{"version":"1.001002"},"Data::Binary":{"version":"0.010"},"String::Util":{"version":"1.350"},"HTTP::Headers::Fast":{"version":"0.220"},"PPIx::Utilities":{"version":"1.001000"},"Time::Duration":{"version":"1.210"},"File::chdir":{"version":"0.101100"},"MooX::late":{"version":"0.100"},"Test::Memory::Usage":{"version":"0.000005"},"Test::LeakTrace":{"version":"0.170"},"Hash::MoreUtils":{"version":"0.060"},"Module::Build::Tiny":{"version":"0.051"},"LWP":{"version":"6.770"},"Test::LongString":{"version":"0.170"},"Devel::Symdump":{"version":"2.180"},"YAML":{"version":"1.310"},"Task::Weaken":{"version":"1.060"},"Devel::Size":{"version":"0.840"},"Cookie::Baker":{"version":"0.120"},"WWW::Form::UrlEncoded":{"version":"0.260"},"ExtUtils::MakeMaker::CPANfile":{"version":"0.090"},"Module::Install":{"version":"1.210"},"Sereal":{"version":"5.004"},"DateTime::Format::Builder":{"version":"0.830"},"FFI::CheckLib":{"version":"0.310"},"DateTime":{"version":"1.650"},"PerlIO::via::Timeout":{"version":"0.320"},"Array::Diff":{"version":"0.090"},"List::SomeUtils":{"version":"0.590"},"Time::Duration::Concise::Localize":{"version":"2.620"},"Archive::Any::Lite":{"version":"0.110"},"Test::YAML":{"version":"1.070"},"IO::Socket::IP":{"version":"0.430"},"XML::NamespaceSupport":{"version":"1.120"},"Software::License":{"version":"0.104006"},"Apache::LogFormat::Compiler":{"version":"0.360"},"App::cpanminus":{"version":"1.704800"},"Test::TCP":{"version":"2.220"},"IO::String":{"version":"1.080"},"MIME::Lite":{"version":"3.033"},"Devel::CheckLib":{"version":"1.160"},"Exporter::Lite":{"version":"0.090"},"CPAN":{"version":"2.380"},"Cache::Cache":{"version":"1.080"},"ExtUtils::ParseXS":{"version":"3.510"},"Filesys::Notify::Simple":{"version":"0.140"},"PkgConfig":{"version":"0.250260"},"HTML-TableExtract":{"version":0},"Sereal::Decoder":{"version":"5.004"},"Test::MockTime":{"version":"0.170"},"Date::Simple":{"version":"3.030"},"Devel::GlobalDestruction":{"version":"0.140"},"String::Format":{"version":"1.180"},"URI::redis":{"version":"0.020"},"Heap":{"version":"0.800"},"Test2::Suite":{"version":"1.302207"},"CHI::Driver::Redis":{"version":"0.100"},"Compress::Raw::Zlib":{"version":"2.213"},"Test::Requires":{"version":"0.110"},"Spiffy":{"version":"0.460"},"Test::Class":{"version":"0.520"},"Test::Mock::Redis":{"version":"0.220"},"YAML::PP":{"version":"0.038000"},"ExtUtils::PL2Bat":{"version":"0.005"},"CHI::Driver::Memcached":{"version":"0.160"},"Class::Tiny":{"version":"1.008"},"Graph":{"version":"0.973300"},"Module::Build":{"version":"0.423400"},"Devel::StackTrace::AsHTML":{"version":"0.150"},"Net::Ping":{"version":"2.750"},"Date::Utility":{"version":"1.120"},"Parse::Distname":{"version":"0.050"},"File::HomeDir":{"version":"1.006"},"Test::Inter":{"version":"1.120"},"Test::Base":{"version":"0.890"},"Test::NoWarnings":{"version":"1.060"},"Cache::Memcached":{"version":"1.300"},"Path::Tiny":{"version":"0.146"},"Module::Mask":{"version":"0.060"},"RedisDB::Parser":{"version":"2.230"},"Test::File":{"version":"1.994"},"Perl":{"version":"5.036000"},"Pod::Simple":{"version":"3.450"},"PAR::Dist":{"version":"0.530"},"CPAN::DistnameInfo":{"version":"0.120"},"Devel::Size::Report":{"version":"0.130"},"Alien::Build::Plugin::Download::GitLab":{"version":"0.010"},"Text::Balanced":{"version":"2.060"},"Syntax::Keyword::Try":{"version":"0.300"},"Module::Metadata":{"version":"1.000038"},"ExtUtils::Config":{"version":"0.010"},"Net":{"version":0},"Sort::Key":{"version":"1.330"},"Archive::Tar":{"version":"3.020"},"MooX::Types::MooseLike":{"version":"0.290"},"Memoize":{"version":"1.170"},"Devel::OverloadInfo":{"version":"0.007"},"Class::Accessor":{"version":"0.510"},"Data::Section::Simple":{"version":"0.070"},"bignum":{"version":"0.670"},"perlfaq":{"version":"5.202402180"},"ExtUtils::InstallPaths":{"version":"0.014"},"Digest::JHash":{"version":"0.100"},"CHI::Driver::Cache::RedisDB":{"version":"0.030"},"JSON::PP":{"version":"4.160"},"Digest::SHA":{"version":"6.040"},"Module::ScanDeps":{"version":"1.370"},"Package::Constants":{"version":"0.060"},"List::SomeUtils::XS":{"version":"0.580"},"Digest::SHA1":{"version":"2.130"},"Test::Fatal":{"version":"0.017"},"B::Keywords":{"version":"1.270"},"MooX::Types::MooseLike::Numeric":{"version":"1.030"},"Tie::File":{"version":"1.070"},"Archive::Zip":{"version":"1.680"}}}
2025.01.15 14:19:36.868 4: Installer (fhemInstaller) - Write Readings
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

tomcat.x

Hmm, aber
Zitat von: DS_Starter am 15 Januar 2025, 13:34:56"set ... installPerl Time::Piece"
muss doch nicht die Ausgabe von cpan-outdated auswerten (parsen), um zu wissen, was aktualisiert werden muss. Aus meiner Sicht passiert der Fehler an der Stelle.
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

DS_Starter

Keine Ahnung, habe das Modul nicht geschrieben und die Internas nicht so genau angeschaut was wann wie organisiert ist. Bin hier auch nur ein Nutzer.  ;) 

Wenn ich nur ein "set ... outdatedPerl" absetzen zeigt das Log:

echo n | sh -c "LC_ALL=C sudo -H -n  $(which cpanm) --version 2>&1" 2>&1 && L1=$( cpan-outdated --verbose 2>&1) && [ "$L1" != "" ] && [ "$L1" != "\n" ] && echo "@Outdated:\n$L1";
2025.01.15 16:29:55.536 4: Installer (fhemInstaller) - execute command asynchronously (PID= 215655)
2025.01.15 16:29:55.540 4: Installer (fhemInstaller) - control passed back to main loop.
cpanm (App::cpanminus) version 1.7048 (/usr/local/bin/cpanm)
perl version 5.036000 (/usr/bin/perl)

  %Config:
    archname=x86_64-linux-gnu-thread-multi
    installsitelib=/usr/local/share/perl/5.36.0
    installsitebin=/usr/local/bin
    installman1dir=/usr/share/man/man1
    installman3dir=/usr/share/man/man3
    sitearchexp=/usr/local/lib/x86_64-linux-gnu/perl/5.36.0
    sitelibexp=/usr/local/share/perl/5.36.0
    vendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.36
    vendorlibexp=/usr/share/perl5
    archlibexp=/usr/lib/x86_64-linux-gnu/perl/5.36
    privlibexp=/usr/share/perl/5.36
  %ENV:
  @INC:
    FatPacked::94507114738520=HASH(0x55f42700b358)
    /etc/perl
    /usr/local/lib/x86_64-linux-gnu/perl/5.36.0
    /usr/local/share/perl/5.36.0
    /usr/lib/x86_64-linux-gnu/perl5/5.36
    /usr/share/perl5
    /usr/lib/x86_64-linux-gnu/perl-base
    /usr/lib/x86_64-linux-gnu/perl/5.36
    /usr/share/perl/5.36
    /usr/local/lib/site_perl
@Outdated:
Time::Piece                    1.3401  1.35    P/PE/PEVANS/Time-Piece-1.35.tar.gz
2025.01.15 16:30:02.561 4: Installer (fhemInstaller) - got result from asynchronous parsing.
2025.01.15 16:30:02.564 4: Installer (fhemInstaller) - asynchronous finished.
2025.01.15 16:30:02.566 4: Installer (fhemInstaller) - clean Subprocess
2025.01.15 16:30:02.569 4: Installer (fhemInstaller) - JSON: {"outdatedPerl":{"Time::Piece":{"current":"1.3401","latest":"1.35"}},"versions":{"cpanminus":"1.7048","INC":["FatPacked::94507114738520=HASH(0x55f42700b358)","/etc/perl","/usr/local/lib/x86_64-linux-gnu/perl/5.36.0","/usr/local/share/perl/5.36.0","/usr/lib/x86_64-linux-gnu/perl5/5.36","/usr/share/perl5","/usr/lib/x86_64-linux-gnu/perl-base","/usr/lib/x86_64-linux-gnu/perl/5.36","/usr/share/perl/5.36","/usr/local/lib/site_perl"],"cpanoutdated":0,"Config":{"sitelibexp":"/usr/local/share/perl/5.36.0","vendorlibexp":"/usr/share/perl5","vendorarch":"/usr/lib/x86_64-linux-gnu/perl5/5.36","archname":"x86_64-linux-gnu-thread-multi","sitearchexp":"/usr/local/lib/x86_64-linux-gnu/perl/5.36.0","installman3dir":"/usr/share/man/man3","archlibexp":"/usr/lib/x86_64-linux-gnu/perl/5.36","installman1dir":"/usr/share/man/man1","installsitelib":"/usr/local/share/perl/5.36.0","installsitebin":"/usr/local/bin","privlibexp":"/usr/share/perl/5.36"},"perl":"5.036000"},"listedPerl":{"Parse::Distname":{"version":"0.050"},"Date::Utility":{"version":"1.120"},"Net::Ping":{"version":"2.750"},"Devel::StackTrace::AsHTML":{"version":"0.150"},"Graph":{"version":"0.973300"},"Module::Build":{"version":"0.423400"},"Class::Tiny":{"version":"1.008"},"CHI::Driver::Memcached":{"version":"0.160"},"ExtUtils::PL2Bat":{"version":"0.005"},"YAML::PP":{"version":"0.038000"},"Test::Mock::Redis":{"version":"0.220"},"Spiffy":{"version":"0.460"},"Test::Class":{"version":"0.520"},"Test::Requires":{"version":"0.110"},"Compress::Raw::Zlib":{"version":"2.213"},"CHI::Driver::Redis":{"version":"0.100"},"Test2::Suite":{"version":"1.302207"},"URI::redis":{"version":"0.020"},"Heap":{"version":"0.800"},"String::Format":{"version":"1.180"},"Devel::GlobalDestruction":{"version":"0.140"},"Date::Simple":{"version":"3.030"},"Test::MockTime":{"version":"0.170"},"Sereal::Decoder":{"version":"5.004"},"HTML-TableExtract":{"version":0},"PkgConfig":{"version":"0.250260"},"Filesys::Notify::Simple":{"version":"0.140"},"ExtUtils::ParseXS":{"version":"3.510"},"Cache::Cache":{"version":"1.080"},"CPAN":{"version":"2.380"},"Exporter::Lite":{"version":"0.090"},"Devel::CheckLib":{"version":"1.160"},"MIME::Lite":{"version":"3.033"},"IO::String":{"version":"1.080"},"Test::TCP":{"version":"2.220"},"Apache::LogFormat::Compiler":{"version":"0.360"},"App::cpanminus":{"version":"1.704800"},"Software::License":{"version":"0.104006"},"XML::NamespaceSupport":{"version":"1.120"},"IO::Socket::IP":{"version":"0.430"},"Archive::Zip":{"version":"1.680"},"Tie::File":{"version":"1.070"},"MooX::Types::MooseLike::Numeric":{"version":"1.030"},"B::Keywords":{"version":"1.270"},"Test::Fatal":{"version":"0.017"},"Digest::SHA1":{"version":"2.130"},"List::SomeUtils::XS":{"version":"0.580"},"Package::Constants":{"version":"0.060"},"Module::ScanDeps":{"version":"1.370"},"Digest::SHA":{"version":"6.040"},"JSON::PP":{"version":"4.160"},"CHI::Driver::Cache::RedisDB":{"version":"0.030"},"Digest::JHash":{"version":"0.100"},"ExtUtils::InstallPaths":{"version":"0.014"},"perlfaq":{"version":"5.202402180"},"bignum":{"version":"0.670"},"Data::Section::Simple":{"version":"0.070"},"Class::Accessor":{"version":"0.510"},"Devel::OverloadInfo":{"version":"0.007"},"Memoize":{"version":"1.170"},"MooX::Types::MooseLike":{"version":"0.290"},"Sort::Key":{"version":"1.330"},"Archive::Tar":{"version":"3.020"},"Net":{"version":0},"Syntax::Keyword::Try":{"version":"0.300"},"Module::Metadata":{"version":"1.000038"},"ExtUtils::Config":{"version":"0.010"},"Text::Balanced":{"version":"2.060"},"Alien::Build::Plugin::Download::GitLab":{"version":"0.010"},"Devel::Size::Report":{"version":"0.130"},"CPAN::DistnameInfo":{"version":"0.120"},"Perl":{"version":"5.036000"},"Pod::Simple":{"version":"3.450"},"PAR::Dist":{"version":"0.530"},"Test::File":{"version":"1.994"},"RedisDB::Parser":{"version":"2.230"},"Module::Mask":{"version":"0.060"},"Path::Tiny":{"version":"0.146"},"Cache::Memcached":{"version":"1.300"},"Test::NoWarnings":{"version":"1.060"},"Test::Base":{"version":"0.890"},"Test::Inter":{"version":"1.120"},"File::HomeDir":{"version":"1.006"},"File::Which":{"version":"1.270"},"PPIx::QuoteLike":{"version":"0.023"},"Filter::Util::Call":{"version":"1.640"},"Carp::Assert":{"version":"0.220"},"DateTime::Format::Strptime":{"version":"1.790"},"Math::BigInt::FastCalc":{"version":"0.501800"},"IPC::System::Simple":{"version":"1.300"},"DB_File":{"version":"1.859"},"Test::Harness":{"version":"3.500"},"Hook::LexWrap":{"version":"0.260"},"DateTime::Format::ISO8601":{"version":"0.160"},"Cpanel::JSON::XS":{"version":"4.390"},"IO::Socket::INET6":{"version":"2.730"},"cpan::outdated":{"version":0},"Spreadsheet::ParseExcel":{"version":"0.660"},"Date::Manip":{"version":"6.960"},"File::TreeCreate":{"version":"0.000001"},"Set::Object":{"version":"1.420"},"Dist::CheckConflicts":{"version":"0.110"},"JSON::Parse":{"version":"0.620"},"Devel::Gladiator":{"version":"0.080"},"Socket":{"version":"2.038"},"Digest::Perl::MD5":{"version":"1.900"},"Time::Local":{"version":"1.350"},"Digest::MD5":{"version":"2.590"},"ExtUtils::CChecker":{"version":"0.120"},"IO::Stringy":{"version":"2.113"},"Web::Scraper":{"version":"0.380"},"CPAN::Meta::Requirements":{"version":"2.143"},"Test::Deep":{"version":"1.204"},"Test::Snapshot":{"version":"0.060"},"Test::Needs":{"version":"0.002010"},"Exporter":{"version":"5.780"},"File::pushd":{"version":"1.016"},"Capture::Tiny":{"version":"0.500"},"Text::Template":{"version":"1.610"},"Test::YAML":{"version":"1.070"},"Archive::Any::Lite":{"version":"0.110"},"Time::Duration::Concise::Localize":{"version":"2.620"},"List::SomeUtils":{"version":"0.590"},"Array::Diff":{"version":"0.090"},"PerlIO::via::Timeout":{"version":"0.320"},"DateTime":{"version":"1.650"},"Sereal":{"version":"5.004"},"FFI::CheckLib":{"version":"0.310"},"DateTime::Format::Builder":{"version":"0.830"},"ExtUtils::MakeMaker::CPANfile":{"version":"0.090"},"Module::Install":{"version":"1.210"},"Cookie::Baker":{"version":"0.120"},"WWW::Form::UrlEncoded":{"version":"0.260"},"Devel::Size":{"version":"0.840"},"Task::Weaken":{"version":"1.060"},"YAML":{"version":"1.310"},"Test::LongString":{"version":"0.170"},"Devel::Symdump":{"version":"2.180"},"LWP":{"version":"6.770"},"Module::Build::Tiny":{"version":"0.051"},"Hash::MoreUtils":{"version":"0.060"},"Test::LeakTrace":{"version":"0.170"},"Test::Memory::Usage":{"version":"0.000005"},"MooX::late":{"version":"0.100"},"File::chdir":{"version":"0.101100"},"Time::Duration":{"version":"1.210"},"PPIx::Utilities":{"version":"1.001000"},"HTTP::Headers::Fast":{"version":"0.220"},"String::Util":{"version":"1.350"},"Data::Binary":{"version":"0.010"},"Test::File::ShareDir":{"version":"1.001002"},"File::Copy::Recursive":{"version":"0.450"},"XML::Simple":{"version":"2.250"},"Stream::Buffered":{"version":"0.030"},"HTML::TreeBuilder::XPath":{"version":"0.140"},"Test::Toolbox":{"version":"0.400"},"Perl::Critic":{"version":"1.156"},"CPAN::Meta::Check":{"version":"0.018"},"ExtUtils::Manifest":{"version":"1.750"},"Data::UUID":{"version":"1.227"},"PPIx::Utils":{"version":"0.003"},"Safe::Isa":{"version":"1.000010"},"Log::Message":{"version":"0.080"},"Test::Perl::Critic":{"version":"1.040"},"Finance::Quote":{"version":"1.640"},"Moo":{"version":"2.005005"},"Memory::Usage":{"version":"0.201"},"Archive::Extract":{"version":"0.880"},"IO::Zlib":{"version":"1.150"},"IPC::Run":{"version":"20231003.000"},"Pod::Spell":{"version":"1.270"},"Mail::GnuPG":{"version":"0.230"},"Pod":{"version":0},"Test::UseAllModules":{"version":"0.170"},"Net::Telnet":{"version":"3.050"},"Scope::Guard":{"version":"0.210"},"Log::Message::Simple":{"version":"0.100"},"Pod::Usage":{"version":"2.030"},"List::Util":{"version":"1.680"},"CHI::Driver::SharedMem":{"version":"0.190"},"Spreadsheet::XLSX":{"version":"0.180"},"Term::UI":{"version":"0.500"},"experimental":{"version":"0.034"},"PerlIO::via::QuotedPrint":{"version":"0.100"},"Math::BigInt":{"version":"2.003003"},"Lingua::EN::Inflect":{"version":"1.905"},"Regexp::Trie":{"version":"0.020"},"Module::Pluggable":{"version":"6.300"},"Locale::Maketext":{"version":"1.330"},"DateTime::Locale":{"version":"1.440"},"File::Remove":{"version":"1.610"},"String::RewritePrefix":{"version":"0.009"},"CPAN::Meta::YAML":{"version":"0.020"},"Test::Pod":{"version":"1.520"},"FindBin":{"version":"1.540"},"ExtUtils::MakeMaker":{"version":"7.700"},"Email::Date::Format":{"version":"1.008"},"HTML::Selector::XPath":{"version":"0.280"},"Module::CPANTS::Analyse":{"version":"1.020"},"Test::Warn":{"version":"0.370"},"YAML::Tiny":{"version":"1.760"},"GraphViz":{"version":"2.260"},"Pod::Coverage":{"version":"0.230"},"Sub::Uplevel":{"version":"0.280000"},"Term::ReadLine":{"version":"1.170"},"URI::cpan":{"version":"1.009"},"Plack":{"version":"1.005100"},"ExtUtils::Helpers":{"version":"0.028"},"Class::Load":{"version":"0.250"},"IO::Compress":{"version":"2.213"},"Sub::Info":{"version":"0.002"},"Module::CPANfile":{"version":"1.100400"},"Text::Wrap":{"version":"2024.001"},"Alien::Build":{"version":"2.840"},"Test::Deep::UnorderedPairs":{"version":"0.006"},"Mozilla::CA":{"version":"20240924.000"},"OLE::Storage_Lite":{"version":"0.220"},"Importer":{"version":"0.026"},"Time::Duration::Parse":{"version":"0.160"},"Test::CleanNamespaces":{"version":"0.240"},"HTTP::MultiPartParser":{"version":"0.020"},"XML::SAX":{"version":"1.020"},"Sub::Override":{"version":"0.120"},"IO::Socket::Multicast":{"version":"1.120"},"autodie":{"version":"2.370"},"Test::Carp":{"version":"0.200"},"Time::Piece":{"version":"1.340100"},"Class::Load::XS":{"version":"0.100"},"RedisDB":{"version":"2.570"},"IPC::Run3":{"version":"0.049"},"Object::Accessor":{"version":"0.480"},"MP3::Tag":{"version":"1.160"},"Net::SNMP":{"version":"6.000001"},"Test::Kwalitee":{"version":"1.280"},"PPIx::Regexp":{"version":"0.088"},"Data::Peek":{"version":"0.530"},"Encode":{"version":"3.210"},"Term::Table":{"version":"0.024"},"Test2::Plugin::NoWarnings":{"version":"0.100"},"Moose":{"version":"2.220700"},"XS::Parse::Keyword":{"version":"0.480"},"Mail::IMAPClient":{"version":"3.430"},"Params::Validate":{"version":"1.310"},"PPI":{"version":"1.281"},"ExtUtils::HasCompiler":{"version":"0.025"},"GnuPG::Interface":{"version":"1.040"},"HTTP::Tiny":{"version":"0.090"},"Module::Runtime::Conflicts":{"version":"0.003"},"MIME::Types":{"version":"2.260"},"CHI":{"version":"0.610"},"Perl::Tidy":{"version":"20250105.000"},"Crypt::RC4":{"version":"2.020"},"parent":{"version":"0.244"},"Test::Warnings":{"version":"0.037"},"Module::Util":{"version":"1.090"},"Hash::MultiValue":{"version":"0.160"},"Nmap::Parser":{"version":"1.370"},"MCE":{"version":"1.901"},"Test::Exception":{"version":"0.430"},"Redis":{"version":"2.000"},"File::Find::Object":{"version":"0.003009"},"local::lib":{"version":"2.000029"},"String::CRC32":{"version":"2.100"},"XML::SAX::Base":{"version":"1.090"},"IO":{"version":"1.550"},"HTTP::Entity::Parser":{"version":"0.250"},"Pod::Checker":{"version":"1.770"},"Sub::HandlesVia":{"version":"0.050000"},"Test::Most":{"version":"0.380"},"Test::Without::Module":{"version":"0.230"},"Module::Find":{"version":"0.160"},"File::ShareDir::Install":{"version":"0.140"},"Perl::PrereqScanner::NotQuiteLite":{"version":"0.991700"},"Getopt::Long":{"version":"2.580"},"Module::CoreList":{"version":"5.202412200"},"Test::More::UTF8":{"version":"0.050"},"Date::Range":{"version":"1.410"},"Test::Object":{"version":"0.080"},"HTML::TokeParser::Simple":{"version":"3.160"},"Compress::Raw::Bzip2":{"version":"2.213"},"Data::Section":{"version":"0.200008"},"GraphViz2":{"version":"2.670"},"Test::SharedFork":{"version":"0.350"},"Error":{"version":"0.170290"},"HTTP::CookieJar":{"version":"0.014"},"Crypt::Rijndael":{"version":"1.160"},"Test::SubCalls":{"version":"1.100"},"Config::Perl::V":{"version":"0.380"},"Log::Any":{"version":"1.717"},"B::COW":{"version":"0.007"},"CPAN::Requirements::Dynamic":{"version":"0.001"},"Tie::Hash::LRU":{"version":"0.050"},"Array::RefElem":{"version":"1.000"},"ExtUtils::Install":{"version":"2.220"},"Role::Hooks":{"version":"0.008"},"Sereal::Encoder":{"version":"5.004"},"Test::FailWarnings":{"version":"0.008"},"Package::DeprecationManager":{"version":"0.180"},"Test::CheckDeps":{"version":"0.010"},"Number::Misc":{"version":"1.200"},"Mock::Config":{"version":"0.030"},"Config::Tiny":{"version":"2.300"},"Test::Pod::Coverage":{"version":"1.100"},"JSON::MaybeXS":{"version":"1.004008"},"Cache::RedisDB":{"version":"0.130"},"Test::Differences":{"version":"0.710"},"Type::Tiny":{"version":"2.006000"},"Test::Time":{"version":"0.092"},"IO::Socket::Timeout":{"version":"0.320"},"Tie::RefHash":{"version":"1.410"},"version":{"version":"0.993300"},"UNIVERSAL::require":{"version":"0.190"},"Devel::Leak::Object":{"version":"1.020"},"Test::Simple":{"version":"1.302207"},"Alien::Libxml2":{"version":"0.190"},"Sys::Statistics::Linux":{"version":"0.660"},"IO::Interface":{"version":"1.090"},"Net::FTPSSL":{"version":"0.420"},"Test::RequiresInternet":{"version":"0.050"},"CPANPLUS":{"version":"0.991400"},"POSIX::strftime::Compiler":{"version":"0.460"}}}
2025.01.15 16:30:02.573 4: Installer (fhemInstaller) - Write Readings

Hier findet sich die Zeile:

@Outdated:
Time::Piece                    1.3401  1.35    P/PE/PEVANS/Time-Piece-1.35.tar.gz

D.h. das Modul erkennt ein mögliches Update und kann auch parsen (zumindest kein Fehler).
Allerdings zeit das Reading "updatesAvailablePerl" nach der Ausführung des Befehls "0". Müsste aber ein mögliches Update anzeigen m.M. nach.

Ich denke das Modul müsste jemand als Entwickler in Pflege nehmen und das weiterverfolgen. Es ist wohl schon einige Zeit herrenlos, finde es aber eigentlich seht hilfreich im FHEM Umfeld.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Ach Guck mal ...

ich habe jetzt das Attr updateListReading=1 gesetzt und "set ... outdatedPerl ausgeführt.
Dann wird das upzudatende Modul im Reading updateListAsJSON  gelistet. (updatesAvailablePerl ist allerdings immernoch 0 und state up to date -> Fehler m.M. nach)

define fhemInstaller Installer
attr fhemInstaller alias FHEM Installer Status
attr fhemInstaller comment Grundlage ist Meta.pm:\
======================\
https://forum.fhem.de/index.php/topic,97589.0.html\
\
Meta-Spezifikationen:\
=====================\
https://svn.fhem.de/trac/browser/trunk/fhem/contrib/META.json.full.txt\
(https://metacpan.org/pod/CPAN::Meta::Spec)
attr fhemInstaller devStateIcon updates.available:security@red:updatePerl%20all fhem.is.up.to.date:security@green:outdated .*fhem.outdated.*in.progress:system_fhem_reboot@orange .*in.progress:system_fhem_update@orange warning.*:message_attention@orange error.*:message_attention@red up.to.date:security@green:outdated
attr fhemInstaller icon system_fhem
attr fhemInstaller installPerlEnforced 1
attr fhemInstaller installerMode developer
attr fhemInstaller room SYSTEM
attr fhemInstaller updateListReading 1
attr fhemInstaller verbose 3
#   FUUID      5c86c819-f33f-b178-af88-4c88384f2d85c057
#   FVERSION   98_Installer.pm:v0.6.0-s28622/2024-03-09
#   NAME       fhemInstaller
#   NOTIFYDEV  global,fhemInstaller
#   NR         558
#   NTFY_ORDER 50-fhemInstaller
#   STATE      up to date
#   TYPE       Installer
#   eventCount 30
#   Helper:
#     DBLOG:
#       installedPerl:
#         LogDB:
#           TIME       1736955687.38785
#           VALUE      successful
#       outdatedPerl:
#         LogDB:
#           TIME       1736956114.10538
#           VALUE      check completed
#       state:
#         LogDB:
#           TIME       1736956114.10538
#           VALUE      up to date
#       updateListAsJSON:
#         LogDB:
#           TIME       1736956114.10538
#           VALUE      {"Time::Piece":{"current":"1.3401","latest":"1.35"}}
#   READINGS:
#     2025-01-14 22:07:19   cpanminusVersion 1.7048
#     2025-01-15 16:41:27   installedPerl   successful
#     2025-01-15 16:48:34   outdatedPerl    check completed
#     2024-06-24 22:30:44   perlVersion     5.036000
#     2025-01-15 16:48:34   state           up to date
#     2025-01-15 16:48:34   updateListAsJSON {"Time::Piece":{"current":"1.3401","latest":"1.35"}}
#     2025-01-11 19:36:44   updatesAvailablePerl 0
#   helper:
#     lastSync   2025-01-15
#
setstate fhemInstaller up to date
setstate fhemInstaller 2025-01-15 16:41:27 .installedListPerl {"success":1,"installed":{"Time::Piece":{"version":"1.35","result":"installed"}}}
setstate fhemInstaller 2025-01-15 16:48:34 .packageListPerl {"versions":{"perl":"5.036000","Config":{"archlibexp":"/usr/lib/x86_64-linux-gnu/perl/5.36","installsitelib":"/usr/local/share/perl/5.36.0","installman1dir":"/usr/share/man/man1","installsitebin":"/usr/local/bin","installman3dir":"/usr/share/man/man3","sitearchexp":"/usr/local/lib/x86_64-linux-gnu/perl/5.36.0","privlibexp":"/usr/share/perl/5.36","archname":"x86_64-linux-gnu-thread-multi","vendorarch":"/usr/lib/x86_64-linux-gnu/perl5/5.36","vendorlibexp":"/usr/share/perl5","sitelibexp":"/usr/local/share/perl/5.36.0"},"cpanoutdated":0,"INC":["FatPacked::94853081076296=HASH(0x5644b4341248)","/etc/perl","/usr/local/lib/x86_64-linux-gnu/perl/5.36.0","/usr/local/share/perl/5.36.0","/usr/lib/x86_64-linux-gnu/perl5/5.36","/usr/share/perl5","/usr/lib/x86_64-linux-gnu/perl-base","/usr/lib/x86_64-linux-gnu/perl/5.36","/usr/share/perl/5.36","/usr/local/lib/site_perl"],"cpanminus":"1.7048"},"listedPerl":{"Class::Load::XS":{"version":"0.100"},"RedisDB":{"version":"2.570"},"Time::Piece":{"version":"1.340100"},"Object::Accessor":{"version":"0.480"},"IPC::Run3":{"version":"0.049"},"MP3::Tag":{"version":"1.160"},"Net::SNMP":{"version":"6.000001"},"PPIx::Regexp":{"version":"0.088"},"Encode":{"version":"3.210"},"Data::Peek":{"version":"0.530"},"Term::Table":{"version":"0.024"},"Test::Kwalitee":{"version":"1.280"},"PPI":{"version":"1.281"},"Params::Validate":{"version":"1.310"},"ExtUtils::HasCompiler":{"version":"0.025"},"Test2::Plugin::NoWarnings":{"version":"0.100"},"Moose":{"version":"2.220700"},"Mail::IMAPClient":{"version":"3.430"},"XS::Parse::Keyword":{"version":"0.480"},"HTTP::Tiny":{"version":"0.090"},"GnuPG::Interface":{"version":"1.040"},"MIME::Types":{"version":"2.260"},"Module::Runtime::Conflicts":{"version":"0.003"},"CHI":{"version":"0.610"},"Perl::Tidy":{"version":"20250105.000"},"Module::Util":{"version":"1.090"},"Crypt::RC4":{"version":"2.020"},"parent":{"version":"0.244"},"Test::Warnings":{"version":"0.037"},"Hash::MultiValue":{"version":"0.160"},"Nmap::Parser":{"version":"1.370"},"Test::Exception":{"version":"0.430"},"Redis":{"version":"2.000"},"MCE":{"version":"1.901"},"String::CRC32":{"version":"2.100"},"File::Find::Object":{"version":"0.003009"},"local::lib":{"version":"2.000029"},"IO":{"version":"1.550"},"XML::SAX::Base":{"version":"1.090"},"Pod::Checker":{"version":"1.770"},"HTTP::Entity::Parser":{"version":"0.250"},"Test::Without::Module":{"version":"0.230"},"Module::Find":{"version":"0.160"},"Test::Most":{"version":"0.380"},"Getopt::Long":{"version":"2.580"},"Perl::PrereqScanner::NotQuiteLite":{"version":"0.991700"},"Module::CoreList":{"version":"5.202412200"},"File::ShareDir::Install":{"version":"0.140"},"Sub::HandlesVia":{"version":"0.050000"},"GraphViz2":{"version":"2.670"},"Date::Range":{"version":"1.410"},"Test::More::UTF8":{"version":"0.050"},"Data::Section":{"version":"0.200008"},"Test::Object":{"version":"0.080"},"Compress::Raw::Bzip2":{"version":"2.213"},"HTML::TokeParser::Simple":{"version":"3.160"},"Error":{"version":"0.170290"},"Test::SharedFork":{"version":"0.350"},"HTTP::CookieJar":{"version":"0.014"},"Crypt::Rijndael":{"version":"1.160"},"Log::Any":{"version":"1.717"},"B::COW":{"version":"0.007"},"Test::SubCalls":{"version":"1.100"},"Config::Perl::V":{"version":"0.380"},"Tie::Hash::LRU":{"version":"0.050"},"ExtUtils::Install":{"version":"2.220"},"Array::RefElem":{"version":"1.000"},"CPAN::Requirements::Dynamic":{"version":"0.001"},"Role::Hooks":{"version":"0.008"},"Sereal::Encoder":{"version":"5.004"},"Test::FailWarnings":{"version":"0.008"},"Package::DeprecationManager":{"version":"0.180"},"Test::CheckDeps":{"version":"0.010"},"Number::Misc":{"version":"1.200"},"Config::Tiny":{"version":"2.300"},"Mock::Config":{"version":"0.030"},"JSON::MaybeXS":{"version":"1.004008"},"Cache::RedisDB":{"version":"0.130"},"Test::Pod::Coverage":{"version":"1.100"},"IO::Socket::Timeout":{"version":"0.320"},"Tie::RefHash":{"version":"1.410"},"Type::Tiny":{"version":"2.006000"},"Test::Differences":{"version":"0.710"},"Test::Time":{"version":"0.092"},"UNIVERSAL::require":{"version":"0.190"},"Devel::Leak::Object":{"version":"1.020"},"version":{"version":"0.993300"},"Alien::Libxml2":{"version":"0.190"},"IO::Interface":{"version":"1.090"},"Sys::Statistics::Linux":{"version":"0.660"},"Net::FTPSSL":{"version":"0.420"},"Test::Simple":{"version":"1.302207"},"Test::RequiresInternet":{"version":"0.050"},"POSIX::strftime::Compiler":{"version":"0.460"},"CPANPLUS":{"version":"0.991400"},"Perl::Critic":{"version":"1.156"},"Test::Toolbox":{"version":"0.400"},"CPAN::Meta::Check":{"version":"0.018"},"HTML::TreeBuilder::XPath":{"version":"0.140"},"ExtUtils::Manifest":{"version":"1.750"},"Data::UUID":{"version":"1.227"},"PPIx::Utils":{"version":"0.003"},"Test::Perl::Critic":{"version":"1.040"},"Finance::Quote":{"version":"1.640"},"Moo":{"version":"2.005005"},"Safe::Isa":{"version":"1.000010"},"Log::Message":{"version":"0.080"},"Archive::Extract":{"version":"0.880"},"Memory::Usage":{"version":"0.201"},"IO::Zlib":{"version":"1.150"},"IPC::Run":{"version":"20231003.000"},"Pod::Spell":{"version":"1.270"},"Test::UseAllModules":{"version":"0.170"},"Pod":{"version":0},"Mail::GnuPG":{"version":"0.230"},"Scope::Guard":{"version":"0.210"},"Net::Telnet":{"version":"3.050"},"Log::Message::Simple":{"version":"0.100"},"Pod::Usage":{"version":"2.030"},"List::Util":{"version":"1.680"},"Spreadsheet::XLSX":{"version":"0.180"},"CHI::Driver::SharedMem":{"version":"0.190"},"PerlIO::via::QuotedPrint":{"version":"0.100"},"experimental":{"version":"0.034"},"Term::UI":{"version":"0.500"},"Math::BigInt":{"version":"2.003003"},"Module::Pluggable":{"version":"6.300"},"Lingua::EN::Inflect":{"version":"1.905"},"Regexp::Trie":{"version":"0.020"},"String::RewritePrefix":{"version":"0.009"},"Locale::Maketext":{"version":"1.330"},"DateTime::Locale":{"version":"1.440"},"File::Remove":{"version":"1.610"},"FindBin":{"version":"1.540"},"CPAN::Meta::YAML":{"version":"0.020"},"Test::Pod":{"version":"1.520"},"Email::Date::Format":{"version":"1.008"},"HTML::Selector::XPath":{"version":"0.280"},"ExtUtils::MakeMaker":{"version":"7.700"},"Module::CPANTS::Analyse":{"version":"1.020"},"Test::Warn":{"version":"0.370"},"YAML::Tiny":{"version":"1.760"},"Sub::Uplevel":{"version":"0.280000"},"GraphViz":{"version":"2.260"},"Pod::Coverage":{"version":"0.230"},"Term::ReadLine":{"version":"1.170"},"IO::Compress":{"version":"2.213"},"Sub::Info":{"version":"0.002"},"ExtUtils::Helpers":{"version":"0.028"},"URI::cpan":{"version":"1.009"},"Plack":{"version":"1.005100"},"Class::Load":{"version":"0.250"},"Alien::Build":{"version":"2.840"},"Test::Deep::UnorderedPairs":{"version":"0.006"},"Module::CPANfile":{"version":"1.100400"},"Text::Wrap":{"version":"2024.001"},"OLE::Storage_Lite":{"version":"0.220"},"Mozilla::CA":{"version":"20240924.000"},"Test::CleanNamespaces":{"version":"0.240"},"Time::Duration::Parse":{"version":"0.160"},"Importer":{"version":"0.026"},"XML::SAX":{"version":"1.020"},"HTTP::MultiPartParser":{"version":"0.020"},"Sub::Override":{"version":"0.120"},"autodie":{"version":"2.370"},"Test::Carp":{"version":"0.200"},"IO::Socket::Multicast":{"version":"1.120"},"File::Which":{"version":"1.270"},"PPIx::QuoteLike":{"version":"0.023"},"Carp::Assert":{"version":"0.220"},"DateTime::Format::Strptime":{"version":"1.790"},"Filter::Util::Call":{"version":"1.640"},"Math::BigInt::FastCalc":{"version":"0.501800"},"Test::Harness":{"version":"3.500"},"IPC::System::Simple":{"version":"1.300"},"DB_File":{"version":"1.859"},"Hook::LexWrap":{"version":"0.260"},"DateTime::Format::ISO8601":{"version":"0.160"},"Cpanel::JSON::XS":{"version":"4.390"},"IO::Socket::INET6":{"version":"2.730"},"Spreadsheet::ParseExcel":{"version":"0.660"},"cpan::outdated":{"version":0},"File::TreeCreate":{"version":"0.000001"},"Date::Manip":{"version":"6.960"},"JSON::Parse":{"version":"0.620"},"Set::Object":{"version":"1.420"},"Dist::CheckConflicts":{"version":"0.110"},"Devel::Gladiator":{"version":"0.080"},"Digest::Perl::MD5":{"version":"1.900"},"Socket":{"version":"2.038"},"Time::Local":{"version":"1.350"},"Digest::MD5":{"version":"2.590"},"Web::Scraper":{"version":"0.380"},"IO::Stringy":{"version":"2.113"},"CPAN::Meta::Requirements":{"version":"2.143"},"ExtUtils::CChecker":{"version":"0.120"},"Test::Deep":{"version":"1.204"},"Test::Snapshot":{"version":"0.060"},"Test::Needs":{"version":"0.002010"},"Exporter":{"version":"5.780"},"Text::Template":{"version":"1.610"},"Capture::Tiny":{"version":"0.500"},"File::pushd":{"version":"1.016"},"Test::YAML":{"version":"1.070"},"Archive::Any::Lite":{"version":"0.110"},"Array::Diff":{"version":"0.090"},"List::SomeUtils":{"version":"0.590"},"Time::Duration::Concise::Localize":{"version":"2.620"},"DateTime":{"version":"1.650"},"PerlIO::via::Timeout":{"version":"0.320"},"ExtUtils::MakeMaker::CPANfile":{"version":"0.090"},"Module::Install":{"version":"1.210"},"Sereal":{"version":"5.004"},"FFI::CheckLib":{"version":"0.310"},"DateTime::Format::Builder":{"version":"0.830"},"WWW::Form::UrlEncoded":{"version":"0.260"},"Cookie::Baker":{"version":"0.120"},"Devel::Size":{"version":"0.840"},"YAML":{"version":"1.310"},"Task::Weaken":{"version":"1.060"},"LWP":{"version":"6.770"},"Hash::MoreUtils":{"version":"0.060"},"Module::Build::Tiny":{"version":"0.051"},"Test::LongString":{"version":"0.170"},"Devel::Symdump":{"version":"2.180"},"Test::Memory::Usage":{"version":"0.000005"},"MooX::late":{"version":"0.100"},"Test::LeakTrace":{"version":"0.170"},"Time::Duration":{"version":"1.210"},"File::chdir":{"version":"0.101100"},"String::Util":{"version":"1.350"},"Data::Binary":{"version":"0.010"},"PPIx::Utilities":{"version":"1.001000"},"HTTP::Headers::Fast":{"version":"0.220"},"Test::File::ShareDir":{"version":"1.001002"},"XML::Simple":{"version":"2.250"},"File::Copy::Recursive":{"version":"0.450"},"Stream::Buffered":{"version":"0.030"},"Parse::Distname":{"version":"0.050"},"Net::Ping":{"version":"2.750"},"Date::Utility":{"version":"1.120"},"Class::Tiny":{"version":"1.008"},"Devel::StackTrace::AsHTML":{"version":"0.150"},"Module::Build":{"version":"0.423400"},"Graph":{"version":"0.973300"},"Test::Mock::Redis":{"version":"0.220"},"CHI::Driver::Memcached":{"version":"0.160"},"ExtUtils::PL2Bat":{"version":"0.005"},"YAML::PP":{"version":"0.038000"},"Test::Requires":{"version":"0.110"},"Spiffy":{"version":"0.460"},"Test::Class":{"version":"0.520"},"CHI::Driver::Redis":{"version":"0.100"},"Compress::Raw::Zlib":{"version":"2.213"},"Test2::Suite":{"version":"1.302207"},"Heap":{"version":"0.800"},"URI::redis":{"version":"0.020"},"Test::MockTime":{"version":"0.170"},"String::Format":{"version":"1.180"},"Date::Simple":{"version":"3.030"},"Devel::GlobalDestruction":{"version":"0.140"},"Sereal::Decoder":{"version":"5.004"},"Filesys::Notify::Simple":{"version":"0.140"},"HTML-TableExtract":{"version":0},"PkgConfig":{"version":"0.250260"},"Cache::Cache":{"version":"1.080"},"ExtUtils::ParseXS":{"version":"3.510"},"Devel::CheckLib":{"version":"1.160"},"CPAN":{"version":"2.380"},"Exporter::Lite":{"version":"0.090"},"IO::String":{"version":"1.080"},"MIME::Lite":{"version":"3.033"},"Test::TCP":{"version":"2.220"},"Apache::LogFormat::Compiler":{"version":"0.360"},"App::cpanminus":{"version":"1.704800"},"IO::Socket::IP":{"version":"0.430"},"Software::License":{"version":"0.104006"},"XML::NamespaceSupport":{"version":"1.120"},"Tie::File":{"version":"1.070"},"Archive::Zip":{"version":"1.680"},"MooX::Types::MooseLike::Numeric":{"version":"1.030"},"B::Keywords":{"version":"1.270"},"Test::Fatal":{"version":"0.017"},"List::SomeUtils::XS":{"version":"0.580"},"Digest::SHA1":{"version":"2.130"},"Package::Constants":{"version":"0.060"},"JSON::PP":{"version":"4.160"},"Module::ScanDeps":{"version":"1.370"},"Digest::SHA":{"version":"6.040"},"CHI::Driver::Cache::RedisDB":{"version":"0.030"},"Digest::JHash":{"version":"0.100"},"perlfaq":{"version":"5.202402180"},"ExtUtils::InstallPaths":{"version":"0.014"},"bignum":{"version":"0.670"},"Data::Section::Simple":{"version":"0.070"},"Class::Accessor":{"version":"0.510"},"Memoize":{"version":"1.170"},"MooX::Types::MooseLike":{"version":"0.290"},"Devel::OverloadInfo":{"version":"0.007"},"Archive::Tar":{"version":"3.020"},"Sort::Key":{"version":"1.330"},"Net":{"version":0},"Devel::Size::Report":{"version":"0.130"},"Syntax::Keyword::Try":{"version":"0.300"},"ExtUtils::Config":{"version":"0.010"},"Module::Metadata":{"version":"1.000038"},"Alien::Build::Plugin::Download::GitLab":{"version":"0.010"},"Text::Balanced":{"version":"2.060"},"PAR::Dist":{"version":"0.530"},"Pod::Simple":{"version":"3.450"},"Perl":{"version":"5.036000"},"Test::File":{"version":"1.994"},"CPAN::DistnameInfo":{"version":"0.120"},"Module::Mask":{"version":"0.060"},"RedisDB::Parser":{"version":"2.230"},"Test::NoWarnings":{"version":"1.060"},"Path::Tiny":{"version":"0.146"},"Cache::Memcached":{"version":"1.300"},"Test::Inter":{"version":"1.120"},"File::HomeDir":{"version":"1.006"},"Test::Base":{"version":"0.890"}},"outdatedPerl":{"Time::Piece":{"latest":"1.35","current":"1.3401"}}}
setstate fhemInstaller 2025-01-14 22:07:19 cpanminusVersion 1.7048
setstate fhemInstaller 2025-01-15 16:41:27 installedPerl successful
setstate fhemInstaller 2025-01-15 16:48:34 outdatedPerl check completed
setstate fhemInstaller 2024-06-24 22:30:44 perlVersion 5.036000
setstate fhemInstaller 2025-01-15 16:48:34 state up to date
setstate fhemInstaller 2025-01-15 16:48:34 updateListAsJSON {"Time::Piece":{"current":"1.3401","latest":"1.35"}}
setstate fhemInstaller 2025-01-11 19:36:44 updatesAvailablePerl 0

Die Attr sind in der Hilfe auch nicht erklärt, hier müßte tatsächlich mal "jemand" etwas tun.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

tomcat.x

Zitat von: DS_Starter am 15 Januar 2025, 16:36:30Allerdings zeit das Reading "updatesAvailablePerl" nach der Ausführung des Befehls "0". Müsste aber ein mögliches Update anzeigen m.M. nach.

Das hatte ich darauf geschoben, dass Time::Piece bei der Prüfung von Abhängigkeiten durch den Inszaller zwar als benötigt angezeigt wird, allerdings als "built-in".
FHEM: 6.3 auf Raspi 3B+, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.00), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

meier81

Hallo euch allen,

habe es jetzt mittlerweile mit euren Angaben auch aktuell und fehlerfrei bekommen. War aber eine komische Geburt.

Wie schon erwähnt führe ich regelmäßig folgenden Befehl aus um mein System soweit aktuell zu halten:

sudo apt update && sudo apt full-upgrade && sudo apt autoremove && sudo apt autoclean && sudo npm install -g npm@latest && sudo cpan-outdated -p | cpanm
Diese Befehlsfolge lieferte mir keinerlei Updates für cpan. Er zeigt mir an alle wären aktuell.

Daraufhin habe ich die Latte von Heiko eingegeben, aber alles als sudo apt ......, er hat daraufhin ein paar Module installiert die ich vorher nicht hatte, daraufhin wieder ein sudo cpan-outdated -p | cpanm. Ich bekomme angezeigt alle Module sind aktuell. Ein set ... outdatedPerl gibt weiterhin eine Fehlermeldung.

Nun probiert mit sudo -i, gefolgt von Heikos "Modul-installs", er zeigt mir an es sind alle diese Module installiert und aktuell. Nun aber ein cpan-outdated -p | cpanm (im sudo -i Mode) ergibt jetzt zig Module die geupdatet werden, danach ein set ... outdatedPerl und das Modul ist wieder grün und fehlerfrei.

Ich bin jetzt nicht der Super-Linuxer, ich dachte eigentlich ob ich die Befehle mit sudo ausführe oder vorher ein sudo -i mache kommt so ziemlich auf´s gleiche raus, nur dass ich mir das sudo jedes Mal sparen kann.

Aber trotzdem schonmal vielen Dank  ;)

LG Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices || mehrere Homematic-IP und Homematic-Devices

DS_Starter

#26
Hallo zusammen,

aktuell gibt es ein paar outdated Perl Module und mein Installer zeigt wieder den Parsing Error an.

Im Reading updateListAsJSON sieht man das JSON:

{"Math::BigFloat":{"latest":"2.003004","current":"2.003003"},"Mock::Config":{"current":"0.03","latest":"0.04"},"ok":{"latest":"1.302209","current":"1.302207"},"Module::CoreList":{"current":"5.20241220","latest":"5.20250120"}}

Ich habe mir die Ausgabe von "get ... showErrorList" in einem Editor aufbereitet:

@Outdated:
Math::BigFloat 2.003003 2.003004 P/PJ/PJACKLAM/Math-BigInt-2.003004.tar.gz
Mock::Config 0.03 0.04 R/RU/RURBAN/Mock-Config-0.04.tar.gz
Module::CoreList 5.20241220 5.20250120 B/BI/BINGOS/Module-CoreList-5.20250120.tar.gz
ok 1.302207 1.302209 E/EX/EXODIST/Test-Simple-1.302209.tar.gz
YAML::PP v0.38.0 v0.38.1 T/TI/TINITA/YAML-PP-v0.38.1.tar.gz

Auffällig ist dass "YAML::PP v0.38.0 v0.38.1 T/TI/TINITA/YAML-PP-v0.38.1.tar.gz" im Reading updateListAsJSON  fehlt, aber in showErrorList enthalten.
Möglicherweise kommt das Modul mit dem String "ok 1.302207 1.302209 E/EX/EXODIST/Test-Simple-1.302209.tar.gz" nicht zurecht der in showErrorList genau davor steht.

Dann habe ich YAML::PP mit dem Installer upgedated, was auch funktioniert hat.
Das Modul bringt wieder einen Parsing Error mit dem Hinweis auf eine erfolgreiche Installation:

Parsing error

Detail:
Successfully installed YAML-PP-v0.38.1 (upgraded from v0.38.0)

Als nächstes habe ich Module::CoreList mit dem Installer upgedated. Auch das war erfolgreich und es kommt kein Parsing Error mehr.
Das Reading updateListAsJSON zeigt nun die noch verbleibenden outdated Module:

{"Mock::Config":{"latest":"0.04","current":"0.03"},"Math::BigFloat":{"current":"2.003003","latest":"2.003004"},"ok":{"latest":"1.302209","current":"1.302207"}}

Das Modul zeigt allerdings "up to date" was allerdings nicht den Tatsachen entspricht. Es sind ja noch
Module zu aktualisieren.
Die verbleibenden Module habe ich mit dem Installer auch noch aktualisiert.
Nun ist wieder alles "grün".

Also m.M. nach liegt ein Fehler im Installer Modul vor. Zunächst im Parsen des cpanm Outputs und weiterhin in der Statusinterpretation. Die zu aktualisierenden Module sollten auch als Liste angeboten werden.
Eine Weiterentwicklung ist aus meiner Sicht wirklich wünschenswert.

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter