(gelöst) KEINE FUNKTION seit Update! PHP Script aufruf mit wget für FHEM

Begonnen von Ma_Bo, 20 Januar 2017, 18:49:16

Vorheriges Thema - Nächstes Thema

Ma_Bo

Hallo Leute,
seit dem heutigen Update funktioniert mein Aufruf nicht mehr.

Ich habe ein at definiert, welches mir alle 30 Sekunden ein PHP Script per wget aufruft:

define PHP_Script_ausfuehren at +*00:00:30 "sudo wget -q --spider 192.168.178.45/alles.php"

in dem PHP Script wird aus einer Datenbank, der letzte Eintrag geholt und in einen dummy geschrieben:

<?php
    
//Verbindung zur Datenbank herstellen
    
mysql_connect("localhost""root","PASSWORT") or die ("Verbindung nicht möglich");
    
mysql_select_db("DATENBANKNAME") or die ("Datenbank existiert nicht");
 
$abfrage10 "SELECT * FROM `positions` WHERE `id` = (SELECT MAX(`id`) FROM `positions`)";
$ergebnis10 mysql_query($abfrage10);
while(
$row10 mysql_fetch_object($ergebnis10))


header("Location:http://192.168.178.45:8086/fhem?cmd=setreading%20TRACCAR_Status_C220_Alles%20Alles%20ID: $row10->id%20Hoehe: $row10->altitude%20Richtung: $row10->course%20Breite: $row10->latitude%20Laenge: $row10->longitude%20Andere: $row10->other%20ServerDatumZeit: $row10->serverTime%20Geschwindigeit: $row10->speed%20ProtocolDatumZeit: $row10->time%20DeviceID: $row10->device_id");
exit;



?>


Das ganze funktionierte bis zum heutigen Update, jetzt leider nicht mehr.

Wenn ich im at folgendes mache:

define PHP_Script_ausfuehren at +*00:00:30 "sudo wget -q 192.168.178.45/alles.php"

also das --spider weglasse, dann funktioniert es, aber dann lädt er mir die Datei auch ständig runter und müllt mir die Platte voll.

Wenn ich es in der Linux Kommandozeile versuche mit

sudo wget --spider 192.168.178.45/alles.php

kommt folgendes und im dummy passiert nichts:

fhem@NUC:~$ sudo wget --spider 192.168.178.45/alles.php
Spider-Modus eingeschaltet.  Prüfe ob die Datei auf dem Server existiert.
--2017-01-20 18:36:34--  http://192.168.178.45/alles.php
Verbindungsaufbau zu 192.168.178.45:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 302 Found
Platz: http://192.168.178.45:8086/fhem?cmd=setreading%20TRACCAR_Status_C220_Alles%20Alles%20ID: 6325030%20Hoehe: xxx.7897568949132%20Richtung: xxx.8934783935547%20Breite: xx.21888094072974%20Laenge: x.2972583227687835%20Andere: {"battery":"100.0","ip":"x.xxx.0.72"}%20ServerDatumZeit: 2017-01-20 18:36:29%20Geschwindigeit: 0%20ProtocolDatumZeit: 2017-01-20 18:36:27%20DeviceID: 1 [folge]
Spider-Modus eingeschaltet.  Prüfe ob die Datei auf dem Server existiert.
--2017-01-20 18:36:34--  http://192.168.178.45:8086/fhem?cmd=setreading%20TRACCAR_Status_C220_Alles%20Alles%20ID:%206325030%20Hoehe:%20xxx.7897568949132%20Richtung:%20xxx.8934783935547%20Breite:%20xx.21888094072974%20Laenge:%20x.2972583227687835%20Andere:%20%7B%22battery%22:%22100.0%22,%22ip%22:%22x.xxx.0.72%22%7D%20ServerDatumZeit:%202017-01-20%2018:36:29%20Geschwindigeit:%200%20ProtocolDatumZeit:%202017-01-20%2018:36:27%20DeviceID:%201
Verbindungsaufbau zu 192.168.178.45:8086... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 405 Method Not Allowed
Die Datei auf dem Server existiert nicht -- Link nicht gültig!




Ich habe es mir jetzt ersteinmal so gebastelt, dass er mit:

sudo wget -q 192.168.178.45/alles.php

die Datei runterlädt und alles korrekt ausführt und dann mit

sudo rm alles.php*

die Datei wieder löscht, aber was ist geändert worden, dass das im Urzustand nicht mehr funktioniert?

Hier noch ein list von dem FHEMWEB und dem allowed an denen nichts verändert wurde:

Internals:
   CONNECTS   1654
   DEF        8086 global
   FD         53
   NAME       PHPZugang
   NR         3881
   NTFY_ORDER 50-PHPZugang
   PORT       8086
   STATE      Initialized
   TYPE       FHEMWEB
Attributes:
   closeConn  1
   longpoll   1
   room       3.01_System


Internals:
   NAME       allowed_PHPZugang
   NR         4045
   STATE      active
   TYPE       allowed
   validFor   PHPZugang
   Readings:
     2017-01-20 12:20:24   state           active
Attributes:
   room       3.01_System
   validFor   PHPZugang
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

rudolfkoenig

wget --spider wird auf FHEMWEB losgelassen. Mit dieser Option sendet wget ein HTTP HEAD Request. Das hat FHEMWEB noch nie verstanden, und bisher (faelschlicherweise) wie ein GET behandelt. Seit eine Woche wird eine Fehlermeldung (405 Method Not Allowed) ausgegeben, falls nicht GET, POST oder OPTIONS gesendet wird.

P.S.: das Betreff: ist hoechst irrefuehrend.

Markus Bloch

Nutz doch einfach folgenden Befehl:

define PHP_Script_ausfuehren at +*00:00:30 "sudo wget -O /dev/null -q 192.168.178.45/alles.php"

mit -O wird das Download-File nach /dev/null geschrieben und ist damit weg.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Ma_Bo

Danke Rudolf für die Erklärung.

Danke Markus, werde ich gleich mal testen.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.