[FHZ] FHEM 4.4 auf der FritzBox

Begonnen von Dr. Boris Neubert, 03 September 2008, 01:04:34

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Originally posted by: <email address deleted>

Hallo allerseits,
ich benutze FHEM 4.2 seit ca. 3 Monaten auf der FritzBox und möchte
mich hier bei allen beteiligten für dieses Tool bedanken. Vor 2 Wochen
hab ich mir gedacht, daß es schön wäre, auch Version 4.4 zum laufen zu
bekommen und hatte einige Probleme. Ich konnte diese mit ein bißchen
nachdenken und ins Coding schauen lösen - allerdings nicht besonders
elegant... Ich möchte hier mal die Probleme und Lösungen beschreiben,
dann haben es andere "Anfänger" vielleicht etwas leichter. Und
vielleicht kann einer der Profis hier meine Workarounds in den
Standard einbauen.

Vorbereitung: Ich bin von dem Paket http://www.koeniglich.de/fhem/fb_fhem_0.3.tar.gz
ausgegangen, in dem die Version 4.2 drin ist. Die hab ich erstmal auf
einer 7170 zum laufen gebracht. Klappte auch erstmal ohne Probleme,
auch unter der Firmware-Version 29.04.57.

Problem 1: Als ich dann in der fhem.cfg von
               attr global logfile -
auf
               attr global logfile /var/usr/fhem/log/fhem-%Y-%m-%d.log
umgestellt habe. Von da an gab es immer ein restart der Box nach dem
Start von FHEM als server.

Lösung: Ich habe in fhem.pl die Zeilen
# Go to background if the logfile is a real file (not stdout)
#if($attr{global}{logfile} ne "-") {
#  defined(my $pid = fork) || die "Can't fork: $!";
#  exit(0) if $pid;
#}
auskommentiert, so daß es keinen fork mehr gibt. FHEM starte ich dann
über
              /var/usr/fhem/rc.fhem &
im Hintergrund, das klappt.

Vorschlag: Schön wäre es, wenn es einen Kommandozeilenparameter gäbe,
der bestimmt, ob FHEM ein fork macht oder nicht - und nicht implizit
das logfile attribut.

Problem 2: Nachdem ich dann FHEM 4.4 über diese Installation
drüberkopiert habe, lief nichts mehr - für jedes Gerät kam "unknown
device FHZ, please choose one of ... fhz, fs20, ...". Also (fast) alle
Geräte in Kleinschreibung. Irgendwann kam ich drauf, daß es an dem
neuen autoload und am FAT filesystem liegt.

Lösung: Ich habe in fhem.pl in der routine GlobalAttr beim lesen der
Module aus dem modpath
    foreach my $m (sort readdir(DH)) {
      next if($m !~ m/^([0-9][0-9])_(.*)\.pm$/);
      #WP: solve uppercase problem
      my $modname = $2;
      my $order = $1;
      if($modname eq "fs20") {
        $modname = "FS20"; }
      elsif ($modname eq "fhz") {
        $modname = "FHZ"; }
      elsif ($modname eq "fht") {
        $modname = "FHT"; }
      elsif ($modname eq "ks300") {
        $modname = "KS300"; }
      elsif ($modname eq "svg") {
        $modname = "SVG"; }
      $modules{$modname}{ORDER} = $1;
      CommandReload(undef, $m)                  # Always load utility
modules
für alle von mir verwendeten Module das casing richtiggestellt. Aber
an dieser Änderung sieht mal sicher, daß ich kein perl kann - es ist
nur ein Workaround, damit es bei mir funktioniert.

Vorschlag: Hier müsste ein ähnliches Coding hin wie im CommandReload,
wo in jedem Modul nach der Initialize-Funktion gesucht wird und daraus
der Modulname abgeleitet wird.

Mit diesen Änderungen läuft auch das neue FHEM 4.4 inclusive SVG-
Ausgabe auf meiner 7170 und ich bin begeistert...

Danke nochmal und Gruß,
Waldemar


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHZ1000 users on Linux" group.
To post to this group, send email to FHZ1000-users-on-unix@googlegroups.com
To unsubscribe from this group, send email to FHZ1000-users-on-unix+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/FHZ1000-users-on-unix?hl=en
-~----------~----~----~----~------~----~------~--~-
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

                                                   

Hallo Waldemar,

> Ich möchte hier mal die Probleme und Lösungen beschreiben,
> dann haben es andere "Anfänger" vielleicht etwas leichter. Und
> vielleicht kann einer der Profis hier meine Workarounds in den
> Standard einbauen.

Danke fuer die Fehlermeldungen, habs in den TODO notiert.
Freut mich dass es zum Schluss doch noch funktioniert hat!

Gruss,
  Rudi

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

Guest

Originally posted by: <email address deleted>

> Danke fuer die Fehlermeldungen, habs in den TODO notiert.
> Freut mich dass es zum Schluss doch noch funktioniert hat!

Hi Rudi,

Danke für das Tool. Hast Du ne Idee, woran das liegen kann, daß bei
mir kein fork klappt? Hab es mit 2 verschiedenen 7170 probiert... Zwar
klappt meine "Hau-Ruck-Lösung", aber ich hab keine Ahnung, warum...

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

rudolfkoenig

                                                   

> Danke für das Tool. Hast Du ne Idee, woran das liegen kann, daß bei
> mir kein fork klappt?

Nein. Ich hab deine Vorschlaege implementiert und ins CVS eingecheckt.

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

Guest

Originally posted by: <email address deleted>

> Nein. Ich hab deine Vorschlaege implementiert und ins CVS eingecheckt.

Oh, ging ja schnell - werde ich nächste Woche gleich mal testen - bin
leider dann erst zu Hause.

Gruß, Waldemar


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