NEWS
URL abrufen funktioniert nicht
-
Hallo zusammen,
leider bin ich "noch" etwas unbedarft mit Javascript und dann auch noch zusätzlich der Nutzung der Skripte unter iobroker :?
Ich habe mir auf der Suche nach der Lösung ein Beispielscript gesucht und testweise laufen lassen.
Da es scheinbar damit auch nicht funktioniert, habe ich wohl ein generelles Problem.
Es geht um folgendes Script:
`var request = require('request'); var url = 'https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json?includeTimeseries=true&includeCurrentMeasurement=true'; request(url, function(err, stat, body) { if(err) log('Error: ' + err, error); else if(body) { var pegelonline; var stand; pegelonline = JSON.parse(body); for(var i = 0; i < pegelonline.length; i++) { if(pegelonline[i].shortname == 'BERLIN-PLOETZENSEE OP') { stand = pegelonline[i].timeseries[0].currentMeasurement.value; } } log('Pegel: ' + stand); } });` So sieht mein Adapter aus:  Und so meine Ausgabe:  Sollte da im Log unten nicht die Ausgabe für Pegel kommen? Da passiert einfach garnichts. Kein Fehler, nichts. Wenn ich die URL manuell in einem Browser eingebe, kommt der JSON String. Sorry falls ich an die Sache zu unbedarft rangehe. Gesucht habe ich bereits danach :roll: iobroker läuft übrigens auf Jessie Lite Rpi2b. Wäre für eine kleine Starthilfe dankbar ;)[/i][/i]
-
dass dein Skript nicht läuft weisst du?
Gruß
Rainer
-
Würde behaupten ja.
Dabei sollte doch zumindest etwas rauskommen, oder?
-
Du hast im JavaScript-Adapter das Modul „request“ nicht eingetragen.
Im Script ist es als
var request = require(‚request‘);
eingebaut.
Evtl. solltest Du auch einen anderen Namen wählen. Nicht das es bei Namensgleichheit zwischen Variable und benötigtem Modul zu Problemen kommt.
Bzgl. des Testscriptes:
Ab und an werden die Rückmeldungen nicht im unteren Fensterbereich angezeigt. Aber im normalen Log (Reiter Log) sind sie immer zu finden.
Gruß,
Eric
Von unterwegs getippert
-
Ich hatte beim durchsuchen gelesen, dass request nicht als zusätzliches Modul geladen werden müsste.
Habe es trotzdem mal gemacht. Gleiches Ergebnis.
Mir ist es auch ohne request nicht möglich etwas auszugeben im log.
Einfach nur eine Testausgabe im log geht ja schon nicht.
Im Reiter Log taucht für den Javascriptadapter auch keine Ausgabe des testlogs auf.
-
Es ist komisch das du nichtmal die log Sachen bekommst, der JavaScript Adapter ist aber aktiviert ?
Was steht im Reiter log ?
-
Copy'n'Paste liefert:
Dein JavaScript-Adapter ist aktiviert?console.log funktioniert übrigens nicht in ioBroker. Request muss nicht extra im Adapter eingebunden werden, das sollte kein Problem sein.
var request = require('request');
ist vollkommen ok.
-
Der Adapter läuft (mehrfach neu gestartet):
Seit meinen letzten Versuchen gegen 18:30 keine neuen Einträge mehr:
Per SSH mal iobroker neu gestartet.
Bleibt so…ich werd verrückt :evil:
Update:
iobroker selbst mal von 1.1.3 auf 1.2.0 aktualisiert.
Der JS Adapter war bereits aktuell.
Den Raspe auch mal durchgestartet danach.
Alles wie vorher ohne Funktion :roll:
-
Da haben wir doch schon mal eine Fehlermeldung… besser als nix. Laut Google tritt der Fehler auf, wenn nicht rechtzeitig (oder gar keine) Antwort vom Server kommt.
Der antwortet aber, sonst würde ich keine Ausgabe bekommen. Hängst du vllt. hinter einer etwas restriktiven Firewall oder Proxy? Der Browser sendet zusätzliche HTTP-Header, eventuell macht das dann bei Firewall oder Proxy den Unterschied.
-
Proxy verwende ich keinen.
Hinter einer FW bin ich natürlich.
Testweise deaktiviert und neu versucht.
Gleiches Problem.
-
Würde behaupten ja.
Dabei sollte doch zumindest etwas rauskommen, oder?
Testlog.PNG `
Hi,bei log('bla', 'blub'), sollte eine Warnung kommen. da du an die Funktion log 2 Parameter übergibst und der zweite davon nur: warn info oder error heißen darf.
console.log funktioniert übrigens nicht in ioBroker. . `
Warum geht das nicht? Bei mir geht das.
-
console.log funktioniert übrigens nicht in ioBroker. . `
Warum geht das nicht? Bei mir geht das. `
Same here
–-----------------------
Send from mobile device
-
Landet das dann auch im js Log? Hab ich lange nicht mehr gemacht. Bei Adaptern geht der log dann nämlich wirklich nur auf die Konsole und erscheint nicht in iobroker.
Gesendet von iPhone mit Tapatalk
-
Landet das dann auch im js Log? Hab ich lange nicht mehr gemacht. Bei Adaptern geht der log dann nämlich wirklich nur auf die Konsole und erscheint nicht in iobroker.
Gesendet von iPhone mit Tapatalk `
Muss ich Mal Schaun aber auf jeden Fall sichtbar im Reiter Log wen im JavaScript benutzt–-----------------------
Send from mobile device
-
Bei Adaptern geht der log dann nämlich wirklich nur auf die Konsole und erscheint nicht in iobroker.
Gesendet von iPhone mit Tapatalk `
Kann ich bestätigen, aber bei der JS Instanz geht das wirklich…