Module Shares und ShareMaster: Unterschied zwischen den Versionen
Andies (Diskussion | Beiträge) K (→Einrichtung) |
Andies (Diskussion | Beiträge) (→Zusammenfassung der beiden Beispieldepots: https://forum.fhem.de/index.php?msg=1275091) |
||
Zeile 71: | Zeile 71: | ||
define DepotY ShareMaster DepotY_EUR DepotY_CAD | define DepotY ShareMaster DepotY_EUR DepotY_CAD | ||
und führt zur Anzeige aus dem oberen Bild. | und führt zur Anzeige aus dem oberen Bild. | ||
==Änderungen in der yahoo API (Mai 2023)== | |||
Leider haben Änderungen in der Yahoo API dazu geführt, dass die Abrufe eventuell nicht mehr funktionieren. Ärgerlicherweise besteht zudem der Workaround derzeit darin, händisch in installierten Perl-Dateien Versionsnummern zu ändern - und niemand weiß, wie nachhaltig diese Anpassungen sein werden. Falls das angelegte Depot aus yahoo finance nur Nullen holt, sind folgende Schritte nötig: Zuerst sucht man eine Perl-Datei mit | |||
(sudo) find / -name YahooJSON.pm -print | |||
und erhält den Speicherort von YahooJSON.pm. Oft findet man die Datei unter /usr/share/perl5/Finance/Quote/YahooJSON.pm. Im nächsten Schritt sucht man in der Datei die Zeile | |||
my $YIND_URL_HEAD = 'https://query1.finance.yahoo.com/v7/finance/quote?symbols='; | |||
und ändert die v7 in v6. Danach sollte der Abruf (zumindest erstmal) gehen. |
Version vom 9. Mai 2023, 18:28 Uhr
Shares | |
---|---|
Zweck / Funktion | |
Das Modul Shares dient zur Verwaltung eines Wertpapierdepots. | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Unterstuetzende Dienste |
Modulname | 95_Shares.pm |
Ersteller | Prof. Dr. Peter A. Henning |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
ShareMaster | |
---|---|
Zweck / Funktion | |
Das Modul ShareMaster fasst die Daten eines oder mehrer Wertpapierdepots in einer komfortablen Anzeige zusammen. | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Unterstuetzende Dienste |
Modulname | 95_ShareMaster.pm |
Ersteller | Prof. Dr. Peter A. Henning |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Das Modul 95_Shares.pm dient dazu, ein Wertpapierdepot zu verwalten. Dabei wurden wesentliche Bestandteile des Moduls 98_STOCKQUOTES.pm übernommen, aber strukturell so stark verändert, dass ein neuer Modulname sinnvoll war. vbs, dem Ersteller und Maintainer des Ursprungsmoduls sei an dieser Stelle gedankt. Die strukturellen Änderungen sind insbesondere:
- separate Währungen für alle Wertpapiere im Depot und das Depot selbst (Attribute shareCurrency und depotCurrency). Das ermöglicht, Wertpapiere in dieses Depot zu legen, die zwar für das eigene Depot in € gekauft werden, aber an ausländischen Börsen gehandelt und ggf. auch im Ausland verwahrt werden.
- Angabe einer Kategorie (z.B. "Rohstoff" oder "Bio") für jedes Wertpapier.
- deutliche Vereinfachung der Reading-Namen und Konfigurierbarkeit der angezeigten Werte.
Einrichtung
Das Modul benötigt das Perl-Modul Finance::Quote, das mit dem folgenden Kommandozeilenbefehl installiert wird
apt install libfinance-quote-perl
Die Definition des Depots ist dann einfach und benötigt keine Parameter
define <Depotname> Shares
Das Attribut stocks enthält eine (gerne mehrzeilige) Liste der Wertpapiere im Format
<Symbol>:<Anzahl>:<Einstandswert>:<Kategorie>
Wichtig ist, dass der Einstandwert in Depotwährung angegeben wird.
Achtung: Offenbar ist dieses Package nicht ganz vollständig. Wenn es danach zu Fehlermeldungen kommt, etwa
Can't locate object method "methods" via package "Finance::Quote::currency_rates" (perhaps you forgot to load "Finance::Quote::currency_rates"?)
muss das Perl-Package von Hand repariert werden. Dazu auf der Kommandzeile eingeben
cpan Finance::Quote
und ggf. eine halbe Stunde Wartezeit einplanen.
Das Modul 95_ShareMaster.pm dient der komfortablen Anzeige der mit dem obigen Modul verwalteten Werte (siehe Beispiele). Dabei erfolgt die Anzeige je Unterdepot, aber auch eine Zusammenfassung nach Kategorien.
Einrichtung
Die Definition erhält als Parameter alle Unterdepots
define <MasterDepotname> ShareMaster <Unterdepot1> [<Unterdepot2>]*
Beispiele
Beispieldepot mit 4 deutschen Papieren
Die Währungsattribute des Depots DepotY_EUR haben die Werte
attr DepotY_EUR depotCurrency EUR attr DepotY_EUR shareCurrency EUR
Das Attribut stocks des Depots DepotY_EUR bekommt den mehrzeiligen Wert
BAS.DE:3:154:chemistry, FRA.DE:6:258.47:mobility, LIN.DE:1:212:chemistry, TKA.DE:10:72:tech,
Beispieldepot mit 2 kanadischen Papieren
Die Währungsattribute des Depots DepotY_CAD haben die Werte
attr DepotY_CAD depotCurrency EUR attr DepotY_CAD shareCurrency CAD
Das Attribut stocks des Depots DepotY_CAD bekommt den mehrzeiligen Wert
PSLV.TO:10:73:commodity, BLDP.TO:5:76:h2
Zusammenfassung der beiden Beispieldepots
Die Definition erhält als Parameter die beiden oben definierten Depots
define DepotY ShareMaster DepotY_EUR DepotY_CAD
und führt zur Anzeige aus dem oberen Bild.
Änderungen in der yahoo API (Mai 2023)
Leider haben Änderungen in der Yahoo API dazu geführt, dass die Abrufe eventuell nicht mehr funktionieren. Ärgerlicherweise besteht zudem der Workaround derzeit darin, händisch in installierten Perl-Dateien Versionsnummern zu ändern - und niemand weiß, wie nachhaltig diese Anpassungen sein werden. Falls das angelegte Depot aus yahoo finance nur Nullen holt, sind folgende Schritte nötig: Zuerst sucht man eine Perl-Datei mit
(sudo) find / -name YahooJSON.pm -print
und erhält den Speicherort von YahooJSON.pm. Oft findet man die Datei unter /usr/share/perl5/Finance/Quote/YahooJSON.pm. Im nächsten Schritt sucht man in der Datei die Zeile
my $YIND_URL_HEAD = 'https://query1.finance.yahoo.com/v7/finance/quote?symbols=';
und ändert die v7 in v6. Danach sollte der Abruf (zumindest erstmal) gehen.