39_alexa.pm und alexa-fhem test version

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

Vorheriges Thema - Nächstes Thema

stefanru

#600
Hi justme,

könntest du bei ContactSensor und DoorState die Abfrage so machen?
Grund: meine MAX Kontakte liefern opened und manchmal auch opened (rf error)
So ist es robuster und es geht bei mir.


if( device.mappings.CurrentDoorState ) {
    if( state ) { state.replace( ' und ', ', ' ); state += ' und ' };
    state += 'ist '+ ((device.fhem.cached(device.mappings.CurrentDoorState.informId).indexOf('open') >= 0)?'geöffnet':'geschlossen');
          } else if( device.mappings.ContactSensorState ) {
    if( state ) { state.replace( ' und ', ', ' ); state += ' und ' };
    state += 'ist '+ ((device.fhem.cached(device.mappings.ContactSensorState.informId).indexOf('open') >= 0)?'geöffnet':'geschlossen');
          }



Danke und Gruß,
Stefan

justme1968

@stefanru: für den audioplayer: bitte mach mal eine richtiges diff. dann ist es einfacher. dann schaue ich es mir an.

inzwischen geht contact auch mit dem smart home skill und ich habe values im homebridge mapping angepasst. d.h. die abfrage im custrom skill wird auch auf das values mappng angepasst. dann sind keine änderungen im code nötig wenn andere sensoren verwendet werden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Svnm

Zitat von: justme1968 am 22 Februar 2019, 21:39:19
nein. das log lässt sich nicht deaktivieren. dir ausgabe müssen ja irgendwohin.

warum willst du etwas deaktivieren?

Der Log sorgt für viele Schreibzugriffe und wenn alles funktioniert brauche ich das Log nun mal nicht. Oder hat das Log einen tieferen Sinn, der für die Funktion unbedingt notwendig wäre? Ich habe es auf einem Raspi laufen und mache mir da Sorgen um SD-Karte.

justme1968

versuch mal /dev/null für alexaFHEM-log anzugeben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

balli1187

Ich habe meine Logs auf ein usb-Stick umgeleitet.
Vielleicht kann sich ja Alexa-FHEM den Pfad für die Log-Files aus dem global-Device holen, dann müsste man es nicht separat umlenken?


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

justme1968

das alexa modul verwendet den gleichen mechanismus wie alle anderen log devices.

wenn logdir in global gesetzt wird es verwendet.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

balli1187

Danke.
Ich hatte nur über logfile angepasst, nicht über logdir. Wieder was gelernt.


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

justme1968

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

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

stefanru

#608
Alles klar, super Danke!

Den Diff werde ich mal machen und dir zukommen lassen.
Wie gesagt die Befüllung ist noch unschön und gehört mit einem FHEM Device gelöst.
Außerdem ist das denk ich nur etwas für CustomSkill?

Ok hab den Diff doch gleich gemacht, ist auf der 0.5.21, sind alle Änderungen von mir drin:

root@raspberrypi:/usr/local/lib/node_modules/alexa-fhem/lib# diff server.js server.js_0_5_21_geht
4a5,10
> //Fixme mp3list
> var mp3list = [];
> var mp3pos;
> var mp3queued;
> var mp3offset;
> //Fixme mp3list end
685a692,695
>         //fixme Fenster
>         if( !seen['fenster'] )
>         ret +='\n    fenster';
>        //fixme Fenster end
1475a1486,1491
>       //fixme fix undefined
>       if ( event === undefined || event.session === undefined )
>       {
>       sessions[session] = {};
>       }
>       else {
1481a1498
>       }
1501c1518,1519
<     if( event.session.application !== undefined && this.roomOfIntent[event.session.application.applicationId] )
---
>       // fixme undefined
>     if( event !== undefined && event.session !== undefined && event.session.application !== undefined && this.roomOfIntent[event.session.application.applicationId] )
1514a1533,1536
>     //fixme audioplayer response
>      response = audioPlayerResponse(event, response);
>     //fixme audioplayer response end
>
1624a1647,1652
>               // fixme AudioPlayer Start
>               if( match = result.match( /<myaudiourl>(.*)<\/myaudiourl>/ ) ) {
>                   mp3list = match[1].split(" ");
>                   mp3pos = 0;
>                   response.response=audioPlayer(mp3list[mp3pos],0,"REPLACE_ALL",mp3pos);
>                 }
1800c1828,1832
<       if( event.request.intent.name === 'AMAZON.StopIntent' ) {
---
>         //Fixme Ausioplayer Intents
>        if( event.request.intent.name === 'AMAZON.NextIntent' || event.request.intent.name === 'AMAZON.PreviousIntent' || event.request.intent.name === 'AMAZON.PauseIntent' || event.request.intent.name === 'AMAZON.ResumeIntent' ) {
>         response = audioPlayerIntents (event, response);
>        }
>       else if( event.request.intent.name === 'AMAZON.StopIntent' ) {
1840a1873,1874
>           // Fixme OwnMappings
>           state = ownMappings (device, state);
1875c1909
<           state += 'ist '+ ((device.fhem.cached(device.mappings.CurrentDoorState.informId)==='open')?'geöffnet':'geschlossen');
---
>           state += 'ist '+ ((device.fhem.cached(device.mappings.CurrentDoorState.informId).indexOf('open') >= 0)?'geöffnet':'geschlossen');
1878c1912
<           state += 'ist '+ ((device.fhem.cached(device.mappings.ContactSensorState.informId)==='open')?'geöffnet':'geschlossen');
---
>           state += 'ist '+ ((device.fhem.cached(device.mappings.ContactSensorState.informId).indexOf('open') >= 0)?'geöffnet':'geschlossen');
2683a2718,2719
>         log.info( 'ContactSensor mapping' + device.fhem.cached(mapping.informId) );
>
2685c2721,2723
<     if( current === 'CONTACT_DETECTED' || current === 'Closed' || current === 'closed' )
---
>       log.info( 'ContactSensor current' + current);
>       // Fixme Current
>     if( current === 'CONTACT_DETECTED' || current.indexOf('CLOSED') >= 0 || current.indexOf('Closed') >= 0 || current.indexOf('closed') >= 0 )
2688a2727
>   log.info( 'ContactSensor current' + current);
2700c2739,2740
<     if( current === 'CLOSED' || current === 'Closed' || current === 'closed' )
---
>       // Fixme Current
>     if( current === 'CONTACT_DETECTED' || current.indexOf('CLOSED') >= 0 || current.indexOf('Closed') >= 0 || current.indexOf('closed') >= 0 )
2899a2940
>                  log.info( 'ContactSensor d.capabilities.push' );
4235a4277,4411
>
> //fixme Audioplayer
> var audioPlayer = function (audioURL, offsetInMilliseconds, playBehavior, token, previousToken) {
>     var response = {
>             shouldEndSession: true,
>             directives: [
>                 {
>                     type: "AudioPlayer.Play",
>                     playBehavior: playBehavior,
>                     audioItem: {
>                         stream: {
>                             url: audioURL,
>                             token: token, // Unique token for the track - needed when queueing multiple tracks
>                             expectedPreviousToken: previousToken, // The expected previous token - when using queues, ensures safety
>                             offsetInMilliseconds: offsetInMilliseconds
>                         }
>                     }
>                 }
>             ]
>
>     };
>
>     return(response);
> };
>
> var audioPlayerResponse = function (event, response) {
>
>       if( event.request.type === 'AudioPlayer.PlaybackStarted' || event.request.type === 'AudioPlayer.PlaybackStopped' )
>       { mp3pos = parseInt(event.request.token);
>         mp3offset = parseInt(event.request.offsetInMilliseconds);
>      response = {
>       "version": "1.0",
>       "response": {
>         "shouldEndSession": true
>       }
>     };
>     }
>       else if( event.request.type === 'AudioPlayer.PlaybackNearlyFinished' )
>       {
>               if ( mp3pos < mp3list.length - 1 )
>               {
>               response.response=audioPlayer(mp3list[mp3pos+1],0,"ENQUEUE",mp3pos+1,mp3pos);
>               }
>       }
>       return(response);
> };
>
> var audioPlayerIntents = function (event, response) {
>        if( event.request.intent.name === 'AMAZON.NextIntent' ) {
>                if ( mp3pos < mp3list.length - 1 )
>               {
>             mp3pos = mp3pos +1;
>             response.response=audioPlayer(mp3list[mp3pos],0,"REPLACE_ALL",mp3pos);
>           }
>         }
>         else if( event.request.intent.name === 'AMAZON.PreviousIntent' ) {
>                 mp3pos = mp3pos -1;
>         if ( mp3pos > -1 )
>           {
>             response.response=audioPlayer(mp3list[mp3pos],0,"REPLACE_ALL",mp3pos);
>           }
>         }
>         else if( event.request.intent.name === 'AMAZON.PauseIntent' ) {
>                 response.response = {
>             shouldEndSession: false,
>             directives: [
>                 {
>                               "type": "AudioPlayer.Stop"
>                               }
>                               ]
>                       }
>         }
>          else if( event.request.intent.name === 'AMAZON.ResumeIntent' ) {
>                  response.response=audioPlayer(mp3list[mp3pos],mp3offset,"REPLACE_ALL",mp3pos);
>         }
>         return response;
> };
>
> // Fixme OwnMappings
> var ownMappings = function (device, state) {
>                          // fixme Humidity
>                 if( device.mappings.CurrentRelativeHumidity ) {
>             if( state ) {state = state.replace( ' und ', ', ' ); state += ' und ' };
>                       if ( state.search(' misst ') == -1) { state += ' misst ';};
>             state += device.fhem.cached(device.mappings.CurrentRelativeHumidity.informId).replace('.',',') +' Prozent Luftfeuchte';
>              }
>                        // fixme Pressure
>                 if( device.mappings.CurrentRelativePressure ) {
>             if( state ) {state = state.replace( ' und ', ', ' ); state += ' und ' };
>                       if ( state.search(' misst ') == -1) { state += ' misst ';};
>             state += device.fhem.cached(device.mappings.CurrentRelativePressure.informId).replace('.',',') +' Hektopascal Luftdruck';
>              }
>                                       // fixme Wind
>                 if( device.mappings.WindSpeed ) {
>            if( state ) { state = state.replace(' und ', ', ' ); state += ' und ' };
>                  if ( state.search(' misst ') == -1) { state += ' misst ';};
>             state += device.fhem.cached(device.mappings.WindSpeed.informId).replace('.',',') +' kmH Windgeschwindigkeit';
>              }
>                         // fixme UVIndex
>               if (device.mappings.UVIndex) {
>                 if( parseInt(device.fhem.cached(device.mappings.UVIndex.informId)) > 0) {
>             if( state ) {state = state.replace( ' und ', ', ' ); state += ' und ' };
>             state += 'der UV Index ist '+ device.fhem.cached(device.mappings.UVIndex.informId).replace('.',',');
>              }
>               }
>                           // fixme CurrentLux
>               if (device.mappings.CurrentLux) {
>                 if( parseInt(device.fhem.cached(device.mappings.CurrentLux.informId)) > 0) {
>             if( state ) {state = state.replace( ' und ', ', ' ); state += ' und ' };
>                       if ( state.search(' misst ') == -1) { state += ' misst ';};
>             state += device.fhem.cached(device.mappings.CurrentLux.informId).replace('.',',') +' Lux';;
>              }
>               }
>                           // fixme Forecast
>                 if( device.mappings.Forecastcode ) {
>             if( state ) {state = state.replace( ' und ', ', ' ); state += ' und ' };
>             state += 'die Vorhersage ist '+ device.fhem.cached(device.mappings.Forecastcode.informId);
>              }
>                                  // fixme CurrentLiter
>                 if( device.mappings.CurrentLiter ) {
>             if( state ) {state = state.replace( ' und ', ', ' ); state += ' und ' };
>             state += 'der Füllstand ist '+ device.fhem.cached(device.mappings.CurrentLiter.informId) +' Liter';
>              }
>                           // fixme CurrentKwh
>                 if( device.mappings.CurrentKwh ) {
>             if( state ) {state = state.replace( ' und ', ', ' ); state += ' und ' };
>             state += 'der Zählerstand ist '+ device.fhem.cached(device.mappings.CurrentKwh.informId).replace('.',',') +' Kilowattstunden';;
>              }
>                          // fixme CurrentSensorState
>                 if( device.mappings.CurrentSensorState ) {
>             if( state ) {state = state.replace( ' und ', ', ' ); state += ' und ' };
>             state += 'der Status ist '+ device.fhem.cached(device.mappings.CurrentSensorState.informId).replace('.',' ');
>              }
>                        return state;
> };



Gruß,
Stefan

dcdead

Hallo, danke für das Modul, funktioniert bei mir schonmal sehr gut, um meinen AVR zu steuern. Diesen habe ich als genericdevicetype speaker hinterlegt und An- sowie Ausschalten, sowie die Steuerung der Lautstärke funktionieren einwandfrei. Sehe ich es aber richtig, dass das Modul Speaker:Mute nicht unterstützt?


[2019-2-24 19:43:25] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.Speaker","name":"SetMute","payloadVersion":"3","messageId":"xxx","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"xxx"},"endpointId":"xxx","cookie":{"fuuid":"xxx","device":"AVR"}},"payload":{"mute":true}}}
[2019-2-24 19:43:26] [FHEM]     caching: Custom Volume: 22 (as number; from '22')
[2019-2-24 19:43:26] <<<< [ssh] {"header":{"namespace":"Alexa","name":"ErrorResponse","payloadVersion":"3","messageId":"xxx","correlationToken":"-"},"payload":{"type":"INVALID_DIRECTIVE","message":"unknown"},"endpoint":{"scope":{"type":"BearerToken","token":"xxx"},"endpointId":"xxx","cookie":{"fuuid":"xxx","device":"AVR"}}}


