[Modul]IPS-Tvheadend

Hallo,

hier vorerst mal meine Scripte zum Schalten eines SAT-Servers und Sat-Switches bei aktiver Aufnahme

Steuerscript SAT

<?

if (GetValueBoolean(39592 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1\Anforderung SZ TV]*/) == "TRUE"
OR GetValueBoolean(10135 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1\Anforderung Timer]*/) == "TRUE"
OR GetValueBoolean(39591 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1\Anforderung WZ TV]*/) == "TRUE"
// OR GetValueBoolean(54492 /*[EG\Wohnzimmer \TVHeadend\Tvheadend\Aktive Aufnahme]*/) == "TRUE"
OR GetValueBoolean(31409 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1\Anforderung TVHeadend]*/) == "TRUE")

{
      HM_WriteValueBoolean( 52208 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1]*/ , "STATE",true);
}
else
{
     HM_WriteValueBoolean( 52208 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1]*/ , "STATE",false);
}
   

?>

**Script das bei Aktualisierung der Variablen für Aufnahmestart des TVH Moduls gestartet wird **


<?

$start=getvalueinteger(52638 /*[EG\Wohnzimmer \TVHeadend\Tvheadend\Nächste Aufnahme Startzeit]*/);
$stop=getvalueinteger(43290 /*[EG\Wohnzimmer \TVHeadend\Tvheadend\Nächste Aufnahme Endzeit]*/);
$systime=time();

  if (($systime > getvalueinteger(52638 /*[EG\Wohnzimmer \TVHeadend\Tvheadend\Nächste Aufnahme Startzeit]*/)-420)
  and ($systime < getvalueinteger(43290 /*[EG\Wohnzimmer \TVHeadend\Tvheadend\Nächste Aufnahme Endzeit]*/)+120))
 {
 setvalueboolean(31409 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1\Anforderung TVHeadend]*/,true);
 }

  else
 {
 setvalueboolean(31409 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1\Anforderung TVHeadend]*/,false);
 }
 
 ips_runscript ( 30615 /*[DG\Spitzboden\8-fach Switch\SAT Receiver/Switch SW1\Steuerscript Sat]*/);
 
?>

Die Offset-Zeiten ( z.B. die -420 ) sind entsprechend der Bootzeit des Servers anzupassen - bei zu geringem Vorlauf kommt es zu fehlerhaften Aufnahmen die dann noch im Aufnahmemenü als Leichen stehenbleiben.

viele Grüße

Georg

Fix für die Variable „aktive Aufnahme“ ist online.

Grüße,
Kai

Hallo Kai,

funktioniert nun Super !

Danke !:slight_smile:

Hallo,

es gibt eine neue Version:

07.02.2019: Version 1.6
Fix - module.json für IPS 5.1 angepasst

Grüße,
Kai

Es gibt eine neue Version, Infos dazu sind auf der ersten Seite im zweiten Post zu finden.

Grüße,
Kai

Du schreibst ja, dass neue Ideen willkommen sind. :slight_smile:

Kann man die Konfiguration der Muxes einauen, sodass z.B. über die WebOberfläche in Symcon diese Aktiviert/Deaktiviert werden können?

image

Dann muss ich nicht umständlich über die altbackene WebGUI von tvheadend.

Da muss ich mal schauen, ob das die API hergibt.

Grüße,
Kai

Das wäre top :smiley:

Grüße

Das scheint leider nicht zu funktionieren. Ich habe keine Funktion in der API gefunden.

Grüße,
Kai

@KaiS
Vielleicht nochmal auf diesem Wege…

Es gibt einen Link den man dazu aufrufen kann. Nun habe ich mehrere Versuche unternommen diesen Link über Symcon abzusetzen:

Die URL sieht jeweils so aus: „http://192.168.xxx.xxx:9981/api/idnode/save?node={„enabled“:true,„uuid“:„NODEID“}

$context = stream_context_create(array(
    'http' => array(
        'header'  => "Authorization: Basic " . base64_encode("$benutzer:$passwort")
    )
));
$data = file_get_contents($url, false, $context);

oder

$ch = curl_init();

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$benutzer:$passwort");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$return = curl_exec($ch);

Endet jeweils in einer Fehlermeldung: „failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized“

Und

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, $benutzer. ":" . $passwort);

$return = curl_exec($ch);

bringt „403 Forbidden“ - Hier scheint er zum Server durchzukommen und dann den Befehl zu verweigern?!

Ich habe leider keinen Ansatz mehr :confused:

Der direkte Aufruf im Browser funktioniert ohne Probleme. Hier muss die URL dann so aussehen:
http://username:password@192.168.xxx.xxx:9981/api/idnode/save?node={„enabled“:true,„uuid“:„NODEID“}

Eventuell hat jemand eine Idee?

Danke!

Niemand? :confused:

Ich denke ja, dass das ein Thema ist, welches an sich nichts mit tvheadend zu tun hat. Aber es kommt mir nicht in den Sinn warum das nicht funktioniert. Hab auch schon etwas im Code von @KaiS nachgeschaut und es exakt so probiert, aber es klappt einfach nicht. :sob:

Kann ich das bei dir mal direkt in der Konsole testen?

Grüße,
Kai

Hallo Kai,

bekomm seit heute folgende Fehlermeldung ohne was geändert zu haben und ohne das TV oder AUfnahme läuft.

20.07.2023, 09:22:25 | TimerPool            | Tvheadend (TVH_UpdateActuallyStatus): 
Notice: Undefined index: ger in /var/lib/symcon/modules/.store/info.schnittcher.ips.tvheadend/IPS-Tvheadend/module.php on line 95

Idee dazu?

lg
hagi

Hat TVH ein Update bekommen?
Welche Aufnahme steht als nächstes an?

Grüße,
Kai

Nö nicht das ich wüsste und TVH läuft bei mir im Docker, da ist auch nichts mit AutoUpdates.

Zum Zeitpunkt der Fehlermeldungen - keine

Du hast keine Aufnahme geplant?

Grüße,
Kai

Schon - Timerevents vorhanden, aber er hat keinen nächsten Aufnahme Eintrag angezeigt

Kannst du mal die aktuelle Beta Version installieren?
Und damit ein Debug erzeugen, wenn der Fehler auftritt?

Grüße,
Kai

mach ich gerne, melde mich dann.

Here it is: