[FHZ] Keine Antwort von fhem

Begonnen von Guest, 07 Januar 2010, 02:35:15

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Woran kann's liegen, dass ich keine Antwort vom fhem bekomme, wenn ich es so
wie unten auf meinem lokalen WWW-Verzeichnis abfrage. Ich hab's sowohl mit
PERL, als auch mit PHP auf meinem Mac und auf der Synology versucht. Immer
mit demselben Ergebnis: Bei Perl hängt das ganze bei 'sysread', bei PHP bei
'stream_get_contents'.

Also denke ich, dass ich da was grundsätzliches vergessen hab' - nur ich
find' nicht raus was!

Kann mir mal jemand auf die Sprünge helfen?

Danke

andy

----- PERL ----

#!/usr/bin/perl

use IO::Socket;

#my $addr = "127.0.0.1:8083";
my $addr = "192.168.61.33:8083";
my $cmd = "xmllist";

my $socket = IO::Socket::INET->new(PeerAddr => $addr);
if(!$socket ) {
  print ("Connection failed");
}
syswrite($socket , "$cmd; quit\n");
my ($result, $tempbuffer) = ("", "");
while(sysread($socket , $tempbuffer, 2048) > 0) {
  $result .= $tempbuffer;
}
close($socket );
print "Done";

----- PHP ----

    $addr = "192.168.61.33:8083";
    $stream = stream_socket_client("tcp://$addr", $errno, $errstr, 30);
    if (!$stream ) {
        echo "$errstr ($errno)\n";
    } else {
            fwrite($stream , "$cmd\n;quit\n");
            //fwrite($stream , "set Steckdose1 on\n;");  <-- geht nicht...
            $result= stream_get_contents($stream );
            fclose($stream );
    }
?>




--
You received this message because you are subscribed to the Google Groups "FHEM users" group.
To post to this group, send email to fhem-users@googlegroups.com.
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en.

Guest

Originally posted by: <email address deleted>

OK - ich hab' das Ganze mal lokal probiert und da geht's natürlich....

Damit hat sich diese Sache erledigt... ;-/

Allerdings wäre es m.E. eine kurze Anmerkung wert, dass fhem zunächst mal
nur lokal zuhört. Das man in das 'global' Device was reinschreiben muss,
hab' ich quasi nur aus Verzweiflung gefunden - Leider hab' ich aber noch
nicht herausbekommen WAS der 'second value "global"' ist....

help....

a.


On 07.01.10 02:35, "Andy Fuchs" wrote:

> Woran kann's liegen, dass ich keine Antwort vom fhem bekomme, wenn ich es so
> wie unten auf meinem lokalen WWW-Verzeichnis abfrage. Ich hab's sowohl mit
> PERL, als auch mit PHP auf meinem Mac und auf der Synology versucht. Immer mit
> demselben Ergebnis: Bei Perl hängt das ganze bei 'sysread', bei PHP bei
> 'stream_get_contents'.
>
> Also denke ich, dass ich da was grundsätzliches vergessen hab' - nur ich find'
> nicht raus was!
>
> Kann mir mal jemand auf die Sprünge helfen?
>
> Danke
>
> andy
>
> ----- PERL ----
>
> #!/usr/bin/perl
>
> use IO::Socket;
>
> #my $addr = "127.0.0.1:8083";
> my $addr = "192.168.61.33:8083";
> my $cmd = "xmllist";
>
> my $socket = IO::Socket::INET->new(PeerAddr => $addr);
> if(!$socket ) {
>   print ("Connection failed");
> }
> syswrite($socket , "$cmd; quit\n");
> my ($result, $tempbuffer) = ("", "");
> while(sysread($socket , $tempbuffer, 2048) > 0) {
>   $result .= $tempbuffer;
> }
> close($socket );
> print "Done";
>
> ----- PHP ----
>
> >     $addr = "192.168.61.33:8083";
>     $stream = stream_socket_client("tcp://$addr", $errno, $errstr, 30);
>     if (!$stream ) {
>         echo "$errstr ($errno)\n";
>     } else {
>             fwrite($stream , "$cmd\n;quit\n");
>             //fwrite($stream , "set Steckdose1 on\n;");  <-- geht nicht...
>             $result= stream_get_contents($stream );
>             fclose($stream );
>     }
> ?>
>



--
You received this message because you are subscribed to the Google Groups "FHEM users" group.
To post to this group, send email to fhem-users@googlegroups.com.
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en.

Guest

Originally posted by: <email address deleted>

On 7 Jan., 02:35, Andy Fuchs wrote:
> ----- PHP ----
>
> >     $addr = "192.168.61.33:8083";
>     $stream = stream_socket_client("tcp://$addr", $errno, $errstr, 30);
>     if (!$stream ) {
>         echo "$errstr ($errno)\n";
>     } else {
>             fwrite($stream , "$cmd\n;quit\n");
>             //fwrite($stream , "set Steckdose1 on\n;");  <-- geht nicht...
>             $result= stream_get_contents($stream );
>             fclose($stream );
>     }
> ?>

So eine Fehlerabfrage hat was ;-) ==>pgm3/index.php

       $fp = stream_socket_client("tcp://$fhem:$fhemport", $errno,
$errstr, 30);
        if (!$fp) {
           echo "$errstr ($errno)\n";
        } else {
           fwrite($fp, "xmllist\r\n;quit\r\n");
           while (!feof($fp)) {
               $outputvar = fgets($fp, 1024);
                array_push($output,$outputvar);
           }
           fclose($fp);
        }

In $errno wuerden dann bei dir sowas wie "connection refused" stehen.

In die fhem.cfg muss dann
atr port 7072 global <== zweite Option

Martin

--
You received this message because you are subscribed to the Google Groups "FHEM users" group.
To post to this group, send email to fhem-users@googlegroups.com.
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en.

Guest

Originally posted by: <email address deleted>

Dein $errno war ja gesetzt. Merkwuerdig, dass da keine Fehlermeldung
kam.

==> attr global port 7072 global

--
You received this message because you are subscribed to the Google Groups "FHEM users" group.
To post to this group, send email to fhem-users@googlegroups.com.
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en.