39_alexa.pm und alexa-fhem test version

Begonnen von justme1968, 03 Januar 2019, 22:43:10

Vorheriges Thema - Nächstes Thema

justme1968

anbei eine test version des alexa moduls und alexa-fhem.

die änderungen sind:


  • das fhem alexa modul versucht automatisch alexa-fhem zu starten
    d.h. es sind keine start script, doif oder sonstige dummys mehr nötig
    • das alexaFHEM-cmd attribut kann verwendet werden um den pfad und namen zum executable anzugeben.
      wenn nicht gesetzt -> es wird versucht alexa-fhem über den suchpfad zu starten.
    • das alexaFHEM-config attribut sollte verendet werden um den pfad zum config file anzugeben.
      wenn nicht gesetzt: es wird wie bisher ~/.alexa/config.json gesucht. achtung: wenn alexa-fhem bisher nicht unter dem gleichen user wie fhem lief passt das erst mal nicht, d.h. das attribut sollte gesetzt werden.
    • die alexa-fhem log ausgaben landen im fhem log
    • es gibt set start, stop und restart kommandos
    • wer mag kann sich über stateFormat eine anzeige und über devStateIcon eine klick lösung bauen

  • alexa-fhem gibt es jetzt über GitHub und npmjs


    • diese version ist nötig um das start feature von oben zu nutzen
    • alexa-fhem lässt sich am besten mit sudo install -g alexa-fhem global installieren
      damit ist es automatisch im fhem pfad und alexaFHEM-cmd muss nicht gesetzt werden
    • wie bisher muss die config von hand angelegt werden. relative pfade in der config (z.b. key und cert) müssen stimmen.


wenn sich das bewährt soll es wie folgt weiter gehen:

  • das fhem modul erzeugt eine default config inclusive ssl/auth/...
  • das alaexa-fhem config file kann über fhemweb editiert werden
  • einfachere filter config, ebenfalls direkt über fhem
  • besseres alexa-fhem log handling
ich hoffe georg und ich können dann die beiden versionen wieder zusammen führen und georg kann sich um den proxy kümmern ohne sich um installation/konfiguration und start von alexa-fhem kümmern zu müssen.


edit: 2019-01-04: neue alexa-fhem kommandozeilen parameter -s und -a, das alexa modul schaut ob im Web device HTTPS gesetzt ist und startet alexa-fhem automatisch mit -s. -a mit user:password muss noch von hand über das alexaFHEM-params attribut gesetzt werden. demnächst wird versucht das aus allowed auszulesen. wenn das nicht geht müssen user und password im alexa device gesetzt werden.

edit 2019-01-05: neue modul version angehängt und neue alexa-fhem version auf github/npmjs:

  • das logfile handling wurde verbessert:

    • es wird automatisch alles für ein tägliches logfile vorbereitet
    • die logs werden wie andere fhem logs rotiert
    • über das nrarchive attribut lässt sich einstellen wie viele logfiles aufgehoben werden sollen
    • oben im alexa-device gibt es einen link auf ein fake FileLog device mit dem sich die logs anschauen lassen

  • es wird beim ersten start ein minimales default configfile erzeugt

    • auth muss wie oben beschrieben noch von hand gesetzt werden
    • das config file lässt sich über edit files aus fhemweb editieren
    • jedenfalls meistens. da fehlt auf fhem seite noch etwas infrastruktur...

  • das handling von start problemen wurde verbessert und vor allem die wartezeit beim restart optimiert

  • alexa-fhem beendet sich automatisch wenn fhem beendet wird, auch wenn die fhem seite das anhalten nicht mehr schafft

starten und stoppen per klick geht z.b. so:
attr alexa stateFormat alexaFHEM
attr alexa devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop


edit: 2019-01-06: neue modul version im anhang
- beim anlegen des default config files wird der public skill und der ssh tunnel aktiviert
  -> entweder von hand eintragen oder mit set alexa createDefaultConfig das config file überschreiben.
- für installationen ohne gesetztes logdir in global wird das richtige logfile attribut richtig gesetzt
  -> bitte das attribut ein mal löschen und modify <alexa> aufrufen

edit: 2019-01-06: neue modul version im anhang
- ssh eintrag im config file repariert
- wenn ein neues config file geschrieben wird, wird die vorherige version aufgehoben

