esp8266 crashed als inhoud xml veranderd

Software vragen voor ESP chip familie
Gebruikers-avatar
Berichten: 55
Geregistreerd: 22 Sep 2016, 21:21

esp8266 crashed als inhoud xml veranderd

Berichtdoor rene7777 » 22 Mei 2021, 15:09

Ik ben bezig een display te maken voor mijn Dreambox (Enigma2).

Code: Alles selecteren
  if (second1 == 0) {
    //strDreambox
    String request = "";
    request = httprequest("http://" + strDreambox + "/web/getcurrent");
    int beginPos = 0;
    int   endPos = 0;
    String tempstr2int;

    //Check if something playing on dreambox
    if (request.indexOf("</e2servicename>") != -1) {
 
      beginPos = request.indexOf("<e2servicename>")+15;
        endPos = request.indexOf("</e2servicename>");
      strE2servicename = request.substring(beginPos, endPos);
 
      beginPos = request.indexOf("<e2eventtitle>")+14;
        endPos = request.indexOf("</e2eventtitle>");
      strE2eventtitle = request.substring(beginPos, endPos);
 
      beginPos = request.indexOf("<e2eventdescription>")+20;
        endPos = request.indexOf("</e2eventdescription>");
      strE2eventdescription = request.substring(beginPos, endPos);
 
      beginPos = request.indexOf("<e2eventstart>")+14;
        endPos = request.indexOf("</e2eventstart>");
      tempstr2int = request.substring(beginPos, endPos);
      eventstart = tempstr2int.toInt();
      eventstart = eventstart + timeZone;
 
      beginPos = request.indexOf("<e2eventduration>")+17;
        endPos = request.indexOf("</e2eventduration>");
      tempstr2int = request.substring(beginPos, endPos);
      eventduration = tempstr2int.toInt();
 
      beginPos = request.indexOf("<e2eventremaining>")+18;
        endPos = request.indexOf("</e2eventremaining>");
      tempstr2int = request.substring(beginPos, endPos);
      eventremaining = tempstr2int.toInt();
 
      beginPos = request.indexOf("<e2eventcurrenttime>")+20;
        endPos = request.indexOf("</e2eventcurrenttime>");
      tempstr2int = request.substring(beginPos, endPos);
      eventcurrenttime = tempstr2int.toInt();
      eventcurrenttime = eventcurrenttime + timeZone;
 
      uint32_t eventelapsed = eventduration - eventremaining;
     
      //eventpercentage = (eventelapsed*100) / eventduration;
      eventpercentage = ((eventduration - eventremaining)*100)/eventduration;
 
      Serial.println();
      Serial.println(strE2servicename);
      Serial.println(strE2eventtitle);
      Serial.println(strE2eventdescription);
      Serial.println(String(hour(eventstart))+":"+String(minute(eventstart))+":"+String(second(eventstart)));
      Serial.println(String(hour(eventcurrenttime))+":"+String(minute(eventcurrenttime))+":"+String(second(eventcurrenttime)));
      Serial.println(eventelapsed);
      Serial.println(eventduration);
      //Serial.println(eventremaining);
      //Serial.println(eventcurrenttime);
      Serial.println(eventpercentage);
 
      delay(1000);
      } else {

      Serial.println("Nothing playing now.");
     
      }

    }


Als de drambox aan staat krijg ik

Ziggo Sport Select HD
Formule 1: GP van Monaco

14:15:0
15:2:38
2858
9000
31

dit is de xml output van de dreambox als deze aan staat

<e2currentserviceinformation>
<e2service>
<e2servicereference>1:0:19:51E0:C96:3:EB0000:0:0:0:</e2servicereference>
<e2servicename>Ziggo Sport Select HD</e2servicename>
<e2providername>M7 Group</e2providername>
<e2videowidth>1920</e2videowidth>
<e2videoheight>1080</e2videoheight>
<e2servicevideosize>1920x1080</e2servicevideosize>
<e2iswidescreen> 1 </e2iswidescreen>
<e2apid>100</e2apid>
<e2vpid>522</e2vpid>
<e2pcrpid>522</e2pcrpid>
<e2pmtpid>2660</e2pmtpid>
<e2txtpid>N/A</e2txtpid>
<e2tsid>3222</e2tsid>
<e2onid>3</e2onid>
<e2sid>20960</e2sid>
</e2service>
<e2eventlist>
<e2event>
<e2eventservicereference>1:0:19:51E0:C96:3:EB0000:0:0:0:</e2eventservicereference>
<e2eventservicename>Ziggo Sport Select HD</e2eventservicename>
<e2eventprovidername>M7 Group</e2eventprovidername>
<e2eventid>20906</e2eventid>
<e2eventname>Formule 1: GP van Monaco</e2eventname>
<e2eventtitle>Formule 1: GP van Monaco</e2eventtitle>
<e2eventdescription/>
<e2eventstart>1621685700</e2eventstart>
<e2eventduration>9000</e2eventduration>
<e2eventremaining>7107</e2eventremaining>
<e2eventcurrenttime>1621687593</e2eventcurrenttime>
<e2eventdescriptionextended>
Kwalificatie. Voorbeschouwing en live verslag van de kwalificatie race van de GP van Monaco, gereden op het straten circuit van Monte Carlo, in Monaco. Met commentaar van Olav Mol, analyses van o.a.Voorbeschouwing en live verslag van de kwalificatie race van de GP van Monaco, gereden op het straten circuit van Monte Carlo, in Monaco. Met commentaar van Olav Mol, analyses van o.a. Doornbos en Coronel en bijdrages rechtstreeks vanaf de grid. Presentatie Rob Kamphues.
</e2eventdescriptionextended>
</e2event>
<e2event>
<e2eventservicereference>1:0:19:51E0:C96:3:EB0000:0:0:0:</e2eventservicereference>
<e2eventservicename>Ziggo Sport Select HD</e2eventservicename>
<e2eventprovidername>M7 Group</e2eventprovidername>
<e2eventid>21351</e2eventid>
<e2eventname>Ziggo Sport Momenten</e2eventname>
<e2eventtitle>Ziggo Sport Momenten</e2eventtitle>
<e2eventdescription/>
<e2eventstart>1621694700</e2eventstart>
<e2eventduration>900</e2eventduration>
<e2eventremaining>8007</e2eventremaining>
<e2eventcurrenttime>1621687593</e2eventcurrenttime>
<e2eventdescriptionextended>
In deze aflevering van de Ziggo Sport Momenten de meest spectaculaire crashes van de Nascar Daytona 500 van de afgelopen jaren.
</e2eventdescriptionextended>
</e2event>
</e2eventlist>
</e2currentserviceinformation>


