*gelöst* Alexa-Connector -> TypeError: Cannot read property 'Name' of undefined

Begonnen von Andy_C, 17 Juni 2020, 16:44:41

Vorheriges Thema - Nächstes Thema

Andy_C

Abgesehen das ich jetzt sicher geschimpft bekomme weil es als root läuft (steht auch noch auf der Liste)  ;-)....

Da bekomme ich eine Fehlermeldung:


[17/06/2020, 21:19:06] os.homedir()=/root
[17/06/2020, 21:19:06] this is alexa-fhem 0.5.51
[17/06/2020, 21:19:06] connecting to FHEM ...
[17/06/2020, 21:19:06] [FHEM] defaults to: will not send proactive events
[17/06/2020, 21:19:08] [FHEM] trying longpoll to listen for fhem events
[17/06/2020, 21:19:08] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1592421548008
[17/06/2020, 21:19:08] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 5000msec
[17/06/2020, 21:19:13] [FHEM] trying longpoll to listen for fhem events
[17/06/2020, 21:19:13] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1592421553133
[17/06/2020, 21:19:13] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 10000msec
[17/06/2020, 21:19:23] [FHEM] trying longpoll to listen for fhem events
[17/06/2020, 21:19:23] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1592421563156
[17/06/2020, 21:19:23] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 15000msec
[17/06/2020, 21:19:38] [FHEM] trying longpoll to listen for fhem events
[17/06/2020, 21:19:38] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1592421578184
[17/06/2020, 21:19:38] [FHEM] longpoll error: Error: read ECONNRESET, retry in: 20000msec
[17/06/2020, 21:19:42] Got SIGINT, shutting down alexa-fhem...


Gruß, Andy





MadMax-FHEM

Hast du fhem abgesichert und stimmen User/PW!?

Und wenn User/PW warum dann OHNE https!?

EDIT: hast ja noch so einige Baustellen... ;) Wäre der Umzug auf Buster nicht ein guter Zeitpunkt gewesen die Baustellen "abzustellen" ;)

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)

Andy_C

Fhem ist abgesichert, allerdings mit https (kann da das Problem sein?... da war auch was unter den gefühlt 1000 gelesenen Seiten) und Passwörter stimmen... wenn nicht stoppt der Connector wieder und sagt das er keine Authorisierung hat.

Der Umzug war ja kurzfristig... ist erst mal das letzte Problem im Fhem... wollte nicht zuviel auf einmal machen.


Ach, ich sehe grad.... der will ja http abfragen!

Gruß, Andy

Andy_C

Ok,

ich muss gestehen das ich die alexa-fhem.cfg nicht angerührt habe.... Connector greift nicht drauf zu? Der hat ja per https abgefragt und konnte sich auch einloggen... Hab jetzt die Daten auth und ssl nachgeplegt und bekomme die gleiche Fehlermeldung wenn ich im Debug starte auf der shell... aber in der Debug log steht kein Fehler:

shell:


root@fhem:/opt/fhem# alexa-fhem -D -c /opt/fhem/alexa-fhem.cfg > debug.log
[17/06/2020, 22:13:07] [FHEM]   error processing event data: TypeError: Cannot read property 'Name' of undefined
[17/06/2020, 22:13:07] [FHEM]   error processing event data: TypeError: Cannot read property 'Name' of undefined


debug.log:

[17/06/2020, 22:13:07] [FHEM] Checking devices and attributes...
[17/06/2020, 22:13:07] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global...)%7D&XHR=1
[17/06/2020, 22:13:07] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&XHR=1
[17/06/2020, 22:13:07] [FHEM] waiting for events ...
[17/06/2020, 22:13:07] [FHEM] Fetching FHEM devices...
[17/06/2020, 22:13:07] [FHEM] fetching: https://127.0.0.1:8083/fhem?cmd=jsonlist2%20alexaName=..*&XHR=1
[17/06/2020, 22:13:07] [FHEM] alexa device is alexa
[17/06/2020, 22:13:07] [FHEM] mappings for alexa: {}
[17/06/2020, 22:13:07] [FHEM] alexa will not send proactive events


Danach Alexa über fhem gestartet:


[17/06/2020, 22:20:27] [FHEM] waiting for events ...
[17/06/2020, 22:20:27] [FHEM] Fetching FHEM devices...
[17/06/2020, 22:20:27] [FHEM] fetching: https://127.0.0.1:8083/fhem?cmd=jsonlist2%20alexaName=..*&XHR=1
[17/06/2020, 22:20:28] [FHEM]   error processing event data: TypeError: Cannot read property 'Name' of undefined
[17/06/2020, 22:20:28] [FHEM] alexa device is alexa
[17/06/2020, 22:20:28] [FHEM] alexa will not send proactive events



Interessant ist noch... manchmal kommt der Fehler 1x... dann wieder 2 oder 3x und nur beim Starten
Gruß, Andy


amenomade

Wie sieht deine /opt/fhem/alexa-fhem.cfg Datei aus?

Mach mal bitte mit dieser Methode:
Zitat von: WikiFehlersuche über die FHEM-Oberfläche

    alexa-fhem Logfile anschauen (Detail-Ansicht des <alexa>-Device aufrufen, klick auf Logfile oben)
    alexa-fhem im Debug-Modus aufrufen:
        -D zum alexaFHEM-params attribut hinzufügen
        Alexa-Befehl auslösen
        -D aus dem alexaFHEM-params attribut entfernen
    Die notwendigen Informationen finden sich in dem alexa-Logfile (siehe oben)

Du zeigst auch nicht alle Logs sondern nur Extrakte. Z.B. hier https://forum.fhem.de/index.php/topic,112192.msg1065310.html#msg1065310 sieht man nicht mit welcher Condig Datei er läuft. Macht die Analyse schwieriger.

Meine Vermutung: Du hast irgendwie 2 unterschiedliche Konfig (vielleicht etwas, was von deiner Installation verblieben ist bevor du nach Connector migriert hast): eine mit fhem User und eine mit root user. Oder irgendwas in der Art.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

Hast du den Umstieg gemacht wie im Wiki unter "Update/Upgrade" beschrieben!?

Also wirklich ALLES gelöscht (vorher evtl. gesichert)!!?

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)

Andy_C

Hallo Zusammen,

ich habe zwar einen User fhem, aber der war noch nie eingeloggt... hat also nnoch kein Homeverzeichnis.

@amenomade
sorry, hatte da nur den Teil mit der Fehlermeldung aus dem Log.

Das Debuglog habe ich jedes Mal mit der /opt/fhem/alexa-fhem.cfg gestartet.
In Fhem wird es mit ./alexa-fhem.cfg gestartet... also aktuelles Verzeichnis und da ich im Startscript vor dem Start auf /opt/fhem/ gehe... sollte das die Gleiche sein... wobei Deine Vermutung sehr nahe liegt. Im Home von root war natürlich .alexa von der alten Version mit der confi.json. Der Ordner existiert noch als sic.alexa... kann also keine Rolle spielen. Ein Ordner .alexa ist im Root- Home, aber der ist leer. Unter /opt/fhem existiert ebenfalls ein Ordner .alexa.... ist aber auch leer.cd alexa-fhem.cfg wäre demnach aber nur die unter /opt/fhem/ ..... User und Passwort sind als hash ein alexa Attribut unter fhem.... ob dort das https steht habe ich noch nicht herausgefunden.... stand aber genausowenig wie das Passwort oder der User in der alexa-fhem.cfg (jetzt schon).


reicht Dir der Abschnitt... oder soll ich mehr posten? Für den debug-Modus muss man den  Parameter unter dem attribu alexaFHEM-params angeben...


