[Neues Modul] VDR Steuerung per SVDRP: 70_SVDRP

Begonnen von hapege, 13 März 2022, 18:25:35

Vorheriges Thema - Nächstes Thema

hapege

Hallo fhem'ler,

ich habe mich mal an einem Modul zur Steuerung des VDR versucht: 70_SVDRP.pm
Das Modul "spricht" SVDRP. Ich habe die SVDRP Kommandos herausgegriffen, die m.E. über fhem Sinn machen:
- Kanal umschalten
- Lautstärke ändern
- Disk Status anzeigen
- Timer anzeigen
- Timer löschen
- Nächsten Timer anzeigen
- "Knopf drücken" (HITK)
- Aufnahmen anzeigen (braucht bei vielen Aufnahmen schon mal ein paar Sekunden...)
- Info zu einer dedizierten Aufnahme anzeigen
- VDR ausschalten (der eigentliche Grund warum ich das Modul angefangen haben ;) )

Dinge wie "Timer setzen" oder "EPG auslesen" habe ich nicht direkt implementiert, das macht über z.B. vdradmin deutlich mehr Sinn. Man kann weitere SVDRP Befehle aber über ein Attribut selbst hinzufügen.

Have fun :)

Hermann
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Michi1972

Hallo,

Danke für das Modul! Bei mir gibt es nur einen Server und auf dem läuft FHEM und auch der VDR. Von daher ist ausschalten nicht immer sinnvoll. Was ich aber gut finde, ist dass man sich hier Timer anzeigen lassen kann. Was toll wäre: läuft gerade eine Aufnahme? Von wann bis wann läuft die? Wie heißt der nächste Timer und auf welchem Kanal und von wann bis wann läuft diese?

Dann habe ich versucht, mit statusCheckCmd GetAll und dann versuchsweise statusCheckInterval 30 die Informationen aktuell zu halten, leider bleibt es alles beim alten bis ich per set-Befehl GetAll auslöse, dann wird alles aktualisiert. Mache ich was falsch?

Vielen Dank und Grüße
Michael

Michi1972

Hallo,

ich habe noch zwei Idden für das Modul. Könnte man einbauen, dass in einem Reading steht, wieviele Transponder gerade in Beschlag sind und ob gerade wieviele Aufnahmen laufen?

NextTimer hat leider auch nur sowas wie "NextTimer: 1 Sat Nov 12 19:35:00 2022" und nicht zusätzlich den Titel der Aufnahme (wie im "LIVE" Modul des VDR). Könnte man das noch dazu nehmen?

Ich hoffe, hier kommt eine Rückmeldung. Oder ist das Modul leider schon wieder tot?

Danke und Grüße
Michael

hapege

Hi,
nein, ist nicht tot ;) Ich habe nur keine Benachrichtigungen über neue Beiträge hier bekommen, bisher gabs wenig Rückmeldung, und ich schaue nicht jeden Tag rein ;)
SVDRP (siehe http://www.vdr-wiki.de/wiki/index.php/SVDRP) gibt leider keine Infos über die Transponder heraus, ebenso nicht den Titel des nächsten Timers (oder ich habe das übersehen...)
Dito "ob eine Aufnahme läuft" verrät mir SVDRP auch nicht.
Ausschalten ist eine der bei mir am meisten genutzten Funktionen - schalte den VDR aus wenn ich abends "Nachtruhe" befehle.
Das Problem mit StatusCheckCmd schaue ich mir mal an, vermutlich machst Du nichts falsch...

Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

hapege

OK,

gelöst - update (1.01.04) ist im Trunk eingechecked, sollte morgen beim update mitkommen.
Nur als Hinweis: der VDR verträgt nur einen SVDR client, deshalb baut das Modul eine Verbindung auf, schickt ein command, liest die Antwort und schließt die Verbindung. Der Status ist deshalb meist "disconnected". Es ist also nicht erkennbar ob der VDR online ist oder nicht. checkStatus prüft deshalb unabhängig davon ob der VDR online ist oder nicht. Ist kein Problem, da bei nicht-Aufbau der Verbindung schlicht nichts passiert, globalError steht dann auf "offline".
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Michi1972

Dann warte ich Mal, bis das Update ankommt. Danke schonmal!

hapege

Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Michi1972

Das ist wirklich sehr nett! Allerdings bin ich schon zu müde dafür. Ist immerhin gleich 0:00 h. Morgen kommt das Update. Dann sehe ich in Ruhe. Trotzdem vielen Dank!👍

Michi1972

#8
Jetzt bin ich dazu gekommen. Es scheint nun zu funktionieren, soweit ich das bis jetzt beurteilen kann. Danke für die Korrektur! Vielleicht ist es ja doch noch möglich, etwas einzubauen, quasi einen Client für svdrpsend. Dann könnte ich per SATIP Modul die Transponder abfragen. Das satip-axe Teil verbraucht bei allen 4 Kanälen immerhin 18 Watt, eigentlich soll das Teil auf 1 Channel runtergehen, bis EPG Daten erneuert werden. Mache mir Gedanken über die Stromrechnung. Vielleicht geht da noch was.

PS: als Anregung folgendes Kommando: svdrpsend PLUG satip INFO

hapege

Freut mich dass es klappt :)
Satip: Lässt ich das VDR Plugin denn per svdrp steuern?
Was ist denn die Antwort auf "svdrpsend PLUG satip INFO"?
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Michi1972

#10
Die Antwort kommt so raus: (bei mir)

michael@server1:~$ svdrpsend PLUG satip INFO
220 server1 SVDRP VideoDiskRecorder 2.4.1; Sat Dec  3 15:54:40 2022; UTF-8
900-SAT>IP device: 0
900-CardIndex: 0
900-Stream: rtsp://10.1.1.9/?src=1&freq=11185&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]
900-Signal: lock=1 strength=67 quality=100 frontend=1
900-Stream bitrate: 75 kB/s
900-Buffer bitrate: 0 kB/s
900-Buffer usage: 0/2048 kB (0,0%)
900-Channel: Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0
900-Active pids:
900-Active section filters:
900-Filter 0:    7 (   9 kB/s) Pid=0x12 (EIT)
900-Filter 1:    0 (   0 kB/s) Pid=0x14 (TDT)
900-Filter 2:    2 (   0 kB/s) Pid=0x00 (PAT)
900-Filter 3:    0 (   0 kB/s) Pid=0x11 (SDT)
900-Filter 4:    0 (   0 kB/s) Pid=0x10 (NIT)
900 Filter 5:    0 (   0 kB/s) Pid=0x60 (---)
221 server1 closing connection


Das Plugin kann dies hier über svdrp:
michael@server1:~$ svdrpsend PLUG satip help
220 server1 SVDRP VideoDiskRecorder 2.4.1; Sat Dec  3 15:57:17 2022; UTF-8
214-Plugin satip v2.4.0 - SAT>IP Geräte
214-SVDRP commands:
214-    INFO      MODE      LIST      SCAN      STAT     
214-    CONT      OPER      ATTA      DETA      TRAC     
214 End of HELP info
221 server1 closing connection

hapege

Hm, ich schau mal ob mir dazu was einfällt.
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

hapege

Hi Michi,

ich habe mal ein wenig rumgespielt, und versucht, SVDRP für Plugins einzubauen - v1.01.05beta anbei (nach /opt/fhem/FHEM kopieren und dann "reload 70_SVDRP.pm", aber das weißt Du vermutlich ;) )
Ich kann das bei mir aber nicht testen, ich habe nur den streamdev-server, der SVDRP "versteht".
SatIP habe ich deshalb blind eingebaut - der Rest ist gleich geblieben, das Modul schickt den erweiterten cmd-String weg und parsed die 900er Antwort.

Magst Du das mal testen und mir den verbose 5 output schicken?

Danke Dir,
Hermann
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Michi1972

#13
Moin hapege,

ein ausführen von

set vdr SatIP INFO

ergibt im EventLog folgendes:

2022-12-04 14:11:16 SVDRP vdr globalError:
2022-12-04 14:11:16 SVDRP vdr infoError:
2022-12-04 14:11:16 SVDRP vdr LastCmd: PLUG satip INFO
2022-12-04 14:11:16 SVDRP vdr CONNECTED
2022-12-04 14:11:16 SVDRP vdr infoOpen: server1 SVDRP VideoDiskRecorder 2.4.1; Sun Dec  4 14:11:16 2022; UTF-8
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0  pids:
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0  pids:  section filters:
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0  pids:  section filters:  0:    0 (   0 kB/s) Pid=0x12 (EIT)
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0  pids:  section filters:  0:    0 (   0 kB/s) Pid=0x12 (EIT)  1:    0 (   0 kB/s) Pid=0x14 (TDT)
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0  pids:  section filters:  0:    0 (   0 kB/s) Pid=0x12 (EIT)  1:    0 (   0 kB/s) Pid=0x14 (TDT)  2:    0 (   0 kB/s) Pid=0x00 (PAT)
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0  pids:  section filters:  0:    0 (   0 kB/s) Pid=0x12 (EIT)  1:    0 (   0 kB/s) Pid=0x14 (TDT)  2:    0 (   0 kB/s) Pid=0x00 (PAT)  3:    0 (   0 kB/s) Pid=0x11 (SDT)
2022-12-04 14:11:17 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0  pids:  section filters:  0:    0 (   0 kB/s) Pid=0x12 (EIT)  1:    0 (   0 kB/s) Pid=0x14 (TDT)  2:    0 (   0 kB/s) Pid=0x00 (PAT)  3:    0 (   0 kB/s) Pid=0x11 (SDT)  Filter 4:    0 (   0 kB/s) Pid=0x10 (NIT)
2022-12-04 14:11:18 SVDRP vdr infoClose: server1 closing connection
2022-12-04 14:11:18 SVDRP vdr DISCONNECTED


Die Frage ist nun, wie man nach belegten und freien Transpondern parsen kann. Es leuchten auf jeden Fall alle 4 LEDs für die 4 Transponderempfänger. Damit verbraucht das Teil 24/7 genau 18W. Ist mir zu viel. Würde das halt gerne reduzieren, warum nicht mit FHEM, denn mit VDR Methoden habe ich das nicht in den Griff bekommen. Das Problem scheint EPG zu sein, schalte ich das ab, ist zwar Ruhe auf den Transpondern, nur 1 LED, aber habe kein EPG mehr nach einer Weile  :o - und ich habe keine Ahnung, wie ich das in den Griff bekomme, weil das mit den OnlineQuellen auch nicht funktioniert.

Oh Mann, jetzt lege ich mal meine Hoffnung auf Deine Programmierkünste  8) ::)

Nun habe ich aber auch etwas experimentiert und bei subparm LIST kommt folgendes:

2022-12-04 14:23:42 SVDRP vdr globalError:
2022-12-04 14:23:42 SVDRP vdr infoError:
2022-12-04 14:23:42 SVDRP vdr LastCmd: PLUG satip LIST
2022-12-04 14:23:42 SVDRP vdr CONNECTED
2022-12-04 14:23:42 SVDRP vdr infoOpen: server1 SVDRP VideoDiskRecorder 2.4.1; Sun Dec  4 14:23:42 2022; UTF-8
2022-12-04 14:23:43 SVDRP vdr Plugin:  device: 0  0  rtsp://10.1.1.9/?src=1&freq=11656&pol=v&ro=0.35&msys=dvbs2&mtype=8psk&sr=22000&fec=23 (Unicast) [stream=1]  lock=0 strength=54 quality=0 frontend=1  bitrate: 73 kB/s  bitrate: 0 kB/s  usage: 0/2048 kB (0,0%)  Das Erste HD;ARD:11493:HC23M5O35P0S1:S19.2E:22000:5101=27:5102=deu@3,5103=mis@3,5107=qks@3;5106=deu@106:5104;5105=deu:0:10301:1:1019:0  pids:  section filters:  0:    0 (   0 kB/s) Pid=0x12 (EIT)  1:    0 (   0 kB/s) Pid=0x14 (TDT)  2:    0 (   0 kB/s) Pid=0x00 (PAT)  3:    0 (   0 kB/s) Pid=0x11 (SDT)  Filter 4:    0 (   0 kB/s) Pid=0x10 (NIT)  + 10.1.1.9|DVBS2-4|SatIP-Axe
2022-12-04 14:23:44 SVDRP vdr infoClose: server1 closing connection
2022-12-04 14:23:44 SVDRP vdr DISCONNECTED


Das ist deutlich kürzer!

Bin für jede Idee dankbar!  8)


hapege

Hi,

kannst Du mal verbose auf 5 setzen? Ich vermisse meine debug Ausgaben ;-)
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.