Fehlermeldung im Log [gelöst]

Begonnen von juli, 26 September 2018, 17:25:41

Vorheriges Thema - Nächstes Thema

juli

Hallo Liebe Fhem gemeinde

Habe folgende Medlungen in meinem Fhem...


2018.09.24 00:21:47 1: PERL WARNING: Subroutine pilight_Initialize redefined at ./FHEM/99_myUtils.pm line 14.
2018.09.24 00:21:47 1: PERL WARNING: Subroutine pilight_Set redefined at ./FHEM/99_myUtils.pm line 28.
2018.09.24 00:21:47 1: PERL WARNING: Subroutine pilight_Define redefined at ./FHEM/99_myUtils.pm line 61.
2018.09.24 00:21:47 1: PERL WARNING: Subroutine commit redefined at ./FHEM/99_myUtils.pm line 80.

Wenn redefinded steht dachte ich es gibt ein datei in der es ja schon defeniert wurde...
Nun habe ich das Problem das ich geschaut habe

ich habe eine 99_Utilis und eine 99_MyUtils der inhalt ist komplett identisch...

Habe auch versucht Fhem runter zu fahren der ist aber nach 5sec wieder da...

Alles gut alles schön ich habe nun versucht über ein FTP-Client (FileZilla versuct die datei zu löschen

Fehler:   rm /opt/fhem/FHEM/99_DWDODweblink.pm.save.1: permission denied
Ich kann über den FileZilla daten in meinen Raspberry bekommen habe auch schon versucht an den rechten zu drehen.

Habe noch andere Module die ich gerne Löschen möchte und neue Einfügen (Modul 99_DWDODweblinks) haben sich geändert
bei denen habe ich das gleiche Problem.

Sorry Leute für diese Frage aber oben steht Anfänger drüber.. Bin nun seit einem halben Jahr im Fhem universum..
Würde mich voll freuen wenn mir jemand helfen kann..



Wernieman

Du must mit dem gleichen User löschen, wie angelegt wurden. Mit FileZilla gehst Du wahrscheinlich als "pi?" rein, FHEM läuft aber unter dem user "fhem" ....

So wie es Sich bei Dir anhört, hast Du schon mal an den rechten gedreht?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

juli

Ich habe es bisher über pi gemacht ...
danke schon einmal im vorraus
versuche nun die rechte für Fhem frei zu geben

Wernieman

Zitatversuche nun die rechte für Fhem frei zu geben
Überlege es Dir mal richtig gut. Nicht umsonst gibt es bei Linux (und Windows, Mac etc.) eine Rechtevergabe.

Warum gehst Du eigentlich mit FileZilla direkt auf dem Pi?  WDa man dieses eher selten tut, würde ich Dir eher einen Umweg empfehlen:
Lege die Daten per Pi auf dem Home-Ordner von Pi. Per ssh und root dann die Daten auf dem Pi verschieben und Rechte anpassen.

Mahl ehrlich, wie häufig Bearbeitest Du FHEM direkt (Wenn Du kein Entwickler bist)?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

juli

Danke Wernieman

sudo chown -R fhem: /opt/fhem


Um zu schauen wie die Rechte im Linux von Fhem zugeordnet sind
Einige beispiele im Netz hatten dialout und root bunt gemischt,
bei mir war es nicht der fall

sudo ls -ll  /opt/fhem

-rw-r--r--  1 fhem dialout 258683 Sep 21 17:37 CHANGED
-rw-r--r--  1 fhem dialout  39688 Sep 21 17:37 configDB.pm
drwxr-xr-x 40 fhem dialout   4096 Feb  3  2018 contrib
drwxr-xr-x  3 fhem dialout   4096 Feb  3  2018 demolog
drwxr-xr-x  4 fhem dialout   4096 Feb  3  2018 docs
drwxr-xr-x  6 fhem dialout  32768 Sep 26 18:29 FHEM
-rw-r--r--  1 fhem dialout  13165 Sep 26 19:21 fhem.cfg
-rw-r--r--  1 fhem dialout  19987 Sep 21 17:37 fhem.cfg.demo
-rwxr-xr-x  1 fhem dialout 150752 Sep 21 17:37 fhem.pl
drwxr-xr-x  2 fhem dialout   4096 Sep  1 00:00 log
-rw-r--r--  1 fhem dialout  38011 Sep 21 17:37 MAINTAINER.txt
-rw-r--r--  1 fhem dialout    935 Feb  3  2018 README_DEMO.txt
drwxr-xr-x  6 fhem dialout   4096 Sep 21 18:48 restoreDir
drwxr-xr-x  2 fhem dialout   4096 Feb  4  2018 unused
drwxr-xr-x  9 fhem dialout   4096 Feb  8  2018 www


um Heraus zu finden ob ein user fhem existiert

sudo cut -f 1 -d : /etc/passwd

Passwort Datei von Linux geändert

sudo nano etc/psswd

Hinter Benutzer Fhem ein \bash

sudo passwd fhem
Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:

Nun habe ich  ein Benutzerpasswort und komme über den FTP rein

Ich habe aber bisher noch nicht den Fehler in meinem Logfile geklärt bekommen

Soll ich nun ein neues Thema anfangen wegen dem Logfile Problem?

Liebe Grüße

Juli

juli

2018.09.27 16:26:46 1: PERL WARNING: Subroutine pilight_Initialize redefined at ./FHEM/99_myUtils.pm line 11, <$fh> line 5.
2018.09.27 16:26:46 1: PERL WARNING: Subroutine pilight_Set redefined at ./FHEM/99_myUtils.pm line 23, <$fh> line 5.
2018.09.27 16:26:46 1: PERL WARNING: Subroutine pilight_Define redefined at ./FHEM/99_myUtils.pm line 56, <$fh> line 5.
2018.09.27 16:26:46 1: PERL WARNING: Subroutine commit redefined at ./FHEM/99_myUtils.pm line 75, <$fh> line 5.



so sieht meine 99_utils ich habe vor den Zeilen über die er meckert die Zahlen geschrieben. Bekomme es irgendwie nicht hin im Code was hervor zu heben

sub
11pilight_Initialize($)
{
  my ($hash) = @_;

  $hash->{SetFn}     = "pilight_Set";
  $hash->{DefFn}     = "pilight_Define";
  $hash->{AttrList}  = "protocol housecode number systemcode unitcode id remote_ip remote_port useOldVersion rawCodeOn rawCodeOff";
}

# housecode == id und number == unitcode
###################################
sub
23[color=red]pilight_Set($@)[/color]
{
  my ($hash, @a) = @_;
  my $rc = undef;
 
  return "no set value specified" if(int(@a) < 2);
  return "on off" if($a[1] eq "?");
 
  shift @a;
  my $command = shift @a;
 
  Log 3, "pilight command: $command";

  if($command eq "on")
  {
    $rc = commit($hash, 1);
  }
  else
  {
    $rc = commit($hash, 0);
  }
 
  if ($rc) {
     $hash->{CHANGED}[0] = $command;
     $hash->{STATE} = $command;
     $hash->{READINGS}{state}{TIME} = TimeNow();
     $hash->{READINGS}{state}{VAL} = $command;
  };
 
  return undef;
}

sub
56[color=red]pilight_Define($$)[/color]
{
  my ($hash, $def) = @_;
  my @a = split("[ \t][ \t]*", $def);

  my $u = "wrong syntax: define <name> <protocol>";
  return $u if(int(@a) < 2);
 
  $hash->{protocol} = $a[2];

  #for backward compartibility

  $hash->{housecode} = (int(@a) > 2) ? $a[3] : '';
  $hash->{unitcode}  = (int(@a) > 2) ? $a[4] : '';
 
  return undef;
}


75[color=red]sub commit[/color]
{


Liebe Grüße Juli

Beta-User

Na ja, das redefined deutet doch klar darauf hin, dass da schon was ist...

Die 99_...pm's werden ganz am Ende geladen, vorher dann z.B.: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/98_pilight.pm (so ein entsprechendes Gerät definiert ist).

Vielleicht solltest du prüfen, ob du die subs als eigene Subs brauchst, andernfalls wäre es evtl. sinnvoll, die entweder zu kapseln oder umzubenennen (was einfacher sein dürfte, jedenfalls, wenn du dich fragst, was kapseln bedeuten soll).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

juli

Hallo Wernieman


ZitatMahl ehrlich, wie häufig Bearbeitest Du FHEM direkt (Wenn Du kein Entwickler bist)?

Ich bin kein Entwickler..
Momentan versuche ich mir eine Tablet ui zu basteln,
Wir haben im Freundeskreis, drei Fhem im laufenden Betrieb,
+ einen der meine Testumgebung darstellt der auf den ich die Tablet ui ausprobiere.
Ich bin keine Programmiererin oder ähnliches,
Es hat sich für mich aber gezeigt das ich lieber in Atom an der Tabletui rum bastel als im nano, deswegen änder ich aktuell auch bequem die Module über FileZilla.
Also an dem ich mit FileZilla arbeit ist also das unser Dummy, den ich jederzeit neu aufsetzen kann wenn er mir um die Ohren fliegt.
Aber danke für den Hinweis!
Grüße
Juli

juli

#8
Super vielen Dank Beta-User und Wernieman

Das habe ich vermutet mit dem redefined

SUPI Vielen dank euch beiden es läüft noch immer und ich mache on öff ....

habe es nun raus kommentiert aus der 99_myUtils und mein Log sieht ordentlich aus
;D

Beta-User

Zitat von: juli am 27 September 2018, 17:14:23
Es hat sich für mich aber gezeigt das ich lieber in Atom an der Tabletui rum bastel als im nano, deswegen änder ich aktuell auch bequem die Module über FileZilla.
Zur Info: Ich nutze auch lieber einen anderen Editor als nano (oder mcedit), wenn es darum geht, code zu schreiben.

Das ist aber noch lange kein Grund, fhem ein passwort zu verpassen. Es gibt andere Wege, den geänderten Code auf den Server zu bringen, Wernieman hatte einen genannt, für kleinere Dateien kann man auch z.B. per ssh+sudo mit mcedit die Datei öffnen, den kompletten Inhalt löschen und dann den neuen Inhalt einfach reinkopieren. Save, reload, that's it.

Und zum Verschieben wie von Werniman angeregt, kann man auch per ssh fast ohne kommandozeilenfrickelei auskommen, wenn man z.B. mc installiert (und mit sudo die richtigen Rechte verpaßt, um die Dateien auch kopieren zu dürfen und die Rechte anzupassen).

Ohne potentielles zusätzliches Sicherheitsrisiko :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files