Bitcoin und Ethereum Ticker in Fhem

Begonnen von hankyzoolander, 03 Oktober 2017, 07:03:48

Vorheriges Thema - Nächstes Thema

Gisbert

Zitat von: forum-merlin am 02 Dezember 2017, 18:00:02
Hi.
Hätte ich halt auch mal hier geschaut. Dann wäre ich sicher schneller ans Ziel gekommen.
Ich habe gestern mit der Hilfe aus der Facebookgruppe quasi das Gleiche gebaut.

Anbei meine DEFI und ein Screenshot wie es in der Oberfläche aussieht.

Ich hoffe es hilft zusätzlich.

Gruß,
Holger

Hallo Holger,

ich hab in Anlehnung deiner Defintion folgendes bei mir genutzt. Leider verstehe ich nicht wirklich wie es funktioniert, als Ergebnis bekomme 1 Eur, was von der Größenordnung 4 Zehnerpotenzen zu klein ist.
defmod Bitcoin HTTPMOD https://www.bitcoin.de/de/btceur/market 300
attr Bitcoin userattr reading01Format reading01Name reading01RegOpt reading01Regex
attr Bitcoin enableControlSet 1
attr Bitcoin group Bitcoin
attr Bitcoin reading01Name bitcoin
attr Bitcoin reading01RegOpt s
attr Bitcoin reading01Regex <span id="rate_buy" data-rate="[\d\,\.]+">.*\R.*\s([\d\.\,]+).+<\/span>
attr Bitcoin room Mobile
attr Bitcoin stateFormat bitcoin €

setstate Bitcoin 1 €
setstate Bitcoin 2017-12-06 19:00:32 bitcoin 1


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

jostmario

Hallo,

kann es sein das das seit heute 18:00 nicht mehr funktioniert ß

Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

CBSnake

Hi,

ja ruf Mal Bitcoin.de direkt auf da siehste erst ne 5sec Warte/Browserprüfseite.

Grüße
Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

jostmario

Ja die haben da wohl was geändert kann man das umgehen.
Jetzt hatte ich so ne schöne RSS Anzeige .....

Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

CBSnake

Hmm ich Spiel Grad mit dem Attribut timeout muss ich aber am PC machen, am Handy ist das der Hass ;-)
Falls sich was ergibt poste ich das natürlich hier
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

CBSnake

nachtrag:

mit enableCookies und QueueDelay als Attribut gehts es nun wieder, welches der beiden es nun gebracht hat oder beide in Kombi oder ob Bitcoin nun wieder umgestellt hat muss ich dann mal testen :-)

Grüße

Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

jostmario

Hallo,

ich hatte nach deinem letzten Post auf Timeout 10 gestelt dann ging es.
kann natürlich auch nicht sagen ob es daran liegt oder Bitcoin.de was gemacht haben.

Gruß Josty
Raspberry Pi  ---  HM-LAN ---  8X HM_HM_CC_RT_DN --- OWL+USB Strommesser    UVR1611

krikan

Bitte denkt darüber nach, ob es wirklich sinnvoll ist, externe Webseiten wie in Post #1 gezeigt alle 10 oder 60 Sekunden oder in ähnlich kurzen Intervallen abzurufen. Das führt bei den Dienstanbietern unter Umständen zu hohen Belastungen und schlimmstenfalls zu Diensteinschränkungen.

Aktuelles zum Thema und der Problematik: https://forum.fhem.de/index.php/topic,80685.0.html

Gisbert

#38
Hallo,

leider komme ich noch gar nicht zurecht.
Wenn ich das Attribut wie folgt setze, erhalte ich als Ergebnis 12, also die Zahl vor dem Tausenderpunkt:
attr Bitcoin reading01Regex id="rate_buy" data-rate="([\d\.]+)
D.h. es funktioniert ein bißchen, aber wie bekomme die Zahlen nach dem Tausenderpunkt?

Liebe​ 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

#39
Hallo zusammen,

durch Probieren und mit Hilfe dieses Beitrages habe ich es geschafft.
https://forum.fhem.de/index.php/topic,78553.0.html

defmod Bitcoin HTTPMOD https://www.bitcoin.de/de/btceur/market 900
attr Bitcoin userattr reading01Format reading01Name reading01OExpr reading01RegOpt reading01Regex
attr Bitcoin enableControlSet 1
attr Bitcoin group Bitcoin
attr Bitcoin reading01Format %.1f
attr Bitcoin reading01Name bitcoin
attr Bitcoin reading01OExpr $val =~ s/\,//g;; $val;;
attr Bitcoin reading01RegOpt s
attr Bitcoin reading01Regex id="rate_buy" data-rate="([\d\.?\,?]+)
attr Bitcoin room Mobile
attr Bitcoin stateFormat bitcoin €
attr Bitcoin timeout 10

setstate Bitcoin 12400.0 €
setstate Bitcoin 2017-12-09 13:43:21 bitcoin 12400.0

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

thotti70

Hallo an Alle,
falls jemand noch einen anderen Anbieter der Kurse abfragen möchte, hier für gdax (coinbase.com), welcher bei mir ganz gut funktioniert ;-)
defmod HTTP.gdax HTTPMOD https://bitinfocharts.com/de/markets/gdax/ 120
attr HTTP.gdax userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex
attr HTTP.gdax enableControlSet 1
attr HTTP.gdax icon wuerfel
attr HTTP.gdax reading01Name vLTC
attr HTTP.gdax reading01Regex id="lastTrade9">([\d\.?\,?]+)EUR<\/span>
attr HTTP.gdax reading02Name vBTC
attr HTTP.gdax reading02Regex id="lastTrade4">([\d\.?\,?]+)EUR<\/span>
attr HTTP.gdax reading03Name vETH
attr HTTP.gdax reading03Regex id="lastTrade8">([\d\.?\,?]+)EUR<\/span>
attr HTTP.gdax stateFormat BTC:vBTC€ ETH:vETH€ LTC:vLTC€


LG Thotti

thotti70

Und damit es nicht langweilig wird, hier noch einer ;-)

defmod HTTP.Cointed HTTPMOD https://www.cointed.com/en/about-us 120
attr HTTP.Cointed userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex
attr HTTP.Cointed enableControlSet 1
attr HTTP.Cointed icon wuerfel
attr HTTP.Cointed reading01Name vBTC
attr HTTP.Cointed reading01Regex <span id="tickerHeader-BTCEUR">([\d\.?\,?]+)<\/span>
attr HTTP.Cointed reading02Name vETH
attr HTTP.Cointed reading02Regex <span id="tickerHeader-ETHEUR">([\d\.?\,?]+)<\/span>
attr HTTP.Cointed reading03Name vLTC
attr HTTP.Cointed reading03Regex <span id="tickerHeader-LTCEUR">([\d\.?\,?]+)<\/span>
attr HTTP.Cointed stateFormat BTC:vBTC€  ETH:vETH€  LTC:vLTC€


LG Thotti

Fixel2012

Zitat von: jostmario am 02 Dezember 2017, 20:28:57
Hallo,

ja schaut gut aus gibt es auch was für IOTA?

Gruß Josty

Moin,
daran wäre ich auch Inreressiert. Allerdings blicke ich nicht so ganz bei HTTPMOD durch  ;D

Einige hier haben sich die Bitcoins ausgeben lassen, in dem das <div> oder auch <span> by id gesucht wurde. Bei meinen 3 Seiten, die ich zu IOTA gefunden habe, ist dies allerdings nicht möglich, da das Element, wo der Preis steht keine ID hat.

Bsp:

<span>3,6565 €</span>


https://www.coingecko.com/de/kurs_chart/iota/eur

Hat da jemand einen Tipp/Idee?
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

thotti70

Hi,
ich bin sicherlich auch kein Profi bei RegEx, aber probieren macht schlau ;-)
Im Zweifelsfall musst du ein "größeres" Suchmuster bemühen.
Sprich nicht nur die einzelne Zeile, sondern auch die davor oder danach. Muss halt eindeutig sein und sich nicht ändern.

In deinem Fall könnte (ungetestet) evtl. das weiterhelfen:
<td style="border-bottom: none;">IOT<\/td>\s<td style="text-align:right;border-bottom: none;">\s<span>([\d\.?\,?]+) €<\/span>\s<\/td>

Ich kann an dieser Stelle nur noch diese Seite empfehlen: https://regex101.com/
Dort kann man den Quelltext der betreffenden Webseite und seine RegEx einfügen und testen.


Viel Erfolg und Grüße
Thotti

Fixel2012

Super, hat funktioniert!

Mir war nicht bewusst, in wie fern ich das Suchmuster angebe.

Danke dir
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify