Notdienst Apotheke

Begonnen von Vaddi, 24 April 2018, 01:39:35

Vorheriges Thema - Nächstes Thema

WhyTea

Hallo

Ich habe mal beide Varianten regex und json ausprobiert.
Beide funktionieren und das Ergebnis ist identisch.

Kann mir jemand die Vor- bzw. Nachteile der beiden Varainten erklären?
Welche wird den weiter gepflegt?

Gruß
Daniel

Christoph Morrison

Zitat von: WhyTea am 03 Juli 2018, 14:38:55
Kann mir jemand die Vor- bzw. Nachteile der beiden Varainten erklären?

Für dich als Endanwender ist die Version nur insofern wichtig, als dass die JSON-Version vermutlich langfristig zuverlässige Ergebnisse liefert. Allerdings können die auch morgen die JSON-API ändern und keiner wird es vermutlich mitbekommen, bis es irgendwo knallt.

Zitat von: WhyTea am 03 Juli 2018, 14:38:55
Welche wird den weiter gepflegt?

Keine der Versionen ist ein offizielles Modul oder so, sondern nur ein Codesnippet und es gibt auch keinen Maintainer. Also gibt es darauf keine Antwort, die dir helfen würde.

koma

vielen Dank, bei mir funktioniert es auch wunderbar!

hartenthaler

Ich finde die JSON-Version auch besser, aber
http://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=69493
liefert kein Ergebnis mehr ab.

Hat jemand einen JSON-Link, der funktioniert und kann sagen wie man den "search=" Parameter genau befüllen muss?
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

hartenthaler

#34
Nun habe ich mal die Version aus dem ersten Post ausprobiert. Funktioniert für den Namen der Apotheke und die Adresse. Die gefundene Telefonnummer gehört aber nicht zu dieser Apotheke, sondern zur dritten in der Trefferliste.
https://www.aponet.de/service/notdienstapotheke-finden/suchergebnis/04.08.2018/13465/Am%2BEichenhain%2B74.html
Hat schon jemand diesen Fehler behoben oder muss ich mal selber reinwühlen? Wie bereits gesagt: bei JSON könnte das nicht passieren.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Vaddi

Also ich bekomme mit folgender Definition ein Ergebnis

http://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=69493 0
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

hartenthaler

Wenn ich den Link im Browser eingebe, dann bekomme ich auch kein Ergebnis. Das mag damit zusammenhängen, dass der Server nur selektiv auf bestimmte Browser antwortet. Daher vermute ich, dass mit einem meiner requestHeader-Parameter etwas nicht stimmt. Hier ein List meines Device:

Internals:
   DEF        http://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=13465 0
   Interval   0
   JSONEnabled 1
   MainURL    http://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=13465
   ModuleVersion 3.5.1 - 5.7.2018
   NAME       NotdienstApotheke
   NR         818
   STATE      Name, Telefon, Strasse in Plz Ort
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       HTTPMOD
Attributes:
   DbLogExclude .*
   enableControlSet 1
   reading01Encode UTF-8
   reading01JSON result_01_name
   reading01Name Name
   reading02JSON result_01_street
   reading02Name Strasse
   reading03JSON result_01_plz
   reading03Name Plz
   reading04JSON result_01_place
   reading04Name Ort
   reading05JSON result_01_number
   reading05Name Telefon
   reading06JSON result_01_fax
   reading06Name Telefax
   reading07JSON result_01_start
   reading07Name Beginn
   reading07OExpr strftime "%a %e.%m.%Y %H:%M", localtime($val)
   reading08JSON result_01_end
   reading08Name Ende
   reading08OExpr strftime "%a %e.%m.%Y %H:%M", localtime($val)
   reading09JSON result_01_lng
   reading09Name Längengrad
   reading10JSON result_01_lat
   reading10Name Breitengrad
   reading11JSON result_01_distance
   reading11Name Entfernung
   readingEncode UTF-8
   requestHeader2 Accept-Encoding: gzip, deflate
   requestHeader3 Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6
   requestHeader4 User-Agent: Lynx/2.8.8dev.3 libwww-FM/2.14 SSL-MM/1.4.1
   requestHeader5 Referer: http://apothekenfinder.mobi/
   requestHeader6 X-Requested-With: XMLHttpRequest
   requestHeader7 Connection: keep-alive
   room       Gesundheit
   showBody   0
   stateFormat Name, Telefon, Strasse in Plz Ort
   userattr   reading01Encode reading01JSON reading01Name reading01Regex reading02JSON reading02Name reading02Regex reading03JSON reading03Name reading03Regex reading04JSON reading04Name reading04Regex reading05-1Name reading05-2Name reading05JSON reading05Name reading05Regex reading06JSON reading06Name reading07JSON reading07Name reading07OExpr reading08JSON reading08Name reading08OExpr reading09JSON reading09Name reading10JSON reading10Name reading11JSON reading11Name readingEncode requestHeader2 requestHeader3 requestHeader4 requestHeader5 requestHeader6 requestHeader7
   verbose    0
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Vaddi

Im normalen Browser bekomme ich auch nichts brauchbares angezeigt.
Ich habe deine requestHeader gerade mal mit meinen verglichen, stimmen 100%ig überein.
Deine letzte Definition mit der PLZ 13465 liefert bei mir auch ein Ergebnis in Fhem.
Ansonsten vllt ein mal das Device löschen neu anlegen und set reread nicht vergessen.
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte

Christoph Morrison

Ich möchte übrigens gesagt haben, dass Längengrad kein gültiger Reading-Name ist, da er einen Umlaut enthält.

hartenthaler

Danke, jetzt geht die JSON-Variante (nach set reread). Also muss ich den Fehler wg. Telefonnummer in der alten Variante nicht mehr suchen.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Kusselin

Hallo Zusammen, ich muss immer in fhem erst auf "reread" klicken dann gehts.. woran liegt das?

Gruss


Gesendet von iPhone mit Tapatalk Pro

ToM_ToM

ZitatHallo Zusammen, ich muss immer in fhem erst auf "reread" klicken dann gehts.. woran liegt das?

Daran dass das Interval noch nicht erreicht ist. Gibst du z.B. als Intervall 600 ein, dann holt er erst nach 10 Minuten die Daten.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Kusselin


Kusselin

Hi, habe den intervall jetzt mal mit set auf 86400sec. Gestellt..das wären 24h

Wenn ich nach der Zeit draufschaue hat sich aber nix geändert..muss erst wieder reread drücken...was mach ich falsch???
Gruss

Vaddi

Also, ich habe bei ein at erstellt, welches jeden Morgen um 9:30 uhr
ein reread ausführt, da sich um 9 Uhr die Notdienst Apotheke ändert.
fhem auf RPi 3
HM-MOD-RPI-PCB sowie 433mhz Sender
Mehrere HM und 433mhz Produkte