Befehle "direkt" an fhem

9,270 views
Skip to first unread message

UliM

unread,
Jun 19, 2011, 5:32:33 AM6/19/11
to FHEM users
Hallo,
gibt es eine Moeglichkeit, Befehle ueber den browser direkt an fhem zu
senden, ohne fhemweb zu nutzen?
also sowas wie fritz.box:7072 "set lampe toggle"

hintergrund: Ich möchte eine einfaches eigenes nicht-dynamisches
frontend haben, den Wohungsgrundriss als Hintergrundbild, an zu
bestimmenden Stellen Schalter platziert.
Bild + Platzierung sind kein Problem, aber wie sende ich die
Schaltbefehle an fhem?

Habe zB aus dem webfrontend den link eines 'on'-Befehls kopiert,
Schalten funktioniert, allerdings erscheint danach logischerweise das
fhem-webforntend, statt meines Bildes :-)

Gibt's da ne einfache Moeglichkeit?

Gruss, Uli

Arne Lochter

unread,
Jun 19, 2011, 5:45:05 AM6/19/11
to fhem-...@googlegroups.com
Moin,

versuch mal, eigene Seiten in PHP zu erstellen. Hier ist es möglich, Bilder mit entsprechenden "exec" bzw. "system" Aufrufen zu versehen.
Z.B. system("IP_der_FB\:7072 \"set lampe toggle\"");
(die Backslashes sind nötig, um die Sonderzeichen zu maskieren)

Probier das doch mal.

Wie man einfach PHP-Seiten erstellt, findest Du hier: http://www.php-kurs.com/downloads.php

Gruss,
Arne

> --
> To unsubscribe from this group, send email to
> fhem-users+...@googlegroups.com

UliM

unread,
Jun 19, 2011, 6:30:18 AM6/19/11
to FHEM users
Hi,
laeuft denn auf der Fritzbox ein Apache? Falls ja, wie sprech ich den
an, in welchem Verzeichnis muesste ich meine .php ablegen, mit welchem
Port ansprechen? Mit Port 80 lande ich auf der FB-Konfig-Seite.

Wenn ich den Apache auf nem anderen Rechner laufen lasse, habe ich ja
nach wie vor dasselbe Problem:
Wie bringe ich fhem dazu, einen Befehl auszufuehren, ohne diesen in
das webfrontend einzutippen (oder zu klicken)?

Gibt es dazu keine Moeglichkeit? (das o.g. Beispiel war, was ich mir
wuensche, nicht, was bereits funktioniert!)

=8-)

Arne Lochter

unread,
Jun 19, 2011, 6:36:05 AM6/19/11
to fhem-...@googlegroups.com
wenn da ein apache läuft, muss es das verzeichnis "/var/www" geben. hier muss dann alles rein.
ich habe keine fb mit fhem am laufen, daher nur ganz allgemein diese aussage.

UliM

unread,
Jun 20, 2011, 5:55:09 PM6/20/11
to FHEM users
Hi,
scheinbar kein Apache auf der FB7390.
Weiss jemand, wie man von einem anderen Rechner Befehle an fhem senden
kann, ohne das webfrontend zu nutzen?
Gruss, Uli

tobias.faust

unread,
Jul 3, 2011, 2:09:18 AM7/3/11
to FHEM users

Hi,
> Z.B. system("IP_der_FB\:7072 \"set lampe toggle\"");
Dass selbe sollte auch über eine Telnetsession funktionieren.

ansonsten ist es egal auf welchem rechner der Webserver mit PHP
läuft.
Über FReetz kann man auf der Freitzbox einen Apache auch mit PHP
aufsetzen

UliM

unread,
Jul 3, 2011, 3:36:24 PM7/3/11
to FHEM users

Hi,
habe von Boris eine Lösung erhalten - ohne Apache, ganz mit
'Bordmitteln'.
Ich kann nun 'Buttons' auf einem Hintergrundbild (zB Grundriss)
platzieren und darüber fhem-devices schalten.
Ansprechen der devices funktioniert über den aus dem fhem-webfrontend
kopierten URLs hinter den on- bzw off-'buttons'.
Sobald ich etwas Zeit hab, stell ich's in Wiki und poste dann auch den
link in diesen Fred.
Grüßle, Uli

UliM

unread,
Jul 3, 2011, 6:06:21 PM7/3/11
to FHEM users
Hi,
da isser:
http://fhemwiki.de/index.php/Grundriss_mit_fhem-buttons
Konstruktives feedback willkommen.
Gruß, Uli

Rudolf Koenig

unread,
Jul 4, 2011, 1:54:48 AM7/4/11
to fhem-...@googlegroups.com
> Konstruktives feedback willkommen.

fhemweb liefert beliebige html Dateien aus dem FHEM Verzeichnis mit dem Aufruf
http://<ip>/fhem/<datei>.html aus, man braucht keinen extra Webserver.

Statt ON und OFF kann man wahlweise auch toggle nehmen.

Ich habe eine Weile gebraucht, bis ich das Prinzip verstanden habe. Ich meine
jetzt zu verstehen, dass die Erstellung eine Word Funktion ausnutzt, eine Datei
als HTML speichern zu koennen, wobei man an beliebigen Stellen HyperLinks
hinterlegen kann. Wenn die Links z.Bsp ueber fhemweb ein Schalter betaetigen,
dann hat man ein Bild mit fhem-aktivierten Schaltflaechen.

Die nicht vollstaendigen HTML "Zitate" verwirren mich, weil ich erst gedacht
hatte, dass man die Datei auch mit einem beliebigen Editor erstellen koennte.
Dafuer fehlen aber die Positionsangaben der Schalter.

Koenntest Du bitte eine komplette HTML Datei (ohne Bild) als Beispiel
einfuegen?

UliM

unread,
Jul 4, 2011, 2:52:11 AM7/4/11
to FHEM users
Hallo Rudi,

On 4 Jul., 07:54, Rudolf Koenig <inf...@koeniglich.de> wrote:

> fhemweb liefert beliebige html Dateien aus dem FHEM Verzeichnis mit dem Aufruf
> http://<ip>/fhem/<datei>.html aus, man braucht keinen extra Webserver.
Ah, sehr gut! Werd ich het abend probieren.

Natürlich wäre es am schönsten, wenn man jedem device über Attribute
den screen/die screens mitgeben könnte, auf denen er dargestellt
werden soll incl. der jeweiligen x- und y-Koordinaten - dafür müsste
man aber fhemweb.pm erheblich aufbohren, oder? Genau da habe ich mich
nicht rangetraut - drum dieser 'Workaround'.

>
> Statt ON und OFF kann man wahlweise auch toggle nehmen.
Jepp, es müsste jeglicher fhem-Befehl gehen.

> Ich habe eine Weile gebraucht, bis ich das Prinzip verstanden habe. Ich meine
> jetzt zu verstehen, dass die Erstellung eine Word Funktion ausnutzt, eine Datei
> als HTML speichern zu koennen, wobei man an beliebigen Stellen HyperLinks
> hinterlegen kann.
Genau.

> Wenn die Links z.Bsp ueber fhemweb ein Schalter betaetigen,
> dann hat man ein Bild mit fhem-aktivierten Schaltflaechen.
Genau. Man steigt bereits auf dem eigenen Bild mit den Schaltflächen
ein. Würde man die Umleitung der fhemweb-Ausgaben in das separate
(unsichtbare) Fenster nicht platzieren, würde man nach Klick auf eine
Schaltfläche direkt auf fhemweb landen - ist die 'Umleitung'
platziert, bleibt man aber auf der Grundriss.html

> Die nicht vollstaendigen HTML "Zitate" verwirren mich, weil ich erst gedacht
> hatte, dass man die Datei auch mit einem beliebigen Editor erstellen koennte.
> Dafuer fehlen aber die Positionsangaben der Schalter.
>
> Koenntest Du bitte eine komplette HTML Datei (ohne Bild) als Beispiel
> einfuegen?
Die von Word erzeugte Grundriss.html sieht aus wie Kraut und Rüben -
Funktioniert aber :-)
Werd diese html heut abend mal analysieren und schauen, dass ich das
Beispiel auf die relevanten Zeilen eindampfe, um v.a. die Methodik der
Bildschirmpositionierung rauszustellen.

Vorab schonmal
Link auf das fertige Bild
www.ulimaass.de/fhem/Grundriss-Uli.JPG
Hinter den buttons '@Home, Sleep' etc liegen trigger für fhem-Makros,
z.B. bei 'Sleep' schalte ich gleichzeitig WLAN aus, alle Lampen ausser
Schlafzimmer aus, Media runterfahren etc
Hinter dem button 'Media' liegt ein Link auf eine weitere html-Seite,
auf der ich als Hintergrundbild meine Stereoanlge platzieren und
darauf fhem-buttons zum Steuern des FS20-Infrarotsenders platzieren
möchte - also eine grafische Fernbedienung. Will ich im Lauf dieser
Woche machen.
Über das fhem-Logo unten links komme ich auf das reguläre fhemweb.

Link auf die zugehörige Original-Word-Ausgabe
www.ulimaass.de/fhem/Grundriss.htm
Darin findet sich z.B. <a href="http://fritz.box:8083/fhem?
cmd.wz_LampeKlein=set%20wz_LampeKlein%20on&amp;room=Wohnzimmer"
target="log">

Heute abend mehr.
Gruß, Uli

tobias.faust

unread,
Jul 4, 2011, 3:01:04 AM7/4/11
to FHEM users
Ich denke mal Uli meint soetwas, oder??

http://izzy.rehbergs.info/scratchpad/text/ha/fhzctrl.png

Warum kann man in dem HTML keine Zustandsinformationen ausgeben?
zb. das folgender aufruf anstatt einer Webseite ein zu definierendes
Bild zurückgibt:
http://IP_der_FB:8083/fhem/get_image.pl?name=lampe

Vieleicht ein Feature von FHEM 5.5 ...

UliM

unread,
Jul 4, 2011, 3:07:54 AM7/4/11
to FHEM users
Hi,
jepp, genau wie in Deinem Bild :-)

Hier nochmal die korrigierten links zu meinem post oben:
http://www.ulimaass.de/fhem/Grundriss-Uli.JPG
http://www.ulimaass.de/fhem/Grundriss.txt (selber inhalt wie
Grundriss.htm)
http://www.ulimaass.de/fhem/Grundriss.htm

So long,
Uli

Rudolf Koenig

unread,
Jul 4, 2011, 3:15:14 AM7/4/11
to fhem-...@googlegroups.com
> http://www.ulimaass.de/fhem/Grundriss.htm

Der ist wirklich Kraut mit Rueben :) und nicht so recht fuer den einfachen
Editor. Wenn ich es recht sehe, hat es mit frames auch nichts zu tun, die
Rechtecke werden direkt positioniert. Ich habe nichts dagegen sich auf Word
oder sonstwas zu beschraenken, man sollte es nur deutlich sagen.

UliM

unread,
Jul 4, 2011, 2:48:55 AM7/4/11
to FHEM users
Hallo Rudi,

On 4 Jul., 07:54, Rudolf Koenig <inf...@koeniglich.de> wrote:

> fhemweb liefert beliebige html Dateien aus dem FHEM Verzeichnis mit dem Aufruf
> http://<ip>/fhem/<datei>.html aus, man braucht keinen extra Webserver.
Natürlich wäre es am schönsten, wenn man jedem device über Attribute
den screen/die screens mitgeben könnte, auf denen er dargestellt
werden soll incl. der jeweiligen x- und y-Koordinaten - dafür müsste
man aber fhemweb.pm erheblich aufbohren, oder? Genau da habe ich mich
nicht rangetraut - drum dieser 'Workaround'.

>
> Statt ON und OFF kann man wahlweise auch toggle nehmen.
Jepp, es müsste jeglicher fhem-Befehl gehen.

> Ich habe eine Weile gebraucht, bis ich das Prinzip verstanden habe. Ich meine
> jetzt zu verstehen, dass die Erstellung eine Word Funktion ausnutzt, eine Datei
> als HTML speichern zu koennen, wobei man an beliebigen Stellen HyperLinks
> hinterlegen kann.
Genau.

> Wenn die Links z.Bsp ueber fhemweb ein Schalter betaetigen,
> dann hat man ein Bild mit fhem-aktivierten Schaltflaechen.
Genau. Man steigt bereits auf dem eigenen Bild mit den Schaltflächen
ein. Würde man die Umleitung der fhemweb-Ausgaben in das separate
(unsichtbare) Fenster nicht platzieren, würde man nach Klick auf eine
Schaltfläche direkt auf fhemweb landen - ist die 'Umleitung'
platziert, bleibt man aber auf der Grundriss.html

> Die nicht vollstaendigen HTML "Zitate" verwirren mich, weil ich erst gedacht
> hatte, dass man die Datei auch mit einem beliebigen Editor erstellen koennte.
> Dafuer fehlen aber die Positionsangaben der Schalter.
>
> Koenntest Du bitte eine komplette HTML Datei (ohne Bild) als Beispiel
> einfuegen?
Message has been deleted

Jörg71

unread,
Jul 4, 2011, 3:51:48 AM7/4/11
to FHEM users
On 4 Jul., 09:01, "tobias.faust" <tobias.fa...@gmx.net> wrote:

> Warum kann man in dem HTML keine Zustandsinformationen ausgeben?
> zb. das folgender aufruf anstatt einer Webseite ein zu definierendes
> Bild zurückgibt:http://IP_der_FB:8083/fhem/get_image.pl?name=lampe

Da fhemweb nicht nur beliebige html Dateien aus dem FHEM Verzeichnis
liefert, sondern auch gif/png Dateien, könnte folgendes fuktionieren:
define Lichton notify Licht.*on "cp /var/usr/fhem/FHEM/FS20.on.gif
Licht.gif"
define Lichtoff notify Licht.*off "cp /var/usr/fhem/FHEM/FS20.on.gif
Licht.gif"
Es wird also je nach Zustand das passende Bild auf Licht.gif kopiert.

Bei mir klappt es allerdings so nicht, weil meine Box (Speedport W920V
neuerdings mit aktueller Firmware der FB7570 (mit der sie komplett
baugleich ist)) mir für "cp" immer nur "Permission denied"
zurückgibt... Aber das ist ein spezielles FB-Problem.

Tschüs,

Jörg

marte

unread,
Jul 4, 2011, 4:17:05 AM7/4/11
to fhem-...@googlegroups.com
Moin,

ich HOFFE, dass Shellbefehle von dem fhemweb.pl-Script sauber abgefangen
werden - aus Sicherheitssicht w�re alles andere eine Katastrophe (wer
will schon, das jeder aus dem Internet mittels "cp" eingegangene Anrufe
abh�ren oder das Telefonbuch auslesen kann?)!
Rudi, kannst Du dazu was sagen?

Versch�rft wird das ganze dadurch, dass fhem - zumindest bei uns
FritzBox-Nutzern - bei den meisten als "root" laufen d�rfte.
Letztendlich w�re, wenn ein Aufruf von Shellbefehlen mittels Interface
m�glich w�re, auch eine Formatierung der Fritzbox oder ein Zugriff auf
das interne Netzwerk m�glich. Und ob das "interne" WLAN in jedem Fall
als sicher gelten kann? Ich muss z.B. auf Grund einiger �lterer Ger�te
noch WPA1 einsetzen - und trotz MAC-Filter f�nde ich es nicht sch�n,
wenn fhem da so ein Sicherheitsloch aufreissen w�rde...

Gru�

marte

Am 04.07.2011 09:51, schrieb J�rg71:
> On 4 Jul., 09:01, "tobias.faust"<tobias.fa...@gmx.net> wrote:
>
>> Warum kann man in dem HTML keine Zustandsinformationen ausgeben?
>> zb. das folgender aufruf anstatt einer Webseite ein zu definierendes

>> Bild zur�ckgibt:http://IP_der_FB:8083/fhem/get_image.pl?name=lampe


>
> Da fhemweb nicht nur beliebige html Dateien aus dem FHEM Verzeichnis

> liefert, sondern auch gif/png Dateien, k�nnte folgendes fuktionieren:


> define Lichton notify Licht.*on "cp /var/usr/fhem/FHEM/FS20.on.gif
> Licht.gif"
> define Lichtoff notify Licht.*off "cp /var/usr/fhem/FHEM/FS20.on.gif
> Licht.gif"
> Es wird also je nach Zustand das passende Bild auf Licht.gif kopiert.
>
> Bei mir klappt es allerdings so nicht, weil meine Box (Speedport W920V
> neuerdings mit aktueller Firmware der FB7570 (mit der sie komplett

> baugleich ist)) mir f�r "cp" immer nur "Permission denied"
> zur�ckgibt... Aber das ist ein spezielles FB-Problem.
>
> Tsch�s,
>
> J�rg
>

Sacha Gloor

unread,
Jul 4, 2011, 4:40:02 AM7/4/11
to fhem-...@googlegroups.com
Hallo Marte,

Die Shellbefehle werden im Configfile als "notify" Event hinterlegt und
nicht �ber
das Webinterface beliebig aufgerufen.

Somit bestimmst Du, was ausgef�hrt werden soll, wenn im Webinterface
oder auch mittels eines Senders/Schalters ein Event ausgel�st wird.

Gruss
Sacha

marte

unread,
Jul 4, 2011, 4:41:02 AM7/4/11
to fhem-...@googlegroups.com
na, das klingt doch gut. Danke f�r die Info! :-)

Gru�

marte

Rudolf Koenig

unread,
Jul 4, 2011, 5:28:26 AM7/4/11
to fhem-...@googlegroups.com
> Rudi, kannst Du dazu was sagen?

Im FHEMWEB kann man sowohl Shell-Skripte als auch perl Befehle trivial starten,
man gibt im Eingabefeld "Shellkommando" oder {Perl-code} ein. Fuer Zweifler:
mit perl kann man mindestens so viel Unheil anrichten, wie mit Shellprogrammen.

Wer um die Sicherheit besorgt ist und trotzdem fhem verwenden will, der hat 2
Optionen:
1. das Intranet zu eine sichere Zone deklarieren (WPA usw), fhem vom internet
nicht erreichbar machen.
2. Fhem abschotten:
- statt
"attr global serverport 7072 global"
nur
"attr global serverport 7072"
verwenden. Damit funktioniert eine telnet Verbindung nur vom lokalen
Rechner, und der muss wiederum "sicher" gemacht werden.
- in fhemweb basicAuth mit HTTPS verwenden (HTTPS wird aber auf dem FB
mangels Module/Bibliotheken im Moment nicht funktionieren)

Es geht natuerlich auch die Kombination: Intranet ist sicher (telnet und eine
"offene" FHEMWEB Instanz sind verfuegbar), und vom Internet ist eine weitere,
mit basicAuth/HTTPS abgesicherte FHEMWEB Instanz erreichbar.

Sicherheit war (wahrscheinlich) der Grund, warum AVM die CHROOT Loesung
gewaehlt hatte. Dass man damit vieles nicht machen kann (mail versenden, wlan
abschalten, etc), ist eine Folge der Restriktion. Man kann aber auch in einem
CHROOT Umgebung alle FHEM-Geraete steuern. Was mehr schaden ausrichten kann,
darf jeder fuer sich selber ueberlegen. Und da war noch die Sache mit dem nicht
gesicherten FS20 etc. Und wer glaubt, dass HM besser ist, der moege die
Einleitung bei http://fhem.de/commandref.html#CUL_HM lesen.

Apropos Shell-Befehle: Da die Ausgabe der Shell-Skripte neuerdings im fhem-Log
landet (und frueher in /dev/null), sollte man im Frontend folgenden Syntax
verwenden:
{ `ps` }
Statt ps kann man natuerlich beliebige andere Kommandos verwenden, solange sie
nicht aktiven Gebrauch vom Terminal machen (wie vi, more, less)

Rudolf Koenig

unread,
Jul 4, 2011, 6:01:26 AM7/4/11
to fhem-...@googlegroups.com
> Was h�lst Du grunds�tzlich von der Idee?

Die Idee grundsaetzlich ist alt :), wir haben es frueher als "read-only"
bezeichnet, und schalten war auch nicht vorgesehen. Im Moment glaube ich aber
nicht es mit wenig Aufwand (sprich ohne kompletten Umbau) so sicher loesen zu
koennen, dass es keine Schluepfloecher gibt.
Und ich will dem Benutzer nicht eine Sicherheit vorgaukeln.

marte

unread,
Jul 4, 2011, 5:41:09 AM7/4/11
to fhem-...@googlegroups.com
Hallo Rudi,

danke f�r die ausf�hrliche Antwort. "{ `ps` }" geht erschreckenderweise
wirklich. Ist der "direkte" Shellzugriff f�r das Webinterface notwendig?
Ich �berlege gerade, ob nicht die Einf�hrung einer Art "safe-mode" f�r
fhemweb sinnvoll w�re; so k�nnte z.B. wenn aktiviert
- der direkte Zugriff via Webinterface auf die Shell und Perl gesperrt,
- die Definition neuer notifies / Scripte etc. unterbunden (sonst w�re
erstes irgendwie sinnfrei),
- die �nderung bestehender notifies / Scripte gesperrt,
- die �nderung des safe-modes unterbunden werden.

Ich stelle mir das so vor, dass fhemweb wie jetzt ganz normal nutzbar
ist, man dann irgendwann z.B. ein "attr global safe_mode 1" setzt und
das System danach wie oben reagiert. R�cksetzbar k�nnte der safe-mode ja
weiterhin via telnet auf Port 7072 sein...

Was h�lst Du grunds�tzlich von der Idee?

Gru�

marte

UliM

unread,
Jul 4, 2011, 6:14:56 AM7/4/11
to FHEM users
Hi,
Die frames liegen um diese Grundriss.htm herum (definiert durch
GrundrissStart.html)

Derjenige, der weiss, wie man die Links/buttons mit Angabe der
Koordinaten mit eigenem Script über das Hintergrundbild legt, kann das
ja so tun.
Ich weiss es nicht - drum nehm ich Word ;-)

Wie gesagt, schaue mal, ob ich heut abend die Methode zur
Bildschirmpositionierung rauslesen kann. Du hast scheinbar den
relevanten Punkt schon gefunden - welches Tag hast Du in Verdacht?

Gruß, Uli

tobias.faust

unread,
Jul 4, 2011, 7:27:30 AM7/4/11
to FHEM users
@UliM, prüfst du folgendes auch? Dann hast du ja eine Zustandsanzeige
auf deinem Grundriss. Es ist immer schöner auch eine Rückmeldung zu
bekommen. ;)

Mark

unread,
Jul 4, 2011, 9:50:13 AM7/4/11
to FHEM users
Hallo zusammen,

als Anregung, ich schreibe mit Hilfe von imagemagick (convert) einige
Daten direkt in die Hintergrundbilddatei.
Zum Schalten bin ich noch nicht gekommen.

Gruß Mark

+*00:02:00 {
my ($val,$ena,$enc,$tank,$tfa,$tfsz,$tfbad,$tfwz,$tfburo,$tfwk,$tfhar,
$date);
$val = fhem "getstate EN_Haus";
$ena = (substr ($val, index($val,"current:")+8, 4)*1000);
$enc = substr ($val, index($val,"total:")+6, 7);
$date = localtime(time);
$tank = fhem "getstate Tankinhalt";
$tank =~ s/state://;
$tfa = fhem "getstate TF_Aussen";
$tfsz = fhem "getstate TF_Schlafzimmer";
$tfbad = fhem "getstate TF_Bad";
$tfwz = fhem "getstate TF_Wohnzimmer";
$tfburo = fhem "getstate TF_Buro";
$tfwk = fhem "getstate TF_Waschkueche";
$tfhar = fhem "getstate TF_HAR";
{ system("convert c:\\fhem-5.0\\Grundriss1920x980.jpg
-pointsize 23 -draw \"text 1215,245 \'$tank'\"\
-pointsize 21 -draw \"text 470,40 \'$tfa'\"\
-pointsize 19 -draw \"text 80,830 \'$tfsz'\"\
-pointsize 16 -draw \"text 300,180 \'$tfbad'\"\
-pointsize 19 -draw \"text 550,250 \'$tfwz'\"\
-pointsize 19 -draw \"text 970,180 \'$tfburo'\"\
-pointsize 16 -draw \"text 945,550 \'$tfwk'\"\
-pointsize 19 -draw \"text 970,755 \'$tfhar'\"\
-pointsize 19 -draw \"text 970,780 \'$enc kWh'\"\
-pointsize 19 -draw \"text 970,805 \'$ena Watt'\"\
-pointsize 19 -draw \"text 1110,900 \'$date'\"\
g:\\www\\haus.jpg")};
}

UliM

unread,
Jul 4, 2011, 6:13:18 PM7/4/11
to FHEM users
Hi,
sooo viele Posts :-)

> als Anregung, ich schreibe mit Hilfe von imagemagick (convert) einige
> Daten direkt in die Hintergrundbilddatei.
> Zum Schalten bin ich noch nicht gekommen.
@Mark:
Ui, das sieht klasse aus. Und das verwendest Du als
Bildschirmhintergrund bzw sendest es an einen Bilderrahmen?
Hab'Äs noch nicht ausprobiert - ist imagemagick (convert) bereits in
perl enthalten? Oder wo kriegt man's her?

