Neues Modul 70_SamsungAV

Begonnen von KölnSolar, 06 Februar 2019, 13:45:13

Vorheriges Thema - Nächstes Thema

R1k4rd

Hey zusammen, sorry für die späte Rückmeldung.

wie gesagt, an sich hätte ich die WOL-Funktion auch gerne mit drin aber es wurde halt damals aus den oben genannten verworfen und es war auch nicht böse gemeint, dir oder deinen Bemühungen gegenüber, ich wollte dir halt nur die Gründe dazu aufzählen ;) Für mich machen deine Bedingungen die du jetzt geschrieben hast schon auch Sinn aber es liegt an der Einschätzung von KölnSolar ob er dies übernehmen möchte oder nicht. Ich würde deine Version auch gerne testen, leider habe ich allerdings bis jetzt noch keinen DLNARenderer definiert :-[

LG Richard

KölnSolar

Wenn ich dann alles richtig gemacht habe, gibt es das Modul ab morgen früh offiziell. Änderungen kommen dann automatisch per update.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Det20

Blöde Frage, aber ich finde das "featureWOL" nicht als ATTR ... Woher kommt das?

krikan

Zitat von: KölnSolar am 06 Februar 2019, 13:45:13
Auf dem Wege die Modifikationen des 70_STV offiziell per update zu verteilen, gibt es nun das 70_SamsungAV. Es "ersetzt" das 70_STV und sollte alle AV-Geräte von Samsung seit A-Serie unterstützen.

Edit: seit 5.4. werden Änderungen per update verteilt  ;)

Hallo Markus!
Wenn 70_SamsungAV Ersatz für 70_STV ist, kann dann 70_STV nicht nach contrib verschoben werden. Hier gibt es aktuell auch eine Warnung für das alte Modul 70_STV. Bei Problem/Zweifel sprich bitte ggfs. Rudi an.

Gruß Christian

KölnSolar

Hallo Christian,
ZitatWenn 70_SamsungAV Ersatz für 70_STV ist, kann dann 70_STV nicht nach contrib verschoben werden.
Ich bin ja nicht der maintainer des 70_STV. Zwar sind die alten Funktionalitäten des STV für alte Fernseher größtenteils im SamsungAV enthalten, aber Rückmeldungen über erfolgreiche Tests habe ich leider nie bekommen.
ZitatHier gibt es aktuell auch eine Warnung für das alte Modul 70_STV
Das ist meines Erachtens ein typischer pah. Ich spekuliere, dass er eine meiner Zwischenversionen installiert hat und nicht das offizielle 70_STV.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

KölnSolar

ZitatfeatureWOL
Was soll das sein ? Gab es noch nie.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

krikan

Zitat von: KölnSolar am 04 April 2019, 13:54:20
Ich bin ja nicht der maintainer des 70_STV. Zwar sind die alten Funktionalitäten des STV für alte Fernseher größtenteils im SamsungAV enthalten, aber Rückmeldungen über erfolgreiche Tests habe ich leider nie bekommen.
Dann habe ich das mißverstanden. Dachte Du hättest komplett übernommen. Dann muss es wohl so bleiben wie es ist.
Gruß, Christian

Det20

Zitat von: TM4889 am 14 März 2019, 19:52:26


sub SamsungAV_Set($@)
...
if (defined $hash->{helper}{[b]featureWOL[/b]} && defined $hash->{Mode}) {
if ($hash->{helper}{featureWOL} eq "1") {
if ( ReadingsVal($name,"state","not found") ne "disabled" && ReadingsVal($name,"presence","not found") eq "absent" && ($cmd eq "power" || $cmd eq "poweron" ) ){
return if ( WakeOnLAN($hash,$cmd) );
}
}
}


Vorraussetzung für aktivierung der WOL-Funktion:

  • Attribut "featureWOL" muss auf 1 gesetzt sein
  • das Modul muss mit einem DLNARenderer definiert sein um das Reading "presence" zur verfügung zu haben
  • die WOL-Funktion selbst prüft vor Ausführung erst ob die angegebene IP erreichbar ist

KölnSolar

ZitatZitat von: TM4889 am 14 März 2019, 19:52:26
:o
Zitat von: KölnSolar am 14 März 2019, 10:24:05
Und WOL als power/poweron wird natürlich aus den bekannten Gründen nicht ins Modul implementiert....
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Det20


TM4889

Das Attribut "featureWOL" ist derzeit nicht im aktuell öffentlichen Modul, das ist nur eine eigene Anpassung von mir und nur in dem letzten Anhang meiner Beiträge auf der ersten Seite enthalten.

bennebartsch

Habe jetzt auf SamsungAV umgestellt. Leider findet er keine Apps mehr, auch nicht nach einem "set .. statusRequest".
Glaube ich hab den Fehler gefunden, in Zeile 832, anstatt:
my $json = eval {decode_json($buf)};
einfach folgendes:
my $json = eval {JSON::decode_json($buf)};

KölnSolar

kann ich mir kaum vorstellen. Wäre ja verwunderlich, wenn es bei mir und allen anderen funktioniert und es einen Bug gäbe.
In Deiner Änderung sehe ich auch keinen großen Unterschied. Lediglich, wenn JSON nicht installiert wäre oder Du eine andere decode-json-Funktion hättest.

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

bennebartsch

Json ist installiert. Habe auch keine andere decode-json Funktion, für SamsungAV läuft eine extra FHEM Instanz und die ist clean. Alle anderen Aufrufe in der 70_SamsungAV.pm sind mit "JSON::". Habe es jetzt mehrmals getestet. Ohne "JSON::" gibt    ref($json->{data}{data}) eq "ARRAY" false und es wird ein Fehler geloggt:Log3 $name, 3, "[STV] $name timelag to reach all json data for app list might be too small";

KölnSolar

ZitatLog3 $name, 3, "[STV] $name timelag to reach all json data for app list might be too small";
Naja, die sagt ja nichts anderes, als dass die Zeit zu kurz war.

Dazu müsstest Du mal in Zeile 829 Time::HiRes::usleep(500000);                         # just to get all data, otherwise crashing FHEM
von 500000 auf z.B. 1000000 erhöhen.

Vielleicht ist es bei Dir grenzwertig und Dein voranstellen des Paketnamens JSON bringt ein paar µs. Würd mich mal interessieren.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt