Hauptmenü

99_myUtils if-Problem

Begonnen von mele, 03 März 2015, 19:19:59

Vorheriges Thema - Nächstes Thema

mele

Hallo,

ich versuche gerade für meinen Floorplan eine ttsSay-Ansage der offenen Fenster (HM) zu realisieren.

Die Verkettung von Strings zur Ausgabe habe ich schon üner die 99_myUtils ausprobieren können. Folgendes Läuft also:

sub
test1() {
my $test = "Kueche";
my $test = $test."Büro";
fhem "set androidTablet ttsSay $test";
}


Was nicht funktioniert ist die Prüfung auf einen Zustand eines Fensters. Im Folgenden kommt also nur Küche als Ergebnis:

sub
test2() {
my $test = "Kueche";
if( $value{Buero_Fenster_rechts} eq "gekippt" ) { my $test = $test."Büro Fenster rechts"; }
fhem "set androidTablet ttsSay $test";
}


Hat jemand eine Idee?

VG
Manuel
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

Icinger

Du musst den Namen des Devices in Anführugszeichen setzen:

$value{"Buero_Fenster_rechts"}

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

mele

Das funktioniert leider weiterhin nicht:

sub
test2() {
my $test = "Kueche";
if( $value{"Buero_Fenster_rechts"} eq "gekippt" ){ my $test = $test."Büro Fenster rechts"; }
fhem "set androidTablet ttsSay $test";
}


"gekippt" kommt an, da folgende beide Befehle in der Befehlszeile das Ergebnis "gekippt" zeigen:

{$value{"Buero_Fenster_rechts"}}

{$value{Buero_Fenster_rechts}}

Leider waren es die Gänsefüßchen also nicht.

Hat noch jemand eine Idee?
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

krikan

commandref:
ZitatTo access the device states/attributes, use the following functions:

    Value(<devicename>)
    returns the state of the device (the string you see in paranthesis in the output of the list command).

also so etwas einbauen: Value("Buero_Fenster_rechts")

mele

Wie oben beschrieben, der Zustand wird korrekt ausgelesen, nur wird der "Then"-Teil nicht ausgeführt.
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

krikan

Zitat von: mele am 03 März 2015, 20:34:36
if( $value{"Buero_Fenster_rechts"} eq "gekippt" ){ my $test = $test."Büro Fenster rechts"; }
Dann lösche mal in obiger Zeile das "my"

mele

#6
Super, das my war zuviel.

Folgender Code läuft:
sub
test2() {
my $test = "Kueche";
if( $value{"Buero_Fenster_rechts"} eq "gekippt" ){ $test = $test."Büro Fenster rechts"; }
fhem "set androidTablet ttsSay $test";
}


Vielen Dank!!!
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid