Jump to content
MarcA

2. Timer wird über API nicht programmiert, wenn dieser in 1. Timer ber

Recommended Posts

MarcA

Hallo zusammen,

ich habe einen neuen(?) Effekt im Recording Service entdeckt:

Ich programmiere über die API 2 Timer für den gleichen Sender:

Test1, RTL Nitro, heute, 19:15 – 19:45
http://localhost:8089/api/timeradd.html?ch=1083322141&dor=42116&enable=1&start=1155&stop=1185&title=Test1&format=1

Test2, RTL Nitro, heute, 19:16 – 19:44
http://localhost:8089/api/timeradd.html?ch=1083322141&dor=42116&enable=1&start=1156&stop=1184&title=Test2&format=1

Test2 ist vollständig in Test1 enthalten.

Wenn ich die Programmierung in dieser Reihenfolge vornehme, wird lediglich Test1 programmiert. Die Eingabe von Test2 führt zu keinem Fehler, aber auch zu keinem Timer. Programmiere ich zuerst Test2 und dann Test1 erscheinen beide Timer.

Programmiere ich direkt in der Weboberfläche (nicht über API) kann ich zuerst Test1 und dann Test2 erfolgreich anlegen.

Woran liegt dieses Verhalten? Warum unterscheidet es sich zwischen API und Web?

Ich verwende die Service Version 1.30.1.0. In der Version 1.7.2 trat der Effekt nicht auf, beide Timer werden in beiden Konstellationen angelegt.

Über Hilfe / Tipps würde ich mich sehr freuen.

Viele Grüße
Marc

Share this post


Link to post
nuts

Wird untersucht. :)

Gewünscht wäre gleiches Verhalten bei API Programmierung wie mit der Weboberfläche oder?

Edited by nuts

Share this post


Link to post
MarcA

Wenn ich es mir aussuchen könnte, hätte ich gern das Verhalten wie im Web, so dass 2 Timer entstehen, unabhängig von der Reihenfolge der Programmierung. :original:

Share this post


Link to post
Nanohcv

Welchen Sinn macht ein Timer innerhalb eines anderen Timers? :original:

Share this post


Link to post
nuts

Berechtigte Frage, aber der Benutzer (der API) sollte schon King-Admin bleiben. ;)

z.B. Kann man einen Serienmarathon doppelt aufnehmen. Einmal in Einzelfolgen zum archivieren und einmal am Stück um direkt ansehen ohne zwischen den Folgen das File wechseln zu müssen (inkl. Vorlaufzeit überspringen).

Muss zugeben sowas auch schon programmiert zu haben. :D

Share this post


Link to post
MarcA

Hallo Nuts,

 

schöner hätte ich es nicht erklären können. :original:

 

Ich bin noch mal die verschiedenen Versionen durchgegangen, in der 1.29 trat der Effekt noch nicht auf, das muss eine neue Entwicklung sein. Ich würde mich freuen, wenn das alte Verhalten der API den Weg in die nächste Version finden würde.

 

Viele Grüße

Marc

Share this post


Link to post
Griga

Im nächsten Release wird man einen Parameter übergeben können (allowdup=1), der den Duplikat-Check deaktiviert.

 

Grundsätzlich sollte es ihn jedoch geben. Ein Add-On, das doppelte Timer ausschließen will, müsste sonst erst sämtliche Timer vom RS holen und selbst vergleichen.

Share this post


Link to post

  • Similar Content

    • t5b6_de
      By t5b6_de
      Hallo zusammen, 
       
      ich möchte für den DVBViewer und den Media Server plugins schreiben die  (im ersten Schritt Daten im TS-Datenstrom abgreifen, später dann auch manipulieren)
       
      Gibt es irgendwo ein Projektbeispiel für Visual Studio in c++ oder c?

      Ich konnte leider keines finden, oder war nicht in der Lage einen passenden Suchbegriff zu formulieren.
       
      Grüße
      Thomas
    • AnBad
      By AnBad
      Hallo,
      weiß jemand eine Möglichkeit wie man von FHEM aus EPG_Daten des Mediaservers aufrufen bzw. nach FHEM importieren kann? Also z.B. einmal am Tag für bestimmte Sender das Programm für z.B. die nächsten drei Tage.
       
      Ich weiß es gibt eine API-Schnittstelle im Mediaserver. Aber ich habe da keine Ahnung. Könnte man mit "http://[user]:[password]@[IP]:[port]/api/" Daten im Browser anzeigen lassen, die man dann mit Parsing abgreift? Wobei ich nicht einmal weiß, welchen User und Passwort ich in das Link eintragen müsste.
       
      Danke
      Michael
    • sir drake
      By sir drake
      Hallo Griga,
      ich möchte ein meinem Programm neben dem CHANNEL-NAME auch die Quelle( SAT/Internet...HLS Deutsch....)  einer Aufnahme anzeigen.
      In einem TIMER-RECORD habe kann ich hierfür den Node  <CHANNEL ID> zerlegen und benutzen.
      In einem RECORDING-RECORD habe ich nur den Node >CHANNEL>xxxx</CHANNEL>
      Das reicht leider für meine Zwecke nicht aus.

      <recording id="98" charset="255" start="20181021195500" duration="001000">
      <channel>Das Erste</channel>
      <channel ID>1234567890</channel ID>
      <file>
      d:\_aufnahmen\2018-10-21_19-59-23_das erste_tagesschau.ts
      </file>
      <title>Tagesschau</title>
      <image>2706243175_SM.jpg</image>
      </recording>
       
      Vielleicht kannst du diesen Node optional beim Aufruf hinzufügen:
       
      ....://localhost:8089/api/recordings.html?utf8=1&amp;images=1;channel_id=1
       
       
      vg & Dank 
      Sir Drake
    • sir drake
      By sir drake
      Hello Griga,
       
      maybe somthing for further versions.
       
      by using the Tasks-command ( api/tasks.html?action=.... ) 
      i did not know, when a started process is finished.
      (also not if start has happen successfully. no feedback given ) 

      should it be possible to implement this as a feedback
      once in the existing status2-request or in a sep. new tasks-status-request ? 

      in a very specific case i need to know if a process has ended 
      prior i fire the next command to dms.
       
      every suggestion is welcome
       
      brgds
      sir drake
       
    • Siox
      By Siox
      Hallo zusammen,
       
      Dear english Reader,
      see below the german text.
       
      ich wollte euch gerne ein Projekt vorstellen, welches ich schon ewig vor hatte. Leider ist erst jetzt etwas daraus geworden.
       
      Im Prinzip geht es bei meinem Projekt darum, die Media Server API in die objektorientierte .Net Welt zu holen. Mein Projekt ist also ein Wrapper der nicht viel Wissen um die API mitbringen soll. Der Wrapper soll sich um alles selbst kümmern. Also um die Kommunikation mit dem Media Server und mit dem Aufbereiten der Daten.
       
      Was der Wrapper leisten soll:
      Der Wrapper soll es ermöglichen z.B. Massenänderungen an Aufnahmen vorzunehmen. Er soll es ferner ermöglichen leicht nach Inhalten zu suchen und diese auf dem Player seiner Wahl abzuspielen. Den Player selbst muss man entweder selbst erstellen oder man greift auf die integrierte DVBViewer Kontrollfunktionen zurück. Er soll auch eine komplette Ferndiagnose möglich machen. So denke ich darüber nach, den Wrapper auch nach .Net Core zu portieren, damit ich ein Überwachungstool des Servers auf einem Raspberry PI umsetzen kann. Auch ein Port nach UWP ist möglich, damit lassen sich Windows Store Apps umsetzen.
       
      Ich dachte mir nun: Wenn ich ihn weiter entwickele, dann darf er ruhig auf die Bedürfnisse anderer zugeschnitten werden.
       
      Den Sourcecode des Projektes habe ich auf Github online gestellt. Getestet wird der Wrapper von mir aktuell in einer CLI Anwendung.
       
      English Version:
      I wanted to introduce you to a project that I had planned for ages. Unfortunately, only now has something come of it.

      In principle, my project is about getting the Media Server API into the object-oriented .Net world. My project is a wrapper that does not have much knowledge about the API. The wrapper should take care of everything. So to the communication with the Media Server and the preparation of the data.

      What the wrapper should do:

      The wrapper should allow e.g. Make mass changes to recordings. He should also make it easy to search for content and play it on the player of his choice. You either have to create the player yourself or you can access the integrated DVBViewer control functions. He should also make a complete remote diagnosis possible. So I'm thinking about porting the wrapper to .Net Core so I can implement a server monitoring tool on a Raspberry PI. A port to UWP is possible, so that can be implemented Windows Store Apps.

      I thought to myself: If I continue to develop it, then it can be tailored to the needs of others.

      I put the source code of the project online on Github. The wrapper is currently being tested by me in a CLI application.
       

       
      German:
      Eine Demo CLI-Anwendung ist in der Beschreibung des Git. Sowie auch der Stand des Projektes.
       
      Um selbst damit zu starten, brauchst du nichts weiter über den MediaServer wissen, außer die IP-Adresse, den Benutzernamen und das Passwort.
      So hat man das Wichtigste mit den folgenden Zeilen Code schon erledigt.
       
      English:
      A demo CLI application is in the description of Git. As well as the state of the project.

      To start it yourself, you do not need to know anything about the MediaServer except the IP address, username and password.
      So you have already done the important thing with the following lines code.
      var dvbServ = new DVBViewerServerApi { IpAddress = "Name-of-PC or IpAddress", //Password is now a SecureString, read the readme on Github //Password = "password for guest or admin", User = "username for guest or admin", Port = 8089 }; German:
      Ich freue mich auf Reaktionen und Kommentare dazu.
       
      Hinzugekommen ist eine Demo-Applikation, welche in WPF geschrieben ist. Diese App funktioniert ab Windows 7. Einen Download findest du am Ende dieses Beitrages.
      Diese App unterstützt die Sprachen Deutsch und Englisch.
       
      English:
      I look forward to reactions and comments.
        Added is a demo application written in WPF. This app works from Windows 7. You will find a download at the end of this article.
      This app supports the languages German and English.  

       
      Link zur Source: Projekt auf Github.com
      Link zur Demo mit grafischer Oberfläche - Sourcecode: Projekt auf Github.com
      Link zur Demo Release - Ausführbare Datei: Release auf Github.com
×
×
  • Create New...