Hallo Joachim....
also soweit alles gemacht..
wenn ich nun wieder sudo /etc/init.d/alexa start
eintippe dann kommt das wieder:
pi@raspberrypi:~ $ sudo /etc/init.d/alexa start
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
-su: Zeile 0: cd: /opt/fhem/alexa-fhem: Datei oder Verzeichnis nicht gefunden
Alexa starting
Alexa is not running
script done
script done
und im Ordner alexa-fhem wurde jetzt ein log datei erstellt, das ist der Inhalt:
-su: ./bin/alexa: Datei oder Verzeichnis nicht gefunden
geändertes startscript:
#!/bin/sh
### BEGIN INIT INFO
# Provides: alexa
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for alexa
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof alexa`
export ALEXAPATH="/opt/fhem/alexa-fhem"
export LOGPATH="/home/pi/alexa-fhem/log"
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
echo "Alexa starting"
sleep 2
$0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
echo "Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
kill $PID
echo "Alexa closed"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa closed"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
$0 start
else
$0 stop
$0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is running PID $PID"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa running as PID $PID"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
echo "Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
echo "script done"
exit 0
Gruss
Der Logeintrag ist klar, da ja der 'cd' (change directory) Befehl zuvor nicht geklappt hat.
Jetzt noch mal (bevor ich zurück springe).
Wohin hast du alexa-fhem installiert?
War doch (wie bei mir, wenn ich mich recht entsinne): /home/pi/alexa-fhem ?
Dann natürlich noch den ALEXAPATH anpassen, eben auf: /home/pi/alexa-fhem
Dann sollte es gehen...
Gruß, Joachim
Zitat von: MadMax-FHEM am 04 April 2018, 20:15:55
Der Logeintrag ist klar, da ja der 'cd' (change directory) Befehl zuvor nicht geklappt hat.
Jetzt noch mal (bevor ich zurück springe).
Wohin hast du alexa-fhem installiert?
Wie ich schon geschrieben habe, habe ich mich erst an das Video von haus-automatisierung gehalten und da habe ich folgendes ausgeführt:
wget http://files.haus-automatisierung.com/alexa-fhem-0.3.4.tgz
tar -xzf alexa-fhem-0.3.4.tgz
mv package alexa-fhem
cd alexa-fhem
Wenn ich mich per Filezilla einwähle mit user:pi und meinem pass dann ist alex-fhem unter /home/pi zu finden !!
Klar, wenn du den 'wget' im Home-Verzeichnis von User 'pi' als User 'pi' ausgeführt hast, dann landet das nat. genau dort:
/home/pi/alexa-fhem
Hast du mal den Pfad im Startscript angepasst und gestartet:
sudo /etc/init.d/alexa start
Gruß, Joachim
aha, jetzt habe noch den ALEXAPATH geändert und siehe da..wenn ich jetzt "sudo /etc/init.d/alexa start" eingebe, dann kommt folgendes...das muss man erstmal wissen......
pi@raspberrypi:~ $ sudo /etc/init.d/alexa start
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
Alexa starting
Alexa is running PID 1966
script done
script done
Tja, drum heisst es ja "ALEXAPATH" ;)
So nun läuft es doch schon mal...
...in der Logdatei sollte jetzt die gewohnte Ausgabe stehen (also so ähnlich wie beim Start per ./bin/alexa von der Console aus)...
Jetzt dann noch systemd wieder "deaktivieren", damit da nichts durcheinander kommt und den initd als service einrichten, damit das dann auch beim Booten automatisch startet.
Sofern du es so laufen lassen willst...
Gruß, Joachim
Zitat von: MadMax-FHEM am 04 April 2018, 20:24:57
Klar, wenn du den 'wget' im Home-Verzeichnis von User 'pi' als User 'pi' ausgeführt hast, dann landet das nat. genau dort:
/home/pi/alexa-fhem
Hast du mal den Pfad im Startscript angepasst und gestartet:
sudo /etc/init.d/alexa start
Gruß, Joachim
du bist klasse :D so langsam wird mir immer mehr klar..ich dachte immer noch mit dem Befehl
wget http://files.haus-automatisierung.com/alexa-fhem-0.4.4.tgz
woher weiss linux das es das /home/pi verzeichnis ist??? klar...vorher cd gemacht dann bin ich im home Verzeichnis...deshalb muss man dann da auch aufpassen wenn man diesen Befehl ausführt wo man gerade steht...o.k. aber das ist jetzt nicht das Thema....
Ahaaa jetzt läuft auch in Fhem die Statuslampe auf Gelb und leuchtet :D
Zitat von: MadMax-FHEM am 04 April 2018, 20:28:54
Tja, drum heisst es ja "ALEXAPATH" ;)
So nun läuft es doch schon mal...
...in der Logdatei sollte jetzt die gewohnte Ausgabe stehen (also so ähnlich wie beim Start per ./bin/alexa von der Console aus)...
Jetzt dann noch systemd wieder "deaktivieren", damit da nichts durcheinander kommt und den initd als service einrichten, damit das dann auch beim Booten automatisch startet.
Sofern du es so laufen lassen willst...
Gruß, Joachim
Könnten wir das noch zusammen machen mit dem deaktivieren und den initd service.....
ich möchte es gerne so haben das ich nicht ständig wenn ich ev. mal neustarte immer alexa manuell starten muss..
hat doch jetzt echt nicht lange gedauert.. ;)
Danke Dir trotzdem
Zitat von: Kusselin am 04 April 2018, 20:29:06
du bist klasse :D so langsam wird mir immer mehr klar.
Danke! Bitte gerne...
Zitat von: Kusselin am 04 April 2018, 20:29:06
Ahaaa jetzt läuft auch in Fhem die Statuslampe auf Gelb und leuchtet :D
Jep, weil das im Script durch die Befehle gemacht wird, daher passt auch nur initd zu dem DOIF/Dummies:
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
Jetzt dann noch:
sudo update-rc.d alexa defaults
Dadurch wird das initd-Script als "Dienst" eingerichtet und somit beim Systemstart automatisch gestartet...
Dann sollten wir noch systemd wieder "weg machen", nicht dass da dann beim Booten was durcheinander kommt...
Gruß, Joachim
So, jetzt aber genau überlegen!
Bevor wir systemd Zeugs "deaktivieren"!!
Heißt die von dir angelegte alexa-Startdatei unter systemd tatsächlich so:
/etc/systemd/system
Hast du etwas wie:
sudo systemctl enable system
ausgeführt?
(Sofern die Datei tatsächlich so heißt / ansonsten nat. mit dem jeweiligen tatsächlichen Namen)
Gruß, Joachim
halt Joachim...bevor ich jetzt was falsches mache.......es funzt ja alles soweit jetzt...habe noch bissl probleme mit namen da alexa net alles kennt aber das bekomme ich hin....
sollte man dann wirklich jetzt das systemd entfernen??
ich habe eine Datei namens alexa.service in diesem Pfad angelegt /etc/systemd/system
mit dem Inhalt:
[Unit]
Description=Node.js Alexa Server
After=syslog.target network-online.target
[Service]
Type=simple
User=alexa
WorkingDirectory=/opt/fhem/alexa-fhem
ExecStart=/opt/fhem/alexa-fhem/bin/alexa -U /home/pi/.alexa
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
den status habe ich abgefragt wie im wiki beschrieben....sudo systemctl status alexa
ob ich jetzt sudo systemctl enable system
eingegeben habe..weiss ich nimmer...sorry
den befehl sudo update-rc.d alexa defaults
habe ich eben als benutzer pi nochmal ausgeführt!!
Weil wir gerade dabei sind:
wenn du 'sudo' benutzt, dann führst du es nicht als User 'pi' aus (oder nur "indirekt"), sondern als 'root': superuser do (oder so ähnlich ;) )...
EDIT2: das (sudo) hilft auch mal, wenn du mit dem "normalen" User 'pi' nicht mehr "weiter kommst". Aber halt aufpassen: was immer du tust du tust es dann als 'root'! Daher: sudo nicht "überstrapazieren" und genau schauen, ob es tatsächlich nötig ist...
Also ich würde sicherheitshalber die systemd Sachen "zurückbauen"...
...aber es ist dein System.
Solange es keine Probleme gibt (und du dich nicht traust/sicher bist) kannst du es nat. auch lassen...
Hier mal was zu tun ist, wenn du dich doch entscheidest:
sudo systemctl disable alexa
Danach die Datei löschen:
sudo rm /etc/systemd/system/alexa.service
(sollte kein Problem sein, die hast du ja selbst angelegt)
Wenn die Datei auf dem System bleibt (und ausführbar ist) und du evtl. doch 'sudo systemctl enable alexa' ausgeführt hast, dann wird die Datei bei jedem Boot ausgeführt.
Wenn sie nichts macht oder "nur" Fehler liefert, dann naja...
...das wird wohl so sein, da ja der Start von alexa-fhem per systemd nicht geklappt hat...
Dann sollte das System wieder sauber sein.
Sicherheitshalber danach noch mal:
sudo update-rc.d alexa defaults
Damit auch sichergestellt ist, dass der Dienst 'alexa' wieder "installiert/angelegt" ist...
...halt mittels initd...
So, dann viel Spaß noch!
EDIT: achja, wenn das dann läuft den Thread noch auf gelöst setzen. Umbenennen in beispielsweise "[gelöst] Probleme bei Installation etc. mit alexa-fhem Smart Home Skill"
Gruß, Joachim
du schreibst " wenn du sudo benutzt dann führst du es nicht per user pi aus".....was meinst du was führe ich nicht als pi aus??????
hab jetzt mal den befehl abgesetzt unter user pi:
pi@raspberrypi:~ $ sudo systemctl disable alexa
Synchronizing state of alexa.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable alexa
das kommt raus...ist das o.K.??
hab mich nochmal über filezilla mit root rechten angemeldet und in den Ordner /etc/systemd/system/ und die datei ist weg!!! nachdem ich das ausgeführt habe: sudo rm /etc/systemd/system/alexa.service
wenn ich jetzt einen reboot des systems durchführe also zb sudo reboot dann müsste alexa automatisch an sein und wenn ich fhem starte müsste die Glühbirne gelb leuchten...richtig???
Gruss
Also noch mal kurz zu sudo:
sudo BEFEHL
Führt eben den BEFEHL als 'root' aus egal welcher User (beispielsweise 'pi') den "sudo BEFEHL" eintippt... ;)
Achja, wie im Log immer zu lesen war solltest du evtl. mal das Passwort des Users 'pi' ändern.
Entweder mittels: sudo raspi-config (hier wird dann raspi-config als 'root' ausgeführt) und dann dort irgendwo Passwort ändern...
...oder wie in der Logausgabe zu lesen:
passwd
als User 'pi' (ohne sudo!) eingeben und dann eben das tun was da steht: neues Passwort eingeben (und wiederholen)...
Jep, denke das sollte passen.
Dann noch die Datei löschen...
...und halt sicherheitshalber noch mal:
sudo update-rc.d alexa defaults
Gruß, Joachim
Zitat von: Kusselin am 04 April 2018, 21:14:19
wenn ich jetzt einen reboot des systems durchführe also zb sudo reboot dann müsste alexa automatisch an sein und wenn ich fhem starte müsste die Glühbirne gelb leuchten...richtig???
Gruss
Das mit der Glühbirne kommt drauf an.
Da ja das Script beim Start den Status in fhem setzt (bzw. versucht) kommt es halt drauf an, ob fhem da schon läuft...
...wenn fhem da noch nicht läuft, dann: wahrscheinlich nicht...
Gruß, Joachim
Zitat von: MadMax-FHEM am 04 April 2018, 21:17:37
Also noch mal kurz zu sudo:
sudo BEFEHL
Führt eben den BEFEHL als 'root' aus egal welcher User (beispielsweise 'pi') den "sudo BEFEHL" eintippt... ;)
Achja, wie im Log immer zu lesen war solltest du evtl. mal das Passwort des Users 'pi' ändern.
Entweder mittels: sudo raspi-config (hier wird dann raspi-config als 'root' ausgeführt) und dann dort irgendwo Passwort ändern...
...oder wie in der Logausgabe zu lesen:
Ja danke das weiss ich wie das geht bzw wie man das über die config ändert...
Zitat von: MadMax-FHEM am 04 April 2018, 21:17:37
Dann noch die Datei löschen...
...und halt sicherheitshalber noch mal:
[code][code]sudo update-rc.d alexa defaults
[/code][/code]
Ja die Datei habe ich mit dem rm befehl gelöscht...
und den Befehl
sudo update-rc.d alexa defaults
eben nochmal ausgeführt....
O.K. nichts desto trotz ein wirklich herzliches Dankeschön an Dich....das ist nicht SELBSTVERSTTÄNDLICH!!!!
Ich hoffe auch andere haben was von dem Thread und kommen so weiter!!
Gruss
Markus
Haalt...bins nochmal.....jetzt habe ich mal ein reboot gemacht......
jetzt brennt status Alexa immer gelb und ist immer an..obwohl ich auf restart oder stop klicke....... :-[
nee, jetzt funzen auch die sprachbefehle nicht mehr...shit....
sudo /etc/init.d/alexa status
Alexa is not running
script done
script startet trotz sudo update-rc.d alexa defaults
nicht automatisch...muss dann über Konsole sudo /etc/init.d/alexa start
eingeben und dann gehts wieder
Steht etwas im alexa-fhem Log nach einem Reboot?
Gruß, Joachim
Zitat von: MadMax-FHEM am 04 April 2018, 21:40:50
Steht etwas im alexa-fhem Log nach einem Reboot?
Gruß, Joachim
[2018-4-4 21:33:42] using /home/pi/.alexa/config.json
[2018-4-4 21:33:43] ---
[2018-4-4 21:33:43] this is alexa-fhem 0.4.4
[2018-4-4 21:33:43] Fetching FHEM devices...
[2018-4-4 21:33:43] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1522870423331
[2018-4-4 21:33:43] Server listening on: https://:::3000
[2018-4-4 21:33:43] [FHEM] Checking devices and attributes...
[2018-4-4 21:33:43] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=1&XHR=1
[2018-4-4 21:33:43] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=1&XHR=1
[2018-4-4 21:33:43] [FHEM] Fetching FHEM devices...
[2018-4-4 21:33:43] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=alexa&fwcsrf=1&XHR=1
[2018-4-4 21:33:44] [FHEM] alexa device is MyAlexa
[2018-4-4 21:33:44] [FHEM] MyAlexa is switch
[2018-4-4 21:33:44] [FHEM] MyAlexa has
[2018-4-4 21:33:44] [FHEM] homebridgeMapping: #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER
TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
[2018-4-4 21:33:44] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.4.4%22%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=1&XHR=1
[2018-4-4 21:33:44] perfectOfVerb:
[2018-4-4 21:33:44] { stelle: 'gestellt',
schalte: 'geschaltet',
'färbe': 'gefärbt',
mach: 'gemacht' }
[2018-4-4 21:33:44] verbsOfIntent:
[2018-4-4 21:33:44] [ OnIntent: [ 'schalte' ],
prozentIntent: [ 'stelle' ],
HueIntent: [ 'stelle' ],
HueIntentB: [ 'färbe' ],
SaturationIntent: [ 'stelle' ],
SaturationIntentB: [ 'sättige' ],
TargetPositionIntent: [ 'mach' ],
gradIntent: [ 'stelle' ] ]
[2018-4-4 21:33:44] characteristicsOfIntent:
[2018-4-4 21:33:44] { OnIntent: [ 'On' ],
prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
HueIntent: [ 'Hue' ],
HueIntentB: [ 'Hue' ],
SaturationIntent: [ 'Saturation' ],
SaturationIntentB: [ 'Saturation' ],
TargetPositionIntent: [ 'TargetPosition' ],
gradIntent: [ 'TargetTemperature' ] }
[2018-4-4 21:33:44] prefixOfIntent:
[2018-4-4 21:33:44] { OnIntent: undefined,
prozentIntent: 'auf',
HueIntent: 'auf',
HueIntentB: undefined,
SaturationIntent: 'auf',
SaturationIntentB: undefined,
TargetPositionIntent: undefined,
gradIntent: 'auf' }
[2018-4-4 21:33:44] suffixOfIntent:
[2018-4-4 21:33:44] { OnIntent: undefined,
prozentIntent: 'prozent',
HueIntent: undefined,
HueIntentB: undefined,
SaturationIntent: undefined,
SaturationIntentB: undefined,
TargetPositionIntent: undefined,
gradIntent: 'grad' }
[2018-4-4 21:33:44] alexaTypes:
[2018-4-4 21:33:44] { light: [ 'licht', 'lampen' ],
blind:
[ 'rolladen',
'rolläden',
'jalousie',
'jalousien',
'rollo',
'rollos' ] }
[2018-4-4 21:33:44] roomOfEcho:
[2018-4-4 21:33:44] {}
[2018-4-4 21:33:44] fhemIntents:
[2018-4-4 21:33:44] { FHEMgutenMorgenIntent: 'gutenMorgen',
FHEMguteNachtIntent: 'guteNacht' }
[2018-4-4 21:33:44] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;list%20MyAlexa%20.Alexa.Authorization;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=1&XHR=1
[2018-4-4 21:33:44] [FHEM] got: 6 results
[2018-4-4 21:33:44] [FHEM] Beleuchtung_Ostseite is switch
[2018-4-4 21:33:44] [FHEM] Beleuchtung_Ostseite has
[2018-4-4 21:33:44] [FHEM] On [state;on,off]
[2018-4-4 21:33:44] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Beleuchtung_Ostseite',
informId: 'Beleuchtung_Ostseite-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-04 21:33:44 caching: Beleuchtung_Ostseite-state: off
[2018-4-4 21:33:44] [FHEM] Beleuchtung_Suedseite is switch
[2018-4-4 21:33:44] [FHEM] Beleuchtung_Suedseite has
[2018-4-4 21:33:44] [FHEM] On [state;on,off]
[2018-4-4 21:33:44] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Beleuchtung_Suedseite',
informId: 'Beleuchtung_Suedseite-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-04 21:33:44 caching: Beleuchtung_Suedseite-state: off
[2018-4-4 21:33:44] [FHEM] Beleuchtung_Terrasse is switch
[2018-4-4 21:33:44] [FHEM] Beleuchtung_Terrasse has
[2018-4-4 21:33:44] [FHEM] On [state;on,off]
[2018-4-4 21:33:44] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Beleuchtung_Terrasse',
informId: 'Beleuchtung_Terrasse-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-04 21:33:44 caching: Beleuchtung_Terrasse-state: off
[2018-4-4 21:33:44] [FHEM] Beleuchtung_Westseite is switch
[2018-4-4 21:33:44] [FHEM] Beleuchtung_Westseite has
[2018-4-4 21:33:44] [FHEM] On [state;on,off]
[2018-4-4 21:33:44] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Beleuchtung_Westseite',
informId: 'Beleuchtung_Westseite-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-04 21:33:44 caching: Beleuchtung_Westseite-state: off
[2018-4-4 21:33:44] [FHEM] Steckdose_Onkyo_TXNR509 is switch
[2018-4-4 21:33:44] [FHEM] Steckdose_Onkyo_TXNR509 has
[2018-4-4 21:33:44] [FHEM] On [state;on,off]
[2018-4-4 21:33:44] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Steckdose_Onkyo_TXNR509',
informId: 'Steckdose_Onkyo_TXNR509-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-04 21:33:44 caching: Steckdose_Onkyo_TXNR509-state: off
[2018-4-4 21:33:44] [FHEM] Steckdose_Player_Wohnen_EG is switch
[2018-4-4 21:33:44] [FHEM] Steckdose_Player_Wohnen_EG has
[2018-4-4 21:33:44] [FHEM] On [state;on,off]
[2018-4-4 21:33:44] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Steckdose_Player_Wohnen_EG',
informId: 'Steckdose_Player_Wohnen_EG-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-04 21:33:44 caching: Steckdose_Player_Wohnen_EG-state: off
[2018-4-4 21:36:12] accepted new token
**** Received Directive: {"directive":{"header":{"namespace":"Alexa.PowerController","name":"TurnOn","payloadVersion":"3","messageId":"9f89913e-58b6-4e4a-a137-5893adb565aa","correlationToken":"AAAAAAAAAQC3s0NE9xyfoldnJax1RNjmBAIAAAAAAAAhCCR6+nMvHq0fusrik+dFajdElZ8PhmfhlAvW0YlM9DvL8mJ9UxY0LxU+zF8ML5C94Z+zay2+pzxS+NvMT8HGhtAcb56JJxzflRyWe+XL2BMB9HbaYTwDvBLgVWydF7NEHavRPWlHrP27P+J3idER7U3noOfjvz4/MZ14Xrp64Ljj9f7VXJ6BjsxZUn/LkniRtVmT2wOn2bbCDVm5rHwW/KPYsxZgUg6B1wgYgvlXh4DlpIy4VHntF6Y+cSJjoX0ituNM+j+1DwK+F/x+ZGplVTsehHHfGHce+B0PdUovmLdGtr0xyDkTlRSi7RMWyeqZxBTLSM/CoPFpvgXgWXEzv3UvlJpA8PlmDzo6zuroR4OS4DDU+kSom5GxJ7h+fX2eFthJokwWEld/uC8biGDM3ohkCEyIJLN3NG4MXU/QcxziUMZ8LszP9gph4fe4N/hILXVdhyB6+I1S7+wcrUXKYBB0B3aOsYdHlzgcmQSv7RiHxRrcjRKGStfUr60g6f5whnJwkuiAPqiCUfhVYgRj0SMEzEHnwWefhBeNzqf02DdQlpRgkG1G8Flnw/h3DrdRRU8pLPxhXnPD9Pka1Zj2UrDHWoZob55Gqm3z0vVu2FJPHhD3GKLXamLhvOrFiiLaGRtcLeHuGubA9ISXemS3hT65fd7gDpq1W67AmhnYN0/Tfng="},"endpoint":{"scope":{"type":"BearerToken","token":"Atza|IwEBIHEnxnufleyajWx7p4wXTLbU4Z6COrr18IZgqRvawo65vKStN-w1ZF7bJFxObpjI2B7CME8b7B2tLnJ11tcpYRhvy28NvQuHsQKYh8q1sIjn14plwtZ11mF9wo3TkJh10dZX6OzzzVFH1WlCYq0HEZCiibTQUwi7Q8L_PvQtwmQFu8lcM9DDKY8mZ4mU5hmMPwii6REErIGkGqYtizYRATXVGn1eKUMISswoDi3lvtFDCBuknaU2OLbsqqqBoqr_327lCZPPLbSEsBlgCVKFxd9y_8ohV-cO3pagR-ggZlbgFfkp77YZ4WEqNATCClKjVzHK3QindwaARaH_9sgYMo3qWiTG0A6y231XU3iPFT1Bfja9lrwCf7ogzhn3msI_AvG7-uiY2ZeV432bAfeatRwFTCMUhRrYSNOB4MXT3l_cnTuoHWCFBwnVGitW3Hbsd4wZP11zNoaWcrN2rfT37WPDfIaGuYUnJChE-lx8b_w1JA"},"endpointId":"CUL_HM_471C0201","cookie":{"device":"Beleuchtung_Terrasse"}},"payload":{}}}
[2018-4-4 21:36:12] [FHEM] Beleuchtung_Terrasse: executing set cmd for On with value 1
[2018-4-4 21:36:12] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=set%20Beleuchtung_Terrasse%20on&fwcsrf=1&XHR=1
response :{"context":{"properties":[{"namespace":"Alexa.PowerController","name":"powerState","value":"ON","timeOfSample":"2018-04-04T19:36:12.191Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"name":"Response","payloadVersion":3,"namespace":"Alexa","messageId":"157b9c17-4e43-4d28-8f9e-0be85f8b0b79","correlationToken":"AAAAAAAAAQC3s0NE9xyfoldnJax1RNjmBAIAAAAAAAAhCCR6+nMvHq0fusrik+dFajdElZ8PhmfhlAvW0YlM9DvL8mJ9UxY0LxU+zF8ML5C94Z+zay2+pzxS+NvMT8HGhtAcb56JJxzflRyWe+XL2BMB9HbaYTwDvBLgVWydF7NEHavRPWlHrP27P+J3idER7U3noOfjvz4/MZ14Xrp64Ljj9f7VXJ6BjsxZUn/LkniRtVmT2wOn2bbCDVm5rHwW/KPYsxZgUg6B1wgYgvlXh4DlpIy4VHntF6Y+cSJjoX0ituNM+j+1DwK+F/x+ZGplVTsehHHfGHce+B0PdUovmLdGtr0xyDkTlRSi7RMWyeqZxBTLSM/CoPFpvgXgWXEzv3UvlJpA8PlmDzo6zuroR4OS4DDU+kSom5GxJ7h+fX2eFthJokwWEld/uC8biGDM3ohkCEyIJLN3NG4MXU/QcxziUMZ8LszP9gph4fe4N/hILXVdhyB6+I1S7+wcrUXKYBB0B3aOsYdHlzgcmQSv7RiHxRrcjRKGStfUr60g6f5whnJwkuiAPqiCUfhVYgRj0SMEzEHnwWefhBeNzqf02DdQlpRgkG1G8Flnw/h3DrdRRU8pLPxhXnPD9Pka1Zj2UrDHWoZob55Gqm3z0vVu2FJPHhD3GKLXamLhvOrFiiLaGRtcLeHuGubA9ISXemS3hT65fd7gDpq1W67AmhnYN0/Tfng="},"endpoint":{"scope":{"type":"BearerToken","token":"Atza|IwEBIHEnxnufleyajWx7p4wXTLbU4Z6COrr18IZgqRvawo65vKStN-w1ZF7bJFxObpjI2B7CME8b7B2tLnJ11tcpYRhvy28NvQuHsQKYh8q1sIjn14plwtZ11mF9wo3TkJh10dZX6OzzzVFH1WlCYq0HEZCiibTQUwi7Q8L_PvQtwmQFu8lcM9DDKY8mZ4mU5hmMPwii6REErIGkGqYtizYRATXVGn1eKUMISswoDi3lvtFDCBuknaU2OLbsqqqBoqr_327lCZPPLbSEsBlgCVKFxd9y_8ohV-cO3pagR-ggZlbgFfkp77YZ4WEqNATCClKjVzHK3QindwaARaH_9sgYMo3qWiTG0A6y231XU3iPFT1Bfja9lrwCf7ogzhn3msI_AvG7-uiY2ZeV432bAfeatRwFTCMUhRrYSNOB4MXT3l_cnTuoHWCFBwnVGitW3Hbsd4wZP11zNoaWcrN2rfT37WPDfIaGuYUnJChE-lx8b_w1JA"},"endpointId":"CUL_HM_471C0201"},"payload":{}}}
2018-04-04 21:36:12 caching: Beleuchtung_Terrasse-state: set_on
2018-04-04 21:36:12 caching: Beleuchtung_Terrasse-state: on
Kommt das bei einem Reboot?
Dann sollte es aber laufen...
Wie gesagt das mit der Glühlampe muss nichts bedeuten...
...allerdings sollte (muss) alexa-fhem nach fhem starten, sonst kann es sein, dass Alexa meldet, dass die Geräte bzw. das angesprochene Gerät nicht reagiert...
Um zu sehen, dass bzw. ob was beim Boot passiert kannst du die Logdatei mal löschen/wegsichern und dann noch mal booten.
Dann sollte ja wieder ein Log da sein...
Löschen mit: rm Dateiname
Wegsichern mit: mv Dateiname DateinameSicherung
EDIT: vorher nat. alexa-fhem beenden...
Gruß, Joachim
Hi Joachim....vielen vielen Dank......
das log das ich hier gepostet habe, habe ich erst nach dem manuellen starten von alexa gemacht ::) autsch!!
aber ich mach das mal so wie du beschrieben hast....ich geh jetzt schlafen....
Gute nacht und nochmals herzlichen Dank!!!
Was ich grade noch gelesen habe und noch nicht ganz verstanden habe,
muss ich im Alexa Device in Fhem auch die:
articles
prepositions
fhemIntents
alexaTypes
noch definieren?
da ich diese ja auch im Custom skill benutze.
und wie bekomme ich es hin, egal ob Smart home skill oder Custom das ich alexa sagen kann:
Alexa, öffne die Haustüre
anstatt
Alexa, schalte die Haustüre ein
Zitat von: Tueftler1983 am 05 April 2018, 23:22:01
Was ich grade noch gelesen habe und noch nicht ganz verstanden habe,
muss ich im Alexa Device in Fhem auch die:
articles
prepositions
fhemIntents
alexaTypes
noch definieren?
da ich diese ja auch im Custom skill benutze.
Die Dinge wie Slot Types etc. kannst du beim Alexa-Device mit get abfragen und dann beim Custom Skill eintragen...
Ansonsten halt mal die Attribute des Alexa Devices anschauen, da ist ja bereits einiges vorbelegt.
Es gibt auch irgendwo hier einen Thread bzgl. Custom Skill...
Zitat von: Tueftler1983 am 05 April 2018, 23:22:01
und wie bekomme ich es hin, egal ob Smart home skill oder Custom das ich alexa sagen kann:
Alexa, öffne die Haustüre
anstatt
Alexa, schalte die Haustüre ein
Mit Smart Home Skill höchstens über ein homeBridgeMapping und dann vielleicht als Rollladen oder so...
Und beim Custom Skill kannst du ja selbst definieren was du sagen willst, musst aber immer den "Skillnamen" dazu sagen:
Alexa sage Haustüre öffne dich ;)
Wenn Haustüre dein Skillname wäre...
Gruß, Joachim
@Kusselin: läuft es inzwischen?
Gruß, Joachim
Zitat von: MadMax-FHEM am 05 April 2018, 23:32:44
@Kusselin: läuft es inzwischen?
Gruß, Joachim
YOU ARE THE BEST👍👍
Ja soweit lüppt es nun..bin jetzt am alexa raum füllen😄 Sollte ich noch fragen haben würde ich mich melden..ok?
Gruss
Zitat von: Kusselin am 06 April 2018, 07:37:23
YOU ARE THE BEST👍👍
Ja soweit lüppt es nun..bin jetzt am alexa raum füllen😄 Sollte ich noch fragen haben würde ich mich melden..ok?
Gruss
Freut mich!
Dann viel Spaß!
Setzt du dann diesen Thread noch auf gelöst!?
Gruß, Joachim
Soll ich?
Sonst würde ich den einfach so lassen...denke das vielleicht noch mehr davon haben....oder?
Gruss
Nicht schließen, sondern nur den Betreff des ersten Posts umbenennen, z.B.: [gelöst] Probleme bei Installation etc. mit alexa-fhem Smart Home Skill
Dann haben normalerweise noch mehere was davon, weil sie sehen, dass es auch (inzwischen) eine Lösung gibt...
Und der Thread wird nicht weiter "gekapert"...
...parallel und durcheinander von verschiedenen Problemen in einem Thread wird (irgendwann) echt kompliziert ;)
Gruß, Joachim
Moin Joachim,
also ich muss mich nochmal melden...der init.d Befehl funzt doch nicht bei mir... :-(
ich habe jetzt mal die Stop-Taste in Fhem gedrückt, aber der Status bleibt ünverändert an. Wenn ich den raspi reboote dann muss ich per Konsole Alexa neu starten dann gehts wieder....
Irgendwie wird der Befehl in Fhem bzw. von Fhem nicht ausgeführt :-(
wenn du abends mal zeit hast dann melde dich bitte nochmal...
Viele Grüße
Markus
Hallo Markus,
viel Zeit hab ich diese Woche nicht aber lass uns mal sehen was geht ;)
Start mittels: ./bin/alexa
geht (noch)!?
Start mittels: sudo /etc/init.d/alexa start
geht auch (noch)!?
Was passiert bei sudo service alexa start
Jeweils nach dem Starten natürlich vor dem nächsten Versuch wieder beenden (sonst geht es nat. nicht).
Welches System hast du installiert: Raspbian (Wheezy), Jessie oder Stretch?
(nicht dass initd mittlerweile bei Stretch mit neuestem Update "deaktiviert" wurde)
Dann probieren wir mal was simples:
neues "Start-Script":
sudo nano /etc/init.d/test
Dort dann einfach:
#!/bin/bash
echo "Das ist ein Test" >> /home/pi/test.log
exit 0
einfügen und dann mit strg+O und strg+X beenden (oder strg+X und dann yes)...
Dann:
sudo chmod +x /etc/init.d/test
und
sudo update-rc.d test defaults
dann
sudo service test start
Dann sollte es eine Datei /home/pi/test.log geben, in der eben "Das ist ein Test" steht.
Nach einem Reboot sollte dann eine 2te Zeile drin stehen mit dem selben Text: "Das ist ein Test"... ;)
Wenn das geht, dann stimmt irgendwas mit der alexa-Datei nicht...
...wenn das auch nicht geht dann wurde entweder initd wirklich deaktiviert oder es ist auf deinem System "kaputt"...
Gruß, Joachim
Hallo Joachim, ich bin gerade unterwegs..ich kann dir aber sagen das ich das stretch lite aufm raspi habe...bringt dir das was im Vorfeld jetzt..weil du schreibst ob es deaktiviert wurde....
Ich habe grad letzte woche woche sudo apt-get update und upgrade gemacht
Gruss
Macht nix...
Ich merk mir das mit Stretch und update/upgrade einfach... ;)
Spätestens wenn der simple Test fehlschlägt werde ich mal ein neues System aufsetzen und das mal nachtesten...
Wenn es dann bei mir immer noch geht, dann ist bei dir wohl was "verbogen"...
...wenn's dann bei mir auch nimmer geht, dann muss ich mal sehen...
Evtl. dann halt doch (endlich) systemd ;)
Aber erst mal die Schritte durchspielen, dann sehen wir schon...
Einfach wieder melden wenn du die "Tests" durch hast...
Gruß, Joachim
Hallo Joachim:
das kommt raus wenn ich alexa stoppe:
pi@raspberrypi:~ $ sudo /etc/init.d/alexa stop
Alexa closed
script done
wenn ich sudo service alexa start
eingebe dann kommt gar nix und es springt auf den prompt zurück.
wenn ich nun einen reboot gemacht habe und im test.log geschaut habe...dann kommt
Das ist ein Test
Das ist ein Test
Gruss
Was passiert bei
sudo /etc/init.d/alexa start
Was liefert
sudo /etc/init.d/alexa status
nach einem start (boot oder manueller start)?
Dass die Testausgaben funktionieren zeigt zumindest schon mal, dass initd prinzipiell wohl noch tut...
Steht etwas im alexa-fhem Log?
(nach einem [re]boot / evtl. Log weglöschen damit klar ist was zum jeweiligen Versuch gehört)
Poste doch noch mal das alexa Script:
/etc/init.d/alexa
Wie hast du es erstellt?
Jeweils vor den diversen Startaufrufen halt immer alexa-fhem stoppen nicht vergessen!
Gruß, Joachim
Hi, sorry hatte die Tage auch viel um die Ohren...jetzt aber mein Bericht :-)
sudo /etc/init.d/alexa star
Ich habe hier vorher Alexa per konsole gestoppt
sudo /etc/init.d/alexa stop
...dann
Zitat von: MadMax-FHEM am 10 April 2018, 21:17:56
Was passiert bei
sudo /etc/init.d/alexa start
das passiert:
pi@raspberrypi:~ $ sudo /etc/init.d/alexa start
Alexa starting
Alexa is running PID 13673
script done
script done
Zitat von: MadMax-FHEM am 10 April 2018, 21:17:56
Was liefert
sudo /etc/init.d/alexa status
nach einem start (boot oder manueller start)?
das passiert:
pi@raspberrypi:~ $ sudo /etc/init.d/alexa status
Alexa is running PID 13673
script done
Zitat von: MadMax-FHEM am 10 April 2018, 21:17:56
Poste doch noch mal das alexa Script:
/etc/init.d/alexa
Wie hast du es erstellt?
Jeweils vor den diversen Startaufrufen halt immer alexa-fhem stoppen nicht vergessen!
Gruß, Joachim
hier das alexa script:
#!/bin/sh
### BEGIN INIT INFO
# Provides: alexa
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for alexa
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof alexa`
export ALEXAPATH="/home/pi/alexa-fhem"
export LOGPATH="/home/pi/alexa-fhem/log"
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
echo "Alexa starting"
sleep 2
$0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
echo "Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
kill $PID
echo "Alexa closed"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa closed"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
$0 start
else
$0 stop
$0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is running PID $PID"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa running as PID $PID"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
echo "Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
echo "script done"
exit 0
der alexa script liegt in
/etc/init.d
und hat folgende Berechtigung
-rwxr-xr-x
und Besitzer/Gruppe = root root
Und das ist das aktuelle Log:
[2018-4-12 17:57:25] using /home/pi/.alexa/config.json
[2018-4-12 17:57:25] ---
[2018-4-12 17:57:25] this is alexa-fhem 0.4.4
[2018-4-12 17:57:25] Fetching FHEM devices...
[2018-4-12 17:57:25] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1523548645755
[2018-4-12 17:57:25] Server listening on: https://:::3000
[2018-4-12 17:57:26] [FHEM] Checking devices and attributes...
[2018-4-12 17:57:26] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=1&XHR=1
[2018-4-12 17:57:26] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=1&XHR=1
[2018-4-12 17:57:26] [FHEM] Fetching FHEM devices...
[2018-4-12 17:57:26] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=alexa&fwcsrf=1&XHR=1
[2018-4-12 17:57:26] [FHEM] alexa device is MyAlexa
[2018-4-12 17:57:26] [FHEM] MyAlexa is switch
[2018-4-12 17:57:26] [FHEM] MyAlexa has
[2018-4-12 17:57:26] [FHEM] homebridgeMapping: #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER
TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
[2018-4-12 17:57:26] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.4.4%22%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=1&XHR=1
[2018-4-12 17:57:26] perfectOfVerb:
[2018-4-12 17:57:26] { stelle: 'gestellt',
schalte: 'geschaltet',
'färbe': 'gefärbt',
mach: 'gemacht' }
[2018-4-12 17:57:26] verbsOfIntent:
[2018-4-12 17:57:26] [ OnIntent: [ 'schalte' ],
prozentIntent: [ 'stelle' ],
HueIntent: [ 'stelle' ],
HueIntentB: [ 'färbe' ],
SaturationIntent: [ 'stelle' ],
SaturationIntentB: [ 'sättige' ],
TargetPositionIntent: [ 'mach' ],
gradIntent: [ 'stelle' ] ]
[2018-4-12 17:57:26] characteristicsOfIntent:
[2018-4-12 17:57:26] { OnIntent: [ 'On' ],
prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
HueIntent: [ 'Hue' ],
HueIntentB: [ 'Hue' ],
SaturationIntent: [ 'Saturation' ],
SaturationIntentB: [ 'Saturation' ],
TargetPositionIntent: [ 'TargetPosition' ],
gradIntent: [ 'TargetTemperature' ] }
[2018-4-12 17:57:26] prefixOfIntent:
[2018-4-12 17:57:26] { OnIntent: undefined,
prozentIntent: 'auf',
HueIntent: 'auf',
HueIntentB: undefined,
SaturationIntent: 'auf',
SaturationIntentB: undefined,
TargetPositionIntent: undefined,
gradIntent: 'auf' }
[2018-4-12 17:57:26] suffixOfIntent:
[2018-4-12 17:57:26] { OnIntent: undefined,
prozentIntent: 'prozent',
HueIntent: undefined,
HueIntentB: undefined,
SaturationIntent: undefined,
SaturationIntentB: undefined,
TargetPositionIntent: undefined,
gradIntent: 'grad' }
[2018-4-12 17:57:26] alexaTypes:
[2018-4-12 17:57:26] { light: [ 'licht', 'lampen' ],
blind:
[ 'rolladen',
'rolläden',
'jalousie',
'jalousien',
'rollo',
'rollos' ] }
[2018-4-12 17:57:26] roomOfEcho:
[2018-4-12 17:57:26] {}
[2018-4-12 17:57:26] fhemIntents:
[2018-4-12 17:57:26] { FHEMgutenMorgenIntent: 'gutenMorgen',
FHEMguteNachtIntent: 'guteNacht' }
[2018-4-12 17:57:26] [FHEM] executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;list%20MyAlexa%20.Alexa.Authorization;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=1&XHR=1
[2018-4-12 17:57:26] [FHEM] got: 9 results
[2018-4-12 17:57:26] [FHEM] Beleuchtung_Ostseite is switch
[2018-4-12 17:57:26] [FHEM] Beleuchtung_Ostseite has
[2018-4-12 17:57:26] [FHEM] On [state;on,off]
[2018-4-12 17:57:26] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Beleuchtung_Ostseite',
informId: 'Beleuchtung_Ostseite-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Beleuchtung_Ostseite-state: off
[2018-4-12 17:57:26] [FHEM] Beleuchtung_Suedseite is switch
[2018-4-12 17:57:26] [FHEM] Beleuchtung_Suedseite has
[2018-4-12 17:57:26] [FHEM] On [state;on,off]
[2018-4-12 17:57:26] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Beleuchtung_Suedseite',
informId: 'Beleuchtung_Suedseite-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Beleuchtung_Suedseite-state: off
[2018-4-12 17:57:26] [FHEM] Beleuchtung_Terrasse is switch
[2018-4-12 17:57:26] [FHEM] Beleuchtung_Terrasse has
[2018-4-12 17:57:26] [FHEM] On [state;on,off]
[2018-4-12 17:57:26] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Beleuchtung_Terrasse',
informId: 'Beleuchtung_Terrasse-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Beleuchtung_Terrasse-state: off
[2018-4-12 17:57:26] [FHEM] Beleuchtung_Westseite is switch
[2018-4-12 17:57:26] [FHEM] Beleuchtung_Westseite has
[2018-4-12 17:57:26] [FHEM] On [state;on,off]
[2018-4-12 17:57:26] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Beleuchtung_Westseite',
informId: 'Beleuchtung_Westseite-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Beleuchtung_Westseite-state: off
[2018-4-12 17:57:26] [FHEM] Player_Kueche is switch
[2018-4-12 17:57:26] [FHEM] Player_Kueche has
[2018-4-12 17:57:26] [FHEM] Custom Volume [volume;cached]
[2018-4-12 17:57:26] [FHEM] Custom Power [power]
[2018-4-12 17:57:26] [FHEM] On [state;on,off]
[2018-4-12 17:57:26] [FHEM] { reading: 'volume',
cmd: 'volume',
delay: true,
name: 'Volume',
format: 'UINT8',
unit: 'PERCENTAGE',
minValue: 0,
maxValue: 100,
minStep: 1,
device: 'Player_Kueche',
informId: 'Player_Kueche-volume',
characteristic_type: '00001001-0000-1000-8000-135D67EC4377',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Player_Kueche-volume: 0
[2018-4-12 17:57:26] [FHEM] caching: Custom Volume: 0 (as number; from '0')
[2018-4-12 17:57:26] [FHEM] { name: 'Power',
reading: 'power',
format: 'FLOAT',
factor: 1,
device: 'Player_Kueche',
informId: 'Player_Kueche-power',
characteristic_type: 'E863F10D-079E-48FF-8F27-9C2605A29F52',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Player_Kueche-power: off
[2018-4-12 17:57:26] [FHEM] Player_Kueche-power not a number: off
[2018-4-12 17:57:26] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Player_Kueche',
informId: 'Player_Kueche-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Player_Kueche-state: off
[2018-4-12 17:57:26] [FHEM] Player_Terrasse is switch
[2018-4-12 17:57:26] [FHEM] Player_Terrasse has
[2018-4-12 17:57:26] [FHEM] Custom Volume [volume;cached]
[2018-4-12 17:57:26] [FHEM] Custom Power [power]
[2018-4-12 17:57:26] [FHEM] On [state;on,off]
[2018-4-12 17:57:26] [FHEM] { reading: 'volume',
cmd: 'volume',
delay: true,
name: 'Volume',
format: 'UINT8',
unit: 'PERCENTAGE',
minValue: 0,
maxValue: 100,
minStep: 1,
device: 'Player_Terrasse',
informId: 'Player_Terrasse-volume',
characteristic_type: '00001001-0000-1000-8000-135D67EC4377',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Player_Terrasse-volume: 0
[2018-4-12 17:57:26] [FHEM] caching: Custom Volume: 0 (as number; from '0')
[2018-4-12 17:57:26] [FHEM] { name: 'Power',
reading: 'power',
format: 'FLOAT',
factor: 1,
device: 'Player_Terrasse',
informId: 'Player_Terrasse-power',
characteristic_type: 'E863F10D-079E-48FF-8F27-9C2605A29F52',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Player_Terrasse-power: off
[2018-4-12 17:57:26] [FHEM] Player_Terrasse-power not a number: off
[2018-4-12 17:57:26] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Player_Terrasse',
informId: 'Player_Terrasse-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:26 caching: Player_Terrasse-state: off
[2018-4-12 17:57:27] [FHEM] Player_Wohnen_EG is switch
[2018-4-12 17:57:27] [FHEM] Player_Wohnen_EG has
[2018-4-12 17:57:27] [FHEM] Custom Volume [volume;cached]
[2018-4-12 17:57:27] [FHEM] Custom Power [power]
[2018-4-12 17:57:27] [FHEM] On [state;on,off]
[2018-4-12 17:57:27] [FHEM] { reading: 'volume',
cmd: 'volume',
delay: true,
name: 'Volume',
format: 'UINT8',
unit: 'PERCENTAGE',
minValue: 0,
maxValue: 100,
minStep: 1,
device: 'Player_Wohnen_EG',
informId: 'Player_Wohnen_EG-volume',
characteristic_type: '00001001-0000-1000-8000-135D67EC4377',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:27 caching: Player_Wohnen_EG-volume: 0
[2018-4-12 17:57:27] [FHEM] caching: Custom Volume: 0 (as number; from '0')
[2018-4-12 17:57:27] [FHEM] { name: 'Power',
reading: 'power',
format: 'FLOAT',
factor: 1,
device: 'Player_Wohnen_EG',
informId: 'Player_Wohnen_EG-power',
characteristic_type: 'E863F10D-079E-48FF-8F27-9C2605A29F52',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:27 caching: Player_Wohnen_EG-power: off
[2018-4-12 17:57:27] [FHEM] Player_Wohnen_EG-power not a number: off
[2018-4-12 17:57:27] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Player_Wohnen_EG',
informId: 'Player_Wohnen_EG-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:27 caching: Player_Wohnen_EG-state: off
[2018-4-12 17:57:27] [FHEM] Steckdose_Onkyo_TXNR509 is switch
[2018-4-12 17:57:27] [FHEM] Steckdose_Onkyo_TXNR509 has
[2018-4-12 17:57:27] [FHEM] On [state;on,off]
[2018-4-12 17:57:27] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Steckdose_Onkyo_TXNR509',
informId: 'Steckdose_Onkyo_TXNR509-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:27 caching: Steckdose_Onkyo_TXNR509-state: off
[2018-4-12 17:57:27] [FHEM] Steckdose_Player_Wohnen_EG is switch
[2018-4-12 17:57:27] [FHEM] Steckdose_Player_Wohnen_EG has
[2018-4-12 17:57:27] [FHEM] On [state;on,off]
[2018-4-12 17:57:27] [FHEM] { reading: 'state',
valueOff: '/off|A0|000000/',
cmdOn: 'on',
cmdOff: 'off',
device: 'Steckdose_Player_Wohnen_EG',
informId: 'Steckdose_Player_Wohnen_EG-state',
characteristic_type: 'On',
log:
{ [Function: bound ]
debug: [Function],
info: [Function],
warn: [Function],
error: [Function],
log: [Function],
prefix: 'FHEM' } }
2018-04-12 17:57:27 caching: Steckdose_Player_Wohnen_EG-state: off
scheint doch alles soweit zu funzen...nur halt nicht über fhem???
Gruss
Ist das Log von nach einem Boot!?
Evtl. vorher löschen und dann mal booten...
Steht etwas im fhem Log, wenn du über den Dummy startest?
Hast du den User fhem (norm. läuft damit ja fhem) in die sudoers eingetragen?
Du hast wirklich:
sudo update-rc.d alexa defaults
ausgeführt?
Gruß, Joachim
Da der "Test-Service" ja tut kannst du auch mal den Inhalt des alexa-Scripts auch mal in die test-Datei eintragen, damit sollte dann zumindest schon mal beim Boot gestartet werden... ;)
Genauer schauen kann ich erst später, hab grad nur Handy...
Gruß, Joachim
Ok, kann ich das was jetzt im test drin steht also das:
#!/bin/bash
echo "Das ist ein Test" >> /home/pi/test.log
exit 0
Löschen????
Oder lassen und unten drunter anhängen?
Gruss
Rauslöschen...
Bzw. die erste Zeile nur 1x drin haben...
Antwort bzgl. des Befehls fehlt noch...
Und auch Log nach dem Boot...
Und fhem Log nach/bei Start mit Dummy...
Gruß, Joachim
Gell wir reden schon vom gleichen Script..ich meine das Test file das in etc/init.d/ liegt und in der Datei liegt dann
#!/bin/bash
echo "Das ist ein Test" >> /home/pi/test.log
exit 0
Das stehen lassen und das was in der /etc/init.d/Alexa Datei drin ist einfach in die Test Datei kopieren ???
Was fehlt noch?
Sorry
Antworten auf die ganzen Fragen fehlen noch...
Ja: Inhalt vom alexa-Script (/etc/init.d/alexa) in das Test-Script (/etc/init.d/test) einfügen...
Und vorher den Inhalt des Test-Scripts löschen...
(bzw. wichtig ist halt, dass '#!/bin/bsh' nur genau 1x als allererste Zeile drin ist)...
Gruß, Joachim
Ah ok, jetzt verstanden!!
Aber welche Fragen noch?? Hatte doch deinen Post von vorgestern zitiert....
Ich muss morgen weitermachen Joachim...muss noch was erledigen. Vorab mal wieder vielen herzlichen Dank..ich melde mich..
Ne Frage noch..da wir ja das Test Script getestet haben und es funzt ..kopieren wir einfach Den alexa Script Inhalt in den Test Script und gaugeln dem testcsript so alexa vor..kann man das so stehen lassen?
Gruss
Zitat von: Kusselin am 12 April 2018, 22:03:23
Aber welche Fragen noch?? Hatte doch deinen Post von vorgestern zitiert....
Z.B. Fragen von hier (noch mal, da ich noch keine [genaue] Antwort finden konnte):
https://forum.fhem.de/index.php/topic,86627.msg793545.html#msg793545
Zitat von: Kusselin am 12 April 2018, 22:03:23
Ne Frage noch..da wir ja das Test Script getestet haben und es funzt ..kopieren wir einfach Den alexa Script Inhalt in den Test Script und gaugeln dem testcsript so alexa vor..kann man das so stehen lassen?
Gruss
Quasi ja, nur mal um zu sehen, ob das Script dann bei Boot auch alexa-fhem startet.
Dummy aus fhem geht damit nat. nicht, da im DOIF ja noch alexa steht ;)
Weil ich grad dabei bin:
das Script bzw. die Datei heißt aber schon: /etc/init.d/alexa
und nicht: /etc/init.d/Alexa
Groß/Kleinschreibung ist bei Linux wichtig!!
(ist kein Windows dem "alles egal ist")
Gruß, Joachim
Zitat von: MadMax-FHEM am 12 April 2018, 19:41:25
Hast du den User fhem (norm. läuft damit ja fhem) in die sudoers eingetragen?
Gruß, Joachim
hallo Joachim.....da muss ich nochmal nachschauen.....
bin aber wie im Wiki beschrieben vorgegangen.......habe in putty diesen befehl abgesetzt:
sudo nano /etc/sudoers
dann hab ich mich mit Filizilla und dem user: pi angemeldet und bin in /etc/sudoers gegangen...dann habe ich diese datei mit "notepad++" geöffnet und am ende das eingetragen:
fhem ALL=(ALL) NOPASSWD: ALL
denke das ist so richtig......
Zitat von: MadMax-FHEM am 12 April 2018, 19:41:25
Ist das Log von nach einem Boot!?
nach einem boot
Zitat von: MadMax-FHEM am 12 April 2018, 19:41:25
Du hast wirklich:
sudo update-rc.d alexa defaults
ausgeführt?
wie im Wiki wieder:
das habe ich ausgeführt in putty:
sudo chmod 755 /etc/init.d/alexa
sudo update-rc.d alexa defaults
Diese Befehle aus dem Wiki habe ich über die Fhem Kommandoeingabezeile nacheinander eingegeben..:
define FHEM.Alexa.Status dummy
dann
define FHEM.Alexa dummy
dann
attr FHEM.Alexa event-on-change-reading state
dann
attr FHEM.Alexa webCmd status:start:stop:restart
dann
define FHEM.Alexa.DOIF DOIF ([FHEM.Alexa] eq "start")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "stop")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "restart")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "status")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")})
und diesen Befehl halt in einem markiert und dann per copy & paste in die Komandozeile kopiert und Enter gedrückt....ist das so o.k:?
define FHEM.Alexa.DOIF DOIF ([FHEM.Alexa] eq "start")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "stop")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "restart")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")})
DOELSEIF ([FHEM.Alexa] eq "status")
(set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")})
Gruss
Das mit sudoers kommt auf das System an (entweder noch nicht beantwortet oder ich hab's vergessen/übersehen): (Wheezy), Jessie, Stretch
Du solltest BEVOR du einfach Kommandos von irgendwoeher eintippst (selbst fehm wiki) mal schauen was das Kommando macht!
Weil: sudo nano /etc/sudoers genau das macht, was du zusätzlich per Filezilla und Notepad++ getan hast...
...evtl. parallel...
(und daher unklar sein kann was nun tatsächlich drin steht)
UND: es gibt spezielle Befehle zum Bearbeiten der sudoers Datei (visudo)!
UND: bei dir ist fhem quasi "root", da jedes Kommando ohne Passwortabfrage mittels sudo geht (sofern der fhem Eintrag drin steht)
UND: du weißt hoffentlich WAS die sudoers Datei ist!?
UND: ab Jessie oder Stretch gibt es für jeden User eine eigene sudoers Datei unter /etc/sudoers.d/
Du solltest auch aufpassen wie du Dateien unter Linux bearbeitest, denn Linux ist da "etwas empfindlich" bzgl. Zeilenendungen.
Notepad++ ist schon mal ein guter Anfang, wenn man beim Speichern aufpasst!
Besser man gewöhnt sich dran einen Linux-Editor direkt auf dem System zu verwenden, z.B. nano (daher auch im Wiki: sudo nano /etc/sudoers / auch wenn visudo besser wäre)
Wenn das tatsächlich die Logausgabe von alexa-fhem BEIM/Nach dem Booten ist, dann sollte alexa-fhem doch laufen!!?
Ah: ok. Sehe/lese ich das richtig? Nach dem Boot läuft alexa-fhem!?
Lässt sich nur nicht durch den Dummy steuern?
Ich habe den Dummy und das DOIF usw. rausgeschmissen und habe dafür jetzt das Serviced-Modul laufen: https://forum.fhem.de/index.php/topic,79952.0.html
Daher ja die Frage: steht etwas im fhem Log?
Was passiert, wenn du alexa-fhem stoppst und dann in Fhem-Web:
{"sudo /etc/init.d/alexa start"}
eingibst?
Bzw.:
{system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}
Was ich bei mir noch getan habe: doAlways beim DOIF gesetzt, sonst hat eine "Mehrfach-Statusabfrage" nicht funktioniert...
Gruß, Joachim
Zitat von: MadMax-FHEM am 13 April 2018, 14:11:10
Ah: ok. Sehe/lese ich das richtig? Nach dem Boot läuft alexa-fhem!?
Lässt sich nur nicht durch den Dummy steuern?
Jaaaaaaaaa :D :D genauso ist es...das das immer so kompliziert ist......ich hatte doch geschrieben das wenn ich über putty alexa-fhem starte dann rennt die was das zeug hält!!!!
Nur wenn ich das halt in Fhem über den Dummy machen will (alexa läuft ja aber ich hätte es halt gerne noch das ich aus fhem es starten stoppe udn restarten kann) gehts net :'(
Wenn ich da in Fhem auf stopp drücke dann bleibt die Lampe immer an udn wenn ich dann über konsole den "status" abfrage dann rennt alexa noch.....weisst was ich meineLinuxmäßig sag ich mal läuft das soweit..irgendwas in fhem schätze ich und der DOI befehl den ich einen post vorher gepostet habe, habe ich komplett über die fhem eingabezeile eingegeben..und da habe ich dann mal gelesen das das nicht so gut wäre und man solle das direkt in die fhem.cfg datei schreiben...??? wobei ich in der fhem.cfg net mehr rumwurschteln will ::)
Ich weiss auch das es besser ist direkt in putty den editor zb. nano oder vi zu benutzen aber ich bin ehrlich da fehlen mir noch die linuxbefehle >:( da muss ich noch tiefer rein....
Zitat von: MadMax-FHEM am 13 April 2018, 14:11:10
Was passiert, wenn du alexa-fhem stoppst und dann in Fhem-Web:
{"sudo /etc/init.d/alexa start"}
eingibst?
Bzw.:
{system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}
das kann ich erst heute abend probieren..ich poste es dann...
Okok...
Dann poste doch mal ein list des DOIF...
Und wie gesagt ich bin mittlerweile von dem Dummy/DOIF weg...
Das mit fhem kriegen wir bestimmt auch noch... ;)
Achja, dann kannst du ja den "Test-Dienst" wieder "entfernen":
sudo update-rc.d -f test delete
und dann noch die Datei:
sudo rm /etc/init.d/test
Und weil du grad schon auf der Console bist ;)
Was geschieht bei:
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
Gruß, Joachim
Hi Joachim,
ne bin noch auf Arbeit....
mensch, was du für linux befehle kennst :P
muss halt auch am ball bleiben....
Ach was ich noch loswerden wollte!! Du bist echt der Hammer. Mit welch einer Ruhe und gelassenheit du das angehst mit mir!! RESPEKT!!
Ich dachte immer das das Fhem Board so bissl "spezielle" User hat....hat es auch ;D aber du bist echt der Hammer im positiven Sinne!!!
Aber ich lasse mich nicht beirren und machse so weiter..wenn man überlegt..ich habe mein Fhem komplett neu aufgebaut und wurde immer belächelt in vieler Hinsicht.....aber es fehlt halt immer noch an vielen Enden...vor allem an den Linuxbefehlen!!
{"sudo /etc/init.d/alexa start"}
soll ich im Device web in fhem eingeben..sorry aber wo gebe ich die /den Befehl ein (nicht in die Kommandozeile richtig?)
wenn ich perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
in putty eingebe und alexa ist gestoppt kommt nix und der prompt kommt wieder zum Eintippen.
Wenn alexa-fhem läuft dann kommt auch nix und der Courser bleibt wieder beim prompt stehen!!
und hier das list vom DOIF:
Internals:
DEF ([FHEM.Alexa] eq "start") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}) DOELSEIF ([FHEM.Alexa] eq "stop") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")}) DOELSEIF ([FHEM.Alexa] eq "restart") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")}) DOELSEIF ([FHEM.Alexa] eq "status") (set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")})
MODEL FHEM
NAME FHEM_Alexa_DOIF
NR 203
NTFY_ORDER 50-FHEM_Alexa_DOIF
STATE cmd_1
TYPE DOIF
READINGS:
2018-04-04 20:36:49 Device FHEM.Alexa
2018-04-04 20:36:41 cmd 1
2018-04-04 20:36:41 cmd_event FHEM.Alexa
2018-04-04 20:36:41 cmd_nr 1
2018-04-04 20:36:49 e_FHEM.Alexa_STATE off
2018-04-04 20:36:41 error {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}: -1
2018-04-03 18:45:57 mode enabled
2018-04-04 20:36:41 state cmd_1
Regex:
condition:
0 InternalDoIf($hash,'FHEM.Alexa','STATE') eq "start"
1 InternalDoIf($hash,'FHEM.Alexa','STATE') eq "stop"
2 InternalDoIf($hash,'FHEM.Alexa','STATE') eq "restart"
3 InternalDoIf($hash,'FHEM.Alexa','STATE') eq "status"
devices:
0 FHEM.Alexa
1 FHEM.Alexa
2 FHEM.Alexa
3 FHEM.Alexa
all FHEM.Alexa
do:
0:
0 set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}
1:
0 set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa stop > /dev/null 2>&1 &")}
2:
0 set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa restart > /dev/null 2>&1 &")}
3:
0 set FHEM.Alexa on, {system ("sudo /etc/init.d/alexa status > /dev/null 2>&1 &")}
4:
helper:
DOIF_Readings_events
DOIF_eventas
globalinit 1
last_timer 0
sleeptimer -1
internals:
0 FHEM.Alexa:STATE
1 FHEM.Alexa:STATE
2 FHEM.Alexa:STATE
3 FHEM.Alexa:STATE
all FHEM.Alexa:STATE
itimer:
perlblock:
uiState:
uiTable:
Attributes:
{"sudo /etc/init.d/alexa start"}
bzw.
{system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}
Egal ob beim Device oder woanders, einfach in das WebCmd-Fenster (dort wo du die Dummy/DOIF etc. "eingegeben" hast) von fhem und dann Enter...
Vorher sollte alexa-fhem gestoppt sein...
...danach eigentlich laufen...
Auch mal ins fhem Log schauen, ob was zu dem Befehl steht...
Damit "simulierst" du den Befehl, den das DOIF absetzt/absetzen sollte, wenn du auf 'start' klickst.
Will sehen, ob alexa-fhem von fhem aus zu starten ist...
Wenn du
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
in putty eintippst, dann sollte der Text "Das ist ein Test" im Dummy Fhem.Alexa.Status stehen...
Damit prüfst du, ob die fhem-Befehle die im Start-Script stehen funktionieren...
Korrekterweise sollte noch 'sudo' davor, da das Start-Script ja als root ausgeführt wird...
D.h. wir tasten uns von 2 Seiten an das Problem heran...
...also ob alexa-fhem von fhem aus gestartet werden kann...
...und ob fhem bzw. der/die Dummy in fhem vom Script aus "gesteuert" werden können...
Nur wenn beides geht, kannst du alexa-fhem durch fhem (mittels Dummy/DOIF) steuern...
Muss jetzt allerdings los...
...evtl. auch mal den Link bzgl. Service-Modul verfolgen/lesen, vielleicht ist das ja auch was für dich...
Aber erst mal nur lesen und noch nicht machen, sonst geht (wieder) Zeugs durcheinander...
Bis denn, Joachim
also, wenn ich {"sudo /etc/init.d/alexa start"}
in die Kommandozeile eingebe dann steht gleich darunter sudo /etc/init.d/alexa start
und wenn ich dann danach {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}
eingebe steht gleich drunter -1
alexa-fhem ist gestoppt...so das wäre geschafft ach ..im fhem logfile steht nix
achso...halt...jetzt gebe ich mal sudo /etc/init.d/alexa status
ein und dann kommt
pi@raspberrypi:~ $ sudo /etc/init.d/alexa status
Alexa is running PID 3369
script done
das passt!!
auch wenn ich perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
eingebe steht im alexa.status unter Readings info
Das ist ein Test
2018-04-13 19:03:35
passt also auch!! man kann ja das fhem und das fenster von putty nebeneinander legen und dann sieht man das gut.....alexa-fhem läuft jetzt und wenn ich das zweite mal perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
eingebe passiert in den readings aber nix mehr ?????
ich muss immer alexa-fhem stoppen.....dann wieder starten und wenn ich dann sudo perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
eingebe passiert nix....gebe ich jedoch den befehl ohne das sudo davor ein also perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
dann klappts und der Text steht in den Readings...wie gesagt kann man gut sehen wenn man beide Fenster nebeneinander legt. du schreibst ja das man normal sudo davor eingeben muss...kann das dann nur ein rechteproblem sein????
Gruss
Rechteproblem schließe ich bei "root" eher aus... ;)
Gib doch mal in putty
which perl
ein...
Gruß, Joachim
Dann kommt/usr/bin/perl
Gruss
Ok.
Dann gib doch mal
sudo /usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
Dann solle das Reading im Dummy auch mit sudo gesetzt werden...
Wenn das dann geht, 'perl' im alexa-Script durch /usr/bin/perl "ersetzen"...
Evtl. vorher mittels:
setreading FHEM.Alexa.Status info Zurückgesetzt
Das Reading "zurücksetzen"...
...damit du auch leicht sehen kannst, ob sich das Reading ändert...
EDIT: das "Zurücksetzen" nat. (wieder) über das fhem WebCmd-Eingabefeld...
EDIT2: und wie bereits geschrieben mal doAlways beim DOIF setzen...
Gruß, Joachim
Und dann (noch mal) der Hinweis:
damit der Dummy in fhem den Status von alexa-fhem beim/nach dem Boot richtig anzeigt, muss fhem VOR alexa-fhem gestartet sein, da ja das alexa-Startscript den Status des Dummy setzt (das sind die perl-Aufrufe im Script)...
...das klappt nat. nur, wenn fhem dann schon läuft...
Gruß, Joachim
Zitat von: MadMax-FHEM am 13 April 2018, 22:46:17
Dann gib doch mal
sudo /usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
Dann solle das Reading im Dummy auch mit sudo gesetzt werden...
das habe ich verstanden!!
Zitat von: MadMax-FHEM am 13 April 2018, 22:46:17
Wenn das dann geht, 'perl' im alexa-Script durch /usr/bin/perl "ersetzen"...
wo gebe ich das in dem Script dann ein ?? an welcher Position?
Zitat von: MadMax-FHEM am 13 April 2018, 22:46:17
Evtl. vorher mittels:
setreading FHEM.Alexa.Status info Zurückgesetzt
Das Reading "zurücksetzen"...
...damit du auch leicht sehen kannst, ob sich das Reading ändert...
genau den text also
setreading FHEM.Alexa.Status info Zurückgesetzt
oben in Fhem in die Eingabezeile eingeben?
Gruss
Zitat von: MadMax-FHEM am 14 April 2018, 00:41:45
Und dann (noch mal) der Hinweis:
damit der Dummy in fhem den Status von alexa-fhem beim/nach dem Boot richtig anzeigt, muss fhem VOR alexa-fhem gestartet sein, da ja das alexa-Startscript den Status des Dummy setzt (das sind die perl-Aufrufe im Script)...
...das klappt nat. nur, wenn fhem dann schon läuft...
Gruß, Joachim
und wie klappt das das fhem vorher schon läuft??
muss ich diese Zeile in /etc/init.d/alexa export PATH=$PATH:/usr/local/bin
erstetzen durch /usr/bin/perl
??
Nein!
Wo soll ich das geschrieben haben...
...entweder machst du eh was du willst...
...oder was ich schreibe.
Versuche ja eh schon genau zu beschreiben was und wie und warum und so...
Langsam musst du schon lernen was wo hin kommt/kommen müsste etc.
Also, mach doch einfach was ich schreibe:
'perl' im Script durch '/usr/bin/perl' ersetzen.
Sofern das bei sudo mit dem kompletten Pfad zum "perl-Programm" geklappt hat...
Also jetzt dieser Aufruf auch den Wert im Dummy setzt:
sudo /usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
Kannst auch immer einen anderen Text nehmen statt "Dies ist ein Test".
Denn mit sudo ging es (so hab ich dich verstanden) vorher ja nicht...
Und ja: das setreading "einfach" in die fhem Web (wie ebenfalls geschrieben)...
...oder halt einen anderen Text nehmen (siehe oben).
Es geht ja nur drum zu sehen, ob der Aufruf klappt...
Gruß, Joachim
sorry jetzt hänge ich aber gewaltig.....
das ist mein alexa script:
!/bin/sh
### BEGIN INIT INFO
# Provides: alexa
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for alexa
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof alexa`
export ALEXAPATH="/home/pi/alexa-fhem"
export LOGPATH="/home/pi/alexa-fhem/log"
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
echo "Alexa starting"
sleep 2
$0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
echo "Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
kill $PID
echo "Alexa closed"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa closed"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
$0 start
else
$0 stop
$0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is running PID $PID"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa running as PID $PID"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
echo "Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
echo "script done"
exit 0
so in diesem script steht ja immer was mit perl /opt/fhem/fhem.pl 7072
und hier soll ich das 'perl' durch '/usr/bin/perl'
ersetzen???
ich denke ja weil ich ja hier sudo /usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
ableiten kann...richtig??
hab mir das script sicherheitshalber mal gesichert...so sieht mein alexa script jetzt aus:
#!/bin/sh
### BEGIN INIT INFO
# Provides: alexa
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for alexa
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof alexa`
export ALEXAPATH="/home/pi/alexa-fhem"
export LOGPATH="/home/pi/alexa-fhem/log"
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is already running"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
echo "Alexa starting"
sleep 2
$0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
echo "Alexa is not running"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
kill $PID
echo "Alexa closed"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa closed"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
$0 start
else
$0 stop
$0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is running PID $PID"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa running as PID $PID"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
else
echo "Alexa is not running"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is not running"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status off"
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
echo "script done"
exit 0
davor noch das in fhem abgesetzt:
setreading FHEM.Alexa.Status info Zurückgesetzt
danach mal über status geschaut...Alexa is not running
im DOIF noch das attr do always gesetzt!
wenn ich perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Das ist ein Test"
und gleich danach noch mit sudo dann klappt das jetzt auch..ich sehe es in den readings bei alexa.status
wenn ich aber jetzt auf start oder restart klicke passiert nix :-(
EDIT: Sobald ich über putty alexa starte oder stoppe oder status abfrage wird es auch gleich so in den readings angezeigt unter alexa.status, mache ich start stop oder restart passiert nix in alexa.status
Ok, dann müssen wir sehen warum entweder das DOIF nicht reagiert oder der Befehl nicht tut was er soll...
Wobei ich jetzt kein DOIF-Spezialist bin...
...und das alexa-DOIF bzw. Dummy nicht mehr nutze...
Bin allerdings unterwegs...
...kann erst heute Abend/morgen weitermachen...
Gruß, Joachim
Jaja..kein problem..ich schau mir mal dasandeee Modul von Dir an
Gruss
Edit: denke auch das es am DOIF liegt
Hi,
nur damit ich das jetzt noch mal (richtig) zusammen kriege:
Nach einem Boot ist der Status nun richtig im fhem Dummy FHEM.Alexa.Status zu sehen!?
D.h. mit der Änderung von 'perl' auf '/usr/bin/perl' wird der Status des Dummy richtig gesetzt (vorausgesetzt fhem läuft bereits).
Nach/bei einem Boot wird alexa-fhem automatisch gestartet.
Mittels:
{"sudo /etc/init.d/alexa start"}
bzw.
{system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}
(statt 'start' sollte auch 'stop' bzw. 'restart' gehen)
kannst du alexa-fhem mittels fhem (also Eingabe in die FHEM-Web-Zeile und Enter) alexa-fhem starten/stoppen etc.
D.h. was nicht geht ist das Starten/Stoppen/etc. durch drücken beim Dummy FHEM.Alexa!?
Du kannst ja mal den Eventmonitor öffnen und schauen was kommt, wenn du auf start etc. beim Dummy drückst...
...da sollte eben ein entsprechender Event kommen.
Dann sollte folgender Ablauf eintreten:
- du drückst auf "start" (oder stop oder restart)
- Lampe am Dummy FHEM.Alexa sollte auf on gehen (geschalten durch das DOIF: set FHEM.Alexa on)
- Script sollte laufen (angestossen durch das DOIF: {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})
- Wenn das Script durch ist, sollte der Dummy FHEM.Alexa wieder auf off sein (durch das Script: /usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off")
- und der Dummy FHEM.Alexa.Status sollte auf on sein (beim Starten ansonsten off) (ebenfalls durch das Script: /usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on")
- und im Reading info ein Zusatztext stehen (ebenfalls durch das Script: /usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running")
Ich weiß nur, dass ich damals das DOIF schon anders hatte und auch die 2 Dummy auf einen "eingedampft" hatte ;)
Wenn ich nachher mal Zeit hab und zuhause bin, kann ich ja mal mit dem Dummy und DOIF "rumspielen"...
...mal sehen.
Was man tun kann, damit alexa-fhem NACH fhem startet:
Mit einem Notify auf global:INITIALIZED reagieren und einen (Re)start von alexa-fhem auslösen (Befehle siehe oben).
Dann könnte (sollte) man aber alexa-fhem wieder aus dem Boot rausnehmen (würde ja dann 2x gesrtartet bzw. einmal gestartet und einmal restartet [nicht schlimm aber unnötig])...
Das Start-Script natürlich entweder dort lassen oder woanders hinlegen (z.B. /opt/fhem/alexa-fhem/ oder /home/pi/alexa-fhem/ oder) und dann beim Startbefehl nat. den Pfad anpassen...
Oder im Startscript von fhem (nach einem kurzen sleep) eben alexa-fhem starten, also das alexa-Script aufrufen (Befehl wie aus putty heraus).
Dann allerdings ebenfalls das alexa-Script aus dem Boot nehmen (siehe oben).
Die Notify-Variante ist sicher besser, da dann fhem auf jeden Fall läuft, das mit dem sleep ist unschön...
Beim Start per systemd kann man Abhängigkeiten angeben (soweit ich weiß), etwas ähnliches weiß ich jetzt bzgl. initd (nutzt du aktuell) nicht...
Damit hab ich damals angefangen: http://helmbold.de/artikel/Linux-auf-einem-Blatt.pdf
Oder auch hier: https://wiki.ubuntuusers.de/Shell/Befehls%C3%BCbersicht/
Ohne Linux-Kenntnisse wird es mit fhem etc. auf einem PI nicht lange gut gehen ;)
Gruß, Joachim
Zitat von: MadMax-FHEM am 15 April 2018, 09:32:30
Du kannst ja mal den Eventmonitor öffnen und schauen was kommt, wenn du auf start etc. beim Dummy drückst...
...da sollte eben ein entsprechender Event kommen.
Dann sollte folgender Ablauf eintreten:
- du drückst auf "start" (oder stop oder restart)
- Lampe am Dummy FHEM.Alexa sollte auf on gehen (geschalten durch das DOIF: set FHEM.Alexa on)
- Script sollte laufen (angestossen durch das DOIF: {system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")})
- Wenn das Script durch ist, sollte der Dummy FHEM.Alexa wieder auf off sein (durch das Script: /usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa off")
- und der Dummy FHEM.Alexa.Status sollte auf on sein (beim Starten ansonsten off) (ebenfalls durch das Script: /usr/bin/perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa.Status on")
- und im Reading info ein Zusatztext stehen (ebenfalls durch das Script: /usr/bin/perl /opt/fhem/fhem.pl 7072 "setreading FHEM.Alexa.Status info Alexa is already running")
wenn ich dann stop drücke erscheint das im Event Monitor:
2018-04-16 18:24:59 dummy FHEM_Alexa stop
aber jetzt kommt das entscheidende...die Lampe geht net aus :-(
Dann kann das doch eigentlich nur noch am DOIF liegen !!!!!!!
also wenn ich zb. jetzt alexa stoppe per putty und einen neustart mache (sudo reboot) dann startet alexa fhem nicht automatisch wieder :-(
wenn ich dann folgendes gleich eingebe in fhem
{"sudo /etc/init.d/alexa start"}
passiert auch nix :-(
gebe ich aber
{system ("sudo /etc/init.d/alexa start > /dev/null 2>&1 &")}
ein dann startet alexa und die lampe schaltet auf gelb!!
Es funzt dann eigentlich nur nicht das starten und stoppen und resraten über den besch. Dummy und dieser wierd doch über das DOIF gesteuert.........also kann es doch eigentlich nur am DOIF liegen ?????
Gruss
Gruss
Das Starten beim Boot kann schon damit zusammenhängen, dass fhem noch nicht läuft, daher immer ein alexa-fhem Log, wenn das so ist, also alexa-fhem beim Boot NICHT startet.
Bislang hast du immer nur Logs gepostet wo alexa-fhem startet...
Dass die Lampe nicht ausgeht liegt dann aber nicht am DOIF, sondern am Script, da dort die Lampe (also FHEM.Alexa) ausgeschaltet wird (eingeschaltet durch das DOIF)...
Aber wenn ich den Event so anschaue: wie heißt denn nun dein Dummy!?
FHEM.Alexa oder FHEM_Alexa?
Und die Einträge /usr/bin/perl statt nur perl hast du im Script!?
Und du bist auch sicher, dass du getestet hast, dass die Aufrufe mit sudo davor (so wie sie im Script stehen) auch den bzw. die Dummy "schalten"!?
Langsam glaube ich du bist etwas durcheinander was das Testen und Berichten der Testergebnisse angeht...
Dabei versuche ich ja immer auch zu schreiben WARUM der Test sein soll und was das Ergebnis sein soll und auch WARUM...
Wenn das hier so durcheinander bleibt, dann wird es schwer zu helfen.
Bitte auch mal den Ablauf noch mal durchlesen, also was was auslöst und was wo wie "geschalten" wird...
Hast du dir das Service-Modul mal näher angeschaut?
Wie wäre die Lösung mittels global:INITIALIZED? Dann ist auch sichergestellt, dass fhem bereits läuft...
Gruß, Joachim
Eieieieieieieiei...feierdunnerkeidelnochemoool :o :o :o :o :o :o
Ohjeeee Joachim ich darfs gar nicht sagen.....
das hier war der springende Punkt:
Zitat von: MadMax-FHEM am 16 April 2018, 19:07:05
Aber wenn ich den Event so anschaue: wie heißt denn nun dein Dummy!?
FHEM.Alexa oder FHEM_Alexa?
Ich habe dir ja gesagt das ich alles lt. wiki gemacht habe....aber ich habe dann das Punkt durch den "_" benutzt...in dem Script steht aber immer "FHEM.Alexa......"
hab jetzt einfach ein "rename" in Fhem gemacht und jetzt gehts!!!!!
Ojee wie kann ich das wieder gutmachen???? ::)
Gruss
Wenn's jetzt geht passt's scho...
...war halt langwierig... ;)
Solltest du zum "alten" Namen mit Unterstrich zurück wollen, dann nicht vergessen das Script auch anzupassen... ;)
Wie sieht es nun mit dem Starten beim Boot aus?
Ansonsten: viel Spaß noch!
Gruß, Joachim
also wenn ich jetzt ein reboot mache und alexa.staus war auf an.....dann ist alex.status auch wieder an also die lampe ist an....
und ja wenn ich es mit den "_" wieder mache muss alles mit "." in "_" geändert werden.
so dann zB..richtig?
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM_Alexa_Status info Alexa is already running"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa_Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa off"
else
su - "pi" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
echo "Alexa starting"
sleep 2
$0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
echo "Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM_Alexa_Status info Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa_Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa off"
else
kill $PID
echo "Alexa closed"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM_Alexa_Status info Alexa closed"
perl /opt/fhem/fhem.pl 7072 "set FHEM.Alexa_Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa off"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
$0 start
else
$0 stop
$0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
echo "Alexa is running PID $PID"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM_Alexa_Status info Alexa running as PID $PID"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa_Status on"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa off"
else
echo "Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "setreading FHEM_Alexa_Status info Alexa is not running"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa_Status off"
perl /opt/fhem/fhem.pl 7072 "set FHEM_Alexa off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
echo "script done"
exit 0
und das mit dem /usr/bin/perl passt ja so auch!!
Gruss
Es sollte nach dem Boot auch an sein, auch wenn es vorher aus war...
Aber da haben wir's schon wieder: es gibt 2 Dummy
Du solltest auch immer dazu schreiben von welchem Dummy du jeweils sprichst...
Der eine ist zur "Steuerung" zusammen mit dem DOIF da und der andere zeigt den Zustand von alexa-fhem...
Welcher was macht usw. hab ich bereits geschrieben (mehrfach)...
Und wenn du den Ablauf etc. gelesen/verstanden hast, dann ist auch klar wo der Name angepasst werden muss...
Es gibt 3 Stellen: der jeweilige Dummy, das DOIF ("prüft" auf den Dummy und "schaltet" ihn) und dann eben noch das Script ("schaltet" die beiden Dummy)...
Jetzt kurz, da unterwegs und nur Handy...
Gruß, Joachim
Joachim..ne Frage zwischendrein..wielange beschäftigst du dich schon mit Fhem?
Gruss
So 3 Jahre wohl...
Aber zu Beginn hauptsächlich Heizung...
...also in fhem eigentlich nur Plots...
Und ein Testsystem hab ich schon lange...
...dort probiere ich immer "komplizierte" oder neue Dinge (z.B. neue [für mich oder generell] Module) und auch "eigene perl-Schnipsel" etc. aus und erst wenn ich es verstehe, ich es "brauche" und es Sinn macht kommt es ins Hauptsystem...
Wenn nicht oder wenn was schief geht, dann kommt es ganz weg...
...und es ist ja nicht schlimm: ist ja nur das Testsystem...
...bei Versuchen und Tests wird halt dokumentiert (was ich denke dass zum Ziel geführt hat und was eher nicht)...
Vor dem Umzug auf das Hauptsystem wird das dann noch mal an einem frisch aufgesetzten System "gegengeprüft"...
Alexa ist noch auf dem Testsystem, ebenso Google Home und andere Dinge... ;)
Und bevor ich etwas aus dem Internet "nachturne" versuche ich zu verstehen was das ist usw.
Warum?
Gruß, Joachim
Hallo Joachim,
nur so gefragt, interessehalber.
das mit dem Testsystem ist eine gute sache..Einfach einen 2. raspi zb. nutzen.
Vielen Dank nochmal für Deine Geduld.
Gruss
Hallo Zusammen,
hallo Joachim,
wenn ich zb ein Testsystem aufbaue und dort Alexa installiere..wie hier beschrieben....muss ich doch wieder dieses Zertifikat installieren mit ./createKey.sh
...richtig?
eht dann Alexa auf meinem hauptsystem dann imer noch weil da habe ich ja auch schon einen ./createKey.sh
erzeugt......
Über ne Info herzlichen Dank.
Also kan ich 2x einen ./createKey.sh
erzeugen udn beide alexas funzen dann ?
Also ich habe noch ein alexa-fhem "alt" laufen...
...parallel ein Testsystem mit "neuer, einfacher" alexa-fhem Installation (aber: "nur" Smart Home Skill)...
Siehe hier: https://forum.fhem.de/index.php/topic,95272.0.html (bzw. mal danach suchen, gibt glaube ich 2 oder 3 Threads dazu)
Wenn du etwas gewartet hättest, hätten wir uns einiges erspart ;)
Bei beiden Installationen wird ein Schlüssel erzeugt (soweit ich weiß), einmal manuell von dir ("old style") und einmal automatisch ("new style")...
...beide laufen parallel.
In der App sind dann die Geräte beider Installationen zu finden (werde aber demnächst migrieren denke ich)...
Gruß, Joachim
Hi Joachim..wie kann ich das verstehen mit ,, hätte ich gewartet, dann..."?
Ich würde halt jetzt bei meinrm Testsystem einen zweiten key erzeugen und frage ob dercerste dann auch noch aktiv ist...oder hab ich was verpasst..also im wiki steht die Anleitung noch so wie damals
Grüsse
Hast du den Link mal verfolgt?
Weil es seit ein paar Tagen eine ganz simple Variante gibt alexa-fhem zu installieren und einen fhem-Skill...
Also das ganze AWS-Zeugs fällt weg...
Wie geschrieben: ich habe 2 alexa-fhem auf 2 PIs laufen
2 Smart Home Skills aktiviert und 2 Custom Skills laufen
Gruß, Joachim
nein habe nur eben gelsen..bin noch unterwegs....
schau ich mir mal an..
aber es wurde auch die komplizierte Version so funktionieren..schreibst du ja...
du ne Frage noch...der unterschied von smart home skill zu custom...der custom skill ist individuell einstellbar also ich kann da eigene Sprschsteuerung machen..richtig?
Gruss
P.S.: ahh o.k. TomLee hatte mir das schon mal gesagt das es einen neues Modul geben wird..das ist das 39_alexa.pm
Smart Home Skill vs. Custom Skill siehe Wiki...
Hier kurz:
Smart Home Skill: du kannst tun was Amazon vorgibt/implementiert hat
Custom Skill: du kannst praktisch (fast) alles tun, bis hin zu direkten "Funktionsaufrufen" (Sub in myUtils), musst aber halt den "Skillnamen nennen": Alexa, sage "Skillname" schalte das Badewasser an ;)
Wenn du dich mit der neuen/einfachen Variante beschäftigst bzw. umsteigen willst: erst ausführlich die 2-3 Threads lesen!
Genau überlegen!
Und dann entweder (wie ich) (erst mal) parallel auf einem 2ten Rechner/PI ODER halt die aktuelle Installation komplett lahm legen (und deinstallieren) und dann die neue/einfache Variante stattdessen...
Wenn nur neu:
Geräte vorher in der Alexa-App löschen und die Geräte neu einfügen (Standardfilter ist "alexaName ist vorhanden") oder Filter in neuer, automatisch abgelegter config.json anpassen (geht über den "fhem-Editor")...
Gruß, Joachim
Danke Dir Joachim, bin deinem Link mal gefolgt und soweit installiert..bis auf den RegKey hat alles geklappt..wäre auch zu schön gewesen...
Gruss
Hab ich schon gesehen... ;)
Vielleicht zu schnell drauf gestürzt...
...drum hab ich ja geschrieben: erst mal ausführlich die 2 oder 3 Threads bzgl. des Themas lesen... ;)
...hast du das alexa-Device mal gelöscht und neu angelegt?
Das Install auf der Linux-Console hast du nach dem Update ausgeführt (noch mal) und auch die neueste Version von 39_alexa.pm?
(bzw. hab gelesen dass du update gemacht hast, sollte also "neu genug" sein ;) )...
Gruß, Joachim
Nee das geht dann nicht..dann bin ich sowas von heiß..dann kann ich nicht anders :D
Aber es läuft soweit jetzt und auf dem Testsystem hab ich im log alle paar Stunden mal was stehen..ich hab die Vermutung das ev das TV Programm meinen Speicher hat volllaufen lassen..wills aber noch nicht bestätigen...
Gruss
Ja Update gemacht auf die 0.5.8 vorher den Key gelöscht auf Vereinsvertreter und neuen erzeugen lassen..dann würde er in den Reading angezeigt !