Neues Modul für Tvheadend [70_Tvheadend.pm]

Begonnen von Quantum, 18 März 2018, 22:38:01

Vorheriges Thema - Nächstes Thema

CoolTux

Zitat von: C0mmanda am 23 Juni 2019, 18:48:04
Sehr schade.
Muss ich mich wohl doch mit JSON und der TVHeadend-API auseinander setzen ;))

Grtz

Ruf an wenn Du Hilfe brauchst  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

C0mmanda

Zitat von: CoolTux am 23 Juni 2019, 19:05:01
Ruf an wenn Du Hilfe brauchst  ;D

Danke!
Wenn es überhaupt nicht klappt melde ich mich bestimmt!
Setzte mich jetzt erstmal mit HTTPMOD auseinander...  :o

Hast du schon was umgesetzt mit TVHeadend?

Gruss

CoolTux

Zitat von: C0mmanda am 23 Juni 2019, 19:56:13
Danke!
Wenn es überhaupt nicht klappt melde ich mich bestimmt!
Setzte mich jetzt erstmal mit HTTPMOD auseinander...  :o

Hast du schon was umgesetzt mit TVHeadend?

Gruss

Nein. Kein bisschen. Weiß nicht mal was das genau ist.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

fheminist

Hallo,
bin auf dieses Thema gestoßen und habe mich nach all den Jahren als stiller Leser, doch mal hier im Forum angemeldet.  :)

TVHeadend inkl. Triax-SatIP läuft bei mir nun seit mehr als 7 Jahren extrem stabil auf einer Synology. Aktuell möchte ich dem Triax eine Gosund SP1 verpassen. Die Aus- und Einschaltbedingungen verfolge ich derzeit in FHEM, bevor alles 'live' geht.
So erzeuge ich derzeit die Bedingungen:
1.) 'AddHoc EIN/AUS' = Wenn alle TV-Scenen aus sind, schaut keiner TV, oder hört Radio.
2.) 'EPG sync' = 05 & 15Uhr EIN. Nach 30min wieder AUS, wenn Bedingung 1&3 = false.
3.) In der TVH Aufnahmekonfi. habe ich diese CMDs eingebaut:
             PRE-cmd --> curl 192.168.179.41:8083/fhem?cmd=setreading%20State_TVH_SatIPrec%20recording%20start
             Nachbehandlung --> curl 192.168.179.41:8083/fhem?cmd=setreading%20State_TVH_SatIPrec%20recording%20stop
         zusätzlich musste ein Counter her.... Es können ja z.B. mehrere Serien gestartet werden.

Ein TVH Modul wäre hier schon von Vorteil, da für die oben genannten CMDs die FHEM-WEB-Security ja geöffnet werden muss...
Mit der derzeitigen Lösung bin ich allerdings, allem in allem sehr zufrieden und auch zuversichtlich, dass meine Gosund bald zuverlässig schaltet.

Ein Thema beschäftigt mich allerdings noch, wo ich mir viel 'gebastel' durch ein Modul erhoffen würde.

Meine IP-CAMS habe ich in TVH integriert. Per TV sind somit alle CAMS als 'TV-Program' zu empfangen.
Ich möchte allerdings per FHEM zusätzlich auch Aufnahmen starten und stoppen können. So wäre mit den vorhandenen Mitteln/Systemen eine extrem einfache Überwachung möglich. Über TVHeadend kann dann auch der Speicher und 'Aufnahmen-TimeToLive' einfach verwaltet werden.

So meine aktuelle Idee:
1.) wenn x-Bewegungen in y-Zeit erkannt, dann Aufnahme an, Alarmsound abspielen, Licht_Garten an etc.. (letzteres ist bereits vorhanden)
2.) Wenn Scene_Frühstück an (durch Bewegung im WoZi gestartet), dann spiele Aufnahmen der Nacht auf TV ab ;-)

Kann mir hier jemand Tipps geben, wie ich die Programme starten & stoppen kann?

Hoffe, dass hier noch jemand im Thema lauscht ;-)

Viele Grüße
3*FB-Mesh ,FHEM+MariaDB+TVH+TriaxSatIPGrafana@Docker/DS220+, 6*Kodi-RPis, EpsonTW650+DIY-Lift, 3*IPCam@TVH, 2*AI@EspCAM, Robo.S6
6*Maxcio bulbs, 15*Nodemcu&WemosD1, 20*GosundSP1, 25*Shelly, 8*MC400A, 7*CometDect, abgelöst: diyCurls, 433Mhz, JeeLink, DenonAVR, FS20, HM ...

MadMax-FHEM

Zitat
Ein TVH Modul wäre hier schon von Vorteil, da für die oben genannten CMDs die FHEM-WEB-Security ja geöffnet werden muss...

WARUM!?

Wenn man es "richtig" macht, dann MUSS man da gar nichts "öffnen"...

Und was meinst du mit "öffnen"!?

Kein User/PW und csrfToken!?

Wenn das "öffnen" heißt: dann noch mal nachlesen was mit allowed möglich ist UND wie csrfToken funktoniert!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

fheminist

Hallo und Danke für die schnelle Antwort.

mit 'öffnen' meinte ich, dass ich hierfür 'attr WEB csrfToken none' setzen musste.

In der Anleitung war dies als unsicher und eher als temporäre Lösung beschrieben. Daher hab ich es dann auch eher als Provisorium behalten.

Ist das denn deiner Meinung nach nicht so wild, oder kann ich hier etwas besser machen?
3*FB-Mesh ,FHEM+MariaDB+TVH+TriaxSatIPGrafana@Docker/DS220+, 6*Kodi-RPis, EpsonTW650+DIY-Lift, 3*IPCam@TVH, 2*AI@EspCAM, Robo.S6
6*Maxcio bulbs, 15*Nodemcu&WemosD1, 20*GosundSP1, 25*Shelly, 8*MC400A, 7*CometDect, abgelöst: diyCurls, 433Mhz, JeeLink, DenonAVR, FS20, HM ...

MadMax-FHEM

DOCH! IST WILD!

Wenn du es einfach so auf "none" gesetzt hast: nicht verstanden wofür/wogegen es hilft!

Wenn schon, dann mindestens auf einen fixen Token setzen!!

Und den dann beim Aufruf mitgeben...

Wenn "normal", wird bei jedem fhem Neustart ein neuer Token generiert (je nach dem wie oft das ist, ist auch das ein "quasi fixer Token")...

Wenn auf einen fixen Wert gesetzt: so als würdest du fhem NIE neu starten

Wenn auf none: ganzer Schutzmechanismus DEAKTIVIERT!!

Steht aber alles im zugehörigen Wiki und verm. auch commandref!

Und: man darf auch das Internet benutzen, um herauszufinden was csrf ist ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

fheminist

Hallo,

Danke für den Hinweis. Der Token ist nun festgesetzt und aktiv.

Hoffe jemandem hat noch Tipps für mich, wie ich TVH-Aufnahmen extern Starten & Stoppen kann.

Besten Dank und Gruß
3*FB-Mesh ,FHEM+MariaDB+TVH+TriaxSatIPGrafana@Docker/DS220+, 6*Kodi-RPis, EpsonTW650+DIY-Lift, 3*IPCam@TVH, 2*AI@EspCAM, Robo.S6
6*Maxcio bulbs, 15*Nodemcu&WemosD1, 20*GosundSP1, 25*Shelly, 8*MC400A, 7*CometDect, abgelöst: diyCurls, 433Mhz, JeeLink, DenonAVR, FS20, HM ...

Beta-User

Zitat von: C0mmanda am 23 Juni 2019, 09:06:52
Ich gehe davon aus dass dieses Projekt tot ist?

Ein define des Moduls lässt FHEM unvermittelt abstürzen.. :(

Gruß
Cmda
Nachdem meine Versuche mit MQTT bzgl. TvHeadend nicht sooo befriedigend waren, bin ich am Überlegen, ob es sinnvoll ist, das Projekt hier wieder aufzunehmen.

Nach ein "paar kleineren Umbauten" hatte ich gestern auf dem Testsystem auch Readings, ohne dass FHEM abgeschmiert wäre. Daher die Fragen:
a) besteht Interesse? (Ich habe zwar einen TvHeadend-Server (aktuelle Version@Ubuntu) am laufen, aber keine vertiefte Idee, was und wie man das von FHEM aus eigentlich nutzen will...)
b) hat jemand eine Implementierung mit MQTT am Laufen, die ein gesondertes Modul als "overdone" erscheinen lassen?

Falls a) und nicht b) würde ich ggf. einen neuen Thread aufmachen, sobald die Basics funktionieren (dazu gehört dann auch das "Wegsperren" des Passworts aus der DEF).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

MadMax-FHEM

a) ja aber nicht "unbedingt" ;) käme halt drauf an was man da von fhem aus so machen kann/könnte. Habe 2 (evtl. bald 3) TVHeadend-Server laufen. Alle auf einem PI@Buster aber nicht aus dem Buster-repo (die ist immer noch zu alt/älter?). Ich habe: HTS Tvheadend 4.3-1857~g221c29b40

b) nein

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Ui, das ging aber "zackig"...

Wie geschrieben: bis dato habe ich nur ein paar Readings, ein paar Log-Einträge, wenn das decode_json() schiefgegangen ist (keine crashes...) und benutze den Server selbst um hin und wieder
- was aufzuzeichnen
- Radio via SAT zu hören*.

Hier war noch "starte eine Aufnahme von einer Live-Cam" aufgerufen?

Ad *: Das Optimum dazu wäre für mich, wenn man da direkt eine Soundausgabe manipulieren könnte; allerdings ist das wohl eher was, das in der Liga MPD oder VLC anzusiedeln wäre. Das hat nach meinem bisherigen Verständnis eher nichts mit dem zu tun, was auf der Server-Seite abläuft.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

MadMax-FHEM

#41
Zitat von: Beta-User am 24 September 2021, 13:28:13
Ui, das ging aber "zackig"...

:)

So sind wir halt hier im Forum ;)

Bzw. es gibt halt Threads/Module die ich so "semi-interessant" finde und mitlese/"beobachte"...
Hatte auch schon mal überlegt mir das anzuschauen aber mangels Zeit und wirklicher Anwendung: naja... ;)


Zitat von: Beta-User am 24 September 2021, 13:28:13
... und benutze den Server selbst um hin und wieder
- was aufzuzeichnen
- Radio via SAT zu hören*.

Ich auch wegen Aufzeichnen und für die Tocher zum TV-Kucken: im Zimmer ist kein TV-Anschluss...

Zitat von: Beta-User am 24 September 2021, 13:28:13
Hier war noch "starte eine Aufnahme von einer Live-Cam" aufgerufen?

Hmm, bei mir eher starten von Aufzeichnungen TV-Programm...
Übersicht TV-Programm...
Übersicht Aufnahmen...

Aber wie angedeutet: ich bin/werde bestimmt nicht der allerintensivste Anwender...
(zu viele andere [wichtigere] "Baustellen")

Aber mal so zum Testen etc. gerne... :)

Bin gespannt, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

geiercasi

Interesse besteht :)
Das Modul lässt mein fhem übrigens nicht abstürzen.

Grüße

Beta-User

...here you are: https://forum.fhem.de/index.php/topic,123117.msg1176443.html#msg1176443

Ich hatte das mit dem Absturz hier nur gelesen und kann auch an den (neuen) Logs nachvollziehen, wann das passiert. Ich gehe davon aus, dass es dann nicht passiert ist, wenn der User administrative Rechte auf dem TvHeadend-Server hat (innerhalb TVH).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

fheminist

Hallo zusammen,

habe in Zeiten des teuren Stroms eine Lösung für mich gefunden, die echt stabil läuft und zuverlässig den SatIP Server ab & anschaltet.

Ich lese die RestAPI von TVH aus und hole mir den Start-End-Timestamp der nächsten Aufnahmen. 15min vorab wird ein Dummy dann auf "on" gesetzt.

Wenn dieser Dummy auf on steht, oder eine unserer TV-Szenen gestartet wird, oder der EPG-Sync zu den gegebenen Uhrzeiten aktiv ist, so wird der SatIP-Server mit Strom versorgt.
Seit ca 6Monaten läuft das ohne eine Störung echt top.

Hier zu meiner Implementierung:

In diesem HTTPMOD werden die Daten der nächsten Aufnahmen abgerufen:


define tvh_next_rec HTTPMOD http://user:passwort@192.168.179.007:9981/api/dvr/entry/grid_upcoming?sort=start_real&dir=asc&limit=1
attr tvh_next_rec extractAllJSON 1
attr tvh_next_rec group Multimedia
attr tvh_next_rec icon it_satellite_dish_heating
attr tvh_next_rec room 10_EG
attr tvh_next_rec Interval 300



Diese werden dann in dem DOIF verarbeitet und in ein den dummy "State_TVHrec" geschrieben (ist on wenn gerade min. eine Aufnahme läuft):



define TSK_TVH_NextREC DOIF ( [tvh_next_rec:entries_01_start_real] or [State_TVHrec:recording] eq "start" )\
## wenn aufnahme startet wird endzeit +15min extra als Off-Time weggeschrieben... \
##\
(setreading $SELF ts_next_on [tvh_next_rec:entries_01_start_real] )\
\
(setreading $SELF ts_now {(time())} )\
(setreading $SELF ts_diffON_Min {( ([$SELF:ts_next_on]-[$SELF:ts_now])/60 )} )\
\
( IF ([$SELF:ts_diffON_Min] <= 15 )\
(set State_TVHrec on, setreading $SELF ts_next_off {([tvh_next_rec:entries_01_stop_real]+15*60)})\
ELSE\
()\
)\
( IF ( [State_TVHrec:recording] eq "start" )\
(set State_TVHrec on, setreading $SELF ts_next_off {([$SELF:ts_now]+15*60)}, \
setreading State_TVHrec recording none)\
ELSE\
()\
)\
( IF ([State_TVHrec:state] eq "on" and [$SELF:ts_next_off] <= [$SELF:ts_now] )\
(set State_TVHrec off)\
ELSE\
()\
)\

attr TSK_TVH_NextREC do always
attr TSK_TVH_NextREC room TSKs




Hier ist dann die Logik, um die Zwischensteckdose ON / Off zu setzen (EPG / Szenen und Aufnahmen check):



define TSK_State_TVH_SatIP DOIF ( ( [05:00] or [15:00] ) \
or ( [Szene_TV:state] eq "on" or [Szene_Garten:state] eq "on" or [Szene_EZ_TV:state] eq "on" )\
or ( [Szene_TV_MuKu:state] eq "on" or [State_TVHrec:state] eq "on")\
\
)\
## an wenn 1.) spez.Uhrzeiten >>epg syncZeiten auf tvh anpassen 5&15 Uhr<<  2.) TV_Szenen an 3.) Aufnahme läuft\
(set SatIP_Server on)\
\
DOELSEIF ( ( ( [05:15] or [15:15] ) or ( [05:15-14:59] or [15:15-04:59] ) )\
and ( [Szene_TV:state] eq "off" and [Szene_Garten:state] eq "off" and [Szene_EZ_TV:state] eq "off" )\
and ( [Szene_TV_MuKu:state] eq "off" and [State_TVHrec:state] eq "off" )\
)\
## 2. gleiche wie 1 nur halt TVH AUS\
(set SatIP_Server off)\

attr TSK_State_TVH_SatIP do always
attr TSK_State_TVH_SatIP group IFTTT (IfThisThenThat)
attr TSK_State_TVH_SatIP room TSKs




Da ich lange selber nach einer guten, robusten Lösung gesucht habe, dachte ich evtl. hilft es ja einem.

Viele Grüße
3*FB-Mesh ,FHEM+MariaDB+TVH+TriaxSatIPGrafana@Docker/DS220+, 6*Kodi-RPis, EpsonTW650+DIY-Lift, 3*IPCam@TVH, 2*AI@EspCAM, Robo.S6
6*Maxcio bulbs, 15*Nodemcu&WemosD1, 20*GosundSP1, 25*Shelly, 8*MC400A, 7*CometDect, abgelöst: diyCurls, 433Mhz, JeeLink, DenonAVR, FS20, HM ...