Neues Modul: 98_STOCKQUOTES

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

Vorheriges Thema - Nächstes Thema

carlos

#135
Hi,
Ich habe das am Beispiel der SAP Aktie so mit Alphavantageumgesetzt:

defmod SAP.DE HTTPMOD https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=SAP.DE&apikey=xxxxxxxxxxxx 3600
attr SAP.DE userattr anzahl kaufwert reading01Encode reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading06JSON reading06Name reading07JSON reading07Name reading07OExpr reading08JSON reading08Name reading08OExpr reading09JSON reading09Name reading10JSON reading10Name readingEncode
attr SAP.DE alias SAP SE
attr SAP.DE anzahl 1
attr SAP.DE devStateIcon alive:10px-kreis-gruen@green dead:10px-kreis-rot@red
attr SAP.DE disable 0
attr SAP.DE enableControlSet 1
attr SAP.DE extractAllJSON 1
attr SAP.DE reading01Encode UTF-8
attr SAP.DE reading01JSON Global Quote_01. symbol
attr SAP.DE reading01Name symbol
attr SAP.DE reading02JSON Global Quote_02. open
attr SAP.DE reading02Name open
attr SAP.DE reading03JSON Global Quote_03. high
attr SAP.DE reading03Name high
attr SAP.DE reading04JSON Global Quote_04. low
attr SAP.DE reading04Name low
attr SAP.DE reading05JSON Global Quote_05. price
attr SAP.DE reading05Name price
attr SAP.DE reading06JSON Global Quote_06. volume
attr SAP.DE reading06Name volume
attr SAP.DE reading07JSON Global Quote_07. latest trading day
attr SAP.DE reading07Name latest_trading_day
attr SAP.DE reading08JSON Global Quote_08. previous close
attr SAP.DE reading08Name previous_close
attr SAP.DE reading09JSON Global Quote_09. change
attr SAP.DE reading09Name change
attr SAP.DE reading10JSON Global Quote_10. change percent
attr SAP.DE reading10Name change_percent
attr SAP.DE readingEncode UTF-8
attr SAP.DE readingsWatcher 3600,,price
attr SAP.DE room 01_Depot
attr SAP.DE showBody 0
attr SAP.DE showError 0
attr SAP.DE showMatched 0
attr SAP.DE stateFormat activity\
symbol  ; \
Kurs: price€  ; change_percent  ;\
Anzahl: stueck  ; \
Wert: wert€
attr SAP.DE timeout 60
attr SAP.DE userReadings stueck { sprintf("%.2f", AttrVal("$name","anzahl",0))},\
wert { sprintf("%.2f", ReadingsVal("$name", "price", 0)*AttrVal("$name","anzahl",0))}
attr SAP.DE verbose 0

Sieht dann so aus wie im Anhang.

Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

AnDiBaCkE

Hallo Gisbert,
ich habe mir das jetzt für meine ETFs von finanzen.net angepasst. Kann ich bei Bedarf gern posten.
Nun habe ich jedoch das von dir schon genannte Problem mit dem Pluszeichen bei den Prozentwerten. Kannst du mir noch sagen wie ich das Reading anpassen muss um das + weg zu bekommen? Habe jetzt schon eine Weile gelesen aber dazu nichts entsprechendes gefunden.

Vielen Dank!

Gruß,
AnDiBaCkE
FHEM auf RasPi2
CUL und HMLAN Adapter

Gisbert

Zitat von: AnDiBaCkE am 14 Januar 2020, 19:57:56
Hallo Gisbert,
ich habe mir das jetzt für meine ETFs von finanzen.net angepasst. Kann ich bei Bedarf gern posten.
Nun habe ich jedoch das von dir schon genannte Problem mit dem Pluszeichen bei den Prozentwerten. Kannst du mir noch sagen wie ich das Reading anpassen muss um das + weg zu bekommen? Habe jetzt schon eine Weile gelesen aber dazu nichts entsprechendes gefunden.

Vielen Dank!

Gruß,
AnDiBaCkE

Gerne doch, ich hab's durch trial und error herausgefunden.
Anbei die Attribute im raw-Format für die Prozente:
attr DAX reading02Format %.2f
attr DAX reading02Name dax_perc
attr DAX reading02OExpr $val =~ s/\,/./g;; $val =~ s/\+//g;; $val ## 1.) Umwandlung des Dezimalkommas in Dezimalpunkt, 2.) Entfernung des Pluszeichens
attr DAX reading02Regex ([+-]\d+\,\d+).*\%


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

AnDiBaCkE

Hallo Gisbert​,

da hätte ich noch eine ganze Weile probieren müssen  ;D

Vielen Dank!

Gruß,
AnDiBaCkE
FHEM auf RasPi2
CUL und HMLAN Adapter

Prof. Dr. Peter Henning

Ich habe ein Problem mit der aktuellen Version von STOCKQUOTES. Wenn ich in ein Depot sowohl Aktien lege, die in Euro notiert werden als auch solche, die in Schwedischen Kronen notiert werden, bekomme ich bei einem Attributwert currency=EUR für die letzteren Werte einen Fehler "currency conversion failed".

Wenn ich ein zweites Depot anlege mit currency=SEK, bekomme ich wunderbar alle Kurse in SEK. Der Umrechungskurs ist aber nicht ganz konstant. Das Perl-Modul Finance::Quote sollte zwar die Umrechnung machen können - das ist aber offenbar in STOCKQUOTES nicht berücksichtigt.

Gibt es irgendeinen Umweg, das Umrechnen in EUR innerhalb des STOCKQUOTES zu erreichen?

Zum Ausprobieren einfach mal mit PCELL.ST ausprobieren (Powercell Sweden, ein Brennstoffzellenhersteller).

LG

pah

ToKa

Hallo zusammen,

ich habe mich jetzt zwar schon durch den ganzen Thread gekämpft, kann aber nicht nachvollziehen, ob das Modul (hab es unter contrib gefunden) noch funktioniert?

Gibt es im Thread irgendwo eine aktuellere Version, die ohne yahoo funktioniert oder muss man es so wie in den letzten Beiträge per httpmod machen?
AnDiBaCkE könntest Du Dein Beispiel mit ETFs von finanzen.net bitte posten.

Danke für Eure Hilfe und beste Grüße
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

herrmannj

Das alphavantage Beispiel von Carlos kann man leicht mit JsonMod umsetzen. Da ich die API von alphavantage nicht kenne kann ich zu weiteren Möglichkeiten (mit der API) nichts sagen. Wenn "ihr" aber eine Abfrage habt die "euer" JSON von Interesse ergibt dann helfe ich (falls Fragen zur Umsetzung sind). J

sonMod ist unter Automatisierung (Forumsbereich) mit Beispielen erklärt. Bei Fragen dazu in dem Bereich Automatisierung einen neuen thread eröffnen, bitte mit dem list des "Versuches"

carlos

Hatte ich mir auch schon gedacht das mit JsonMod umzusetzen.
Jedoch wie?
Hier die Rohdaten von dem call:

{
    "Global Quote": {
        "01. symbol": "SAP.DE",
        "02. open": "101.0200",
        "03. high": "102.0600",
        "04. low": "99.2000",
        "05. price": "101.8600",
        "06. volume": "1322292",
        "07. latest trading day": "2020-03-30",
        "08. previous close": "99.8700",
        "09. change": "1.9900",
        "10. change percent": "1.9926%"
    }
}

Wenn du hier helfen könntest?

Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

herrmannj

mach ich. Aber mach bitte einen neuen thread auf, ich möchte den hier nicht kapern

jkriegl

Wie findet man bei aplphavantage "symbols" oder wer hat schon DAX symbols gefunden?
aus dem Internet SAP.DE, BMW.FRK, IBM. - *.FRK ist Frankfurt 
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

herrmannj

Zitat von: jkriegl am 02 April 2020, 12:35:51
Wie findet man bei aplphavantage "symbols" oder wer hat schon DAX symbols gefunden?
aus dem Internet SAP.DE, BMW.FRK, IBM. - *.FRK ist Frankfurt
Oh ja, das würde mich auch interessieren. Ich habe gesehen das es einen api call dazu gibt - aber das muss doch auch einfacher gehen. DAX gesamt wäre auch toll

herrmannj


ToKa

Hallo zusammen,

ich habe mich jetzt einige Zeit mit dem Modul und der zugrunde liegenden Perl Bibliothek beschäftigt. Mein dafür benutztes fhem läuft unter ubuntu 18.04 und ich habe per cpan die finance::qoute Bibiliothek auf 1.49 aktualisiert. Damit funktioniert das Modul sehr gut, ich musste nur eine Anpassung im Quellcode im Modul machen, um den "previous" Wert zu erhalten.

Von den vielen Quellen, die die Bibliothek zur Verfügung stellt, funktionieren leider nicht mehr alle, da sich die Links, die Formate etc. auf vielen Webseiten geändert haben. Verblieben sind aus meiner Sicht alphavantage, deka, unionfonds und yahoo_jason. yahoo_jason hat für meine Fonds, ETFs etc nahezu 100% Trefferquote.

Zitat von: jkriegl am 02 April 2020, 12:35:51
Wie findet man bei aplphavantage "symbols" oder wer hat schon DAX symbols gefunden?
aus dem Internet SAP.DE, BMW.FRK, IBM. - *.FRK ist Frankfurt

Für alphavantage lassen sich die Symbole über den nachfolgenden Link ermitteln:
https://www.alphavantage.co/query?function=SYMBOL_SEARCH&keywords=FR0000120172&apikey=demo
demo müsst Ihr durch Euren eigenen API key ersetzten.

Für yahoo_jason kann man sich die Symbole (andere als bei alphavantage) über die Kurssuche auf der yahoo Seite ermitteln:
https://de.finance.yahoo.com/
oder aus den Listen für Aktion, Fonds etc. heraussuchen:
https://de.finance.yahoo.com/mutualfunds

Hoffe, das hilft Euch.

Beste Grüße
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

DS_Starter

Hallo zusammen,

ich möchte mich nun auch etwas mit der Thematik beschäftigen.
Bevor ich anfange deshalb die Grundsatzfrage... ist das Modul 98_STOCKQUOTES im contrib

https://svn.fhem.de/trac/browser/trunk/fhem/contrib/98_STOCKQUOTES.pm

der aktuellste Stand den ihr benutzt ?
Ist natürlich auch schon 1 Jahr alt.

LG,
Heiko


ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ToKa

Hallo Heiko,

ja damit arbeite ich. Ich konnte im Thread keine neuere Version entdecken und habe nur die schon erwähnte Änderung vorgenommen.

LG
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