Skip to content
Merged
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
39 changes: 39 additions & 0 deletions CHANGED
Original file line number Diff line number Diff line change
@@ -1,3 +1,42 @@
2026-07-04 - Release 4.0.1

Release 4.0.1 since version 3.5.6

00_SIGNALduino.pm
change: module version set to 4.0.1
change: SIGNALduino internals moved into separate Perl packages
change: dispatch, clients, matchlist, message handling, IO, logger, CC1101 and utility code refactored
feature: WMBus dispatch support extended
feature: STM32 Maple Mini rfmode WMBus enabled
bugfix: Clients attribute handling restored for configured non-default values
bugfix: SIGNALduino_FW_Detail handles missing or existing FileLog devices more robustly

14_SD_WS.pm
feature: protocol 136 for EMOS E06016 wind, temperature and humidity sensor with DCF77
feature: protocol 135 for TFA Dostmann 30.3255.02 temperature sensor
feature: protocol 131 for BRESSER lightning detector
feature: protocol 117 for BRESSER PM2.5/10 air quality meter
feature: SD_WS_48 TFA JOKER temperature transmitter 30.3212
feature: DCF decoding for WH31E/DNT000005
bugfix: Bresser 7-in-1 batteryState
bugfix: Bresser lightning counter overflow
bugfix: SD_WS sanity checks
bugfix: WH2/WH2A protocol 64 checksum, statistics model and reconstructBit handling
bugfix: Digest::CRC checks and META data corrected

14_SD_UT.pm
feature: new remote controls RCnoName20_15, Lumention_RFSETCCT, RCnoName130, SEAV BeEasy TX, CREATE 6601L, RCnoName20_09, HA-HX2 and CREATE 6601TL
feature: HAMULiGHT LED transformer support via protocol 22
bugfix: CREATE 6601L identity handling

10_FS10.pm
bugfix: SetExtensions handling corrected

Tests and build
change: tests adapted to the package restructure
feature: added and extended tests for dispatch, define handling, logger, matchlist, keepalive, SimpleWrite, SD_WS and SD_UT behavior
change: GitHub Actions and release automation updated

