Neues Modul - 66_EPG.pm | TV Programm,Tabelle, FTUI (Anregung,Erweiterung,Tests)

Begonnen von HomeAuto_User, 03 November 2019, 12:45:08

Vorheriges Thema - Nächstes Thema

OdfFhem

@HomeAuto_User

get würde ich momentan als flexibelste Möglichkeit für das "Abholen" von aufbereiteten EPG-Daten ansehen. Ob dann eine bereits vorliegende Variable oder ein neu berechneter Wert zurückgegeben wird, kann der Anfragende nicht beurteilen; dies liegt vollständig in Modulhänden ...

Reading fällt meiner Meinung nach angesichts der Datenmenge und auch bei möglicher Parametrisierung einer Anfrage als sinnvolle Möglichkeit für die zurückzuliefernden EPG-Daten weg.

HomeAuto_User

Zitat von: OdfFhem am 08 Januar 2020, 14:47:00
@HomeAuto_User

Mir ist noch aufgefallen, dass Langtext zu Sendungen genau dann fehlt, wenn es eigentlich besonders interessant wäre.

Beispielsweise sind heute u.a. folgende Sendungen betroffen, obwohl ein Langtext vorhanden ist:

ZDF 18:00 18:54 SOKO Wismar
ZDF 19:25 20:15 Heldt
ZDF 20:15 21:45 Das Mädchen am Strand



Habe ich soeben gefixt.

Thema FTUI ich werde morgen beginnen eine Funktion zu integrieren wo dann die angezeigten Daten als Return erstmal wiedergegben werden damit Ihr schauen könnt, ob es so dem entspricht.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

HomeAuto_User

Irgendwie hänge ich gerade an der JSON Ausgabe :-(

Mir schwebte vor, beim setzen von dem Attribut FTUI die Ausgabe als JSON zu präsentieren.
Wohin, das muss ich noch überlegen.
Zusätzlich würde ich da nicht benötigte Ausgaben oder HTML Anzeigen deaktivieren.

Geht das so wie ich mir vorstelle?

Edit:

JSON Daten für FTUI wären dann wie folgt:

{"ANIXE SD":{"ch_name":"ANIXE SD","EPG":[{"title":"Infomercial","end":"20200114171500 +0100","desc":"Infomercial. Bestellen Sie das Produkt Ihrer Wahl bequem per Telefon, Fax, Onlineshop oder E-Mail","subtitle":"","start":"20200114170000 +0100"}],"ch_wish":"23","ch_id":"Anixe.de"},"ZDF":{"ch_wish":"2","Ch_Command":"set Fernsehr_LG channel 2","ch_id":"ZDF.de","ch_name":"ZDF","EPG":[{"start":"20200114171000 +0100","subtitle":"[Boulevardmagazin, Infomagazin]","desc":"Das Boulevard- und Schlagzeilenmagazin berichtet unterhaltsam und informativ über Menschen und ihre Geschichten in den Bundesländern und über das Leben von Prominenten in Deutschland","title":"hallo deutschland","end":"20200114174500 +0100"}]},"DMAX":{"ch_name":"DMAX","EPG":[{"desc":"Der Mietvertrag wurde nicht verlängert. Deshalb hat Mohammed Abdullah monatelang versucht, eine neue Wohnung zu finden. Aber der Familienvater kämpft mit gesundheitlichen Problemen und schlägt sich ohne eine feste Anstellung mit Gelegenheitsarbeiten durch. Deshalb war es ihm nicht möglich, genug Geld für die Kaution anzusparen. Paul Bohill und Max Carracher haben für diese Argumente großes Verständnis, trotzdem müssen die Gerichtsvollzieher in London ein rechtsgültiges Urteil des britischen High Court durchsetzen. Die Unterkunft wird zwangsgeräumt","title":"Die Zwangsvollstrecker: Episode 22","end":"20200114171500 +0100","start":"20200114161500 +0100","subtitle":"Doku-Soap"}],"ch_id":"DMax.de","ch_wish":"24"},"Sat.1":{"EPG":[{"subtitle":"Doku-Soap","start":"20200114170000 +0100","end":"20200114173000 +0100","title":"Klinik am Südring - Die Familienhelfer","desc":"Der zehnjährige Paul ist seit ein paar Wochen verbissen ehrgeizig beim Fußballtraining. Ständig foult er seine Mitspieler, um Tore zu schießen. Ist seine plötzliche Agressivität ein Ventil für eine geheime Wut? - Eine 15-Jährige knibbelt in der Klinik an ihrer frischen Blinddarmwunde und simuliert Schmerzen. Für den Arzt steht fest, dass sie alles dafür tut, um länger im Krankenhaus bleiben zu können. Wovor hat das Mädchen zu Hause Angst"}],"ch_name":"Sat.1","ch_wish":"4","ch_id":"Sat1.de"},"BR Fernsehen Süd":{"ch_id":"BR.de","ch_wish":"23","EPG":[{"subtitle":"Heimatmagazin","start":"20200114161500 +0100","end":"20200114173000 +0100","title":"Wir in Bayern","desc":""}],"ch_name":"BR Fernsehen Süd"},"WDR Fernsehen":{"ch_id":"WDR.de","ch_wish":"23","ch_name":"WDR Fernsehen","EPG":[{"desc":"Interessante Reportagen geben Einblick in den Alltag von Menschen aus Nordrhein-Westfalen","title":"Hier und heute","end":"20200114180000 +0100","start":"20200114161500 +0100","subtitle":"(Hier und Heute) (2020)"}]},"Eurosport1":{"EPG":[{"title":"Ski Alpin - Adelboden : FIS Weltcup 2019/20 in Adelboden (SUI)","end":"20200114173000 +0100","desc":"(45min)","subtitle":"","start":"20200114164500 +0100"}],"ch_name":"Eurosport1","ch_id":"Eurosport1.de","ch_wish":"25"},"SWR Fernsehen BW":{"ch_id":"SWR.de","ch_wish":"23","EPG":[{"desc":"Das tägliche Servicemagazin bietet Experten-Tipps für die Bereiche Heim und Garten Gesundheit sowie rund um Küche und Haushalt. Zuschauer können live ihre Meinung zu aktuellen Themen mitteilen mit Studiogästen sprechen oder bei einem Quiz gewinnen","end":"20200114180000 +0100","title":"Kaffee oder Tee","start":"20200114170500 +0100","subtitle":"[Ratgeber, Infomagazin] Der SWR Nachmittag"}],"ch_name":"SWR Fernsehen BW"},"VOXup":{"ch_wish":"9","ch_id":"VOXup.de","ch_name":"VOXup","EPG":[{"title":"Menschen, Tiere & Doktoren","end":"20200114181000 +0100","desc":"Tierrettung München: Nymphensittich \"Peterle\" hat sich beim Versuch, den Käfig hochzuklettern, am Fuß verletzt. Er schreit vor Schmerzen, so dass Familie Ahlert keine andere Möglichkeit sieht, als die Tierrettung anzurufen - ein Fall für Dr. Birgit Schwarzmann und Helfer Marc Schneider. Erste Diagnose: Der Ring am Fuß ist bereits mit dem Knochen verwachsen. Dieser scheint die Ursache für \"Peterles\" Schmerzen zu sein und muss entfernt werden. Ein Schock für Familie Ahlert, denn vor Jahren ist ihr Kaninchen narkotisiert worden und nicht mehr aufgewacht. Jetzt haben sie Angst, dass es hier auch so sein wird","subtitle":"[Menschen. Tiere & Doktoren. Serie] . [Tierarztserie]","start":"20200114171000 +0100"}]},"RTL Nitro":{"ch_id":"RTLNitro.de","ch_wish":"23","ch_name":"RTL Nitro","EPG":[{"title":"Baywatch - Die Rettungsschwimmer von Malibu: Die Nacht des schwarzen Mondes","end":"20200114173000 +0100","desc":"Alte Legenden über DeVargas Point, das nur wenige Kilometer nördlich der Baywatch-Zentrale liegt, sorgen für Aufregung, als Eddies Partner Kirby tot aufgefunden wird. In der Nacht zuvor hatte Kirby nämlich eine geheimnisvolle Frauengestalt auf den Klippen in der Nähe der Bucht entdeckt. Er hat auch Eddie von der mysteriösen Geschichte erzählt, der die Frau dann ebenfalls zu sehen glaubt. Doch niemand außer Eddie bringt die Frauengestalt mit Kirbys Tod in Verbindung. Im Gegenteil, alle halten ihn für überreizt. Schließlich wird er sogar von seinen Vorgesetzten in eine psychiatrische Anstalt geschickt.Craigs Frau Gina entdeckt bei einem Antiquitätenhändler ein Gemälde, das eine Frau im weißen Nachthemd zeigt und auch sonst haargenau mit Eddies Erzählung übereinstimmt. Der Sohn des Künstlers sagt, dass das Bild auf eine wahre Begebenheit zurückgehe, die sich in den 20er-Jahren zugetragen hat. Damals sei bei einer Mondfinsternis der Leuchtturm auf den Klippen abgebrannt und die Familie des Leuchtturmwärters ist bis auf die kleine Tochter in den Flammen umgekommen. Die Tochter habe sich für das Feuer verantwortlich gefühlt, sei darüber verrückt geworden und dann spurlos verschwunden","subtitle":"Actionserie","start":"20200114164000 +0100"}]},"RTL":{"ch_wish":"5","ch_id":"RTL.de","ch_name":"RTL","EPG":[{"desc":"Als Robert einen Kuss zwischen Kathi und Manuel sieht, wird ihm getroffen klar, dass die beiden wieder ein Paar sind. Dass er trotz des Lügendetektortests noch immer keine Gewissheit hat, dass Manuel der Mörder seines Vaters ist, frustriert ihn so sehr, dass er Viktoria vor den Kopf stößt und sich betrinkt. Kathi bleibt nichts mehr, als sich von Robert zu verabschieden","end":"20200114173000 +0100","title":"Herz über Kopf","start":"20200114170000 +0100","subtitle":"Telenovela"}]},"sixx":{"ch_id":"Sixx.de","ch_wish":"23","ch_name":"sixx","EPG":[{"end":"20200114173000 +0100","title":"Total Dreamer - Träume werden wahr: Kapitel 126","desc":"Eliza wächst bei ihrem Stiefvater auf, der sie nicht besonders gut behandelt. Am liebsten würde sie von Zuhause abhauen und ein neues Leben beginnen. Als sie auf den Unternehmer Arthur trifft, gerät sie ins Träumen .","subtitle":"Drama","start":"20200114163000 +0100"}]},"NDR Fernsehen NDS":{"ch_wish":"23","ch_id":"ndr.de","EPG":[{"start":"20200114171000 +0100","subtitle":"[Doku-Soap, Tiere] Geschichten aus dem Tierpark Hagenbeck in Hamburg (2012)","desc":"Heute Honigtag im Tierpark Hagenbeck / Eine Wundertüte für den Pavianclan / Das Elefantenmädchen mit der Mundharmonika / Ein Irrtum bei den Mähnenspringern\nDank einer grosszügigen Spende eines Hamburger Imkers ist Hagenbeck heute der Tierpark in dem der Honig fliesst. Orang-Utans Tapire Nasenbären fast alle kommen in den Genuss der süssen Leckerei. Doch den Pavianen sind Honigkekse nicht genug um die Affen mit dem roten Hinterteil zu beschäftigen versorgt Kevin Surmilo sie ausserdem mit Mais Gemüse Fussbällen und Strohsäcken","title":"Leopard, Seebär & Co.","end":"20200114180000 +0100"}],"ch_name":"NDR Fernsehen NDS"},"DELUXE MUSIC":{"ch_wish":999,"ch_id":"DeLuxeMusic.de","EPG":[{"end":"20200114200000 +0100","title":"Hits Only","desc":"\"Alles Killer keine Filler einmal quer durch die Top 40 der letzten 25 Jahre\" – so bewirbt sich die Hitsendung auf dem Musiksender mit ihren eigenen Worten. Damit ist eigentlich alles gesagt. Eine repräsentative Rundreise durch ein Vierteljahrhundert Chartgeschichte. Mit vielen Highs aber durchaus auch einigen Lows der Branche. Auf jeden Fall etwas für Pop-Nostalgiker","subtitle":"[Magazin, Musikmagazin]","start":"20200114160000 +0100"}],"ch_name":"DELUXE MUSIC"},"MDR S-Anhalt":{"EPG":[{"start":"20200114170000 +0100","subtitle":"[Information] . [Regionalmagazin] (2020)","desc":"Neues von hier & Leichter leben - Berichterstattung über aktuelle politische, wirtschaftliche, soziale, kulturelle, sportliche und sonstige Ereignisse für die Regionen Sachsen, Sachsen-Anhalt und Thüringen in komprimierter Form. Die Reporter sind vor Ort unterwegs und liefern Hintergrundinformationen. Außerdem hält die Sendung alle relevanten Infos zur aktuellen Lage auf den Straßen und zum Wetter bereit","title":"MDR um 4","end":"20200114174500 +0100"}],"ch_name":"MDR S-Anhalt","ch_id":"MDRS-Anhalt.de","ch_wish":"23"},"Das Erste":{"EPG":[{"start":"20200114170000 +0100","subtitle":"Mit Wetter","desc":"Aktuelle Themen aus Politik Wirtschaft Kultur Sport Gesellschaft und Wissenschaft aus dem In- und Ausland werden in ausführlichen Hintergrundberichten beleuchtet. In Stellungnahmen und Meinungsäusserungen wird auch unterschiedlichne Standpunkten Raum gegeben","title":"Tagesschau","end":"20200114171500 +0100"}],"ch_name":"Das Erste","Ch_Command":"set Fernsehr_LG channel 1","ch_wish":"1","ch_id":"ARD.de"},"kabel eins":{"ch_id":"Kabel.de","ch_wish":"7","ch_name":"kabel eins","EPG":[{"end":"20200114175500 +0100","title":"Abenteuer Leben täglich: Der größte Fischmarkt der Welt","desc":"Reporter Igor Rosenfeld reist nach Tokio, um sich einen Eindruck vom größten Fischmarkt der Welt zu verschaffen. Hier findet unter anderem regelmäßig eine riesige Thunfischauktion statt. Doch wo kommt die Meeresware eigentlich her? \"Abenteuer Leben\" berichtet vom harten Alltag der Fischer und Muscheltaucher auf der japanischen Insel Toshi und stattet dem renommiertesten Koch der Region einen Besuch ab","subtitle":"Infomagazin","start":"20200114165500 +0100"}]},"SR Fernsehen":{"EPG":[{"start":"20200114170500 +0100","subtitle":"","desc":"Der SWR NachmittagDas tägliche ServicemagazinUnter anderem ca. 17.40 Uhr das Quiz","end":"20200114180000 +0100","title":"Kaffee oder Tee"}],"ch_name":"SR Fernsehen","ch_id":"SRFernsehen.de","ch_wish":"23"},"ProSieben":{"ch_name":"ProSieben","EPG":[{"subtitle":"Boulevardmagazin","start":"20200114170000 +0100","title":"taff","end":"20200114180000 +0100","desc":"Bei \"taff\" dreht sich eine Stunde lang alles um die Themen des Tages: die bewegendsten, schönsten, lustigsten und skurrilsten Bilder der letzten 24 Stunden, gut recherchierte Geschichten von Menschen und ihren Schicksalen, die News zu Stars und Sternchen sowie aktuelle Tipps und Trends"}],"ch_id":"Pro7.de","Ch_Command":"set Fernsehr_LG channel 3","ch_wish":"3"},"SPORT1":{"ch_wish":"26","ch_id":"Sport1HD.de","ch_name":"SPORT1","EPG":[{"start":"20200114170000 +0100","subtitle":"Dokumentation","desc":"In den USA kann jeder, der Lagerraum benötigt, eine \"storage unit\" anmieten und dort seine privaten Gegenstände unterbringen. Wird allerdings die Miete nicht gezahlt, kommt es zur Versteigerung des Inhalts - und in den Lagerräumen können sich wahre Schätze verstecken. Bei der Ankunft darf jeder Interessent allerdings nur einen kurzen Blick auf den Inhalt werfen, bevor es ans Bieten geht. In jeder in sich abgeschlossenen Episode von \"Storage Wars - Die Geschäftemacher\" ist Spannung garantiert: Wie weit werden die Bieter mit dem Gebot nach oben gehen? Und was werden sie dafür ersteigern","end":"20200114173000 +0100","title":"Storage Wars - Die Geschäftemacher: Süße Träume"}]},"ZDFneo":{"ch_id":"ZDFneo.de","ch_wish":"23","EPG":[{"title":"Psych: Lügen, Leiche und Loge","end":"20200114174000 +0100","desc":"Der Patriarch einer Loge, Arthur Holmstrom, wird tot aufgefunden, doch die Mitglieder sind wenig überrascht. Um die Sache zu klären, engagieren sie das ehemalige Mitglied Henry Spencer. Durch das Engagement von Henry Spencer erfährt auch Shawn vom Tod des Patriarchen. Doch nicht nur Shawn hat eine familiäre Verbindung zu dem Fall. Auch Lassiters Schwiegervater ist Mitglied und einer der Hauptverdächtigen. Allerdings fehlen hier noch die Beweise","subtitle":"Krimi Comedyserie","start":"20200114170000 +0100"}],"ch_name":"ZDFneo"},"ProSieben Maxx":{"EPG":[{"desc":"Whitebeards Kommandanten stellen ihr Können zur Schau. Jeder zeigt, was er kann, doch Akainus Fähigkeiten verblüffen besonders: Er kann Magma als Waffe einsetzen","title":"One Piece: Die Kraft die alles verbrennt! Der Mann aus Magma","end":"20200114173500 +0100","start":"20200114171000 +0100","subtitle":"Animationsserie"}],"ch_name":"ProSieben Maxx","ch_id":"ProSiebenMaxx.de","ch_wish":"23"},"3sat":{"ch_id":"3sat.de","ch_wish":"23","ch_name":"3sat","EPG":[{"start":"20200114170500 +0100","subtitle":"","desc":"Bali ist eine indonesische Insel voller Magie und Exotik. Moderatorin Wasiliki Goutziomitros besucht die Insel in Südostasien und trifft dort die unterschiedlichsten Menschen.Die Götter spielen eine große Rolle im Leben der Balinesen. Einer der höchsten Priester Balis gewährt ihr Einblick in seine privaten Zeremonien und seine persönlichen Heiligtümer. Mit einem Bootsbauer spricht Goutziomitros über den Rückgang der Fischbestände.Außerdem nimmt Wasiliki an einer Bootssegnung teil. Sie geht mit einem Schweizer auf eine Trekkingtour durch unberührte Landschaften, und sie lässt sich von einem Tanzlehrer die Bedeutung des balinesischen Tanzes erklären. Ihre Reise führt sie außerdem an traumhafte Strände, durch Reisfelder und in die Stadt Ubud, das kulturelle Zentrum Balis","title":"unterwegs: Reisterrassen, Strände und Götter","end":"20200114174500 +0100"}]},"RTL II":{"ch_id":"RTL2.de","ch_wish":"6","ch_name":"RTL II","EPG":[{"subtitle":"Doku-Soap","start":"20200114160000 +0100","title":"Hartz und herzlich - Tag für Tag Benz-Baracken","end":"20200114180500 +0100","desc":"Marina und Florian können ihre Kosten nicht mehr decken. Das Paar kümmert sich neben den sieben Kindern nun auch um neun Hundewelpen - und das strapaziert die Haushaltskasse aufs Äußerste. Hundemama Saphira musste die Jungen zudem per Notkaiserschnitt zur Welt bringen - knapp 1.500 Euro werden für den lebensnotwendigen Eingriff nun fällig. Das bringt die Großfamilie finanziell in höchste Not"}]},"VOX":{"ch_wish":"8","ch_id":"Vox.de","EPG":[{"desc":"Wenn das ersehnte Hochzeitsdatum feststeht, ist bei Bräuten in spe das Herzklopfen groß und die To-Do-Liste lang. Ein Punkt steht aber bei allen ganz vorn auf der Agenda: das perfekte Brautkleid. Doch welches Modell passt zur Figur und ins Budget? Schnell stellt sich bei den angehenden Bräuten Überforderung ein, doch die Brautmodenausstatter der Doku-Soap 'Zwischen Tüll und Tränen' bewahren bei allen Kundenwünschen einen kühlen Kopf!+ München / 'Dirndl Liebe'+ Wetzlar / 'Marie Bernal'+ Dortmund / 'Lavie Sposa","end":"20200114180000 +0100","title":"Zwischen Tüll und Tränen","start":"20200114170000 +0100","subtitle":"Doku-Soap"}],"ch_name":"VOX"},"hr-fernsehen":{"EPG":[{"desc":"Die Sendung bietet Service im Plauderton, kombiniert mit etwas Klatsch und Tratsch. Bei einer Tasse Kaffee oder Tee plaudern wir mit interessanten Menschen aus Hessen, die etwas Besonderes können, tun oder haben","end":"20200114175000 +0100","title":"hallo hessen","start":"20200114170000 +0100","subtitle":"Heimatmagazin"}],"ch_name":"hr-fernsehen","ch_wish":"23","ch_id":"HR.de"},"Super RTL":{"ch_id":"SuperRTL.de","ch_wish":"23","ch_name":"Super RTL","EPG":[{"subtitle":"Animationsserie","start":"20200114171000 +0100","title":"Mighty Mops: Tacos für Zwei / Der Kragen des Grauens / Im Pool","end":"20200114174000 +0100","desc":"1. Geschichte: Familie Mikkelsen ist nicht zu Hause. Also nutzt Mike die Gelegenheit und möchte die Nachbarhündin Stella zu einem mexikanischen Essen einladen.2. Geschichte: Mike ist dazu verdammt, eine Halskrause vom Tierarzt zu tragen - ein Albtraum! Sie ist nicht nur unbequem, sondern sieht auch noch völlig lächerlich aus.3. Geschichte: Mike möchte Stella beim Wasserspringen beeindrucken"}]},"Sat1 Gold":{"ch_wish":"23","ch_id":"Sat1Gold.de","ch_name":"Sat1 Gold","EPG":[{"desc":"Vor vielen Jahren waren Mack und Murray ein beliebtes Komiker-Duo. Als es dann aber zu Unstimmigkeiten mit Trudy, Macks späterer Frau, kam, trennten sich ihre Wege. Jahre später treffen sich die beiden auf der Hochzeit von Macks Sohn Kip und Murrays Tochter Corrie wieder, und schnell entbrennt der alte Streit erneut. In der Nacht wird Murray mit einem Messer verletzt - er verdächtigt sofort Mack, doch Jessica ist drauf und dran dessen Unschuld zu beweisen","end":"20200114174500 +0100","title":"Mord ist ihr Hobby: Ein mörderisches Wiedersehen","start":"20200114165000 +0100","subtitle":"Krimiserie"}]}}


Diese könnte ich mit dem Inhalt in ein Reading für Euch schreiben, ist das angebracht?

Edit 2:
Es kann gern ein update gemacht werden und mit dem FTUI_support attrib erhaltet Ihr erstmal ein Reading mit den Daten. Bitte prüfen ob dies für eure Anbindung funktioniert.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

OdfFhem

@HomeAuto_User

Ich hoffe, diese Antwort wird nicht missverstanden; sie ist ausschließlich als konstruktive Kritik gemeint ...

Die von Dir bereitgestellte JSON-Struktur ist zwar valides JSON, aber gefällt mir trotzdem nicht, da sie sich nicht gut verarbeiten lässt und auch nicht die datentechnischen Gegebenheiten widerspiegelt.


Normalerweise/Idealerweise gibt es eine oberste Ebene, die namentlich festgelegt ist (z.B. employees). Dann folgt eine Liste von gleichartigen Objekten (jeweils ein employee). Ein solches Objekt hat dann unterschiedlichste Eigenschaften, die wieder namentlich festgelegt wurden. Diese Eigenschaften können aus einem einfachen Wert (z.B. Geburtsdatum) oder aber wieder aus einer Liste von Objekten (z.B. Rufnummern) bestehen. Und immer so weiter ...

JSON Syntax Regeln:
  - Eigenschaften sind Name/Wert-Paare
  - Eigenschaften werden durch Komma getrennt
  - Geschweifte Klammern fassen Eigenschaften zusammen und "definieren" ein Objekt
  - Eckige Klammern fassen gleichartige Objekte zusammen und definieren eine Liste

Einfaches Beispiel:

{
  "employees":[
     {"firstName":"John", "lastName":"Doe"},
     {"firstName":"Anna", "lastName":"Smith"},
     {"firstName":"Peter", "lastName":"Jones"}
  ]
}



Dein (eingekürzter) Vorschlag:

{
  "Sat1 Gold": { "EPG": [{ "title": "Diagnose: Mord: Lösegeld-Übergabe", "start": "20200114150500 +0100", "hour_diff": "+0100", "subtitle": "Krimiserie","end":"20200114155500 +0100", "desc": "Ein kleiner Junge ..."}],
"ch_id": "Sat1Gold.de",
"ch_name": "Sat1 Gold",
"ch_wish": "23"},
  "DMAX": { "EPG": [{ "hour_diff": "+0100","start": "20200114151500 +0100","title": "Die Schatzsucher - Goldrausch in Alaska: Böses Blut","desc": "Rund 275.000 US-Dollar ...","end": "20200114161500 +0100","subtitle": "Abenteuerdoku"}],
    "ch_id": "DMax.de",
    "ch_name": "DMAX",Schall und Rauch
    "ch_wish": "24"}
}



Mein (eingekürzter) Gegenvorschlag:

{"epg":[{ "ch_id":"ARD.de",
          "ch_name":"Das Erste",
          "ch_wish":1,
          "ch_command":"set ftuitest epg_resource DasErste",
          "ch_progs":[{ "start":"2020-01-08T17:00:00", "end":"2020-01-08T17:15:00", "title":"Tagesschau", "description":"Detailinfo zu ..." },
                      { "start":"2020-01-08T21:40:00", "end":"2020-01-08T22:15:00", "title":"Plusminus", "description":"Detailinfo zu ..." }
                     ]},
        { "ch_id":"ZDF.de",
          "ch_name":"ZDF",
          "ch_wish":2,
          "ch_command":"set ftuitest epg_resource DasZweite",
          "ch_progs":[{ "start":"2020-01-08T17:00:00", "end":"2020-01-08T17:10:00", "title":"heute", "description":"Die Nachrichtensendung ..." },
                      { "start":"2020-01-08T21:45:00", "end":"2020-01-08T22:15:00", "title":"heute-journal", "description":"Das Nachrichtenmagazin ..." }
                     ]}
       ]}



Beim Gegenvorschlag geht es rein um die Datenstruktur, die Namen sind "frei erfunden".

Sollte es (teilweise oder auch ganz) andere Meinungen zum Thema geben, immer her damit ...



Wie schon öfter angemerkt, wird aus verschiedensten Gründen kein Reading benötigt. Die get-Routine wird in der Regel bei Bedarf parametrisiert angestossen und das Ergebnis asynchron übertragen. Unter Umständen macht es Sinn - wenn dies nicht sowieso schon gemacht wird - die aufbereiteten Daten im flüchtigen Speicher vorzuhalten, um bei einer identen Abfrage ohne Neuaufbereitung antworten zu können.

HomeAuto_User

Ich verstehe deinen Post nicht verkehrt ;-)

Bitte schau aber mal dieses gleiche Ergebnis an

{"ZDFneo":{"ch_name":"ZDFneo","EPG":[{"subtitle":"TV-Kriminalfilm","start":"20200114201500 +0100","title":"Marie Brand und die Spur der Angst","end":"20200114214500 +0100","desc":"Die Kommissare Marie Brand und Jürgen Simmel ermitteln im Mordfall des Pferderennstallbetreibers Peter Süssner, der in der Kölner Vorstadt erschossen aufgefunden wurde. Marie und Simmel vermuten den Mörder in seinem Milieu, zumal der Tote mit illegal agierenden Buchmachern aneinandergeraten war. Eine neue Spur ergibt sich jedoch, als Dr. Engler auf Überwachungsaufnahmen vom Tatort Marek Kahlert wiedererkennt. Der gerade erst aus dem Gefängnis entlassene Kahlert hatte vor vielen Jahren einen Mann entführt und Lösegeld erpresst, das nur zum Teil gefunden worden ist. Marie und Simmel glauben nicht, dass Kahlert zufällig in Tatortnähe war, und fahnden nach ihm. Dabei treffen sie auf den Rechtsanwalt Harald Joosten, der Kahlert im Entführungsfall vor Gericht verteidigt hat. Als der Ex-Häftling überraschend bei Joosten auftaucht und das Feuer auf Marie, Simmel und Joosten eröffnet, scheint Kahlerts Schuld offensichtlich. Die Kommissare suchen intensiv nach ihm und finden ihn wenig später erschossen auf. Die Spuren führen die Kommissare immer tiefer in den alten Entführungsfall, wobei die Rolle von Harald Joosten zunehmend undurchsichtig wird. Aber auch das damalige Entführungsopfer Clemens Drobeck hat ein Motiv, sich an Kahlert zu rächen, der ihn nicht nur finanziell geschädigt, sondern auch seine Ehe zerstört hat. Kahlert hatte eine Affäre mit Drobecks Frau Anne angefangen, um leichter an ihn heranzukommen. Allerdings ist Drobeck bei der Entführung schwer verletzt worden und sitzt seitdem im Rollstuhl. Ist er trotz seines Handicaps der Mörder"},{"desc":"In einem Waldstück wird die Leiche der Schamanin Sarah di Maga gefunden, die dort kurz zuvor einen Workshop geleitet hat. Ist der Mörder unter den Teilnehmern zu finden? Marie Brand und ihr Kollege Jürgen Simmel übernehmen die Ermittlungen. Nach Überprüfung der Workshop-Teilnehmer erweitert sich schnell der Kreis der Verdächtigen, denn Sarah di Maga hatte viele Feinde. Da ist zunächst ihre Kollegin Kyra, mit der sie kurz vor dem Mord in eine heftige Auseinandersetzung geraten war. Ganz offensichtlich ging es bei dem Streit um Geld. Ohnehin wird den Ermittlern immer deutlicher, dass Sarah di Maga nicht nur über übersinnliche Fähigkeiten verfügte, sondern eine ebenso fähige wie skrupellose Geschäftsfrau war. Ihrem früheren Arbeitgeber, dem Psychotherapeuten Dr. Beussel, hat sie Patientenakten gestohlen und zahlungskräftige Privatkunden weggenommen. Vor allem das Ehepaar Kuttner, dessen Sohn vor einem Jahr starb, hat viel Geld für Sarah di Magas Hilfe bezahlt. Frau Kuttner brach die Therapie unvermittelt ab. Fühlte sie sich von ihr ausgenutzt, oder wollte sich Dr. Beussel rächen? In der nicht leicht zu durchschauenden Welt der Wunderheiler und der Seelenwanderungen wird es für Marie und Simmel schwer, den Täter zu finden. Doch Marie überwindet ihre anfängliche Abwehr gegen Übersinnliches und nutzt schließlich selbst die Möglichkeiten der Hypnose, um den Mörder zu überführen","end":"20200114231500 +0100","title":"Marie Brand und die rastlosen Seelen","start":"20200114214500 +0100","subtitle":"TV-Kriminalfilm"},{"desc":"Wilsberg treibt sich unter falscher Identität beim Baulöwen Michael Lobland herum. Der hat all das, was Wilsberg nicht hat: schickes Auto, Smartphone und Geld, das investiert werden muss. Lobland will am alten Industriehafen ein luxuriöses Wohn- und Büroviertel errichten. Dafür hat er die Rückendeckung der Stadtentwicklerin Scharper. Allerdings steht Lobland bei seinem Vorhaben, das Gebiet aufzuwerten, eine Gruppe militanter Aktivisten im Weg. Die \"FIM\" hat sich in einer Lagerhalle verschanzt und will die Gentrifizierung mit aller Kraft verhindern. Als das Gebäude nach einem Drogenfund der Zollfahndung unter der Leitung von Oliver Maaß geräumt wird, verschärft sich der Konflikt: Am Abend brennt die Halle nieder. Mithilfe von Loblands Assistenten Tom rettet Wilsberg Ekki und die Aktivistin Kathi Jäger aus den Flammen. Wenig später wird Tom tot aufgefunden. Die \"FIM\"-Aktivisten sind davon überzeugt, dass Lobland sowohl für das untergeschobene Kokain als auch für den \"warmen Abriss\" verantwortlich ist. Lobland hingegen beschuldigt die \"FIM\", den Mord an seinem Assistenten begangen zu haben. Hat sich die \"FIM\" so radikalisiert, um das Bauvorhaben zu verhindern? Alex sympathisiert mit den Aktivisten; als Anwältin der \"FIM\" erwirkt sie die Freilassung des Tatverdächtigen Mesut Kaharasan. Während sich Springer und Overbeck bei den Ermittlungen mit dem Drogenfahnder Maaß auseinandersetzen müssen, geschieht ein zweiter Mord. Die Gewalt schaukelt sich weiter hoch, und Wilsberg begibt sich in Lebensgefahr - vor allem, als die wahren Motive seiner Undercover-Aktion deutlich werden: Anna Springer hatte Wilsberg beauftragt, Michael Lobland auf den Zahn zu fühlen. Der ist nämlich Anna Springers Vermieter","title":"Wilsberg: Mord und Beton","end":"20200115214500 +0100","start":"20200115201500 +0100","subtitle":"TV-Krimi"},{"desc":"Ekki wird heiraten. Wilsberg kann es nicht fassen. Und er soll Trauzeuge sein. Trotz der Zweifel, ob Kerstin Buckebrede die Richtige ist, kann er Ekki diese Bitte nicht abschlagen. Als der Pfarrer, der Ekkis Trauung vollziehen soll, im Antiquariat erscheint, erhält Wilsberg den zweiten Auftrag: Pfarrer Albers wird von Rosemarie Dettmer mit Liebesbriefen belästigt. Wilsberg soll diese peinliche Sache möglichst schnell diskret regeln. Doch wenig später wird Pfarrer Albers tot in seiner Wohnung gefunden. Kommissarin Anna Springer und ihr Kollege Overbeck nehmen die Ermittlungen auf. Bald gerät Rosemarie Dettmer unter dringenden Tatverdacht. Anwältin Alex - von der Unschuld ihrer neuen Mandantin überzeugt - setzt sich dafür ein, dass Rosemarie schnell aus der U-Haft entlassen wird. Anna Springer ist allerdings nicht wohl dabei, die aktenkundige Stalkerin freizulassen. Derweil verfolgt Wilsberg eine andere Spur, die ihn zu der Sexualtherapeutin Dr. Sabine Morgenstern führt. Wilsberg würde gern wissen, was der Pfarrer in ihrem Therapiezimmer zu suchen hatte - doch Frau Morgenstern beruft sich auf die Schweigepflicht. Overbeck legt sich derweil ins Zeug, um einen Junggesellenabschied für Ekki zu organisieren. Für Ekki werden die Hochzeitsvorbereitungen, in die sich Kerstins Eltern Manfred und Gloria Buckebrede kräftig einmischen, zu einer nervlichen Zerreißprobe. Nicht zuletzt auch, weil er von seiner Ex-Freundin Silke Sestendrup heimgesucht wird, die sich in den Kopf gesetzt hat, Ekkis Hochzeit zu verhindern. Je weiter Wilsberg in der Aufklärung des Falles vordringt, desto mehr ungeklärte Fragen tauchen auf. Was hat Dekan van der Vorst, der Pfarrer Albers bei der Trauung ersetzen wird, mit dem Mord zu tun? Welches Spiel spielt die Therapeutin Dr. Morgenstern wirklich? Und wie weit würde Ekkis Schwiegervater in spe gehen, um seine ehrgeizigen Ziele zu erreichen","end":"20200115231500 +0100","title":"Wilsberg: In Treu und Glauben","start":"20200115214500 +0100","subtitle":"TV-Krimi"},{"subtitle":"TV-Krimi","start":"20200116004500 +0100","end":"20200116021500 +0100","title":"Wilsberg: Mord und Beton","desc":"Wilsberg treibt sich unter falscher Identität beim Baulöwen Michael Lobland herum. Der hat all das, was Wilsberg nicht hat: schickes Auto, Smartphone und Geld, das investiert werden muss. Lobland will am alten Industriehafen ein luxuriöses Wohn- und Büroviertel errichten. Dafür hat er die Rückendeckung der Stadtentwicklerin Scharper. Allerdings steht Lobland bei seinem Vorhaben, das Gebiet aufzuwerten, eine Gruppe militanter Aktivisten im Weg. Die \"FIM\" hat sich in einer Lagerhalle verschanzt und will die Gentrifizierung mit aller Kraft verhindern. Als das Gebäude nach einem Drogenfund der Zollfahndung unter der Leitung von Oliver Maaß geräumt wird, verschärft sich der Konflikt: Am Abend brennt die Halle nieder. Mithilfe von Loblands Assistenten Tom rettet Wilsberg Ekki und die Aktivistin Kathi Jäger aus den Flammen. Wenig später wird Tom tot aufgefunden. Die \"FIM\"-Aktivisten sind davon überzeugt, dass Lobland sowohl für das untergeschobene Kokain als auch für den \"warmen Abriss\" verantwortlich ist. Lobland hingegen beschuldigt die \"FIM\", den Mord an seinem Assistenten begangen zu haben. Hat sich die \"FIM\" so radikalisiert, um das Bauvorhaben zu verhindern? Alex sympathisiert mit den Aktivisten; als Anwältin der \"FIM\" erwirkt sie die Freilassung des Tatverdächtigen Mesut Kaharasan. Während sich Springer und Overbeck bei den Ermittlungen mit dem Drogenfahnder Maaß auseinandersetzen müssen, geschieht ein zweiter Mord. Die Gewalt schaukelt sich weiter hoch, und Wilsberg begibt sich in Lebensgefahr - vor allem, als die wahren Motive seiner Undercover-Aktion deutlich werden: Anna Springer hatte Wilsberg beauftragt, Michael Lobland auf den Zahn zu fühlen. Der ist nämlich Anna Springers Vermieter"}],"ch_wish":"23","ch_id":"ZDFneo.de","title_wish":"yes"}}


Du hast ein Beispiel genommen wo bei einem Kanal mehrere Infos herauskommen und mein Vorschlag war nur eine Ausgabe wo immer eine Info vorhanden war.
Diese dir jetzt gezeigte Struktur ist das selbe Format wie deine denke nur winzig anders.

ZitatWie schon öfter angemerkt, wird aus verschiedensten Gründen kein Reading benötigt. Die get-Routine wird in der Regel bei Bedarf parametrisiert angestossen und das Ergebnis asynchron übertragen. Unter Umständen macht es Sinn - wenn dies nicht sowieso schon gemacht wird - die aufbereiteten Daten im flüchtigen Speicher vorzuhalten, um bei einer identen Abfrage ohne Neuaufbereitung antworten zu können.

Ich habe derzeit ein REading genommel weil ich kein zusätzlichen Getbefehl nutzen möchte. So kann intern der "Fang für das FTUI" in einem Rutsch gemacht werden.
Wiederum ist die umsetzung von FTUI nicht hier lokal testbar und verwende ich auch nicht, so kann ich mich nicht genau hereindenken.

Gern bin ich für Weiterbildung offen.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

OdfFhem

@HomeAuto_User

Da bin ich ja schon ein wenig erleichtert, denn nicht jeder verträgt Kritik ...

Antwort zum Struktur-Teil

Das von mir geschilderte Problem liegt nicht daran, dass man ein, zwei oder mehr Sendungen in der EPG-Eigenschaft haben kann - das war auch eben schon in Ordnung. "Falsch" ist die Gruppierung der einzelnen Sender-Objekte. Solche Objekte haben normalerweise keinen Namen, sondern werden einfach nur in einem benamten Array zusammengefasst.

Aus Deiner (wiederum eingekürzten) Struktur

{
  "ZDFneo": { "ch_name":"ZDFneo", "EPG":[], "ch_wish":"23", "ch_id":"ZDFneo.de", "title_wish":"yes" }
}


sollte besser folgende Struktur werden:

{
   "Senderliste":[ { "ch_name":"ZDFneo", "EPG":[], "ch_wish":"23", "ch_id":"ZDFneo.de", "title_wish":"yes" } ]
}


Sieht ähnlich aus, ist aber eine (ganz) andere Struktur ....

OdfFhem

@HomeAuto_User

Antwort zum Reading-Teil

Es ist ungewöhnlich, FTUI ganz speziell zu behandeln. Eine get-Funktion kann von jedem genutzt werden - z.B. in einer 99_myUtils.pm-Routine für eigene Auswertungen/Darstellungen. Wird die get-Funktion auf der "FHEMWEB"-Detailseite eines FHEM-Devices ausgeführt, wird der Rückgabewert normalerweise im Dialog dargestellt - FTUI ist zum Testen des Rückgabewertes also keinesfalls notwendig.

