Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration

Begonnen von gvzdus, 23 Dezember 2018, 15:30:36

Vorheriges Thema - Nächstes Thema

Christoph Morrison

Kurze Frage: Ist das Thema mit dem Rename des alexa-Devices schon bekannt? Ich bin da nun auch reingelaufen und frage mich, ob es eine Lösung gibt.

Ich hatte außerdem noch einen strict-subs-Fehler beim rename bekommen:

[23.2.2021, 13:30:29] [FHEM] fetching: http://127.0.0.1:40446/fhem?cmd=jsonlist2%20bridge_alexa_name=.+&fwcsrf=csrf_194516368220063&XHR=1
[23.2.2021, 13:30:30] [FHEM] SyntaxError: Unexpected token B in JSON at position 0
    at JSON.parse (<anonymous>)
    at FHEM.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/lib/fhem.js:1345:34)
    at Request._callback (/usr/local/lib/node_modules/alexa-fhem/lib/fhem.js:1629:27)
    at Request.self.callback (/usr/local/lib/node_modules/alexa-fhem/node_modules/postman-request/request.js:268:12)
    at Request.emit (events.js:198:13)
    at Request.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/node_modules/postman-request/request.js:1532:10)
    at Request.emit (events.js:198:13)
    at Gunzip.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/node_modules/postman-request/request.js:1403:12)
    at Object.onceWrapper (events.js:286:20)
    at Gunzip.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
[23.2.2021, 13:30:30] [FHEM] failed to parse Bareword "general" not allowed while "strict subs" in use at (eval 285782) line 1.{  "Arg":"TYPE=alexa",  "Results": [  {    "Name":"general.interfaces.amazon.alexa_skill",    "PossibleSets":"add createDefaultConfig:noArg reload:noArg skillId start:noArg stop:noArg restart:noArg",    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 alexaMapping:textField-long alexaTypes:textField-long fhemIntents:textField-long articles prepositions echoRooms:textField-long persons:textField-long alexaConfirmationLevel:2,1,0 alexaStatusLevel:2,1 skillId:textField alexaFHEM-cmd alexaFHEM-config alexaFHEM-home alexaFHEM-log alexaFHEM-params alexaFHEM-auth alexaFHEM-host alexaFHEM-sshUser nrarchive disable:1,0 disabledForIntervals event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading ASC:0,1,2 ASC_AutoAstroModeEvening ASC_AutoAstroModeMorning ASC_BlockingTime_afterManual ASC_Down ASC_LockOut ASC_Mode_Down ASC_Mode_Up ASC_Pos_Reading ASC_Roommate_Device ASC_Roommate_Reading ASC_Shading_Direction ASC_Shading_Mode ASC_Shading_Pos ASC_ShuttersPlace ASC_Up ASC_Ventilate_Pos ASC_Ventilate_Window_Open ASC_WindowRec ASC_WindowRec_subType DbLogExclude DbLogInclude DbLogValueFn:textField-long HmIp3D HmIpKey HmIpSGTIN alarm_system_interior alarm_system_outer_shell alarm_system_perimeter alexaName alexaProactiveEvents:1,0 alexaRoom cmdIcon devStateIcon:textField-long devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long icon installationRoom logging_bridge_Alias:textField-long logging_bridge_Defaults:textField-long logging_bridge_Disable:both,incoming,outgoing logging_bridge_Forward:all,none logging_bridge_Publish:textField-long logging_bridge_Subscribe:textField-long msgContactAudio msgContactLight msgContactMail msgContactPush msgContactScreen msgParams msgPriority msgRecipient msgRecipientAudio msgRecipientLight msgRecipientMail msgRecipientPush msgRecipientScreen msgRecipientText msgTitle msgTitleShrt msgType:text,push,mail,screen,light,audio,queue sortby webCmd webCmdLabel:textField-long widgetOverride userattr",    "Internals": {      ".FhemMetaInternals": "1",      "CFGFN": "",      "FD": "30",      "FUUID": "6034f151-f33f-a67d-4494-e141043b9e4a2680",      "FVERSION": "39_alexa.pm:0.216510/2020-04-12",      "LAST_START": "2021-02-23 13:29:04",      "LAST_STOP": "2021-02-23 13:28:56",      "NAME": "general.interfaces.amazon.alexa_skill",      "NOTIFYDEV": "global,global:npmjs.*alexa-fhem.*",      "NR": "11944",      "NTFY_ORDER": "50-general.interfaces.amazon.alexa_skill",      "PARTIAL": "",      "PID": "22746",      "STARTS": "8",      "STATE": "running /usr/local/bin/alexa-fhem",      "TYPE": "alexa",      "currentlogfile": "./log/alexa-2021-02-23.log",      "logfile": "./log/alexa-%Y-%m-%d.log"    },    "Readings": {      "alexaFHEM": { "Value":"running /usr/local/bin/alexa-fhem", "Time":"2021-02-23 13:29:04" },      "alexaFHEM.ProxyConnection": { "Value":"error; Trying to fetch alexadevice failed with SyntaxError: Unexpected token B in JSON at position 0", "Time":"2021-02-23 13:29:09" },      "alexaFHEM.bearerToken": { "Value":"crypt:200e7555550f030c7327020050705203", "Time":"2021-02-23 13:13:06" },      "alexaFHEM.skillRegKey": { "Value":"crypt:50030e255b0a0b071f25007156042202010a56270a550f05501c715d77575551540f7727570b02700455", "Time":"2021-02-23 13:13:06" }    },    "Attributes": {      "alexaFHEM-auth": "crypt:095844130b4b5c5a515b5e5d155b0a564d5d48074001431b0358460c5b134f0505555713074c1e5d5c02425e0351161a4d4f000f461d1a51135846084d4e12140d5a570d",      "alexaFHEM-config": "./alexa-fhem.cfg",      "alexaFHEM-log": "./log/alexa-%Y-%m-%d.log",      "alexaMapping": "#Characteristic=<name>=<value>,...\nOn=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um\n\nBrightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\nHue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200\nHue=verb=färbe,values=rot:0;grün:120;blau:220\n\nSaturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\nSaturation=verb=sättige,values=AMAZON.NUMBER\n\nTargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0\nTargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\nTargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\n\nVolume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\n#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr",      "alexaTypes": "#Type=<alias>[,<alias2>[,...]]\nlight=licht,lampen\nblind=rolladen,rolläden,jalousie,jalousien,rollo,rollos",      "devStateIcon": "stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop",      "echoRooms": "#<deviceId>=<room>\n",      "fhemIntents": "#IntentName=<sample utterance>\ngutenMorgen=guten morgen\nguteNacht=gute nacht",      "persons": "#<personId>=<name>\n",      "stateFormat": "alexaFHEM"    }  }  ],  "totalResultsReturned":1}Bareword "general" not allowed while "strict subs" in use at (eval 285783) line 1.
*** FHEM: connected
[23.2.2021, 13:30:31] [FHEM] got: 0 results


gvzdus

Es wäre ja spannend, was bei
http://127.0.0.1:40446/fhem?cmd=jsonlist2%20bridge_alexa_name=.+&fwcsrf=csrf_194516368220063&XHR=1
zurückkommt.

Christoph Morrison

Zitat von: gvzdus am 23 Februar 2021, 14:42:02
Es wäre ja spannend, was bei
http://127.0.0.1:40446/fhem?cmd=jsonlist2%20bridge_alexa_name=.+&fwcsrf=csrf_194516368220063&XHR=1
zurückkommt.

Das war ein guter Hint. Erstmal ist mir aufgefallen, dass ich beim Device alexa_bridge_name statt bridge_alexa_name gesetzt habe. Zweitens wird das .+ nicht korrekt urlkodiert (sollte .%2b sein).

Ich habe nun die alexa-fhem.cfg angepasst (Hostname angepasst, nb)

{
   "connections" : [
      {
         "webname" : "fhem",
         "name" : "FHEM",
         "server" : "fornost",
         "filter" : "bridge_alexa_name=..*",
         "port" : "40446",
         "uid" : 999
      }
   ],
   "sshproxy" : {
      "ssh" : "/usr/bin/ssh",
      "description" : "FHEM Connector"
   }
}


und neu gestartet, nun wird mein Testgerät auch gefunden. Aber:


[23.2.2021, 15:11:32] Got SIGTERM, shutting down alexa-fhem...
[23.2.2021, 15:11:32] Reading alexaFHEM.ProxyConnection set to stopping;; alexa-fhem terminating
[23.2.2021, 15:11:32] [FHEM]   executing: http://127.0.0.1:40446/fhem?cmd=%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20general.interfaces.amazon.alexa_skill%20alexaFHEM.ProxyConnection%20stopping%3B%3B%20alexa-fhem%20terminating%3B%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_194516368220063&XHR=1
[23.2.2021, 15:11:40] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[23.2.2021, 15:11:40] os.homedir()=/opt/fhem
[23.2.2021, 15:11:40] this is alexa-fhem 0.5.60
[23.2.2021, 15:11:40] connecting to FHEM ...
[23.2.2021, 15:11:40] [FHEM] defaults to: will not send proactive events
[23.2.2021, 15:11:41] [FHEM] trying longpoll to listen for fhem events
[23.2.2021, 15:11:41] [FHEM] starting longpoll: http://fornost:40446/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1614089501286
[23.2.2021, 15:11:41] [FHEM] got csrfToken: csrf_194516368220063
[23.2.2021, 15:11:41] [FHEM] Checking devices and attributes...
[23.2.2021, 15:11:41] [FHEM]   executing: http://fornost:40446/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&fwcsrf=csrf_194516368220063&XHR=1
[23.2.2021, 15:11:41] [FHEM]   executing: http://fornost:40446/fhem?cmd=jsonlist2%20TYPE%3Dalexa&fwcsrf=csrf_194516368220063&XHR=1
[23.2.2021, 15:11:41] [FHEM] waiting for events ...
[23.2.2021, 15:11:41] [FHEM] Fetching FHEM devices...
[23.2.2021, 15:11:41] [FHEM] fetching: http://fornost:40446/fhem?cmd=jsonlist2%20bridge_alexa_name=..*&fwcsrf=csrf_194516368220063&XHR=1
[23.2.2021, 15:11:41] [FHEM] alexa device is general.interfaces.amazon.alexa_skill
[23.2.2021, 15:11:41] [FHEM] general.interfaces.amazon.alexa_skill will not send proactive events
[23.2.2021, 15:11:41] [FHEM] general.interfaces.amazon.alexa_skill uses ID: 6034f151-f33f-a67d-4494-e141043b9e4a2680
[23.2.2021, 15:11:41] [FHEM]   executing: http://fornost:40446/fhem?cmd=%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3B%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22alexa-fhem%20version%22%7D%20%3D%20%220.5.60%22%7D%3B%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_194516368220063&XHR=1
[23.2.2021, 15:11:41] [FHEM]   executing: http://fornost:40446/fhem?cmd=%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bget%20general.interfaces.amazon.alexa_skill%20proxyToken%3B%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_194516368220063&XHR=1
[23.2.2021, 15:11:41] [FHEM]   executing: http://fornost:40446/fhem?cmd=%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Blist%20general.interfaces.amazon.alexa_skill%20.eventToken%3B%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_194516368220063&XHR=1
[23.2.2021, 15:11:41] Server listening on: http://127.0.0.1:34239 for proxy connections
[23.2.2021, 15:11:41] *** SSH: checking proxy configuration
[23.2.2021, 15:11:41] sshautoconf: home=/opt/fhem, spath=/opt/fhem/.alexa, cpath=./alexa-fhem.cfg, sshpath=/opt/fhem/.ssh
[23.2.2021, 15:11:41] Passed config: { connections:
   [ { webname: 'fhem',
       name: 'FHEM',
       server: 'fornost',
       filter: 'bridge_alexa_name=..*',
       port: '40446',
       uid: 999 } ],
  sshproxy:
   { ssh: '/usr/bin/ssh',
     description: 'FHEM Connector',
     options:
      [ '-i', '/opt/fhem/.ssh/id_rsa', '-p', 58824, 'fhem-va.fhem.de' ],
     'bind-ip': '127.0.0.1',
     server:
      Server {
        insecureHTTPParser: undefined,
        _events: [Object],
        _eventsCount: 3,
        _maxListeners: undefined,
        _connections: 0,
        _handle: [TCP],
        _usingWorkers: false,
        _workers: [],
        _unref: false,
        allowHalfOpen: true,
        pauseOnConnect: false,
        httpAllowHalfOpen: false,
        timeout: 0,
        keepAliveTimeout: 5000,
        maxHeadersCount: null,
        headersTimeout: 40000,
        _connectionKey: '4:127.0.0.1:0',
        [Symbol(IncomingMessage)]: [Function],
        [Symbol(ServerResponse)]: [Function],
        [Symbol(asyncId)]: 97 } } }
[23.2.2021, 15:11:41] sshautoconf: SSH key seems to exist
[23.2.2021, 15:11:42] sshautoconf: Our SSH key is known at the reverse proxy, good!
[23.2.2021, 15:11:42] [FHEM]   executing: http://fornost:40446/fhem?cmd=%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bjsonlist2%20general.interfaces.amazon.alexa_skill%3B%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_194516368220063&XHR=1
*** FHEM: connected
[23.2.2021, 15:11:42] [FHEM] got: 1 results
[23.2.2021, 15:11:42] [FHEM] house.groundfloor.office.lights.desk.0 is light
[23.2.2021, 15:11:42] [FHEM] house.groundfloor.office.lights.desk.0 has
[23.2.2021, 15:11:42] [FHEM]   On [state;on,off]
[23.2.2021, 15:11:42] [FHEM] house.groundfloor.office.lights.desk.0 will not send proactive events
[23.2.2021, 15:11:42] [FHEM] house.groundfloor.office.lights.desk.0 uses ID: 600f17af-f33f-a67d-74e4-76bb4ee7038e4978
  2021-02-23 15:11:42 caching: house.groundfloor.office.lights.desk.0-state: off
[23.2.2021, 15:11:42] BearerToken '...ne 1.' read from general.interfaces.amazon.alexa_skill
[23.2.2021, 15:11:42] sshautoconf: aborted with Trying to fetch alexadevice failed with SyntaxError: Unexpected token B in JSON at position 0
[23.2.2021, 15:11:42] *** SSH: proxy configuration failed: Trying to fetch alexadevice failed with SyntaxError: Unexpected token B in JSON at position 0
[23.2.2021, 15:11:43] Reading alexaFHEM.ProxyConnection set to error;; Trying to fetch alexadevice failed with SyntaxError: Unexpected token B in JSON at position 0
[23.2.2021, 15:11:43] [FHEM]   executing: http://fornost:40446/fhem?cmd=%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20general.interfaces.amazon.alexa_skill%20alexaFHEM.ProxyConnection%20error%3B%3B%20Trying%20to%20fetch%20alexadevice%20failed%20with%20SyntaxError%3A%20Unexpected%20token%20B%20in%20JSON%20at%20position%200%3B%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_194516368220063&XHR=1


Da schau an, wenn ich http://fornost:40446/fhem?cmd=%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bjsonlist2%20general.interfaces.amazon.alexa_skill%3B%7B%24defs%7Bgeneral.interfaces.amazon.alexa_skill%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_194516368220063&XHR=1 aufrufe:


Bareword "general" not allowed while "strict subs" in use at (eval 1689769) line 1.

{
  "Arg":"general.interfaces.amazon.alexa_skill",
  "Results": [
  {
    "Name":"general.interfaces.amazon.alexa_skill",
    "PossibleSets":"add createDefaultConfig:noArg reload:noArg skillId start:noArg stop:noArg restart:noArg",
    "PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 alexaMapping:textField-long alexaTypes:textField-long fhemIntents:textField-long articles prepositions echoRooms:textField-long persons:textField-long alexaConfirmationLevel:2,1,0 alexaStatusLevel:2,1 skillId:textField alexaFHEM-cmd alexaFHEM-config alexaFHEM-home alexaFHEM-log alexaFHEM-params alexaFHEM-auth alexaFHEM-host alexaFHEM-sshUser nrarchive disable:1,0 disabledForIntervals event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading ASC:0,1,2 ASC_AutoAstroModeEvening ASC_AutoAstroModeMorning ASC_BlockingTime_afterManual ASC_Down ASC_LockOut ASC_Mode_Down ASC_Mode_Up ASC_Pos_Reading ASC_Roommate_Device ASC_Roommate_Reading ASC_Shading_Direction ASC_Shading_Mode ASC_Shading_Pos ASC_ShuttersPlace ASC_Up ASC_Ventilate_Pos ASC_Ventilate_Window_Open ASC_WindowRec ASC_WindowRec_subType DbLogExclude DbLogInclude DbLogValueFn:textField-long HmIp3D HmIpKey HmIpSGTIN alarm_system_interior alarm_system_outer_shell alarm_system_perimeter alexaName alexaProactiveEvents:1,0 alexaRoom cmdIcon devStateIcon:textField-long devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long icon installationRoom logging_bridge_Alias:textField-long logging_bridge_Defaults:textField-long logging_bridge_Disable:both,incoming,outgoing logging_bridge_Forward:all,none logging_bridge_Publish:textField-long logging_bridge_Subscribe:textField-long msgContactAudio msgContactLight msgContactMail msgContactPush msgContactScreen msgParams msgPriority msgRecipient msgRecipientAudio msgRecipientLight msgRecipientMail msgRecipientPush msgRecipientScreen msgRecipientText msgTitle msgTitleShrt msgType:text,push,mail,screen,light,audio,queue sortby webCmd webCmdLabel:textField-long widgetOverride alexa_bridge_name userattr",
    "Internals": {
      ".FhemMetaInternals": "1",
      "CFGFN": "",
      "FD": "17",
      "FUUID": "6034f151-f33f-a67d-4494-e141043b9e4a2680",
      "FVERSION": "39_alexa.pm:0.216510/2020-04-12",
      "LAST_START": "2021-02-23 15:11:38",
      "LAST_STOP": "2021-02-23 15:11:38",
      "NAME": "general.interfaces.amazon.alexa_skill",
      "NOTIFYDEV": "global,global:npmjs.*alexa-fhem.*",
      "NR": "11944",
      "NTFY_ORDER": "50-general.interfaces.amazon.alexa_skill",
      "PARTIAL": "",
      "PID": "26797",
      "STARTS": "12",
      "STATE": "running /usr/local/bin/alexa-fhem",
      "TYPE": "alexa",
      "active": "0",
      "currentlogfile": "./log/alexa-2021-02-23.log",
      "logfile": "./log/alexa-%Y-%m-%d.log"
    },
    "Readings": {
      "alexaFHEM": { "Value":"running /usr/local/bin/alexa-fhem", "Time":"2021-02-23 15:11:38" },
      "alexaFHEM.ProxyConnection": { "Value":"error; Trying to fetch alexadevice failed with SyntaxError: Unexpected token B in JSON at position 0", "Time":"2021-02-23 15:11:43" },
      "alexaFHEM.bearerToken": { [...REDACTED...] },
      "alexaFHEM.skillRegKey": { "[...REDACTED...] }
    },
    "Attributes": {
      "alexaFHEM-config": "./alexa-fhem.cfg",
      "alexaFHEM-log": "./log/alexa-%Y-%m-%d.log",
      "alexaMapping": "#Characteristic=<name>=<value>,...\nOn=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um\n\nBrightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\nHue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200\nHue=verb=färbe,values=rot:0;grün:120;blau:220\n\nSaturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\nSaturation=verb=sättige,values=AMAZON.NUMBER\n\nTargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0\nTargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\nTargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\n\nVolume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\n\n#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr",
      "alexaTypes": "#Type=<alias>[,<alias2>[,...]]\nlight=licht,lampen\nblind=rolladen,rolläden,jalousie,jalousien,rollo,rollos",
      "devStateIcon": "stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop",
      "echoRooms": "#<deviceId>=<room>\n",
      "fhemIntents": "#IntentName=<sample utterance>\ngutenMorgen=guten morgen\nguteNacht=gute nacht",
      "persons": "#<personId>=<name>\n",
      "stateFormat": "alexaFHEM"
    }
  }  ],
  "totalResultsReturned":1
}

Bareword "general" not allowed while "strict subs" in use at (eval 1689770) line 1.


Da ist Unexpected token B in JSON at position 0 vermutlich das B von Bareword - der Device-Name wird irgendwo nicht richtig behandelt (mein Device-Name ist ja ein legaler Name ...)

gvzdus

Wenn Du den Querystring mal dekodierst, kommt da raus:
{$defs{general.interfaces.amazon.alexa_skill}->{"active"} = 1;;undef};
jsonlist2 general.interfaces.amazon.alexa_skill;
{$defs{general.interfaces.amazon.alexa_skill}->{"active"} = 0;;undef}


Vermutlich liegt es am Punkt in Deinem Alexa-Device-Namen. Könnte man natürlich in Anführungszeichen setzen und Andre um ein Release bitten, aber schneller ist natürlich umbenennen.

justme1968

also...

- das + im filter ging nicht weil die url nicht ganz sauber zusammen gebaut wurde. das sollte jetzt repariert sein.

- die " beim zugriff auf $defs habe ich auch eingebaut.

- das alexa modul startet alexa_fhem nach einem rename jetzt neu. damit kennt alexa_fhem das umbenannte alexa device wieder.


d.h. update von alexa-fhem und 39_alexa.pm sollte die drei probleme beheben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Christoph Morrison

Danke dir, beim nächsten Release meiner Config werde ich vorher das Modul aktualisieren und dann testen.

Christoph Morrison

Habe nun mal aktualisiert und das Setup wieder auf den Namen mit Punkten und der RegExp aus meinem Beispiel umgestellt: Keine Fehler mehr im Log und die ersten Devices sind schon entsprechend attribuiert.

Eine Frage hätte ich noch: Was kann ich dafür tun, dass es den Service möglichst lange gibt? Spenden an den eV?

CarstenF

Moin Moin,
Kurze Frage in Sachen FHEM-CONNECTOR. Gibt es zur Zeit Serverprobleme oder ein Wartungsfenster? Ich habe seit gestern Abend Probleme mit dem Modul, war aber zu spät für nen Post :-)
Im Log finde ich heute morgen Einträge wie "failed to refresh token" und "The server is  temporarily unable to service your request"
Ich dachte zuerst an ein Problem auf "meiner Seite". Als ich jedoch versuchte den Skill zu deaktivieren und danach wieder zu aktivieren, erhielt ich eine Fehlermeldung im Alexa Skill (IOS App)
"The server is temporarily unable to service your requestdue to maintenance downtime or capacity problems. Please try again later.
Das Modul selbst kann ich stoppen und starten und in den Readings wird auch angezeigt, das alles korrekt läuft.... Sehr seltsam.
Gruß Carsten

PS: Sehe jetzt gerade das das Problem wohl auch bei anderen Usern vorliegt. Also mal abwarten. Post bitte als erledigt ansehen.
Raspberry Pi4
CUL 868, CUL 433, LaCrosse Gateway, Zigbeetomqtt2, HUE, Homematic
Max-Cube umgeflasht
MAX!, FhemtoFhem, Homebridge, FhemConnector, IR_Gateway und sonst auch noch allerlei Spielzeug....

popy

Hallo.

Danke für alexa fhem connector!!!!
Eingerichtet und ich kann einen Dummy schalten  :)
So einfach war das noch nie. Jetzt kann ich getrost meine habridge abschalten.

Möchte als nächstes meine alten habridge Geräte im connector/fhem einrichten.
Folgendes hatte ich in habridge für eine Raum Steuerung:

Geräte: Fernseher, Nachtlicht, Rollo

Wenn ich nun zu alexa eines der Geräte in irgendeinem Raum gesagt habe, passierte bei meinen vielen activitys & dunmys folgendes:


  • habridge setzte einen dummy mit dem gewünschten set
  • ein activity machte ein "echodevice" refresh, damit der letzte satz abgeholt wurde
  • ein weiteres activity reagierte auf reading "voice" eines echodevices und wusste somit welches gerät angesprochen wurde
  • Diese Daten zusammen wurden dann geparst und eine korrekte aktion ausgeführt

In anderen Worten, es war folgendes möglich pro Raum, ohne die Geräte direkt anzusprechen:

  • Alexa, fahre Rollo hoch
  • Alexa, schalte Fernseher ein
  • ...

Wie kann ich das mit dem fhem connector realisieren?
Der Name/Raum des Quellgeräts kommt ja leider nicht mit.

Auch wenn ich mehrere Geräte mit dem gleichen "alexaName" anlege, in Alexa Gruppen packe,  wird immer nur das letzte geschaltet.

Meine Ideen sind am Ende, würde mich über input freuen  8)
Danke

MadMax-FHEM

#1074
Über Gruppen in der Alexa App.

Geräte und den entsprechenden Echo in dieselbe Gruppe=Raum und dann sollte das auch gehen.

Also: Alexa, schalte Licht etc. ein/aus dann passiert das im Raum/Gruppe in dem auch der Echo ist an den der Befehl ging.

Alexa, schalte Licht im Wohnzimmer ein/aus dann passiert das für die Geräte in der Gruppe Wohnzimmer...
...auch wenn der Befehl an einen anderen Echo ging.

So die Theorie...

Oder du lässt was du hast. Sollte doch egal sein, ob der auslösende dummy per ha-bridge oder per alexa-fhem Connector geschalten wird?
EDIT: also das hier sollte ja weiterhin gehen
Zitathabridge setzte einen dummy mit dem gewünschten set
ein activity machte ein "echodevice" refresh, damit der letzte satz abgeholt wurde
ein weiteres activity reagierte auf reading "voice" eines echodevices und wusste somit welches gerät angesprochen wurde
Diese Daten zusammen wurden dann geparst und eine korrekte aktion ausgeführt

EDIT:
ZitatAuch wenn ich mehrere Geräte mit dem gleichen "alexaName" anlege
der Name muss doch eindeutig sein, also mindestens pro Gruppe? Wie soll Alexa das sonst auseinanderhalten...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

popy

Zitat von: MadMax-FHEM am 12 Dezember 2021, 21:15:56
Über Gruppen in der Alexa App.

Geräte und den entsprechenden Echo in dieselbe Gruppe=Raum und dann sollte das auch gehen.

Also: Alexa, schalte Licht etc. ein/aus dann passiert das im Raum/Gruppe in dem auch der Echo ist an den der Befehl ging.

Alexa, schalte Licht im Wohnzimmer ein/aus dann passiert das für die Geräte in der Gruppe Wohnzimmer...
...auch wenn der Befehl an einen anderen Echo ging.

So die Theorie...

Oder du lässt was du hast. Sollte doch egal sein, ob der auslösende dummy per ha-bridge oder per alexa-fhem Connector geschalten wird?

EDIT:  der Name muss doch eindeutig sein, also mindestens pro Gruppe? Wie soll Alexa das sonst auseinanderhalten...

Gruß, Joachim

Hallo Joachim.

Danke für den input.
Das mit "Alexa, schalte  Licht ein" oder "..., dimme Licht auf xx %" funktioniert super über die Gruppen.
Aber wenn ich nur ein Gerät "Rollo" bzw. "Fernseher" habe geht das nicht. Auch nicht mit mehr Geräten des gleichen Namen in versch. Gruppen.
Alexa, weiß leider nicht dass ein "Fernseher" in mehreren Räumen sein kann, ähnlich wie Licht.

Werde dann meine alten Activitys usw. lassen.

Dachte nur es ging vll. mit diesem tollen Skill & alexa fhem connector.

Danke


popy

Mit meinen alten Notifys usw. funktioniert nun alles wieder, lediglich der Trigger kommt vom fhem connector.
Frage aber zu Rollläden.

Habe folgenden Dummy:


defmod Alexa_RoomCmd_Rollo dummy
attr Alexa_RoomCmd_Rollo alexaName Rollo;;Jalousie;;Beschattung
attr Alexa_RoomCmd_Rollo genericDeviceType blind
attr Alexa_RoomCmd_Rollo group Alexa Helper
attr Alexa_RoomCmd_Rollo room System
attr Alexa_RoomCmd_Rollo setList on off pct

setstate Alexa_RoomCmd_Rollo pct NaN
setstate Alexa_RoomCmd_Rollo 2021-12-12 22:41:26 state pct NaN



Wenn ich sage "Alexa, fahre Rollo auf 50%" funktioniert alles und pct wird auf 50 gesetzt.
Sage ich aber "Alexa, fahre Rollo hoch/runter", kommt im log:


[12/12/2021, 22:41:26] [FHEM] Alexa_RoomCmd_Rollo: executing set cmd for TargetPosition with value NaN
[12/12/2021, 22:41:26] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=set%20Alexa_RoomCmd_Rollo%20pct%20NaN&fwcsrf=csrf_XXXXXXXXXX&XHR=1


und Alexa murrt zurück  :D
Durch mein parsen des gesprochenen Textes im echodevice funktioniert der Befehl sogar, nur ALexa gibt einen sprachlichen Fehler zurück.

Hat jemand eine Idee von euch wie ich Alexa dazu bewegen kann bei hoch "pct 0" und bei runter "pct 100" liefern zu lassen?

Danke

MadMax-FHEM

Ich glaube es geht nur: ganz auf / ganz zu oder so.

Müsste einiges zu Alexa und Rollladen im Forum geben...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Thyraz

Also "Alexa, Rollladen xyz rauf" oder runter geht bei mir auch. Allerdings bewegt er sich dann nur ein kleines Stück.
Ist also eher vergleichbar mit "heller" bei einer Lampe.

"ganz rauf" oder "ganz runter" klappt dafür.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Sedonion

Hallo zusammen,

bisher nutzte ich fhem mit dem Connector und alexa-fhem als Docker Container.
Jetzt möchte ich alexa-fhem in einen eigenen Container verfrachten.

Das klappt auch. alexa-fhem findet auch den fhem Docker Container.
Aber der Connector sagt: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'

Wie sage ich dem Connector, das alexa-fhem in einem anderen Container läuft?

Danke und Gruß
Marco
fhem auf HP Microserver Gen8 mit Openmedivault
- 4 Milight RGB Bulbs an Milight Wifi Controller
- MAX Cube mit 2 Heizkörperthermostaten und 2 Fenstersensoren
- VU+ Solo4k Enigma2
- Fritzbox mit Callmonitor