Im device selbst ist mute vorhanden:


[2019-2-24 19:42:27] [FHEM] AVR is speaker
[2019-2-24 19:42:27] [FHEM] AVR has
[2019-2-24 19:42:27] [FHEM]   Custom Volume [volume;cached]
[2019-2-24 19:42:27] [FHEM]   Custom Power [power]
[2019-2-24 19:42:27] [FHEM]   On [state;on,off]
[2019-2-24 19:42:27] [FHEM]   Mute [mute]
[2019-2-24 19:42:27] [FHEM]     caching: Custom Volume: 32 (as number; from '32')
[2019-2-24 19:42:27] [FHEM] AVR-power not a number: on
[2019-2-24 19:42:27] caching: AVR-mute: off


justme1968

#610
@stefanru: danke. ich bau es demnächst ein.

@dcdead: du hast recht. mute ist noch nicht eingebaut. das muss ich noch machen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

RalfPit

Hallo, DANK eurer Hilfe konnte ich den FHEM Connector problemlos installieren und alle Geräte funktionierten sofort.
Ein Problem habe ich jedoch alle 90 Sekunden: Got SIGTERM, shutting down alexa-fhem...

Welchen Fehler könnte ich gemacht haben ?

LG Ralf

[2019-2-25 13:59:12] BearerToken '...375A9' read from alexa
[2019-2-25 13:59:12] 39_alexa.pm is new version: true
[2019-2-25 13:59:12] sshautoconf: completed successfully
[2019-2-25 13:59:12] *** SSH: proxy configuration set up done
[2019-2-25 13:59:12] Reading alexaFHEM.ProxyConnection set to starting;; starting SSH
[2019-2-25 13:59:12] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20starting%3B%3B%20starting%20SSH%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2019-2-25 13:59:12] Starting SSH with -R 1234:127.0.0.1:37577 -oServerAliveInterval=90 -i /opt/fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de
[2019-2-25 13:59:13] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
[2019-2-25 13:59:13] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20running%3B%3B%20SSH%20connected%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2019-2-25 13:59:13] *** SSH: proxy connection established
[2019-2-25 13:59:13] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated. 
  2019-02-25 13:59:49 caching: MAX_OG_AZ_WT_0e145e-temperature: 19.1
[2019-2-25 13:59:49] [FHEM]     caching: CurrentTemperature: 19.1 (as number; from '19.1')
[2019-2-25 14:00:19] Got SIGTERM, shutting down alexa-fhem...
[2019-2-25 14:00:19] Reading alexaFHEM.ProxyConnection set to stopping;; alexa-fhem terminating
[2019-2-25 14:00:19] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20stopping%3B%3B%20alexa-fhem%20terminating%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2019-2-25 14:00:19] Stopping SSH ...
[2019-2-25 14:00:19] Reading alexaFHEM.ProxyConnection set to stopped
[2019-2-25 14:00:19] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20stopped%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2019-2-25 14:00:19] *** SSH: exited with 143
[2019-2-25 14:00:19] Got SIGTERM, shutting down alexa-fhem...
[2019-2-25 14:00:19] Reading alexaFHEM.ProxyConnection set to stopping;; alexa-fhem terminating
[2019-2-25 14:00:19] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20stopping%3B%3B%20alexa-fhem%20terminating%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2019-2-25 14:00:19] Stopping SSH ...
[2019-2-25 14:01:00] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[2019-2-25 14:01:00] os.homedir()=/opt/fhem
[2019-2-25 14:01:00] this is alexa-fhem 0.5.19
[2019-2-25 14:01:00] connecting to FHEM ...
[2019-2-25 14:01:01] [FHEM] trying longpoll to listen for fhem events
[2019-2-25 14:01:01] [FHEM] starting longpoll: http://192.168.178.83:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1551099661982
[2019-2-25 14:01:04] [FHEM] got csrfToken:
[2019-2-25 14:01:04] [FHEM] Checking devices and attributes...
[2019-2-25 14:01:04] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&XHR=1
[2019-2-25 14:01:04] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&XHR=1
[2019-2-25 14:01:04] [FHEM] waiting for events ...
[2019-2-25 14:01:04] [FHEM] Fetching FHEM devices...
[2019-2-25 14:01:04] [FHEM] fetching: http://192.168.178.83:8083/fhem?cmd=jsonlist2%20alexaName=..*&XHR=1
[2019-2-25 14:01:04] [FHEM] alexa device is alexa
[2019-2-25 14:01:04] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3B%7B%24defs%7Balexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20%3D%20%220.5.19%22%7D%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2019-2-25 14:01:04] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bget%20alexa%20proxyToken%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2019-2-25 14:01:04] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Blist%20alexa%20.eventToken%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2019-2-25 14:01:04] Server listening on: http://127.0.0.1:39851 for proxy connections
[2019-2-25 14:01:04] *** SSH: checking proxy configuration
[2019-2-25 14:01:04] sshautoconf: home=/opt/fhem, spath=/opt/fhem/.alexa, cpath=./alexa-fhem.cfg, sshpath=/opt/fhem/.ssh
[2019-2-25 14:01:04] Passed config: {"connections":[{"uid":999,"name":"FHEM","server":"192.168.178.83","ssl":false,"webname":"fhem","port":"8083","filter":"alexaName=..*"}],"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","port":39851}}
[2019-2-25 14:01:04] sshautoconf: SSH key seems to exist
[2019-2-25 14:01:05] sshautoconf: Our SSH key is known at the reverse proxy, good!
[2019-2-25 14:01:05] [FHEM]   executing: http://192.168.178.83:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bjsonlist2%20alexa%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
*** FHEM: connected
[2019-2-25 14:01:05] [FHEM] got: 27 results
[2019-2-25 14:01:05] [FHEM] Fenst_li_EG_WZ is switch
[2019-2-25 14:01:05] [FHEM] Fenst_li_EG_WZ has
[2019-2-25 14:01:05] [FHEM]   On [state;on,off]




justme1968

irgendjemand beendet dein alexa-fhem.

hast du noch alte start script laufen die dazwischen funken ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

RalfPit

Nein, hatte Alexa auf einem zweiten PI laufen.
Meine Vermutung ging in Richtung DBLogging.

Aber wie kann ich das verhindern ?
Habe beim DBLogging testweise mal waiting for shutdown auf 20 Sekunden gestellt, aber das war´s nicht.

2019.02.25 15:11:44 1: Server shutdown delayed due to alexa for max 10 sec
2019.02.25 15:11:46 3: alexa: read: end of file reached while sysread
2019.02.25 15:11:46 3: alexa: stopped
2019.02.25 15:11:46 0: Server shutdown
2019.02.25 15:11:46 2: DbLog DBLogging - waiting for shutdown 20 seconds ...
2019.02.25 15:12:06 2: DbLog DBLogging - continuing shutdown sequence
2019.02.25 15:12:06 1: Shutdown executed

87insane

Für mich sieht es aus als würde der ganze fhem Server neu starten....