Universal Fernbedienung in FHEM

Begonnen von Predictor, 08 Juni 2013, 14:04:53

Vorheriges Thema - Nächstes Thema

betateilchen

Hallo Uli,

das mit dem Präfix ist kein Problem, den Rest werde ich erkunden :)

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Hallo Uli,

könntest Du in Deinem Coding diese kleine Änderung einbauen?


alter Code => Zeile 134:  @rows = &{$data{RC_layout}{$fn}}();
neuer Code => Zeile 134:  @rows = &{$data{RC_layout}{$fn}}($fn);


Mit dem $fn am Ende würdest Du direkt den zugeordneten Layout-Namen übergeben und ich müsste bei meinen Geräten kein neues Attribut einführen.
In der Layout-Routine meines Moduls kann ich dann diesen Namen, der ja das Modell schon eindeutig beschreibt, verwenden, um das richtige Array zurückzuliefern.

Viele Grüße
Udo

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

UliM

Hi,
verstehe die Notwendigkeit nicht.
Was spricht gegen
$data{RC_layout}{LL_Xoro_HMT350} = LL_HMT350_RClayout();
$data{RC_layout}{LL_Xoro_HMT370} = LL_HMT370_RClayout();
$data{RC_layout}{LL_Envivo}      = LL_Envivo_RCLayout();

Kein Model-Attribut erforderlich, jedes Layout kann eindeutig auf einen Routinen-Namen verweisen.
Ausserdem müsstest Du Tobias motivieren, diese Ändeerung in VIERA.pm nachzuziehen.
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

betateilchen

Hallo Uli,

Notwendigkeit? Es läßt sich einfach übersichtlicher damit arbeiten und man muss nicht unzählige Routinen in den Quelltext packen.


sub LL_xoro_RClayout($) {
my ($modelType) = @_;
my @row;
my $rownum = 0;

given($modelType){

when("LL_xoro_HMT350"){
$row[$rownum]="power:POWEROFF,:blank,:blank,:blank,MUTE"; $rownum++;
# ... hier würden weitere Zeilen definiert
break;
}

when("LL_xoro_HMT370"){
$row[$rownum]="home:HOMEsym,:blank,volplus:VOLUP,:blank,:TVout"; $rownum++;
# ... hier würden weitere Zeilen definiert
break;
}
}
$row[19]="attr rc_iconpath icons/remotecontrol";
$row[20]="attr rc_iconprefix black_btn_";
return @row;
}


Außerdem muss Tobias nichts nachziehen, denn diese Änderung hätte keinerlei Auswirkungen auf sein bestehendes Modul.

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

UliM

Hi,
in VIERA.pm ist definiert:
sub VIERA_RClayout_TV()

Gibt es nicht ein Problem, wenn dann
VIERA_RClayout_TV("irgendwas")
aufgerufen wird? Zumal das "irgendwas" in seinem Modul in der Registrierung in $data nbicht vorhanden ist.

Ich find die Auswirkung auf Dein Modul so marginal - ist das die Diskussion wert?

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

betateilchen

Zitat von: UliM schrieb am Do, 25 Juli 2013 14:21Gibt es nicht ein Problem, wenn dann VIERA_RClayout_TV("irgendwas") aufgerufen wird?

Nein, gibt es nicht. Ich habe das explizit getestet, BEVOR ich meine Bitte an Dich formuliert hatte.

Zitat von: UliM schrieb am Do, 25 Juli 2013 14:21Ich find die Auswirkung auf Dein Modul so marginal

Die vorgeschlagene Änderung in Deinem Coding wäre noch sehr viel marginaler => 3 Buchstaben. Sie würde helfen, ohne jemanden zu stören. Ich habe die von Dir gewünschten LL_ Präfixe schließlich auch bereits umgesetzt, das war für micht sehr viel mehr Aufwand.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

UliM

Hi,
dass Du's getestet hast wusste ich nicht.Hab's jetzt ausprobiert mit den Layouts, die in remotecontrol selbst hinterlegt sind, funzt.
Werd's also einchecken mit
@rows = &{$data{RC_layout}{$fn}}($fn);
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

betateilchen

Hallo Uli,

Zitat von: UliM schrieb am Do, 25 Juli 2013 16:57dass Du's getestet hast wusste ich nicht.

ok, war mein Fehler, das nicht gleich dazuzuschreiben. Grundsätzlich kannst Du davon ausgehen, dass ich nie eine systemweite Änderung an "fremder" Software vorschlagen würde, wenn ich nicht vorher - soweit es mir möglich ist - getestet habe, ob sich das an anderer (bestehender) Stelle negativ auswirkt. Berufsehre :)

Falls ich etwas nicht getestet habe, schreibe ich es immer dazu.

Zitat von: UliM schrieb am Do, 25 Juli 2013 16:57Hab's jetzt ausprobiert mit den Layouts, die in remotecontrol selbst hinterlegt sind, funzt.
Werd's also einchecken

Danke & viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Loredo

Hi,

nachdem ich jetzt mein ENIGMA2 Modul kurz vor der Fertigstellung habe (Link), wollte ich mal probieren, wie es mit anderen Modulen zusammenarbeitet.
Für ENIGMA2 habt ihr wohl noch kein Layout eingebaut wie es scheint. Vielleicht möchtet ihr an dieser Stelle weiter arbeiten, jetzt wo ihr eine definierte Schnittstelle durch das ENIGMA2 Modul habt?
Ich habe die Development Guidelines für AV Geräte vollständig beachtet, so dass ihr hier vermutlich keine großen Schwierigkeiten haben solltet.


Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

UliM

Hallo Julian,
ich weiß nicht, wen Du mit "ihr" meinst.
Wenn ein user Deines Moduls eine remotecontrol einrichtet und seine config postet, kannst Du das recht einfach in Dein Modul mit aufnehmen. Das Modul remotecontrol ist extra so gebaut, dass man neue Tastaturlayouts in einem beliebigen Modul einhängen kann.
Im Wiki-Artikle steht wie das geht, als Beispiele kannst Du Dir zB VIERA oder LISTENLIVE anschauen.
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Loredo

Hallo Uli,

mit "euch" waren alle Diskussionsteilnehmer hier gemeint in der Annahme, dass alle an der Entwicklung irgendwie beteiligt sind/waren :-)
Ich habe es zwischenzeitlich auch hinbekommen das in mein Modul zu integrieren. Es war für mich zunächst nicht auf den ersten Blick ersichtlich, wie das funktioniert.


Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Jetzt hab ich gleich noch eine Frage.

Gibt es die Möglichkeit die neuen SVN basierten Icons mit rc_* zu verwenden?
Sie werden aktuell nicht entsprechend skaliert und bevor ich selbst einen Patch fürs remotecontrol Modul hacke, wollte ich einfach mal nachfragen :-)


Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

UliM

Hi,
nö :)
Es gibt aber das css-tag class="rc_button", damit sollte sich die Skalierung über css hinbekommen lassen.
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Loredo

Das heißt aber man muss manuell ein CSS File anpassen, korrekt?
Ich kann dann also kein Template verwenden, weil ein einfaches "set rc1 layout ENIGMA2_xyz" nicht ausreichend ist.

Blöd :-(
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

UliM

Ein geändertes CSS lässt sich ja einchecken :)
Poste einfach die Änderung hier, dann geb ich Rudi bescheid.
Oder Du postest es gleich in devel.
Gruß Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.