FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Steeeve am 15 Oktober 2015, 10:07:23

Titel: Telnet Werte abfragen
Beitrag von: Steeeve am 15 Oktober 2015, 10:07:23
Hallo Leute!

Ich habe vor, mein altes iPad als Statusdisplay zu misbrauchen (der Kindle refresht irgendwie nicht mehr so richtig bis gar nicht --> nervt).
Dazu verwende ich "Status Board" welches mir aktuell die Grafik vom kindle anzeigt (eingebettet in eine html seite).

Jetzt hab ich die Kindle darstellung nachgebaut und möchte nun die erforderlichen werte abfragen. Dazu hab ich hier im Forum die Anleitung gefunden, wie man die xmllist abfragt! Diese Funltioniert:

function __construct() {
     
      $this->lastRefresh = date('d.m.Y H:i:s');

try {
  $fp = stream_socket_client("tcp://192.168.0.127:7072", $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)\n";
}

else

{

//fwrite($fp, '{ReadingsVal("MyWeather","fc1_day_of_week","")}\n');
          fwrite($fp, "xmllist;quit\n");
   $this->forecastDay1 = stream_get_contents($fp);
   
   //echo $this->forecastDay1;
 
  fwrite($fp, 'quit\n');
 
  fclose($fp);
}  
     
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}



   } // constructor


Funktioniert:
fwrite($fp, "xmllist;quit\n");

Funktioniert nicht:
fwrite($fp, '{ReadingsVal("MyWeather","fc1_day_of_week","")}\n');

Wenn ich :
{ReadingsVal("MyWeather","fc1_day_of_week","")}
im Terminal ausführe funktioniert es

Hat jemand eine Ahnung woran das liegen kann?

Vielen Dank im Voraus!

Grüße Steeeve

Ps: Die xmllist will ich eigentlich nicht parsen, da will ich mich eigentlich nicht noch rein lesen und die readingsVal hab ich schon alle vom KindleDisplay ;)
Titel: Antw:Telnet Werte abfragen
Beitrag von: marvin78 am 15 Oktober 2015, 10:10:22

my $mW = ReadingsVal("MyWeather","fc1_day_of_week","");

fwrite($fp, "$mW\n");
Titel: Antw:Telnet Werte abfragen
Beitrag von: Steeeve am 15 Oktober 2015, 10:21:36
Danke marvin, hat zwar nicht ganz funktioniert, aber mich der lösung näher gebracht:

$mW = '{ReadingsVal("MyWeather","fc1_day_of_week","")}';
fwrite($fp, "$mW\n");


Warum auch immer das funktioniert!? ;)
Titel: Antw:Telnet Werte abfragen
Beitrag von: Steeeve am 15 Oktober 2015, 11:25:57
Hi nochmal!

Also das klappt jetzt zwar, aber nicht wunderbar - für 5 Werte abfragen dauert es 5 Minute, wobei die ganze XMLLIST in ein paar Sekunden geladen ist.
Von euch wird das ja sicher irgendwer das schonmal in php geparst haben, oder? Habt ihr da ein Beispiel bitte?
Ich sollte da irgendwie auf den wert von:

<FHZINFO>
   <Weather_LIST>
      <Weather name="MyWeather"
                    <STATE key="fc1_condition" value="teilweise wolkig" measured="2015-10-15 11:17:43"/>

...

kommen.
Vielen Dank im Voraus..

Schöne Grüße

Steeeve
Ps: Oder meint ihr, ich soll das besser mit dem Filereplacer umsetzen? Würde das klappen?