alexa-fhem: amazon alexa smart home skill für fhem

Begonnen von justme1968, 05 November 2016, 23:21:32

Vorheriges Thema - Nächstes Thema

knueppler

Hi

Lautsprecher_Kueche:
{
  "Arg":"Lautsprecher_Kueche",
  "Results": [
  {
    "Name":"Lautsprecher_Kueche",
    "PossibleSets":"on off volume:slider,0,5,100 pct",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 readingList setList useSetExtensions disable disabledForIntervals event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading airplay alexaName alexaRoom cmdIcon devStateIcon devStateStyle fm_type fp_Erdgeschoss genericDeviceType:ignore,switch,outlet,light,blind,thermostat,garage,sonos,lock,Speaker homebridgeMapping:textField-long icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "NAME": "Lautsprecher_Kueche",
      "NR": "208",
      "STATE": "on",
      "TYPE": "dummy"
    },
    "Readings": {
      "pct": { "Value":"15", "Time":"2016-12-17 16:54:26" },
      "state": { "Value":"on", "Time":"2016-12-17 16:54:24" },
      "volume": { "Value":"15", "Time":"2016-12-16 05:42:05" }
    },
    "Attributes": {
      "airplay": "KuecheAir",
      "alias": "Lautsprecher",
      "devStateIcon": ".*on:audio_volume_mid .*off:audio_volume_mute",
      "genericDeviceType": "Speaker",
      "group": "Multimedia",
      "readingList": "volume pct",
      "room": "Küche,alexa,homekit",
      "setList": "on off volume:slider,0,5,100 pct"
    }
  }  ],
  "totalResultsReturned":1
}

Alexa
{
  "Arg":"alexa",
  "Results": [
  {
    "Name":"alexa",
    "PossibleSets":"reload",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 alexaMapping:textField-long alexaTypes articles prepositions event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading airplay alexaName alexaRoom cmdIcon devStateIcon devStateStyle fm_type fp_Erdgeschoss genericDeviceType:ignore,switch,outlet,light,blind,thermostat,garage,sonos,lock,Speaker homebridgeMapping:textField-long icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "NAME": "alexa",
      "NR": "375",
      "STATE": "active",
      "TYPE": "alexa",
      "active": "0",
      "alexa-fhem version": "0.1.6"
    },
    "Readings": {      "intent": { "Value":"IntentRequest OnIntent", "Time":"2016-12-17 16:54:23" }    },
    "Attributes": {
      "alexaMapping": "On:verb=schalte,valueOn=an;ein,valueOff=aus\u000aBrightness:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent",
      "alexaTypes": "light:licht,lampe,lampen blind:rolladen,jalousie,rollo Outlet:steckdose TemperatureSensor:thermometer,temperatur Speaker:Lautsprecher, Box, Boxen",
      "articles": "der,die,das,den",
      "prepositions": "in,im,in der",
      "room": "test"
    }
  }  ],
  "totalResultsReturned":1
}

justme1968

#931
ohne homebridgeMapping können dummys nur On d.h. nur ein und aus. du musst eine Volume characteristic auf das volume reading und volume kommando konfigurieren und im alexaMapping dafür konfigurieren auf welches gesprochene kommando das ganze hören soll. sonnst weiss alexa nicht das ich das prozent kommando auch auf volume beziehen kann.

also etwa so:attr <name> homebridgeMapping Volume=volume,cmd=volume
attr <alexa> alexaMapping ... Volume=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent


und achtung: in den alexaTypes dürfen keine leerzeichen bei den kommas stehen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

knueppler

hi,

keine Änderung, im alexaMapping habe ich das erste = durch einen : ersetzt, hat aber auch nicht geholfen.
Gleiches Ergebnis.


justme1968

sorry. natürlich =.

hast du auch das Interaktion Model in der skill konfiguration aktualisiert? und danach alexa-fhem neu gestartet?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

knueppler

#934
Hi,

also, ich habe bei alexaMapping jetzt dieses ergänzt:
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
und beim homebridgeMapping
Volume=volume,cmd=volume
Und was muss ich im Skill ergänzen? Sagen wir mal so, ich habe das Interaction Model gemäß Anweisung neu erstellt.
Aber jetzt nach Ergänzung des Mappings auf Dummy-device und alexa-Device dort nichts mehr gemacht.

mrbreil

Hallo justme1968,

ich möchte dir erklären warum ich die Heizung "asusschalten" möchte. Ich finde es natürlicher zu sagen "die Heizung abschalten" als sie auf eine geringerer Temperatur zu setzten. Außerdem habe ich zwei MAX zwischenstecker, die leider als Thermostat interpretiert werden. Sie reagieren nur auf "set device desiredTemperature on" und "set device desiredTemperature off". Einen dieser Zwischenstecker nutzte ich um meinen Fernseher einzuschalten. Da würde ich schon gerne sagen "schalte den Fernseher aus". Das homebridgemapping bringt leider keinen Erfolg, Alexa sagt sie kann das Gerät nicht schalten.

defmod Bad MAX WallMountedThermostat 136586
attr Bad DbLogInclude desiredTemperature,temperature
attr Bad IODev cm
attr Bad alexaName Heizung
attr Bad alexaRoom Bad
attr Bad genericDeviceType thermostat
attr Bad homebridgeMapping On=cmdOn=desiredTemperature+18,cmdOff=desiredTemperature+10
attr Bad room Amazon,Bad,MAX

setstate Bad 9.0 °C
setstate Bad 2016-12-17 17:58:06 RSSI -47.5
setstate Bad 2016-10-27 08:56:17 TimeInformationHour 0
setstate Bad 2016-12-17 13:08:45 battery ok
setstate Bad 2016-12-17 17:58:06 desiredTemperature 9.0
setstate Bad 2016-12-17 13:08:45 displayActualTemperature 1
setstate Bad 2016-10-27 08:56:11 groupid 0
setstate Bad 2016-12-17 13:08:45 mode manual
setstate Bad 2016-12-17 13:08:42 msgcnt 2
setstate Bad 2016-12-17 17:58:06 state 9.0 °C
setstate Bad 2016-12-17 17:58:06 temperature 17.7


Hast du noch ne Idee?

justme1968

@knueppler: der : nach Volume im alexaMapping ist falsch. so muss es aussehen:Volume=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

und nimm das pct aus der setList raus. und setz einen genericDeviceType. z.b. Speaker.

danach sollte der lautsprecher beim start von alexa-fhem so erkannt werden: [17.12.2016, 17:50:50] [FHEM Test4] Lautsprecher_Kueche is Speaker
[17.12.2016, 17:50:50] [FHEM Test4] Lautsprecher_Kueche has
[17.12.2016, 17:50:50] [FHEM Test4]   Custom Volume [volume;cached]
[17.12.2016, 17:50:50] [FHEM Test4]   On [state;on,off]
[17.12.2016, 17:50:50] [FHEM Test4]   Volume [volume]


das Custom Volume kannst du ignorieren. das stört nicht weiter. wenn es dich doch stört kannst du als homebridge mapping auch die lange variante verwenden: homebridgeMapping clear On=state,cmdOn=on,cmdOff=off Volume=volume,cmd=volume

wenn du schon einen prozentIntent im skill hast musst du nichts weiter machen.

mit den beiden änderungen oben kannst du jetzt ein und aus schalten und auf x prozent setzen.

@mrbreil: was steht beim start von alexa-fhem mit --debug zum thermostat auf der konsole?
wenn du über den homeautomation skill gehst: was steht bei der geräte erkennung auf der konsole?
wenn du über den custom skill gehst: was steht auf der konsole wenn du das kommando gibst?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mrbreil

Hoffe das sind die richtigen Infos

alexa-fhem mit debug
[2016-12-17 18:23:20] [FHEM] homebridgeMapping: On=cmdOn=desiredTemperature+18,cmdOff=desiredTemperature+10
[2016-12-17 18:23:20] [FHEM] mappings for Bad: { StatusLowBattery:
   { reading: 'battery',
     values: [ 'ok:BATTERY_LEVEL_NORMAL', '/.*/:BATTERY_LEVEL_LOW' ] },
  TargetTemperature:
   { reading: 'desiredTemperature',
     cmd: 'desiredTemperature',
     delay: true,
     minValue: 5,
     maxValue: 30,
     minStep: 0.5 },
  CurrentTemperature: { reading: 'temperature', minValue: -30 },
  CurrentHeatingCoolingState: { default: 'HEAT' },
  On:
   { cmdOn: 'desiredTemperature+18',
     cmdOff: 'desiredTemperature+10' } }
[2016-12-17 18:23:20] [FHEM] Bad is thermostat
[2016-12-17 18:23:20] [FHEM] Bad has
[2016-12-17 18:23:20] [FHEM]   StatusLowBattery [battery]
[2016-12-17 18:23:20] [FHEM]   TargetTemperature [desiredTemperature]
[2016-12-17 18:23:20] [FHEM]   CurrentTemperature [temperature]
[2016-12-17 18:23:20] [FHEM]   CurrentHeatingCoolingState [undefined]
[2016-12-17 18:23:20] [FHEM] value2homekit_re: [ { re: '.*', to: 'BATTERY_LEVEL_LOW' } ]
[2016-12-17 18:23:20] [FHEM] value2homekit: { ok: 'BATTERY_LEVEL_NORMAL' }
  2016-12-17 18:23:20 caching: Bad-battery: ok
  2016-12-17 18:23:20 caching: Bad-desiredTemperature: 9.0
  2016-12-17 18:23:20 caching: Bad-temperature: 17.7


homeautomation skill

**** Received Directive: {"version":"1.0","session":{"new":true,"sessionId":"amzn1.echo-api.session.d4d8baea-55d9-457a-8dda-bb5b465621b5","application":{"applicationId":"amzn1.ask.skill.733829d7-02f6-498e-b193-e431ae3935d3"},"user":{"userId":"amzn1.ask.account.AHCIJSYFINTX25XIKQWQROOVYM3GWUV3PPPHVDKHGDOHGASFOAQPW3PDKCHJZ5MM4OR22DKWI7RDTU4IKYMVIKO53NDV6BQYCTEMSSLU2VXO2EGSGCAVVTZU4FVETGAEOIF3DL3XXO7GYL5HQ434KJUD54SL4O6FKJJH2UMBPDRUKWRDIOFFRZQBYZF2DYJRSQZ554IPRU6LFFQ"}},"context":{"AudioPlayer":{"playerActivity":"IDLE"},"System":{"application":{"applicationId":"amzn1.ask.skill.733829d7-02f6-498e-b193-e431ae3935d3"},"user":{"userId":"amzn1.ask.account.AHCIJSYFINTX25XIKQWQROOVYM3GWUV3PPPHVDKHGDOHGASFOAQPW3PDKCHJZ5MM4OR22DKWI7RDTU4IKYMVIKO53NDV6BQYCTEMSSLU2VXO2EGSGCAVVTZU4FVETGAEOIF3DL3XXO7GYL5HQ434KJUD54SL4O6FKJJH2UMBPDRUKWRDIOFFRZQBYZF2DYJRSQZ554IPRU6LFFQ"},"device":{"supportedInterfaces":{"AudioPlayer":{}}}}},"request":{"type":"IntentRequest","requestId":"amzn1.echo-api.request.19e3c79a-fd9c-422d-93c0-bb68cbb763b4","timestamp":"2016-12-17T17:26:26Z","locale":"de-DE","intent":{"name":"OnIntent","slots":{"preposition":{"name":"preposition","value":"in"},"On_Value":{"name":"On_Value","value":"aus"},"Room":{"name":"Room","value":"bad"},"Device":{"name":"Device","value":"heizung"},"article":{"name":"article","value":"die"}}}}}
[2016-12-17 18:25:41] IntentRequest
[2016-12-17 18:25:41] OnIntent
[2016-12-17 18:25:41] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201%7D&XHR=1
[2016-12-17 18:25:41] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=setreading%20Alexa%20intent%20IntentRequest%20OnIntent&XHR=1
[2016-12-17 18:25:41] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200%7D&XHR=1
[2016-12-17 18:25:41] 0
[2016-12-17 18:25:41] characteristic: On
[2016-12-17 18:25:41] value: aus
[2016-12-17 18:25:41] type: undefined
[2016-12-17 18:25:41] room: bad
[2016-12-17 18:25:41] name: heizung
[2016-12-17 18:25:41] device: [object Object]
response :{"version":"1.0","sessionAttributes":{},"response":{"outputSpeech":{"type":"PlainText","text":"Ich kann das Gerät mit Namen heizung nicht schalten."},"shouldEndSession":true}}




homeautomations skill

[2016-12-17 18:28:26] accepted new token
[2016-12-17 18:28:26] { aud: 'amzn1.application-oa2-client.cbe9880136b5492c859210d38f4d5728',
  user_id: 'amzn1.account.AFI35YKRUVDYNUSCITURC7LSZUPQ',
  iss: 'https://www.amazon.com',
  exp: 878,
  app_id: 'amzn1.application.daf81015f3de4c27a40363635c2332cb',
  iat: 1481993030 }
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Control","name":"TurnOffRequest","payloadVersion":"2","messageId":"c324fdaf-ac62-4bc4-987d-a21ea8fae543"},"payload":{"accessToken":"Atza|IwEBIIYEbskZ80ZfUP9NrOd7_-KVttH5TFs7MJVRPgbS87PQ3cm32_yLu4nZJAp33L9h_sMt8bXlg3vtgVR98SBBrTHffPwKGG1RDZFNLlR7zL5EC7pJqhbAezeZbVQLC-MrighO4DZlLaUXLlaupPlxuCfwXbH5orwk0a5FOP_CZfpLpYRvN-HBP7TuZFGOFrUHetQff-YZvgEZfBED1zHqWAwpEGQMfAnfDztvMBZrGgsMuY5Y_fS0IB7HsXbO_aPohbEFBkKk-czEXqwcVsO7MTUr0nfcLl_ynVetPDFarQ9GNJntMrOet7HNPcwwGX3m-k1TwIU6eZFuxTyZH2A7j2DkpHshUdomToIiqM1GDhlwxNWbSko1zP2r0JyHv1XwSBRueKAqtJja6fzVUqs8A9CuN7QXkAyy-1w8W_vsQjKrcG56Wh6p69wSXIp5Q7CUPTE0Amqqsq18SX07v8YOiBbtsx_60BsneyRWSM_Jjp0T_cyn2C-S8qzXMbKH7ifLkG4","appliance":{"applianceId":"Bad_Licht","additionalApplianceDetails":{"device":"Bad_Licht"}}}}
[2016-12-17 18:28:26] [FHEM] Bad_Licht: executing set cmd for On with value 0
[2016-12-17 18:28:26] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Bad_Licht%20off&XHR=1
response :{"header":{"name":"TurnOffConfirmation","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"0a9e6d1b-e5ed-41f5-8901-4a042f0bcef2"},"payload":{}}



knueppler

Hi,

jetzt funzt es super, danke!
Nur Alexa nennt mir jetzt in der Antwort alle Räume, in dem der Lautsprecher steckt (homekit, alexa, Küche).
Und startet das alexaMapping nun mit characteristic= oder characteristic:, in Deinen Beispielen mit Brightness und On startest Du mit :

Danke Christian

Joker

#939
Hab leider noch eine Frage zum schalten mehreren Devices, beziehe mich da drauf:

Zitatfür lampen und rolläden geht das im prinzip schon: alle devices in den gleichen alexaRoom stecken und dann licht, lampe, lampen, rolladen, jalousie oder rollo als name verwenden. wenn es kein device mit diesem namen gibt wird das dann intern dann auf alle geräte mit genericDeviceType light bzw. blind umgesetzt.

Ich habe zwei Rollos mit dem genericDeviceType "blind" im alexaRoom "Erdgeschoss". Der eine ist zusätzlich noch im alexaRoom "Küche" und der andere zusätzlich noch im alexaRoom "Esszimmer". Der alexaName von beiden ist "Rollo".
Es funktioniert einwandfrei wenn ich sage: "Mach den Rollo in der Küche zu".
Wenn ich aber sage "Mach die Rollos im Erdgeschoß zu", dann bekomme ich die Antwort "Ich kenne kein Gerät mit dem Namen Rollos im Raum Erdgeschoß".

Sollte da nicht die Umsetzung greifen von der du gesprochen hast? Mache ich was falsch?

edit: Mit Lampen geht es so (genericDevicetype light), mit den Rollos (genericDevicetype blind) aber nicht.

justme1968

@knueppler: nimm alexaRoom um den raum für alexa anzugeben und room für fhem.

mit =

ich hatte im post in dem die idee beschrieben wird noch ein : will mit das eigentlich lieber war. auf perl seite lässt sich das auch einfach parsen, auf node seite aber leider nicht. deshalb ist es ein = geworden wie bei homebridgeMapping auch. im beitrag mit dem eigentlichen skill steht es auch so. den ersten beitrag habe ich eben korrigiert.


@Joker: es sollte kein unterschied geben. schau mal bitte auf der konsole ob du dort auch einen unterschied in den debug ausgaben siehst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Joker

Zitat von: justme1968 am 17 Dezember 2016, 20:33:24
@Joker: es sollte kein unterschied geben. schau mal bitte auf der konsole ob du dort auch einen unterschied in den debug ausgaben siehst.
Hmm... also irgendwie geht es jetzt. Keine Ahnung was ich vorhin falsch gemacht habe. Ich kann wie erwartet Lichter und Rollos schalten. Sorry!

Allerdings ist die Sprachantwort mit der neuesten Version dabei seltsam, siehe nachfolgenden Log.
Gesagt habe ich: "Schalte das Licht im Erdgeschoss aus." Und das betrifft drei Lampen.
Zitat[12/17/2016, 9:24:41 PM] IntentRequest
[12/17/2016, 9:24:41 PM] OnIntent
[12/17/2016, 9:24:41 PM] [FHEM]   executing: http://fhempi:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201%7D&XHR=1
[12/17/2016, 9:24:41 PM] [FHEM]   executing: http://fhempi:8083/fhem?cmd=setreading%20MyAlexa%20intent%20IntentRequest%20OnIntent&XHR=1
[12/17/2016, 9:24:41 PM] [FHEM]   executing: http://fhempi:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200%7D&XHR=1
[12/17/2016, 9:24:41 PM] 0
[12/17/2016, 9:24:41 PM] characteristic: On
[12/17/2016, 9:24:41 PM] value: aus
[12/17/2016, 9:24:41 PM] type: light
[12/17/2016, 9:24:41 PM] room: erdgeschoss
[12/17/2016, 9:24:41 PM] name: undefined
[12/17/2016, 9:24:41 PM] device: undefined
[12/17/2016, 9:24:41 PM] [FHEM] Kueche.Deckenlampe.links: executing set cmd for On with value 0
[12/17/2016, 9:24:41 PM] [FHEM]   executing: http://fhempi:8083/fhem?cmd=set%20Kueche.Deckenlampe.links%20off&XHR=1
[12/17/2016, 9:24:41 PM] [FHEM] Kueche.Deckenlampe.rechts: executing set cmd for On with value 0
[12/17/2016, 9:24:41 PM] [FHEM]   executing: http://fhempi:8083/fhem?cmd=set%20Kueche.Deckenlampe.rechts%20off&XHR=1
[12/17/2016, 9:24:41 PM] [FHEM] Wohnzimmer.Deckenlampe: executing set cmd for On with value 0
[12/17/2016, 9:24:41 PM] [FHEM]   executing: http://fhempi:8083/fhem?cmd=set%20Wohnzimmer.Deckenlampe%20off&XHR=1
response :{"version":"1.0","sessionAttributes":{},"response":{"outputSpeech":{"type":"PlainText","text":"Ich habe  Deckenlampe links,  Deckenlampe rechts,  Deckenlampe und Ich kann das Gerät mit Namen undefined nicht schalten. ausgeschaltet."},"shouldEndSession":true,"card":{"type":"Simple","title":"erdgeschossstatus","content":" Deckenlampe links,  Deckenlampe rechts,  Deckenlampe und Ich kann das Gerät mit Namen undefined nicht schalten. ausgeschaltet."}}}
  2016-12-17 21:24:41 caching: Kueche.Deckenlampe.links-state: set_off
  2016-12-17 21:24:41 caching: Kueche.Deckenlampe.rechts-state: set_off
  2016-12-17 21:24:41 caching: Wohnzimmer.Deckenlampe-state: set_off
  2016-12-17 21:24:42 caching: Kueche.Deckenlampe.links-state: off
  2016-12-17 21:24:42 caching: Wohnzimmer.Deckenlampe-state: off
  2016-12-17 21:24:42 caching: Kueche.Deckenlampe.rechts-state: off

Fowler

#942
Der letzte Log-Eintrag vor der Exception ist mein Hue-Light:

2016-12-18 01:09:45 caching: OG_SCHLAFZIMMER_HUE_1-xy: 0.3435,0.3149
/opt/fhem/alexa-fhem/lib/fhem.js:663
                           var rgb = FHEM_xyY2rgb(xy[0], xy[1] , 1);
                                     ^

ReferenceError: FHEM_xyY2rgb is not defined
    at /opt/fhem/alexa-fhem/lib/fhem.js:663:38
    at Array.forEach (native)
    at Request.<anonymous> (/opt/fhem/alexa-fhem/lib/fhem.js:657:36)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at IncomingMessage.<anonymous> (/opt/fhem/alexa-fhem/node_modules/request/request.js:998:12)
    at emitOne (events.js:77:13)
    at IncomingMessage.emit (events.js:169:7)
    at readableAddChunk (_stream_readable.js:153:18)
    at IncomingMessage.Readable.push (_stream_readable.js:111:10)

Für mich sieht es so aus, als ob die function "xyY2rgb" nicht gefunden werden kann.

Fehlt mir da vielleicht ein Modul? Oder irgendein Paket?

onkel-tobi

Zitat von: RedCreek am 07 November 2016, 20:56:36
Ich habe zusätzlich einen startupscript von homebridge umgeschrieben (Ausgehend von http://www.fhemwiki.de/wiki/Homebridge_Start_und_Status_in_FHEM) damit man alexa aus fhem starten und stoppen kann.
(siehe Anhang)
script downloaden und unter /etc/init.d/alexa ablegen.
Der script geht davon aus, das der alexa-fhem script unter /opt/fhem/alexa-fhem liegt, und die logfiles später unter /opt/fhem/log
falls das bei euch nicht der Fall ist, muss das in diesem Script am Anfang angepasst werden.

sudo chmod 755 /etc/init.d/alexa
sudo update-rc.d alexa defaults


dann mit sudo nano /etc/sudoers
den alexa script für den fhem user zulassen

Um diesen zu verwenden muss innerhalb von fhem folgendes angelegt werden:
define FHEM.Alexa.Status dummy
attr FHEM.Alexa.Status room AlexaRoom
define FHEM.Alexa dummy
attr FHEM.Alexa event-on-change-reading state
attr FHEM.Alexa room AlexaRoom
attr FHEM.Alexa webCmd status:start:stop:restart
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 &")})
attr FHEM.Alexa.DOIF room AlexaRoom


Das sollte es schon gewesen sein.

Hallo zusammen,

verstehe ich das richtig, dass wenn ich dies entsprechend einrichte, der Daemon nach dem Stichwort Alexa automatisch starten, den Befehl abarbeiten und danach direkt wieder stoppen sollte?

Falls ja, wie genau wird herausgefunden ob das Stichwort gesagt wurde?

Denn der Status meiner Alexa steht dauerhaft auf active?

Danke & Gruß,
Tobi

Byte09

#944
Hallo ,

Ich beschäftige mich nun schon einige Zeit mit dem Homeskill und dem CustomSkill. Leider ist es wohl so, das der CustomSkill annähernd keinerlei mehrwert hat ohne das ein halbwegs sicherer Umgang mit Homebridgemapping gewährleistet ist. Das ist wohl mein Problem , und wird wohl für mich die Konsequenz haben, leider auf den Customskill verzichten zu müssen . Ich versuche nun seit 2 Tagen , mich auch nur Ansatzweise in das Homebridgemapping einzuarbeiten .... es ist und bleibt für mich derzeit leider ein Buch mit sieben Siegeln. die vorhanden e Dokumentation , bzw. die von mir gefundene Dokumentation ist , ohne jemandem auf die Füsse treten zu wollen  ( mir ist bewusst , dass es eine Heidenarbeit ist eine Dokumentation zu schreiben ) ,  naja ..... schwierig , für mich eigentlich völlig unverständlich . Ich verstehe hier weder die zusammenhängen ( was bezwecke ich womit ) , noch die dahinterstehende Logik.

ein bloses abschreiben der hier angesprochenen Beispiele , ist auch nicht wirklich hilfreich, da es sich hierbei im grunde ja wirklich immer um ganz individuelle aktionen handelt ( ist ja wohl auch sinn des custom skills ) und ein umsetzen für meine Aktionen mir nicht möglich ist ohne das die zusammenhänge klar sind.

möglicherweise kann sich ja jemand die Zeit nehmen mir anhand eines konkreten beispieles weiterzuhelfen , bei dem ich dann auch verstehe was eigentlich passieren muss damit es funktioniert , da es sich um mein beispiel handelt.

konkret habe ich ein gerät wz_TV, bei dem ich per fehm die Farben wechsel mit:

set wz_TV rgb FF4200

in diesem Fall rot.

diese Farbe würde ich gerne über alexa ändern in .. sagen wir rot oder blau d.h ich sage:

Alexa sage Fhem schalte wz_TV auf rot - soll diesen Schaltvorgang bezwecken :
set wz_TV rgb FF4200

Alexa sage Fhem schalte wz_TV auf blau - soll diesen Schaltvorgang bezwecken :
set wz_TV rgb 0000FF

usw.

ich komme schon damit nicht klar, ob ich das Hombridgemapping an diesem Gerät selber konfigurieren muss oder es über einen Dummy laufen muss , über die eigentliche konfiguration des Homgidgemappings ansich brauche ich mir erstmal gar keine gedanken machen.
.... ich weiss schon nicht wie und wo ich anfangen muss.

Falls jemand helfen kann und will , danke im voraus

gruss Byte09


nachtrag :

hier stellt sich mir ebenfalls die frage, ob es nicht möglich ist , den inhalt dessen, was der custom skill empfängt , in diesem fall den satz " stelle wz_TV auf rot " in einen dummy zu bekommen. dann könnte man damit machen was man will und es wäre ein leichtes , den inhalt nach eigenen wünschen per individuellem perlscript abzuarbeiten ( jedenfalls für mich  ;-) und entsprechende funktionen oder schaltvorgänge anzustossen ?!