2026-03-29 - little fix meta in 00_SIGNALduino.pm (#1365)

* little fix in META (SD_UTILS -> SD_Utils)
Expand Down
6 changes: 3 additions & 3 deletions FHEM/00_SIGNALduino.pm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# $Id: 00_SIGNALduino.pm 0 2026-03-06 20:36:18Z sidey79 $
# $Id: 00_SIGNALduino.pm 0 2026-07-04 21:57:54Z sidey79 $
# https://github.com/RFD-FHEM/RFFHEM/tree/master
# The module is inspired by the FHEMduino project and modified in serval ways for processing the incoming messages
# see http://www.fhemwiki.de/wiki/SIGNALDuino
Expand All @@ -15,7 +15,7 @@
use warnings;
use Storable qw(dclone);
use FHEM::Core::Utils::Math;
#use version 0.77; our $VERSION = version->declare('v4.0.0');
#use version 0.77; our $VERSION = version->declare('v4.0.1');

my $missingModulSIGNALduino = ' ';

Expand All @@ -27,7 +27,7 @@
eval {use Data::Dumper qw(Dumper);1};

use constant {
SDUINO_VERSION => '4.0.1+20260306', # Datum wird automatisch bei jedem pull request aktualisiert
SDUINO_VERSION => '4.0.1+20260704', # Datum wird automatisch bei jedem pull request aktualisiert
SDUINO_INIT_WAIT_XQ => 1.5, # wait disable device
SDUINO_INIT_WAIT => 2,
SDUINO_INIT_MAXRETRY => 3,
Expand Down Expand Up @@ -117,7 +117,7 @@
my $Protocols = new FHEM::Devices::SIGNALduino::SD_Protocols();

############################# package main
sub SIGNALduino_Initialize {

Check failure on line 120 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_Initialize redefined

Check failure on line 120 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_Initialize redefined

Check failure on line 120 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_Initialize redefined
my ($hash) = @_;

my $dev = '';
Expand Down Expand Up @@ -200,7 +200,7 @@


############################# package main, test exists
sub SIGNALduino_FingerprintFn {

Check failure on line 203 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_FingerprintFn redefined

Check failure on line 203 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_FingerprintFn redefined

Check failure on line 203 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_FingerprintFn redefined
my ($name, $msg) = @_;

# Das FingerprintFn() darf nur im physikalischen oder logischem Modul aktiv sein.
Expand All @@ -215,7 +215,7 @@


############################# package main
sub SIGNALduino_Define {

Check failure on line 218 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_Define redefined

Check failure on line 218 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_Define redefined

Check failure on line 218 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_Define redefined
my ($hash, $def) = @_;
my @a =split m{\s+}xms, $def;

Expand Down Expand Up @@ -283,7 +283,7 @@
}

############################# package main
sub SIGNALduino_Undef {

Check failure on line 286 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_Undef redefined

Check failure on line 286 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_Undef redefined

Check failure on line 286 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_Undef redefined
my ($hash, $arg) = @_;
my $name = $hash->{NAME};

Expand All @@ -306,7 +306,7 @@
}

############################# package main
sub SIGNALduino_avrdude {

Check failure on line 309 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_avrdude redefined

Check failure on line 309 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_avrdude redefined

Check failure on line 309 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_avrdude redefined
my $name = shift;
my $hash = $defs{$name};

Expand Down Expand Up @@ -346,7 +346,7 @@

local $/=undef;
if (-e $logFile) {
open FILE, $logFile;

Check warning on line 349 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / perlcritic

[perlcritic] FHEM/00_SIGNALduino.pm#L349

Bareword file handle opened (See pages 202,204 of PBP)
Raw output
FHEM/00_SIGNALduino.pm:349:5:Bareword file handle opened (See pages 202,204 of PBP)

Check warning on line 349 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / perlcritic

[perlcritic] FHEM/00_SIGNALduino.pm#L349

Two-argument "open" used (See page 207 of PBP)
Raw output
FHEM/00_SIGNALduino.pm:349:5:Two-argument "open" used (See page 207 of PBP)
$hash->{helper}{avrdudelogs} .= "--- AVRDUDE ---------------------------------------------------------------------------------\n";
$hash->{helper}{avrdudelogs} .= <FILE>;
$hash->{helper}{avrdudelogs} .= "--- AVRDUDE ---------------------------------------------------------------------------------\n\n";
Expand All @@ -363,7 +363,7 @@
}

############################# package main
sub SIGNALduino_PrepareFlash {

Check failure on line 366 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_PrepareFlash redefined

Check failure on line 366 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_PrepareFlash redefined

Check failure on line 366 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_PrepareFlash redefined
my ($hash,$hexFile) = @_;

my $name=$hash->{NAME};
Expand Down Expand Up @@ -448,14 +448,14 @@

#$hash,$name,'sendmsg','P17;R6#'.substr($arg,2)
############################# package main, test exists
sub SIGNALduino_RemoveLaCrossePair {

Check failure on line 451 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_RemoveLaCrossePair redefined

Check failure on line 451 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_RemoveLaCrossePair redefined

Check failure on line 451 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_RemoveLaCrossePair redefined
my $hash = shift;
delete($hash->{LaCrossePair});
$hash->{logMethod}->($hash->{NAME}, 4, "$hash->{NAME}: Set_LaCrossePairForSec, time expired, LaCrosse autocreate deactivate");
}

############################# package main, test exists
sub SIGNALduino_Set {

Check failure on line 458 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_Set redefined

Check failure on line 458 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_Set redefined

Check failure on line 458 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_Set redefined
my ($hash,$name, @a) = @_;

return "\"set SIGNALduino\" needs at least one parameter" if(@a < 1);
Expand All @@ -477,7 +477,7 @@
}

############################# package main
sub SIGNALduino_Set_FhemWebList {

Check failure on line 480 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_Set_FhemWebList redefined

Check failure on line 480 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_Set_FhemWebList redefined

Check failure on line 480 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_Set_FhemWebList redefined
my ($hash, @a) = @_;
my @cList = sort map { "$_:@{$sets{$_}}[0]" } grep {
($_ ne '?' &&
Expand All @@ -498,7 +498,7 @@
}

############################# package main
sub SIGNALduino_Set_raw {

Check failure on line 501 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.32 / 00_SIGNALduino

2026.07.04 22:00:26 1: PERL WARNING: Subroutine SIGNALduino_Set_raw redefined

Check failure on line 501 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.24 / 00_SIGNALduino

2026.07.04 22:00:23 1: PERL WARNING: Subroutine SIGNALduino_Set_raw redefined

Check failure on line 501 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / FHEM 5.28 / 00_SIGNALduino

2026.07.04 22:00:29 1: PERL WARNING: Subroutine SIGNALduino_Set_raw redefined
my ($hash, @a) = @_;
$hash->{logMethod}->($hash->{NAME}, 4, "$hash->{NAME}: Set_raw, ".join(' ',@a));
SIGNALduino_AddSendQueue($hash,$a[1]);
Expand Down Expand Up @@ -2130,7 +2130,7 @@
} else {
$hash->{logMethod}->($name, 5, "$name: Parse_MU, for MU protocol id $id, applying filterfunc $method");

no strict "refs";

Check warning on line 2133 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / perlcritic

[perlcritic] FHEM/00_SIGNALduino.pm#L2133

Stricture disabled (See page 429 of PBP)
Raw output
FHEM/00_SIGNALduino.pm:2133:11:Stricture disabled (See page 429 of PBP)
(my $count_changes,$rawData,my %patternListRaw_tmp) = $method->($name,$id,$rawData,%patternListRaw);
use strict "refs";

Expand Down Expand Up @@ -2613,7 +2613,7 @@
elsif( $aName eq 'MatchList' ) {
my $match_list;
if( $cmd eq 'set' ) {
$match_list = eval $aVal; ## Allow evaluation of hash object from "attr" string f.e. { '34:MYMODULE' => '^u99#.{9}' }

Check warning on line 2616 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / perlcritic

[perlcritic] FHEM/00_SIGNALduino.pm#L2616

Expression form of "eval" (See page 161 of PBP)
Raw output
FHEM/00_SIGNALduino.pm:2616:21:Expression form of "eval" (See page 161 of PBP)
if( $@ ) {
$hash->{logMethod}->($name, 2, $name .": Attr, $aVal: ". $@);
}
Expand Down Expand Up @@ -3117,7 +3117,7 @@
{
#print"\t". $patternListRaw{$key}."($key) is intol of ".$buckets{$b_key}."($b_key) \n";
$cnt++;
eval "\$rawData =~ tr/$key/$b_key/";

Check warning on line 3120 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / perlcritic

[perlcritic] FHEM/00_SIGNALduino.pm#L3120

Expression form of "eval" (See page 161 of PBP)
Raw output
FHEM/00_SIGNALduino.pm:3120:9:Expression form of "eval" (See page 161 of PBP)

#if ($key == $msg_parts{clockidx})
#{
Expand Down Expand Up @@ -3186,7 +3186,7 @@
{
#print"\t". $patternListRaw{$key}."($key) is intol of ".$buckets{$b_key}."($b_key) \n";
$cnt++;
eval "\$rawData =~ tr/$key/$b_key/";

Check warning on line 3189 in FHEM/00_SIGNALduino.pm

View workflow job for this annotation

GitHub Actions / perlcritic

[perlcritic] FHEM/00_SIGNALduino.pm#L3189

Expression form of "eval" (See page 161 of PBP)
Raw output
FHEM/00_SIGNALduino.pm:3189:9:Expression form of "eval" (See page 161 of PBP)

#if ($key == $msg_parts{clockidx})
#{
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SIGNALduino - FHEM Modules Version 4.0.0
SIGNALduino - FHEM Modules Version 4.0.1

Base Branch:

Expand Down
16 changes: 8 additions & 8 deletions controls_signalduino.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
UPD 2026-03-29_12:32:27 212018 FHEM/00_SIGNALduino.pm
UPD 2026-07-04_23:57:35 212018 FHEM/00_SIGNALduino.pm
UPD 2026-02-13_17:40:49 20101 FHEM/10_FS10.pm
UPD 2024-01-03_23:05:39 27250 FHEM/10_SD_GT.pm
UPD 2023-01-01_18:10:40 25403 FHEM/10_SD_Rojaflex.pm
Expand All @@ -13,12 +13,12 @@ UPD 2023-01-23_21:06:26 38569 FHEM/14_SD_WS09.pm
UPD 2023-01-09_19:54:48 16458 FHEM/14_SD_WS_Maverick.pm
UPD 2023-01-28_20:08:00 40378 FHEM/41_OREGON.pm
UPD 2026-02-18_22:40:33 15626 FHEM/90_SIGNALduino_un.pm
UPD 2026-02-18_20:27:30 12000 lib/FHEM/Devices/SIGNALduino/SD_CC1101.pm
UPD 2026-01-16_10:54:58 1821 lib/FHEM/Devices/SIGNALduino/SD_Clients.pm
UPD 2026-03-06_17:44:50 12886 lib/FHEM/Devices/SIGNALduino/SD_IO.pm
UPD 2026-01-16_10:54:58 1364 lib/FHEM/Devices/SIGNALduino/SD_Logger.pm
UPD 2026-01-16_10:54:58 4868 lib/FHEM/Devices/SIGNALduino/SD_Matchlist.pm
UPD 2026-01-16_10:54:58 6330 lib/FHEM/Devices/SIGNALduino/SD_Message.pm
UPD 2026-07-04_19:42:43 12144 lib/FHEM/Devices/SIGNALduino/SD_CC1101.pm
UPD 2026-07-04_19:42:43 1824 lib/FHEM/Devices/SIGNALduino/SD_Clients.pm
UPD 2026-07-04_19:42:43 13026 lib/FHEM/Devices/SIGNALduino/SD_IO.pm
UPD 2026-07-04_19:42:43 1367 lib/FHEM/Devices/SIGNALduino/SD_Logger.pm
UPD 2026-07-04_23:46:37 4874 lib/FHEM/Devices/SIGNALduino/SD_Matchlist.pm
UPD 2026-07-04_19:42:43 6333 lib/FHEM/Devices/SIGNALduino/SD_Message.pm
UPD 2026-02-18_23:27:27 83387 lib/FHEM/Devices/SIGNALduino/SD_Protocols.pm
UPD 2026-02-18_20:27:30 3972 lib/FHEM/Devices/SIGNALduino/SD_Utils.pm
UPD 2026-07-04_19:42:43 4115 lib/FHEM/Devices/SIGNALduino/SD_Utils.pm
UPD 2026-02-24_10:54:17 259898 lib/FHEM/Devices/SIGNALduino/SD_Protocols/Data.pm
4 changes: 4 additions & 0 deletions lib/FHEM/Devices/SIGNALduino/SD_CC1101.pm
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# $Id: SD_CC1101.pm 0 2026-01-10 15:36:13Z sidey79 $
# The file is part of the SIGNALduino project.
# Client functions for SIGNALduino device.

package FHEM::Devices::SIGNALduino::SD_CC1101;

use strict;
Expand Down
2 changes: 1 addition & 1 deletion lib/FHEM/Devices/SIGNALduino/SD_Clients.pm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# $Id: Clients.pm 0 2026-01-10 15:36:13Z sidey79 $
# $Id: SD_Clients.pm 0 2026-01-10 15:36:13Z sidey79 $
# The file is part of the SIGNALduino project.
# Client functions for SIGNALduino device.

Expand Down
4 changes: 4 additions & 0 deletions lib/FHEM/Devices/SIGNALduino/SD_IO.pm
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# $Id: SD_IO.pm 0 2026-01-10 15:36:13Z sidey79 $
# The file is part of the SIGNALduino project.
# Client functions for SIGNALduino device.

package FHEM::Devices::SIGNALduino::SD_IO;

use strict;
Expand Down
2 changes: 1 addition & 1 deletion lib/FHEM/Devices/SIGNALduino/SD_Logger.pm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# $Id: Logger.pm 0 2026-01-10 15:36:13Z sidey79 $
# $Id: SD_Logger.pm 0 2026-01-10 15:36:13Z sidey79 $
# The file is part of the SIGNALduino project.
# Logging helper functions for Packages in FHEM::Devices::SD.

Expand Down
2 changes: 1 addition & 1 deletion lib/FHEM/Devices/SIGNALduino/SD_Matchlist.pm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# $Id: Logger.pm 0 2026-01-10 15:36:13Z sidey79 $
# $Id: SD_Matchlist.pm 0 2026-01-10 15:36:13Z sidey79 $
# The file is part of the SIGNALduino project.
# Matchlist functions for Signalduino device.

Expand Down
2 changes: 1 addition & 1 deletion lib/FHEM/Devices/SIGNALduino/SD_Message.pm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# $Id: Message.pm 0 2026-01-10 15:36:13Z sidey79 $
# $Id: SD_Message.pm 0 2026-01-10 15:36:13Z sidey79 $
# The file is part of the SIGNALduino project.
# Message functions for SIGNALduino device messages.

Expand Down
4 changes: 4 additions & 0 deletions lib/FHEM/Devices/SIGNALduino/SD_Utils.pm
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# $Id: SD_Utils.pm 0 2026-01-10 15:36:13Z sidey79 $
# The file is part of the SIGNALduino project.
# Client functions for SIGNALduino device.

package FHEM::Devices::SIGNALduino::SD_Utils;

use strict;
Expand Down
Loading