Logitech Harmony Hub

Begonnen von der-Lolo, 07 August 2013, 14:17:16

Vorheriges Thema - Nächstes Thema

Talkabout

Ich habe noch einen Fehler gefunden: Bei mir haben 2 Aktionen auch Klammern (Blu.Ray.(TV), Blu.Ray.(Projector)). Bei beiden sagt mir Fhem, wenn ich versuche diese zu aktivieren "unknown activity". Alle anderen funktionieren.

Gruss

der-Lolo

Das problem kann auch mit dem DOIF zusammenhängen, versuch mal ob ein normales notify auch Zicken macht...

justme1968

du kannst für solche sonderzeichen immer den . anstelle des zeichens verwenden. oder du verwendest die activity id statt dem namen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Spezialtrick

Zitat von: MaJu am 29 November 2014, 00:22:32
Falls noch jemand danach sucht: Ich habe das Amazon FireTV als Gerät gewählt. Denn das hat von Haus aus keine An-/Aus-Funktion. Bei Harmony hat man die Möglichkeit, dafür eigene Sequenzen zu definieren. Fürs Einschalten habe ich eine Verzögerung von 5 Sekunden zwischen zwei sinnfreien Tasten-Befehlen eingefügt. Fürs Ausschalten wird nur ein Tastendruck erzeugt. Damit wird nicht beim Ausschalten auch eine Anfangs-Verzögerung eingefügt.

Wie hast du das bitte genau hinbekommen? ^^

Ich habe nun auch ein fiktives Amazon Fire TV eingerichtet und es als "Strom" bezeichnet. Darauf will ich in FHEM auch triggern. Aber leider kann ich die entsprechenden Punkte im Hub nicht so anpassen wie ich bräuchte. Ich würde gerne nach dem Gerät Strom (Amazon Fire TV) eine 5 Sekunden lange Verzögerung einrichten und dann mit dem Gerät Denon-AV-Receiver fortfahren. Leider lässt sich die Verzögerung nicht an diese Stelle verschieben. Wenn ich versuche es über die FHEM Verlinkung im Hub zu verschieben erhalte ich diese Fehlermeldung:

Einschalt- und Anpassungsbefehle können nur untereinander neu angeordnet werden.

Und über die Mac MyHarmony App diese:

Standardsequenzschritte (Bearbeiten und Neuanordnen nicht möglich)
FHEM - Debmatic - Zigbee2MQTT - Homekit

Talkabout

Zitat von: justme1968 am 30 November 2014, 14:43:15
du kannst für solche sonderzeichen immer den . anstelle des zeichens verwenden. oder du verwendest die activity id statt dem namen.

gruss
  andre

Wie genau würde das funktionieren? Ich verwende die Activities, die das Modul automatisch aus dem Hub liest. In der Detailseite des Devices wähle ich dann oben activity und wähle im DropDown dann das von mir gewünschte. Dann kommt bereits die Fehlermeldung. Wo muss ich ansetzen um das zu ändern?

Danke!

Gruss

justme1968

achso. an der stelle kannst du selber nichts machen ausser die activity umbenennen.

das mit dem . oder der id bezieht sich auf die set die du selber von hand per telnet oder commandbox oder notify & co. auslöst.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Talkabout

#411
Zitat von: justme1968 am 30 November 2014, 17:30:33
achso. an der stelle kannst du selber nichts machen ausser die activity umbenennen.

das mit dem . oder der id bezieht sich auf die set die du selber von hand per telnet oder commandbox oder notify & co. auslöst.

gruss
  andre

Wäre es nicht möglich, dass das Modul an der Stelle die IDs der Activitäten verwendet, anstatt der Namen? Führt man den Befehl "get activities", dann bekommt man das Mapping ja raus. Damit würde man jegliche Probleme mit den Namen umgehen.

Edit: ich habe es getestet, mit den IDs kann man ebenfalls arbeiten. Wäre vielleicht eine sinnvolle Änderung :)

justme1968

ich kann mit dir ids meiner 17 activities nicht merken und möchte im frontend klartext namen haben.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Talkabout

Zitat von: justme1968 am 30 November 2014, 17:56:40
ich kann mit dir ids meiner 17 activities nicht merken und möchte im frontend klartext namen haben.

gruß
  andre

Das ist logisch :) Aber ich meinte eher, dass man das in dem Select-Feld für "value" ändert, nicht das was sichtbar ist. Also praktisch anstatt:

<select...>
  <option value="Name.Der.Aktion">Name Der Aktion</option>
</select>

dieses hier:

<select...>
  <option value="12345678">Name Der Aktion</option>
</select>

Ich weiss nicht, ob das so möglich ist, aber von der Theorie her würde dies beide Probleme lösen, Klartext-Namen + keine Probleme mit Sonderzeichen beim Senden des Kommandos.

Gruss

justme1968

die idee ist gut. geht aber aus mehreren gründen zur zeit mit fhemweb leider nicht.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Talkabout

#415
Zitat von: justme1968 am 30 November 2014, 18:01:52
die idee ist gut. geht aber aus mehreren gründen zur zeit mit fhemweb leider nicht.

gruß
  andre

Vorschlag einer alternativen Lösung, die bei mir funktioniert, mit Bitte um etwas Nachsicht, ich bin komplett neu was PERL angeht...

sub
harmony_idOfActivity($$;$)
{
  my ($hash, $label, $default) = @_;
  my $quoted_label = "";

  foreach my $activity (@{$hash->{config}->{activity}}) {
    return $activity->{id} if( $activity->{label} =~ m/^$label$/ );
    $label =~ s/\./ /g;
    $quoted_label = quotemeta($label);
    return $activity->{id} if( $activity->{label} =~ m/^$quoted_label$/ );
  }

  return $default;
}


Edit: Bei der Funktion "idOfDevice" sollte man es auf ähnliche Weise lösen, da das Problem dort vermutlich auch auftreten kann.

Talkabout

Ich habe meine Lösung etwas optimiert und die Funktion "idOfDevice" ebenfalls angepasst. Es wäre klasse, wenn diese (oder eine ähnliche Lösung) den Weg in das Modul findet.


sub
harmony_idOfActivity($$;$)
{
  my ($hash, $label, $default) = @_;
  my $quoted_label = $label;

  $quoted_label =~ s/\./ /g;
  $quoted_label = quotemeta($quoted_label);

  foreach my $activity (@{$hash->{config}->{activity}}) {
    return $activity->{id} if( $activity->{label} =~ m/^$label$/ );
    return $activity->{id} if( $activity->{label} =~ m/^$quoted_label$/ );
  }

  return $default;
}

....

sub
harmony_idOfDevice($$;$)
{
  my ($hash, $label, $default) = @_;
  my $quoted_label = $label;

  $quoted_label =~ s/\./ /g;
  $quoted_label = quotemeta($quoted_label);

  foreach my $device (@{$hash->{config}->{device}}) {
    return $device->{id} if( $device->{label} =~ m/^$label$/ );
    return $device->{id} if( $device->{label} =~ m/^$quoted_label$/ );
  }

  return $default;
}

justme1968

ich schau es mi an sobald ich dazu kommen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

du musst die verzögerungen in den betriebseinseinstellungen des device anpassen.

nicht in der start reihenfolge der activity.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

du musst die verzögerungen in den betriebseinseinstellungen des device anpassen.

nicht in der start reihenfolge der activity.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968