Falls Du ein Calendar-Device hast, kannst Du ja einfach mal "get <Calendar-Device> vcalendar" auf der FHEM-Device-Detailseite ausführen und sehen, was passiert. Die Rückgabe wird dort übrigens auch als Abfallprodukt einer anderen Routine in einer Variablen vorgehalten und bei Anforderung via get ausgeliefert - ganz ohne Reading.

HomeAuto_User

@OdfFhem

Ich werde mir dies mit der Struktur nochmal ansehen und schauen ob ich es nach der von dir genannten Art gleich korrigieren kann um nicht den Code doppelt anzugreifen.

FTUI, kannst du mir mal kurz erläutern wie du vom FTUI auf die Daten zugreifst?
Leider habe ich kein Calendar-Device und möchte mich versuchen hinein zu versetzen.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

OdfFhem

@HomeAuto_User

Um den kompletten Inhalt der zum Testkalender gehörenden iCalendar-Datei anzufordern, sendet man von FTUI aus z.B. folgende Anfrage:

http://dein_fhem_server:8083/fhem?detail=Testkalender&dev.get=Testkalender&cmd.get=get&arg.get=vcalendar&val.get=&XHR=1&fwcsrf=dein_csrf_token


In der FHEM-Kommandozeile entspricht dies dem folgenden Befehl:

