Modul: FitzBox Anrufbeantworter

Begonnen von bugster_de, 06 Dezember 2013, 21:43:33

Vorheriges Thema - Nächstes Thema

Franz Tenbrock

also mit telnet die Fritzbox mal weiter untersucht
die datei libtam.so scheint ja wohl eine Rolle zu spielen

hab sie auch im richtigen Ordner gefunden ?!

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Martin Schmid

Beim 'define' wird sicher noch kein anderes Modul benötigt und dabei wird ausschließlich auf den 'ctlmgr_ctl' zugegriffen.
Ich habe gerade noch eine kleine Unschönheit bei den Variablen korrigiert.
Findest Du nach dem
define mytam FB_TAM AB
im Logfile Zeilen mit aufsteigender Zahl, die etwa wie folgt aussehen?
ZitatFB_TAM_Define: 0
FHEM 5.5 Development (Image von Fhem.de)
Fritz!Box 7390 + HM-CFG-LAN
HM-CC-TC + HM-CC-VD
HM-LC-Dim1T-Pl-2, HM-LC-Dim1PWM-CV, HM-LC-Sw1-Ba-PCB
HM-RC-KEY3-B

Franz Tenbrock

Hier mein Auszug aus dem log

2014.02.27 22:08:22 2: FB_TAM_Define: 0
2014.02.27 22:08:22 2: FB_TAM_Define: 1
2014.02.27 22:08:22 2: FB_TAM_Define: 2
2014.02.27 22:08:22 2: FB_TAM_Define: 10
2014.02.27 22:08:22 2: FB_TAM_Define: TAM name not found. Please check for the correct name
2014.02.27 22:08:22 1: define: TAM name not found. Please check for the correct name
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Martin Schmid

Ich habe jetzt noch eine weitere Log-Option in das Modul eingebaut (siehe Anhang).
Dabei sollten beim Definieren alle gefundenen AB-Namen angezeigt werden, bis der Richtige gefunden ist.
Kannst Du das mal testen?
FHEM 5.5 Development (Image von Fhem.de)
Fritz!Box 7390 + HM-CFG-LAN
HM-CC-TC + HM-CC-VD
HM-LC-Dim1T-Pl-2, HM-LC-Dim1PWM-CV, HM-LC-Sw1-Ba-PCB
HM-RC-KEY3-B

Franz Tenbrock

#19
hab die Datei geladen
die alte gelöscht
dann die neue ind fhem kopiert
dann shutdown restart gemacht
und dann
define mytam FB_TAM AB
auf der Kommandzeile eingegeben
hier dann das Log


2014.02.27 22:37:53 2: FB_TAM_Define: 0
2014.02.27 22:37:53 2: FB_TAM_Define: 1
2014.02.27 22:37:53 2: FB_TAM_Define: 2
2014.02.27 22:37:54 2: FB_TAM_Define: 3
2014.02.27 22:37:54 2: FB_TAM_Define: TAM name not found. Please check for the correct name
2014.02.27 22:37:54 1: define: TAM name not found. Please check for the correct name


habe zwischenzeitlich nicht benötigte DECT gelöscht
siehe Bild
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

Hab dann gerade noch einmal den Anrufbeantworter in der Fritz gelöscht und dann neu eingerichtet
dann shutdown restart
das gleiche im Log.
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Martin Schmid

Langsam gehen mir die Ideen aus.
Bei mir sieht das Logfile bei Eingabe von
define AB_test FB_TAM Anonymous
wie folgt aus:
Zitat2014.02.27 22:18:30 2: FB_TAM_Define: 0
2014.02.27 22:18:30 2: FB_TAM_Define: 1
2014.02.27 22:18:30 2: FB_TAM_Define: 2
2014.02.27 22:18:30 2: FB_TAM_Define: Name found: AB_Büro

2014.02.27 22:18:30 2: FB_TAM_Define: Name found: Anonym

2014.02.27 22:18:30 2: FB_TAM_Define: Name found: AB_Büro

2014.02.27 22:18:30 2: FB_TAM_Define: Name found: Anonym

2014.02.27 22:18:30 2: FB_TAM_Define: 3
2014.02.27 22:18:30 2: FB_TAM_Define: TAM name not found. Please check for the correct name
2014.02.27 22:18:30 1: define: TAM name not found. Please check for the correct name

Da bei Dir kein Name ausgegeben wird, bekommt das Modul keinen Namen zurück geliefert, obwohl in der shell die Abfrage funktioniert.
Keine Ahnung woran das liegen kann.
FHEM 5.5 Development (Image von Fhem.de)
Fritz!Box 7390 + HM-CFG-LAN
HM-CC-TC + HM-CC-VD
HM-LC-Dim1T-Pl-2, HM-LC-Dim1PWM-CV, HM-LC-Sw1-Ba-PCB
HM-RC-KEY3-B

Franz Tenbrock

trotzdem 100 Dank
mal sehen ob in den nächsten Tagen neue Ideen kommen
ich kann ja auch per Teamviewer direkten Zugang verschaffen
am WE jetzt aber schlecht.
also 4 Tage Zeit

wäre schön wenn es dann aber irgendwann doch klappt
Kann mir schon gut vorstellen wie das in mein Dashboard passt, vor allem wenn man die Zustände dann mit einem Klick auswählen könnte
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Martin Schmid

Ich muß mal überlegen, was man noch loggen kann um heraus zu finden, wo es klemmt.

Schönen Karnevall  8)
Martin Schmid
FHEM 5.5 Development (Image von Fhem.de)
Fritz!Box 7390 + HM-CFG-LAN
HM-CC-TC + HM-CC-VD
HM-LC-Dim1T-Pl-2, HM-LC-Dim1PWM-CV, HM-LC-Sw1-Ba-PCB
HM-RC-KEY3-B

bugster_de

Hi,

läuft fhem als root auf der Box? Wenn nein, dann geht der Aufruf von ctlmgr_ctl ohne Warnung schief und du siehts den besprochenen Effekt. Denn wenn es per Konsole geht, dann muss auch das Modul gehen.

Mein FB_TAM Modul hat leider die Abfrage ob root ja/nein noch nicht drin. Kommt noch irgendwann ...

Franz Tenbrock

#25
Also ich habe das fhem.de image auf die neue Box gespielt.

Wie kann ich überprüfen ob als root ?

keine Laborversion von AVM oder so

Wo muss was eingestellt sein?

http://www.fhemwiki.de/wiki/FritzBox:_fhem_unter_root_starten
dann will ich das mal machen

Hab im fhem Verzeichniss 2 Dateien eine startfhem und eine startfhemasroot

#!/bin/sh

home=/var/InternerSpeicher/fhem

cd $home

trap "" SIGHUP
modprobe cdc_acm
modprobe ftdi_sio
sleep 2

insmod $home/ch341.ko

ln -sf $home/FHEM/fhemcmd.sh /var/fhemcmd

PATH=$home:$PATH
export PATH

export LD_LIBRARY_PATH=$home/lib
export PERL5LIB=$home/lib/perl5/site_perl/5.12.2/mips-linux:$home/lib/perl5/site_perl/5.12.2:$home/lib/perl5/5.12.2/mips-linux:$home/lib/perl5/5.12.2


# add user fhem with uid of boxusr80/boxusr99 (== ftpuser)
# Comment/delete everything between START and END to run FHEM as root

## START:fhem-user
id fhem > /dev/null 2>&1
if test "$?" -ne "0"; then
  grep -q 1099 /etc/passwd;
  if test $? -eq "0"; then
    echo "fhem:any:1099:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
  else
    echo "fhem:any:1080:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
  fi
  chown -R fhem FHEM docs log www
  chown fhem . *
  chown root dfu-programmer     
  chmod u+s dfu-programmer
fi
## END:fhem-user

perl fhem.pl fhem.cfg


und die startfhemasroot
#!/bin/sh

home=/var/InternerSpeicher/fhem

cd $home

trap "" SIGHUP
modprobe cdc_acm
modprobe ftdi_sio
sleep 2

ln -sf $home/FHEM/fhemcmd.sh /var/fhemcmd


insmod $home/ch341.ko

PATH=$home:$PATH
export PATH

export LD_LIBRARY_PATH=$home/lib
export PERL5LIB=$home/lib/perl5/site_perl/5.12.2/mips-linux:$home/lib/perl5/site_perl/5.12.2:$home/lib/perl5/5.12.2/mips-linux:$home/lib/perl5/5.12.2

# add user fhem with uid of boxusr80/boxusr99 (== ftpuser)
# Comment/delete everything between START and END to run FHEM as root

perl fhem.pl fhem.cfg


das werde ich dann aber erst am So Abend schaffen und testen
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

bugster_de

Hi,

ich habe das Modul im ersten Post dieses Threads ausgetauscht. Die nun angehängte Version überprüft beim define, ob man auf der FB ist und ob man root ist. Wenn man nicht root ist, gibt es eine entsprechende Fehrlermeldung und einen Logfile Eintrag. Somit also bitte die Datei herunterladen und ins FHEM Verzeichnis kopieren und FHEM neu starten.

Wenn Du FHEM einfach so installiert hast, dann läuft es per Default nicht als root.
Wie man fhem als root startet steht hier:
http://www.fhemwiki.de/wiki/FritzBox:_fhem_unter_root_starten

Ich glaube aber, der Wiki Artikel ist veraltet, da Fhem mittlerweile ein Startskript drin hat, das fhem auch direkt als root starten kann.

Ich mache das immer so:
- fhem stoppen ("shutdown")
- mit Telnet auf die Box gehen
- folgendes ausführen: ./var/InternerSpeicher/fhem/startfhemAsRoot

Ich weiß aber nicht mehr, was man tun muß um automatisch als root zu starten

Franz Tenbrock

Hallo
ich gehe mal davon aus das ich fhem stoppen muss, dann würde ich mit dem Explorer die Datei startfhem in startfhemohneroot umbennenen dann wiederum aus startfhemasroot die Datei ist ja schon vorhanden startfhem machen, dann fhem nue starten. Ich denke gerade für nciht Linux Anwender wird das os viel einfacher sien. Dann sollte die Box immer als root starten
Bin mir nur noch nciht im klaren darüber was das ev sonst noch für Auswirkungen habne wird.
Das werdei ch aber erst am So ausprobieren können da ich von der Arbeit direkt ins WE fahre.
Danke aber bis hierher für die tolle Unterstützung und damit auch Weiterentwicklung für das Modul. Ich hoffe andere Anfänger werde es so auch einfacher haben das nachzumachem
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

bugster_de

Hi,

so kannst Du das machen. Ich würde es aber auf der Konsole machen und den Befehl cp datei_alt datei_neu (zum kopieren) und mv datei_alt datei_neu (zum Umbenennen) nehmen.

Ich habe FHEM seit ewigen Zeiten als Root laufen. Ich verstehe eigentlich nicht unbedingt, warum man das als anderer User laufen lassen sollte. Gab bisher keine Nebenwirkungen.

Franz Tenbrock

so als root läuft er nun

so jetzt will ich mal den Status übers Dashboard angehen,

Ein Beispiel wie ich das mit dem HomeStatus schon mache habe ich oben schon geschrieben
Hier noch einmal:
Das will ich mal irgendwie mit dem Ab kombinieren, ev auch mit einem Pulldown Menü
mal sehen


define HomeStatus dummy
attr HomeStatus group HomeStatus
attr HomeStatus room System
attr HomeStatus setList state:Zuhause,Weg,Urlaub,Party
attr HomeStatus webCmd Zuhause:Weg:Urlaub:Party
define Zuhause notify HomeStatus:Zuhause set EsszimmerLED off
define Weg notify HomeStatus:Weg set EsszimmerLED off
define Urlaub notify HomeStatus:Urlaub set EsszimmerLED off
define KurzWeg notify HomeStatus:Party set EsszimmerLED off
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi