NEWS
Test Adapter swiss-weather-api v0.1.x
-
Aktuelle Test Version 2.2.2 Veröffentlichungsdatum 9.1.2020 Github Link https://github.com/baerengraben/ioBroker.swiss-weather-api Bereit zum Test
Hallo zusammen
Ich einen Adapter geschrieben, der die Wetter-Daten vom schweizer Staatsfernsehen https://developer.srgssr.ch/apis/srgssr-weather liest und im ioBroker zur Verfügung stellt. Ich bitte um Tests.
Vielen Dank -
swiss-weather-api.0 2020-01-10 12:00:01.623 error at process._tickCallback (internal/process/next_tick.js:63:19) swiss-weather-api.0 2020-01-10 12:00:01.623 error at endReadableNT (_stream_readable.js:1145:12) swiss-weather-api.0 2020-01-10 12:00:01.623 error at IncomingMessage.emit (events.js:203:15) swiss-weather-api.0 2020-01-10 12:00:01.623 error at IncomingMessage.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.swiss-weather-api\main.js:983:89) swiss-weather-api.0 2020-01-10 12:00:01.623 error (7336) TypeError: Cannot read property 'toString' of undefined swiss-weather-api.0 2020-01-10 12:00:01.623 error (7336) uncaught exception: Cannot read property 'toString' of undefined swiss-weather-api.0 2020-01-10 12:00:01.620 error at process._tickCallback (internal/process/next_tick.js:63:19) swiss-weather-api.0 2020-01-10 12:00:01.620 error at endReadableNT (_stream_readable.js:1145:12) swiss-weather-api.0 2020-01-10 12:00:01.620 error at IncomingMessage.emit (events.js:203:15) swiss-weather-api.0 2020-01-10 12:00:01.620 error at IncomingMessage.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.swiss-weather-api\main.js:427:83) swiss-weather-api.0 2020-01-10 12:00:01.620 error (7336) TypeError: Cannot read property '0' of undefined swiss-weather-api.0 2020-01-10 12:00:01.619 error (7336) uncaught exception: Cannot read property '0' of undefined swiss-weather-api.0 2020-01-10 12:00:01.616 error at process._tickCallback (internal/process/next_tick.js:63:19) swiss-weather-api.0 2020-01-10 12:00:01.616 error at endReadableNT (_stream_readable.js:1145:12) swiss-weather-api.0 2020-01-10 12:00:01.616 error at IncomingMessage.emit (events.js:203:15) swiss-weather-api.0 2020-01-10 12:00:01.616 error at IncomingMessage.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.swiss-weather-api\main.js:1175:83) swiss-weather-api.0 2020-01-10 12:00:01.616 error (7336) TypeError: Cannot read property 'toString' of undefined swiss-weather-api.0 2020-01-10 12:00:01.616 error (7336) uncaught exception: Cannot read property 'toString' of undefined swiss-weather-api.0 2020-01-10 12:00:01.610 error at process._tickCallback (internal/process/next_tick.js:63:19) swiss-weather-api.0 2020-01-10 12:00:01.610 error at endReadableNT (_stream_readable.js:1145:12) swiss-weather-api.0 2020-01-10 12:00:01.610 error at IncomingMessage.emit (events.js:203:15) swiss-weather-api.0 2020-01-10 12:00:01.610 error at IncomingMessage.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.swiss-weather-api\main.js:123:92) swiss-weather-api.0 2020-01-10 12:00:01.610 error (7336) TypeError: Cannot read property 'toString' of undefined swiss-weather-api.0 2020-01-10 12:00:01.610 error (7336) uncaught exception: Cannot read property 'toString' of undefined
-
@sigi234 Vielen Dank fürs Testen!
Ich habe eine kleine Korrektur gemacht und auf Github gestellt. Kannst du bitte die Adapter-Instanz löschen, den Adapter neu von Github ziehen, einen Upload machen und dann den Adapter neu installieren? Falls es weiterhin errors gibt, bitte gleich im Debug-Modus starten und das Log posten. - Das müsste aber eigentlich jetzt gehen... -
swiss-weather-api.0 2020-01-10 19:43:01.487 info (24948) Terminated (NO_ERROR): Without reason swiss-weather-api.0 2020-01-10 19:43:01.486 info (24948) terminating swiss-weather-api.0 2020-01-10 19:43:00.994 error (24948) TypeError: Cannot read property 'toString' of undefined at IncomingMessage.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.swiss-weather-api\main.js:1002:89) at Incom swiss-weather-api.0 2020-01-10 19:43:00.993 error (24948) uncaught exception: Cannot read property 'toString' of undefined swiss-weather-api.0 2020-01-10 19:43:00.993 debug (24948) Hour Forecast: {"code":"404.02.001","message":"Resource not found error","info":"https://developer.srgssr.ch"} swiss-weather-api.0 2020-01-10 19:43:00.992 error (24948) TypeError: Cannot read property 'toString' of undefined at IncomingMessage.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.swiss-weather-api\main.js:1194:83) at Incom swiss-weather-api.0 2020-01-10 19:43:00.991 error (24948) uncaught exception: Cannot read property 'toString' of undefined swiss-weather-api.0 2020-01-10 19:43:00.991 debug (24948) 24h Forecast: {"code":"404.02.001","message":"Resource not found error","info":"https://developer.srgssr.ch"} swiss-weather-api.0 2020-01-10 19:43:00.990 debug (24948) chunksConcat: { "code": "404.02.001", "message": "Resource not found error", "info": "https://developer.srgssr.ch" } swiss-weather-api.0 2020-01-10 19:43:00.985 error (24948) TypeError: Cannot read property 'toString' of undefined at IncomingMessage.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.swiss-weather-api\main.js:142:92) at Incomi swiss-weather-api.0 2020-01-10 19:43:00.985 error (24948) uncaught exception: Cannot read property 'toString' of undefined swiss-weather-api.0 2020-01-10 19:43:00.984 debug (24948) Current Forecast: {"code":"404.02.001","message":"Resource not found error","info":"https://developer.srgssr.ch"} swiss-weather-api.0 2020-01-10 19:43:00.979 error (24948) TypeError: Cannot read property '0' of undefined at IncomingMessage.<anonymous> (C:\Program Files\iobroker\Test\node_modules\iobroker.swiss-weather-api\main.js:446:83) at IncomingMessa swiss-weather-api.0 2020-01-10 19:43:00.979 error (24948) uncaught exception: Cannot read property '0' of undefined swiss-weather-api.0 2020-01-10 19:43:00.973 debug (24948) Week Forecast: {"code":"404.02.001","message":"Resource not found error","info":"https://developer.srgssr.ch"} swiss-weather-api.0 2020-01-10 19:43:00.972 debug (24948) chunksConcat: { "code": "404.02.001", "message": "Resource not found error", "info": "https://developer.srgssr.ch" } swiss-weather-api.0 2020-01-10 19:43:00.804 debug (24948) Access_Token : xxxxxxxxxxxxxxxxxxx swiss-weather-api.0 2020-01-10 19:43:00.628 debug (24948) "xxxxxxxxxxxxxxxx" converted to Base64 is "xxxxxxxxxxxxxxxxxxxxx==" swiss-weather-api.0 2020-01-10 19:43:00.622 debug (24948) Define XML File:... swiss-weather-api.0 2020-01-10 19:43:00.622 debug (24948) Longitude: 14.xxxxxxxx swiss-weather-api.0 2020-01-10 19:43:00.622 debug (24948) Latitude 48.xxxxxxxxxxx swiss-weather-api.0 2020-01-10 19:43:00.622 debug (24948) Consumer Secret: xxxxxxxxxxx swiss-weather-api.0 2020-01-10 19:43:00.622 debug (24948) Consumer Key: xxxxxxxxxxxxxxx swiss-weather-api.0 2020-01-10 19:43:00.622 debug (24948) App Name: Sigi swiss-weather-api.0 2020-01-10 19:43:00.612 info (24948) starting. Version 0.1.4 in C:/Program Files/iobroker/Test/node_modules/iobroker.swiss-weather-api, node: v10.16.3
-
Sehr komisch. Das SSRSSR-API beantwortet die Anfragen mit
"code":"404.02.001","message":"Resource not found error","info":"https://developer.srgssr.ch"
Darf ich wissen mit welcher Longitude / Latitude du die Abfrage machst? Ich habe die leise Vermutung, dass das API sich auf Schweizer Locations beschränkt. Kannst du auch mal Zürich (latitude: 47.36667 und longitude: 8.5) ausprobieren?
-
@baerengraben sagte in Test Adapter swiss-weather-api v0.1.x:
Kannst du auch mal Zürich (latitude: 47.36667 und longitude: 8.5) ausprobieren?
Ja, mit diesen geht es. Meine sind aus Österreich.
-
Ok, ich "verbessere" den Adapter noch indem ich ihn auf Schweizer Locations einschränke und mache eine neue Version.
Vielen Dank für diesen Test! Da wäre ich definitiv nicht darauf gekommen... -
Die Anpassungen sind erledigt. Ich habe gleich eine neue Version 0.1.5 erstellt.
-
@baerengraben sagte in Test Adapter swiss-weather-api v0.1.x:
Die Anpassungen sind erledigt. Ich habe gleich eine neue Version 0.1.5 erstellt.
Einfach per Git installieren?
-
Ja wieder genau gleich über Github ziehen, uploaden und neu installieren.
Der Adapter gibt nun einen Error aus, wenn eine Location gesucht wird, welche nicht vom API unterstützt wird. -
@baerengraben sagte in Test Adapter swiss-weather-api v0.1.x:
Ja wieder genau gleich über Github ziehen, uploaden und neu installieren.
Der Adapter gibt nun einen Error aus, wenn eine Location gesucht wird, welche nicht vom API unterstützt wird.Also nix für Österreich.
-
Leider werden nur Schweizer Adressen unterstützt. Der swiss-weather-api Adapter zieht die Wetter-Daten vom Schweizer Fernsehen. Die können da zwar gratis abgerufen werden, aber sie bieten explizit nur schweizer Adressen an. Dieser Adapter ist deswegen vorallem für Schweizer geeignet oder für Personen, die sich für Wetterdaten in der Schweiz interessieren.
-
@baerengraben Bin grade beim Testen, schön gibts jetzt auch mal was für die Schweiz, vielen Dank dafür.
Anmerkungen:
- ist natürlich etwas schade, dass man erstmal bis zu 30 Minuten warten muss damit etwas kommt. Weis aber auch nicht wie du das bei einem Schedule-Adapter anders lösen kannst ohne irgend ein "Gebastel" in der index_m.
- Dasselbe mit den Credentials, wenn man da was falsch eingibt, wartet man mal 30 Minuten um das dann im Log zu merken. Da könntest du evtl. auch vom Client aus einen Request abschicken um zu prüfen ob es soweit passt, auch wenn ich das nicht wirklich sauber finde.
Hast du, oder jemand anderes, schon eine VIS-Anzeige dazu gebaut?
-
@dbweb: Merci fürs Testen
@dbweb sagte in Test Adapter swiss-weather-api v0.1.x:
@baerengraben Bin grade beim Testen, schön gibts jetzt auch mal was für die Schweiz, vielen Dank dafür.
Anmerkungen:
- ist natürlich etwas schade, dass man erstmal bis zu 30 Minuten warten muss damit etwas kommt. Weis aber auch nicht wie du das bei einem Schedule-Adapter anders lösen kannst ohne irgend ein "Gebastel" in der index_m.
Das ist ein guter Punkt, für den ich bis jetzt auch noch keine schöne Lösung gefunden habe. Beim Testen habe ich jeweils, nach dem Installieren, den Scheduler kurz auf 1min gesetzt. Anschliessend, wenn alles gut lief, dann wieder auf 30min.
Ansonsten habe ich leider auch keine bessere Möglichkeit gefunden das schöner umzusetzen.- Dasselbe mit den Credentials, wenn man da was falsch eingibt, wartet man mal 30 Minuten um das dann im Log zu merken. Da könntest du evtl. auch vom Client aus einen Request abschicken um zu prüfen ob es soweit passt, auch wenn ich das nicht wirklich sauber finde.
Hier kann man eigentlich auch kurz den Scheduler auf 1min stellen, so dass man schneller feststellen kann ob's ok durchläuft oder nicht. Aber evtl. kann ich dem auch beikommen indem ich das noch besser Dokumentiere (z.B. mit Printscreens)?
Hast du, oder jemand anderes, schon eine VIS-Anzeige dazu gebaut?
Eine Visualisierung habe ich nicht umgesetzt. Ich persönlich verwende das API um die Daten vom ioBroker auf mein KNX-System zu schicken. Da wird es bei dann visualisiert. Wenn hier jemand die Visu im ioBroker dafür beitragen möchte/könnte wäre das natürlich super
-
@dbweb sagte in Test Adapter swiss-weather-api v0.1.x:
Hast du, oder jemand anderes, schon eine VIS-Anzeige dazu gebaut?
Nicht direkt, aber:
-
Ich nutze den Adapter in der Version 0.2.0. Seit einem Update von node.js von 10x auf 12.16.3 funktioniert dieser nicht mehr (Fehlermeldung im Log: error: instance system.adapter.swiss-weather-api.0 terminated with code 1 (JS_CONTROLLER_STOPPED))
Gibt es Probleme mit dem Adapter und der 12er Version? -
@Al-Bundy said in Test Adapter swiss-weather-api v0.1.x:
....Gibt es Probleme mit dem Adapter und der 12er Version?
Hab das gleiche Problem seit dem Update. Adapter lässt dich nicht mehr starten.
-
@trasaonis
Ich habe die Instanz und den Adapter deinstalliert und nochmals komplett neu installiert. Nun läuft es wieder. -
@Al-Bundy
Danke! Hat bei mir auch funktioniert. Bin leider erst jetzt dazugekommen Adapter und Instanz neu zu installieren. Läuft wieder! -
Hallo zusammen
Als erstes: Ich bin noch Anfänger was iObroker angeht und falls der Beitrag hier nicht hingehört bitte verschieben.
Ich konnte ioBroker auf einem Raspberry Pi 4 installieren und im Anschluss erste Adapter erfolgreich in Betrieb nehmen.
Ich habe nun den swiss-weather Adapter installiert, Costumer-Key und - Secret eingegeben und auch die Koordinaten (innerhalb der Schweiz) eingetragen.
Nun jedoch erscheinen mir im Log laufend Fehlermeldungen (siehe Spoiler unten)
Hat mir dort jemand einen Tip? Besten Dank im Voraus und Gruss aus der Schweiz