[erledigt] fhem mag nicht mehr seit dem letzten raspi-update (?23.4.?)

Begonnen von the ratman, 24 Juni 2017, 12:38:01

Vorheriges Thema - Nächstes Thema

the ratman

ich krieg bald die kriese mit diesen raspis und linux.
gestern hab ich sowohl meine nas als auch den fhem-server (beisdes raspi 3) upgedatet. alles lief, alles ging.
dann hab ich eben fhem upgedatet, restartet und nix ist mehr gekommen. bei der nas weiß ich nix genaues, hab dann nur zusätzlich dort drauf gesehen. auf beiden systemen gehen die "hauptprogramme" nicht (also fhem und bei der nas omv3) ssh rennt, ich komm sowohl per kitty und winscp auf beide systeme, bei der nas rennt sogar die weboberfläche des jdownloader.
fhem startet an - mit immer der selben meldung im log
2017.06.24 12:26:31 1: Including fhem.cfg
2017.06.24 12:26:31 1: PERL WARNING: Subroutine myUtils_Initialize redefined at ./FHEM/99_MyUtils.pm line 16, <$fh> line 11.
2017.06.24 12:26:31 1: PERL WARNING: Subroutine myUtils_HeizungUpDown redefined at ./FHEM/99_MyUtils.pm line 28, <$fh> line 11.
2017.06.24 12:26:31 1: PERL WARNING: Subroutine myUtils_HeizungUpDownNotify redefined at ./FHEM/99_MyUtils.pm line 70, <$fh> line 11.
2017.06.24 12:26:31 1: PERL WARNING: Subroutine myNetatmoIcons redefined at ./FHEM/99_MyUtils.pm line 96, <$fh> line 11.
2017.06.24 12:26:31 1: telnetPort: Can't open server port at 7072: Die Adresse wird bereits verwendet. Exiting.
aber dann herrscht stille. fhem ist nicht erreichbar und tut auch nichts. die auslastung des raspis liegt unter 5%. der dienst von fhem scheint aber zu rennen.

kann mir wer helfen?
→do↑p!dnʇs↓shit←

DeeSPe

Die "redefined at ./FHEM/99_MyUtils.pm line" sollten beim Neustart gar nicht kommen.
Sind die evtl. doppelt definiert?

"telnetPort: Can't open server port at 7072: Die Adresse wird bereits verwendet. Exiting." deutet ja darauf hin dass noch ein FHEM (oder auch was anderes auf Port 7072) läuft.
Schon mal "sudo killall perl" probiert? Danach fhem neustarten.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

#2
also diese einträge kommen schon immer - keine ahnung.
ich geh auch davon aus, dass das problem nicht an fhem, sondern am letzten raspi-update liegt, nachdem ja beide raspis betroffen sind.
nur bei meiner ahnung von linux kann ich nicht mal wirklich was vermuten ...

sudo killall perl und neustart von fhem haben auch nix gebracht. gut, ein gesamter neustart des raspi hat ja auch nix gebracht vorher *g*.

aja, mutils - hab dort eig. nur die 2 subs, die ich aus der wiki kopiert hab für die heizungssteuerung (hm) und die netatmo-icons.
sind ne 1:1 kopie und sonst ist das ding leer
→do↑p!dnʇs↓shit←

DeeSPe

Mache auch gerade mal ein Update auf meinen Test RPi 3.
Es gibt offenbar ein neues Perl:
ZitatDie folgenden Pakete werden aktualisiert (Upgrade):
  libc-bin libc-dev-bin libc6 libc6-dbg libc6-dev libffi6 libgcrypt20
  libgnutls-deb0-28 libgnutls-openssl27 libgraphite2-3 libraspberrypi-bin
  libraspberrypi-dev libraspberrypi-doc libraspberrypi0 locales multiarch-support
  perl perl-base perl-modules raspberrypi-bootloader raspberrypi-kernel
  raspi-config tar

Der Download ist gerade sehr lahm. Mal schauen ob danach mein System noch läuft.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

#4
entwarnung!
beide raspis vom strom genommen - jetzt rennens mal wieder.
jetzt mach ich mal das fhem update wieder (hatte die alte svg eingespielt, weil ich der erst die schuld gegeben hab), dann meld ich mich wieder.
und mir haben immer alle erzählt, linux muß man ja nicht mal rebooten, geschweige den ganz vom strom nehmen - jaja

aja, ich glaub auch nicht, dass am perl liegt - weil mein omv3 rennt auf php.

nachtrag:
nach nem restart von fhem rennt auch weiterhin alles.
1 mal strom weg scheint also wirklich zu reichen.
meine nas verhällt sich genauso.
→do↑p!dnʇs↓shit←

DeeSPe

Gerade bei Kernel Updates (die es ja offenbar gab) ist ein Neustart eines Linux eigentlich unausweichlich.
Und wenn die Basis von FHEM (Perl) aktualisiert wird, macht es auch Sinn mal neu zu starten.
Schön dass es erst mal wieder läuft!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

jau, ich dank dir für deine zeit auf jeden fall!

neustart hatte der fhem-raspi auch schon 3 hinter sich. aber stromlos machen is in meinen augen noch ne andere liga.

aber wenn ich dich schon dran hab *fg* ne idee, wo die warnings wegen der myutils her kommen?
→do↑p!dnʇs↓shit←

DeeSPe

Stromlos machen ist in der Tat ungewöhnlich.....

Dann zeig doch mal Deine (komplette) 99_myUtils.pm, sonst kann ich Dir da keinen Tipp geben.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

aber gern ...
wollt nur voerher dein o.k., dass du überhaupt lust hast *G*

##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;
use Image::Grab;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

#################################
# Heizung regeln in readingsGroup
#################################

sub
myUtils_HeizungUpDown($$)
{
  my($DEVICE,$CMD) = @_;
 
  my $icon = $CMD;
  my $VALUE = ReadingsVal($DEVICE,"desired-new","20" );
  $VALUE = ReadingsVal($DEVICE,"desired-temp","20" )
     if( !$VALUE || $VALUE == 0 );
  my $link;
 
  if( $CMD eq "up" ) {
    $icon = "control_arrow_upward";
    $VALUE += 1;
 
    if( $VALUE <= 24 ) {
      $icon .= "\@red";
      $link = "setreading $DEVICE desired-new $VALUE";
    }
  } elsif( $CMD eq "down" ) {
    $icon = "control_arrow_downward";
    $VALUE -= 1;
 
    if( $VALUE >= 18 ) {
      $icon .= "\@blue";
      $link = "setreading $DEVICE desired-new $VALUE";
    }
  }
 
  my $notify = "notifyHeizungUpDown";
  if( !defined($defs{$notify}) ) {
    CommandDefine(undef,
                   "$notify notify .*:desired-new.* "
                   ."{ myUtils_HeizungUpDownNotify(\$NAME,\$EVTPART1); }" );
  }
 
  my $ret = "%$icon";
  $ret .= "%$link" if( $link );
 
  return $ret;
}

sub
myUtils_HeizungUpDownNotify($$)
{
  my($DEVICE,$VALUE) = @_;
 
  return if( $VALUE == 0 );
 
  my $at = "triggerHeizungUpDown_$DEVICE";
  CommandDelete(undef, $at) if( defined($defs{$at}) );
  CommandDefine(undef,
                "$at at +00:00:03 "
                ."{my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);"
                ."fhem(\"set $DEVICE desired-temp \$v\") if( \$v );"
                ."fhem(\"setreading $DEVICE desired-new 00\");}" );
 
  return undef;
}





###############
# Netatmo Icons
###############

sub
myNetatmoIcons($)
{
   my $pic = new Image::Grab;
   my $url = 'https://my.netatmo.com/images/my/app/weather_symbol/for';
   my ($value) = @_;
   my $icon = "unknown\@red";
   my $file = "/opt/fhem/www/images/default/netatmo-";

   # Wenn der übergebene Wert nicht 6 Stellen hat oder diese 6 Stellen nicht nummerisch sind,
   # Default-Icon unknown in rot zurück geben
   if ((length($value) != 6) || !($value =~ /^\d+$/)) {
      Log3 $value, 2, "not numeric and 6 digits long";
      return $icon;
   }

   # Prüfen, ob die Bilddatei existiert. Wenn nicht, holen und abspeichern
   $file = $file . $value . ".png";
   if (! -e $file ) {
      $url = $url . $value . "\@2x.png";
      $pic->url($url);
      if ( ! $pic->grab ) {
         Log3 undef, 2, "image could not be retreived: $!";
         return $icon;
      }
      if (! open(IMAGE, ">".$file) ) {
         Log3 undef, 2, "file could not be opened for saving: $!";
         return $icon;
      }
      #binmode IMAGE;  # for MSDOS derivations.
      print IMAGE $pic->image;
      close IMAGE;
      fhem("set WEB rereadicons");
   }

   # Wenn wir bis hierher gekommen sind, sollte das image existieren
   $icon = "netatmo-" . "$value";
   return $icon;
}



1;
→do↑p!dnʇs↓shit←

DeeSPe

Sehe erst mal keine doppelten Funktionen...

Hast Du evtl. eine "99_MyUtils.pm" und eine "99_myUtils.pm"?
Die mit dem kleinen m ist richtig, die andere nicht!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

#10
nö, nur eine mit M

wie gsagt: das war auch schon immer so - und je nach menge an subs hat er beim neustart auch entsprechende warnings geworfen.
→do↑p!dnʇs↓shit←

DeeSPe

Zitat von: the ratman am 24 Juni 2017, 13:22:18
nö, nur eine mit M

Könntest Du die mal bitte richtig benennen (mit kleinem m) und nochmal neu starten?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

So, das Update ist nun komplett durch bei mir.
Ein einfacher Reboot hat genügt und FHEM läuft wieder genau so wie vorher.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

the ratman

fein - funzt.
frag mich nur ned, warum das m die falsche größe hatte ...

ist das schön - jetzt mußt ich nur mehr die warnings des dlna-renderers los werden, dann wäre ich warnings-frei.

ich danke dir für deine hilfe!

lustig wegen reboot.
mein raspi3 ist fast neu und frisch - auf dem hab ich mich noch nicht mal blöd rumgespielt. ich glaub langsam, linux hat mich persönlich auf einer art blacklist. das mag mich einfach ned,
→do↑p!dnʇs↓shit←

DeeSPe

Tja, manchmal sind es diese kleinen feinen Details die es ausmachen... 8)

Schön dass Du das nun los bist.

Gruß
Dan

P.S. Das wird schon noch mit Linux und Dir... 8)
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe