TV zweistelligen Kanal übermittlen

Begonnen von schupperman, 07 Februar 2017, 12:31:47

Vorheriges Thema - Nächstes Thema

schupperman

Hallo,
obwohl ich viel versucht habe, schaffe ich es nicht, zweistellige Kanäle meines Fernsehers an FHEM zu übergeben.

{{ basic.button('CH10', 'tv.SPORT1', ' ','pics/station/sport1_s.png', 'Number10', 'midi') }}

Im GAD Editor übergebe ich mit state und Direct state

Im FHEM Log steht dann:

set harmony_36164353  Number10 : Unknown argument Number10, choose one of command hidDevice:noArg text cursor:up,down,left,right,pageUp,pageDown,home,end special:previousTrack,nextTrack,stop,playPause,volumeUp,volumeDown,mute

Vielen Dank für eure Hilfe!

raman

Für das hidDevice direkt kenne ich auch keine Lösung.
Aber für die Activities gib es ja den Befehl

set <harmony> channel ##

um den Kanal wechseln zu können.


In SV sieht es dann so aus:

{{ basic.button('CH10', 'tv.SPORT1', ' ','pics/station/sport1_s.png', '10', 'midi') }}

GAD Editor:

device:        <harmony>
reading:         state           (ist wahrscheinlich nicht nötig!?)
converter:   NumDirect
cmd set:      channel

schupperman

Hallo,

danke für die Antwort, funktioniert aber leider nicht.
Im LOG steht dann:

set harmony channel 10 : no device with 'channel changing role' in current activity Fernsehen

Will damit sowohl einen Horizon (unitymedia) und einen Panasonic Viera ansteuern.

Vielen Dank

Thomas

raman

Ich glaub mich zu erinnern, dass man bei der Einrichtung der Aktionen mit der Harmony-Software das Gerät wählen kann, welches die Kanäle wechselt.
Bei mir ist es zum Beispiel beim Fernsehen die MCE-Remote.

Ich würde mal schauen, ob für die entsprechenden Aktionen alles richtig eingerichtet ist.

schupperman

Hallo,

habe extra eine neue Aktion Fernsehen angelegt, bei der nur der Fernseher drin ist. Auch in FHEM unter device harmony bekomme ich mit set channel 10 die gleiche Fehlermeldung:

no device with 'channel changing role' in current activity Fernsehen

Danke

Thomas

raman

Du hast recht, das funktioniert auch bei mir mit meinem Fernseher nicht.
Mit der MCE-Remote geht das, da diese sich wie eine Tastatur verhält und die Direkteingabe des Kanals möglich ist.

Ich geh mal davon aus, dass du mehrstellige Kanäle auswählst, indem du zwei Tasten kurz hintereinander drückst!?

Dann lässt sich der "doppelte" Tastendruck in fhem simulieren. Bei mir kann ich so zweistellige Kanäle anwählen.
Eine activity ist nicht nötig.

Dazu dummy anlegen:
define dummy_harmony_tv dummy

attr dummy_harmony_tv setList state


und ein DOIF
define di_harmony_tv DOIF ([dummy_harmony_tv:state] < 10) (set harmony_36164353 Number$EVENTS) DOELSE ({$EVENTS =~ /^(\d)(\d)/;;;; fhem("set harmony_36164353 Number$1")}) ({$EVENTS =~ /^(\d)(\d)/;;;; fhem("set harmony_36164353 Number$2")})

attr di_harmony_tv do always
attr di_harmony_tv wait 0:0,0.5


Im GAD-Editor den Dummy als device wählen, weitere Einstellungen wie in meinem ersten Post.
Eventuell musst du die Pause (0.5 sec) zwischen den Befehlen im DOIF anpassen (letzte Zahl für wait: 0.5).

schupperman

Vielen vielen Dank für deine Mühe, hat geklappt. Ich musste nur im GAD Editor bei cmd den channel durch state ersetzen.

LG Thomas

schupperman

Hallo ich bräuchte nochmal Hilfe!
Für die Ansteuerung meines Receivers bräuchte ich ein DOIF, um dreistellige Nummern aufzuschlüsseln.

Vielen Dank

Thomas

raman

#8
Auf die Schnelle und ungetestet:

define di_harmony_tv DOIF ([dummy_harmony_tv:state] < 10) (set harmony_36164353 Number$EVENTS) DOELSEIF ([dummy_harmony_tv:state] < 100) ({$EVENTS =~ /^(\d)(\d)/;;;; fhem("set harmony_36164353 Number$1")}) ({$EVENTS =~ /^(\d)(\d)/;;;; fhem("set harmony_36164353 Number$2")}) DOELSE ({$EVENTS =~ /^(\d)(\d)(\d)/;;;; fhem("set harmony_36164353 Number$1")}) ({$EVENTS =~ /^(\d)(\d)(\d)/;;;; fhem("set harmony_36164353 Number$2")}) ({$EVENTS =~ /^(\d)(\d)(\d)/;;;; fhem("set harmony_36164353 Number$3")})

attr di_harmony_tv wait 0:0,0.5:0,0.5,0.5



schupperman

danke für die schnelle Antwort:

Funktioniert leider noch nicht, er schaltet von den drei Nummern leider nur die Erste.

im LOG steht:

2017.02.16 20:09:05 2: di_harmony_horizon: 652 < 100: Unknown command 652, try help.

Dann schaltet er nur die 6

Vielen Dank Thomas

raman

Ich hab es oben ausgebessert: Das erste DOELSE muss DOELSEIF lauten!
Damit sollte es gehen.