Notdienst Apotheke

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

Vorheriges Thema - Nächstes Thema

Christoph Morrison

Zitat von: sven.scherf am 24 August 2020, 18:30:29
ich musste nun feststellen das hier über die URL http://apothekenfinder.mobi kein json mehr ausgeliefert wird.

Wie kommst du darauf? Hab eben noch mal getestet - alles wie beschrieben.

sven.scherf

Hi Christoph,

ich bekomme kein Ergebnis zurück.

Dies ist meine Abfrage:    
http://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=64572

und dies bekomme ich zurück.

{"result":"","status":"0"}


Bei dir sieht dies anders aus ?

Viele Grüße

Sven
Raspi 3 mit CUL Stick 433/868MHZ, Homematic

sven.scherf

Hi,

done.

Vielen Dank es funktioniert nun wieder.

Im Browser bekommt man kein Ergebnis wie meine Vorgänger schon geschrieben hatten.
Vielleicht kann mir jemand erklären warum dem so ist und warum es in fhem funktioniert.  ::)

mit set reread geht es wieder.

Ich habe mir einen AT Befehl angelegt welcher mit vormittags die Apotheke neu einliest.

Vielen Dank und Grüße

Sven
Raspi 3 mit CUL Stick 433/868MHZ, Homematic

Christoph Morrison

Zitat von: sven.scherf am 25 August 2020, 16:17:09
Im Browser bekommt man kein Ergebnis wie meine Vorgänger schon geschrieben hatten.
Vielleicht kann mir jemand erklären warum dem so ist und warum es in fhem funktioniert.  ::)

Der Service will mehr als nur eine normale GET-Anfrage, wie man sie mit dem Browser üblicherweise macht. Deshalb liefert die API auch bei einem normalen Request nichts zurück.

Hugo Becker

Hallo,

seit heute scheint das Datum / Uhrzeit im Linuxformat (1603261800 = 21.10.2020 - 08:30:00) angegeben zu sein.
Kann das jemand bestätigen ?

Gruß
Hugo

Christoph Morrison

Zitat von: Hugo Becker am 21 Oktober 2020, 13:32:47
seit heute scheint das Datum / Uhrzeit im Linuxformat (1603261800 = 21.10.2020 - 08:30:00) angegeben zu sein.
Kann das jemand bestätigen ?

Hm, ich glaube das war schon immer so. Poste mal ein list deines Devices.

Hugo Becker

Hallo Christoph,

vielen Dank dafür, das Du einmal drüberschaust. Ich habe den Verdacht, das es an dem Modul HTTPMOD liegen könnte. Erst heute nach einem längeren Update, trat der Fehler auf.
Hier das List...

Internals:
   .getList   
   .setList   interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue
   .updateRequestHash 1
   BUSY       0
   DEF        https://apothekenfinder.mobi/interface/json.php?device=web&source=not&lat=52.42863&long=9.466728
   FUUID      5c4332a1-f33f-1f9d-9e53-841d4e6da88f8488
   Interval   300
   JSONEnabled 1
   LASTSEND   1603282449.09014
   MainURL    https://apothekenfinder.mobi/interface/json.php?device=web&source=not&lat=52.42863&long=9.466728
   ModuleVersion 3.5.22 - 7.2.2020
   NAME       NotApotheke
   NOTIFYDEV  global
   NR         3618
   NTFY_ORDER 50-NotApotheke
   STATE      Luther Apotheke, 05031 71222, Hauptstr. 38 a, 31515 Wunstorf
   TRIGGERTIME 1603282749.08259
   TRIGGERTIME_FMT 2020-10-21 14:19:09
   TYPE       HTTPMOD
   addr       https://apothekenfinder.mobi:443
   auth       0
   buf       
   code       200
   data       
   displayurl https://apothekenfinder.mobi/interface/json.php?device=web&source=not&lat=52.42863&long=9.466728
   header     Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6
User-Agent: Lynx/2.8.8dev.3 libwww-FM/2.14 SSL-MM/1.4.1
Referer: http://apothekenfinder.mobi/
X-Requested-With: XMLHttpRequest
Connection: keep-alive
   host       apothekenfinder.mobi
   httpheader HTTP/1.1 200 OK
