Hallo,
um den FC2-Thread bisschen frei zu halten, fange ich hier noch mal mit dem Fan-RPM-Renderer an. Hier geht es um das selber implementieren der Lüfterdrehzahl in die Info-Anzeige des Skins. Da nicht in alle Boxen ein Lüfter eingebaut ist, ist der Renderer zu speziell das die Skinner das für alle machen werden. Also selbst ist der Mann :D.
Wer für seinen Skin das realisiert hat, kann ein HowTo gerne für Jederman zur Verfügung stellen.
Da der Converter zur Verfügung steht, ist der Renderer eigentlich nicht mehr interessant. Der Converter ist sicher besser geeignet.
Je nachdem was man benutzen möchte (Renderer/Converter) wird nur die entsprechende py-Datei benötigt, es sind nicht beide notwendig.
Converter (Sensors.py)
Version 05r0 des Converters für FanRPM und Temperatur. (28.01.2011)
Kopiert die Sensors.py nach /usr/lib/enigma2/python/Components/Converter
Converter für Label (text)
FanRPM = Drehzahl
FanRPM:0:Text = Text + Drehzahl
FanRPMfull = Drehzahl + " rpm"
FanRPMfull:0:Text = Text + Drehzahl + " rpm"
TempMAX = MaxTemp
TempMAXfull = MaxTemp + "°C"
FanRPMTempMAX = Drehzahl und MaxTemp im Wechsel alle 2 Sekunden
FanRPMTempMAXfull = Wechsel alle 2 Sekunden mit Einheit
FanRPMTempMAXCfull = Wechsel alle 2 Sekunden nur mit °C (KEIN "rpm";)
FanRPMTempMAX:x ; FanRPMTempMAXfull:x ; FanRPMTempMAXCfull:x
x = Wechselzeit in Sekunden z.B. FanRPMTempMAXfull:5
in "Text" wird ersetzt:
; zu :
_ zu Leerzeichen
Converter für Progress (value)
FanRPM2000 = Prozentwert von 500 - 2000 rpm für Progress-Balken
FanRPM3000 = Prozentwert von 500 - 3000 rpm für Progress-Balken
FanRPM4000 = Prozentwert von 500 - 4000 rpm für Progress-Balken
FanRPM:x:y = Prozentwert von x - y , z.B. FanRPM:300:1500
TempMAX55 = Prozentwert von 30 - 55 °C für Progress-Balken
TempMAX:x:y = Prozentwert von x - y , z.B. TempMAX:35:50
Beachtet Groß-/Kleinschreibung!
Anpassungen in /usr/share/enigma2/..../skin.xml
Beispiele Drehzahl (identisch mit Renderer dTVFanRpm)
!! Renderer = Label
<widget render="Label" backgroundColor="background" font="Regular; 18" position="1075, 99" size="57, 18" source="global.CurrentTime" transparent="1" >
<convert type="Sensors">FanRPM</convert>
</widget>
<widget render="Label" backgroundColor="background" font="Regular; 18" position="1075, 99" size="57, 25" source="global.CurrentTime" transparent="1" >
<convert type="Sensors">FanRPMTempMAXfull:5</convert>
</widget>
folgendes ergibt: Fan: 1234 rpm
<widget render="Label" backgroundColor="background" font="Regular; 18" position="1005,98" size="125,18" source="global.CurrentTime" foregroundColor="#e5b243" transparent="1" >
<convert type="Sensors">FanRPMfull:0:Fan;_</convert>
</widget>
Beispiele Progress-Bar
!! Renderer = Progress ( ohne font=.... )
<widget render="Progress" backgroundColor="background" position="1075, 99" size="57, 6" source="global.CurrentTime" transparent="1" borderWidth="1">
<convert type="Sensors">FanRPM2000</convert>
</widget>
<widget render="Progress" backgroundColor="background" position="1075, 99" size="57, 6" source="global.CurrentTime" transparent="1" borderWidth="1">
<convert type="Sensors">FanRPM:300:1500</convert>
</widget>
Letze Änderungen:
28.01.2011 05r0
FanRPM:0:Text = Text + Drehzahl
FanRPMfull:0:Text = Text + Drehzahl + " rpm"
Renderer (dTVFanRpm.py)
Tip: Der Converter bietet bessere Möglichkeiten. Den Renderer werde ich nicht mehr verändern.
Hier nochmal ein Copy aus dem FC2-Thread für den dTV-HD_LE_CN_Transp-Skin als Start:
Die Drehzahl in die Infozeile zu bekommen ist ja nicht schwierig und hat nix mit FanControl zu tun. Einbauen müssten das dann die Skinner und die müssen wollen.
Habe das mal mit dTV-Skin probiert.
Die dTVFanRpm.py nach /usr/lib/enigma2/python/Components/Renderer kopieren. Dann noch in der skin.xml in /usr/share/enigma2/dTV-HD_LE_CN_Transp (oder wie euer Skin heißt) ändern. Ich habe den BER-Eintrag verändert, der ist eh immer 0.
Beispiel: man kann ja bei dTVMaxTemp abschauen, dTVFanRpm ist der Fan-Renderer:
Original
<eLabel backgroundColor="background" font="Regular; 18" foregroundColor="#e5b243" position="1015, 99" size="50, 18" text="BER:" transparent="1" />
<widget backgroundColor="background" font="Regular; 18" position="1075, 99" render="Label" size="57, 18" source="session.FrontendStatus" transparent="1">
<convert type="FrontendInfo">BER</convert>
</widget>
<eLabel backgroundColor="background" font="Regular; 18" foregroundColor="#e5b243" position="1015, 119" size="59, 18" text="Temp:" transparent="1" zPosition="9" />
<widget render="dTVMaxTemp" backgroundColor="background" font="Regular;18" source="global.CurrentTime" position="1075, 119" size="50, 18" transparent="1" />
geändert in
<eLabel backgroundColor="background" font="Regular; 18" foregroundColor="#e5b243" position="1015, 99" size="50, 18" text="Fan:" transparent="1" />
<widget render="dTVFanRpm" backgroundColor="background" font="Regular; 18" position="1075, 99" size="57, 18" source="global.CurrentTime" transparent="1" />
<eLabel backgroundColor="background" font="Regular; 18" foregroundColor="#e5b243" position="1015, 119" size="59, 18" text="Temp:" transparent="1" zPosition="9" />
<widget render="dTVMaxTemp" backgroundColor="background" font="Regular;18" source="global.CurrentTime" position="1075, 119" size="50, 18" transparent="1" />
Aber ihr müsst wissen was ihr macht, wenn ihr das probieren wollt. Stimmen die Namen nicht, gibt es einen schönen grünen "Rasen" auf dem TV .
Beispiel für OLED-Skinning mit Wert und Balken
Fan-RPM-Renderer und RPM/Temp-Converter zum Basteln [06.09.2010]
Gruß Jörg