readingsVal mit myUtils weiter bearbeiten

Begonnen von micomat, 20 September 2014, 09:05:40

Vorheriges Thema - Nächstes Thema

micomat

Hallo,

fuer eine Anzeige auf dem in "CodeSchnipsel" gezeigten KindleDisplay hole ich mir div. readingsVal.
Leider stehen die Readings nun auf englisch dort. Kann ich die Readings irgendwie per sprintf oder was auch immer weiter bearbeiten?

So siet die Abfrage derzeit aus:
ReadingsVal("Mythz","pOpMode","0")

Zurueckgegeben wird hier jetzt beispielsweise "automatic" oder "setback" was ich gerne in "Automatik" oder "Absenkbetrieb" aendern wuerde.

Bin dankbar fuer Tips :)

Gruß
Markus
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

betateilchen

schonmal mit eventMap probiert?

Ansonsten musst Du die Konvertierung in eine Funktion in deiner 99_myUtils packen und für die Anzeige die Rückgabewerte dieser Funktion verwenden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

micomat

okay, ich hab jetzt meine erste myutils mehr, oder eher weniger erfolgreich erstellt... zwei fragen habe ich:

zum einen kommt beim speichern immer folgende meldung:
Undefined subroutine &main::myUtils_valuechanger_Initialize called at fhem.pl line 1986.

zum anderen: wie komme ich an status1 wieder ran?
ich brauche das ganze in einem "attr", aber mit
attr infodisplay_sz Expr18 { valuechanger ($status1()) }
funktionierts nicht...

package main;
use strict;
use warnings;
use POSIX;

sub
valuechanger
{

  my $status1 = ReadingsVal("HomeStatusSwitch","state","0");
  my $status2 = ReadingsVal("Mythz","pOpMode","0");

  $status1 =~ s/on/Zuhause/;
  $status1 =~ s/off/Abwesend/;
  $status2 =~ s/automatic/Automatik/;
  $status2 =~ s/setback/Absenkung/;
}

1;



danke,
markus
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

Mario67

1. Nach dem Einfügen/Editieren der neuen Routine reload 99_myUtils.pm (http://fhem.de/commandref.html#reload) ausführen.

2. Die Werte mit return aus der Funktion zurückgeben (ggf. als Liste; siehe z.B. http://perldoc.perl.org/perlsub.html)

Gruß,
Mario
FHEM auf Raspberry Pi 4 mit CUL868, WMBUS,
FS20 ST, FS20 AS4-3, FS20 SU-2, FS20 DF, 1-Wire + RS-232: AB Electronics Com Pi RS232, Brandmelder + Fenster: AB Electronics IO Pi 32
BUDERUS GB142 über EMS/AVR-NET-IO, WESTAFLEX WAC250 über RS232, MySensors
mit fhem.cfg & includes glücklich