Date: Wed, 21 Oct 2020 12:08:51 GMT
Server: Apache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 893
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
   httpversion 1.0
   ignoreredirects 1
   loglevel   4
   path       /interface/json.php?device=web&source=not&lat=52.42863&long=9.466728
   protocol   https
   redirects  0
   timeout    2
   url        https://apothekenfinder.mobi/interface/json.php?device=web&source=not&lat=52.42863&long=9.466728
   value      0
   .attraggr:
   .attrminint:
   .readingParseList:
     01
     02
     03
     04
     05
     06
     07
     08
     09
     10
     11
   .userReadings:
     HASH(0x55fa160)
     HASH(0x56495f8)
   QUEUE:
   READINGS:
     2020-10-21 14:09:09   Beginn          1603261800
     2020-10-21 14:09:09   Breitengrad     52.4267926504515
     2020-10-21 14:09:09   Ende            1603348200
     2020-10-21 14:09:09   Entfernung      0.38
     2020-10-21 14:09:09   Längengrad     9.4714842932537
     2020-10-21 14:09:09   Name            Luther Apotheke
     2020-10-21 14:09:09   Ort             Wunstorf
     2020-10-21 14:14:11   PLZort          31515 Wunstorf
     2020-10-21 14:09:09   Plz             31515
     2020-10-21 14:09:09   Strasse         Hauptstr. 38 a
     2020-10-21 14:09:09   Telefax         05031 74440
     2020-10-21 14:09:09   Telefon         05031 71222
     2020-10-21 14:14:11   VonBis          Notdienst von 1603261800 bis 1603348200
   REQUEST:
     data       
     header     Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6
User-Agent: Lynx/2.8.8dev.3 libwww-FM/2.14 SSL-MM/1.4.1
Referer: http://apothekenfinder.mobi/
X-Requested-With: XMLHttpRequest
Connection: keep-alive
     ignoreredirects 0
     retryCount 0
     type       update
     url        https://apothekenfinder.mobi/interface/json.php?device=web&source=not&lat=52.42863&long=9.466728
     value      0
   defptr:
     readingBase:
       Beginn     reading
       Breitengrad reading
       Ende       reading
       Entfernung reading
       Längengrad reading
       Name       reading
       Ort        reading
       Plz        reading
       Strasse    reading
       Telefax    reading
       Telefon    reading
     readingNum:
       Beginn     07
       Breitengrad 10
       Ende       08
       Entfernung 11
       Längengrad 09
       Name       01
       Ort        04
       Plz        03
       Strasse    02
       Telefax    06
       Telefon    05
     readingOutdated:
     requestReadings:
       update:
         Beginn     reading 07
         Breitengrad reading 10
         Ende       reading 08
         Entfernung reading 11
         Längengrad reading 09
         Name       reading 01
         Ort        reading 04
         Plz        reading 03
         Strasse    reading 02
         Telefax    reading 06
         Telefon    reading 05
   sslargs:
Attributes:
   enableControlSet 1
   icon       apotheke
   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
   reading08JSON result_01_end
   reading08Name Ende
   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       hidden
   showBody   0
   stateFormat Name, Telefon, Strasse, Plz Ort
   userReadings PLZort { ReadingsVal("NotApotheke","Plz",0)." ".ReadingsVal("NotApotheke","Ort",0) },
VonBis { "Notdienst von ".ReadingsVal("NotApotheke","Beginn",0)." bis ".ReadingsVal("NotApotheke","Ende",0) }
   userattr   get01Encode get01JSON get01Name get02ExtractAllJSON:0,1 getURL reading01Encode reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading06JSON reading06Name reading07JSON reading07Name reading07OExpr reading08JSON reading08Name reading08OExpr reading09JSON reading09Name reading10JSON reading10Name reading11JSON reading11Name readingEncode requestHeader requestHeader1 requestHeader2 requestHeader3 requestHeader4 requestHeader5 requestHeader6 requestHeader7
   verbose    0


Gruß Hugo

Christoph Morrison

Setze mal folgendes:

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)


Bei mir hat das schon immer funktioniert, weil ich, warum auch immer, die Zeiten schon auswerte.
strftime kannst du dir anpassen wie es beliebt. Die Formate findest du in der Dokumentation.

Hugo Becker

Hallo Christoph,

nun funktioniert es einwandfrei !!!  ;D
Vielen Dank noch einmal für die ultraschnelle Hilfe, KLASSE.

Gruß
Hugo

pwlr

Moin,

ich kann Hilfe gebrauchen, komme nicht weiter :(
ZitatSetze mal folgendes:
Code: [Auswählen]

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)

geht nicht, kann beide Attribute reading..OExpr nicht setzen. Fehlermeldung bei der Eingabe:

Invalid Expression strftime "%a %e.%m.%Y %H:%M" , localtime($val)



Und im Log:

2020.10.23 00:32:31.972 3: NotdienstApotheke2: attr reading08OExpr with expresion my $timeDiff = $oRef->{'$timeDiff'};my @matchlist = @{$oRef->{'@matchlist'}};return undef;strftime "%a %e.%m.%Y %H:%M" , localtime($val) created warning: String found where operator expected at (eval 23557) line 1, near "strftime "%a %e.%m.%Y %H:%M""

2020.10.23 00:32:31.973 3: NotdienstApotheke2: attr reading08OExpr with expresion my $timeDiff = $oRef->{'$timeDiff'};my @matchlist = @{$oRef->{'@matchlist'}};return undef;strftime "%a %e.%m.%Y %H:%M" , localtime($val) created warning: (Do you need to predeclare strftime?)

2020.10.23 00:32:31.974 3: NotdienstApotheke2: attr reading08OExpr with expression my $timeDiff = $oRef->{'$timeDiff'};my @matchlist = @{$oRef->{'@matchlist'}};return undef;strftime "%a %e.%m.%Y %H:%M" , localtime($val) on  created error: syntax error at (eval 23557) line 1, near "strftime "%a %e.%m.%Y %H:%M""


Test in einer Perl-Subrutine in der myUtils
my$hallo = strftime "%a %e.%m.%Y %H:%M", localtime(1603432800);
Log3 ($name, 4, "$name $sub_name: timestamp = $hallo ");

funktioniert strftime und bringt die gewünschte Formatierung.

Ich bin ratlos, hat jemand vielleicht eine Idee ?

Moin
Bernd


pwlr

sorry, vergessen, list vom Entity:

Internals:
   BUSY       0
   CFGFN      FHEM/myxx.cfg
   DEF        https://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=24.... 3600
   FUUID      5c4b88a9-f33f-5817-d4b4-730d180dcbcd262b
   Interval   3600
   MainURL    https://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=24...
   ModuleVersion 4.0.09 - 16.10.2020
   NAME       NotdienstApotheke2
   NOTIFYDEV  global
   NR         1141
   NTFY_ORDER 50-NotdienstApotheke2
   STATE      Schloss-Apotheke.....
   TYPE       HTTPMOD
   value     
   HttpUtils:
     NAME       
     addr       https://apothekenfinder.mobi:443
     auth       0
     buf       
     code       200
     compress   1
     conn       
     data       
     displayurl https://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=24...
     header     Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6
User-Agent: Lynx/2.8.8dev.3 libwww-FM/2.14 SSL-MM/1.4.1
Referer: http://apothekenfinder.mobi/
X-Requested-With: XMLHttpRequest
Connection: keep-alive
     host       apothekenfinder.mobi
     httpheader HTTP/1.1 200 OK
Date: Thu, 22 Oct 2020 22:26:47 GMT
Server: Apache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 924
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /interface/json.php?device=web&source=not&search=24...
     protocol   https
     redirects  0
     timeout    60
     url        https://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=24...
     sslargs:
   QUEUE:
   READINGS:
     2020-10-23 00:27:07   Beginn          Thu Oct 22 08:00:00 2020
     2020-10-23 00:27:07   Breitengrad     54.15
     2020-10-23 00:27:07   Ende           
     2020-10-23 00:27:07   Entfernung      11.77
     2020-10-23 00:27:07   Längengrad     10.4
     2020-10-23 00:27:07   Name            Schloss-Apotheke
     2020-10-23 00:27:07   Ort             Büttenwarder
     2020-10-23 00:27:07   Plz             12345
     2020-10-23 00:27:07   Strasse         Markt 15
     2020-10-23 00:27:07   Telefax         04...
     2020-10-23 00:27:07   Telefon         04...
     2020-10-23 00:27:07   update          1603432800
   REQUEST:
     context    reading
     data       
     header     Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6
User-Agent: Lynx/2.8.8dev.3 libwww-FM/2.14 SSL-MM/1.4.1
Referer: http://apothekenfinder.mobi/
X-Requested-With: XMLHttpRequest
Connection: keep-alive
     ignoreredirects 0
     num        0
     retryCount 0
     type       update
     url        https://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=24601
   defptr:
     readingBase:
       Beginn     reading
       Breitengrad reading
       Ende       reading
       Entfernung reading
       Längengrad reading
       Name       reading
       Ort        reading
       Plz        reading
       Strasse    reading
       Telefax    reading
       Telefon    reading
       update     reading
     readingNum:
       Beginn     07
       Breitengrad 10
       Ende       08
       Entfernung 11
       Längengrad 09
       Name       01
       Ort        04
       Plz        03
       Strasse    02
       Telefax    06
       Telefon    05
       update     20
     readingOutdated:
     requestReadings:
       update:
         Beginn     reading 07
         Breitengrad reading 10
         Ende       reading 08
         Entfernung reading 11
         Längengrad reading 09
         Name       reading 01
         Ort        reading 04
         Plz        reading 03
         Strasse    reading 02
         Telefax    reading 06
         Telefon    reading 05
         update     reading 20
Attributes:
   alias      Apotheken Notdienst

   enableControlSet 1
   event-on-change-reading Name
   event-on-update-reading update
   group      Info
   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 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
   reading20JSON result_01_end
   reading20Name update
   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       -Notruf,Buero
   showBody   0
   stateFormat Name<br>Strasse<br>Plz Ort<br>Telefon<br><br>Beginn bis Ende
   timeout    60
   userattr   get01Encode get01JSON get01Name get02ExtractAllJSON:0,1 getURL reading01Encode reading01JSON reading01Name reading02JSON reading02Name reading03JSON reading03Name reading04JSON reading04Name reading05JSON reading05Name reading06JSON reading06Name reading07JSON reading07Name reading07OExpr reading08JSON reading08Name reading08OExpr reading09JSON reading09Name reading10JSON reading10Name reading11JSON reading11Name reading20JSON reading20Name reading20OExpr readingEncode requestHeader requestHeader1 requestHeader2 requestHeader3 requestHeader4 requestHeader5 requestHeader6 requestHeader7
   verbose    3

amenomade

Probiere mit
reading07OExpr strftime("%a %e.%m.%Y %H:%M", localtime($val))
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

pwlr

moin,

leider auch nicht. Kann ich zwar eingeben, bei reread kommt aber kein Ergebnis und im Log:
2020.10.23 10:38:34.816 3: NotdienstApotheke2: perl expression eval with expression my $timeDiff = $oRef->{'$timeDiff'};strftime("%a %e.%m.%Y %H:%M", localtime($val)) on 1603519200 created error: Undefined subroutine &FHEM::HTTPMOD::Utils::strftime called at (eval 40600) line 1.

undefined subroutine ? Sehr komisch  :(

Christoph Morrison

Und wenn du POSIX::strftime absolut addressierst?

pwlr

Moin,
ZitatUnd wenn du POSIX::strftime absolut addressierst?

JA das war es !
POSIX::strftime("%a %e.%m.%Y %H:%M", localtime($val))
und alles ist gut - jedenfalls bei mir. Wieso geht es bei anderen, fehlt mir irgendwo eine grundsätzliche Systemdefinition ?

... und schon habe ich als Linux-Depp wieder etwas zu lernen, Thema POSIX

Danke für Eure Hilfe ! und moin
Bernd