FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Alcamar am 10 Juli 2016, 22:44:51

Titel: Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Alcamar am 10 Juli 2016, 22:44:51
Ich setze fhem unter anderem dafür ein, dass Telefonanrufer auf dem laufenden SAT-Receiver (Dreambox) angezeigt werden. Dann wissen alle TV-Gucker gleich, wer vom Sofa aufstehen muss. Gleichzeitig wird der SAT-Receiver auf mute gestellt. Im Zusammenspiel mit der Fritzbox kann fhem ein notify auf das Telefon generieren und auf dem SAT-Receiver Aktionen ausführen. Leider kann ich immer nur unidirektional kommunizieren von fhem zum Receiver.  Wünschenswert wären auch Afragen (ja/nein), die auf den SAT-Receiver gesendet werden zB. "Tante Tegla ruft an, soll der Ton abgestellt werden? ja/nein" :). Fhem wertet die Antwort aus und führt dann eine Aktion aus. 
Leider habe ich kein Idee oder Ansatzpunkt wie man sowas realisieren könnte. Hat jemand Tipps?
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Loredo am 10 Juli 2016, 22:46:47
Das ist in erster Linie eine Frage, die du in einem ENIGMA2 Forum stellen solltest. Dort müssen die Events erzeugt werden, diese an Fhem zu übergeben ist dann ein Klacks und lässt sich dann sowohl händisch als auch fix in das Modul einbauen.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Alcamar am 10 Juli 2016, 23:02:01
Da kenne ich nur das Forum I-Have-A-Dreambox. Dort bin ich aber nicht fündig geworden. Bin kein Fhem--Experte, fühle mich aber da wohler als bei den Sat-Receiver-Freaks :)
Kennst Du Foren, die sich lohnen?
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Loredo am 10 Juli 2016, 23:06:27
Außer besagtem Forum kenne ich keins, lesen tue ich schon lange keines mehr. Inzwischen habe ich auch keine eigene Sat-Box mehr, da ich kein Linear-TV mehr konsumiere.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Invers am 10 Juli 2016, 23:34:26
Nutze doch das enigma2 Modul. Nutze dann ein DOIF und werte das Telefonat aus. Ob du dann ja, nein oder Player drücken musst, kann dir doch egal sein.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Alcamar am 10 Juli 2016, 23:51:32
Ist aber nicht so, dass ich Tante Tegla immer vernachlässige.  :) Ich würde gerne situativ entscheiden, ob ich jetzt den Ton abschalte oder nicht. DOIF etabliert  ein vorab definiertes Szenario. Das würde ich aber gerne beeinflussen. Oder ich habe deinen Vorschlag nicht verstanden.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: pink99panther am 10 Juli 2016, 23:58:00
Zitat von: Alcamar am 10 Juli 2016, 23:02:01
Da kenne ich nur das Forum I-Have-A-Dreambox. Dort bin ich aber nicht fündig geworden. Bin kein Fhem--Experte, fühle mich aber da wohler als bei den Sat-Receiver-Freaks :)
Kennst Du Foren, die sich lohnen?

Kennst Du VU+ und deren Forum -> https://www.vuplus-support.org (https://www.vuplus-support.org)
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Invers am 11 Juli 2016, 00:16:57
Ja, ich habe wohl etwas kurz geschrieben am Tab.
Hier mal die längere Version, am PC getippt.
Mit dem FHEM Callmonitor stelle ich fest, wer anruft.
Mit dem Enigma-Modul aus FHEM schalte ich bei eingehendem Anruf erst einmal Timeshift, also Pause.
Nun kann ich ja entscheiden, was ich will. Gehe ich nicht ran, drücke ich halt play. Gehe ich ran,. drücke ich nichts.
Müsste ich mich zwischen ja und nein entscheiden, müsste ich ja immer etwas drücken.
Oder habe ich was nicht verstanden?

Der Befehl "set Giga msg yesno 30 Test"
Giga ist der Name deiner Box, 30 die Sekunden, Test der Text.
Bei der Gigablue geht es, sollte also auch bei dir gehen.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Ellert am 11 Juli 2016, 08:59:30
Zitat von: Alcamar am 10 Juli 2016, 22:44:51
Ich setze fhem unter anderem dafür ein, dass Telefonanrufer auf dem laufenden SAT-Receiver (Dreambox) angezeigt werden. Dann wissen alle TV-Gucker gleich, wer vom Sofa aufstehen muss. Gleichzeitig wird der SAT-Receiver auf mute gestellt. Im Zusammenspiel mit der Fritzbox kann fhem ein notify auf das Telefon generieren und auf dem SAT-Receiver Aktionen ausführen. Leider kann ich immer nur unidirektional kommunizieren von fhem zum Receiver.  Wünschenswert wären auch Afragen (ja/nein), die auf den SAT-Receiver gesendet werden zB. "Tante Tegla ruft an, soll der Ton abgestellt werden? ja/nein" :). Fhem wertet die Antwort aus und führt dann eine Aktion aus. 
Leider habe ich kein Idee oder Ansatzpunkt wie man sowas realisieren könnte. Hat jemand Tipps?

Es geht auch ohne Benutzerinteraktion.

Bei einem Anruf: das hast Du schon realisiert (Mute/Stop/Timeshift)
Bei Rufannahme: bleibt alles wie es ist.
Bei Auflegen durch Anrufer oder Angerufenen oder nach einer Wartezeit: Play

Mit einem DOIF etwa so:

([Callmonitor] eq "Anruf") (set Receiver Pause) (set Receiver play)
DOELSEIF ([Callmonitor] eq "Aufgelegt") (set Receiver play)


und dem Attribut

wait 0,30:0

Siehe http://fhem.de/commandref_DE.html#DOIF
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Alcamar am 12 Juli 2016, 12:28:18
@invers: Das Stichwort Timeshift ist die Lösung. :-) Ich nutze derzeit nur mute bei Anruf und unmute beim Auflegen. Wenn ich mute durch Timeshift ersetze, dann habe ich schon das was ich wollte:
Muss nur noch herausfinden, wie ich dem SAT-Receiver statt einem "mute" ein "Timeshift" übergebe. Sobald ich an der Kiste sitze probiere ich das mal aus.
Danke!
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Invers am 12 Juli 2016, 12:35:43
Ich löse das über ein DOIF

([my_callmonitor:event] eq "disconnect" and [Giga] eq "on")
    (set Giga pause) ## wird fortgesetzt, nicht angehalten
DOELSEIF
([my_callmonitor:event] eq "connect" and [my_callmonitor:internal_connection] ne "Answering_Machine_1" and [Giga] eq "on")
    (set Giga pause)
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Alcamar am 12 Juli 2016, 12:38:00
Sehr elegant! Ich denke, dass ich das genauso übernehme.
Danke nochmal. Du hast mir geholfen!
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Loredo am 12 Juli 2016, 12:57:53
Du schickst ein PAUSE


Gruß
Julian
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Invers am 12 Juli 2016, 14:17:20
So, wie ich es geschrieben habe, funktioniert es auch definitiv. Pause ist ein Toggle, scheint mir. Daher auch mein Vermerk dahinter.
EDIT:
Schickt man einen anderen Befehl, z.B. play, wird Timeshift abgebrochen und man landet im Live-TV. Somit ist alles weg.
So ist es jedenfalls bei der Gigablue Quad Plus. Vielleicht verhält sich die Dreambox da ja anders.
Wenn es gar nicht geht, kann man ja auch direkt den Befehl der Fernbedienung senden, das erlaubt ja enigma2 auch.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Alcamar am 23 Juli 2016, 23:42:35
auf der DreamBox lässt sich kein pause absetzen.
Was mit mute geht, funktioniert leider nicht mit pause oder play. Die Dreambox reagiert nicht darauf, zeigt lediglich ein kleines Symbol an, dass der Befehl nicht angewendet wird.  :(
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Loredo am 24 Juli 2016, 13:12:58
Ältere Modelle/Firmwares haben manchmal andere Codes.
Ein "set SATReceiver pause" nutzt den PLAYPAUSE Befehl (Zahlencode 164), also einen Toggle-Befehl.

Es gibt aber auch die Befehle PLAY (Zahlencode  207) und PAUSE (Zahlencode 119) getrennt.
Diese kann man über den setter remoteControl explizit absetzen:


set SATReceiver remoteControl PLAY
set SATReceiver remoteControl PAUSE



Diese könnten bei den Boxen zuverlässiger funktionieren.

Eine Übersicht der möglichen Befehle erhält man auch mit


set SATReceiver remoteControl ?
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Invers am 24 Juli 2016, 14:09:28
Ich hab das aus Interesse mal bei der Gigablue Quad + probiert.
Mit remoteControl PLAY wird bei mir ein Menü zum Abspielen eingeblendet, wenn vorher nicht Pause betätigt wurde.
Wurde jedoch remoteControl PAUSE  gesendet, funktioniert remoteControl PLAY einwandfrei.
Da aber der Status play oder Pause oder was auch immer nicht angezeigt wird,  kann man nicht erkennen, ob vor PLAY die PAUSE betätigt wurde.
Das ist ein Dilemma.
Wenn Timeshift bei einem Anruf ausgelöst wird, kann man ja per echter Remote den Film weiterlaufen lassen. Dass weiss aber dann fhem nicht und sendet remoteControl PAUSE bei Ende des Anrufes. Somit wird genanntes Playmenü abgezeigt.

Kann man den aktuellen Status der Box nicht anzeigen lassen?
Falls das nicht mögllich ist, wäre eine sinnvolle Programmierung der Box nicht möglich, da ja keine Rückmeldung erfolgt.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Loredo am 24 Juli 2016, 14:46:25
Der Play-Status kann über die API nicht abgefragt werden, daher muss man sich wohl selbst merken, dass man zuvor per FHEM einen PAUSE-Befehl gesendet hat und nur dann den PLAY Befehl senden. Hier bietet die ENIGMA2 API einfach keine ausreichende Unterstützung an. Deshalb wird auch der kombinierte Toggle-Befehl PLAYPAUSE vom Modul bevorzugt. Wenn der Befehl nicht geht, muss man sich ein passendes Image suchen, welches den Befehl unterstützt oder sich über kurz oder lang eine neuere Box kaufen, die das dann kann.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Invers am 24 Juli 2016, 15:01:10
Zitatdaher muss man sich wohl selbst merken, dass man zuvor per FHEM einen PAUSE-Befehl gesendet hat und nur dann den PLAY Befehl senden.
Das kann man ja fhem nicht mitteilen, wenn man zwischendurch die Fernbedienung benutzt.
Ein Neukauf kommt nicht infrage, da die Box neu ist. Ein alternatives Image wäre eine Lösung. Da muss ich mich erst schlau machen, welches dazu geeignet ist.
Inzwischen nutze ich dann  weiter Toggle.

Danke für deine Hilfe.
Titel: Antw:Kommunikation mit SAT-Receiver (Enigma)
Beitrag von: Alcamar am 24 Juli 2016, 17:57:01
Gut Image wäre eine Alternative. Die andere bei mir wäre, dass ich nicht die Fernbedienung des SAT-Receivers nutze um PLAY abzusetzen, sondern eine Fernbedienung, die ich ohnehin für fhem schon im Einsatz habe, für die Steuerung von Rollläden, Licht, etc. Eine weitere Alternative ist, dass der Anruf zwar PAUSE triggert, aber beim Auflegen nichts mehr passiert, weil nur manuel ein PLAY erwartet wird.
Das wäre für mich wohl alles akzeptabel, aber zuvor muss ich testen, ob ich euren Vorschlag auch nutzen kann, über RemoteControl den PAUSE-Befehl zu senden.  :)
Dazu muss ich wieder vor der Glotze hocken.  ::)