NEWS
Corona-Ampel Österreich in VIS anzeigen
-
Hallo!
Seit Freitag wurde in Österreich die Corona-Ampel eingeführt (Link). Nun wäre es natürlich gut, diese auch am Tablet für den eigenen Ort/die Region anzuzeigen. Es gibt dazu auch ein JSON (Link)- Ich frage mich jedoch, wie man dieses am besten einbinden kann.
Das Schwierige ist, dass es nicht für jeden Bezirk/Gemeinde einen Eintrag gibt, sondern, wie es scheint, nur pro Bundesland, und dann nur Untereinträge, sofern es Warnungen pro Bezirk gibt. Dies macht es etwas schwierig, da etwas abzufragen..habt ihr eine Idee, wie man das am besten umsetzen könnte?
-
du kannst das json durch scrollen - und wenn dein bezirk da ist - setzt du in der vis eine eigene ampel - ist dein bezirk nicht da - ist die ampel grün
oder verstehe ich dich nicht richtig
-
wenn die daten in einem dp stehen mit
let myJson=JSON.parse(getState("0_userdata.0.Corona-Ampel").val).warnstufen log(myJson.length) for (var i=0;i<myJson.length;i++) { log(myJson[i].name +" gkz : "+ +myJson[i].gkz+ " warnstufe: "+myJson[i].warnstufe) }
-
@liv-in-sky sagte in Corona-Ampel Österreich in VIS anzeigen:
wenn die daten in einem dp stehen mit
Hallo, wie bekomme ich sie in einen DP?
-
@sigi234 Ich habs grad so versucht:
var URL2, result; schedule("* * * * *", function () { URL2 = 'https://corona-ampel.gv.at/sites/corona-ampel.gv.at/files/assets/Warnstufen_Corona_Ampel_aktuell.json'; try { require("request")(URL2, function (error, response, result) { console.log(result); }).on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); } });
Bekomme hier aber immer folgenden Fehler:
-
@jackblackson ich habe es über den datenpunjkt gemacht, weil ich den selben fehler hatte - leider muss ich jetzt weg - vielleicht findet ihr eine lösung - wenn nicht arbeiten wir später daran
-
@jackblackson
Dieses Script zeigt mir für Graz jede Minute die Warnstufe 2:const url = 'https://corona-ampel.gv.at/sites/corona-ampel.gv.at/files/assets/Warnstufen_Corona_Ampel_aktuell.json'; schedule('* * * * *', function() { request(url, function(err, response, json) { let arr = JSON.parse(json).warnstufen; for(let i = 0; i < arr.length; i++) { if(arr[i].name == 'Graz (Stadt)') log('Graz Warnstufe: ' + arr[i].warnstufe) } }); });
-
@paul53 Sehr cool! Wie gehst du damit um, wenn Graz nicht mehr Stufe 2 ist, sondern 1 - dann findet er ja nichts mehr.
Hab es bei mir mal 1:1 reinkopiert, und bekomme dann folgende Fehler:
-
@jackblackson sagte:
Wie gehst du damit um, wenn Graz nicht mehr Stufe 2 ist, sondern 1 - dann findet er ja nichts mehr.
So:
const url = 'https://corona-ampel.gv.at/sites/corona-ampel.gv.at/files/assets/Warnstufen_Corona_Ampel_aktuell.json'; schedule('* * * * *', function() { request(url, function(err, response, json) { let arr = JSON.parse(json).warnstufen; let msg = ''; for(let i = 0; i < arr.length; i++) { if(arr[i].name == 'Graz (Stadt)') msg = 'Graz Warnstufe: ' + arr[i].warnstufe; } if(msg) log(msg); else log('Graz Warnstufe: 1'); }); });
@jackblackson sagte in Corona-Ampel Österreich in VIS anzeigen:
bekomme dann folgende Fehler:
Welche Version des JS-Adapters ?
-
@paul53 Version 4.6.17
-
@jackblackson sagte:
Version 4.6.17
Dann versuche es mal mit Version 4.6.26 (erst latest 4.7.3, dann zurück auf 4.6.26).
-
@paul53 Bin jetzt auf 4.6.26, leider keine Veränderung.
-
@jackblackson sagte:
4.6.26, leider keine Veränderung.
Habe hier etwas gefunden. Versuche es deshalb mal so:
const url = 'https://corona-ampel.gv.at/sites/corona-ampel.gv.at/files/assets/Warnstufen_Corona_Ampel_aktuell.json'; schedule('* * * * *', function() { request({url: url, agent: new Agent({ rejectUnauthorized: false })}, function(err, response, json) { let arr = JSON.parse(json).warnstufen; let msg = ''; for(let i = 0; i < arr.length; i++) { if(arr[i].name == 'Graz (Stadt)') msg = 'Graz Warnstufe: ' + arr[i].warnstufe; } if(msg) log(msg); else log('Graz Warnstufe: 1'); }); });
-
javascript.0 2020-09-08 19:52:00.357 error (14676) at processTimers (internal/timers.js:492:7) javascript.0 2020-09-08 19:52:00.357 error (14676) at listOnTimeout (internal/timers.js:549:17) javascript.0 2020-09-08 19:52:00.357 error (14676) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\node-schedule\lib\schedule.js:510:7) javascript.0 2020-09-08 19:52:00.356 error (14676) at C:\Program Files\iobroker\Test\node_modules\node-schedule\lib\schedule.js:552:11 javascript.0 2020-09-08 19:52:00.356 error (14676) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\node-schedule\lib\schedule.js:173:10) javascript.0 2020-09-08 19:52:00.356 error (14676) at Job.job (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1260:34) javascript.0 2020-09-08 19:52:00.356 error (14676) at Object.<anonymous> (script.js.Sigi.Corona_Ampel:4:35) javascript.0 2020-09-08 19:52:00.356 error (14676) Error in callback: ReferenceError: Agent is not defined javascript.0 2020-09-08 19:51:00.007 error (14676) at processTimers (internal/timers.js:492:7) javascript.0 2020-09-08 19:51:00.007 error (14676) at listOnTimeout (internal/timers.js:549:17) javascript.0 2020-09-08 19:51:00.007 error (14676) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\node-schedule\lib\schedule.js:510:7) javascript.0 2020-09-08 19:51:00.007 error (14676) at C:\Program Files\iobroker\Test\node_modules\node-schedule\lib\schedule.js:552:11 javascript.0 2020-09-08 19:51:00.007 error (14676) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\node-schedule\lib\schedule.js:173:10) javascript.0 2020-09-08 19:51:00.007 error (14676) at Job.job (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1260:34) javascript.0 2020-09-08 19:51:00.007 error (14676) at Object.<anonymous> (script.js.Sigi.Corona_Ampel:4:35) javascript.0 2020-09-08 19:51:00.006 error (14676) Error in callback: ReferenceError: Agent is not defined javascript.0 2020-09-08 19:50:40.953 info (14676) script.js.Sigi.Corona_Ampel: registered 0 subscriptions and 1 schedule javascript.0 2020-09-08 19:50:40.953 info (14676) script.js.Sigi.Corona_Ampel: Österreich gkz : 0 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Wien gkz : 9 warnstufe: 2 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Vorarlberg gkz : 8 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Tirol gkz : 7 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Steiermark gkz : 6 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Salzburg gkz : 5 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Oberösterreich gkz : 4 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Niederösterreich gkz : 3 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Kärnten gkz : 2 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Burgenland gkz : 1 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Kufstein gkz : 705 warnstufe: 2 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Innsbruck (Stadt) gkz : 701 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Graz (Stadt) gkz : 601 warnstufe: 2 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Linz-Land gkz : 410 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Wels (Stadt) gkz : 403 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Linz (Stadt) gkz : 401 warnstufe: 2 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Wr. Neustadt (Stadt) gkz : 304 warnstufe: 1 javascript.0 2020-09-08 19:50:40.952 info (14676) script.js.Sigi.Corona_Ampel: Eisenstadt-Umg. gkz : 103 warnstufe: 1 javascript.0 2020-09-08 19:50:40.951 info (14676) script.js.Sigi.Corona_Ampel: 18 javascript.0 2020-09-08 19:50:40.950 info (14676) Start javascript script.js.Sigi.Corona_Ampel
-
ReferenceError: Agent is not defined
-
@liv-in-sky sagte:
Agent is not defined
Neuer Versuch ohne Fehlermeldung (funktioniert bei mir allerdings auch ohne Option agent):
const url = 'https://corona-ampel.gv.at/sites/corona-ampel.gv.at/files/assets/Warnstufen_Corona_Ampel_aktuell.json'; const https = require('https'); schedule('* * * * *', function() { request({url: url, agent: new https.Agent({ rejectUnauthorized: false })}, function(err, response, json) { let arr = JSON.parse(json).warnstufen; let msg = ''; for(let i = 0; i < arr.length; i++) { if(arr[i].name == 'Graz (Stadt)') msg = 'Graz Warnstufe: ' + arr[i].warnstufe; } if(msg) log(msg); else log('Graz Warnstufe: 1'); }); });
Das Modul "https" muss in der Konfiguration der JS-Instanz eingetragen werden.
-
@paul53 das mit https hatte ich schon drin
jetzt:
agent wird erkannt - aber fehler ist immer nochhabe einiges probiert auch mal mit axios
- auch hier kommt der selbe fehler
in einigen forum redet man von system einstellungen in node - leider habe ich das nicht richtig verstanden
-
-
@paul53 bei mir auch 12.18.3
habe es mal mit curl versucht - selber fehler - das einzige, was funktioniert (auf der console) ist:
wget 'https://corona-ampel.gv.at/sites/corona-ampel.gv.at/files/assets/Warnstufen_Corona_Ampel_aktuell.json' && cat Warnstufen_Corona_Ampel_aktuell.json
-
Meint ihr es liegt einfach an der Seite und man könnte sie kontaktieren und über den Fehlrr informieren? Weil es ja nicht generell mit Request von Json Probleme macht