NEWS
Adapter: DasWetter
-
@Glasfaser ich verstehe es auch nicht wrklich. Das sind drei Zeilen Code:
adapter.log.debug("calling forecast hourly: " + url); request(url, (error, response, body) => { adapter.log.debug("got response");
das erste log sehen wir, das zweite nicht. Request kommt aus einer Bibliothek, welches http Requests behandelt, eigenlich sehr zuverlässig...
Normalerweise würde ich jetzt sagen, wir müssen die Pakete auf dem Netzwerk mit wireshark mitschneiden... Ich weiß nicht, ob du soweit gehen kannst und willst...
Aber ich vermute auch, dass irgendeine firewall die Pakete blockt. Ich kann aber auch nicht sagen, ob die Pakete gar nicht zum Server raus gehen oder ob nur die Antwort nicht richtig weitergeleitet wird...
Du hattest ja gezeigt, dass die URL vom Rechner aus richtige Daten liefert. Hängt dein iobroker-docker im gleichen Netz wie dein Rechner?Du könntest auch mal in der Linux Konsole per wget versuchen, die Daten zu holen:
wget -q -o log.txt "http://api.daswetter.com/index.php?api_lang=de&localidad=26301&affiliate_id=myx7k637fzzv&v=2.0&h=1"
Das sollte dannn eine Datei mit dem Namen
'index.php?api_lang=de&localidad=26301&affiliate_id=myx7k637fzzv&v=2.0&h=1'
ablegen.
Vielleicht kommen wir so weiter...
-
ioBroker ist im gleichen Netzwerk .
Den Befehl in der Konsole ausfgeführt und auch die Datei wird erstellt .
Alles funktioniert ,ist auch über ping oder per wget ausführbar..
hier der Inhalt der Datei :
.
und hier als Test ohne " &h=1 " ( für Pfad2) -
@Glasfaser Das Ergebnis spricht gegen die Theorie, dass Pakete geblockt werden...
Ich habe jetzt mal meinen aktuellen Entwicklungszweig in den master im github gemerged. Dort hatte ich begonnen, request durch bent zu ersetzen, weil request nicht weiterentwickelt wird. Vielleicht kannst du die version 3.0.0 mal probieren?
-
@Rene_HM sagte in Adapter: DasWetter:
Vielleicht kannst du die version 3.0.0 mal probieren?
Es klappt alles mit dieser Version .... DANKE !!!
die Daten werden abgeholt ....
verarbeitet .. und auch die Datenpunkte werden geschieben .Lag es vielleicht an der alten Option die du jetzt rausgenommen hast !?
"breaking change: old data structure is not supported anymore"
-
@Glasfaser Ursache kann nur das Paket "request" gewesen sein. Das habe ich ja ersetzt. Bishar war das sehr zuverlässig... naja, muss ich jetzt schauen, dass ich die 3.0 fertig bekomme, damit ich sie auch releasen kann...
-
OK ... nochmal Danke
... war schon am verzweifel , das ein größeres Problem bei mir vorliegt ! -
Hallo zusammen,
mein Adapter aktualisiert nicht mehr. Im Log finde ich keine Einträge, aber das Verlaufsdiagramm zeigt noch immer die Werte ab 22.04. (auch der Datenpunkt "daswetter.0.NextDaysDetailed.Location_1.Day_1.day_value" zeigt den 22. Adapter Neustart und Installieren einer neue Instanz haben nicht geholfen. Die neue Instanz wurde einfach nicht angelegt. Als nächstes werde ich den Adapter komplett neu installieren.
Habt ihr das auch? -
-
@Coffeelover sagte in Adapter: DasWetter:
Habt ihr das auch?
Nur das Thema über dein Thread mit Pfad3.
Wurde aber in der Version 3.0.0 behoben und funktioniert seit dem Top. -
@Zippolighter sagte in Adapter: DasWetter:
Huhu,
hast du schon wegen dem Datum schauen können? Bei mir wird es als 20190113 dargestellt
LG Micha `
Datumscript// Datum für Wetter Widget in der richtigen Reihenfolge anzeigen createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag", {name: 'Datum_ 1Tag', common: 'string'}, function () {}); createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag", {name: 'Datum_ 2Tag', common: 'string'}, function () {}); createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag", {name: 'Datum_ 3Tag', common: 'string'}, function () {}); createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag", {name: 'Datum_ 4Tag', common: 'string'}, function () {}); createState("javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag", {name: 'Datum_ 5Tag', common: 'string'}, function () {}); function berechneDatum() { // Berechnung des aktuellen Monats var d = new Date(); var dm = d.getMonth() +1; var dd = d.getDate(); var dJ = d.getFullYear(); var Monat; log('Monat ' + dm); log('Tag ' + dd); log('Datum neu berechnet'); var Tag1 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag"; var Tag2 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 2Tag"; var Tag3 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 3Tag"; var Tag4 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 4Tag"; var Tag5 = "javascript.0.Manuell.Systemvariable.Wetter.Datum_ 5Tag"; var dD1 = dd + 0; if (dD1 < 10) { dD1 = ('0' + dd); // log('Tag zweistellig ' + dD1); } var dD2 = dd + 1; if (dD2 < 10) { dD2 = ('0' + (dd + 1)); // log('Tag zweistellig ' + dD2); } var dD3 = dd + 2; if (dD3 < 10) { dD3 = ('0' + (dd + 2)); // log('Tag zweistellig ' + dD3); } // log(dD3); var dD4 = dd + 3; if (dD4 < 10) { dD4 = ('0' + (dd + 3)); // log('Tag zweistellig ' + dD4); } var dD5 = dd + 4; if (dD5 < 10) { dD5 = ('0' + (dd + 4)); // log('Tag zweistellig ' + dD5); } dM = dm; if (dm < 10) { var dM = ('0' + dm); // log('Monat zweistellig ' + dM); } //VorMonat als Namen Date.prototype.getFullMonth = function () { return (["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"])[this.getMonth()]; }; var VdM = d.getFullMonth(); setState(Tag1, (dD1 + ' ' + VdM + ' ' + dJ)); log(dD1 + ' ' + VdM + ' ' + dJ); setState(Tag2, (dD2 + ' ' + VdM + ' ' + dJ)); // log(dD2 + ' ' + VdM + ' ' + dJ); setState(Tag3, (dD3 + ' ' + VdM + ' ' + dJ)); // log(dD3 + ' ' + VdM + ' ' + dJ); setState(Tag4, (dD4 + ' ' + VdM + ' ' + dJ)); // log(dD4 + ' ' + VdM + ' ' + dJ); setState(Tag5, (dD5 + ' ' + VdM + ' ' + dJ)); // log(dD5 + ' ' + VdM + ' ' + dJ); } berechneDatum(); // Skriptstart schedule("25 0 0 * * *", berechneDatum);
Dann im Widget die Objekt-ID für das Datum auf javascript.0.Manuell.Systemvariable.Wetter.Datum_ 1Tag usw bis Datum_5Tag ändern
Hallo,
@Glasfaser und ich sind dank @Nashra gerade darauf aufmerksam gemacht worden das mit diesem Script der April ein paar Tage mehr hat:
Ist das schon jemandem aufgefallen und hat es eventuell schon jemand korrigiert ?
EDIT: geht hier weiter: https://forum.iobroker.net/topic/18720/erledigt-hilfe-datumsscript/16
-
Ich habe nun gerade die 3.0.0 installiert, nachdem ich alle Instanzen gelöscht und den bisherigen Adapter deinstalliert habe.
Die aktuellen Werte passen. Leider hat mir der Adapter aber die beiden "Detailed" Sichten nicht angelegt. Irgendwie funktioniert das gerade bei mir nicht sauber. -
ACHTUNG: Bitte die aktuelle Version 3.0 aus github nicht installieren! Ich bin an Umbau-Arbeiten, die noch nicht abgeschlossen sind...
Es wird einen post von mir hier geben, wenn die 3.0 soweit ist... -
@Rene_HM Vielen Dank für den Hinweis. Habe den Adapter jetzt komplett deinstalliert und neu mit 2.8.1 installiert. Leider fehlen bei mir die Datenpunkte weiterhin.
-
@Coffeelover
Stelle doch mal die Logstufe auf Debug ... dann kannst du sehen was passiert ! -
@Glasfaser Er steht schon auf Debug. Allerdings taucht im Log nichts auf. Wenn ich den Adapter stoppe und wieder starte, taucht nur vom Host auf, dass der Adapter gestoppt und gestartet wurde und der cron angelegt ist.
-
Hast du mal den Cron in der Instanz auf eine Minute eingestellt ... !?
und auch dort holt er auch keine Daten ? -
wollte ich auch gerade schreiben... startet der Adapter denn, wenn die Zeit im cron heran ist?
-
@Glasfaser Das sieht dann so aus. Problem: Es sind weiterhin keine Datenpunkte vorhanden.
daswetter.0 2020-05-02 15:18:10.034 debug (6010) calling forecast hourly: http://api.daswetter.com/index.php?api_lang=de&localidad=97795&affiliate_id=pkwnqrmo8621&v=2.0&h=1 daswetter.0 2020-05-02 15:18:10.029 debug (6010) 5 days forecast done, objects in list 1059 daswetter.0 2020-05-02 15:18:09.286 debug (6010) calling forecast 5 days: http://api.daswetter.com/index.php?api_lang=de&localidad=97795&affiliate_id=pkwnqrmo8621&v=2.0 daswetter.0 2020-05-02 15:18:09.277 debug (6010) 7 days forecast done, objects in list 107 daswetter.0 2020-05-02 15:18:08.885 debug (6010) calling forecast 7 days: http://api.daswetter.com/index.php?api_lang=de&localidad=97795&affiliate_id=pkwnqrmo8621 daswetter.0 2020-05-02 15:18:08.882 debug (6010) using new data structure daswetter.0 2020-05-02 15:18:08.880 debug (6010) set timeout to 60 sec daswetter.0 2020-05-02 15:18:08.822 info (6010) starting. Version 2.8.1 in /opt/iobroker/node_modules/iobroker.daswetter, node: v12.16.3, js-controller: 3.0.20 daswetter.0 2020-05-02 15:16:11.730 warn (5753) Terminated (15): Without reason daswetter.0 2020-05-02 15:16:11.723 error (5753) force terminate, objects still in list: 1059 daswetter.0 2020-05-02 15:16:05.574 debug (5753) system.adapter.admin.0: logging true daswetter.0 2020-05-02 15:15:14.647 debug (5753) system.adapter.admin.0: logging false daswetter.0 2020-05-02 15:15:12.997 debug (5753) calling forecast hourly: http://api.daswetter.com/index.php?api_lang=de&localidad=97795&affiliate_id=pkwnqrmo8621&v=2.0&h=1 daswetter.0 2020-05-02 15:15:12.993 debug (5753) 5 days forecast done, objects in list 1059 daswetter.0 2020-05-02 15:15:12.200 debug (5753) calling forecast 5 days: http://api.daswetter.com/index.php?api_lang=de&localidad=97795&affiliate_id=pkwnqrmo8621&v=2.0 daswetter.0 2020-05-02 15:15:12.193 debug (5753) 7 days forecast done, objects in list 107 daswetter.0 2020-05-02 15:15:11.731 debug (5753) calling forecast 7 days: http://api.daswetter.com/index.php?api_lang=de&localidad=97795&affiliate_id=pkwnqrmo8621 daswetter.0 2020-05-02 15:15:11.723 debug (5753) using new data structure daswetter.0 2020-05-02 15:15:11.719 debug (5753) set timeout to 60 sec daswetter.0 2020-05-02 15:15:11.586 info (5753) starting. Version 2.8.1 in /opt/iobroker/node_modules/iobroker.daswetter, node: v12.16.3, js-controller: 3.0.20
-
@Coffeelover setze mal den parse-timeout etwas höher. Du hast beim "force terminate" noch über 1000 Werte zu bearbeiten... Ich würde mal auf mindestens 120 Sekunden (anstatt 60) gehen...
-
@Rene_HM Großzügig auf 180 gesprungen. Ergebnis unverändert. Es existiert die ganze Baumstruktur der DPs nicht. Ich installiere mal ne weitere Instanz.
Edit: Ergebnis unverändert. Keine Baumstruktur.
Der Cron steht auf 5 Minuten. Force terminate auf 180.