Hallo,
danke für das Modul! Top! Die Anfrage des eingesetzten Bootloaders beim Reboot-Kommando wird bei MYSBootloader aber so nicht auslösen, da der Hash (zumindest bei mir) leer ist. Bei Optiboot greift die zweite Kondition, weshalb das Konstrukt funktioniert.
Habe das Modul für meine Bedürfnisse folgendermaßen angepasst:
--- 10_MYSENSORS_DEVICE.orig 2020-11-28 11:54:56.261163746 +0100
+++ 10_MYSENSORS_DEVICE.pm 2020-11-28 11:58:06.755827232 +0100
@@ -282,14 +282,18 @@
if ($command eq "reboot") {
my $blVersion = ReadingsVal($name, "BL_VERSION", "");
- defined($hash->{OTA_BL_Type}) or $blVersion eq "3.0"
- ? return sendClientMessage($hash,
+ my $blType = AttrVal($name, "OTA_BL_Type", "");
+
+ return sendClientMessage($hash,
childId => 255,
cmd => C_INTERNAL,
ack => 0,
subType => I_REBOOT
- )
- : return;
+ )
+ if (($blType eq "MYSBootloader") ||
+ ($blType eq "Optiboot" and $blVersion eq "3.0"));
+
+ return;
}
if ($command eq "clear") {
Gruß,
demon