dit is de output van de box zodra ik hem uitzet

Dit XML-bestand lijkt geen geassocieerde stijlinformatie te hebben. De documentstructuur is hieronder weergegeven.
<e2currentserviceinformation>
<e2service>
<e2servicereference/>
<e2servicename/>
<e2providername/>
<e2videowidth>0</e2videowidth>
<e2videoheight>0</e2videoheight>
<e2servicevideosize>0x0</e2servicevideosize>
<e2iswidescreen> 0 </e2iswidescreen>
<e2apid>0</e2apid>
<e2vpid>0</e2vpid>
<e2pcrpid>0</e2pcrpid>
<e2pmtpid>0</e2pmtpid>
<e2txtpid>N/A</e2txtpid>
<e2tsid>0</e2tsid>
<e2onid>0</e2onid>
<e2sid>0</e2sid>
</e2service>
<e2eventlist>
<e2event>
<e2eventservicereference/>
<e2eventservicename/>
<e2eventprovidername/>
<e2eventid>0</e2eventid>
<e2eventname/>
<e2eventtitle/>
<e2eventdescription/>
<e2eventstart>0</e2eventstart>
<e2eventduration>0</e2eventduration>
<e2eventremaining>0</e2eventremaining>
<e2eventcurrenttime>0</e2eventcurrenttime>
<e2eventdescriptionextended/>
</e2event>
<e2event>
<e2eventservicereference/>
<e2eventservicename/>
<e2eventprovidername/>
<e2eventid>0</e2eventid>
<e2eventname/>
<e2eventtitle/>
<e2eventdescription/>
<e2eventstart>0</e2eventstart>
<e2eventduration>0</e2eventduration>
<e2eventremaining>0</e2eventremaining>
<e2eventcurrenttime>0</e2eventcurrenttime>
<e2eventdescriptionextended/>
</e2event>
</e2eventlist>
</e2currentserviceinformation>

Het probleem is dus dat zodra ik de dreambox uitzet de esp8266 crashed .......

en ik probeer dus te checken voor af of ie aan staat door
if (request.indexOf("</e2servicename>") != -1) {
en bij standbye staat deze string niet in de xml output ..... (alleen met de / aan de rechterkant)

als ik false invul bij de if krijg ik dus gewoon nothing playing now.
dus waarom een crash??????
sudo rm -rf /
(Don't Drink and Root)

Advertisement

Gebruikers-avatar
Berichten: 55
Geregistreerd: 22 Sep 2016, 21:21

Re: esp8266 crashed als inhoud xml veranderd

Berichtdoor rene7777 » 22 Mei 2021, 23:47

Probleem opgelost.

de xml browser weergave komt toch niet overeen met de werkelijk bron (request).

in standbye zijn er gewoon 2 tags en de ruimte er tussen is leeg.

dus opgelost met

if (request.indexOf("<e2servicename></e2servicename>") == -1) {
sudo rm -rf /
(Don't Drink and Root)

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: esp8266 crashed als inhoud xml veranderd

Berichtdoor ctunes » 23 Mei 2021, 22:34

Ben je tevreden met je oplossing?

Wat als er een communicatieprobleempje was?

Code: Alles selecteren
<e2servicename></e2serxicename>"


Hoe reageer je daarop?

Gebruikers-avatar
Berichten: 241
Geregistreerd: 22 Jan 2013, 16:40

Re: esp8266 crashed als inhoud xml veranderd

Berichtdoor zuid » 24 Mei 2021, 08:46

CRASH :(

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: esp8266 crashed als inhoud xml veranderd

Berichtdoor ctunes » 26 Mei 2021, 23:47

Juist.

En nu?

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: esp8266 crashed als inhoud xml veranderd

Berichtdoor ctunes » 26 Mei 2021, 23:52

Waarom parse je niet gewoon de hele boel, en kijkt dan of het allemaal zin maakt?

https://youtu.be/-5wpm-gesOY

Terug naar ESP Software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 10 gasten