> fhemweb liefert beliebige html Dateien aus dem FHEM Verzeichnis mit dem Aufruf
> http://<ip>/fhem/<datei>.html aus, man braucht keinen extra Webserver.
@Rudi:
Hab's leider nicht hnbekommen. Habe die Dateien nach fhem/../FHEM
verschoben. Dann Aufruf probiert mit
http://fritz.box/fhem/GrundrissStart.html und
http://fritz.box:8083/fhem/GrundrissStart.html
Habe leider nur ein 'Not found' zurückbekommen.
Muss man irgendwas refreshen bevor das geht?

>UliM, prüfst du folgendes auch?
@tobias: Finde Deinen Vorschlag sehr einleuchtend, wenn allerdings das
cp nicht funktioniert, braucht's einen anderen Weg. und selbst wenn's
funktionieren würde, müsste man ein refresh einbauen.
>Es ist immer schöner auch eine Rückmeldung zu bekommen
Hiermit geschehen ;-) Auch auf dem Bild, klar. Ich hab nur ne Wohnung
und schalte eigentlich nicht, wenn ich Esszimmer sitze, das
Wohnzimmerlicht an und aus. D.h. ich persönlich brauche das auf dem
Grundriss nicht.
Wenn man's machen wollte, hätte ich wieder nur die Lösung in Word: Die
o.g. kopierte Datei beim 'Einfügen als Grafik' mit dem Häkchen
'Verlinken' versehen - damit müssten Änderungen in der Quelldatei
übernommen werden. Ob dieser Aspekt auch in die erzeugte html
übernommen wird, weiss ich leider nicht.
Vll gibt's ja zu dem, was Mark oben gepostet hat, neben der Version /
text/ auch die Version /image/ - dann könnte man die Glühlämpchen
dynamisch mit ins Hintergrundbild bauen. Vll hab ich nächstes WE Zeit
da mal rumzuprobieren. Vll will ja auch jemand anderes :-)

@all
Bin mit Google recht schnell fündig geworden, wie die Positionierung
funktioniert, siehe hier:
http://de.selfhtml.org/css/eigenschaften/positionierung.htm
Da gibt's ein sehr schönes Beispiel. Die Varianten a4/a5 scheinen die
relevanten zu sein.

So weit bin ich nach 2h rumprobieren gekommen:

--Grundriss.html--

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>Grundriss</title>
<style type="text/css">
body { margin:0; padding:0; height:1500px; }
div { border:1px solid #888; }
#a4 { position:absolute; top:50px; left:20px; width:100px; height:
70px;
z-index:1; background-color:#ff5; }
#a5 { position:absolute; top:100px; left:90px; width:100px; height:
70px;
z-index:2; background-color:#dd2; }
</style>
</head>
<body>
<p>Beispiel</p>
<div id="a4">Testbox</div>
<div id="a5"><a href="http://fritz.box:8083/fhem?cmd.wz_Licht=set
%20wz_Licht%20on&amp;room=Wohnzimmer" target=log">WZ-Licht an</div>
</div>
</body>
</html>


--/Grundriss.html--

Was noch fehlt:
- 'Durchsichtigmachen' der Boxen
- Dahintersetzen des Hintergrundbilds - obwohl, eigentlich nur ein
grosser Kasten mit dem niedrigsten z-index (das ist die
Stapelreihenfolge) und dem Bild drin?
Vll kann das ja jemand anderes beisteuern.

Jetzt geh ich aber erstmal ins Bett.
Sobald wir dieses Beispiel komplett kriegen, aktualisier ich das Wiki.

Grüßle,
Uli

Mark

unread,
Jul 5, 2011, 3:08:11 AM7/5/11
to FHEM users
Moin.
> Ui, das sieht klasse aus. Und das verwendest Du als
> Bildschirmhintergrund bzw sendest es an einen Bilderrahmen?
Ich habe das in eine html Datei gepackt und nutze das bei mir als
Desktophintergrund,
der alle 5 Minuten aktualisiert wird.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<META HTTP-EQUIV="refresh" CONTENT="300"; URL=http://meineWebseite/
haus.html">
<title>Visualisierung Beta</title>
</head>
<body>

<center><img src="haus.jpg" alt="Haus"></center>
</body>
</html>


> Hab'Äs noch nicht ausprobiert - ist imagemagick (convert)  bereits in
> perl enthalten? Oder wo kriegt man's her?
Für mein Windows musste ich folgende Binaries installieren und die
convert.exe
zusätzlich in mein FHEM Verzeichnis kopieren.
http://www.imagemagick.org/script/binary-releases.php
ImageMagick-6.7.0-8-Q16-windows-dll.exe

Thema Grundriss:
Zur Erstellung des Grundriss kann ich Sweet Home 3D empfehlen.
In der Software kann ein gescannter Grundriss als Vorlage
in den Hintergrund gelegt werden, so dass man "nur" nachzeichnen muss.
http://www.sweethome3d.com/de/
Sweet Home 3D läuft auf Windows, Mac OS X 10.4 / 10.6, Linux und
Solaris.

Gruß Mark

Rudolf Koenig

unread,
Jul 5, 2011, 3:12:41 AM7/5/11
to fhem-...@googlegroups.com
> @Rudi:
> Hab's leider nicht hnbekommen.

Ich habe fhem/doc/linux.html nach /var/InternerSpeicher/fhem/FHEM/linux.html
kopiert, und dann http://<fb-ip>:8083/fhem/linux.html aufgerufen: es
funktioniert. Vorher war linux.html nicht da und es wurde mir eine leere Seite
zurueckgeliefert.
-> Ich behaupte es funktioniert.

UliM

unread,
Jul 9, 2011, 5:02:32 AM7/9/11
to FHEM users
Hi,
es gibt von einem anderen Autor eine augenscheinlich bessere/
flexiblere Version, daher erstmal weiter dort:
http://groups.google.com/group/fhem-users/t/ac63b9c519f1e0b
Gruß, Uli

ha...@nendzig.net

unread,
Jul 9, 2011, 10:40:47 AM7/9/11
to FHEM users
Danke für die Blumen :-)
Hätte ich vorher die Suchfunktion genutzt, hätte ich meinen Ansatz
auch gleich hier posten können. Die Idee dazu ist eigentlich bei einer
lockeren Plauderei im Büro entstanden, da kannte ich fhem erst
ansatzweise - ein Kollege wollte seine X10-Installationen fernsteuern,
dem habe ich von fhem erzählt, das ich vom Hörensagen kannte. Bei der
darauffolgenden Google-Orgie und der Testinstallation auf einer Linux-
Box auf Geode-Basis (vielleicht auch für andere interessant:
http://shop.varia-store.com/product_info.php?info=p806_PC-Engines-ALIX-3D3--Bundle--Board--Netzteil--4GB-CF--Gehaeuse-.html
, weil ich hier immer wieder lese, daß die Fritzbox gewisse
einschränkungen hat: Auf den Kisterln für 135 Euro kann man ein
vollwertiges z.B. Debian-Lenny-Linux installieren, inkl. Apache2,
PHP5, OpenSSL, sogar X läuft brav) kamen dann Ideen zur Visualisierung
auf, vor allem für Touch-Devices ala iPad optimiert.
Wobei ich in der letzten Version JavaScript benötige, weiß jemand, ob
das auf iPad funktioniert?

Maz

unread,
Jul 9, 2011, 12:39:33 PM7/9/11
to FHEM users


> Auf den Kisterln für 135 Euro kann man ein
> vollwertiges z.B. Debian-Lenny-Linux installieren, inkl. Apache2,
> PHP5, OpenSSL, sogar X läuft brav) kamen dann Ideen zur Visualisierung
> auf, vor allem für Touch-Devices ala iPad optimiert.

dazu kann man auch die TuxRails von busware.de prima nutzen:

http://busware.de/tiki-index.php?page=TuxRail

und das fast zum halben Preise.

> Wobei ich in der letzten Version JavaScript benötige, weiß jemand, ob
> das auf iPad funktioniert?

Das Beispiel von Deinem Post läuft prima auf dem iPad2. Aber es ist
ein wenig nervig, dass jedesmal nach einem Klick/Schalten das ganze
Bild sich langsam aufbaut... Vlt. liegt es ja auch an der längeren
Netzwerk-Strecke.

Cu
Maz

ha...@nendzig.net

unread,
Jul 9, 2011, 1:44:44 PM7/9/11
to fhem-...@googlegroups.com
Danke für den iPad-Test! Vielleicht hab ich dann irgendwann mal nen Grund, die Investition vom Haushaltsvorstand freigegeben zu bekommen :-)
 
Zum Aufbau: Das ist mir auch noch ein Dorn im Auge. Ich weiss noch nicht so genau, an was das liegt. Die Bildgröße und das Netzwerk könnens eigentlich nicht sein, ich seh dasselbe bei mir und bin mit meinem Server direkt per Kabel verbunden. Vielleicht die Statusabfragen per system() - Kommando? Muss mal mit Zeitausgaben experimentieren.....
 

ha...@nendzig.net

unread,
Jul 9, 2011, 2:00:21 PM7/9/11
to fhem-...@googlegroups.com
So, hab das grad mal ausprobiert.
Wenn ich die Statusabfragen weglasse, gehts Ratzfatz.
Die Statusabfrage der Symbole dauert ca. 1,5s....
Da werd ich noch was machen müssen, denk ich...
Momentan ruf ich für jedes Symbol eine system() auf, die dann z.B.:
fhem.pl 7072 "list Lampe1 status"
ausführt.
Vielleicht die Ausgabe von
fhem.pl 7072 "list"
parsen? hmmmm...

ha...@nendzig.net

unread,
Jul 9, 2011, 3:23:40 PM7/9/11
to fhem-...@googlegroups.com
Sodale.
Kannt nochmal versuchen?
Bei mir dauerts jetzt so ca. 0,2-0,3s bis zum Neuaufbau des Bildes.
Hab jetzt einmalig folgenden aufruf:
fhem.pl 7072 list | awk 'NF > 1 {print $1,$2,$3,$4,$5,$6}'
drin, dessen Rückgabe ich per
exec("daswasobensteht", $fhemlines);
in ein Array schreibe. Das wird dann zerpflückt und ergibt ein Array namens "$states" mit benannten Elementen, die Namen entsprechen jeweils den in fhem definierten.
Damit ist ein Auslesen über "$states['Lampe1']" möglich(z.B.)
 
Gruß
Hans

Maz

unread,
Jul 9, 2011, 4:59:30 PM7/9/11
to FHEM users
ok, sieht schneller aus.
Was hälst Du vom folgenden Ansatz:
- Grundriss wird als Bild im Browser geladen.
- Die Icons werden mit CSS-Layern geladen und positioniert.
- Die Aktualisierung der Icons wird über Ajax aufrufe erledigt und man
hat das gefühl, dass das Bild ruhig ist

ha...@nendzig.net

unread,
Jul 9, 2011, 6:18:37 PM7/9/11
to fhem-...@googlegroups.com
Das klingt eigentlich auch nicht übel.
Quasi so wie jetzt das Popup platziert wird, als <div> mit position:absolute, auch die Icons platzieren....
Ajax kenn ich halt ausser aus der Waschküche nicht wirklich. Das müsste wer anders mal durchspielen. Meine gedankliche Basis war halt die Imagemap, das wird heutzutage von soviel ich weiß jedem Browser unterstützt. Aber viele Wege führen nach Rom, meiner ist nur einer von vielen.
Du hast mir aber mit Ajax wieder einen bösen Floh ins Ohr gesetzt, blöd daß Montag mein Urlaub zu Ende ist :-)
Bin grad noch am experimentieren, das bg.png, das derzeit als File erzeugt wird, per base64 ins HTML einzubetten.... Als Grundlage für verschiedene Stockwerke, die gleichzeitig von verschiedenen Browsern aus angezeigt werden können...
Work in Progress :-)

Frank

unread,
Jul 10, 2011, 4:05:16 PM7/10/11
to FHEM users
Hallo !
Das ganze gefällt mir recht gut.
Könnte mir jemand verraten wie ich hier ggf. noch meine FHT's (z.B.
Raumtemperatur) noch auslesen könnte ?
Danke.
Gruss Frank

ha...@nendzig.net

