Fussball.de Mannschaftstermine in FHEM importieren - Bundesliga und Amateure

Begonnen von Sille, 09 August 2016, 21:46:50

Vorheriges Thema - Nächstes Thema

patlabor

Hallo,

erstmal danke für diese tolle Anleitung, hat auch auf anhieb geklappt.
Aber leider habe ich ein kleines Problem. Ich bekomme SpielplanOffline nicht über cron ausgeführt.
Sobald ich SpielplanOffline per cron (oder aus einem anderen Verzeichnis) aus aufrufe hagelt es Fehler

--------------------------------------------------------------------------------
Starte SpielplanOffline
--------------------------------------------------------------------------------
Reading system variables from standard file setup.sh
/opt/fhem/SpielplanOffline/SpielplanOffline.sh: Zeile 29: setup.sh: Datei oder Verzeichnis nicht gefunden
Dependencies: AWK=, CONVERT=, OCR=
These programs need to be installed on your computer ...
HOMEDIR=
TMPDIR=
DEFAULTOUTDIR=
Reading input paramters from standard file input.sh
/opt/fhem/SpielplanOffline/SpielplanOffline.sh: Zeile 90: input.sh: Datei oder Verzeichnis nicht gefunden
--------------------------------------------------------------------------------
Sequence Nr.:
/opt/fhem/SpielplanOffline/SpielplanOffline.sh: Zeile 105: -f: Kommando nicht gefunden.
cp: der Aufruf von stat für ,,/spielplan.csv" ist nicht möglich: Datei oder Verzeichnis nicht gefunden
--------------------------------------------------------------------------------


sieht auch irgendwie so aus als ob setup.sh anstatt mysetup.sh verwendet wird.

im crontab habe ich folgenden Eintrag:

* * * * * /opt/fhem/SpielplanOffline/SpielplanOffline.sh http://www.fussball.de/mannschaft/fv-bischmisheim-fv-bischmisheim-saarland/-/saison/1617/team-id/011MIA46O8000000VTVG0001VTR8C1K7 > /opt/fhem/SpielplanOffline/cronfehler

wie hast du das ganze denn bei dir in die crontab eingetragen? in deiner #Anleitung erwähnst du das ja leider nur nebenbei, das man das kann ;-)

Sille

Hi patlabor,

das sieht bei dir nach dem Aufruf in einer falschen Umgebung aus, daher werden auch die falschen Dateien gezogen. Fhem arbeitet mit dem Benutzer fhem. Daher habe ich die crontab als User fhem editiert:

sudo su - fhem
crontab -e


und den Eintrag

* 12 * * * /opt/fhem/SpielplanOffline/myaufruf.sh

zugefügt.

Dabei ist myaufruf.sh ein Miniscript der Form:


#!/bin/bash
cd /opt/fhem/SpielplanOffline/
/opt/fhem/SpielplanOffline/SpielplanOffline.sh http://www.fussball.de/mannschaft/..../-/saison/1617/team-id/....


Der Aufruf /opt/fhem/SpielplanOffline/SpielplanOffline.sh http://www.fussball.de/mannschaft/..../-/saison/1617/team-id/.... muss als Benutzer fhem funktionieren, dann geht es auch über die crontab.
So klappt es jedenfalls bei mir.

Gruß
Sille
Intel NUC/ CUL V3.4 868MHz /RFXtrx /conbee II
fhem mit Homematic / zigbee / Harmony / Sonoff / Gigaset elements

Deinjo

Hallo,

ich habe nun auch versucht das ganze in Betrieb zu nehmen. Leider bekomme ich diverse Fehlermeldungen und komme da nicht so richtig weiter.

Ich bekomme folgende Meldung:
fhem@raspberry3:~/SpielplanOffline$ ./SpielplanOffline.sh http://www.fussball.de/mannschaft/fc-bruenninghausen-ii-fc-bruenninghausen-westfalen/-/saison/1617/team-id/011MICL9RO000000VTVG0001VTR8C1K7
--------------------------------------------------------------------------------
Starte SpielplanOffline
--------------------------------------------------------------------------------
Reading system variables from user-defined file mysetup.sh
Dependencies: AWK=/usr/bin/gawk, CONVERT=/usr/bin/convert, OCR=tesseract
These programs need to be installed on your computer ...
HOMEDIR=/opt/fhem/SpielplanOffline
TMPDIR=/opt/fhem/SpielplanOffline/tmp
DEFAULTOUTDIR=/opt/fhem/SpielplanOffline/Ergebnis
Reading input paramters from user-defined file myinput.sh
--------------------------------------------------------------------------------
Sequence Nr.:  1487449935
Hole VereinsID von fusball.de ...
------------------------------------------------------------------------
Vereins ID    : 00ES8GN8N400008MVV0AG08LVUPGND5I
Mannschafts ID: 011MICL9RO000000VTVG0001VTR8C1K7
Input URL     : http://www.fussball.de/mannschaft/fc-bruenninghausen-ii-fc-bruenninghausen-westfalen/-/saison/1617/team-id/011MICL9RO000000VTVG0001VTR8C1K7
Spielplan URL : http://www.fussball.de/vereinsspielplan.druck/-/datum-bis/2017-07-31/datum-von/2016-07-01/id/00ES8GN8N400008MVV0AG08LVUPGND5I/max/999/mode/PRINT/show-venues/true/team-id/011MICL9RO000000VTVG0001VTR8C1K7/type/-1#!/
Spielplanfile : /opt/fhem/SpielplanOffline/tmp/spielplan.html
Zeitraum      : 2016-07-01 - 2017-07-31
Lade Daten von Fussball.de.
Download von /opt/fhem/SpielplanOffline/tmp/spielplan-original.html abgeschlossen.
------------------------------------------------------------------------
Fontnumber: v34x4c0w
convert: not authorized `@/opt/fhem/SpielplanOffline/tmp/utfcodes-v34x4c0w.mult.txt' @ error/property.c/InterpretImageProperties/3405.
convert: no images defined `/opt/fhem/SpielplanOffline/tmp/image-v34x4c0w.png' @ error/convert.c/ConvertImageCommand/3210.
Tesseract Open Source OCR Engine v3.03 with Leptonica
Cannot open input file: /opt/fhem/SpielplanOffline/tmp/image-v34x4c0w.png
Code table: /opt/fhem/SpielplanOffline/tmp/codetable-v34x4c0w.txt
gawk: decode.awk:5: fatal: cannot open file `/opt/fhem/SpielplanOffline/tmp/ocr-v34x4c0w.txt' for reading (No such file or directory)
Defuscating /opt/fhem/SpielplanOffline/tmp/spielplan.html for font v34x4c0w
Fontnumber: q3pnbpxm
convert: not authorized `@/opt/fhem/SpielplanOffline/tmp/utfcodes-q3pnbpxm.mult.txt' @ error/property.c/InterpretImageProperties/3405.
convert: no images defined `/opt/fhem/SpielplanOffline/tmp/image-q3pnbpxm.png' @ error/convert.c/ConvertImageCommand/3210.
Tesseract Open Source OCR Engine v3.03 with Leptonica
Cannot open input file: /opt/fhem/SpielplanOffline/tmp/image-q3pnbpxm.png
Code table: /opt/fhem/SpielplanOffline/tmp/codetable-q3pnbpxm.txt
gawk: decode.awk:5: fatal: cannot open file `/opt/fhem/SpielplanOffline/tmp/ocr-q3pnbpxm.txt' for reading (No such file or directory)
Defuscating /opt/fhem/SpielplanOffline/tmp/spielplan.html for font q3pnbpxm
Fontnumber: h4oq4wlq
convert: not authorized `@/opt/fhem/SpielplanOffline/tmp/utfcodes-h4oq4wlq.mult.txt' @ error/property.c/InterpretImageProperties/3405.
convert: no images defined `/opt/fhem/SpielplanOffline/tmp/image-h4oq4wlq.png' @ error/convert.c/ConvertImageCommand/3210.
Tesseract Open Source OCR Engine v3.03 with Leptonica
Cannot open input file: /opt/fhem/SpielplanOffline/tmp/image-h4oq4wlq.png
Code table: /opt/fhem/SpielplanOffline/tmp/codetable-h4oq4wlq.txt
gawk: decode.awk:5: fatal: cannot open file `/opt/fhem/SpielplanOffline/tmp/ocr-h4oq4wlq.txt' for reading (No such file or directory)
Defuscating /opt/fhem/SpielplanOffline/tmp/spielplan.html for font h4oq4wlq
------------------------------------------------------------------------
Ausgabeformat : ICS
Prefix        :
SequenceNR    : 1487449935
Output-Datei  : /opt/fhem/SpielplanOffline/tmp/spielplan.ics
Ausgabe       : Heim- und Auswärtsspiele, abgesagte Spiele werden mit aufgelistet
Team          : FC Brünninghausen
Gebiet        : Westfalen

Ein ics-File wird zwar erzeugt, aber ohne Datum und Uhrzeit der Spiele.

Dachte, der erste Fehler wäre ein Hinweis, dass eins der Tools fehlt. Aufrufe -V bringen folgende Ausgaben:
fhem@raspberry3:~/SpielplanOffline$ gawk -V
GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.2-p3, GNU MP 6.0.0)
...

fhem@raspberry3:~/SpielplanOffline$ tesseract -V
Usage:
  tesseract imagename|stdin outputbase|stdout [options...] [configfile...]
...

fhem@raspberry3:~/SpielplanOffline$ convert -V
Version: ImageMagick 6.8.9-9 Q16 arm 2016-11-27 http://www.imagemagick.org
...

Darin dürfte es also nicht liegen.

Die zusätzlichen Tools hatte ich installiert:
sudo apt-get install gawk ghostscript ImageMagick tesseract-ocr tesseract-ocr-deu


Kann mir jemand einen Tip geben?

Danke
Deinjo
rPi3, Jessie, FHEM 5.7
CUL, Homematic, WeMos, FritzDect, TableUI,...

Sille

Hi,

sieht so aus, als ob du ein Problem mit der policy.xml bei ImageMagick hast. Da kenne ich mich aber überhaupt nicht mit aus.

Ich habe die Version


convert -v
Version: ImageMagick 6.8.9-9 Q16 arm 2016-06-01 http://www.imagemagick.org


Bei mir sieht die  policy.xml (liegt unter /etc/ImageMagick-6) wie folgt aus:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policymap [
<!ELEMENT policymap (policy)+>
<!ELEMENT policy (#PCDATA)>
<!ATTLIST policy domain (delegate|coder|filter|path|resource) #IMPLIED>
<!ATTLIST policy name CDATA #IMPLIED>
<!ATTLIST policy rights CDATA #IMPLIED>
<!ATTLIST policy pattern CDATA #IMPLIED>
<!ATTLIST policy value CDATA #IMPLIED>
]>
<!--
  Configure ImageMagick policies.

  Domains include system, delegate, coder, filter, path, or resource.

  Rights include none, read, write, and execute.  Use | to combine them,
  for example: "read | write" to permit read from, or write to, a path.

  Use a glob expression as a pattern.

  Suppose we do not want users to process MPEG video images:

    <policy domain="delegate" rights="none" pattern="mpeg:decode" />

  Here we do not want users reading images from HTTP:

    <policy domain="coder" rights="none" pattern="HTTP" />

  Lets prevent users from executing any image filters:

    <policy domain="filter" rights="none" pattern="*" />

  The /repository file system is restricted to read only.  We use a glob
  expression to match all paths that start with /repository:

    <policy domain="path" rights="read" pattern="/repository/*" />

  Any large image is cached to disk rather than memory:

    <policy domain="resource" name="area" value="1GB"/>

  Define arguments for the memory, map, area, and disk resources with
  SI prefixes (.e.g 100MB).  In addition, resource policies are maximums for
  each instance of ImageMagick (e.g. policy memory limit 1GB, -limit 2GB
  exceeds policy maximum so memory limit is 1GB).
-->
<policymap>
  <!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
  <!-- <policy domain="resource" name="memory" value="2GiB"/> -->
  <!-- <policy domain="resource" name="map" value="4GiB"/> -->
  <!-- <policy domain="resource" name="area" value="1GB"/> -->
  <!-- <policy domain="resource" name="disk" value="16EB"/> -->
  <!-- <policy domain="resource" name="file" value="768"/> -->
  <!-- <policy domain="resource" name="thread" value="4"/> -->
  <!-- <policy domain="resource" name="throttle" value="0"/> -->
  <!-- <policy domain="resource" name="time" value="3600"/> -->
  <!-- <policy domain="system" name="precision" value="6"/> -->
  <policy domain="cache" name="shared-secret" value="passphrase"/>
  <policy domain="coder" rights="none" pattern="EPHEMERAL" />
  <policy domain="coder" rights="none" pattern="URL" />
  <policy domain="coder" rights="none" pattern="HTTPS" />
  <policy domain="coder" rights="none" pattern="MVG" />
  <policy domain="coder" rights="none" pattern="MSL" />
  <policy domain="coder" rights="none" pattern="TEXT" />
  <policy domain="coder" rights="none" pattern="SHOW" />
  <policy domain="coder" rights="none" pattern="WIN" />
  <policy domain="coder" rights="none" pattern="PLT" />
</policymap>


Vielleicht wurde dort etwas verschärft und die policy.xml ist anders...

LG
Sille
Intel NUC/ CUL V3.4 868MHz /RFXtrx /conbee II
fhem mit Homematic / zigbee / Harmony / Sonoff / Gigaset elements

Kusselin

Vielen Dank für die Aktualisierung für Saison 2017/18  ;)

Gruss

Kussel

fabi29891

Hallo,
ich habe folgendes Problem. Sobald ich die SpielplanOffline.sh ausführen möchte erscheint folgender Fehler:

-
Starte SpielplanOffline
--------------------------------------------------------------------------------
Reading system variables from user-defined file mysetup.sh
FEHLER: OCR-Programm nicht installiert. Expected at this location: tesseract
Passe [my]setup.sh an oder installiere das Paket, das mit SpielplanOffline geliefert wurde.

Ist es möglich dass irgendwie der Installtionsort von tesseract geändert wurde?
Wie muss ich die mysetup.sh dann anpassen bzw. wie finde ich den Speicherort heraus?
Hoffe mir kann jemand weiterhelfen :)

Liebe Grüße
Fabian

Kusselin

Hallo fabi,

du musst als erstes von seite 1 die datei runterladen..entweder Win oder für mac....dann entpacken und dann die .bat Datei ausführen.....

Gruss

fabi29891

Hallo Kusselin,

ich habe die Datei bereits runtergeladen. Ich nutze kein Windows oder Mac sondern Raspbian und ich habe das Tool durch den Befehl : sudo apt-get install gawk ghostscript ImageMagick tesseract-ocr tesseract-ocr-deu installiert.

Liebe Grüße
Fabian

Kusselin


Sille

Da scheint sicht etwas geändert zu haben... Das ist oben in der Anleitung ergänzt. In der Steuerdatei mysetup.sh müssen die Pfade von gwak, convert, wget und tesseract angepasst werden.

fabi29891, was kommt bei dir , wenn du which tesseract


ausführst? Bei mir sieht es so aus:

which tesseract
/usr/bin/tesseract


Falls diese Ausgabe kommt, ist tesseract installiert und in der Steuerdatei mysetup.sh muss der Pfad für OCR angepassen werden. Falls nichts zurück kommt, muss tesseract noch installiert werden.

Vorher


OCR=tesseract


nachher


OCR=/usr/bin/tesseract


LG Sille
Intel NUC/ CUL V3.4 868MHz /RFXtrx /conbee II
fhem mit Homematic / zigbee / Harmony / Sonoff / Gigaset elements

Kusselin


Sille

Das ist eine Antwort für fabi29891 und alle, bei denen der Fehler mit tesseract bei der neuen Version v 2.5 kommt.

Es wurde in der SpielplanOffline.sh eine Abfrage ergänzt, die die benötigten Programme sucht und einen Fehler ausgibt, wenn unter den hinterlegten Pfaden in der setup.sh bzw. mysetup.sh die Programme nicht zu finden sind.

Dabei übersteuert mysetup.sh die Einträge der setup.sh. Da mysetup.sh bei einer neuen Version nicht mitgeliefert wird, bleiben die Einträge erhalten.

LG Sille
Intel NUC/ CUL V3.4 868MHz /RFXtrx /conbee II
fhem mit Homematic / zigbee / Harmony / Sonoff / Gigaset elements

fabi29891

Vielen Dank Sille. Genau das war die Lösung des Problems :)

LG Fabian

atallen

Danke für diese Anleitung und auch Danke an Heino Flake für SpielplanOnline2017. Ich benutze die 2.5 er Version
Ich bin streng nach Ablauf gegangen. Und hab auch die einzelnen Beiträge fleißig gelesen, damit ich keinen Fehler mache, der hier schon besprochen wurde.
- Die Überprüfung mit which gawk, which convert hat bei mirdie richtigen gewollten Ergebnisse ausgegeben. Ich hab die Datei mysetup.sh aufgefrufen und musste trotzdem
alles korrigieren wie es auch aufgelistet wurde. Auf Seite 2 (also hier oben) steht was davon das anstatt der mysetup.sh evtl. die setup.sh ausgelesen wird.
Daraufhin hab ich auch diese Datei angepasst. Tja aber...:

Der Test ist mit meiner Mannschaft und auch mit der Beispielmannschaft komplett durchgelaufen.
Auch mit der Meldung: Fertig! Spielplan steht jetzt in der Datei spielplan.ics im Verzeichnis opt/fhem/SpielplanOffline/Ergebnis
(ich habs auch mal mit einem anderem Verzeichnis probiert. /  Und ich hab versucht das Verzeichnis SpielplanOffline mit allen rechten zu versehen...)

Nur leider wird das Verzeichnis "Ergebnis" gar nicht erst erstellt und auch keine ICS Datei gespeichert. Auch die Temp Dateien finde ich nirgends...

Das kann doch nur ein blöder Fehler meinerseits sein, oder...?
Nebenbei. Ich habe Fhem überhaupt nicht installiert. Wollte das ohne machen, geht das überhaupt...?

Gruß
atallen

Kusselin

Ja klar geht das auch ohne Fhem. Ich machs auch ohne ind hab mir den offline spielplan in meinen google kalender importiert..funzt 1a


Gesendet von iPhone mit Tapatalk Pro