Befehle "direkt" an fhem

Begonnen von Guest, 19 Juni 2011, 11:32:33

Vorheriges Thema - Nächstes Thema

Tobias

                                                   

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" wrote:
> Happy ausprobiering!

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Guest

Originally posted by: <email address deleted>

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

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

Guest

Originally posted by: <email address deleted>

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.
 
 

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

Guest

Originally posted by: <email address deleted>

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 hans@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+unsubscribe@googlegroups.com
>

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

Guest

Originally posted by: <email address deleted>

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?

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

Guest

Originally posted by: <email address deleted>

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

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

Guest

Originally posted by: <email address deleted>

Sodale, Punkt 3 ist erledigt :-)
Allerdings denke ich, daß Du Dir vielleicht doch lieber dann selber ein
Sprinkler-Icon basteln solltest :-)
Zum Download bereit:
http://heimserver.nendzig.net/projekte/HomeMini/homemini.tar
 

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

Guest

Originally posted by: <email address deleted>

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 :-)

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

Guest

Originally posted by: <email address deleted>

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

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

Guest

Originally posted by: <email address deleted>

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_Aussen FileLog_Sensor_Aussen hms
Sensor_Aussen-2011.log&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&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+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Werde ich morgen mal testen. Danke erste einmal.

Gruß Klaus

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

Guest

Originally posted by: <email address deleted>

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 :-)

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

Tobias

                                                   

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() [function.simplexml-load-file]: 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??

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

                                                   

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

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

                                                   

hab etwas gefunden, eventuell müsste man mit der fsockopen funktion
arbeiten....
http://php.net/manual/en/function.fsockopen.php

On 2 Aug., 21:28, "tobias.faust" wrote:
> 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

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter