Neue Module 95_Shares.pm und 95_ShareMaster.pm

Begonnen von Prof. Dr. Peter Henning, 08 April 2022, 15:08:46

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Zitatzweiten Dropdown darzustellen, so dass man dann nur die Anteile und den Wert im Textfeld angeben muss?
Gute Idee. baue ich bei Gelegenheit ein.

Das mit dem "&" ist original aus STOCKQUOTES. Kann ich gerne ändern, wenn ich verstanden habe, ob irgendwelche Nebeneffekte auftreten. Wahrscheinlich wäre es besser, das & in Namen durch dis HTML-Escape-Sequenz zu ersetzen.

LG

pah

ToKa

Hallo pah,

das "&" durch "#"zu ersetzen, ist auch nur mein laienharter Ansatz. Wenn sich das professioneller lösen lässt, umso besser. Hauptsache die Namen werden komplett übernommen. Das Symbol ist übrigens BIOT.MI source Yahoo json, wenn Du was zum Testen brauchst.

VG und schöne Ostertage
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

betateilchen

ZitatDas Attribut stocks enthält eine (gerne mehrzeilige) Liste der Wertpapiere im Format

Vielleicht könnte man in der Dokumentation noch ergänzen, dass es sich um eine kommagetrennte Liste handeln muss.

Wobei ich ein spezielles Trennzeichen bei einer möglicherweise mehrzeiligen Liste grundsätzlich in Frage stelle.
Diverse Module zeigen ja beispielsweise im ebenfalls mehrzeiligen Attribut readingList, dass es auch ohne spezielles Trennzeichen funktionieren kann.
Es wäre wünschenswert, wenn sich bei solchen mehrzeiligen Listen irgendwann ein Standard etablieren würde, damit man als Anwender nicht bei jedem Modul überlegen/nachlesen muss, wie die mehrzeilige Liste korrekt aussehen muss.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Gisbert

#18
Hallo pah,

sehr interessante Entwicklung.
Ist eventuell auch daran gedacht, andere Wertpapiergattungen, wie z.B. ETFs, die kein Symbol haben und nicht bei Yahoo zu finden sind, zugänglich zu machen, d.h. deren Werte zu laden?

Schöne Osterfeiertage
Gisbert

Edit:
Ergänzende Frage: Gibt es irgendwo eine Übersicht, wie man von WKN/ISIN auf das Symbol kommt?
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

betateilchen

Zitat von: Gisbert am 16 April 2022, 17:19:27
Ergänzende Frage: Gibt es irgendwo eine Übersicht, wie man von WKN/ISIN auf das Symbol kommt?

https://de.finance.yahoo.com/quote/SAP.DE?p=SAP.DE&.tsrc=fin-srch

Wenn Du oben in das Suchfeld DE0007164600 eingibst, wird direkt das Symbol SAP.DE eingeblendet, schon bevor Du die Suche abschickst.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Prof. Dr. Peter Henning

ZitatWobei ich ein spezielles Trennzeichen bei einer möglicherweise mehrzeiligen Liste grundsätzlich in Frage stelle.
Die Daten sollten aber abwärtskompatibel zum STOCKQUOTES sein - die Mehrzeiligkeit habe ich nur on Top gesetzt.

Zitatandere Wertpapiergattungen, wie z.B. ETFs, die kein Symbol haben und nicht bei Yahoo zu finden sind,
Jeder Wertpapiergattung hat entweder eine ISIN oder eine WKN - das habe ich in meiner Zeit bei der Börse gelernt. Und diejenigen, die nicht bei Yahoo zu finden sind, haben in der Regel eine andere Quelle - beispielsweise DWS-Papiere.

Yahoo enthält übrigens viele ETF, man muss sie nur finden. Beispiele
https://de.finance.yahoo.com/quote/L0CK.DE
https://de.finance.yahoo.com/quote/X010.DE

LG

pah

betateilchen

Zitat von: Prof. Dr. Peter Henning am 17 April 2022, 08:54:19
Die Daten sollten aber abwärtskompatibel zum STOCKQUOTES sein - die Mehrzeiligkeit habe ich nur on Top gesetzt.

Dein Ansinnen ist löblich, aber kein Hinderungsgrund.

Die entscheidende Stelle befindet sich in Shares_GetStockHashes():

  my $sstring = AttrVal($name, "stocks", "");
  $sstring =~ s/[\#\n]//g;
  my @stocks = split (',',$sstring);


Ersetzt man hier zuerst Komma im Attributwert durch \n, läßt sich im split anschließend an \n trennen.
Damit lassen sich beide Wünsche erfüllen  :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Gisbert

Hallo pah und betateilchen,

Yahoo enthält übrigens viele ETF, man muss sie nur finden. Beispiele
https://de.finance.yahoo.com/quote/L0CK.DE
https://de.finance.yahoo.com/quote/X010.DE

Richtig, mit etwas Suchen und Probieren findet man die richtigen Symbole.

Ich hätte eine Bitte, und zwar möchte ich eine einfache ReadingsGroup erstellen, weiß aber nicht wie. Entweder ich bekomme Spalten ohne Inhalt oder alles in einer Zeile.

Ich hätte gerne vier Spalten: Depot Position Wert Änderung - und zwar so, dass in jeder Zeile ein Wertpapier steht. Bei der Spalte Depot wäre es schön, wenn es nur in der 1. Zeile oder sonst wie nur einmal da steht.

commandref und Wiki habe ich versucht zu verstehen, komme aber nicht zum Ziel.

Im Prinzip würde ich gerne die 2. Tabelle aus Sharemaster aber ohne die Spalten Trend Rate Count und Category haben wollen. Die 1. Tabelle würde ich auch nehmen, die Spalten sind auf dem Handy leider sehr schmal und entsprechend lang.

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

Prof. Dr. Peter Henning

Mal hier gelesen: https://wiki.fhem.de/wiki/Wertpapieranzeige

Da kann man das alles steuern. Ist aber bei vielen Papieren seehr laangsam.

LG


Gisbert

Zitat von: Prof. Dr. Peter Henning am 17 April 2022, 15:22:35
Mal hier gelesen: https://wiki.fhem.de/wiki/Wertpapieranzeige

Da kann man das alles steuern. Ist aber bei vielen Papieren seehr laangsam.

LG

Ja, hatte ich schon gesehen, nicht verstanden auf Anhieb, und mich damit nicht beschäftigt.
Mit deinem Hinweis werde ich mich in einer ruhigen Minute (oder besser Stunde(n)) damit  beschäftigen.

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

Gisbert

Hallo pah,

ich hab die Definition angepasst, vermutlich aber verstümmelt.
Jedenfalls bekomme ich nicht das, was ich will.
Die Überschriften sind in Ordnung, jedoch wird dann alles in eine Zeile geschrieben; und zwar jeweils in Gruppen _name, _value usw. Ich hätte aber gerne für jedes Wertpapier eine eigene Zeile

defmod Portfolio readingsGroup <>,<Stock>,<Value>,<change>,<abs. change> \
onvista:(.*)_name,(.*)_value,(.*)_change,(.*)_diff
attr Portfolio room Finance


onvista ist ein Device deines Shares-Moduls.

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

Wscheff

Hi,

nachdem ich das Perl-Modul Finance::Quote per apt install libfinance-quote-perl installiert habe, befindet sich das Modul unter /usr/share/perl5/Finance/Quote.
Beim Anlegen eines Shares per define myDepot Shares schmiert mir das komplette Fhem ab, ohne ein Shares anzulegen mit folgender Fehlermeldung.


Can't locate Finance/Quote/currency_rates.pm in @INC (you may need to install the Finance::Quote::currency_rates module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM/lib) at (eval 33767) line 1.
BEGIN failed--compilation aborted at (eval 33767) line 1.
at ./FHEM/95_Shares.pm line 162.
Can't locate object method "methods" via package "Finance::Quote::currency_rates" (perhaps you forgot to load "Finance::Quote::currency_rates"?) at /usr/local/share/perl/5.28.1/Finance/Quote.pm line 120.


Kann mir bitte jmd auf die Sprünge helfen, was da schief läuft?  Ich nutze Raspbian GNU/Linux 10 (buster), Updates regelmäßig.

Prof. Dr. Peter Henning

Na ja, dann würde ich doch mal in der Linux-Komandozeile absetzen:

cpan Finance::Quote::currency_rates

LG

pah

Wscheff

leider kein Erfolg:


>(error): Could not expand [Finance::Quote::currency_rates]. Check the module name.

rabehd

Dem Absturz von FHEM habe ich auch, danach ist die CPU-Auslastung bei 100% bis ich das Browser-Fenster geschlossen habe.
Cpan läuft durch, aber ändert nichts an der Situation.

2022.05.24 11:24:41 1: PERL WARNING: Can't locate Finance/Quote/currency_rates.pm in @INC (you may need to install the Finance::Quote::currency_rates module) (@INC contains: ./FHEM/lib ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at (eval 806) line 1.
BEGIN failed--compilation aborted at (eval 806) line 1.
at ./FHEM/95_Shares.pm line 162.
Can't locate object method "methods" via package "Finance::Quote::currency_rates" (perhaps you forgot to load "Finance::Quote::currency_rates"?) at /usr/share/perl5/Finance/Quote.pm line 119.
Auch funktionierende Lösungen kann man hinterfragen.