get Testkalender vcalendar


Mit der 1.Methode (FTUI oder auch direkt in den Browser eingegeben) erhält man 1:1 den bereitgestellten Datenstrom; mit der 2.Methode (Kommandozeile oder auch Detailseite) erhält man einen Dialog, der die bereitgestellten Daten in einem Dialog präsentiert.



Mit einem Gerät, dass Du vermutlich auch hast, kannst Du gefahrlos testen:

http://dein_fhem_server:8083/fhem?detail=WEB&dev.getWEB=WEB&cmd.getWEB=get&arg.getWEB=pathlist&val.getWEB=&XHR=1&fwcsrf=dein_csrf_token


get WEB pathlist



  • 2.Methode für FHEM-Kommandozeile
  • 2.Methode für Detailseite von FHEM-Device WEB
  • 1.Methode für Browserzeile

HomeAuto_User

Ich habe nun mal getestet die Daten herauszubekommen.
Zum Teil ist mir das gelungen das ich diese dann als Dialogbox erhalte. Das ist doch nutzbar wenn ich das richtig verstand, richtig?

Leider habe ich noch ein Problem mit der Codierung sicherlich.
Manchmal kommt das Ergebnis nicht zurück, sondern
fhemweb.js line 1:
SyntaxError: missing ) after argument list


Vorher habe ich schon versucht ein valides Ergebnis zu erhalten.
#$data = utf8ToLatin1($data);
#$data = latin1ToUtf8($data);
$data = toJSON($data);
FW_directNotify("#FHEMWEB:WEB", "FW_okDialog('$data')", "");


Die Struktur habe ich nun nicht geändert weil ich das Ergebnis http://jsoneditoronline.org/?id=bb9513fab8044faa8f49014efc2fd70f
verständnis mäßig besser deute vorerst.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

OdfFhem

@HomeAuto_User

Ich weiß natürlich nicht, was Du probiert hast; allerdings vermute/hoffe ich mit einer get-Routine ...
Wenn diese get-Routine die EPG-Daten liefert, kannst Du Dein Modul ja mal zur Verfügung stellen, so dass ich mitprobieren kann ...
Unter Umständen ist das Zeichenproblem für die erste Testversion auch nicht so wichtig ...


JSON-Struktur
Ich kann jetzt nicht erkennen, inwieweit der jsoneditoronline-Link die Entscheidung beeinflusst. Deine JSON-Struktur ist rein von der Syntax her valide; für den "Verbraucher" der JSON-Struktur spielt aber nicht nur die Syntax eine Rolle, sondern auch die Datenhierarchie und natürlich die programmtechnische Verarbeitbarkeit.

Vielleicht probierst Du mal selbst, Deine eigene JSON-Struktur wieder einzulesen ... die Eigenschaften-Namen der ersten Ebene machen schon Kummer ... sie sind unbekannt und eigentlich keine Namen, sondern Werte ... dass ein Objekt selbst nochmals eine Eigenschaft enthält, deren Wert dem Objektnamen entspricht, ist schon ungewöhnlich ... usw.

Vielleicht schaust Du Dir auch mal das playlist-Beispiel in Beitrag #176 an; die Struktur ist vermutlich nicht zufällig ein Array ...

P.S.: Ich hatte auch mal ein wenig mit dem jsoneditoronline-Link gespielt und dabei scheinbar Deine Daten überschrieben; ich habe dann aus einem vorherigen Beitrag von Dir nochmals Daten eingestellt.

HomeAuto_User

Das mit dem Link ist nicht so schlimm.

Ich habe hier einen Branch erstellt wo wir wild testen können.
oder
update all https://raw.githubusercontent.com/fhem/EPG/pre-release_FTUI/controls_EPG.txt

Lass uns die beiden Faktoren, Struktur Output und Retrunfehler mal differenzieren jeweils. Step bei Step ist glaube besser für jedermann zum Verständnis immer.

Was die Ausgabe des Retrun angeht, so habe ich nach dem setzen des Attributes FTUI_support die normale get-Funktion "umgeleite mit den Daten."
Zitathttps://raw.githubusercontent.com/fhem/EPG/pre-release_FTUI/controls_EPG.txt
Es ist auf jedenfall ein Zeichenproblem weil ich beim setzen von einer Fav-Sendung das Return erhalte.
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

OdfFhem

@HomeAuto_User

Ich habe mal den Stand aus dem genannten Branch aktiviert und das FTUI-Attribut gesetzt. Dann wird erwartungsgemäß das angedeutete Reading angelegt bzw. aktualisiert.

In FTUI habe ich jetzt zunächst einmal dieses Reading angefordert, da es ja noch kein passendes get gibt. Mit ein wenig "Hardcoding" habe ich die momentan gelieferte Struktur auf die gewünschte Struktur gemappt. Damit kann ich dann die Daten weiterverarbeiten und auf einem Zeitstrahl darstellen ...

Sieht doch schon mal gut aus ... der erste Schritt ist gemacht. Aus meiner Sicht sind jetzt folgende Punkte wichtig:

  • eine passendere JSON-Struktur
  • eine get-Routine und kein Endlos-Reading; dann auch weg mit dem FTUI-Attribut
  • alle Infos zum Sender; u.a. auch ch_command
  • Falls vorhanden, auch mehr Infos zu einer Sendung - z.B. Kategorie

HomeAuto_User

Zitat von: OdfFhem am 15 Januar 2020, 20:45:15
@HomeAuto_User

Ich habe mal den Stand aus dem genannten Branch aktiviert und das FTUI-Attribut gesetzt. Dann wird erwartungsgemäß das angedeutete Reading angelegt bzw. aktualisiert.

In FTUI habe ich jetzt zunächst einmal dieses Reading angefordert, da es ja noch kein passendes get gibt. Mit ein wenig "Hardcoding" habe ich die momentan gelieferte Struktur auf die gewünschte Struktur gemappt. Damit kann ich dann die Daten weiterverarbeiten und auf einem Zeitstrahl darstellen ...

Sieht doch schon mal gut aus ... der erste Schritt ist gemacht. Aus meiner Sicht sind jetzt folgende Punkte wichtig:

  • eine passendere JSON-Struktur
  • eine get-Routine und kein Endlos-Reading; dann auch weg mit dem FTUI-Attribut
  • alle Infos zum Sender; u.a. auch ch_command
  • Falls vorhanden, auch mehr Infos zu einer Sendung - z.B. Kategorie

Komisch, eigentlich sollte kein Reading kommen sondern ein Return.

Ich schaue dann nochmal ob der Code An kam. (Branch pre-release-FTUI)


Gesendet von iPhone mit Tapatalk Pro
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

OdfFhem

@HomeAuto_User

Ich habe eben noch einmal den aktualisierten Stand aus dem genannten Branch aktiviert und jetzt wird kein Reading mehr befüllt, sondern es geht ein Dialog auf - sehr schön.

Die get-Funktion von "außen" aufgerufen, liefert allerdings eine leere Antwort - das machte mich stutzig. Ein wenig Probieren brachte eine Erklärung ans Licht und das Verhalten kann so nachvollzogen werden:


  • Starte eine erste, interaktive FHEM-Sitzung und bleibe z.B. auf der Startseite stehen


  • Starte eine zweite, interaktive FHEM-Sitzung und gehe zur EPG-Device-Detailseite


  • Nun beide FHEM-Sitzungen so positionieren, dass beide zu sehen sind


  • Auf der EPG-Device-Detailseite dann z.B. "get <EPG-Device> loadEPG_now" ausführen


  • Ergebnis ist: Auf der EPG-Device-Detailseite geht irgendwann die Dialogbox auf; in der anderen Sitzung aber auch ...


  • Von wo das get ausgelöst wird, ist dabei unerheblich. Also Detailseite oder Browserzeile oder FTUI oder ... jede ungefilterte FHEM-Sitzung "profitiert" davon und sieht die Dialogbox ...


Weitere Anmerkungen zum jetzigen Stand:

  • Auf der EPG-Detailseite wird die EPG-Anzeige nicht mehr mit dem Ergebnis der letzten get-Routine dargestellt; ein Neuanzeigen der Detailseite ist notwendig
  • Grundsätzlich sollte man die Aufbereitung der EPG-Daten von der JSON-Rückgabe trennen; also die Variable für die JSON-Rückgabe schon befüllen, aber diese erst mit einer eigenen get-Routine ausliefern
 
Mit dem alten Modulstand lieferte der "Event monitor" für das EPG-Device:

  2020-01-15 19:39:45.086 EPG myEPG loadEPG_now accomplished
  2020-01-15 19:39:51.122 EPG myEPG all EPG channel information loaded

Mit dem neuen Modulstand liefert der "Event monitor" für das EPG-Device:

  2020-01-16 06:27:51.917 EPG myEPG loadEPG_now accomplished

Neben dem Wiedereinführen des fehlenden Events, würde ich vorschlagen, "accomplished" durch "started" und "loaded" durch "processed" zu ersetzen. Kann aber auch sein, dass ich den Sinn der Events falsch verstehe ...


Zum Stand von gestern abend ist noch anzumerken, dass das Reading FTUI_Info zwar angelegt wurde; allerdings ohne ein Event auszulösen ...