edit: 2019-01-08: bei npmjs gibt es jetzt die version 0.5.1. dort ist der automatisch start des ssh tunnels von gvzdus eingebaut, upnp und natpnp rausgeflogen, und noch ein paar kleinere fixes eingebaut.

edit: 2019-01-09: bei npmjs gibt es jetzt die version 0.5.2. damit wird automatisch der gerate name bei amzon aktualisiert wenn das alexaName attribut geändert wird. es ist keine neue geräte suche nötig. ausserdem sind die letzte änderungen von gvzdus eingebaut.

edit: 2019.01.12: noch mal ein letztes update hier im thread bevor morgen alles live sein sollte....
bei npmjs gibt es jetzt die version 0.5.5 und hier angehängt eine 39_alexa.pm.

alexa-fhem und modul müssen dieses eine mal zwingend zusammen aktualisiert werden.

die wichtigsten änderungen:

  • das ganze ist jetzt ein öffentlicher alexa skill
  • events an amzon zu senden funktioniert auch für den öffentlichen skill
      -> man kann ein neues device in fhem mit set <alexa> reload <name> automatisch für alexa bekannt machen. achtung: der eingetragen filter sollte passen. sonst ist das gerät beim nächsten neuster nicht da
  • der start (und vor allem das beenden) von alexa-fhem aus fhem heraus wurde noch mal verbessert
  • ein remote start über ssh ist implementiert. damit kann man auch lokal den user wechseln.
    achtung: hier ist unter umständen noch etwas handarbeit nötig damit der andere host/user auch das config file hat

eine erste installationsanleitung findet sich hier: https://wiki.fhem.de/wiki/FHEM_Connector

gvzdus postet gleich noch in 'seinem' thread wie die bisherigen beta tester auf den öffentlichen skill wechseln können.

wer sich an der diskussion zu den sicherheitsüberlegungen beteiligen möchte ist hier: https://forum.fhem.de/index.php/topic,95715.msg886079.html#msg886079 dazu eingeladen.


edit: 2019-01-13: leider hat sich für das alexaFHEM-auth attribut noch ein kleiner fehler eingeschlichen. anbei eine version die das behebt. oder alternativ wie früher von hand ins config file eintragen. ab morgen im update.

edit: 2019-01-13 II: es gab noch ein problem das sich nur auf langsameren systemen bemerkbar gemacht hat. anbei eine version die das behebt. oder alternativ wie früher von hand ins config file eintragen. ab morgen im update.

edit: 2019-01-15: bitte die version aus dem normalen fhem update verwenden.

edit: 2019-01-18: alexa-fhem 0.5.11 ist per npm verfügbar. die änderungen sind:

  • Mit der aktuellen Version steht die Option ,,-A" (interaktive Konfiguration über die Kommandozeile) wieder zur Verfügung.
  • Baut der Server - z.B. wegen einer Einspielung - die SSH-Verbindung ab, war bisher eine Wartezeit von 15-135 Sekunden (zufällig) vorgesehen. Grundidee: Nicht Tausende von Kunden gleichzeitig binnen einer Sekunde auf einen frisch gestarteten Server einprasseln zu  lassen. Mit der neuen Version schägt der Server dem SSH-Prozess vor, wann er sich reconnecten sollte, sodass die Zeiten kürzer ausfallen können.
  • Ein eventuell vorhandenes ED25519-Zertifikat wird ignoriert
  • LightScene als scene ist repariert
  • schlösser sollten wieder korrekt funktionieren
  • mit set <alexa> unregister werden key und token für den proxy tunnel aus fhem gelöscht, der account deregistriert und das alexa device auf disabled gesetzt.

edit: 2019-01-22: alexa-fhem 0.5.13 ist per npm verfügbar. die änderungen sind:

  • Channel-, Input- und PlaybackController
    doku dazu im wiki


edit: 2019-01-22: test version des alexa moduls:

  • das modul verwendet jetzt die neuen CoProcess routinen die das handling für parallel laufende hilfsprozesse vereinheitlichen sollen.
  • achtung: es müssen beide pm files installiert werden. fhem am besten komplett neu starten.
der test die letzen tage mit meinem neuen trafri modul war erfolgreich. sobald es auch mit alexa stabil läuft kommt ein gassistant modul für dominiks ghome sprachanbindung und danach wird auch das siri modul umgestellt damit auch hier der autostart direkt aus fhem heraus geht.

damit hätten wir dann drei sprach module (und ein erstes anderes) die alle aus fhem heraus auf die gleiche art gestartet werden können. und deren backends sich so ähnlich wie möglich verhalten und konfigurieren lassen.

edit: 2019-01-22: die eingecheckte version ist auf CoProcess umgestellt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Loredo

Denkst du bitte daran, dass man alexa-fhem auch weiterhin separat betreiben möchte und kann?
Ich denke da an einen separaten Docker Container und bei dieser Betriebsart möchte man einzelne Prozesse gerne in separaten Containern halten.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

justme1968

alles was bisher ging wird auch weiterhin gehen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Mit dieser alexa-fhem Version erhalte ich einige Fehler, die ich vorher glaube ich so nicht hatte:
"failed to refresh token" und auch den JSON Fehler "ERROR: SyntaxError: Unexpected end of JSON input"





root@demucvmkp01con:/docker/has# docker logs has_alexa-fhem_1
[2019-1-4 00:00:04] using /root/.alexa/config.json
[2019-1-4 00:00:04] ---
[2019-1-4 00:00:04] this is alexa-fhem 0.4.7
[2019-1-4 00:00:04] Fetching FHEM devices...
[2019-1-4 00:00:04] [FHEM] starting longpoll: http://fhem:9093/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1546560004730
[2019-1-4 00:00:04] Server listening on: http://:::3000
[2019-1-4 00:00:04] requesting messaging token
[2019-1-4 00:00:04] [FHEM] Checking devices and attributes...
[2019-1-4 00:00:04] [FHEM]   executing: http://fhem:9093/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2019-1-4 00:00:04] [FHEM]   executing: http://fhem:9093/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2019-1-4 00:00:04] [FHEM] Fetching FHEM devices...
[2019-1-4 00:00:04] [FHEM] fetching: http://fhem:9093/fhem?cmd=jsonlist2%20room=Alexa&XHR=1
[2019-1-4 00:00:04] [FHEM] alexa device is Alexa
[2019-1-4 00:00:04] [FHEM] Alexa is switch
[2019-1-4 00:00:04] [FHEM] Alexa has
[2019-1-4 00:00:04] [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
[2019-1-4 00:00:04] [FHEM]   executing: http://fhem:9093/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;%7B$defs%7BAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.4.7%22%7D;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&XHR=1
[2019-1-4 00:00:04] [FHEM]   executing: http://fhem:9093/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;list%20Alexa%20.eventToken;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&XHR=1
[2019-1-4 00:00:04] [FHEM] got: 6 results
[2019-1-4 00:00:04] [FHEM] HM_LC_BALC_SunBlind is blind
[2019-1-4 00:00:04] [FHEM] HM_LC_BALC_SunBlind has
[2019-1-4 00:00:04] [FHEM]   PositionState [direction]
[2019-1-4 00:00:04] [FHEM]   CurrentPosition [pct]
[2019-1-4 00:00:04] [FHEM]   TargetPosition [pct]
[2019-1-4 00:00:04] [FHEM] { reading: 'direction',
  values:
   [ '/^opening/:INCREASING',
     '/^closing/:DECREASING',
     '/.*/:STOPPED' ],
  device: 'HM_LC_BALC_SunBlind',
  informId: 'HM_LC_BALC_SunBlind-direction',
  characteristic_type: 'PositionState',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' },
  value2homekit: {},
  value2homekit_re:
   [ { re: '^opening', to: 'INCREASING' },
     { re: '^closing', to: 'DECREASING' },
     { re: '.*', to: 'STOPPED' } ] }
  2019-01-04 00:00:04 caching: HM_LC_BALC_SunBlind-direction: stop
[2019-1-4 00:00:04] [FHEM] { reading: 'pct',
  device: 'HM_LC_BALC_SunBlind',
  informId: 'HM_LC_BALC_SunBlind-pct',
  characteristic_type: 'CurrentPosition',
  log:
   { [Function: bound ]
  2019-01-04 00:00:04 caching: HM_LC_BALC_SunBlind-pct: 0
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2019-1-4 00:00:04] [FHEM] { reading: 'pct',
  cmd: 'pct',
  delay: true,
  device: 'HM_LC_BALC_SunBlind',
  informId: 'HM_LC_BALC_SunBlind-pct',
  characteristic_type: 'TargetPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2019-1-4 00:00:04] [FHEM] HM_LC_BR_Shutter is blind
[2019-1-4 00:00:04] [FHEM] HM_LC_BR_Shutter has
[2019-1-4 00:00:04] [FHEM]   PositionState [direction]
[2019-1-4 00:00:04] [FHEM]   CurrentPosition [pct]
[2019-1-4 00:00:04] [FHEM]   TargetPosition [pct]
[2019-1-4 00:00:04] [FHEM] { reading: 'direction',
  values:
   [ '/^opening/:INCREASING',
     '/^closing/:DECREASING',
     '/.*/:STOPPED' ],
  device: 'HM_LC_BR_Shutter',
  informId: 'HM_LC_BR_Shutter-direction',
  characteristic_type: 'PositionState',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' },
  value2homekit: {},
  value2homekit_re:
   [ { re: '^opening', to: 'INCREASING' },
     { re: '^closing', to: 'DECREASING' },
     { re: '.*', to: 'STOPPED' } ] }
  2019-01-04 00:00:04 caching: HM_LC_BR_Shutter-direction: stop
[2019-1-4 00:00:04] [FHEM] { reading: 'pct',
  device: 'HM_LC_BR_Shutter',
  informId: 'HM_LC_BR_Shutter-pct',
  characteristic_type: 'CurrentPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2019-01-04 00:00:04 caching: HM_LC_BR_Shutter-pct: 40
[2019-1-4 00:00:04] [FHEM] { reading: 'pct',
  cmd: 'pct',
  delay: true,
  device: 'HM_LC_BR_Shutter',
  informId: 'HM_LC_BR_Shutter-pct',
  characteristic_type: 'TargetPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2019-1-4 00:00:04] [FHEM] HM_LC_LR_ShutterWest is blind
[2019-1-4 00:00:04] [FHEM] HM_LC_LR_ShutterWest has
[2019-1-4 00:00:04] [FHEM]   PositionState [direction]
[2019-1-4 00:00:04] [FHEM]   CurrentPosition [pct]
[2019-1-4 00:00:04] [FHEM]   TargetPosition [pct]
[2019-1-4 00:00:04] [FHEM] { reading: 'direction',
  values:
   [ '/^opening/:INCREASING',
     '/^closing/:DECREASING',
     '/.*/:STOPPED' ],
  device: 'HM_LC_LR_ShutterWest',
  informId: 'HM_LC_LR_ShutterWest-direction',
  characteristic_type: 'PositionState',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' },
  value2homekit: {},
  value2homekit_re:
   [ { re: '^opening', to: 'INCREASING' },
     { re: '^closing', to: 'DECREASING' },
     { re: '.*', to: 'STOPPED' } ] }
  2019-01-04 00:00:04 caching: HM_LC_LR_ShutterWest-direction: stop
[2019-1-4 00:00:04] [FHEM] { reading: 'pct',
  device: 'HM_LC_LR_ShutterWest',
  informId: 'HM_LC_LR_ShutterWest-pct',
  characteristic_type: 'CurrentPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2019-01-04 00:00:04 caching: HM_LC_LR_ShutterWest-pct: 40
[2019-1-4 00:00:04] [FHEM] { reading: 'pct',
  cmd: 'pct',
  delay: true,
  device: 'HM_LC_LR_ShutterWest',
  informId: 'HM_LC_LR_ShutterWest-pct',
  characteristic_type: 'TargetPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2019-1-4 00:00:04] [FHEM] homebridgeMapping: clear CurrentPosition=pct TargetPosition=CurrentPosition,cmd=pct
[2019-1-4 00:00:04] [FHEM] HmIP_BROLL_LR_ShutterSouth is blind
[2019-1-4 00:00:04] [FHEM] HmIP_BROLL_LR_ShutterSouth has
[2019-1-4 00:00:04] [FHEM]   CurrentPosition [pct]
[2019-1-4 00:00:04] [FHEM]   TargetPosition [pct]
[2019-1-4 00:00:04] [FHEM] { reading: 'pct',
  device: 'HmIP_BROLL_LR_ShutterSouth',
  informId: 'HmIP_BROLL_LR_ShutterSouth-pct',
  characteristic_type: 'CurrentPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2019-01-04 00:00:04 caching: HmIP_BROLL_LR_ShutterSouth-pct: 40
[2019-1-4 00:00:04] [FHEM] { reading: 'pct',
  cmd: 'pct',
  device: 'HmIP_BROLL_LR_ShutterSouth',
  informId: 'HmIP_BROLL_LR_ShutterSouth-pct',
  characteristic_type: 'TargetPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2019-1-4 00:00:04] [FHEM] homebridgeMapping: StatusActive=Activity,values=/^alive/:1;/^dead/:0 CurrentTemperature=temperature,minValue=-30,subtype=Outdoor HumiditySensor=humidity,minValue=0,subtype=Outdoor CurrentAmbientLightLevel=luminosity,factor=1,subtype=Outdoor
[2019-1-4 00:00:04] [FHEM] WeatherStation is thermometer
[2019-1-4 00:00:04] [FHEM] WeatherStation has
[2019-1-4 00:00:04] [FHEM]   Custom Energy [energy]
[2019-1-4 00:00:04] [FHEM]   CurrentAmbientLightLevel [luminosity]
[2019-1-4 00:00:04] [FHEM]   CurrentTemperature [temperature]
[2019-1-4 00:00:04] [FHEM]   CurrentRelativeHumidity [humidity]
[2019-1-4 00:00:04] [FHEM]   Custom AirPressure [pressure]
[2019-1-4 00:00:04] [FHEM]   StatusActive [Activity]
[2019-1-4 00:00:04] [FHEM]   HumiditySensor [humidity]
[2019-1-4 00:00:04] [FHEM] { name: 'Energy',
  reading: 'energy',
  format: 'FLOAT',
  factor: 1,
  device: 'WeatherStation',
  informId: 'WeatherStation-energy',
  characteristic_type: 'E863F10C-079E-48FF-8F27-9C2605A29F52',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2019-01-04 00:00:04 caching: WeatherStation-energy: 5729.06805553911
[2019-1-4 00:00:04] [FHEM]     caching: Custom Energy: 5729.06805553911 (as number; from '5729.06805553911')
[2019-1-4 00:00:04] [FHEM] { reading: 'luminosity',
  minValue: 0,
  factor: '1',
  subtype: 'Outdoor',
  device: 'WeatherStation',
  informId: 'WeatherStation-luminosity',
  characteristic_type: 'CurrentAmbientLightLevel',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2019-01-04 00:00:04 caching: WeatherStation-luminosity: 0.0
[2019-1-4 00:00:04] [FHEM] { reading: 'temperature',
  minValue: -30,
  subtype: 'Outdoor',
  device: 'WeatherStation',
  informId: 'WeatherStation-temperature',
  characteristic_type: 'CurrentTemperature',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2019-01-04 00:00:04 caching: WeatherStation-temperature: 5.9
[2019-1-4 00:00:04] [FHEM] { reading: 'humidity',
  device: 'WeatherStation',
  informId: 'WeatherStation-humidity',
  characteristic_type: 'CurrentRelativeHumidity',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2019-01-04 00:00:04 caching: WeatherStation-humidity: 55
[2019-1-4 00:00:04] [FHEM] { name: 'AirPressure',
  reading: 'pressure',
  format: 'UINT16',
  factor: 1,
  device: 'WeatherStation',
  informId: 'WeatherStation-pressure',
  characteristic_type: 'E863F10F-079E-48FF-8F27-9C2605A29F52',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2019-01-04 00:00:04 caching: WeatherStation-pressure: 1019.5
[2019-1-4 00:00:04] [FHEM]     caching: Custom AirPressure: 1020 (as number; from '1019.5')
[2019-1-4 00:00:04] [FHEM] { reading: 'Activity',
  values: [ '/^alive/:1', '/^dead/:0' ],
  device: 'WeatherStation',
  informId: 'WeatherStation-Activity',
  characteristic_type: 'StatusActive',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' },
  value2homekit: {},
  value2homekit_re: [ { re: '^alive', to: '1' }, { re: '^dead', to: '0' } ] }
  2019-01-04 00:00:04 caching: WeatherStation-Activity: dead
[2019-1-4 00:00:04] [FHEM] { reading: 'humidity',
  minValue: 0,
  subtype: 'Outdoor',
  device: 'WeatherStation',
  informId: 'WeatherStation-humidity',
  characteristic_type: 'HumiditySensor',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2019-1-4 00:00:04] [FHEM] homebridgeMapping: SecuritySystemCurrentState=state,values=/home|awoken/:0;;absent:1;;/asleep|gotosleep/:2;;gone:3 SecuritySystemTargetState=SecuritySystemCurrentState,cmds=0:state+home;;1:state+absent;;2:state+gotosleep;;3:state+gone,delay=1
[2019-1-4 00:00:04] [FHEM] rr_Julian is security
[2019-1-4 00:00:04] [FHEM] rr_Julian has
[2019-1-4 00:00:04] [FHEM]   OccupancyDetected [presence]
[2019-1-4 00:00:04] [FHEM]   SecuritySystemCurrentState [state]
[2019-1-4 00:00:04] [FHEM]   SecuritySystemTargetState [state]
[2019-1-4 00:00:04] [FHEM] { reading: 'presence',
  values: [ 'present:OCCUPANCY_DETECTED', '/.*/:OCCUPANCY_NOT_DETECTED' ],
  device: 'rr_Julian',
  informId: 'rr_Julian-presence',
  characteristic_type: 'OccupancyDetected',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' },
  value2homekit: { present: 'OCCUPANCY_DETECTED' },
  value2homekit_re: [ { re: '.*', to: 'OCCUPANCY_NOT_DETECTED' } ] }
  2019-01-04 00:00:04 caching: rr_Julian-presence: present
[2019-1-4 00:00:04] [FHEM] { reading: 'state',
  values:
   [ '/home|awoken/:0',
     '',
     'absent:1',
     '',
     '/asleep|gotosleep/:2',
     '',
     'gone:3' ],
  device: 'rr_Julian',
  informId: 'rr_Julian-state',
  characteristic_type: 'SecuritySystemCurrentState',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' },
  value2homekit: { '': '', absent: '1', gone: '3' },
  value2homekit_re:
   [ { re: 'home|awoken', to: '0' },
     { re: 'asleep|gotosleep', to: '2' } ] }
  2019-01-04 00:00:04 caching: rr_Julian-state: home
[2019-1-4 00:00:04] [FHEM] { reading: 'state',
  values:
   [ '/home|awoken/:0',
     '',
     'absent:1',
     '',
     '/asleep|gotosleep/:2',
     '',
     'gone:3' ],
  cmds:
   [ '0:state+home',
     '',
     '1:state+absent',
     '',
     '2:state+gotosleep',
     '',
     '3:state+gone' ],
  delay: 1,
  device: 'rr_Julian',
  informId: 'rr_Julian-state',
  characteristic_type: 'SecuritySystemTargetState',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' },
  value2homekit: { '': '', absent: '1', gone: '3' },
  value2homekit_re:
   [ { re: 'home|awoken', to: '0' },
     { re: 'asleep|gotosleep', to: '2' } ],
  homekit2cmd:
   { '0': 'state home',
     '1': 'state absent',
     '2': 'state gotosleep',
     '3': 'state gone',
     '': '' },
  homekit2cmd_re: [] }
[2019-1-4 00:00:05] got messaging token
[2019-1-4 00:00:05] refreshing token
[2019-1-4 00:00:05] failed to refresh token: unauthorized_client: 'Not authorized for requested operation'
[2019-1-4 00:00:48] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
[2019-1-4 00:00:50] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
[2019-1-4 00:00:50] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
[2019-1-4 00:00:50] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
[2019-1-4 00:00:51] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
[2019-1-4 00:00:51] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from fd00:5:7:7::7
[2019-1-4 00:00:51] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from fd00:5:7:7::7
[2019-1-4 00:00:51] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from fd00:5:7:7::7
[2019-1-4 00:00:51] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from fd00:5:7:7::7
[2019-1-4 00:00:52] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
[2019-1-4 00:00:52] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
[2019-1-4 00:00:52] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
[2019-1-4 00:00:52] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/lib/node_modules/alexa-fhem/lib/server.js:136:26)
    at Server.<anonymous> (/usr/lib/node_modules/alexa-fhem/lib/server.js:148:33)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9) from ::ffff:172.27.0.7
root@demucvmkp01con:/docker/has#



So sieht die config.json dazu aus:




{
  "alexa": {
    "port": 3000,
    "name": "Alexa",
    "ssl": false,
    "keyFile": "/certs/alexa-fhem.key",
    "certFile": "/certs/alexa-fhem.crt",
    "nat-pmp": "",
    "nat-upnp": false,
    "applicationId": "amzn1.ask.skill.XXXXXXXXXX",
    "oauthClientID": "amzn1.application-oa2-client.YYYYYYYYY",
    "permissions": {
      "amzn1.ask.skill.XXXXXXXXXX": {
        "client_id": "amzn1.application-oa2-client.YYYYYYYYY",
        "client_secret": "ZZZZZZZZZZZZZZZZZZZZZZZZZZ"
      }
    }
  },
  "connections": [
    {
      "name": "FHEM",
      "server": "fhem",
      "port": "9093",
      "webname": "fhem",
      "auth": {
        "user": "123",
        "pass": "123"
      },
      "filter": "room=Alexa"
    }
  ]
}
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

MadMax-FHEM

#5
Hallo Andre,

werde ich mal testen!

Brauche wohl erst mal ein Backup meines Testsystems...
...oder ein weiteres Testsystem ;)

Danke!

Dann ist der "Einwurf" hier wohl "überflüssig"... ;)

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)

justme1968

@Loredo: da war noch experimenteller code für das messaging api drin. das hat amazon inzwischen aber gecancelt.
update ist draussen.

@MadMax-FHEM: ja. ich hoffe. über das alexa modul sollte es noch einfacher sein.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Loredo

Zitat von: justme1968 am 04 Januar 2019, 11:35:54
@Loredo: da war noch experimenteller code für das messaging api drin. das hat amazon inzwischen aber gecancelt.
update ist draussen.


Danke, passt wieder! Die "permissions" Sektion in der config.json ist damit dann ja ebenfalls obsolete.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

justme1968

für alles was automatisch geht ja.

für custom skill und eigene weitere skills nich.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

#10
im ersten beitrag: https://forum.fhem.de/index.php/topic,95272.msg880923.html#msg880923 gibt es ein update zum starten/stoppen, logfile handling und config file erzeugen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

und noch mal :)

im ersten beitrag: https://forum.fhem.de/index.php/topic,95272.msg880923.html#msg880923 gibt es eine neue modul version die zwei probleme behebt
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

letze version für heute im ersten beitrag :)

- fix für den ssh eintrag im config file
- backup des vorherigen config files beim neu schrieben
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MadMax-FHEM

#13
Hallo André,

vielen Dank (auch an dieser Stelle)!

Habe eben diese Version mit Alexa-FHEM-lazy erfolgreich in Betrieb genommen! :)

Anmerkung: die Einträge im Log bzgl. gefundener Geräte ist (deutlich) "schmaler" als ich das aus der Vergangenheit kenne... Stört mich nicht, wollte es nur anmerken ;)
EDIT: Georg meinte für das Loggen wäre (noch) er zuständig... ;)

Was war das nochmal (und wo, hab das irgendwie "verschlumpft") was ich mir anschauen/testen soll/kann also bzgl. Problemen bzw. Starten/Stoppen "legacy alexa-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)

justme1968

alles gut. legacy ist bald erledigt :)

im ernst: für die 'nur' smart home skill anwender sollte alles so automatisch laufen das nichts mehr von hand zu machen ist.

ich werde auch ins alexa modul einbauen das alexa-fhem remote gestartet werden kann. der automatisch start ist sehr viel besser als alle alten methoden. vor allem weil tatsächlich der echte status des alexa-fhem prozesses in fhem sichtbar ist und ich je nach fehler sofort oder verzögert neu starten kann. zusammen mit dem proxy status der auch im modul zu sehen ist sollte das einen guten überblick geben.


für die fälle bei denen weder der lokale noch der remote start über das modul geht wäre es schön deine alternative zu dokumentieren. aber wirklich nur als fallback.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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