FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: juliusha am 04 Januar 2015, 18:37:18

Titel: Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: juliusha am 04 Januar 2015, 18:37:18
Hallo lb. Forum,
ich bin langsam am Verzweifeln!
Am 22.12.2014 habe ich ein Update gemacht. Seit diesem Zeitpunkt werden alle Aufrufe von Sub's aus meiner 99_myUtils.pm mit der Fehlermeldung "Unknown command ....." quittiert.
Auch Aufrufe aus der Eingabezeile aus Fhem erzeugen identische Fehlermeldungen!
Inzwischen habe ich viel dazu nachgelesen und auch geändert, bzw. wieder zurück geändert, jedoch ohne Erfolg.
Es wäre toll, wenn mal jemand sich meine 99_myUtils.pm anschauen könnte.

(Bis zum 22.12.2014 lief alles ordnungsgemäß!)

package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}
###################################################################
#Solltemperatur (auto) eines FHT zur aktuellen Uhrzeit ermitteln
sub
FHTnominal($) {

my($fht) = @_;
my $jetzt = strftime("%R", localtime(time));
my @wdays = qw(sun mon tue wed thu fri sat);
my $tag = $wdays[strftime("%w", localtime(time))];
my $f1 = ReadingsVal($fht,$tag . "-from1","00:00");
my $f2 = ReadingsVal($fht,$tag . "-from2","00:00");
my $t1 = ReadingsVal($fht,$tag . "-to1","24:00");
my $t2 = ReadingsVal($fht,$tag . "-to2","24:00");
if(($jetzt ge $f1 && $jetzt le $t1) || ($jetzt ge $f2 && $jetzt le $t2)) {
  fhem("set $fht mode auto desired-temp " . ReadingsVal($fht,"day-temp","21.0"));
} else {
  fhem("set $fht mode auto desired-temp " . ReadingsVal($fht,"night-temp","17.0"));
}
}
###################################################################

######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail {
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xxxxxxxx\@gmail.com";
my $konto = "xxxxxxxx\@gmail.com";
my $passwrd = "yyyyyyyyyyyy";
my $provider = "smtp.gmail.com:587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
###################################################################

sub
FHTTK_status {
my @fhttks = devspec2array("TYPE=CUL_FHTTK");
my @wopen = ();
foreach(@fhttks) {
  my $fhttk_window = ReadingsVal($_, "Window", "nA");
  push (@wopen,$_) if ($fhttk_window eq "Open" );
}
my $num_wopen = @wopen;
my $resultstring='';
if ( $num_wopen gt 0 ) {
  $resultstring="folgende Fenster sind noch offen:\n\n";
  foreach(@wopen) {
   $resultstring.="- ".$_."\n";
   Log 4, "FHTTK_status: ". $_. "noch offen";
  }
} else {
  $resultstring="alle Fenster sind derzeit geschlossen.";
}
return $resultstring;
}
###################################################################
1;


Was habe ich falsch gemacht?

Gruß
Jürgen
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: betateilchen am 04 Januar 2015, 19:02:33
Hast Du schonmal nach einem fhem Neustart in das Logfile geschaut, um zu sehen, ob beim Laden der Datei ein Fehler auftritt?
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: betateilchen am 04 Januar 2015, 19:06:40
Deine Utils-Datei funktioniert in meinem fhem problemlos.
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: juliusha am 04 Januar 2015, 20:37:25
Hallo Betateilchen,

zuerst einmal recht herzlichen Dank für die schnelle Antwort.

Ich kann da keinen Fehler entdecken.
Hier der Auszug aus der Log-Datei nach dem "shutdown restart"

2015.01.04 20:21:35 1: Including fhem.cfg
2015.01.04 20:21:36 3: telnetPort: port 7072 opened
2015.01.04 20:21:36 3: WEB: port 8083 opened
2015.01.04 20:21:36 3: WEBphone: port 8084 opened
2015.01.04 20:21:36 3: WEBtablet: port 8085 opened
2015.01.04 20:21:37 2: eventTypes: loaded 947 events from ./log/eventTypes.txt
2015.01.04 20:21:38 3: FHZ opening FHZ device /dev/ttyUSB0
2015.01.04 20:21:38 3: FHZ opened FHZ device /dev/ttyUSB0
2015.01.04 20:21:40 3: Opening CUL1 device /dev/ttyACM0
2015.01.04 20:21:40 3: Setting CUL1 baudrate to 9600
2015.01.04 20:21:40 3: CUL1 device opened
2015.01.04 20:21:40 3: CUL1: Possible commands: BbCFiAZEGMKUYRTVWXefmltux
2015.01.04 20:21:43 1: Including ./log/fhem.save
2015.01.04 20:21:44 3: initialUsbCheck return value: Unknown command usb, try help.
2015.01.04 20:21:44 2: SecurityCheck:  WEB has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.01.04 20:21:44 0: Server started with 120 defined entities (version $Id: fhem.pl 7358 2014-12-29 16:03:31Z rudolfkoenig $, os linux, user fhem, pid 4946)


Was ja merkwürdig ist, ist die Tatsache, daß es bis zum letzten Update lief.
Ich bin mir relativ sicher, daß ich davon keinerlei Änderungen vorgenommen habe.

In den Logmeldungen vor dem restart sehe ich gerade sporadisch eine andere Fehlermeldung, die aber meines erachtens mit meinem CUL_WS (S300TH) zu tun hat:
PERL WARNING: Argument "0,0" isn't numeric in addition (+) at ./FHEM/14_CUL_WS.pm line 148.

Merkwürdig!

Gruß
Jürgen
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: juliusha am 06 Januar 2015, 20:25:57
Hallo an alle.

Zum meinem obigen Problem bin ich leider noch keinen Schritt weiter gekommen.
Ich habe inzwischen fhem auf dem Pi völlig neu aufgesetzt (inkl. Pi auf einer neuen SD-Card).
Habe also fhem (von fhem.de) Version vom 29.12.2014 16:03:31 auf meinem Pi. Habe allerdings meine bisherige Config wieder eingespielt.
Fazit: KEINE Änderung, d.h. der Fehler ist immer noch da.
Hat evtl. jemand eine Idee was ich noch machen kann?
Für jeden Tip wäre ich dankbar.

Danke und Gruß

Jürgen
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: juliusha am 07 Januar 2015, 17:25:21
Hallo Forum,

das Problem ist behoben, hatte beim Aufruf einen Schreibfehler (Groß-/Kleinschreibung) beim Aufruf der Sub "FHTnominal".

Recht herzlichen Dank an Betateilchen für die Mühe.

Gruß

Jürgen
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: DJ_Chaos am 24 März 2017, 11:13:36
Hallo!
Ist zwar schon ne Weile her, bin aber auch am verzweifeln.
Bei mir kommt die gleiche Fehlermeldung aber ohne Rechtschreibfehler.
Eingabe ist:
FHTnominal ("FHT_Arbeitszimmer") auf der FHEM Kommandozeile.

Habe es auch schon mit
define AZ_Temp_test notify FHT_Arbeitszimmer {FHTnominal(,,FHT_Arbeitszimmer")}

probiert. Er legt das notify auch an und es wird auch bei einer Aktion (z.Bsp. Schalter) was ausgeführt, kommen aber dann Fehlermeldungen im Logfile:
017.03.24 10:26:51 1: ERROR evaluating my $EVTPART1='26%';my $SELF='AZ_Temp_test';my $EVTPART0='actuator:';my $EVENT='actuator: 26%';my $NAME='FHT_Arbeitszimmer';my $TYPE='FHT';{FHTnominal(,,FHT_Arbeitszimmer")}: Unrecognized character \xE2; marked by <-- HERE after HTnominal(<-- HERE near column 151 at (eval 74) line 1.

Kurios ist auch das bei der Fehlermelung HTnominal anstatt FHTnominal dasteht.

Das ganze soll in meinen vorhandenen und funktionierenden Threshold eingebunden werden.

define Thermostat_Ofen Threshold Temp_Ofen:temperature:1 FHT_Wohnzimmer|set FHT_Wohnzimmer mode manual desired-temp off|set FHT_Wohnzimmer mode auto desired-temp 22.5

Der regelt bei mir einen FHT80 bei Ofenbetrieb auf Mode Manual und off und wenn der Ofen die temperatur nicht mehr hat im Moment wieder auf Auto und 18°C.
Soll dann nat. abhängig von FHTnominal zurückgesetzt werden.
Ob das dann geht weiß ich noch nicht, aber erst muß das FHTnominal laufen.

Weiß mir im Moment keinen Rat mehr. Fehlermeldung bei reload 99_myUtils kommt nicht im Logfile.

Viele
Grüße
Jörg
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: viegener am 24 März 2017, 12:10:08
Ich weiss nicht mit was Du diese Texte bearbeitest, aber die Anführungsstriche sind definitiv inkorrekte Zeichen. Du solltest so etwas nur in einem Texteditor zusammenstellen, der nicht versucht deutsche Anführungsstriche (unten/oben) einfügt. Hier empfiehlt sich etwas wie notepadpp, wo man encoding direkt einstellen kann. Word oder ähnliches ist ungeeignet.

Bitte Code in Code tags packen (# button)
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: DJ_Chaos am 24 März 2017, 12:45:37
Ja Danke erst mal. Lag zumindest bei dem notify an den Anführungszeichen. Nicht nur das die oben und unten waren, sind auch noch von der Darstellung anders. Hatte den Teil aus einem Forum kopiert. das Funktioniert erst mal.
Nur beim Aufruf aus der Kommandozeile von FHEM geht es noch nicht. Zur not muß ich eben das Notify ins Threshold einbinden wenn das funktioniert.
Muß jetzt erst mal auf Arbeit.

Grüße
Jörg
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: viegener am 24 März 2017, 13:04:50
FHTnominal ("FHT_Arbeitszimmer") auf der FHEM_Kommandozeile kann nicht funktionieren - das ist ein perl funktionsaufruf - Empfehlung mal in der Commandref über Aufruf von perl direkt aus FHEM nachlesen (perl specials)
Titel: Antw:Fehlermeldung Unknown command FHTnominal("FHT_XXXXX"), try help.
Beitrag von: DJ_Chaos am 25 März 2017, 00:41:05
Alles klar! Funktioniert jetzt Alles wie gewünscht.
Dachte es wäre ein FHEM Befehl.
Vielen Dank!

Grüße
Jörg