guten abend
Ich habe Gladys kürzlich entdeckt, der mir sehr interessant erscheint. Ich habe versucht, das Wettermodul zu installieren, aber ohne Erfolg.
Die Erstellung des Wettermoduls im Dashboard von OpenWeather
ich habe keine Erstellung der Box
Gibt es einen Fehler im API-Code, den ich erhalten habe, trotz der empfohlenen Wartezeit?
Hallo und willkommen in der Gladys-Community. Ich habe deinen Beitrag bearbeitet, um den Schlüssel (der privat ist) zu verbergen.
Hast du den OpenWeather-Dienst beim Einrichten getestet?
Wenn du die Box zu einem Bildschirm hinzufügst, vergiss nicht zu speichern (unten rechts).
Hallo,
Vielen Dank für deine Antwort.
Ich verwende die Version von Gladys V4.9.2. Der Dienst wurde automatisch implementiert.
Gibt es einen Befehl zum Testen?
Trotz der Registrierung im Dashboard habe ich immer noch den Fehler.
Freundliche Grüße.
Kannst du uns mehr Informationen über den Fehler geben? ![]()
Hallo,
Ich habe das Problem trotz mehrerer Versuche nicht gelöst.
Ich habe mich falsch ausgedrückt, der Fehler ist die Nachricht.
„Der API-Request an OpenWeather ist fehlgeschlagen. Ist Ihre Gladys-Instanz mit dem Internet verbunden? Bitte gehen Sie zum OpenWeather-Konfigurationspanel, um dieses Problem zu beheben. Klicken Sie hier, um zum OpenWeather-Konfigurationspanel zu gelangen.
Ich habe den „api“-Schlüssel erhalten, siehe mg. In der vorherigen E-Mail.
Mit freundlichen Grüßen.
Hast du Zugriff auf die Logs von Gladys, um möglicherweise die Rückmeldung der OpenWeather-API zu sehen?
Auf deinem Rechner kannst du Folgendes tun:
docker logs gladys
Guten Abend,
Hier sind die Logs, ich bin mir nicht sicher, ob es die richtigen sind…
Bitte um Rückmeldung.
root@gladys:/var/log# tail -n /var/log/messages
tail: ungültige Anzahl von Zeilen: ‘/var/log/messages’
root@gladys:/var/log# tail -n 20 /var/log/messages
Sep 11 17:43:57 gladys kernel: [ 31.710703] cam1-reg: disabling
Sep 11 17:44:53 gladys kernel: [ 40.284913] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
Sep 11 17:44:53 gladys kernel: [ 40.299417] Bridge firewalling registered
Sep 11 17:44:57 gladys kernel: [ 44.450866] docker0: port 1(vethc796f6f) entered blocking state
Sep 11 17:44:57 gladys kernel: [ 44.450878] docker0: port 1(vethc796f6f) entered disabled state
Sep 11 17:44:57 gladys kernel: [ 44.451172] device vethc796f6f entered promiscuous mode
Sep 11 17:44:57 gladys kernel: [ 44.506888] IPv6: ADDRCONF(NETDEV_CHANGE): veth24605c0: link bec omes ready
Sep 11 17:44:57 gladys kernel: [ 44.506998] IPv6: ADDRCONF(NETDEV_CHANGE): vethc796f6f: link bec omes ready
Sep 11 17:44:57 gladys kernel: [ 44.507039] docker0: port 1(vethc796f6f) entered blocking state
Sep 11 17:44:57 gladys kernel: [ 44.507044] docker0: port 1(vethc796f6f) entered forwarding stat e
Sep 11 17:44:57 gladys kernel: [ 44.507108] IPv6: ADDRCONF(NETDEV_CHANGE): docker0: link becomes ready
Sep 11 17:45:01 gladys kernel: [ 48.192284] docker0: port 1(vethc796f6f) entered disabled state
Sep 11 17:45:01 gladys kernel: [ 48.193171] eth0: renamed from veth24605c0
Sep 11 17:45:01 gladys kernel: [ 48.223812] docker0: port 1(vethc796f6f) entered blocking state
Sep 11 17:45:01 gladys kernel: [ 48.223824] docker0: port 1(vethc796f6f) entered forwarding stat e
Sep 11 17:45:05 gladys gladys-init: Gladys Setup Progress image exist, Cool…
Sep 11 17:45:05 gladys gladys-init: Watchtower container exist, Cool…
Sep 11 17:45:05 gladys gladys-init: Gladys container exist, Cool…
Sep 11 17:56:32 gladys kernel: [ 739.367933] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/ Full - flow control rx/tx
Sep 11 17:56:32 gladys kernel: [ 739.367976] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes re ady
root@gladys:/var/log#
Mit freundlichen Grüßen
Hallo! Das sind nicht die richtigen, hast du den Befehl, den ich dir gegeben habe, richtig ausgeführt?
Hallo,
Ich entdecke auch Gladys, es ist sehr cool zu benutzen, herzlichen Glückwunsch.
Ich habe dasselbe Problem, das Wetter funktioniert nicht.
Hier ist der Fehlerprotokoll
_header: 'GET /data/2.5/onecall?lat=47.58798008319857&lon=1.332848840870007&2004cb7f4ef216a56e086522c0ba HTTP/1.1\r\n' +
'Accept: application/json, text/plain, */*\r\n' +
'User-Agent: axios/0.21.1\r\n' +
'Host: api.openweathermap.org\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 80,
protocol: 'http:',
options: [Object],
requests: {},
sockets: [Object],
freeSockets: {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
[Symbol(kCapture)]: false
},
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/data/2.5/onecall?lat=47.58798008319857&lon=1.332848840870007&lang=frf4ef216a56e086522c0ba',
_ended: true,
res: IncomingMessage {
_readableState: [ReadableState],
_events: [Object: null prototype],
_eventsCount: 3,
_maxListeners: undefined,
socket: [Socket],
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
headers: [Object],
rawHeaders: [Array],
trailers: {},
rawTrailers: [],
aborted: false,
upgrade: false,
url: '',
method: null,
statusCode: 401,
statusMessage: 'Unauthorized',
client: [Socket],
_consuming: false,
_dumped: false,
req: [Circular *1],
responseUrl: 'http://api.openweathermap.org/data/2.5/onecall?lat=47.587980r&units=metric&cnt=1&appid=ma-clé-api',
redirects: [],
[Symbol(kCapture)]: false,
[Symbol(RequestTimeout)]: undefined
},
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'api.openweathermap.org',
protocol: 'http:',
_redirectable: Writable {
_writableState: [WritableState],
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_options: [Object],
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: [Circular *1],
_currentUrl: 'http://api.openweathermap.org/data/2.5/onecall?lat=47.587980r&units=metric&cnt=1&appid=ma-clé-api',
[Symbol(kCapture)]: false
},
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype] {
accept: [Array],
'user-agent': [Array],
host: [Array]
}
},
response: {
status: 401,
statusText: 'Unauthorized',
headers: {
server: 'openresty',
date: 'Mon, 12 Sep 2022 09:13:58 GMT',
'content-type': 'application/json; charset=utf-8',
'content-length': '107',
connection: 'close',
'x-cache-key': '/data/2.5/onecall?cnt=1&lang=fr&lat=47.59&lon=1.33&units=m
'access-control-allow-origin': '*',
'access-control-allow-credentials': 'true',
'access-control-allow-methods': 'GET, POST'
},
config: {
url: 'http://api.openweathermap.org/data/2.5/onecall?lat=47.58798008319857metric&cnt=1&appid=ma-clé-api',
method: 'get',
headers: [Object],
transformRequest: [Array],
transformResponse: [Array],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
data: undefined
},
request: <ref *1> ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
socket: [Socket],
_header: 'GET /data/2.5/onecall?lat=47.58798008319857&lon=1.332848840870008f2004cb7f4ef216a56e086522c0ba HTTP/1.1\r\n' +
'Accept: application/json, text/plain, */*\r\n' +
'User-Agent: axios/0.21.1\r\n' +
'Host: api.openweathermap.org\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: noopPendingOutput],
agent: [Agent],
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/data/2.5/onecall?lat=47.58798008319857&lon=1.332848840870007&lang=b7f4ef216a56e086522c0ba',
_ended: true,
res: [IncomingMessage],
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'api.openweathermap.org',
protocol: 'http:',
_redirectable: [Writable],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
data: {
cod: 401,
message: 'Invalid API key. Please see http://openweathermap.org/faq#error4
}
},
isAxiosError: true,
toJSON: [Function: toJSON]
}
Das zeigt mir, dass der API-Schlüssel nicht korrekt ist, aber wenn ich den folgenden Befehl teste:
https://api.openweathermap.org/data/2.5/weather?q=Paris,fr&APPID=ma-clé-api
Funktioniert es.
Haben Sie eine Idee, was das Problem sein könnte?
Gladys: 4.9.2
Mit freundlichen Grüßen,
Das riecht nach einem Token-Problem.
Ich habe es mit meinem versucht und es funktioniert (Weiterleitung zu https).
Abgesehen davon sehe ich, dass der Aufruf über http erfolgt, OpenWeather bietet jetzt SSL-Routen an.
Es fehlt appid=
@pierre-gilles hast du eine Idee, was die URL verfälschen könnte?
Ich habe es gerade bei mir zu Hause getestet, und es funktioniert auch gut…
@VonOx Der API-Schlüssel ist im Log, er hat ihn nur verschleiert, als er ihn geteilt hat, oder?
Bestätigen Sie, dass Sie den API-Schlüssel auf der „OpenWeather“-Seite von Gladys definiert haben? Gibt es Probleme beim Kopieren und Einfügen?
Hmm, ich weiß nicht, das ist komisch
An pierre-gilles
ich habe tatsächlich gesichert, aber es gibt kein Ergebnis.
bezüglich der Logs, kannst du mir helfen, ich habe nicht genug Wissen…
Hier ist, was ich gesichert habe
Mein API-Schlüssel: api5/weather? q=London, uk&appid=(mein_api-schlüssel)
Vielen Dank im Voraus.
Ja, ich habe den API-Schlüssel auf der OpenWeather-Seite definiert, (genau die Seite wie in der Antwort oben).
Das Kopieren/Einfügen und OK, ich habe es überprüft, indem ich es manuell eingegeben habe, ich habe es mit einem anderen Schlüssel versucht, aber ich bekomme denselben Fehler.
Auf welchem Browser bist du? Bist du auf der „offiziellen“ Version von Gladys (nicht ein spezieller Branch gebaut)?
Wenn du speicherst und die Seite neu lädst, ist der Schlüssel dann immer noch da?
Was Pierre-Gilles meint, ist, dass dein API-Schlüssel nur Zahlen und Buchstaben enthalten darf.
Nicht dieses Format: api5/weather? q=London, uk&appid=(mein_api-schlüssel)
Ich habe es mit Chrome und Firefox versucht.
Ich habe die Dokumentation befolgt, daher gehe ich davon aus, dass es sich um die offizielle Version von Gladys handelt.
Wenn ich speichere und aktualisiere, ist der Schlüssel immer noch vorhanden.
Ich habe 2,3 Tests durchgeführt.
Wenn ich die Zeile in Gladys wiederhole:
https://api.openweathermap.org/data/2.5/onecall?lat=47.58798008319857&lon=1.332848840870007&lang=fr&units=metric&cnt=1&appid=ma-clé-api'
et die API abfrage, erhalte ich denselben Fehler „Ungültiger API-Schlüssel“.
Wenn ich jedoch „onecall“ durch „weather“ ersetze, erhalte ich Rückmeldungen
https://api.openweathermap.org/data/2.5/weather?lat=47.58798008319857&lon=1.332848840870007&lang=fr&units=metric&cnt=1&appid=ma-clé-api
Braucht man bei OpenWeather ein besonderes Abonnement?
Ah tatsächlich!
Openweather hat die „Rechte“ geändert, die sie standardmäßig vergeben.
Gibt dein OpenWeather-Konto an, dass du keinen Zugriff auf die OneCall-Route hast?


