@baerengraben
Hallo,
also die aktuellen Wetterdaten (z.B. Bodenmessdaten) sind ab Mai dieses Jahres verfügbar.
Und das sind (für mich wenigstens) doch die wichtigsten: https://opendatadocs.meteoswiss.ch/de/
Die Nutzungsbedingungen (Request-Limit) findest du unter: https://www.geo.admin.ch/de/allgemeine-nutzungsbedingungen-bgdi#2.-Datennutzung
z.B. API Rest Services: 40 Requests/minute. Wenn da z.b. sämtliche Daten eines typs (wind, luftdruck etc) mit einem Request geladen werden können, reichen wohl 10-20 Requests für die wichtigsten Daten. Aber ich weiss da nicht was genau in ein Request gepackt wird.
Aber es währe halt schon toll, wenn das ein offizieller Adapter werden würde (siehe Meinung von "mcm 1957" oben).
NEWS
Best posts made by iob69
-
RE: [Neuer Adapter] MeteoSchweiz
-
RE: iobroker-typen einbinden für typescript
@mcm1957
Ich dachte das sei klar geworden. Ich hab doch geschrieben, dass ich das für Typescript brauche.
Aber nochmals konkret: Ich schreibe im Javascript-Adapter in Typescript, aber ich schreibe keine Adapter.
Latest posts made by iob69
-
Objekte dynamisch per typescript zu vis-View hinzufügen?
Hallo,
ich habe eine variable Anzahl von Wetterstationen (Favoritenliste) welche ich je in einem Flot-Chart darstellen möchte.
Kann man objekte in vis per typescript dynamisch erzeugen, die Quelle (flot-String) und postion/Grösse festlegen und auf einer vis-Seite ablegen? Bei erneuter Darstellung müssen gegebenenfalls alte Objekte gelöscht werden. -
RE: iobroker-typen einbinden für typescript
@ticaki
Ok, ich versuchs mal mit damit. Muss das erst mal durchschauen. -
RE: iobroker-typen einbinden für typescript
@ticaki @mcm1957
Das ist ja auch der Grund, weshalb ich hier nachfrage, bevor ich was kaputt mache.
Aber ich weiss jetzt noch immer nicht, was ich tun muss, um die iobroker-Spezifischen Typen einzubinden, um iob spezifische Objekte anzusprechen.
z.B. wenn ich auf ein vis-Element zugreifen will, oder wenn ich die Ordnerstruktur der iob-Objekte untersuchen will.
Ok, in iobJS scheinen schon viele Elemente vorhanden zu sein, aber ich denke das ist nicht alles? -
RE: iobroker-typen einbinden für typescript
@ticaki
ja ok.
Aber spielt es denn eine Rolle, wofür ich das brauche?
Kann man mit dem Packet ipbroker.adapter-dev auf mehr iob - spezifische Typen zugreifen?
Edit:
ChatGPT schreibt zum Beispiel folgendes:"Der Fehler tritt auf, weil TypeScript die ioBroker-Namespace nicht finden kann. Das bedeutet, dass du entweder die Typdefinitionen für ioBroker nicht eingebunden hast oder dass sie im aktuellen Projekt nicht korrekt referenziert werden.
Um TypeScript korrekt mit ioBroker zu verwenden, müssen die entsprechenden Typdefinitionen für die ioBroker-Objekte eingebunden werden. In deinem Fall scheint es, als ob TypeScript keine Kenntnis über den ioBroker-Namespace hat."
Er schlägt mir dann vor:
- ioBroker-Typdefinitionen zu installieren:
npm install --save-dev @types/iobroker
- die tsconfig.json anpassen und sicherstellen, dass sie den typeRoots-Pfad enthält:
{ "compilerOptions": { "module": "commonjs", "target": "ES6", "typeRoots": [ "./node_modules/@types", "./node_modules" ], "types": ["iobroker"] }, "include": [ "src/**/*.ts" ] }
- In manchen Fällen die Typen explizit importieren. Versuche, am Anfang deiner TypeScript-Datei Folgendes hinzuzufügen:
/// <reference types="iobroker" />
-
RE: iobroker-typen einbinden für typescript
@ticaki
Danke, ich probier das mal aus. -
RE: iobroker-typen einbinden für typescript
@mcm1957
Ich dachte das sei klar geworden. Ich hab doch geschrieben, dass ich das für Typescript brauche.
Aber nochmals konkret: Ich schreibe im Javascript-Adapter in Typescript, aber ich schreibe keine Adapter. -
RE: iobroker-typen einbinden für typescript
@oliverio
danke für die Antwort. Bräuchte die Typen für Typescript. Da man dort Typisiert programmieren kann und dann gleich die Objekte mit der entsprechenden Struktur ansprechen kann, rsp. muss.
Ich stosse immer wieder auf dieses Problem, wenn ich iobroker-spezifische Typen ansprechen will.Wenn ich das Packet iobroker.adapter-dev hinzufügen würde, hätte ich dann die Typen in Script (Typescript)?
Muss ich den mit npm installieren? -
iobroker-typen einbinden für typescript
Hallo,
laut ChatGPT fehlen mir die iobroker-typen wie z.B. "ioBroker.Object".
Ich soll sie mit npm installieren:npm install --save @types/iobroker
Ich hab aber schon öfters gelesen, dass man gewisse dinge nicht einfach so per npm install installieren soll.
Darf/soll ich das so tun wie angegeben? -
RE: Test Adapter flexcharts - Stapeldiagramme und mehr
@jrbwh
Vielen Dank für die Antwort. Ich werde das mal versuchen.
Eigentlich wollte ich da nicht so "basteln", denn ich wollte den selben Chart für verschiedene Zeitbereiche nutzen, da müsste ich jeden einzelnen so hinmurksen. Aber solche Bespiele geben immer super Input!
Weisst du wie ich funktionen einbauen kann?
Ich hab das mal so wie im ECharts-Beispiel "Confidence Band" versucht:"axisLabel": { "formatter": function (value, idx) { var date = new Date(value); return idx === 0 ? value : [date.getMonth() + 1, date.getDate()].join('-'); } },
Aber das scheint keine Funktion zu haben, auch eine vereinfachte Funktion mit:
return value/1000;
hat nichts bewirkt.
-
RE: Test Adapter flexcharts - Stapeldiagramme und mehr
@jrbwh
Hallo,
ich brauche Deinen Adapter in Zukunft wohl öfters und hab auch schon ein paar einfache Charts machen können.
Aber hier komme ich nicht weiter. Die Doku ist so umfangreich und ich weiss nicht, ob ich den richtigen Ansatz verfolge. Du kennst dich offenbar super mit echarts aus, villeicht hast du eine Idee:
Ich möchte einen Chart aufbauen, der mir den 7-Tagesverlauf einer Aktie anzeigt z.B. so:
Dabei möchte ich folgende Darstellung:
- Die Börsenkurse sollten hintereinander (ohne grosse Lücke) gereiht werden, da diese ja nur von 9-17:30 gehandelt werden.
- Jedes Datum z.B. "9.7." soll jeweils nur einmal in der X-Achse vorkommen, die Tage getrennt mit einem dünnen vertikalen Strich, das Datum wenn möglich in der Mitte.
Bisher hab ich das hingekriegt:
mit folgendem Code:a = { "animation": false, "radius": '100%', // self "grid": { "left": '43', "right": '5%', "top": 55, "bottom": 20 }, "tooltip": { "trigger": 'axis', "axisPointer": { type: 'cross', "label": { "backgroundColor": '#6a7985' } } }, "legend": { "top": 3, "data": [title], "padding": [ 30, 0, 0, 0 ] // up right down left }, "xAxis": { "type": 'category', "data": times, }, "yAxis": { "type": 'value', "min" : min, "max" : max, "offset" : 0 }, "series": [ { "name": title, "data": values, "type": 'line', "lineStyle": { "width": 3 }, "color": firstVal > lastVal?'red':'ForestGreen' } ] };
Das Problem: ich musste "type" der x-Achse als "category" definieren, damit es mir die Daten zusammen schiebt.
Mittlerweile zeigt er mir auch die Daten so an, wenn ich "time" einstelle:?
Hättest du mir einen Ansatz wie ich das anstellen könnte?