unread,
Jul 10, 2011, 5:21:00 PM7/10/11
to fhem-...@googlegroups.com
Hallo Frank.
Dazu muss eine neue Symboltype eingeführt werden. Betroffen sind folgende Files:
index.php : In der Case-Anweisung muss für diese Type die Symbolerzeugung erweitert werden (Vergleich z.B. mit der Type "HT")
functions.php : Die Functionen GetState und SetState für diese Type müssen erstellt werden
script.js : Die Einträge für den Popup-Div müssen erweitert werden
symbols.php : Die FHTs müssen zum elements-Array zugefügt werden
 
Wenn Du mir nen Auszug des FHEM-Befehl "list" schickst (oder hier postest), kann ich das einbauen. Hab halt leider keins da zum testen.
Gruß
Hans

UliM

unread,
Jul 11, 2011, 3:11:28 AM7/11/11
to FHEM users

> Wenn Du mir nen Auszug des FHEM-Befehl "list" schickst (oder hier postest),
> kann ich das einbauen. Hab halt leider keins da zum testen.

Hi,
habe im fhem-Wiki bei FHT80b einen Log-Auszug hinzugefügt - hoffe das
ist es was Du benötigst :-)
Siehe
http://fhemwiki.de/index.php/FHT80b
Abschnitt 'Log-Auszug'.
Der hier relevante Wert dürfte
FHT <device-name> measured-temp:
sein.

Gruß + viel Erfolg,
Uli

ha...@nendzig.net

unread,
Jul 11, 2011, 12:37:52 PM7/11/11
to fhem-...@googlegroups.com
OK, Danke.
Hab mal versucht da was zu basteln.
Parse jetzt das Ergebnis des Befehls xmllist.
Hat das mal jemand versucht, per PHP einzulesen? Ich bin heut dran gescheitert, das ganze per
system("fhem.pl 7072 xmllist", $result);
in das Array $result zu speichern, Der ist mir immer nach den ersten paar Zeilen ausgestiegen.
Hab mir jetzt geholfen, indem ich
system("fhem.pl 7072 xmllist > fhem.xml");
ausführe, das erzeugt mit dann die Datei fhem.xml, die ich per SimpleXML wieder einlese und durcheiere...
Danke
Gruß
Hans

Frank

unread,
Jul 11, 2011, 4:02:47 PM7/11/11
to FHEM users
Hey Danke Hans !
Funktioniert für meine Zwecke perfekt. Und wenn ich mir die Änderungen
in ein paar stillen Stunden mal ansehe, verstehe ich vielleicht auch
die Systematik dahinter.
Ich muss schon sagen das ist fast traumhaft. Weniger als 24 Stunden
nach meinem Wunsch hab' ich schon die Lösung .....
Leider bekomme ich mein eigenes Hintergrundbild noch nicht
funktionsfähig, aber das kann ja nicht mehr die Welt sein.

Gruss
Frank
PS: Besten Dank auch an Uli für die 'List'-Daten usw.

tobias.faust

unread,
Jul 12, 2011, 1:55:46 AM7/12/11
to FHEM users
Hi UliM,

verfolgst du den Ansatz einer reinen HTML-Seite nicht weiter? Ich lese
hier interessiert mit weil ich auf der Fritzbox ebenfalls so eine Art
Grundriss erstellen möchte. Nur habe ich auf der Fritzbox nur einen
Apache, ohne PHP. Es gibt zwar in Freetz eine PHP Erweiterung , die
ist aber angeblich sehr speicherhungrig.

On 9 Jul., 11:02, UliM <uli.ma...@googlemail.com> wrote:

ha...@nendzig.net

unread,
Jul 12, 2011, 2:46:09 AM7/12/11
to fhem-...@googlegroups.com
Hallo Frank.
Du hattest das Glück, zur richtigen Zeit die passende Frage zu stellen :-)
Was ist denn Dein Problem mit dem eigenen Hintergrundbild?
Derzeit ist in der index.php das Hintergrundbild mit "etage1.png" fix codiert. Es gibt keinerlei Größenbeschränkung etc. Wenn Du ein anderes Bildformat als png verwenden willst, musst Du zusätzlich den Befehl "createimagefrompng" gegen z.b. "createimagefromjpeg" ersetzen...
Das Errorlog vom Apache ist eine enorme Hilfe bei der Fehlersuche.
Schildere Dein Problem mal, ich helfe gerne.
 
Gruß
Hans

ha...@nendzig.net

unread,
Jul 12, 2011, 2:49:16 AM7/12/11
to fhem-...@googlegroups.com
Theoretisch geht das ganze auch über html mit css und javascript. Das Problem könnte sein, die aktuellen Zustände anzuzeigen.
Die Idee finde ich aber reizvoll. Muss dem auch mal nachgehen...
 

tobias.faust

unread,
Jul 12, 2011, 3:20:03 AM7/12/11
to FHEM users
jörg71 hat dazu schon ja einen Hinweis gegeben.....

------------------------
Da fhemweb nicht nur beliebige html Dateien aus dem FHEM Verzeichnis
liefert, sondern auch gif/png Dateien, könnte folgendes fuktionieren:
define Lichton notify Licht.*on "cp /var/usr/fhem/FHEM/FS20.on.gif
Licht.gif"
define Lichtoff notify Licht.*off "cp /var/usr/fhem/FHEM/FS20.on.gif
Licht.gif"
Es wird also je nach Zustand das passende Bild auf Licht.gif kopiert.
-------------------------

ha...@nendzig.net

unread,
Jul 12, 2011, 4:43:25 AM7/12/11
to fhem-...@googlegroups.com
Folgende HTML-Testseite namens test.html habe ich in den fhem-Ordner eingefügt:
------------------------------
<html>
<head>
<title>Testseite</title>
</head>
<body>
<img src="etage1.png">
<div style="position:absolute; top:190px; left:340px;">
 <img src="Lampe1.png"><br>
 <a href="http://localhost:8083/fhem?cmd.Lampe1=set%20Lampe1%20on">EIN</a><br>
 <a href="http://localhost:8083/fhem?cmd.Lampe1=set%20Lampe1%20off">AUS</a><br>
</div>
</body>
</html>
------------------------------
 
In der fhem.cfg sind folgende zwei Zeilen drin:
------------------------------
define Lampe1_ein notify Lampe1.on  "cp /usr/share/fhem/FHEM/FS20.on.gif  /usr/share/fhem/FHEM/Lampe1.png"
define Lampe1_aus notify Lampe1.off "cp /usr/share/fhem/FHEM/FS20.off.gif /usr/share/fhem/FHEM/Lampe1.png"
------------------------------
 
Ich musste noch den User fhem als Owner für den Ordner /usr/share/fhem/FHEM eintragen (chown), und ich musste mit dem gif/png tricksen, weil die gifs nicht übertragen wurden.
 
Also es funktioniert prinzipiell so.
In der HTML wird für die Lampe ein <div> aufgezogen, das absolut platziert wird. In dem drin kann man sich dann austoben - in meinem Fall zum ausprobieren halt mal ein Link für EIn und einer für AUS.
Unschön ist, daß jetzt auf die FHEM-Seite gewechselt wird; da muß der Trick mit Frames und dem Schlüsselwort "target" herhalten...
 
Aber es ist machbar.
Diese Seite jetzt noch per Autorefresh aktualisieren...

Frank

unread,
Jul 12, 2011, 4:12:12 PM7/12/11
to FHEM users
Hallo Hans,
vielen Dank nochmals. Der Hinweis mit dem "etage1.png" war der
passende Hinweis. Ich habe immer am "bg.png" gefummelt.
Hätte ich mal richtig mit gelesen wäre das Problem nicht aufgetreten.
Errorlog vom Apache ist ein guter Hinweis, das werde ich mal genauer
prüfen.
Weitere Aktoren werde ich in den nächsten Wochen mal testen.
Vielleicht mache ich ja Fortschritte. Bei Problemen
wirst Du sicher wieder von mir lesen ;-)

Gruss
Frank

UliM

unread,
Jul 13, 2011, 7:02:03 AM7/13/11
to FHEM users


On 12 juil, 07:55, "tobias.faust" <tobias.fa...@gmx.net> wrote:
> Hi UliM,
> verfolgst du den Ansatz einer reinen HTML-Seite nicht weiter?

Hi, naja, die Loesung von Hans ist leistungsfaehiger und bedient sich
letztendlich derselben Mechanismen.
Ich hab 'meinen' Anstz nicht weiterverfolgt, weil ich denke
- Wer ne simple Loesung ohne Apache sucht, kann den Weg mit Word
waehlen
- Wer's schick haben moechte, nimmt die Loesung von Hans - die dann
eben einen Apache o.ae. braucht

Wenn Weg 1 mehreren Leuten weiterhilft, kann ich da nochmal 2 Abende
reinstecken - bin kein html-Koenner, muss mir alles muehsam
zusammensuchen, drum auch keine Versprecchungen wann ich wieder dazu
komme..
Wer braeuchte denn das ausser Tobias noch?
Gruss aus Frankreich, Uli

PS: ich HASSE das franzoesische Tastatur-Layout!!!!!

Rudolf Koenig

unread,
Jul 16, 2011, 6:03:44 AM7/16/11
to fhem-...@googlegroups.com
> zb. das folgender aufruf anstatt einer Webseite ein zu definierendes
> Bild zur�ckgibt:
> http://IP_der_FB:8083/fhem/get_image.pl?name=lampe

Habs eingebaut, als
http://ip:8083/fhem/icons/lampe

Und wenn ich schon dabei war, habe ich zu den weblink Attributen iframes
hinzugefuegt. Und FHEMWEB etwas an die alternativen Mobilbrowser
(Opera/Firefox) angepasst. Update via updatefhem sollte moeglich sein.

UliM

unread,
Jul 17, 2011, 4:09:28 PM7/17/11
to FHEM users
Hi

@Rudi: gerade upgedated - fhemupdate lief reibungslos - die neuen
Glühbirnen-Symbole gefallen mir (nach kurzer Eingewöhnungszeit) sehr
gut.

@Hans: Sehr schön - damit ist der Ansatz zur Positionierung der
Schaltflächen gelöst. In Kombi mit Rudi's http://ip:8083/fhem/icons/lampe
könnte man nun also auch die Icosns darstellen.

Auf Basis des o.g. HTML-Beispiels wäre es doch nun recht
übersichtlich, genau diese HTML-Aufgaben aus perl heraus zu machen.
Entweder die fhemweb erweitern oder ein separates perl-Ausgabescript.
Wenn man die bisherigen Lösungsansätze zusammenfasst, wären durch eine
Implementierung in perl gleich zwei Probleme weg: 1. die Performance-
Probleme, 2. der sonst fehlende Webserver.

Mein Ziel ist, die Ausgabe nicht aus einer separaten Konfig-Datei,
sondern mittels der fhem.cfg zu steuern.
Das stelle ich mir z.B. so vor:

define WEBF1 FHEMWEB 8085 global
attr WEBF1 floorplan Etage1
attr WEBF1 background Erdgeschoss.png

define WEBF2 FHEMWEB 8086 global
attr WEBF2 floorplan Etage2
attr WEBF2 backgroundimage ErsterStock.png

Je Gerät, das angezeigt werden soll, dann zusätzliche Attribute. Also
z.B. für Lampe1:
attr Lampe1 screen Etage1_X 100
attr Lampe1 screen Etage1_Y 200
attr Lampe1 screen Etage1_Typ 1
attr Lampe1 screen Etage2_X 200
attr Lampe1 screen Etage2_Y 500
attr Lampe1 screen Etage2_Typ 2

Bei Screen Etage1 (aufgerufen über :8085) Würde Lampe1 also bei
Position 100,200 angezeigt.
Bei Screen Etage2 (aufgerufen über :8086) Würde Lampe1 also bei
Position 200,500 angezeigt.
*_Typ könnten Darstellungsvarianten sein, z.B.
_Typ 1 : on, Symbol, off
_Typ 2 : Symbol #das selbst als toggle-Schalter dient)
_Typ 3 : Ausgabe Ist-Temperatur bei FHT
_Typ 4 : Anzeige des Value() #z.B. von dummies
_Typ 5 : Weblink

Man muss auch Links darstellen können, um z.B. den Absprung auf ein
anderes Bild oder auf die fhem-Seite platzieren zu können. Hab noch
nicht getestet, ob man fhem-Links auch Attribute mitgeben kann, gehe
aber mal davon aus.
Der Algorithmus in fhemweb wäre also:

$ScreenName # aus define WEB
Loop über alle Geräte
Wenn das Gerät ein Attribut hat, das den ScreenNamen
enthält #also z.B. Etage1
div an angegebener Position gemäß angegebenem Typ

Bzw. in den vorhandenen loop in der fhemweb einbauen.

Erstmal:
- Was haltet ihr von dem Ansatz?
- Sind die o.g. Einträge für fhem.cfg einigermassen vernünftig? (z.B.
die Darstellung Etage1_X gefällt mir nicht - weiss aber
nicht, ob man auch mehrdimensionale Attribute haben kann, dann wäre
z.B.
attr Lampe1 Etage1 XY 100 200 1
viel besser).

Wenn ich nur perl könnte....
Werd mich morgen mal dran versuchen - und wahrscheinlich kläglich
scheitern.

Gruß, Uli

Rudolf Koenig

unread,
Jul 17, 2011, 5:20:45 PM7/17/11
to fhem-...@googlegroups.com
> Je Ger�t, das angezeigt werden soll, dann zus�tzliche Attribute. Also
> z.B. f�r Lampe1:

> attr Lampe1 screen Etage1_X 100
> attr Lampe1 screen Etage1_Y 200

Das geht nicht, die zweite Zeile ueberschreibt die Erste. Aber
attr Lampe1 screen Etage1_X 100 Etage1_Y 200
geht.

UliM

unread,
Jul 17, 2011, 6:10:53 PM7/17/11
to FHEM users
>   attr Lampe1 screen Etage1_X 100 Etage1_Y 200
> geht.

Ok, danke, werd's versuchen :-)


Hab grad ein wenig rumgetestet. GrundrissStart.html wie im Wiki
http://fhemwiki.de/index.php/Grundriss_mit_fhem-buttons

Grundriss.html z.B. wie folgt:

<html>
<head>
<meta http-equiv="refresh" content="2; URL=GrundrissPositionen.html">
<title>Testseite</title>
</head>
<body>
<img src= "Hintergrundbild.JPG">
<div style="position:absolute; top:190px; left:340px">
<a href="http://<ip>:8083/fhem?cmd.Lampe1=set%20Lampe1%20on"
target="log">ON</a>
<img src=http://<ip>:8083/fhem/icons/Lampe1>
<a href="http://<ip>:8083/fhem?cmd.Lampe1=set%20Lampe1%20off"
target="log">OFF</a>
</div>
<div style="position:absolute; top:300px; left:340px">
<a href="http://<ip>:8083/fhem?cmd.Lampe2=set%20Lampe2%20toggle"
target="log">
<img src=http://<ip>:8083/fhem/icons/Lampe2>
</a>
</div>
</body>
</html>


Das geht! Dank Rudi nun auch incl Anzeige des Schaltzustands - ganz
ohne notify und cp.

Der erste div ist eine Anzeige mit on|Symbol|off, der zweite ist nur
das Symbol mit toggle dahinter.
Zugegeben, das refresh alle 2 Sekunden ist nicht schön, erfüllt aber
seinen Zweck.

Morgen also der Versuch der perl-Version :-)

Gruß, Uli

ha...@nendzig.net

unread,
Jul 18, 2011, 3:00:14 AM7/18/11
to fhem-...@googlegroups.com
Das kann was.
Sehr schön!
 
Jetzt hätt ich da aber doch noch eine kleine Frage:
Wenn man jetzt von Ferne auf seine Automatisation zugreifen will, muss man seinen Port 8083 nach aussen frei geben, weil ja sonst die Icons nicht dargestellt werden können - und auch keine Befehle geschalten werden können.
Damit gibt man ja aber den _gesamten_ fhem der Aussenwelt frei, oder?
 
Das kann vermutlich nur durch einen eigenen Webserver gesichert werden, der die Anfragen vorher verarbeitet. Und dann sind wir wieder bei php...
Oder überseh ich was?
Aber man könnte die Icon-Abfragen auch schön per php vom fhem abrufen und als Embedded Grafik ins HTML einbinden.... Da wäre der Verbindungsweg zum fhem komplett verschleiert, wenn man den Source anschauen würde, würde man für die Icons nur base64 verschlüsselte Zeichenketten sehen....
 
Ach ja noch was fällt mir grad ein:
Könnte man - analog zu den Icons der Lampen - auch die Stati von z.B. FHT8v, oder Temperaturen rückmelden?
Ich bastel mir das ja in meiner Variante per php und ImageText als Grafik zusammen... Oder übertreiben wirs jetzt :-) ?
 
Gruß
Hansemann

Rudolf Koenig

unread,
Jul 18, 2011, 5:21:03 AM7/18/11
to fhem-...@googlegroups.com
> K�nnte man - analog zu den Icons der Lampen - auch die Stati von z.B. FHT8v,
> oder Temperaturen r�ckmelden?

> Ich bastel mir das ja in meiner Variante per php und ImageText als Grafik
> zusammen... Oder �bertreiben wirs jetzt :-) ?

Ja. Dafuer gibts in fhem list und xmllist, in php kann man beides gut parsen.

UliM

unread,
Jul 18, 2011, 5:29:32 AM7/18/11
to FHEM users
On 18 Jul., 09:00, "h...@nendzig.net" <h...@nendzig.net> wrote:
> Wenn man jetzt von Ferne auf seine Automatisation zugreifen will, muss man
> seinen Port 8083 nach aussen frei geben, weil ja sonst die Icons nicht
> dargestellt werden können - und auch keine Befehle geschalten werden können.
> Damit gibt man ja aber den _gesamten_ fhem der Aussenwelt frei, oder?

Hi Hans,
ich nutze die FB7390. Port 8083 ist nicht nach aussen freigegeben, ist
damit nur im Heimnetzwerk verfügbar. Für das Gerät gibt's auch ne VPN-
Verbindung, die nutze ich wenn ich ausserhalb bin.
Den Port 8083 würde ich auch nicht 'an die ganze Welt' freigeben, da
stimm ich Dir zu.

Übrigens hab ich meinen Anlauf, die fhemweb zu erweitern, erstmal an
den Nagel gehängt.
Vll geh ich erstmal eine separate perl-routine an. Oder ich bastel
mir 'manuell' eine Version.
Auf jeden Fall hab ich den Wiki-Eintrag aktualisiert mit o.g. Ansatz
für Grundriss.html - hab den Ansatz mit Word rausgeschmissen, um die
Linux-Groupies nicht noch mehr zu nerven ;-)

Grüßle,
Uli

ha...@nendzig.net

unread,
Jul 18, 2011, 7:48:44 AM7/18/11
to fhem-...@googlegroups.com
xmllist und php ist mirklar, hab ich ja eh so gemacht.
Ich dachte mir halt für die "Nur-HTML"-Variante, da tut man sich eher schwer, die xmllist zu parsen. Obwohl - vielleicht per javascript? Hmmm...
 
Derzeitiger Zwischenstand:
Für einfache Darstellungen und Schaltungen ist die HTML-Variante schnell, einfach, und ohne extra Webserver bzw. php umsetzbar, spricht vor allem Leistungsschwächere Geräte an. Für Fernzugriff wird ein offener Port 8083 oder eine VPN Verbindung benötigt, die auf mobilen Geräten nicht immer möglich ist.
 
Wers komfortabler und Umfangreicher braucht, benötigt Apache und PHP und bedient sich meines Lösungsansatzes. Damit ist ein sicherer Zugriff auch über öffentliche Rechner möglich (Internet-Cafe etc).
 
Man muß einfach abwägen, was man braucht, mit den Ansprüchen wachsen naturgemäss auch die Ansprüche an die Geräte, die Fritzbox hat halt irgendwo ihre Grenzen. Wer keinen eigenen Server bauen will, kann auch einen Sheevaplug oder Derivate davon, oder den TuxRail von busware, oder ein Alix-Board von PC Engines verwenden; auf den kann dann z.B, der Webserver ausgelagert werden. Das ist eine Kostenmässig günstige Lösung, die Leistungsmässig auch noch einiges mehr verträgt.
 
Gruß
Hans
 

ha...@nendzig.net

unread,
Jul 18, 2011, 7:59:37 AM7/18/11
to fhem-...@googlegroups.com
:-)
 
Ich hab vor ca. 20 Jahren meine ersten HTML Seiten gebastelt, damals auf Amiga (wenn das noch wer kennt...), und da hat man halt mangels WYSIWIG mit Notepad-ähnlichen IDE's :-) gearbeitet.
Das Ergebnis sind nicht immer grafisch "geile" Seiten, aber auf jedenfall Sauschnelle, weil kein bis kaum Overhead - von dem Word z.B. einen Haufen produziert... Ich denke mal, in dem Beispiel von Dir sind ca. 90% Sachen, die Word reinschreibt, die aber auf die Darstellung keinen Einfluss haben (oder vernachlässigbaren).
Das ist halt das Problem an den HTML Editoren: Je einfacher bedienbar, desto universeller müssen die Templates gestaltet sein, desto größer wird der Code. Wenn jede Zeile einzeln handgeschmiedet wird, gibts keinen Overhead, weil kein Programmierer tippt freiwillig unnötig viel Code ein :-)
Mit PHP und Konsorten kommen dann schon eher wieder Overheads dazu, weil da gern mit Schleifen etc. gearbeitet wird, und dazu universelle Templates erforderlich sind, die je nach Schleifenelement mit entsprechenden werten versehen werden.
Aber es wird generell immer Schlanker als mit Word... das hat dafür (fast) jeder und es geht sehr einfach.
Ich "liebe" solche Seiten, die erstmal 500kB runterladen, bevor man den ersten Strich sieht. Heutzutage ist das ja egal, weil jeder DSL hat, aber wenn man mal genötigt ist, per GPRS und 9600 baud ins Internet zu gehen...
 
OT Ende :-)
 
Gruß
Hans

UliM

unread,
Jul 18, 2011, 5:21:34 PM7/18/11
to FHEM users
Hi,
so, mein Grundriss ist fertig.
Meine grafische Fernbedienung (via Grundriss-Lösung plus FS20-IRF)
für's Wohnzimmer auch :-)
Beweise:
http://www.ulimaass.de/fhem/Grundriss.PNG
http://www.ulimaass.de/fhem/Media.PNG

Laut/Leise-buttons habe ich wegen der 1%-Regel weggelassen.

Klappt prima mit dem nun um Wiki beschriebenen Ansatz.

Auf dem iPad (o.g. Lösung via Webserver) zwei Ärgernisse:
1. Der 5-sekündige refresh ist mässig performant, man sieht den
Neuaufbau. Mit 8 Symbolen noch akzeptabel. Beim optischen Eindruck
hilft es, in html dieselbe bgcolor zuzuweisen wie das Hintergundbild
hat. Auch funktioniert das Schalten während des refresh nicht -
erscheint dadurch etwas hakelig.
2. Im Vollbildmodus funktioniert die target="log" Lösung nicht :-
( Man landet nach dem Klick immer auf :8083 (trotz target="log"
und apple-tag in beiden .html: <meta name="apple-mobile-web-app-
capable" content="yes" /> ) Von Safari aus (leider mit
Navigationsleiste) funktioniert's aber prima. Scheinbar ist ein split
in zwei Ausgabeframes nicht "apple-mobile-web-app-capable".

Gruß + merry testing,
Uli

ha...@nendzig.net

unread,
Jul 31, 2011, 6:55:42 PM7/31/11
to fhem-...@googlegroups.com
Sodale.
Hat mich einiges an Googlezeit gekostet, aber jetzt steht eine erste Version zum Test bereit:
 
 
Das ist im Prinzip dasselbe wie bisher, aber das Hintergrundbild der ImageMap wird per Ajax aktualisiert.
 
Haken derweil noch: Selbsttätiger Refresh findet keiner statt.
Weiss jemand, ob man in Javascript so ne Art Timer laufen lassen kann? Dass der Ajax-Update alle 10s oder so durchgeführt wird?
 
Happy ausprobiering!
 
Grüße
Hansemann

Klaus

unread,
Aug 1, 2011, 9:04:06 AM8/1/11
to fhem-...@googlegroups.com

Da Interesse an dieser Darstellung bei mir geweckt wurde, habe ich das homemini Projekt in das
WWW Verzeichnis meines Dockstar kopiert. Leider wird durch den Aufruf der index.php bei
mir keine Grafik im Browser dargestellt. Die Anzeige des gleiche Projekt auf einem anderen
WEB Server funktioniert einwandfrei.

Hat jemand eine Idee warm das so ist oder was da fehl?

Gruß Klaus





homemini.gif

tobias.faust

unread,
Aug 1, 2011, 9:37:57 AM8/1/11
to FHEM users
WOW!!! Das schaut wirklich gut aus....
Habe mir nur den Sourcecode mal angeschaut bzw drübergeflogen.

1. Sehe ich das richtig das man für die eigenen Bedüfnisse nur
symbols.php anpassen muss??
2. Besser wäre noch wenn man noch den fhem-Port und den fhem.pl Pfad
parametrisieren kann
3. in dem Array der Elemente sollte man noch den Image-Grundnamen
angeben können,
zb. "image"="la", "image_ext"="png"
für "off" wird dann "la_off.png" und für "on" wird dan "la_on.png"
genutzt.
Hintergrund: Bei einer Bewässerungstseuerung gibts auch nur on oder
off, aber als Bild möchte man ev. einen sprundelnden Sprinkler
anzeigen. zb: "image"="sprinkler", "image_ext"="gif", also
sprinkler_on.gif bzw sprinkler_off.gif
Das ganze hätte auch den Vorteil das man nicht für LA und SD dieselbe
Wrapperfunktion doppeln müsste.
"function SetStateLA" und "function SetStateSD" ist nämlich dasselbe

On 1 Aug., 00:55, "h...@nendzig.net" <h...@nendzig.net> wrote:
> Happy ausprobiering!

ha...@nendzig.net

unread,
Aug 1, 2011, 11:04:01 AM8/1/11
to fhem-...@googlegroups.com
Danke für den Input.
 
1.) Ja, Du siehst das richtig, grundsätzlich muss nur symbols.php angepasst werden. Alles andere sollte zur Laufzeit zusammengebastelt werden, solange die Typenkürztel aus der symbols.php auch bei den SetState, GetState, index.php, ajax.php und getpic.php vorkommen...
Ziel ist es, alle denkbaren Elemente abzudecken, jetztstand sind einfach die Dinger, die ich brauchen werde...
 
2.) Danke, werde eine config.php oder sowas dazubasteln.
 
3.) Das ist auch eine gute idee. Muss mir das mal durch den Kopf gehen lassen. Vermutlich würde ein Sammeltyp für alle "booleschen" Elemente (Lichtschalter, Steckdose, Sprinkler...) genügen, dem der Image Grundname, wie Du es schon sehr gut beschreibst, übergeben wird.
Kommt demnächst :-)
Für die Temperaturdinger etc. wirds eher schwierig, die sind vermutlich zu individuell. Aus diesem Hintergedanken habe ich einfach für alles - also für Steckdose und Lampe - getrennte Wrapper gebastelt. Es stimmt schon, LA und SD sind identisch, müssen es aber nicht sein....
 
Irgendwann werde ich eine Doku erstellen, die die ganzen Files erläutert, dann wird das ganze vielleicht verständlicher und leichter modifizierbar.
 
Gruß
Hansemann

ha...@nendzig.net

unread,
Aug 1, 2011, 11:08:14 AM8/1/11
to fhem-...@googlegroups.com
Das sieht aber schräg aus...
Folgende Grundbedingungen müssen erfüllt sein:
- Webserver muss PHP5 können
- GD2 muß aktiviert sein (Modul für PHP-Grafikbearbeitung)
- eine eventuell vorhandene fhem.xml muß nach kopieren des Projekts gelöscht werden, da diese vom Webserver zur Laufzeit generiert wird
 
Gegenfrage:
Welche Webserver läuft auf deinem Dockstar?
Wenn Apache - wirf mal einen Blick in die logfiles desselben, vor allem die error.log. Da kann man einiges erkennen meistens. Häng einfach mal nen Auszug hier rein, dann kann ich einen Blick drauf werfen.
 
 

Klaus

unread,
Aug 1, 2011, 12:48:51 PM8/1/11
to fhem-...@googlegroups.com
Hallo Hans,

nach Installation +++ apt-get install php5-gd +++ und einem Neustart gelangt der Grundriss zur Anzeige.

Wenn ich die fhem.xml lösche wird die Grafik wiederum nicht angezeigt und auch keine neue fhem.xml erzeugt.

Hier der Eintrag der error.log des Apache wenn die fhem.xml fehlt

[Mon Aug 01 18:46:54 2011] [error] [client 10.10.10.11] PHP Warning:  simplexml_load_file(): I/O warning : failed to load external entity "fhem.xml" in /var/www/functions.php on line 5
[Mon Aug 01 18:46:54 2011] [error] [client 10.10.10.11] PHP Fatal error:  Call to a member function children() on a non-object in /var/www/functions.php on line 6


Gruß Klaus



Am 1. August 2011 17:08 schrieb ha...@nendzig.net <ha...@nendzig.net>:
Das sieht aber schräg aus...
Folgende Grundbedingungen müssen erfüllt sein:
- Webserver muss PHP5 können
- GD2 muß aktiviert sein (Modul für PHP-Grafikbearbeitung)
- eine eventuell vorhandene fhem.xml muß nach kopieren des Projekts gelöscht werden, da diese vom Webserver zur Laufzeit generiert wird
 
Gegenfrage:
Welche Webserver läuft auf deinem Dockstar?
 
Apache
 
Wenn Apache - wirf mal einen Blick in die logfiles desselben, vor allem die error.log. Da kann man einiges erkennen meistens. Häng einfach mal nen Auszug hier rein, dann kann ich einen Blick drauf werfen.
 
 

--
To unsubscribe from this group, send email to
fhem-users+...@googlegroups.com

ha...@nendzig.net

unread,
Aug 1, 2011, 12:59:07 PM8/1/11
to fhem-...@googlegroups.com
Hm.
Hast Du im error.log eine Zeile wie die hier:
sh: cannot create fhem.xml: Permission denied
gefunden?
Der Ordner, in den das homemini.tar entpackt wird, muss für den Webserver-User (bei mir: www-data) zum schreiben freigegeben sein (bei mir mittels "chown www-data:www-data -R HomeMini" gelöst).
Hast Du fhem in Standardkonfiguration laufen - also im Pfad erreichbar, und per Port 7072 ansprechbar?

Klaus

unread,
Aug 1, 2011, 1:12:04 PM8/1/11
to fhem-...@googlegroups.com
Hallo Hans,

habe das Verzeichnis mit den Rechten angepasst.

Die symbols.php für mein System geändert.

Jetzt klappt's auch mit dem homemini.

Meinen Dank an dieser Stelle.


Gruß Klaus

ha...@nendzig.net

unread,
Aug 1, 2011, 1:15:19 PM8/1/11
to fhem-...@googlegroups.com
Sodale, Punkt 3 ist erledigt :-)
Allerdings denke ich, daß Du Dir vielleicht doch lieber dann selber ein Sprinkler-Icon basteln solltest :-)
 

ha...@nendzig.net

unread,
Aug 1, 2011, 1:18:03 PM8/1/11
to fhem-...@googlegroups.com
Bitte gerne!
Welche "Variante" verwendest Du?
Die index.php oder die ajax.php?
Ich hab derweil noch beide drin, je nachdem welche Dir mehr zusagt, kannst Du die andere löschen, und u.U. die ajax.php auf index.php umbenennen...
Habe inzwischen noch weitergebastelt, würde Dir einen neuen Download ans Herz legen :-)

Klaus

unread,
Aug 1, 2011, 1:28:19 PM8/1/11
to fhem-...@googlegroups.com
Im Moment teste ich noch beide ;-)

Hier noch eine Frage, sollte der Plot eines Thermometers automatisch erscheinen?

Bei mir kommt nur eine Fenster mit dem Schriftzug z.B +++ Plot vom Wohnzimmer +++
ohne Anzeige einer Grafikausgabe. Oder muß ich noch etwas anpassen?

PS: Wo finde ich den Download?

Klaus

ha...@nendzig.net

unread,
Aug 1, 2011, 1:37:33 PM8/1/11
to fhem-...@googlegroups.com
Ach ja mist die Plots.....
Da habe ich einen "Quick and Dirty"-Hack gemacht, indem ich per crontab alle 5 Minuten ein Shellscript aufrufe, das mir die Plots als png-Files ins Webverzeichnis spielt.
Das Script sieht wie folgt aus:
 
----schnipp-----
#!/bin/bash
wget "http://heimserver.nendzig.net:8083/fhem?cmd=showlog weblink_Sensor_Aussen FileLog_Sensor_Aussen hms Sensor_Aussen-2011.log&amp;pos=zoom=week" -O Sensor_Aussen.png
wget "http://heimserver.nendzig.net:8083/fhem?cmd=showlog weblink_Sensor_WZ FileLog_Sensor_WZ hms Sensor_WZ-2011.log&amp;pos=zoom=week" -O Sensor_WZ.png
cp Sensor_Aussen.png /var/www/projekte/HomeMini
rm Sensor_Aussen.png
cp Sensor_WZ.png /var/www/projekte/HomeMini
rm Sensor_WZ.png
----schnapp-----
 
über den wget wird der Plot vom FHEM geholt und zunächst lokal abgelegt.
Danach über cp in die Zielverzeichnisse, und dann lokal gelöscht.
 
Die crontab dazu:
----schnipp----
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/share/fhem/fetchplots.sh
----schnapp----
 
Irgendwann denk ich mir da mal was neues aus :-)

Klaus

unread,
Aug 1, 2011, 3:14:15 PM8/1/11
to fhem-...@googlegroups.com
Werde ich morgen mal testen. Danke erste einmal.

Gruß Klaus

ha...@nendzig.net

unread,
Aug 2, 2011, 7:42:46 AM8/2/11
to fhem-...@googlegroups.com
So, habe nun noch eine config.php eingebaut, in der die Schriftart, Schriftgröße, sowie der Befehl fürs fhem eingegeben weren kann.
Wenn fhem.pl im Pfad liegt (wie bei mir), genügt ein Eintrag "fhem.pl 7072"
Sonst halt sowas wie:
"/pfad/zu/fhem/fhem.pl 6789", wenn fhem.pl in "/pfad/zu/fhem" zu finden ist und auf Port 6789 statt 7072 lauscht...
Ausserdem habe ich etwas aufgeräumt und Kommentiert, zumindest die Ajax-Variante.
Das Javascript muss ich noch kommentieren.
Dann kommt irgendwann noch eine Doku dazu.
Puh :-)

tobias.faust

unread,
Aug 2, 2011, 3:00:12 PM8/2/11
to FHEM users
Hi Hans,

ich habe jetzt mal alles versucht zu installieren aber ich bekomme das
gleiche leer Bild wie Hans oben.
Folgende Aufruf erzeugt den Fehler:

sh -c xmllist > fhem.xml

im apache error.log:
sh: xmllist: not found
PHP Warning: simplexml_load_file() [<a href='function.simplexml-load-
file'>function.simplexml-load-file</a>]: fhem.xml:1: parser error :
Document is empty in /var/media/ftp/uStor01/apache/htdocs/homemini/
functions.php on line 160

sollte xmllist nicht ein Befehl zu fhem sein??

tobias.faust

unread,
Aug 2, 2011, 3:28:40 PM8/2/11
to FHEM users
ich denke es liegt hieran:

$syscall = $fhemexe . " xmllist > fhem.xml";
exec($syscall);


wobei in der config.php folgendes steht:
$fhemexe = "/var/media/ftp/uStor01/fhem/fhem.pl 7072";

aber muss das nicht korrekt so heißen, zumndest per Konsole??

>telnet localhost 7072
>xmllist

tobias.faust

unread,
Aug 2, 2011, 3:30:46 PM8/2/11
to FHEM users
hab etwas gefunden, eventuell müsste man mit der fsockopen funktion
arbeiten....
http://php.net/manual/en/function.fsockopen.php

ha...@nendzig.net

unread,
Aug 2, 2011, 5:06:08 PM8/2/11
to fhem-...@googlegroups.com
Hallo.
Ja, xmllist ist ein fhem-Befehl.
 
In der fhem commandref.html steht folgendes:
---schnipp---
TCP/IP communication with fhem can either happen in a "session" (via telnet) or single client command (via fhem.pl). Example:
    telnet localhost 7072
    <NL>
    (This newline switches into "prompt" mode)
    <command>...
    quit

or
---schnapp---
 
Also entweder verbindet man sich per telnet mit dem localhost (bzw. dem Rechner, auf dem fhem läuft) über port 7072 und setzt dann die Befehle über Telnet ab.
Oder man verwendet, wie ich das tue, die "single client command" - Variante. Letztere wird vermutlich nicht funktionieren, wenn fhem und Webserver auf verschiedenen Rechnern läuft, da muß ich nochmal in mich gehen.
Bei mir läuft beides am selben Rechner. Daher funkioniert der Aufruf "fhem.pl 7072 xmllist" auch Problemlos. Die Ausgabe wird dann per ">" in die Datei fhem.xml umgeleitet. Versuch mal, diesen Befehl in Deine Konsole einzutippen, ob da was rauskommt.
 

ha...@nendzig.net

unread,
Aug 2, 2011, 5:37:19 PM8/2/11
to fhem-...@googlegroups.com
Hm.
Ich weiss nicht warum, aber es fiel mir gerade beim testen wieder ein, warum ich die Telnet-Variante wieder fallen gelassen habe.
Ich schaffe es nicht, die komplette Ausgabe des Befehls "xmllist" per PHP einzulesen.
Ich komme zur zweiten Zeile ("<_internal_name=blabla"), danach nur Leerzeilen.
Kann das mal jemand verifizieren?
Ich hab einfach ein File "test.php" erzeugt mit folgendem Inhalt:
----schnipp----
<?php
$fhemhost = "localhost";
$fhemport = 7072;
$fhemsock = fsockopen($fhemhost, $fhemport, $errno, $errstr, 30);
$fhemcmd = "xmllist\r\nquit\r\n";
fwrite($fhemsock, $fhemcmd);
$fhemresponse = "";
echo "Beginning:<br>\n";
while(!feof($fhemsock)){
        echo fgets($fhemsock, 128);
        echo "<br>\n";
}
fclose($fhemsock);
?>
----schnapp----
 
Die Ausgabe sieht wie folgt aus:
----schnipp-----
Beginning:

<_internal__LIST>
<_internal_ name="global" state="<no definition>" sets="" attrs="room comment alias archivecmd allowfrom archivedir configfile lastinclude logfile modpath nrarchive pidfilename port statefile title userattr verbose:1,2,3,4,5 mseclog version nofork logdir holiday2we autoload_undefined_devices dupTimeout eventMap">








----schnapp----
 
Seltersam.
Ich bin aber grad am Testen mit dem Befehl "netcat" (oder auch "nc") - gibts den auf der Fritzbox?
Mit ner Kommandozeileneingabe wie folgt:
echo "xmllist;quit" | nc localhost 7072 -q 5 > fhem.xml
kriegt man dasselbe Ergebnis wie mit "fhem.pl 7072 xmllist > fhem.xml" mit einem Riesen Unterschied:
Es muß nicht bei "localhost" bleiben!!!
Find das Cool. Bin am basteln :-)

ha...@nendzig.net

unread,
Aug 2, 2011, 6:15:08 PM8/2/11
to fhem-...@googlegroups.com
Ok, das funktioniert.
Hab das mal eingebaut.
Hatte heute frei, deshalb sieht das Projekt, wenn man es sich jetzt runterläd, ziemlich anders aus als bisher...
Habe die PHP Files gesäubert, eine ordentlichere Trennung von HTML und PHP durchgezogen, die PHPs einigermassen kommentiert.
In der config.php gibts jetzt zwei neue Einträge:
$fhemcmdtmpl unf $fhemcmdtag
In den entsprechenden PHP funktionen wird der String "$fhemcmdtag", der in $fhemcmdtmpl vorkommt, in diesem durch den eigentlichen Befehl ersetzt.
Aus "echo '<cmd>' | nc localhost 7072" wird dann z.B. "echo 'set Lampe1 on' | nc localhost 7072"
Oder z.B. "echo 'xmllist;quit' | nc localhost 7072" - die Funktion CreateStateList hängt dann noch " -q 5 > fhem.xml" an und führt das per exec() aus.
Das "-q 5" ist notwendig, damit NetCat die Verbindung nicht sofort nach erfolgreichem Senden abbricht. Das ";quit", das dem "xmllist" folgt, ist notwendig, daß fhem seinerseits die Verbindung nach erfolgter Ausgabe abbricht, da ansonsten netcat 5 Sekunden abwarten würde.
Zur Anpassung einfach dieses Template anpassen. Wenn fhem z.B. auf dem Rechner mein.heimautomations.server läuft und auf Port 4267 konfiguriert ist, lautet der Eintrag:
$fhemcmdtmpl = "echo '<cmd>' | nc mein.heimautomations.server 4267";
 
Ich hab sogar das Gefühl, daß es noch schneller läuft jetzt, kann aber subjektiv sein....
Download wie immer als homemini.tar Verfügbar.

tobias.faust

unread,
Aug 4, 2011, 1:19:24 AM8/4/11
to FHEM users
Hi Hans...
das funktioniert wirklich gut....
Bin gerade am schauen wo und wie man das erweitern kann das man zb.
beim Sprinkler nicht ein "on" sendet sondern ein "on-for-timer xx"
wobei xx, bzw der ganze on-befehl in der Symbols konfigurierbar sein
sollte

btw: mein anderer Ansatz gestern mit dem connect war folgender:

<?php
$stream = fsockopen("192.168.5.1", 7072, $errno, $errstr, 30);
if (!$stream) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($stream, "xmllist");
$xmllist = stream_get_contents($stream);
fclose($stream);
}
?>

ha...@nendzig.net

unread,
Aug 4, 2011, 2:31:35 AM8/4/11
to fhem-...@googlegroups.com
Hallo Tobias.
Freut mich :-)
Erweitern kann man die Funktionalität einfach:
Im scriptajax.js in der Funktion getContentOnOff() eine Button hinzufügen, z.B. so:
 
function getContentOnOff(ele){
    retv = "<input type='button' onclick='doIt(\"" + ele + "\", \"on\")' value='EIN' />";
    retv += "<br>";
    retv += "<input type='button' onclick='doIt(\"" + ele + "\", \"off\")' value='AUS' />";
    retv += "<br>";
    retv += "<input type='button' onclick='doIt(\"" + ele + "\", \"on-for-timer 10\")' value='10s' />";
    return retv;
}
Damit erscheint dann ein weiterer Knopf namens "10s", der beim anklicken das Dingens für 10s einschaltet.
Das Gemeine ist:
Der Status bleibt danach auf "on-for-timer 10", auch wenn die 10s schon lange abgelaufen sind....

ha...@nendzig.net

unread,
Aug 4, 2011, 2:33:01 AM8/4/11
to fhem-...@googlegroups.com
Ha hab ich vergessen:
Wegen dem connect-Ansatz:
Hat das bei Dir funktioniert? Ungefär genau so hab ich herumexperimentiert, aber nie die ganze xmllist reingekriegt. Nach der 3. Zeile oder so hat er abgebrochen. Daher der "> fhem.xml" - Ansatz...

tobias.faust

unread,
Aug 4, 2011, 6:56:36 AM8/4/11
to FHEM users
Hi hans,

hatte gestern nicht soviel Zeit, bei mir hang es erst am fehlenden
Webserver und dann musste ich schon wwieder los.
Fritzbox ist mit Apache und PHP wirklich nicht zu gebrauchen) und dann
musste ich mich belesen wie ich fhem dazu bekomme nicht nur Anfragen
von localhost entgegenzunehmen ;)
Jedenfalls habe ich dann meines mit deinem neuen Release
übergebügelt.

Ein Ansatz warum bei dir nach der 3.Zeile abgebrochen wurde ist der,
das du halt gesagt hast, das du nur 128Byte haben willst ;)

echo fgets($fhemsock, 128);

vs

echo stream_get_contents($stream);

PS: komm erst wieder heute abend dazu etwas zu machen

Klaus

unread,
Aug 4, 2011, 7:08:14 AM8/4/11
to fhem-...@googlegroups.com
Hallo Hans,

bei mir entsteht ein png File in Form eines xml Files wenn ich den wget Befehl ausführe. Fehlt mir da ein Paket unter Debian?

Kann es sein, dass die letzte Version das ajax.php nicht richtig funzt. Wenn ich die Datei aufrufe kommt es zu keiner Anzeige.
Im Seitenquelltext des Browsers findet man keine Einträge. Mit den Dateien vom 1.8.2011 funktioniert der Aufruf.

 Gruß Klaus

--

ha...@nendzig.net

unread,
Aug 4, 2011, 7:13:55 AM8/4/11
to fhem-...@googlegroups.com
Hm, habs mir Werten bis 1024 versucht, hat nicht geholfen...
Bekommst Du die komplette Liste rein?

ha...@nendzig.net

unread,
Aug 4, 2011, 7:31:11 AM8/4/11
to fhem-...@googlegroups.com
Oh ja das kann sein.
Das WGET holt quasi die Daten ab, die fhem als Weblink zur Verfügung stellt.
Je nach plotmode ist das entweder eine SVG Datei oder ein PNG File.
Ich habs per "attr WEB plotmode gnuplot-scroll" umgestellt, hat halt den Nachteil, daß man gnuplot installiert haben muss - vermutlich mit ein Grund dafür, daß es die SVG Variante gibt.
Das müsste man dann ein wenig umbauen:
In scriptajax.js in der Funktion "getContentPlot()" die Zeile mit "retv=blabla" ersetzen durch folgende:
    retv = "<embed src='" + ele + ".png' type='image/svg+xml' width='800' height='250' name='" + ele + "'/>";
Das ist jetzt der Quick and Dirty Hack, der belässt den Filename auf *.png, obwohl der Inhalt ein SVG File ist.
Der Nachteil: Zumindest mein IE8 kanns nicht darstellen... IE9 kann das dann schon wieder.

ha...@nendzig.net

unread,
Aug 4, 2011, 7:56:46 AM8/4/11
to FHEM users
Hm, komisch.
Habe gerade das .tar File, das aktuell herumliegt, in ein neues
Verzeichnis entpackt und konnte die ajax.php öffnen.
Sagt deine error.log vom Apache irgendwas?


On 4 Aug., 13:08, Klaus <b50...@googlemail.com> wrote:
> Hallo Hans,
>
> bei mir entsteht ein png File in Form eines xml Files wenn ich den wget
> Befehl ausführe. Fehlt mir da ein Paket unter Debian?
>
> Kann es sein, dass die letzte Version das ajax.php nicht richtig funzt. Wenn
> ich die Datei aufrufe kommt es zu keiner Anzeige.
> Im Seitenquelltext des Browsers findet man keine Einträge. Mit den Dateien
> vom 1.8.2011 funktioniert der Aufruf.
>
>  Gruß Klaus
>
> Am 1. August 2011 19:37 schrieb h...@nendzig.net <h...@nendzig.net>:
>
>
>
> > Ach ja mist die Plots.....
> > Da habe ich einen "Quick and Dirty"-Hack gemacht, indem ich per crontab
> > alle 5 Minuten ein Shellscript aufrufe, das mir die Plots als png-Files ins
> > Webverzeichnis spielt.
> > Das Script sieht wie folgt aus:
>
> > ----schnipp-----
> > #!/bin/bash
> > wget "http://heimserver.nendzig.net:8083/fhem?cmd=showlogweblink_Sensor_AussenFileLog_Sensor_Aussen hms
> > Sensor_Aussen-2011.log&amp;pos=zoom=week" -O Sensor_Aussen.png
> > wget "http://heimserver.nendzig.net:8083/fhem?cmd=showlogweblink_Sensor_WZFileLog_Sensor_WZ hms
> > Sensor_WZ-2011.log&amp;pos=zoom=week" -O Sensor_WZ.png
> > cp Sensor_Aussen.png /var/www/projekte/HomeMini
> > rm Sensor_Aussen.png
> > cp Sensor_WZ.png /var/www/projekte/HomeMini
> > rm Sensor_WZ.png
> > ----schnapp-----
>
> > über den wget wird der Plot vom FHEM geholt und zunächst lokal abgelegt.
> > Danach über cp in die Zielverzeichnisse, und dann lokal gelöscht.
>
> > Die crontab dazu:
> > ----schnipp----
> > 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/share/fhem/fetchplots.sh
> > ----schnapp----
>
> > Irgendwann denk ich mir da mal was neues aus :-)
>
> > --
> > To unsubscribe from this group, send email to
> > fhem-users+...@googlegroups.com- Zitierten Text ausblenden -
>
> - Zitierten Text anzeigen -

ha...@nendzig.net

unread,
Aug 4, 2011, 8:06:15 AM8/4/11
to FHEM users
Korrektur:
das File mus ".svg" heissen.
Firefox kann es dann darstellen.
IE8 leider nicht...
IE9 angeblich ja, aber ich hab kein 7 hier :-)
Also muss man beim WGET Kommando auch .svg reinschreiben

Klaus

unread,
Aug 4, 2011, 9:21:29 AM8/4/11
to fhem-...@googlegroups.com
Hallo Hans,

hier der Auszug aus dem Apache error.log Mit der Version vom 01.08.2011

index.php

