Mittels "commands" auf der Web-Oberfläche den Raum wechseln

Begonnen von KiK, 11 August 2019, 21:06:33

Vorheriges Thema - Nächstes Thema

KiK

Hallo,
Ich lasse in einem Raum "ALL" mir über verschiedene readingsGroup die wichigsten Werte der anderen Räume darstellen.
Mein Ziel ist, dass wenn ich auf ein readingsGroup klicke, ich in die ensprechende Raum-Darstellung gelange (als hätte ich diesen Raum links im Menü ausgewählt).

Ich denke, hierzu wäre das Attribut "commands" das richtige, scheitere aber schon am Befehl damit das Web-Interface die entsprechende Raum-Seite öffnet. Habt ihr einen Tipp?

Otto123

So was geht als FHEM Befehl:
trigger WEB JS:location="/fhem?room=Tech"
Besser weiß ich es nicht.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

KiK

vielen Dank - ich hatte das heute probiert:

Den direkten Aufruf über das readingsGroup Attribut "commands" habe ich nicht hinbekommen. Das funktioniert alles nicht:
{"wtk.outside_temp" => "trigger WEB.* JS:location="/fhem?room=Rollo""}
{"wtk.outside_temp" => "trigger WEB.* JS:location=\"/fhem?room=Rollo\""}
{"wtk.outside_temp" => 'trigger WEB.* JS:location="/fhem?room=Rollo"'}
{"wtk.outside_temp" => 'trigger WEB JS:location="/fhem?room=Rollo"'}
{"wtk.outside_temp" => 'trigger WEB.* JS:location="/fhem?room=Rollo" '}


es scheint, mein Wissen über das Escapen ist hier mangelhaft. Also wenn ihr mir einen Anfänger Tipp hättet... wäre nett.

Ich habe es über eine separate Funktion in der "99_myUtils.pm" probiert, das funktioniert zum Teil:
sub change_room($)
{
  my $room_name = $_[0];
  fhem('trigger WEB.* JS:location="/fhem?room=Rollo"');
  #fhem("trigger WEB.* JS:location=\"/fhem?room=$room_name\"");
}


Über die Zuweisung des Attribut "commands" ging es dann:
{" {main::change_room(2)}"}

...das Leerzeichnen nach ' " ' ist allerdings zwingend notwendig (?). Die Übergabe eines anderen Raum-Namen über das "commands" Attribut habe ich dann wieder nicht hinbekommen (Escapen ?). Ich musste ein dummy-Argument übergeben, damit der Aufruf funktionierte. Also wenn ihr mir einen weiteren Anfänger Tipp hättet... Vielen Dank.

Das Ergebnis ist soweit ganz ok - bis auf dass jetzt natürlich alle Instanzen bzw. verbundene Geräte die Raum-Seite anwählen und nicht nur die, von der ich auf das Reading geklickt habe.