Neues Modul: 98_STOCKQUOTES

Begonnen von vbs, 04 Februar 2015, 21:01:42

Vorheriges Thema - Nächstes Thema

Gisbert

#90
Hallo,

wie kann man denn herausfinden, ob Werte von der gewünschten WKN bereitgestellt werden können, und welche "source" dafür gewählt werden soll?

Zitat von: vbs am 07 Mai 2016, 11:21:26
Moin! Schau mal in die commandref zum Modul, da sollte es beschrieben sein.

Kurzfassung:Es kann nur verwendet werden, was von dem Perl-Modul unterstützt wird (http://finance-quote.sourceforge.net/).
Mit dem Attribut "sources". "get sources" liefert alle bekannten sources.

Hier ein list, außer einem Datum erscheint nichts.
Internals:
   NAME       FFB1
   NR         406
   STATE      2017-03-18 12:52:48
   TYPE       STOCKQUOTES
   Readings:
     2017-03-18 12:52:48   depot_buy_value_total 0
     2017-03-18 12:52:48   depot_cur_value_total 0
     2017-03-18 12:52:48   depot_p_change  0
     2017-03-18 12:52:48   depot_p_change_total 0
     2017-03-18 12:52:48   depot_value_diff 0.00
     2017-03-18 12:52:48   depot_value_diff_total 0.00
     2017-03-18 12:52:48   state           2017-03-18 12:52:48
   Helper:
Attributes:
   currency   EUR
   defaultSource europe
   pollInterval 300
   queryTimeout 120
   sources    fundlibrary
   stocks     A0HMGB:8530:13367.6,692188:227.5:6697.8


Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

vbs

Kenne da leider auch keinen guten Weg. Das Modul nutzt die Perl-Bibliothek Finance::Quote (http://search.cpan.org/~ecocode/Finance-Quote-1.38/lib/Finance/Quote.pm). Also da könnte man nachforschen, was die genau machen.
Ich würde aber erwarten, dass mindestens alles was Yahoo Finance kennt funktioniert.

Gisbert

Hallo vbs,

ich kriegs nicht hin, auch dann nicht wenn WKN-Nummer benutze, die weiter vorne im Thread stehen (mit defaultSource europe):
Internals:
   CFGFN
   NAME       FFB1
   NR         649
   STATE      2017-03-19 11:30:58
   TYPE       STOCKQUOTES
   Readings:
     2017-03-19 11:30:58   depot_buy_value_total 0
     2017-03-19 11:30:58   depot_cur_value_total 0
     2017-03-19 11:30:58   depot_p_change  0
     2017-03-19 11:30:58   depot_p_change_total 0
     2017-03-19 11:30:58   depot_value_diff 0.00
     2017-03-19 11:30:58   depot_value_diff_total 0.00
     2017-03-19 11:30:58   state           2017-03-19 11:30:58
   Helper:
Attributes:
   currency   EUR
   defaultSource europe
   pollInterval 300
   queryTimeout 120
   sources    yahoo
   stocks     975013:2:80
   verbose    5


Im logfile steht folgendes, wenn ich set update ausführe:
2017.03.19 11:30:56 4: STOCKQUOTES_QueueTimer: 0 seconds
2017.03.19 11:30:56 4: STOCKQUOTES: Start blocking query
2017.03.19 11:30:56 4: STOCKQUOTES_QueryQuotesBlocking
2017.03.19 11:30:56 4: STOCKQUOTES_QueryQuotesBlocking: Query stockname: 975013 from source europe
2017.03.19 11:30:56 4: STOCKQUOTES_QueryQuotesBlocking: Fetching from source: europe
2017.03.19 11:30:58 4: STOCKQUOTES_QueryQuotesBlocking Return value: FFB1
2017.03.19 11:30:58 4: STOCKQUOTES_QueryQuotesFinished
2017.03.19 11:30:58 4: STOCKQUOTES_QueueTimer: 300 seconds


Kannst du mir ein funktionierendes Beispiel posten?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

vbs

Hab es länger nicht mehr benutzt, aber es scheint tatsächlich nicht mehr funktionieren... Finance::Quote wird auch seit ein paar Jahren nicht mehr gepflegt.  :-\

Gisbert

Hallo vbs,

das erklärt natürlich die "Untätigkeit" des Moduls.

Gibt es andere Möglichkeiten Kurse von bekannten Seiten, wie z.B. https://www.comdirect.de/ einzulesen?
Geht es mit HTTPMOD, und was müsste ich dort genau machen, damit ich Kurse bekomme?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

vbs

Ist sicherlich möglich, sich etwas eigenes zu schreiben. Aber nicht trivial fürchte ich. Du müsstest wirklich im Detail gucken, wie der HTTP-Aufruf aussehen muss und dann sinnvoll die HTML-Seite "scrapen". Manchmal werden die Seiten auch erstmal nur ohne Inhalt ausgeliefert und dann asynchron per AJAX oder Websocket-Aufrufen befüllt. Das macht das dann entsprechend komplexer.

Ich würde es wahrscheinlich erstmal mit Yahoo Finance probieren. Die haben eine gut erforschte API und da findet man auch viele Infos zu. Z.B.
http://diyinvestor.de/yahoo-finance-api/

FHEM_Starter

Salut,

nach der Definition meiner Aktien erhalte ich Werte von XETRA. Da dieser immer 15 Minuten hinterher hinkt, wäre es toll, wenn ich auch auf Börsen wie "LT Lang & Schwarz" (www.comdirect.de) oder ähnliches zugreifen könnte. Gibt es in diesem Modul dafür einen Ansatz ?

Danke und Gruß
Wolfgang

vbs

Sorry, bin ich irgendwie drüber weggekommen...

Als L&S geht meines Wissens nach nicht. Das Modul benutzt das Perl-Modul Finance::Quote zur Abfrage der Kurse. Also es können nur Quellen benutzt werden, die von dem Modul unterstützt werden:
http://finance-quote.sourceforge.net/

Das Modul scheint auch nicht mehr gepflegt zu werden.

demaya

Hallo,

hat noch Jemand folgende Meldungen in seinen Logs beim Start von FHEM?

2017.11.26 23:30:42 3: WARNING: unsupported character in reading <html><head><title>Yahoo! (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Age: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Cache-Control: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Connection: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Content-Length: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Content-Type: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Date: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Expires: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Public-Key-Pins-Report-Only: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Server: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.
2017.11.26 23:30:42 3: WARNING: unsupported character in reading Via: (not A-Za-z/\d_\.-), notify the STOCKQUOTES module maintainer.


Ich bekomme über die DefaultSource 'yahoo' (auch vwd und andere...) auch keine Werte mehr rein. Verbose 5 sagt:
2017.11.26 23:30:51 4: STOCKQUOTES_QueryQuotesBlocking
2017.11.26 23:30:51 4: STOCKQUOTES_QueryQuotesBlocking: Query stockname: GZPFY from source vwd
2017.11.26 23:30:51 4: STOCKQUOTES_QueryQuotesBlocking: Query stockname: yyy from source vwd
2017.11.26 23:30:51 4: STOCKQUOTES_QueryQuotesBlocking: Query stockname: zzz from source vwd
2017.11.26 23:30:51 4: STOCKQUOTES_QueryQuotesBlocking: Query stockname: 123 from source vwd
2017.11.26 23:30:51 4: STOCKQUOTES_QueryQuotesBlocking: Query stockname: 456 from source vwd
2017.11.26 23:30:51 4: STOCKQUOTES_QueryQuotesBlocking: Fetching from source: vwd
2017.11.26 23:30:52 4: STOCKQUOTES_QueryQuotesBlocking Return value: AK.Aktien
2017.11.26 23:30:55 4: STOCKQUOTES_QueryQuotesFinished
2017.11.26 23:30:55 4: STOCKQUOTES_QueueTimer: 3600 seconds


Wäre cool, wenn wir das wieder zum Fliegen kriegen :)

Gruß
demaya von demaya.de

DefanC

#99
Hallo,
ja, ich habe seit ca. 14 Tagen das gleiche Ergebnis. Im log steht das selbe wie bei dir demaya. Leider bekomme ich auch keine Werte mehr und so ist das Modul nicht mehr zu verwenden. Ich verfolge hier die Diskussion und so wie es aussieht hat der Maintainer auch keine Lösung. (sie Post oben) Schade!
Sollte sich doch eine neue Möglichkeit bieten, STOCKQUOTES zu nutzen, wäre das eine gute Sache!  :)

grüße Stefan

vbs

Vielleicht hat ja mal jemand Lust rauszufinden, ob denn unabhängig von FHEM das Perl-Modul an sich noch funktioniert. Dann wüsste man, ob es überhaupt Sinn macht, sich die FHEM-Seite nochmals anzusehen.

DefanC

Ich wüßte da JEMANDEN, der sich um solche Fragen kümmern sollte.  ;)

demaya

Hi,

folgendes Skript liefert nichts (außer die Liste der Sources (sowieso statisch)) zurück:
#!/usr/bin/perl

use strict;
use warnings;
use Finance::Quote;
use Data::Dumper;

my $q = Finance::Quote->new();

my @sources = $q->sources();
print "Sources: \n";
foreach my $source (@sources) {
print "\t" . $source . "\n";
}

my %stocks  = $q->fetch("yahoo","IBM","MSFT","LNUX");

print "Ergebnis Request:\n";
print Dumper(%stocks);


Die Source 'Finanzpartner' liefert für ein paar Werte Ergebnisse, ist aber auch nur ein abschnorcheln der Webseite.

Es scheint als hätte Yahoo die ganze API ausgeschaltet :O https://www.quora.com/Why-can-I-no-longer-download-Yahoo-Finance-quotes-into-Stata

Viele Grüße
demaya von demaya.de

demaya

Guten Abend,

ich bin noch nicht über den Schmerz - den Yahoo ausgelöst hat - hinweggekommen. Daher habe ich mich auf die Suche gemacht. Es gibt einen neuen Stern am Aktien-Perl-Himme: AlphaVantage. Dieser Anbieter bietet nach einer Registrierung freie Informationen über Aktien an. Das offizielle Modul Finance::Quote wurde bereits auf diesen Anbieter umgestellt: https://metacpan.org/source/ECOCODE/Finance-Quote-1.47/lib/Finance/Quote/AlphaVantage.pm

Eine aktuelle Installation ist mir mit einigen Fehlern um die Ohren geflogen. Die Paketquelle von Debian ist auch ein paar Versionen hinten dran (1.38 vs. 1.47). Dem Maintainer habe ich eine Mail geschrieben... das wird allerdings noch etwas dauern.

Daher habe ich selbst etwas Hand angelegt und ein bisschen dirty selbst upgedatet.


sudo su -
cd /usr/share/perl5/Finance
mv Quote.pm Quote.pm.bak
wget https://fastapi.metacpan.org/source/ECOCODE/Finance-Quote-1.47/lib/Finance/Quote.pm
cd /usr/share/perl5/Finance/Quote/
wget https://fastapi.metacpan.org/source/ECOCODE/Finance-Quote-1.47/lib/Finance/Quote/FidelityFixed.pm
wget https://fastapi.metacpan.org/source/ECOCODE/Finance-Quote-1.47/lib/Finance/Quote/YahooYQL.pm
wget https://fastapi.metacpan.org/source/ECOCODE/Finance-Quote-1.47/lib/Finance/Quote/AlphaVantage.pm

Unter https://www.alphavantage.co/support/#api-key holt Ihr euch einen API-Key und setzt diesen per Umgebungsvariable oder Fix (ist ja eh schon fast alles verbogen) in Zeile 31 der AlphaVantage.pm:
my $ALPHAVANTAGE_API_KEY = "xyz2340988029384;)";

Danach könnt Ihr euer FHEM neu starten und mit

attr AK.Aktien defaultSource AlphaVantage
set AK.Aktien clearReadings
set AK.Aktien update

endlich wieder Aktien in FHEM sehen.

Leider hänge jetzt daran, dass nur eine Aktie (die 1.) zurückgeliefert wird. In meinem im letzten Post genannten Testskript werden alle Werte zurückgeliefert.

Kann das noch Jemand nachvollziehen? Hier könnte jetzt auch wieder der Modulauthor tätig werden!? :)

Gruß
demaya von https://demaya.de

vbs

Ich fürchte der Modulautor kommt momentan nicht dazu, sich das aufzusetzen und das auszuprobieren :(

Aber poste doch mal ein (verbose-)Log von deinem Aufruf, vielleicht sieht man dann ja schon etwas.