Zitat von: LaChris1980 am 01 März 2026, 21:07:55Hallo nochmal,comment out line ... my $cmd = $indice;
ich habe nun ein paar Kombinationen probiert, aber irgendwie ohne Erfolg.
Leider komme ich nicht weiter, die data.txt kommt sehr schnell, das kann ja nicht sein. Also als Beispiel für alle 0A Register auszulesen habe ich folgende Zeilen genutzt:
Danke euch vielmals !
sub THZ_debugread($){
my ($hash) = @_;
my ($err, $msg) =("", " ");
my @numbers=('01', '09', '16', 'D1', 'D2', 'E8', 'E9', 'F2', 'F3', 'F4', 'F5', 'F6', 'F8', 'FB', 'FC', 'FD', 'FE', 'FF');
my @numbers = (1..65535);
#my @numbers = (1..3179);
#my @numbers = ('01', '09');
my $indice= "FF";
unlink("data.txt"); #delete debuglog
#my $i=0;
foreach my $indice(@numbers) {
my $cmd = "0A" . sprintf("%04X", $indice);
#my $cmd = $indice;
my $cmdHex2 = THZ_encodecommand($cmd,"get");
......
set xxx x_raw_payload {
"command": "adv-command",
"input": {
"cmd": "RenderingControlService.GetVolume",
"val": {
"InstanceID": 0,
"Channel": "Master"
},
"reply": "GetVolumeResponse"
}
}danach wird das Reading CurrentVolume (nicht Volume
) gesetzt. Auf das kannst Du triggern. Dieses Reading wird sonst nicht verwendet bzw. gesetzt. D.h es wird wirklich mit Deiner Aktion gesetzt.
Zitat von: Elektron am 07 März 2026, 11:04:02So richtig kann ich es nicht verstehen, ich vermute aber noch immer eine Race-Condition im Modul selber (oder im Shelly, das der wirklich den falschen Status liefert).Also ich habe die Konstellation mit einem Shelly Plus Plug S nachgestellt und das Verhalten im Event Monitor (Readings: relay und voltage) beobachtet. Das regelmäßige Polling dabei ausgeschaltet (interval=0).