NEWS
Daten aus Webseite ziehen
-
Hi,
ich würde gerne ein paar Daten aus einer Webseite extrahieren. Die Webseite selbst hat eine dynamische Adresse, die ich per Blockly abfragen kann. Sie wird extra generiert, wenn der Usecase eintritt, es handelt sich um eine html Seite die Tage und an diesen Tagen Zeitfenster anzeigt. Das ganze sieht dann z.B. so aus:Da möchte ich gerne die erste, kommende Zeitspanne Tag + Uhrzeit auslesen und frage mich, wie das am einfachsten geht. Mit dem Parser dürfte das vermutlich gehen oder gibt es noch einfachere Möglichkeiten?
Wenn nicht, wo finde ich Infos zu den Regex, da ich mich Null damit auskenne...? -
Hier eine Seite um mit rumzuspielen.
Den Seitenquelltext einfach in Teststring eintragen
und oben den Regex-Ausdruck eintragen.
Rechtsoben wird der Ausdruck etwas ausführlicher erklärt.Hier ein Regex-tutorial auf deutsch
https://danielfett.de/2006/03/20/regulaere-ausdruecke-tutorial/Allerdings will ich dich warnen.
Regex ist enorm komplex und die Ausdrücke und ihre Wirkweise
für Anfänger nicht immer vorhersehbar.
Es wird kein 10Minuten-Ding (lesen/Video anschauen, etwas anpassen, fertig)
du musst di etwas Zeit nehmen.
Irgendwo im Forum habe ich mal eine Vorgehensweise aufgeschrieben, wie man am einfachsten die richtige Stelle und die richtigen Ausdrücke findet.
https://forum.iobroker.net/topic/8379/einlesen-von-aktienkursen/81wenn du fragen hast, dann hier rein.
Wenn es schnell gehen soll und du es genau genug beschreibst, dann können wir hier helfen. ich (je nach zeit) und @Homoran , ggfs andere sind da schon erprobt. -
@oliverio Super! Vielen Dank. Ich hatte schon hin- und wieder gesehen, dass ein paar sich da wohl sehr gut auskennen und ich müsste mich einarbeiten, habe aber in den Formeln die ich gesehen habe so auf den ersten Blick keine logischen Brücken erkennen können, die das erleichtern würden, sprich viel Lernen wäre angesagt. Da ich allerdings gerne mein Projekt hier fertig machen würde, wäre ich dankbar, wenn Du oder @Homoran mir direkt helfen würde.
Wie ich oben beschrieben habe, wird hin- und wieder eine html Zeitentabelle ausgegeben. Ich frage als per Blockly regelmäßig ab, ob eine solche html Seite vorhanden ist und wenn ja, dann ziehe ich die in eine Variable und könnte nun natürlich den String durchsuchen, glaube aber es gibt intelligentere Varianten um die erste (naheliegenste Zeit, also Tag und Beginn) daraus zu extrahieren. In der Regel ist der Beginn des Zeitfensters am gleichen Tag, kann aber auch am nächsten Tag sein. Ich brauche als den Tag und die erste Zeit.
Mein Blockly sieht dazu bisher so aus:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="H}`S6gI.T)6$=yQf9Wk?">result</variable> <variable id="R)s|:FqAi|=+(TP$%*Tk">Schedule</variable> <variable id="R?~@1o?4ne4sFQ8XmAV[">Ergebnis</variable> </variables> <block type="schedule" id="eM!6Dr-=o$`js:(@C(?^" x="63" y="63"> <field name="SCHEDULE">* * * * *</field> <statement name="STATEMENT"> <block type="request" id="ZaK:Q`M?Zh]QX5cp?bV9"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="=SKFJPU:g9tP2`c=!m$s"> <field name="TEXT">http://loadshedding.eskom.co.za/LoadShedding/GetStatus</field> </shadow> <block type="text" id="TNNh%3cclg(N(uADrv5x"> <field name="TEXT">https://loadshedding.eskom.co.za/LoadShedding/GetStatus</field> </block> </value> <statement name="STATEMENT"> <block type="debug" id="/;#h^TIdMOl]!(={fTJn"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="{)[J-A^%y@,TtkIf^bP$"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="}tn,5{H~~@T(%?|y4,^V"> <field name="VAR" id="H}`S6gI.T)6$=yQf9Wk?">result</field> </block> </value> <next> <block type="variables_set" id="U2+AhqUG:VOv)_bCT8Kn"> <field name="VAR" id="R)s|:FqAi|=+(TP$%*Tk">Schedule</field> <value name="VALUE"> <block type="math_arithmetic" id="5k|VF_0Pr)MU6Bb7RTDI"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="b2|V1($`O.Qnko-Qw#M0"> <field name="NUM">1</field> </shadow> <block type="convert_tonumber" id="zhoCpUd7KSf$r3_G`~;4"> <value name="VALUE"> <block type="variables_get" id="BP4wqc$gsoU9wC12?T%#"> <field name="VAR" id="H}`S6gI.T)6$=yQf9Wk?">result</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id=":^WbPE(YmDEHei{P(f1l"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="H3UQLd!i:yY3dV.dZeEE"> <value name="IF0"> <block type="logic_compare" id="dBsn3NK9G*D^ctwvBVs;"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="QtM7Zvi5e`]B/#~uXh5:"> <field name="VAR" id="R)s|:FqAi|=+(TP$%*Tk">Schedule</field> </block> </value> <value name="B"> <block type="math_number" id="13p=R_6ob?OLj$=6mZn$"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="4D]28}z6A;alx`_[Xl(:"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="}GwoEv#$U_#0#d7E;~$q"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="3-y6h`l?oAC~W]6,tX|c"> <field name="TEXT">Loadshedding Stage </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="/#Z9n|G}Mwzh$AlQpBMl"> <field name="VAR" id="R)s|:FqAi|=+(TP$%*Tk">Schedule</field> </block> </value> <value name="ADD2"> <block type="text" id="#?62;RiY0{*b3iae5qQA"> <field name="TEXT"> !</field> </block> </value> </block> </value> <next> <block type="telegram" id="^u)TN2letI]w?$z|Fpw$"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="pdJvRTVOAqqTgWsuM0=("> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="e`mY6qI62dUY`KXno-Xp"> <field name="TEXT">Loadshedding Stage </field> </block> </value> <value name="ADD1"> <block type="variables_get" id=",TlZ^7d6Pr4s1s9.GWn@"> <field name="VAR" id="R)s|:FqAi|=+(TP$%*Tk">Schedule</field> </block> </value> <value name="ADD2"> <block type="text" id="_h0U*ZcT%ybl`S5NAJe0"> <field name="TEXT"> !</field> </block> </value> </block> </value> <next> <block type="debug" id="TSgttlP);c3gb:/kPy~9"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="}D5x!3KgRD.8sC?sH@vA"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="N2BU)%wygy#DNParJ1j="> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="NFCD#EYXW:byw:pk*DW`"> <field name="TEXT"> https://loadshedding.eskom.co.za/LoadShedding/GetScheduleM/1060136/</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="2F-k|z+0oU_Pg_H=Oq|_"> <field name="VAR" id="R)s|:FqAi|=+(TP$%*Tk">Schedule</field> </block> </value> <value name="ADD2"> <block type="text" id="6.(bm/gUi;DLn!*~|seu"> <field name="TEXT">/9/1</field> </block> </value> </block> </value> <next> <block type="request" id="Uv)xL=O2QDd.m?}ZxkDi"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="+P+Cw#A#oE1{}A.ANqa$"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="^`*tZ-gq0{o@Od_cdbFF"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="do-A?DH7zWycQ}@K@[v:"> <field name="TEXT"> https://loadshedding.eskom.co.za/LoadShedding/GetScheduleM/1060136/</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Q?Y$7%+(Dm)zNMPDx8w9"> <field name="VAR" id="R)s|:FqAi|=+(TP$%*Tk">Schedule</field> </block> </value> <value name="ADD2"> <block type="text" id="O,|Qgo3,y``S53fErJPh"> <field name="TEXT">/9/1</field> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="XAfLF~J0M$hT2Fdj5dds"> <field name="VAR" id="R?~@1o?4ne4sFQ8XmAV[">Ergebnis</field> <value name="VALUE"> <block type="variables_get" id="7)?Wb`gvuOO;7/8tb_-0"> <field name="VAR" id="H}`S6gI.T)6$=yQf9Wk?">result</field> </block> </value> <next> <block type="debug" id="j/p4qjTqSL!FKPKG=WDv"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="@q{z[[obkuUaqr!~2^Sw"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="h6vdhiOjY21sc^lfU:@H"> <field name="VAR" id="R?~@1o?4ne4sFQ8XmAV[">Ergebnis</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml>
-
@joergh sagte in Daten aus Webseite ziehen:
oder @Homoran mir direkt helfen würde.
ich kann dir beim Regex helfen, aber nicht via Blockly.
brauche dann den vollständig Quelltext und was du daraus haben willst
-
@homoran Der Quelltext steckt oben hinter dem Spoiler.
-
@joergh sagte in Daten aus Webseite ziehen:
die erste, kommende Zeitspanne Tag
yMonth">[^\w]+(.+)
da gibt es 29 Treffer@joergh sagte in Daten aus Webseite ziehen:
Uhrzeit
"Time":"([\d,-: ]+)
-
@homoran Danke. Ja, ich brauche nur das erste, also naheliegenste Datum und die dazu passende Startzeit.
Wie kriege ich das nun ausgelesen?
Wen ich den Parseradapter nehme, dann muss ich da ja fix die Webseite in den Einstellungen eintragen, aber bei meiner Webseite kann sich die Adresse ändern...? -
@joergh sagte in Daten aus Webseite ziehen:
. Ja, ich brauche nur das erste, also naheliegenste Datum und die dazu passende Startzeit.
beim Parser stellst du dazu NUM auf 1
wie es mit Blockly geht, weiß ich nicht.
@liv-in-sky hat sowas in javascript gemacht.zum üben für Regexes ist regex101.com optimal, selbst am Tablet
-
@homoran @OliverIO Ok, jetzt habe ich die Daten ziehen können und bekomme auch ein Ergebnis angezeigt, wenn ich das Ganze in den Einstellungen teste.
Er legt die DP an, aber diese bleiben leider leer, obwohl er zuvor in den Einstellungen den String als Ergebnis angezeigt hat...?Woran liegt das nun wieder?
Die Einstellungen sehen so aus:
-
@joergh das angezeigte Ergebnis ist aber sehr lang.
Glaube nicht das du das so speichern möchtest.Ist die Seite im allgemeinen Zugriff ohne Passwort?
Dann könntest du uns die Daten mal Copy/Paste fähig bereit stellengenaue HTTP-Adresse
und welche Daten du da extrahieren willst.So ohne weiteres ist die analyse mit deinen Angaben nicht möglich
-
@oliverio sagte in Daten aus Webseite ziehen:
@joergh das angezeigte Ergebnis ist aber sehr lang.
Glaube nicht das du das so speichern möchtest.Eigentlich würde mir das Tagesdatum reichen (und die erste Uhrzeit), aber das hätte ich mir dann eben aus dem String rausgeschnitten...Ich habe den Suchparameter von @Homoran übernommen. Kann ich das kürzen?
Ist die Seite im allgemeinen Zugriff ohne Passwort?
Ja, ist sie. Es ist die Seite des staatlichen Stromanbieters, der so bekannt gibt wann er in bestimmten Gebieten den Saft abgdreht. Dazu gibt es je nach Stufe die er in den Regionen unterschiedlich festlegt eine andere Tabelle die zur Anwendung kommt. Die Adresse setzt sich also aus einem festen Teil und einer Variable (Stage) und dann wieder zwei festen Elementen zusammen für die Region zusammen.
Dann könntest du uns die Daten mal Copy/Paste fähig bereit stellen
genaue HTTP-Adresse
und welche Daten du da extrahieren willst.https://loadshedding.eskom.co.za/LoadShedding/GetScheduleM/1060136/2/9/1
Die Seite wird nur befüllt, wenn tatsächlich Loadshedding aktiv ist, ansonsten sind die nicht verfügbar. Bis morgen ist das derzeit der Fall.
So ohne weiteres ist die analyse mit deinen Angaben nicht möglich
Was fehlt denn? Im Spoiler hatte ich den kompletten Code der Seite derzeit abgebildet und die anderen Einstellungen im Parser habe ich zuletzt gepostet. Irgendwie übernimmt er aber das Ergebnis nicht in die Datenpunkte.
-
@oliverio sagte in Daten aus Webseite ziehen:
das angezeigte Ergebnis ist aber sehr lang.
ich weiß auch warum
hab hier am Tablet keinen Parser Adapter.muss mir am PC mal ansehen wie der Regex bei ioBroker umgesetzt wird
-
wäre das hier, das richtige ergebnis für das obere beispiel?
habe das in dein blockly zum testen hinzugefügt
hier dein blockly mit den test funktionen - bin nicht sicher, ob das result aus dem request genauso zurückkommt - einfach mal testen - dann sehen wir's
-
@joergh Versuch mal
yMonth">[^\S]+(\S+ \d+ \S+)
was ist mit dem Datum?
-
@liv-in-sky Danke!
Ich habe nun folgendes aus Deinen JS Skripten gebastelt:
var x, Schedule, result, Ergebnis, Tag, Uhrzeit; // Beschreibe diese Funktion … async function Tag2(x) { let z=x.replace(/\n/,"") y=z.match(/yMonth"> (.*?)<\/div>/gm) return y[0].replace('yMonth">',"").replace('<\/div>',""); } // Beschreibe diese Funktion … async function Uhrzeit2(x) { let y=x.match(/"Time":"([\d,-: ]+)/gm) return y[0].replace('"Time":"',""); } schedule("*/20 * * * * *", async function () { try { require("request")('https://loadshedding.eskom.co.za/LoadShedding/GetStatus', async function (error, response, result) { Schedule = parseFloat(parseFloat(result)) - 1; if (Schedule > 0) { console.log((['Loadshedding Stage ',Schedule,' !'].join(''))); try { require("request")(([' https://loadshedding.eskom.co.za/LoadShedding/GetScheduleM/1060136/',Schedule,'/9/1'].join('')), async function (error, response, result) { Ergebnis = result; Tag = await Tag2(Ergebnis); Uhrzeit = await Uhrzeit2(Ergebnis); console.log((String(Tag) + String(Uhrzeit))); }).on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } } }).on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyTzkzcCUzQXIxJTdDXyUyNGNBNyl+WmJtTmklMjIlM0V4JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyUilzJTdDJTNBRnFBaSU3QyUzRCUyQihUUCUyNCUyNSpUayUyMiUzRVNjaGVkdWxlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIySCU3RCU2MFM2Z0kuVCk2JTI0JTNEeVFmOVdrJTNGJTIyJTNFcmVzdWx0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyUiUzRn4lNDAxbyUzRjRuZTRzRlE4WG1BViU1QiUyMiUzRUVyZ2VibmlzJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTI1akhyYkdnJTdCJTYwbiUyNTAlMjR+VVZMcyUzQmYlMjIlM0VUYWclM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJrWiU0MHl6IUktOEp0bWElNUVsSiU3RCU1RChiJTIyJTNFVWhyemVpdCUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21yZXR1cm4lMjIlMjBpZCUzRCUyMjQlN0QlMjVwKTAlMkZlJTNEZTZDM3clMkJnayU1RCUyNSUyQiUyMiUyMHglM0QlMjI2MiUyMiUyMHklM0QlMjItMTEzJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyeCUyMiUyMHZhcmlkJTNEJTIyTzkzcCUzQXIxJTdDXyUyNGNBNyl+WmJtTmklMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VUYWclM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDUklQVCUyMiUzRWJHVjBJSG85ZUM1eVpYQnNZV05sS0M5Y2JpOHNJaUlwRFFvTkNpQjVQWG91YldGMFkyZ29MM2xOYjI1MGFDSSUyQklDZ3VLajhwUEZ3dlpHbDJQaTluYlNrTkNnMEtEUW9OQ25KbGRIVnliaUI1V3pCZExuSmxjR3hoWTJVb0ozbE5iMjUwYUNJJTJCSnl3aUlpa3VjbVZ3YkdGalpTZ25QRnd2WkdsMlBpY3NJaUlwT3clM0QlM0QlM0MlMkZmaWVsZCUzRSUzQ2NvbW1lbnQlMjBwaW5uZWQlM0QlMjJmYWxzZSUyMiUyMGglM0QlMjI4MCUyMiUyMHclM0QlMjIxNjAlMjIlM0VCZXNjaHJlaWJlJTIwZGllc2UlMjBGdW5rdGlvbiUyMCVFMiU4MCVBNiUzQyUyRmNvbW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmY3VzdG9tcmV0dXJuJTIyJTIwaWQlM0QlMjJzZXV0OH4taiU1Qm5NUTUlMjUlMjNLJTNGT2FBJTIyJTIweCUzRCUyMjYzJTIyJTIweSUzRCUyMi02MyUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50cyUzRCUyMmZhbHNlJTIyJTNFJTNDYXJnJTIwbmFtZSUzRCUyMnglMjIlMjB2YXJpZCUzRCUyMk85M3AlM0FyMSU3Q18lMjRjQTcpflpibU5pJTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFVWhyemVpdCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFYkdWMElIazllQzV0WVhSamFDZ3ZJbFJwYldVaU9pSW9XMXhrTEMwNklGMHJLUzluYlNrTkNnMEtEUW9OQ25KbGRIVnliaUI1V3pCZExuSmxjR3hoWTJVb0p5SlVhVzFsSWpvaUp5d2lJaWs3JTNDJTJGZmllbGQlM0UlM0Njb21tZW50JTIwcGlubmVkJTNEJTIyZmFsc2UlMjIlMjBoJTNEJTIyODAlMjIlMjB3JTNEJTIyMTYwJTIyJTNFQmVzY2hyZWliZSUyMGRpZXNlJTIwRnVua3Rpb24lMjAlRTIlODAlQTYlM0MlMkZjb21tZW50JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzY2hlZHVsZSUyMiUyMGlkJTNEJTIyZU0hNkRyLSUzRG8lMjQlNjBqcyUzQSglNDBDKCUzRiU1RSUyMiUyMHglM0QlMjI2MyUyMiUyMHklM0QlMjI2MyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNDSEVEVUxFJTIyJTNFKiUyRjIwJTIwKiUyMColMjAqJTIwKiUyMColM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJyZXF1ZXN0JTIyJTIwaWQlM0QlMjJaYUslM0FRJTYwTSUzRlpoJTVEUVg1Y3AlM0ZiVjklMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjB3aXRoX3N0YXRlbWVudCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfU1RBVEVNRU5UJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTE9HJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJVUkwlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTNEU0tGSlBVJTNBZzl0UDIlNjBjJTNEIW0lMjRzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRWh0dHAlM0ElMkYlMkZsb2Fkc2hlZGRpbmcuZXNrb20uY28uemElMkZMb2FkU2hlZGRpbmclMkZHZXRTdGF0dXMlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlROTmglMjUzY2NsZyhOKHVBRHJ2NXglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFaHR0cHMlM0ElMkYlMkZsb2Fkc2hlZGRpbmcuZXNrb20uY28uemElMkZMb2FkU2hlZGRpbmclMkZHZXRTdGF0dXMlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyVTIlMkJBaHFVRyUzQVZPdilfYkNUOEtuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJSKXMlN0MlM0FGcUFpJTdDJTNEJTJCKFRQJTI0JTI1KlRrJTIyJTNFU2NoZWR1bGUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjI1ayU3Q1ZGXzBQcilNVTZCYjdSVERJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNSU5VUyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyYjIlN0NWMSglMjQlNjBPLlFua28tUXclMjNNMCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdG9udW1iZXIlMjIlMjBpZCUzRCUyMnpob0NwVWQ3S1NmJTI0cjNfRyU2MH4lM0I0JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJCUDR3cWMlMjRnc29VOXdDMTIlM0ZUJTI1JTIzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJIJTdEJTYwUzZnSS5UKTYlMjQlM0R5UWY5V2slM0YlMjIlM0VyZXN1bHQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTNBJTVFV2JQRShZbURFSGVpJTdCUChmMWwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMkgzVVFMZCFpJTNBeVkzZFYuZFplRUUlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJkQnNuM05LOUcqRCU1RWN0d3ZCVnMlM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUdUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyUXRNN1p2aTVlJTYwJTVEQiUyRiUyM351WGg1JTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJSKXMlN0MlM0FGcUFpJTdDJTNEJTJCKFRQJTI0JTI1KlRrJTIyJTNFU2NoZWR1bGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMjEzcCUzRFJfNm9iJTNGT0xqJTI0JTNENm1abiUyNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjI0RCU1RDI4JTdEejZBJTNCYWx4JTYwXyU1QlhsKCUzQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFbG9nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFdGVzdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjIlN0RHd29FdiUyMyUyNFVfJTIzMCUyM2Q3RSUzQn4lMjRxJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjMlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIzLXk2aCU2MGwlM0ZvQUN+VyU1RDYlMkN0WCU3Q2MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFTG9hZHNoZWRkaW5nJTIwU3RhZ2UlMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTJGJTIzWjluJTdDRyU3RE13emglMjRBbFFwQk1sJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJSKXMlN0MlM0FGcUFpJTdDJTNEJTJCKFRQJTI0JTI1KlRrJTIyJTNFU2NoZWR1bGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTIzJTNGNjIlM0JSaVkwJTdCKmIzaWFlNXFRQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjAhJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJyZXF1ZXN0JTIyJTIwaWQlM0QlMjJVdil4TCUzRE8yUURkLm0lM0YlN0RaeGtEaSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMHdpdGhfc3RhdGVtZW50JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9TVEFURU1FTlQlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJMT0clMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlVSTCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlMkJQJTJCQ3clMjNBJTIzb0UxJTdCJTdEQS5BTnFhJTI0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRleHQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyJTVFJTYwKnRaLWdxMCU3Qm8lNDBPZF9jZGJGRiUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIzJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyZG8tQSUzRkRIN3pXeWNRJTdEJTQwSyU0MCU1QnYlM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTIwaHR0cHMlM0ElMkYlMkZsb2Fkc2hlZGRpbmcuZXNrb20uY28uemElMkZMb2FkU2hlZGRpbmclMkZHZXRTY2hlZHVsZU0lMkYxMDYwMTM2JTJGJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlElM0ZZJTI0NyUyNSUyQihEbSl6Tk1QRHg4dzklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMlIpcyU3QyUzQUZxQWklN0MlM0QlMkIoVFAlMjQlMjUqVGslMjIlM0VTY2hlZHVsZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJPJTJDJTdDUWdvMyUyQ3klNjAlNjBTNTNmRXJKUGglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTJGOSUyRjElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMlhBZkxGfkowTSUyNGhUMkZkajVkZHMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMlIlM0Z+JTQwMW8lM0Y0bmU0c0ZROFhtQVYlNUIlMjIlM0VFcmdlYm5pcyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI3KSUzRldiJTYwZ3Z1T08lM0I3JTJGOHRiXy0wJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJIJTdEJTYwUzZnSS5UKTYlMjQlM0R5UWY5V2slM0YlMjIlM0VyZXN1bHQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyQWUlM0Q1JTQwJTVFeERCMVMlM0FuNSUyMy4lMkIlNDBPJTNEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjVqSHJiR2clN0IlNjBuJTI1MCUyNH5VVkxzJTNCZiUyMiUzRVRhZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxjdXN0b21yZXR1cm4lMjIlMjBpZCUzRCUyMm0lMjNjb2N3dzZXRilGMiUzRGlWc1Z1TiUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMlRhZyUyMiUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJ4JTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBUkcwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyQSU0MCU1RUolNUIlM0RQQSU2MG4lNUQ1TnAlN0NFQ01mbSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyUiUzRn4lNDAxbyUzRjRuZTRzRlE4WG1BViU1QiUyMiUzRUVyZ2VibmlzJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJUTEpCSUxUUUhSMmouVUhWZSU3QjgoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJrWiU0MHl6IUktOEp0bWElNUVsSiU3RCU1RChiJTIyJTNFVWhyemVpdCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxjdXN0b21yZXR1cm4lMjIlMjBpZCUzRCUyMk1VSmZqMGQlNUVjTyU3QnRIcnMhYV8uVSUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMlVocnplaXQlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyeCUyMiUzRSUzQyUyRmFyZyUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVJHMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnEwISU1QiU1RTlIbFAlNUVGY2klMjM4Km0lNUVmeSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyUiUzRn4lNDAxbyUzRjRuZTRzRlE4WG1BViU1QiUyMiUzRUVyZ2VibmlzJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyLS0lM0RDZip+bH5kSWI4bCUyRi5DeSUyQyU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFbG9nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlN5SkpYVFQlN0RtJTJDOGYoJTVCWnglNjBqJTdETSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMiUyQkFkbEpscW8lN0QuSEVRSyliJTI1JTdEcnklMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyMiUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmolNURlKWtBa0xxMDU0IUo1NCElN0QqOCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTI1akhyYkdnJTdCJTYwbiUyNTAlMjR+VVZMcyUzQmYlMjIlM0VUYWclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTJGOXVGJTJDZVJ+KVoxaVhkS0wuaWZnJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJrWiU0MHl6IUktOEp0bWElNUVsSiU3RCU1RChiJTIyJTNFVWhyemVpdCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
Da erscheinen folgende Fehlermeldungen:
8.3.2022, 11:38:51.622 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: {'errno':-104,'code':'ECONNRESET','syscall':'read'} 8.3.2022, 11:38:51.625 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: TypeError: Cannot read property 'replace' of undefined 8.3.2022, 11:38:51.625 [error]: javascript.0 (1484) at Tag2 (script.js.Eskom_Loadshedding:5:13) 8.3.2022, 11:38:51.625 [error]: javascript.0 (1484) at script.js.Eskom_Loadshedding:34:21 8.3.2022, 11:39:01.979 [info ]: javascript.0 (1484) script.js.Eskom_Loadshedding: Loadshedding Stage 2 ! 8.3.2022, 11:39:17.857 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: TypeError: Cannot read property '0' of null 8.3.2022, 11:39:17.859 [error]: javascript.0 (1484) at Tag2 (script.js.Eskom_Loadshedding:11:13) 8.3.2022, 11:39:17.859 [error]: javascript.0 (1484) at script.js.Eskom_Loadshedding:33:21 8.3.2022, 11:39:21.412 [info ]: javascript.0 (1484) script.js.Eskom_Loadshedding: Loadshedding Stage 2 ! 8.3.2022, 11:39:24.164 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: TypeError: Cannot read property '0' of null 8.3.2022, 11:39:24.165 [error]: javascript.0 (1484) at Tag2 (script.js.Eskom_Loadshedding:11:13) 8.3.2022, 11:39:24.166 [error]: javascript.0 (1484) at script.js.Eskom_Loadshedding:33:21 8.3.2022, 11:39:40.215 [info ]: javascript.0 (1484) script.js.Eskom_Loadshedding: Loadshedding Stage 2 ! 8.3.2022, 11:39:45.390 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: {'errno':-104,'code':'ECONNRESET','syscall':'read'} 8.3.2022, 11:39:45.394 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: TypeError: Cannot read property 'replace' of undefined 8.3.2022, 11:39:45.394 [error]: javascript.0 (1484) at Tag2 (script.js.Eskom_Loadshedding:5:13) 8.3.2022, 11:39:45.396 [error]: javascript.0 (1484) at script.js.Eskom_Loadshedding:33:21 8.3.2022, 11:40:00.237 [info ]: javascript.0 (1484) script.js.Eskom_Loadshedding: Loadshedding Stage 2 ! 8.3.2022, 11:40:02.405 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: TypeError: Cannot read property '0' of null 8.3.2022, 11:40:02.406 [error]: javascript.0 (1484) at Tag2 (script.js.Eskom_Loadshedding:11:13) 8.3.2022, 11:40:02.406 [error]: javascript.0 (1484) at script.js.Eskom_Loadshedding:33:21 8.3.2022, 11:40:20.176 [info ]: javascript.0 (1484) script.js.Eskom_Loadshedding: Loadshedding Stage 2 ! 8.3.2022, 11:40:20.423 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: TypeError: Cannot read property '0' of null 8.3.2022, 11:40:20.425 [error]: javascript.0 (1484) at Tag2 (script.js.Eskom_Loadshedding:11:13) 8.3.2022, 11:40:20.425 [error]: javascript.0 (1484) at script.js.Eskom_Loadshedding:33:21 8.3.2022, 11:40:41.834 [info ]: javascript.0 (1484) script.js.Eskom_Loadshedding: Loadshedding Stage 2 ! 8.3.2022, 11:40:42.116 [error]: javascript.0 (1484) script.js.Eskom_Loadshedding: TypeError: Cannot read property '0' of null 8.3.2022, 11:40:42.117 [error]: javascript.0 (1484) at Tag2 (script.js.Eskom_Loadshedding:11:13) 8.3.2022, 11:40:42.118 [error]: javascript.0 (1484) at script.js.Eskom_Loadshedding:33:21
-
@joergh zeile 20 replace ist falsch
return y[0].replace('"Time":"',"");
sollte:
return y[0].replace('"Time"':',');
-
@homoran sagte in Daten aus Webseite ziehen:
@joergh Versuch mal
yMonth">[^\S]+(\S+ \d+ \S+)
was ist mit dem Datum?
Danke. Damit bekomme ich den Tag schon einmal perfekt ausgeschnitten. Fehlt nur noch das Datum und das entsprechende korrekte JS Skript, dann dürfte ich mit Blockly-Mitteln weiter schnipplen können.
-
warum fügst du eigentlich das blockly nicht einfach zusammen - dein ergebnis (result) bei meinen blocks nutzen und in den request mit reinschreiben ?
-
@liv-in-sky Das habe ich doch gemacht. Ich habe Deinen Code importiert und dann die Teile in mein Blockly eingebaut mit Copy/Paste oder was meinst Du?
-
@joergh sorry - da habe ich was falsch verstanden - diese werte gehören ja oben in den request -oder