[Thu Aug 04 15:17:12 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: coords in /var/www/index.php on line 100
[Thu Aug 04 15:17:12 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: coords in /var/www/index.php on line 100
[Thu Aug 04 15:17:12 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: coords in /var/www/index.php on line 100
[Thu Aug 04 15:17:12 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: coords in /var/www/index.php on line 100


ajax.php

[Thu Aug 04 15:19:11 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: imgpre in /var/www/ajax.php on line 30
[Thu Aug 04 15:19:11 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: imgpre in /var/www/ajax.php on line 30
[Thu Aug 04 15:19:11 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: coords in /var/www/ajax.php on line 87
[Thu Aug 04 15:19:11 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: coords in /var/www/ajax.php on line 87
[Thu Aug 04 15:19:11 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: coords in /var/www/ajax.php on line 87
[Thu Aug 04 15:19:11 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: coords in /var/www/ajax.php on line 87
[Thu Aug 04 15:19:11 2011] [error] [client 87.193.157.154] PHP Warning:  require(/var/www/snippets/donate.snip): failed to open stream: No such file or directory in /var/www/ajax.php on line 100
[Thu Aug 04 15:19:11 2011] [error] [client 87.193.157.154] PHP Fatal error:  require(): Failed opening required '/var/www/snippets/donate.snip' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/ajax.php on line 100
[Thu Aug 04 15:19:13 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: imgpre in /var/www/getpic.php on line 34, referer: http://meinserver/ajax.php
[Thu Aug 04 15:19:13 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: imgpre in /var/www/getpic.php on line 34, referer: http://meinserver/ajax.php
[Thu Aug 04 15:19:13 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: imgpre in /var/www/getpic.php on line 34, referer: http://meinserver/ajax.php
[Thu Aug 04 15:19:13 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: imgpre in /var/www/getpic.php on line 34, referer: http://meinserver/ajax.php
[Thu Aug 04 15:19:15 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: imgpre in /var/www/getpic.php on line 34, referer: http://meinserver/ajax.php
[Thu Aug 04 15:19:15 2011] [error] [client 87.193.157.154] PHP Notice:  Undefined index: imgpre in /var/www/getpic.php on line 34, referer: http://meinserver/ajax.php


Mit der Version vom 02.08.2011



index.php

h: -q: not found
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): fhem.xml:1: parser error : Document is empty in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file():  in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): ^ in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): fhem.xml:1: parser error : Start tag expected, '<' not found in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file():  in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): ^ in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Fatal error:  Call to a member function children() on a non-object in /var/www/functions.php on line 166


ajax.php

sh: nc: not found
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): fhem.xml:1: parser error : Document is empty in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file():  in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): ^ in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): fhem.xml:1: parser error : Start tag expected, '<' not found in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file():  in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): ^ in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Fatal error:  Call to a member function children() on a non-object in /var/www/functions.php on line 166

ha...@nendzig.net

unread,
Aug 4, 2011, 9:51:54 AM8/4/11
to fhem-...@googlegroups.com
Hallo Klaus!
 
Ich lass mal die alte Version vom 1.8.11 links liegen.

Am Donnerstag, 4. August 2011 15:21:29 UTC+2 schrieb Klaus:

index.php

h: -q: not found
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): fhem.xml:1: parser error : Document is empty in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file():  in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): ^ in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): fhem.xml:1: parser error : Start tag expected, '<' not found in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file():  in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): ^ in /var/www/functions.php on line 164
[Thu Aug 04 15:13:32 2011] [error] [client 87.193.157.154] PHP Fatal error:  Call to a member function children() on a non-object in /var/www/functions.php on line 166

OK, das sehe ich ein, die index.php wird nicht mehr Funktionieren können, da die functions.php schon auf netcat umgeschrieben ist.
 

ajax.php

sh: nc: not found
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): fhem.xml:1: parser error : Document is empty in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file():  in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): ^ in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): fhem.xml:1: parser error : Start tag expected, '<' not found in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file():  in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Warning:  simplexml_load_file(): ^ in /var/www/functions.php on line 164
[Thu Aug 04 15:14:11 2011] [error] [client 87.193.157.154] PHP Fatal error:  Call to a member function children() on a non-object in /var/www/functions.php on line 166
Ha, da haben wir vermutlich den Schuldigen.
Die erste Zeile "sh: nc: not found" deutet darauf hin, daß der exec() Aufruf den Befehl "nc" nicht absetzen konnte.
Was für ein System fährst Du denn? (sorry, falls ich das überlesen haben sollte :-))
Die Fritzbox hat anscheinend in mahcnen Versionen Probleme damit (wobei die Information aus http://www.ip-phone-forum.de/showthread.php?t=97176&page=1 von 2006 stammt...)
 
Wenn Debian oder Ubuntu o.ä., müsste das eigentlich von Haus aus dabei sein. Bei der Fritzbox ist es anscheinend über das Tool busybox implementiert....
 
Versuch einfach mal in der Konsole den Befehl netcat oder nc einzugeben, was dann für Meldungen kommen.
 
 

Klaus

unread,
Aug 4, 2011, 2:01:35 PM8/4/11
to fhem-...@googlegroups.com
Hallo Hans,

 ich benutze den Dockstar mit Debian. Bei Befehle sind dem System nicht bekannt.

/$ netcat
-bash: line 37: netcat: command not found
/$ nc
-bash: line 39: nc: command not found

ha...@nendzig.net

unread,
Aug 4, 2011, 3:26:16 PM8/4/11
to fhem-...@googlegroups.com
Ah, so ein Teil. Hab ich mir schon mal angeschaut, als ich auf der Suche nach SheevaPlug-Informationen war... Sind die wirklich so billig?

Na egal.
Hast Du fhem auch auf dem Dockstar laufen?
Sprich: Webserver und FHEM am gleichen Rechner?

Wenn ja, dann funktioniert die "alte" variante ohne NetCat.
In der Datei config.php die Zeile:
$fhemcmdtmpl = "echo '<cmd>' | nc localhost 7072";
ändern in
$fhemcmdtmpl = "fhem.pl 7072 '<cmd>'";
Sollte eigentlich funktionieren, sofern fhem.pl im Pfad liegt.
Versuch macht kluch:
Gib mal in der Console ein:
fhem.pl 7072 xmllist

Wenn Du dann eine riesige Ausgabewurst siehst, die nach XML riecht, dann müsste obiges funktionieren.

ha...@nendzig.net

unread,
Aug 4, 2011, 3:31:55 PM8/4/11
to fhem-...@googlegroups.com
Oh sorry, es funktioniert nicht ganz - die Funktion CreateStateList stimmt dann nicht, da muss das " -q 5" gelöscht werden....
Ich bastel mal ein Update

ha...@nendzig.net

unread,
Aug 4, 2011, 3:43:27 PM8/4/11
to fhem-...@googlegroups.com
Sodale.
Ich habe in der config.php noch eine Spezialvariable eingefügt namens "$fhemxmllistopt".
Das sind quasi Zusatzoptionen, die explizit für den xmllist Befehl erforderlich sind.
Im Falle von Netcat muss da "-q 5" drinstehn, im Falle von fhem direkt ist der String leer.
Lad Dir einfach mal die letzte homemini.tar runter, hab ausserdem überall ein paar Kommentare eingebaut.

Klaus

unread,
Aug 4, 2011, 4:14:58 PM8/4/11
to fhem-...@googlegroups.com
Hallo Hans,

habe gerade die aktuelle Version downgeloadet.

Hinweis: Ich habe das Pakete netcat (1.10-39) nachinstalliert.

Bei Benutzung der index.php werden meine FHT in der Grafik dargestellt jedoch in der ajax.php nicht.

Siehe Anhang.

Folgende Informationen aus der Apache error.log

index.php

[Thu Aug 04 22:06:11 2011] [error] [client 10.10.10.11] PHP Warning:  require(/var/www/snippets/donate.snip): failed to open stream: No such file or directory in /var/www/index.php on line 117
[Thu Aug 04 22:06:11 2011] [error] [client 10.10.10.11] PHP Fatal error:  require(): Failed opening required '/var/www/snippets/donate.snip' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/index.php on line 117
[Thu Aug 04 22:06:22 2011] [error] [client 10.10.10.11] PHP Warning:  require(/var/www/snippets/donate.snip): failed to open stream: No such file or directory in /var/www/index.php on line 117
[Thu Aug 04 22:06:22 2011] [error] [client 10.10.10.11] PHP Fatal error:  require(): Failed opening required '/var/www/snippets/donate.snip' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/index.php on line 117
[Thu Aug 04 22:06:32 2011] [error] [client 10.10.10.11] PHP Warning:  require(/var/www/snippets/donate.snip): failed to open stream: No such file or directory in /var/www/index.php on line 117
[Thu Aug 04 22:06:32 2011] [error] [client 10.10.10.11] PHP Fatal error:  require(): Failed opening required '/var/www/snippets/donate.snip' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/index.php on line 117

ajax.php

[Thu Aug 04 22:08:06 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/index.php
[Thu Aug 04 22:08:06 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/index.php
[Thu Aug 04 22:08:06 2011] [error] [client 10.10.10.11] PHP Warning:  require(/var/www/snippets/donate.snip): failed to open stream: No such file or directory in /var/www/ajax.php on line 76, referer: http://10.10.10.7/index.php
[Thu Aug 04 22:08:06 2011] [error] [client 10.10.10.11] PHP Fatal error:  require(): Failed opening required '/var/www/snippets/donate.snip' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/ajax.php on line 76, referer: http://10.10.10.7/index.php
[Thu Aug 04 22:08:07 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:07 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:07 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:07 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:17 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:17 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:27 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:27 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:28 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:28 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:28 2011] [error] [client 10.10.10.11] PHP Warning:  require(/var/www/snippets/donate.snip): failed to open stream: No such file or directory in /var/www/ajax.php on line 76, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:28 2011] [error] [client 10.10.10.11] PHP Fatal error:  require(): Failed opening required '/var/www/snippets/donate.snip' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/ajax.php on line 76, referer: http://10.10.10.7/ajax.php
[Thu Aug 04 22:08:28 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php?map=etage3
[Thu Aug 04 22:08:28 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php?map=etage3
[Thu Aug 04 22:08:29 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php?map=etage3
[Thu Aug 04 22:08:29 2011] [error] [client 10.10.10.11] PHP Notice:  Undefined index: imgpre in /var/www/functions.php on line 53, referer: http://10.10.10.7/ajax.php?map=etage3

ajax.gif
index.gif

ha...@nendzig.net

unread,
Aug 5, 2011, 5:07:56 AM8/5/11
to fhem-...@googlegroups.com
Sodale.
Vielen Dank für die fhem.xml, jetzt habe ich endlich mal die Attribute des FHT sehen können.
Der Fehler lag in der Funktion GenerateMapImage, da hat im case-Baum ein Verzweig für Type fht gefehlt.
Habe es nachgebaut. Die Statusanzeige habe ich auch etwas verändert, es wird jetzt untereinander Soll- und Istwert angezeigt (Sollwert: "desired-temp", Istwert: "measured-temp").
Download mal wieder im tar-File http://heimserver.nendzig.net/projekte/HomeMini/homemini.tar

Mach vielleicht noch zwei Änderungen, dann hast Du nicht immer so volle apache-Errorlogs:
- Entferne den Fussteil der ajax.php (das ganze <div id="footer">.....</div>)
- Füge auch bei den elementen, die kein Icon haben, ein "imgpre" ein, das dann halt leer ("") ist

Damit sollte das Errorlog dann eigentlich ruhig sein....

Gruß
Hans

Rudolf Koenig

unread,
Aug 5, 2011, 5:21:10 AM8/5/11
to fhem-...@googlegroups.com
> Damit sollte das Errorlog dann eigentlich ruhig sein....

Wenn Ihr meint, dass es stabil ist, dann haette ich gerne ein Link mit
Downloadmoeglichkeit und Screenshots, damit ich es auf der fhem Seite verlinken
kann.

Hab nicht alle Wendungen der Diskussion mitverfolgt :)

ha...@nendzig.net

unread,
Aug 5, 2011, 5:27:53 AM8/5/11
to fhem-...@googlegroups.com
Bei mir läufts eigentlich Stabil. Ich bin halt laufend am Neuerungen einbauen etc...

Ich hab mich mal an eine Dokumentation versucht:
http://heimserver.nendzig.net/wiki/index.php/HomeMini
Da liegen dann auch Links zum Download etc. herum.
Wenns zusagt: Gerne verlinken oder kopieren....

Gruß
Hans

Rudolf Koenig

unread,
Aug 7, 2011, 6:56:18 AM8/7/11
to fhem-...@googlegroups.com
> Wenns zusagt: Gerne verlinken oder kopieren....

Habs verlinkt. Damit haetten wir 10 (mehr oder weniger) aktiv gepflegte
frontends, davon 4 fuer das iPhone.

hgo

unread,
Dec 30, 2011, 6:57:40 AM12/30/11
to fhem-...@googlegroups.com
Hallo,
hat schon jemand eine Erweiterung für CUL_FHTTK implementiert ?

Gruss
HGO

Reply all
Reply to author
Forward
0 new messages