[17/06/2020, 23:00:21] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[17/06/2020, 23:00:21] os.homedir()=/opt/fhem
[17/06/2020, 23:00:21] this is alexa-fhem 0.5.51
[17/06/2020, 23:00:21] connecting to FHEM ...
[17/06/2020, 23:00:21] [FHEM] defaults to: will not send proactive events
[17/06/2020, 23:00:22] [FHEM] trying longpoll to listen for fhem events
[17/06/2020, 23:00:22] [FHEM] starting longpoll: https://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1592427622973
[17/06/2020, 23:00:23] [FHEM] got csrfToken:
[17/06/2020, 23:00:23] [FHEM] Checking devices and attributes...
[17/06/2020, 23:00:23] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&XHR=1
[17/06/2020, 23:00:23] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&XHR=1
[17/06/2020, 23:00:23] [FHEM] waiting for events ...
[17/06/2020, 23:00:23] [FHEM] Fetching FHEM devices...
[17/06/2020, 23:00:23] [FHEM] fetching: https://127.0.0.1:8083/fhem?cmd=jsonlist2%20alexaName=..*&XHR=1
[17/06/2020, 23:00:24] [FHEM]   error processing event data: TypeError: Cannot read property 'Name' of undefined
[17/06/2020, 23:00:24] [FHEM]   error processing event data: TypeError: Cannot read property 'Name' of undefined
[17/06/2020, 23:00:24] [FHEM] alexa device is alexa
[17/06/2020, 23:00:24] [FHEM] mappings for alexa: {}
[17/06/2020, 23:00:24] [FHEM] alexa will not send proactive events
[17/06/2020, 23:00:24] [FHEM] alexa uses ID: xxx
[17/06/2020, 23:00:24] [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


Ich habe den Ortner alexa-fhem im fhem-Verzeichnis gelöscht und unter root das .alexa umbenannt... das Script aus dem Autostart ist auch raus.... fehlt da noch was?

Gruß, Andy

MadMax-FHEM

Zitat von: Andy_C am 17 Juni 2020, 23:25:19
ich habe zwar einen User fhem, aber der war noch nie eingeloggt... hat also nnoch kein Homeverzeichnis.

Das ist normal, dass man sich mit fhem nicht einloggen kann/einloggt.

Dennoch hat der fhem User (bei Standardinstallation) ein Home: /opt/fhem ;)

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)

Andy_C

Danke Joachim,

mit der Installation wusste ich... aber mit dem home habe ich gerade erst gesehen... fhem:x:xxx:xx::/opt/fhem:/bin/false


        ├─perl─┬─node /usr/bin/a─┬─ssh
        │      │                 └─10*[{node /usr/bin/a}]
        │      └─2*[perl]

denke mal 10* dürfte alexa sein?

Gruß, Andy

amenomade

EDIT: ich komme ein Schritt zurück, da anscheinend deine Config richtig gelesen wird. /EDIT

Entweder ist dein /opt/fhem/alexa-fhem.cfg falsch, oder Du hast irgendein Device, der komische Properties hat.

Irgendwie stimmt (teilweise) was Du geschrieben hast: mit Fhem Connector, und auch wenn Fhem under Port 8083 mit https und User Passwort abgesichert ist, steht NUR folgendes in der Datei:
{
   "connections" : [
      {
         "name" : "FHEM",
         "uid" : 999,
         "filter" : "alexaName=..*",
         "port" : "8083",
         "webname" : "fhem",
         "server" : "127.0.0.1"
      }
   ],
   "sshproxy" : {
      "description" : "FHEM Connector",
      "ssh" : "/usr/bin/ssh"
   }
}



Was steht in deiner? Kannst Du die posten?

Wenn alles korrekt ist, bitte auch das Ergebnis von
jsonlist2 TYPE=alexa
jsonlist2 alexaName=..*
(falls irgendwelche unsichbare Zeichen anderes von jsonlist2 interpretiert würden.

EDIT nach deinem letzten Post: {node /usr/bin/a} ist ja {node /usr/bin/alexa-fhem ... mit parameter.}
Siehst Du mit "ps aux |grep node"

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Andy_C

Ich vermute auch schon ein Device... war schon am überlegen ob ich eins nach dem Anderen rausschmeiße oder Alle und dann wieder rein setze.... wobei mir Info keinen Fehler anzeigt...


alexa-fhem.cfg

{
   "sshproxy" : {
      "ssh" : "/usr/bin/ssh",
      "description" : "FHEM Connector"
   },
   "connections" : [
      {
         "uid" : 999,
         "name" : "FHEM",
         "port" : "8083",
         "ssl": true, # habe ich hinzugefügt
         "filter" : "alexaName=..*",
         "auth": {"user": "user", "pass": "passwd"}, # habe ich hinzugefügt
         "webname" : "fhem",
         "server" : "127.0.0.1"
      }
   ]
}


Ohne die Parameter kann man über die Shell nicht starten.... fragt eben über http ab und könnte sich nicht einloggen... den Fehler hatte ich ja.

ps aux |grep node:

fhem      6178  0.3  5.7 175516 54552 ?        Sl   Jun17   0:06 node /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -a xx:xx -s
root      7238  0.0  0.0   7348   564 pts/2    S+   00:04   0:00 grep node



jsonlist2 TYPE=alexa:

{
  "Arg":"TYPE=alexa",
  "Results": [
  {
    "Name":"alexa",
    "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 DbLogExclude DbLogInclude DbLogValueFn:textField-long alexaName alexaProactiveEvents:1,0 alexaRoom cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fm_type genericDeviceType homebridgeMapping:textField-long icon lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0 sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      ".FhemMetaInternals": "1",
      "FD": "21",
      "FUUID": "xxxx",
      "FVERSION": "39_alexa.pm:0.216510/2020-04-12",
      "LAST_START": "2020-06-17 23:28:00",
      "LAST_STOP": "2020-06-17 23:28:00",
      "NAME": "alexa",
      "NOTIFYDEV": "global,global:npmjs.*alexa-fhem.*",
      "NR": "27",
      "NTFY_ORDER": "50-alexa",
      "PARTIAL": "",
      "PID": "6178",
      "STARTS": "13",
      "STATE": "running /usr/bin/alexa-fhem",
      "TYPE": "alexa",
      "active": "0",
      "alexa-fhem version": "0.5.51",
      "currentlogfile": "/opt/fhem/log/alexa-2020-06-18.log",
      "logfile": "%L/alexa-%Y-%m-%d.log"
    },
    "Readings": {
      ".eventToken": { "Value":"{\"access_token\":\"Atza|xxxx-\",\"token_type\":\"bearer\",\"expires_in\":3600}", "Time":"2020-05-20 20:31:06" },
      "alexaFHEM": { "Value":"running /usr/bin/alexa-fhem", "Time":"2020-06-17 23:28:00" },
      "alexaFHEM.ProxyConnection": { "Value":"running; SSH connected", "Time":"2020-06-17 23:28:09" },
      "alexaFHEM.bearerToken": { "Value":"crypt:xxx", "Time":"2020-06-17 21:59:12" },
      "alexaFHEM.skillRegKey": { "Value":"crypt:xxxx", "Time":"2020-06-17 21:59:12" }
    },
    "Attributes": {
      "DbLogExclude": ".*",
      "alexaFHEM-auth": "crypt:xxxx",
      "alexaFHEM-config": "./alexa-fhem.cfg",
      "alexaFHEM-log": "%L/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",
      "room": "92_HMDevices",
      "stateFormat": "alexaFHEM"
    }
  }  ],
  "totalResultsReturned":1
}

Die Attribute wollen nicht... ich versuche es im extra-post


amenomade

Packe lieber die letzte jsonlist2 in einer Datei, und hänge die an. Die ist da unvollständig
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Zitat von: Andy_C am 18 Juni 2020, 00:17:09

Ohne die Parameter kann man über die Shell nicht starten.... fragt eben über http ab und könnte sich nicht einloggen... den Fehler hatte ich ja.

Ja, das kann sein.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Andy_C

So, jetzt hänge ich sie gleich als Datei an wie Du geschrieben hast... denke sie ist zu groß ;-)

Was Devices betrifft.... ich habe im System nur Homematic... virtuell läuft noch die Homematic-Zentrale... ums HM-IP einbinden zu können... habe aber (noch) keins drin.


viele Grüße, Andy

amenomade

Hmmmm... ich sehe in erster Linie nichts auffälliges...
Wird langsam interessant... ;)

Kannst Du den Thread nach Sprachsteuerung verschieben (Button ganz unten links). Dort liest u.a. Andre (justme)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus