NEWS
Adapter zum Abfragen vom Aktien, Krypto ...
-
@sms
puhhh das würde ich direkt über die vis einbinden. html widget was mittels script auf die tabellen schaut alles andere ist wahnsinnige Programmier Arbeit.
Anbei mal meine Programmierung wie ich mir die angebote von unserem metzger hole. Spiel einfach mal mit den zahlen rum einmal ist da wo er drauf schauen soll und einmal wie groß das in deiner vis sein soll.
Ansonsten fällt mir auf die schnelle auch nis anderes ein.<div style="position:relative;width:1000px;height:2000px;overflow:auto;">
<iframe src="URL hier eintragen" height="1000" width="2000" style="border:none;overflow:hidden;position:absolute;left:-750px;top:-320px;"> </iframe></div>
-
@sms Probier mal damit ein htmp widget einfügen und dann den code da rein
<div style="position:relative;width:500px;height:2000px;overflow:auto;"> <iframe src="https://kursprognose.com/ethereum-kurs-prognose-eth-in-euro" height="1100" width="1000" style="border:none;overflow:hidden;position:absolute;left:-30px;top:-550px;"> </iframe> </div>Oder direckt als widget import:
[{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"<div style=\"position:relative;width:500px;height:2000px;overflow:auto;\">\n\n <iframe src=\"https://kursprognose.com/ethereum-kurs-prognose-eth-in-euro\" height=\"1100\" width=\"1000\" style=\"border:none;overflow:hidden;position:absolute;left:-30px;top:-550px;\">\n\n </iframe>\n\n</div>"},"style":{"left":"311px","top":"59px","width":"368px","height":"539px"},"widgetSet":"basic"}] -
@sms Probier mal damit ein htmp widget einfügen und dann den code da rein
<div style="position:relative;width:500px;height:2000px;overflow:auto;"> <iframe src="https://kursprognose.com/ethereum-kurs-prognose-eth-in-euro" height="1100" width="1000" style="border:none;overflow:hidden;position:absolute;left:-30px;top:-550px;"> </iframe> </div>Oder direckt als widget import:
[{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"<div style=\"position:relative;width:500px;height:2000px;overflow:auto;\">\n\n <iframe src=\"https://kursprognose.com/ethereum-kurs-prognose-eth-in-euro\" height=\"1100\" width=\"1000\" style=\"border:none;overflow:hidden;position:absolute;left:-30px;top:-550px;\">\n\n </iframe>\n\n</div>"},"style":{"left":"311px","top":"59px","width":"368px","height":"539px"},"widgetSet":"basic"}]@thebam sagte in Adapter zum Abfragen vom Aktien, Krypto ...:
<div style="position:relative;width:500px;height:2000px;overflow:auto;"> <iframe src="https://kursprognose.com/ethereum-kurs-prognose-eth-in-euro" height="1100" width="1000" style="border:none;overflow:hidden;position:absolute;left:-30px;top:-550px;"> </iframe> </div>
Sieht so aus: widget basic html

hab's glaub geschafft
-
@sms
ja kann sein das du noch die werte anpassen musst liegt an der auflösung von vis, bzw. deinen anzeige einstellungen.
einfach die high und width werte ändern bis es passt -
Könnte mir jemand mit dem regex helfen, ich versuche die OpenText Aktie auszulesen: https://www.finanzen.net/aktien/open_text-aktie
-
Könnte mir jemand mit dem regex helfen, ich versuche die OpenText Aktie auszulesen: https://www.finanzen.net/aktien/open_text-aktie
@mading die haben da irgendwas geändert bei finanzen.net. Muss man sich bei der Seite jetzt anmelden? Keine meiner Aktien wird mehr durch den Parser korrekt angezeigt. Alle Aktien haben nun den gleichen Kurs.
Als Beispiel wie es mal funktionierte:
https://www.finanzen.net/aktien/bmw-aktie
nowrap">(\d{0,2}.\d{2})

-
@mading die haben da irgendwas geändert bei finanzen.net. Muss man sich bei der Seite jetzt anmelden? Keine meiner Aktien wird mehr durch den Parser korrekt angezeigt. Alle Aktien haben nun den gleichen Kurs.
Als Beispiel wie es mal funktionierte:
https://www.finanzen.net/aktien/bmw-aktie
nowrap">(\d{0,2}.\d{2})

-
Moin,
gibt es neue Lösungsansätze ?HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD><BODY>
<H1>Access Denied</H1>You don't have permission to access "http://www.finanzen.net/devisen/realtimekurs/ethereum-euro-kurs" on this server.<P>
Reference #18.571d1002.1675260390.3cadc4f2
</BODY>
</HTML>
HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD><BODY>
<H1>Access Denied</H1>You don't have permission to access "http://www.finanzen.net/devisen/realtimekurs/ethereum-euro-kurs" on this server.<P>
Reference #18.571d1002.1675260390.3cadc4f2
</BODY>
</HTML>Bekomme denn Berechtigungsfehler auch mometan.
Beste Grüße
-
@missi sagte in Adapter zum Abfragen vom Aktien, Krypto ...:
http://www.finanzen.net/devisen/realtimekurs/ethereum-euro-kurs
geht das?
<div id="snapshot-value-fst-current-0" class="snapshot__value-current realtime-push"> <span>(\d*,\d*)</span><span class="snapshot__value-unit">EUR</span> -
Nein.
finanzen.net hat den parser adapter mittlerweile ausgesperrt.
evtl geht was mit skript.siehe auch
https://forum.iobroker.net/topic/61933/parser-wird-seitenzugriff-verweigert/31?_=1675294191499 -
Hatte jetzt auch das Problem mit dem yahoo Kursen, deshalb habe ich folgendes als javascript eingebaut (ruft alle 5 Minuten die aktuellen daten ab.) :
const axios = require('axios'); // Intervall in Millisekunden const UPDATE_INTERVAL = 5 * 60 * 1000; // 5 Minuten // Crypto-Coins const coins = [ { id: 'BTC', dp: 'crypto.bitcoin.eur' }, { id: 'FET', dp: 'crypto.fet.eur' }, { id: 'SOL', dp: 'crypto.solana.eur' }, { id: 'HNT', dp: 'crypto.helium.eur' }, { id: 'IOT', dp: 'crypto.iota.eur' } ]; // Aktien const stocks = [ { symbol: 'RWE.DE', dp: 'stocks.rwe.eur' } ]; // States anlegen coins.forEach(c => { if (!existsState(`javascript.0.${c.dp}`)) { createState(`javascript.0.${c.dp}`, 0, { name: c.id + ' Kurs EUR', type: 'number', unit: '€', role: 'value.currency' }); } }); stocks.forEach(s => { if (!existsState(`javascript.0.${s.dp}`)) { createState(`javascript.0.${s.dp}`, 0, { name: s.symbol + ' Kurs EUR', type: 'number', unit: '€', role: 'value.currency' }); } }); // Funktion: Crypto-Kurse abrufen async function updateCrypto() { for (const c of coins) { try { const url = `https://min-api.cryptocompare.com/data/price?fsym=${c.id}&tsyms=EUR`; const response = await axios.get(url, { timeout: 10000 }); const data = response.data; if (data && data.EUR) { setState(`javascript.0.${c.dp}`, parseFloat(data.EUR), true); log(`${c.id} Kurs aktualisiert: ${data.EUR} €`, 'info'); } else { log(`Unerwartete API-Antwort für ${c.id}: ${JSON.stringify(data)}`, 'warn'); } } catch (err) { log(`Fehler bei ${c.id}: ${err}`, 'error'); } } } // Funktion: RWE über Yahoo Chart API async function updateRWE() { try { const url = 'https://query1.finance.yahoo.com/v8/finance/chart/RWE.DE'; const response = await axios.get(url, { timeout: 10000 }); const json = response.data; const price = json?.chart?.result?.[0]?.meta?.regularMarketPrice; if (price !== undefined) { setState('javascript.0.stocks.rwe.eur', price, true); log(`RWE Kurs aktualisiert: ${price} €`, 'info'); } else { log('RWE regularMarketPrice nicht gefunden', 'warn'); } } catch (err) { log(`Fehler beim Abrufen von RWE: ${err}`, 'error'); } } // Hauptfunktion: alle Kurse abrufen async function updateAll() { await updateCrypto(); await updateRWE(); } // Start + Intervall updateAll(); setInterval(updateAll, UPDATE_INTERVAL);