FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Darth.Weber am 22 Januar 2014, 05:41:48

Titel: FHEM mit wget auslesen
Beitrag von: Darth.Weber am 22 Januar 2014, 05:41:48
Hallo Forum,

steuern von FHEM mit wget ist einfach, aber wie lese ich Informationen über Komponenten per Skript aus? Mein Weg wäre jetzt:
wget "http://fhemip:port/fhem?detail=name"
doch das parsen der Antwortseite ist styleabhängig und daher aufwändig. Kommt man irgendwie über das Netzwerk an die reinen Informationen in einem bestimmten Format wie z.B. XML oder so?
Ich würde gerne einige Daten wie state,alive,battery extern mit php auslesen und dort weiter verarbeiten (IP-Symcon)
Titel: Antw:FHEM mit wget auslesen
Beitrag von: Billy am 22 Januar 2014, 08:45:33
Vielleicht hilft dir 99_getstate.pm in Zusammenhang mit netcat.

Siehe auch
http://forum.fhem.de/index.php/topic,9226.msg50386.html#msg50386

Gruss Billy
Titel: Antw:FHEM mit wget auslesen
Beitrag von: justme1968 am 22 Januar 2014, 08:51:50
schau dir mal xmllist oder jsonlist an.

gruss
  andre
Titel: Antw:FHEM mit wget auslesen
Beitrag von: Daku123 am 22 Januar 2014, 13:13:05
Gab es eigentlich eine Lösung dafür, dass getstate nichts zurück gibt wenn es ein String ist?

Bei mir klappt getstate auf ein dummy Device nicht.
Titel: Antw:FHEM mit wget auslesen
Beitrag von: Daku123 am 22 Januar 2014, 13:16:04
Ach ich sehe gerade

"jsonlist Bewegung_Wohnen" bringt Folgendes

{
  "ResultSet": {
    "Results": {
      "ATTRIBUTES": {
        "icon": "icoHouse.png",
        "room": "CUL_HM"
      },
      "NAME": "Bewegung_Wohnen",
      "NR": "46",
      "READINGS": {
        "state": {
          "TIME": "2014-01-22 13:11:09",
          "VAL": "keine"
        }
      },
      "STATE": "keine",
      "TYPE": "dummy"
    }
  }
}

Wie kommt man jetzt nur an den groß geschriebenen STATE???
Titel: Antw:FHEM mit wget auslesen
Beitrag von: justme1968 am 22 Januar 2014, 13:21:23
an das klein geschriebene state (wie an jedes reading) mit ReadingsVal(...). an das gross geschriebene STATE (wie an jeden internal value) mit InternalVal(...).

gruss
  andre
Titel: Antw:FHEM mit wget auslesen
Beitrag von: betateilchen am 22 Januar 2014, 13:54:30
Irgendwie wurde hier wieder mal ein Thread gekapert, denn der eigentliche Fragesteller möchte ja ganz etwas anderes:

Zitatdoch das parsen der Antwortseite ist styleabhängig und daher aufwändig. Kommt man irgendwie über das Netzwerk an die reinen Informationen in einem bestimmten Format wie z.B. XML oder so?
Ich würde gerne einige Daten wie state,alive,battery extern mit php auslesen und dort weiter verarbeiten

also die Werte ausserhalb von fhem per php ermitteln.

1. Schritt: Werte per jsonlist/xmllist auslesen
2. Schritt: JSON Array per PHP parsen

Schritt  1 geht problemlos mittels wget, Schritt 2 geht am einfachsten in PHP per json-decode() (http://www.php.net/manual/de/function.json-decode.php)
Titel: Antw:FHEM mit wget auslesen
Beitrag von: Daku123 am 22 Januar 2014, 18:16:37
@betateilchen

Du hast ja Recht, mir geht es aber auch um ein

wget http://192.168.xx.xx:8083/fhem?detail=Bewegung_Wohnen

aber nur um einen bestimmen Wert, nämlich den STATE.
Ich würde diesen Befehl gern Tasker übergeben aber wenn so viele Information kommen, kann Tasker (jedenfalls mit meinem Wissen) nichts damit anfangen.
Gibts da nichts, dass ich mit einem reinen http-Aufruf den Status abgreifen kann?