Hab eure Wuensche (samt meine deutlich laengere Liste :) weitergeleitet.
> - bitte pruef mal, ob bei Deiner Installation die save.cfg korrekt
> geschrieben und gelesen wird
Yupp, es wird korrekt geschrieben und gelesen.
Ich habe das Zeit-Problem (d.h. die Zeit wird per NTP nach dem start von fhem
gestellt) auch behoben und ins CVS eingecheckt. Siehe auch
http://cvs.berlios.de/cgi-bin/viewvc.cgi/fhem/fhem/ oder ab morgen das ganze
Paket vom http://www.dhs-computertechnik.de/downloads/fhem-cvs.tgz
Weitere Hinweise fuer (potentielle) Fhem @ FritzBox Benutzer:
- FHZ1x00 geht aktuell nicht oder andersherum: Man kann z.Zt nur das CUL und
per Netzwerk ansprechbare Geraete mit fhem verwenden.
- Da fhem im chroot lebt, kann man nur wenige sinnvolle FritzBox Programme
aufrufen.
- Falls man Shellskripte von fhem aus doch ausfuehren will, dann braucht man
vorher ein:
mknod /var/InternerSpeicher/fhem/dev/null c 1 3
- Vorschlag fhem.cfg Aenderungen:
# Aendern
attr global logfile /opt/fhem/log/fhem-%Y-$m.log
define CUL CUL /dev/ttyACM0@38400 1234
# Neu
define fhemlog FileLog /opt/fhem/log/fhem-%Y-$m.log NONE:NONE
Falls man fhemlog definiert, dann taucht das FHEM Logfile auch im Frontend
auf.
Ich habe all diese Punkte in meinem Mail an AVM angesprochen, und hoffe auf
Besserung.
Grus,
Rudi
irgendwer meinte, fhem laufe auf der 7390 in einer chroot, wenn ich das
richtig verstanden habe. Eventuell das "mailer" binary da einfach
hineinkopieren (sowie nat�rlich eventuell notwendige dependencies...)?
Kanns leider nicht testen, habe keine :-(
Gru�
marte
mkdir /var/InternerSpeicher/fhem/bin
cp /bin/mailer /var/InternerSpeicher/fhem/bin
ldd /bin/mailer
=> alle dependencies an die entsprechende Stelle im chroot kopieren...
Wenn /var/InternerSpeicher/fhem das chroot-Verzeichnis ist, also einfach
die notwendige Struktur mit entsprechenden Pfaden dort nachbilden.
Vermutlich braucht der mailer noch irgendeine Config, die m�sste dann
auch dort hinein.
VIELLEICHT gehts ja dann...
Gru�
marte
Am 15.06.2011 10:16, schrieb jwk:
Die Version aus der CVS. Am einfachsten das "Nightly CVS Version" von fhem.de
runterladen, auspacken, fhem.pl und alle Module rueberkopieren.
% mkdir /tmp/x
% cp <fhem>/FHEM/*.pm /tmp/x
% cp <fhem>/webfrontend/pgm2/* /tmp/x
% cd /tmp/x
% ftp fritz.box
ftp> cd /opt/fhem/share/FHEM
ftp> mput *
ist ja schon mal ein gro�er Schritt. Schau mal auf der Kommandozeile mit
"strace mailer" (sofern strace vorhanden ist), welche Configs der braucht.
Gru�
marte
Am 16.06.2011 17:49, schrieb jwk:
> => alle dependencies an die entsprechende Stelle im chroot
> kopieren...
>> VIELLEICHT gehts ja dann...
>>
>
> Danke f�r die gute Idee. Hab ich gemacht. Der Systemaufruf /bin/mailer
> -s test l�uft jetzt zwar ohne Fehler durch, jedoch kommt keine Mail
> an. Ich nehme an, das liegt an den Voreinstellungen des mail - binary,
> die ja eine Mail an die in der FB festgelegt Adresse sendet die aber
> wohl nicht findet.
>
> Meine Idee: das 'normale' Linux mail binary zu verwenden ,ist aber
> nicht im fhem/bin vorhanden und hab kein passendes (+libraries) zu
> dieser Distribution gefunden...
>
> Gru�
>
> JWK
>
Ich dachte ich lass noch Entfaltungs- und Dokumentationsmoeglichkeit fuer die
eifrigen Tester :)
Mein Install-Skript schiebt das alte fhem zu Seite, installiert sich an
gleicher Stelle aber in eine deutlich einfachere Baumstruktur, und kopiert von
der alten fhem (AVM oder meine Version) fhem.cfg und alles aus dem log
Verzeichnis rueber. Die AVM Version der fhem.cfg wird beim installieren an die
neue Verzeichnisstruktur angepasst. Im Moment werden 99*.pm (und andere
modifizierte Module) nicht uebernommen. Danach wird das alte fhem
geloescht!
Die Labor-Version startet fhem via /etc/init.d/S85app in einem chroot. Meine
Verion traegt sich zum Starten ins /var/flash/debug.cfg ein. Die Labor-Version
wird trotzdem wegen cdc_acm.ko benoetigt.
Kannst Du vorher noch die Zusammenhaenge rauskriegen? Also wieso wird ein
fhemcmd Skript aufgerufen, falls man #95*x* waehlt? Es gibt eine lange Liste
solcher Codes fuer diverse (nicht-fhem) Zwecke: irgendwo muss dass konfiguriert
sein.
Hoere ich hier die Anfaenge eines FB7170 oder FB7270 Paketes raus? :)
> Worauf muss ich dabei achten?
Ich habe alles auf /var/InternerSpeicher/fhem festkodiert. Wenn Du das auch
fuer die FB7270 hinkriegst, dann koennten wir bis auf perl und irgendwelche
Kernel Module alles gleich haben. Das wuerde bestimmt auch die Benutzer
freuen...
> F�r meine Box muss ich ja leider das alte perl benutzen.
Stimmt, das FB7390-er perl kann man nicht fuer das FB7270 nehmen, es ist wohl
fuer das andere Endian uebersetzt. Weiss jemand, wozu AVM diese Kehrtwende
mit dem Endianness gemacht hat? Das neue perl verbraucht aber nach Gefuehl
statt 5MB gleich das doppelte, ich waere also auch mit dem alten nicht
ungluecklich.
Wenn Du schon dabei bist :) kannst Du auch ein dfu-programmer fuer das FB
uebersetzen? Ich versuch das gleiche fuer den FB7390.
Gruss,
Rudi
interessant w�re vielleicht einfach eine Auflistung der Unterschiede zu
der Installation auf der 7170, wie ich sie im Wiki beschrieben habe...
Rudi, kannst Du vielleicht von der fhem.de Homepage auf das wiki
verweisen? Meiner Meinung nach ist die auf fhem.de beschriebene
Installation ein overkill f�r die FB, da zumindest der apache bei der
pgm2-Installation nicht ben�tigt wird - und die Fritzbox eh schon am
Limit kratzt... Bei mir l�uft die cvs-Version problemlos auf der 7170,
siehe wiki.
Gru�
marte
Am 27.06.2011 19:48, schrieb J�rg71:
> Hallo Rudi,
>
> ich m�chte kein Paktet bauen sondern es geht mir um das no-chroot, was
> ich gerne f�r meine Installation h�tte. Bei meiner Box gibt es kein
> "InternerSpeicher", bei mir ist alles in /var/usr/fhem und wird vorher
> �ber ein Startscript vom USB-Stick dorthin kopiert. Aber das scheint
> mir nicht der Grund zu sein, warum ich keine Befehle auf der Box �ber
> fhem ausf�hren kann. Wenn das dann l�uft kann ich aber gerne eine neue
> Anleitung f�r die �lteren FBs schreiben.
>
> Ein neues Image bauen kann ich leider nicht und irrgendwas �bersetzen
> schon gar nicht...
>
> Tsch�s,
>
> J�rg
>
chmod -R go+rw /var/InternerSpeicher/fhem
g = gruppe
o = other
sihe auch "man chmod", notfalls in google :)
Kann ich nicht reproduzieren. Falls Du das hinkriegst, bitte mir eine
configuration schicken, den ich nachtesten kann.
> Bezgl Deines 'Permission Denied' - hast Du das ebenfalls o.g.
> chmod -R go+rw /var/InternerSpeicher/fhem
> (mit auf Dein environment angepasstem Pfad) schon probiert?
fhem laeuft unter root, d.h. fuer fhem sind die Rechte nicht wirklich relevant.
Das chroot in deinem Fall war notwendig, um mit der Web-Oberflaeche oder ftp
Daten in die Verzeichnisse kopieren zu koennen: diese Prozesse laufen nicht
unter root. Es waere eine ueberlegung wert, die fhem-verzeichnisse fuer diese
Prozesse schreibbar zu machen.
save und lastinclude sind nur bedingt zu mischen: beim save werden alle
definierten Geraete und die dazugehoerigen Attribute in fhem.cfg gespeichert.
In lastinclude gehoeren eigentlich nur "set" Kommandos rein. Inzwischen gibt es
dafuer eine bessere Alternative, da fhem nach dem Lesen der config Datei ein
INITIALIZED event rumschickt (siehe auch http://fhem.de/commandref.html#notify)
d.h. man kann entsprechende notify's bauen, die dann via save in fhem.cfg
landen. Ich hab gerade in commandref lastinclude mit "deprecated" versehen.
Wem das zu doof ist, der muss auf save (und damit autocreate) verzichten,
dafuer kann er aber die Konfiguration mit beliebig geschachtelten include
Befehlen strukturieren.
Indirekt, da laut der gestellten Fragen an der FHZ Unterstuetzung gearbeitet
wid. Von den anderen Punkten weiss ich nichts.
> Der Umstand, dass man nach dem AVM-fhem noch das Rudi-fhem
> dr�berinstallieren muss/sollte, ist ja doch suboptimal...
Das ist aber auch nicht notwendig. Um fhemcmd aus der AVM Version zu
extrahieren reicht es das .image in .tar umzubenennen, dann kann man den Inhalt
mit windows Programmen auch einfach untersuchen.
Du hast leider eine versehentlich eingecheckte Testversion erwischt, entweder
durch Installieren der CVS version, oder durch ein updatefhem.
Da ich beim testen von updatefhem nicht meine Installation ueberschreiben
wollte, habe ich die Daten in einem Dummy-Verzeichnis (XXX) kopieren lassen.
> Was kann ich tun?
Die aktuelle Version 5.1 drueberinstallieren. Ist fuer den fritzbox eh besser,
weil durch updatefhem kein fhemcmd.sh mitkommt, und nur durch die Installation
werden die Daten auf dem fritzbox dem boxusr80 geschenkt.
Kannst Du bitte folgendes durchfuehren:
% telnet fritz.box
# cd /var/InternerSpeicher/fhem/
# ./startfhem
und erzaehlen wo es hakt?
Ich rate mal: Da wurde erst das von AVM bereitgestellte fhem image installiert,
und danach das von fhem.de. Letzteres versucht beim Installieren das "alte"
konfig-file zu konvertieren, das ist nachweislich oefters gelungen :) Entweder
ist die Konvertierung aber diesmal fehlgeschlagen, oder (meine Vermutung)
jemand hat das alte "AVM"-Konfigfile nachtraeglich wieder draufkopiert.
Loesung: entweder alles neu (rm -rf /var/InternerSpeicher/fhem;
fhem-5.1-fb7390.image neu installieren), oder in fhem/fhem.cfg alle(!) Pfade
anpassen (/fhem/log -> ./log, usw.).
Fhem laeuft schon. Entweder FB neu starten oder "ps -ef; kill <fhem-pid>".
Steht jetzt was in der logfile?
Es klingt so, dass kurz nach dem eigentlichen fhem Start jemand fhem nochmal
starten moechte (14:26:35 vs 14:29:40 oder 14:39:30 vs 14:39:52), das geht aber
natuerlich nicht mehr. Es wird aber 7072 als telnet port und 8083/8084/8085 als
HTTP Port geoeffnet -> fhem laeuft (sonst koennte man es erneut starten), es
sollte also gar kein Problem geben.
Funktioniert http://fritz.box:8083/fhem ? Und "telnet fritz.box 7072"?
> P.S. Wie kann ich fhem boot-resistent machen. Wo mu� ich das
> startskript eintragen.
Das ist eigentlich schon getan, das Installationsprogram traegt sich ins
/var/flash/debug.cfg ein. Ich glaube es gibt aber auf dem neueren Geraeten auch
andere Wege.
> Ist dies auf der FB entsprechend einem Linux auf einem PC ?
Im Prinzip ja, aber /etc ist readonly.
Aah, putty -> Windows -> Bitte ordentlichen telnet besorgen. Das Windows telnet
ist nach meine Definition nicht ordentlich :) putty kann man mit Muehe und
not zu eine halb-funktionierende umkonfigurieren, das haben wir irgendwo in
dieser Gruppe schon versucht. Evtl. kann ein Windows Kenner eine Alternative
vorschlagen. Und ich bitte jemanden die funktionierende Alternative ins
fhemwiki eintragen, ich glaube die Frage kommt demnaechst oefters auf uns zu.
> Soweit schon einmal zufriedenstellend. Aber ich gehe mal davon aus,
> da� man einen telnet-Zugang f�r die fhem-Umgebung ben�tigt, wenn man
> etwas mehr, wie den Standard betreiben m�chte.
"inform" funktioniert nicht (man braucht inform fuers event-debugging, bzw.
fuer komplexere notifys). Alles andere kann man auch in der Web-Kommandozeile
eingeben. Inklusive sowas wie {`reboot`} :)
Zusammenfassung fuer Querleser: Windows telnet funktioniert mit fhem nicht.
> Ich gebs erst mal auf. AVM Wait and see.
Ich habe ein no-chroot Variante gebaut, siehe http://fhem.de/fritzbox7390.html
Koennt Ihr mir bitte feedback geben?