NEWS
Alexa2 3.25.x (Beta) - jetzt wieder mit History :-)
-
@skb
Du kannst z.B. das Gesagte über eine Routine abfangen, in die Routine packst Du ein Gerät (z.B. mit dem Namen "trigger", das schaltest Du da an.
Nun machst Du ein Skript, dass nur dieses Gerät überwacht, wenn das Gerät an geschaltet wird, dann lässt Du den Adapter die History ziehen, in dem Du den entsprechenden Datenpunkt #trigger auf true stellst. -
@padrino sagte in Alexa2 3.25.x (Beta) - jetzt wieder mit History :
@skb
Du kannst z.B. das Gesagte über eine Routine?Welche?
abfangen, in die Routine packst Du ein Gerät (z.B. mit dem Namen "trigger", das schaltest Du da an.
Welches Gerät?
Nun machst Du ein Skript, dass nur dieses Gerät überwacht,
Welches ?
wenn das Gerät an geschaltet wird, dann lässt Du den Adapter die History ziehen, in dem Du den entsprechenden Datenpunkt #trigger auf true stellst.
Welcher Datenpunkt?
-
@skb
Das Geheimnis ist der Adapter ioT !
Du erstellst Dir einen eigenen Datenpunkt (Boolean) mit dem Namen Deiner Wahl (trigger - als Bsp.).
Diesen Datenpunkt fügst Du im Adapter ioT als Switch ein.
Dann lässt Du Alexa nach Geräten suchen und - schwupps - wird das "Gerät" (trigger) gefunden.
Du musst dann in jeder Routine diesen Datenpunkt hinzufügen und auf "wahr" setzen wenn die jeweilige Routine getriggert wird.
Dann noch ein Skript (Blockly) erstellen welches auf diesen Datenpunkt triggert und bei "true" den Datenpunkt im Alexa Adapter "#trigger" auf "true" setzt.
Dann hast Du im History-Baum vom AlexaAdapter alles drin stehenKlingt komisch und kompliziert, ist aber so
btw: bei mir funktioniert im Moment alles so wie es soll - ohne Skript
-
@djmarc75 Verstehe, danke.
Ist mir zuviel drumherum.
Ich frage einfach meine Histoy ab, die 10 Sätze, die meine Alexen am Tag empfangen, kann ich wohl pollen (lassen) -
@skb sagte in Alexa2 3.25.x (Beta) - jetzt wieder mit History :
die 10 Sätze, die meine Alexen am Tag empfangen, kann ich wohl pollen (lassen)
das sehe ich auch so
-
@apollon77 jetzt in der config oder den states?
Ich habe in den states bei den smarthome devices zuwindest "queryAll" false.Aber seit dem Update funktioniert bei mir der CustomSkill mit dem ioT Adapter nicht mehr richtig.
Bei gefühlt jeder 2. - 3. Anfrage erscheint als Antwort "query intent unterstützt das nicht" als ob man keine Daten schreibt.
Dies wird aber gemacht. (Bei einer erneuten Abfrage wird korrekt geantwortet.)Kann das irgendwie zusammenhängen?
Was kann das sein? Hier ein Log vom ioT-Adapter:
2023-11-13 14:07:31.748 - debug: iot.0 (30357) Request command/meine@email.com/alexa 2023-11-13 14:07:31.749 - debug: iot.0 (30357) Data: "{\"version\":\"1.0\",\"session\":{\"new\":true,\"sessionId\":\"amzn1.echo-api.session.d912658e-c0eb-4273-a901-3b46265bce21\",\"application\":{\"applicationId\":\"amzn1.ask.skill.6cee68cd-3d15-4f41-9d53-d501760c9b51\"},\"attributes\":{},\"user\":{\"userId\":\"amzn1.ask.account.AHQYWWASKFF47LHSVJFJU3H24AW5LXFAXHKB4NEYSICJN35VHIDUJAVDLO4JOPBX7ECC45X7OX6LIDQWWJOJ3F4ABHDKX6HC22MQLTAMMNJSKW5UYTIBYNB5Y6Z2H7WCPBJTPC6EQ5RYT6H7QQRQB2WQ2CU6OG6QHYCSHPVH5LLTTPVUHZY25E7EZZKLTNYGHYZIVLZKQMYGFIA\",\"accessToken\":\"eyJraWQiOiJRYWgyT01jdHY1ZlJuZ0xWR0plQzNUN1lGcThIZHFKSnZmU2R1MEtOWEFvPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxZGJmOGQyMC0xNzkwLTRkODEtYTU1ZC0wODM3YTY5ODkxYjIiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb21cL2V1LXdlc3QtMV9oWmRtSjJQMFoiLCJ2ZXJzaW9uIjoyLCJjbGllbnRfaWQiOiIzcWUxNWI2ZTl1bmQ1dm05cHBtaHQzY2gzYyIsImV2ZW50X2lkIjoiMzI0MTUwYmYtYTkyMy00YzY5LWE0MzgtNmY1MmEzNjU4Nzc0IiwidG9rZW5fdXNlIjoiYWNjZXNzIiwic2NvcGUiOiJwcm9maWxlIiwiYXV0aF90aW1lIjoxNjk5ODgwMTYzLCJleHAiOjE2OTk4ODM3NjMsImlhdCI6MTY5OTg4MDE2MywianRpIjoiNTU0ZDM4ZDktYTQ2Ny00MjUxLTg5NTktNWUzN2UyZmEyOThiIiwidXNlcm5hbWUiOiIxZGJmOGQyMC0xNzkwLTRkODEtYTU1ZC0wODM3YTY5ODkxYjIifQ.TRGoI1LSXWpGfwpHzZKFa6sZI9AKdZXJAZJWoeqKHzb2tPCVB0bUw9nLxNgkTx-ytGGqlydnMPAzUmTi_qwNkBjpk2J9knHJVNL50Fw5EBTlRmje_UGboJ8WqGDe9pIQz8h5aFFT3wLCE4OyZM5b3YwdhxoCHsUF2-GQdlsxv6C5lhJ700tmxz6uvMwafo4JT4z-IaFonE9DXsB-vvb_1DGCMu_AU6_HOsBkeIyVdCRsYycSxqulXmgxwmGOsYzUofzWR9FHFBU4LONSXKJAFsnPE2Fy01cwSITlDgcxIRWcmr-6yiIdLB335cRfFtxRVXrsb-NHJEztGGwJtgT51Q\"}},\"context\":{\"Viewport\":{\"experiences\":[{\"arcMinuteWidth\":0,\"arcMinuteHeight\":0,\"canRotate\":false,\"canResize\":false}],\"mode\":\"MOBILE\",\"shape\":\"RECTANGLE\",\"pixelWidth\":3200,\"pixelHeight\":1440,\"dpi\":0,\"currentPixelWidth\":3200,\"currentPixelHeight\":1440,\"touch\":[\"SINGLE\"],\"keyboard\":[\"DIRECTION\"]},\"Extensions\":{\"available\":{}},\"Advertising\":{\"advertisingId\":\"00000000-0000-0000-0000-000000000000\",\"limitAdTracking\":true},\"System\":{\"application\":{\"applicationId\":\"amzn1.ask.skill.6cee68cd-3d15-4f41-9d53-d501760c9b51\"},\"user\":{\"userId\":\"amzn1.ask.account.AHQYWWASKFF47LHSVJFJU3H24AW5LXFAXHKB4NEYSICJN35VHIDUJAVDLO4JOPBX7ECC45X7OX6LIDQWWJOJ3F4ABHDKX6HC22MQLTAMMNJSKW5UYTIBYNB5Y6Z2H7WCPBJTPC6EQ5RYT6H7QQRQB2WQ2CU6OG6QHYCSHPVH5LLTTPVUHZY25E7EZZKLTNYGHYZIVLZKQMYGFIA\",\"accessToken\":\"eyJraWQiOiJRYWgyT01jdHY1ZlJuZ0xWR0plQzNUN1lGcThIZHFKSnZmU2R1MEtOWEFvPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxZGJmOGQyMC0xNzkwLTRkODEtYTU1ZC0wODM3YTY5ODkxYjIiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb21cL2V1LXdlc3QtMV9oWmRtSjJQMFoiLCJ2ZXJzaW9uIjoyLCJjbGllbnRfaWQiOiIzcWUxNWI2ZTl1bmQ1dm05cHBtaHQzY2gzYyIsImV2ZW50X2lkIjoiMzI0MTUwYmYtYTkyMy00YzY5LWE0MzgtNmY1MmEzNjU4Nzc0IiwidG9rZW5fdXNlIjoiYWNjZXNzIiwic2NvcGUiOiJwcm9maWxlIiwiYXV0aF90aW1lIjoxNjk5ODgwMTYzLCJleHAiOjE2OTk4ODM3NjMsImlhdCI6MTY5OTg4MDE2MywianRpIjoiNTU0ZDM4ZDktYTQ2Ny00MjUxLTg5NTktNWUzN2UyZmEyOThiIiwidXNlcm5hbWUiOiIxZGJmOGQyMC0xNzkwLTRkODEtYTU1ZC0wODM3YTY5ODkxYjIifQ.TRGoI1LSXWpGfwpHzZKFa6sZI9AKdZXJAZJWoeqKHzb2tPCVB0bUw9nLxNgkTx-ytGGqlydnMPAzUmTi_qwNkBjpk2J9knHJVNL50Fw5EBTlRmje_UGboJ8WqGDe9pIQz8h5aFFT3wLCE4OyZM5b3YwdhxoCHsUF2-GQdlsxv6C5lhJ700tmxz6uvMwafo4JT4z-IaFonE9DXsB-vvb_1DGCMu_AU6_HOsBkeIyVdCRsYycSxqulXmgxwmGOsYzUofzWR9FHFBU4LONSXKJAFsnPE2Fy01cwSITlDgcxIRWcmr-6yiIdLB335cRfFtxRVXrsb-NHJEztGGwJtgT51Q\"},\"device\":{\"deviceId\":\"amzn1.ask.device.AHG3YS5S42LI3J3UKKSTIKACXP4OKU353JDR5CEWQNSKLEZWRO5RW6N5523K2T4JPIDY3W5RH2HJRURUQX4KCYICVYJM5VF3Z7HBJ3KU4B7NM5LDARSXKRSQ3QTHIEAJL7JJOEI3GVB5DI5PLKX3LJ6GDAFXFAOI55GPTFAXJ4YDW7N5N3HE2\",\"supportedInterfaces\":{\"Geolocation\":{}}},\"apiEndpoint\":\"https://api.eu.amazonalexa.com\",\"apiAccessToken\":\"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5ldS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLjZjZWU2OGNkLTNkMTUtNGY0MS05ZDUzLWQ1MDE3NjBjOWI1MSIsImV4cCI6MTY5OTg4MDkxMSwiaWF0IjoxNjk5ODgwODUxLCJuYmYiOjE2OTk4ODA4NTEsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQVFEbzNwQWVCN2k0eTl1NUZTZHNsR1h3UndFQUFBQUFBQUEremFDalRtL1l6RGN5ajBjWmdiYTNHYmk4NFcvdW4vTWptSGtsZW45Rno3V1djclIxN3ZGaVpYWFZJeTNWa0V0UVRDc1BrdlpDb3lyTG0wVXBkMTVSSkRyRHYrVkhaNEkyVzJxdWFiTnhUeWRjZFp3eVhscTZnZjJGMXhTNFNBdGlrdHJBdS85WWRmdjRqcFl4MGI2OU8yaGNsYWJqeENsa1Zwd2xMYm9XclV1RXRZUWVHZzFuTllaazVtelNRdHZCUVBHcStFclRyVE40L0NLWUo3M1pSV25tL29LbmN3Y0JLTFY0Q2k4dENvcFE1blphbUR2WWkrRGgvemMrcGhLRFh0enpNRVduUlN2cVFPVWtOcjRrOVpwR1dkQ1NYbmJCdnB6Q0tEM3ZEK1MzbG9vRGhacTk5NlJGNlhNakQrd2psTWFqVFY2Qm1kUkNhYWcraHBPRWdOWms5RFBXck1lRmtnMzRNeHBkSzBjZnlzTk4xenFESHFhVHlUZFBBRkkyQVYyQU5lQjVwMjFCZm5NelRjSDgzejB5akRVTlI4d0NUa1Q5Y0NtSVQ5NHpNcEtyTFdzPSIsImRldmljZUlkIjoiYW16bjEuYXNrLmRldmljZS5BSEczWVM1UzQyTEkzSjNVS0tTVElLQUNYUDRPS1UzNTNKRFI1Q0VXUU5TS0xFWldSTzVSVzZONTUyM0syVDRKUElEWTNXNVJIMkhKUlVSVVFYNEtDWUlDVllKTTVWRjNaN0hCSjNLVTRCN05NNUxEQVJTWEtSU1EzUVRISUVBSkw3SkpPRUkzR1ZCNURJNVBMS1gzTEo2R0RBRlhGQU9JNTVHUFRGQVhKNFlEVzdONU4zSEUyIiwidXNlcklkIjoiYW16bjEuYXNrLmFjY291bnQuQUhRWVdXQVNLRkY0N0xIU1ZKRkpVM0gyNEFXNUxYRkFYSEtCNE5FWVNJQ0pOMzVWSElEVUpBVkRMTzRKT1BCWDdFQ0M0NVg3T1g2TElEUVdXSk9KM0Y0QUJIREtYNkhDMjJNUUxUQU1NTkpTS1c1VVlUSUJZTkI1WTZaMkg3V0NQQkpUUEM2RVE1UllUNkg3UVFSUUIyV1EyQ1U2T0c2UUhZQ1NIUFZINUxMVFRQVlVIWlkyNUU3RVpaS0xUTllHSFlaSVZMWktRTVlHRklBIn19.bieCrfOs0Gmfbh58ddoyXgm67LH5HIbBSC-3JyCXzoRK3FSDgggbdrDb3Z3KrbxeWkDUCLKUTsWNPdyd7hJt4st1BJSIEr4EUsOq-cb8bFRcNOlk7Plk9LF_4a2WzhOIzU-a56h0Bdw95jPhrgxl6Rb7PV_KsfqWKJAZa08gS60iqDPAu93tcNky_ltGXMbK3FTYBdGMO9GubsHwjz9Uk_Izzh2o8KN-wh9KCxAcWM7szuHV7uEk6amQmaOmowlkz4stjcipNLwQd4uOgY_0TlURMCdcQgcGvSSXZ8qyB3USLmJXTagRLIJsMbwePfV_26Xz6nRlGXhY7mH5tnxfuA\"}},\"request\":{\"type\":\"IntentRequest\",\"requestId\":\"amzn1.echo-api.request.0534d300-025a-436a-9efb-270cde93458e\",\"locale\":\"de-DE\",\"timestamp\":\"2023-11-13T13:07:31Z\",\"intent\":{\"name\":\"queryIntentFillWords\",\"confirmationStatus\":\"NONE\",\"slots\":{\"query\":{\"name\":\"query\",\"value\":\"autark\",\"confirmationStatus\":\"NONE\",\"source\":\"USER\",\"slotValue\":{\"type\":\"Simple\",\"value\":\"autark\"}}}},\"dialogState\":\"STARTED\"},\"customSkillV2\":true}" 2023-11-13 14:07:31.750 - debug: iot.0 (30357) 1699880851750 ALEXA: {"version":"1.0","session":{"new":true,"sessionId":"amzn1.echo-api.session.d912658e-c0eb-4273-a901-3b46265bce21","application":{"applicationId":"amzn1.ask.skill.6cee68cd-3d15-4f41-9d53-d501760c9b51"},"attributes":{},"user":{"userId":"amzn1.ask.account.AHQYWWASKFF47LHSVJFJU3H24AW5LXFAXHKB4NEYSICJN35VHIDUJAVDLO4JOPBX7ECC45X7OX6LIDQWWJOJ3F4ABHDKX6HC22MQLTAMMNJSKW5UYTIBYNB5Y6Z2H7WCPBJTPC6EQ5RYT6H7QQRQB2WQ2CU6OG6QHYCSHPVH5LLTTPVUHZY25E7EZZKLTNYGHYZIVLZKQMYGFIA","accessToken":"eyJraWQiOiJRYWgyT01jdHY1ZlJuZ0xWR0plQzNUN1lGcThIZHFKSnZmU2R1MEtOWEFvPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxZGJmOGQyMC0xNzkwLTRkODEtYTU1ZC0wODM3YTY5ODkxYjIiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb21cL2V1LXdlc3QtMV9oWmRtSjJQMFoiLCJ2ZXJzaW9uIjoyLCJjbGllbnRfaWQiOiIzcWUxNWI2ZTl1bmQ1dm05cHBtaHQzY2gzYyIsImV2ZW50X2lkIjoiMzI0MTUwYmYtYTkyMy00YzY5LWE0MzgtNmY1MmEzNjU4Nzc0IiwidG9rZW5fdXNlIjoiYWNjZXNzIiwic2NvcGUiOiJwcm9maWxlIiwiYXV0aF90aW1lIjoxNjk5ODgwMTYzLCJleHAiOjE2OTk4ODM3NjMsImlhdCI6MTY5OTg4MDE2MywianRpIjoiNTU0ZDM4ZDktYTQ2Ny00MjUxLTg5NTktNWUzN2UyZmEyOThiIiwidXNlcm5hbWUiOiIxZGJmOGQyMC0xNzkwLTRkODEtYTU1ZC0wODM3YTY5ODkxYjIifQ.TRGoI1LSXWpGfwpHzZKFa6sZI9AKdZXJAZJWoeqKHzb2tPCVB0bUw9nLxNgkTx-ytGGqlydnMPAzUmTi_qwNkBjpk2J9knHJVNL50Fw5EBTlRmje_UGboJ8WqGDe9pIQz8h5aFFT3wLCE4OyZM5b3YwdhxoCHsUF2-GQdlsxv6C5lhJ700tmxz6uvMwafo4JT4z-IaFonE9DXsB-vvb_1DGCMu_AU6_HOsBkeIyVdCRsYycSxqulXmgxwmGOsYzUofzWR9FHFBU4LONSXKJAFsnPE2Fy01cwSITlDgcxIRWcmr-6yiIdLB335cRfFtxRVXrsb-NHJEztGGwJtgT51Q"}},"context":{"Viewport":{"experiences":[{"arcMinuteWidth":0,"arcMinuteHeight":0,"canRotate":false,"canResize":false}],"mode":"MOBILE","shape":"RECTANGLE","pixelWidth":3200,"pixelHeight":1440,"dpi":0,"currentPixelWidth":3200,"currentPixelHeight":1440,"touch":["SINGLE"],"keyboard":["DIRECTION"]},"Extensions":{"available":{}},"Advertising":{"advertisingId":"00000000-0000-0000-0000-000000000000","limitAdTracking":true},"System":{"application":{"applicationId":"amzn1.ask.skill.6cee68cd-3d15-4f41-9d53-d501760c9b51"},"user":{"userId":"amzn1.ask.account.AHQYWWASKFF47LHSVJFJU3H24AW5LXFAXHKB4NEYSICJN35VHIDUJAVDLO4JOPBX7ECC45X7OX6LIDQWWJOJ3F4ABHDKX6HC22MQLTAMMNJSKW5UYTIBYNB5Y6Z2H7WCPBJTPC6EQ5RYT6H7QQRQB2WQ2CU6OG6QHYCSHPVH5LLTTPVUHZY25E7EZZKLTNYGHYZIVLZKQMYGFIA","accessToken":"eyJraWQiOiJRYWgyT01jdHY1ZlJuZ0xWR0plQzNUN1lGcThIZHFKSnZmU2R1MEtOWEFvPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxZGJmOGQyMC0xNzkwLTRkODEtYTU1ZC0wODM3YTY5ODkxYjIiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb21cL2V1LXdlc3QtMV9oWmRtSjJQMFoiLCJ2ZXJzaW9uIjoyLCJjbGllbnRfaWQiOiIzcWUxNWI2ZTl1bmQ1dm05cHBtaHQzY2gzYyIsImV2ZW50X2lkIjoiMzI0MTUwYmYtYTkyMy00YzY5LWE0MzgtNmY1MmEzNjU4Nzc0IiwidG9rZW5fdXNlIjoiYWNjZXNzIiwic2NvcGUiOiJwcm9maWxlIiwiYXV0aF90aW1lIjoxNjk5ODgwMTYzLCJleHAiOjE2OTk4ODM3NjMsImlhdCI6MTY5OTg4MDE2MywianRpIjoiNTU0ZDM4ZDktYTQ2Ny00MjUxLTg5NTktNWUzN2UyZmEyOThiIiwidXNlcm5hbWUiOiIxZGJmOGQyMC0xNzkwLTRkODEtYTU1ZC0wODM3YTY5ODkxYjIifQ.TRGoI1LSXWpGfwpHzZKFa6sZI9AKdZXJAZJWoeqKHzb2tPCVB0bUw9nLxNgkTx-ytGGqlydnMPAzUmTi_qwNkBjpk2J9knHJVNL50Fw5EBTlRmje_UGboJ8WqGDe9pIQz8h5aFFT3wLCE4OyZM5b3YwdhxoCHsUF2-GQdlsxv6C5lhJ700tmxz6uvMwafo4JT4z-IaFonE9DXsB-vvb_1DGCMu_AU6_HOsBkeIyVdCRsYycSxqulXmgxwmGOsYzUofzWR9FHFBU4LONSXKJAFsnPE2Fy01cwSITlDgcxIRWcmr-6yiIdLB335cRfFtxRVXrsb-NHJEztGGwJtgT51Q"},"device":{"deviceId":"amzn1.ask.device.AHG3YS5S42LI3J3UKKSTIKACXP4OKU353JDR5CEWQNSKLEZWRO5RW6N5523K2T4JPIDY3W5RH2HJRURUQX4KCYICVYJM5VF3Z7HBJ3KU4B7NM5LDARSXKRSQ3QTHIEAJL7JJOEI3GVB5DI5PLKX3LJ6GDAFXFAOI55GPTFAXJ4YDW7N5N3HE2","supportedInterfaces":{"Geolocation":{}}},"apiEndpoint":"https://api.eu.amazonalexa.com","apiAccessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5ldS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLjZjZWU2OGNkLTNkMTUtNGY0MS05ZDUzLWQ1MDE3NjBjOWI1MSIsImV4cCI6MTY5OTg4MDkxMSwiaWF0IjoxNjk5ODgwODUxLCJuYmYiOjE2OTk4ODA4NTEsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQVFEbzNwQWVCN2k0eTl1NUZTZHNsR1h3UndFQUFBQUFBQUEremFDalRtL1l6RGN5ajBjWmdiYTNHYmk4NFcvdW4vTWptSGtsZW45Rno3V1djclIxN3ZGaVpYWFZJeTNWa0V0UVRDc1BrdlpDb3lyTG0wVXBkMTVSSkRyRHYrVkhaNEkyVzJxdWFiTnhUeWRjZFp3eVhscTZnZjJGMXhTNFNBdGlrdHJBdS85WWRmdjRqcFl4MGI2OU8yaGNsYWJqeENsa1Zwd2xMYm9XclV1RXRZUWVHZzFuTllaazVtelNRdHZCUVBHcStFclRyVE40L0NLWUo3M1pSV25tL29LbmN3Y0JLTFY0Q2k4dENvcFE1blphbUR2WWkrRGgvemMrcGhLRFh0enpNRVduUlN2cVFPVWtOcjRrOVpwR1dkQ1NYbmJCdnB6Q0tEM3ZEK1MzbG9vRGhacTk5NlJGNlhNakQrd2psTWFqVFY2Qm1kUkNhYWcraHBPRWdOWms5RFBXck1lRmtnMzRNeHBkSzBjZnlzTk4xenFESHFhVHlUZFBBRkkyQVYyQU5lQjVwMjFCZm5NelRjSDgzejB5akRVTlI4d0NUa1Q5Y0NtSVQ5NHpNcEtyTFdzPSIsImRldmljZUlkIjoiYW16bjEuYXNrLmRldmljZS5BSEczWVM1UzQyTEkzSjNVS0tTVElLQUNYUDRPS1UzNTNKRFI1Q0VXUU5TS0xFWldSTzVSVzZONTUyM0syVDRKUElEWTNXNVJIMkhKUlVSVVFYNEtDWUlDVllKTTVWRjNaN0hCSjNLVTRCN05NNUxEQVJTWEtSU1EzUVRISUVBSkw3SkpPRUkzR1ZCNURJNVBMS1gzTEo2R0RBRlhGQU9JNTVHUFRGQVhKNFlEVzdONU4zSEUyIiwidXNlcklkIjoiYW16bjEuYXNrLmFjY291bnQuQUhRWVdXQVNLRkY0N0xIU1ZKRkpVM0gyNEFXNUxYRkFYSEtCNE5FWVNJQ0pOMzVWSElEVUpBVkRMTzRKT1BCWDdFQ0M0NVg3T1g2TElEUVdXSk9KM0Y0QUJIREtYNkhDMjJNUUxUQU1NTkpTS1c1VVlUSUJZTkI1WTZaMkg3V0NQQkpUUEM2RVE1UllUNkg3UVFSUUIyV1EyQ1U2T0c2UUhZQ1NIUFZINUxMVFRQVlVIWlkyNUU3RVpaS0xUTllHSFlaSVZMWktRTVlHRklBIn19.bieCrfOs0Gmfbh58ddoyXgm67LH5HIbBSC-3JyCXzoRK3FSDgggbdrDb3Z3KrbxeWkDUCLKUTsWNPdyd7hJt4st1BJSIEr4EUsOq-cb8bFRcNOlk7Plk9LF_4a2WzhOIzU-a56h0Bdw95jPhrgxl6Rb7PV_KsfqWKJAZa08gS60iqDPAu93tcNky_ltGXMbK3FTYBdGMO9GubsHwjz9Uk_Izzh2o8KN-wh9KCxAcWM7szuHV7uEk6amQmaOmowlkz4stjcipNLwQd4uOgY_0TlURMCdcQgcGvSSXZ8qyB3USLmJXTagRLIJsMbwePfV_26Xz6nRlGXhY7mH5tnxfuA"}},"request":{"type":"IntentRequest","requestId":"amzn1.echo-api.request.0534d300-025a-436a-9efb-270cde93458e","locale":"de-DE","timestamp":"2023-11-13T13:07:31Z","intent":{"name":"queryIntentFillWords","confirmationStatus":"NONE","slots":{"query":{"name":"query","value":"autark","confirmationStatus":"NONE","source":"USER","slotValue":{"type":"Simple","value":"autark"}}}},"dialogState":"STARTED"},"customSkillV2":true} 2023-11-13 14:07:31.751 - debug: iot.0 (30357) Custom Skill V2 request: IntentRequest/queryIntentFillWords for session amzn1.echo-api.session.d912658e-c0eb-4273-a901-3b46265bce21, dialog: STARTED 2023-11-13 14:07:31.766 - debug: iot.0 (30357) queryIntent: queryIntent = Fill Words, query = autark 2023-11-13 14:07:31.970 - debug: iot.0 (30357) Response: {"version":"1.0","sessionAttributes":{},"response":{"outputSpeech":{"type":"PlainText","text":"Die Verarbeitung von queryIntent Fill Words autark ist nicht möglich!"},"card":{"content":"Die Verarbeitung von queryIntent Fill Words autark ist nicht möglich!","title":"Antwort vom ioBroker","type":"Simple"},"shouldEndSession":true}} 2023-11-13 14:07:31.970 - debug: iot.0 (30357) [REMOTE] Send response to 'response/meine@email.com/alexa: {"version":"1.0","sessionAttributes":{},"response":{"outputSpeech":{"type":"PlainText","text":"Die Verarbeitung von queryIntent Fill Words autark ist nicht möglich!"},"card":{"content":"Die Verarbeitung von queryIntent Fill Words autark ist nicht möglich!","title":"Antwort vom ioBroker","type":"Simple"},"shouldEndSession":true}}
-
@ben1983 sagte in Alexa2 3.25.x (Beta) - jetzt wieder mit History :
Aber seit dem Update funktioniert bei mir der CustomSkill mit dem ioT Adapter nicht mehr richtig.
Das eine hat mit dem anderen nichts zu tun... sehr komisch. Da brauche ich mehr details und so ... iot Log .. ist aber eine ganz andere Thematik als hier
-
@apollon77 Neues Thema, oder einen Log per Mali?
-
@ben1983 issue im iot Adapter mit Log ... und ich zeit ...
-
@apollon77 OK. Aber wo aktiviere ich jetzt die History? in einem State oder in der config des Adapters?
Edit: Habe es:
Das hier wohl.
-
@apollon77
Wäre es evtl. möglich, dass man das Setting die History zu triggern per Datenpunkt an- und ausschalten könnte?
Ich würde es gerne auch deaktivieren um Traffic zu sparen, aber ich habe einige Sprachbefehle, die ich leider nicht per Routine abfangen kann, da sie nicht statisch sind (und Amazon bietet ja leider keine Platzhalter in Routinen).
Ein Beispiel "Der Müll wiegt xxx Gramm", dass muss ich selber entschlüsseln, aber dafür muss der Adapter ja nicht den ganzen Tag triggern... -
@padrino du könntest es ausschalten und dann bei Bedarf manuell antriggern - das war ja dann auch der Notbehelf.
Wen du dir ein Hilfsgerät in eine Routine packst könntest du das als Anlass nehmen -
Ich triggere ja auch einige Alexa Routinen in iobroker und mache dann Diverses damit - DANKE dass das wieder funktioniert!!!
Aber folgendes Problem:
einer meiner getriggerten Routinen startet im ioBroker Skript einen Sonos Player.
Jedoch werden in regelm. Abständen meine Alexa Routinen scheinbar von Alexa getriggert (ohne dass ich sie ausgelöst hätte)
Dass kann einige Tage gar nicht sein, heute & am 16.11. wars um 23:03 (oft wars schon um ca. 19:02)
Dass ganze Problem habe ich sicher schon seit etwas über 1/2 Jahr...Mein iobroker log:
alexa2.0 2023-11-20 23:04:01.128 info Initialization Done ... alexa2.0 2023-11-20 23:03:55.071 info Alexa-Push-Connection (macDms = true) established. Disable Polling alexa2.0 2023-11-20 23:03:52.967 info Deleting the following states: ............ alexa2.0 2023-11-20 23:03:52.959 info Subscribing to states... alexa2.0 2023-11-20 23:03:50.164 info No smart home devices to query
-
Du sollst dir ja auch ein Hilfsgerät in die Routine packen welches eingeschaltet wird, einen Wahr/Falsch Datenpunkt. Springt der auf Wahr ist deine Routine gestartet, dein Skript reagiert und setzt den Datenpunkt für das nächste mal wieder auf Falsch
-
einen if Datenpunkt der was abfragt?
und dann erst das Skript ausgeführt wird?Bzw. was für ein Hilfsgerät? Auf was triggert dieser um es dann auf True/False zu schalten?
Gibt es da ein Bsp.? Danke für dir rasche Hilfe.
-
@gre4t0ne du erstellst dir unter
0_userdata.0.xxx
einen Datenpunkt mit Wahr/Falsch (Boolean, Logikwert) an:
Im IoT-Adapter legst du dir ein Alexa-Gerät dafür an und wählst diesen Datenpunkt aus:
Typ ist im Prinzip egal, ich würde Switch nehmen.Dann Alexa anweisen: "Alexa, scanne Geräte" und er sollte den neuen Switch finden.
Diesen fügst du deiner Routine hinzu mit der Anweisung diesen auf "Ein" zu schaltenNun kannst du mit einem Skript auf die Änderung reagieren:
Hier stoße ich das triggern an um über die History zu erfahren welcher Alexa denn zugehört hat, den Datenpunkt setze ich wieder auf "Falsch" damit er für den nächsten Einsatz bereit ist.Du kannst natürlich auch alles mögliche andere machen wenn der Datenpunkt auf wahr geht.
-
@bananajoe Moin, ich lese diesen Thread schon die ganze Zeit mit und ich habe auch keine Probleme da ich eigentlich alles über IOT Adapter mache. Ich habe aber zwei Scripte, welche auf Standard Sätze der Dame reagieren. In der Küche und im Bad geht das Radio über einen Echo Show automatisch an. Wenn ich mal Ruhe haben möchte, sage ich einfach "Radio aus", "halt" oder "stopp". Dahinter sind keine Routinen, also Alexa Standard Sätze. Und genau darauf triggere ich und wenn in der Küche oder im Bad einer der Sätze (Worte) kommt, wird das Script das das Radio automatisch abspielt pausiert. Nur für Küche und Bad brauche ich diese Historie also. Kann man, oder darf man diese Standardsätze zusätzlich als Routine anlegen? Oder macht Amazon das nicht mit und man bekommt zwischendurch Probleme damit?
Ich frage lieber vorher nach, bevor ich anfange Datenpunkte anzulegen und Scripte zu ändern.Gruß Johannes
-
@jojo58 said in Alexa2 3.25.x (Beta) - jetzt wieder mit History :
Kann man, oder darf man diese Standardsätze zusätzlich als Routine anlegen? Oder macht Amazon das nicht mit und man bekommt zwischendurch Probleme damit?
Ich frage lieber vorher nach, bevor ich anfange Datenpunkte anzulegen und Scripte zu ändern.Ich denke, das ist ziemlich individuell und hängt vom konkreten Fall ab. Da hilft also wahrscheinlich nur ausprobieren. Ich kann mir z.B. nicht vorstellen, dass es eine Gute Idee wäre eine Routine "stop" zu definieren.
Auf der anderen Seite hab ich z.B. eine Routine, die auf "startbildschirm" hört. Im Wohnzimmer springt damit der TV mittels Harmony Adapter auf seine Home-Seite, in der Küche wechselt der Echo mittels textCommand "startseite" auf dem Echo Show auf die Startseite.
In diesem Fall funktioniert also eine Routine mit dem gleichen Namen wie eine Standardanweisung. -
@jojo58
Einfach ausprobieren.
Schon beim Anlegen der Routine wird die App meckern, wenn sie den Satz/das Wort nicht (überschreiben) mag.
Geht fix. -
Moin, ich habe mir dann mal ein kleines Blockly-Skript gebaut, welches ich nach dem manuellen Refresh starte und welches mir dann meine Routinen startet. Denn zumindest bei mir ist es so, das die Routinen aktuell nicht auf "true" gesetzt werden, wenn diese per Sprachbefehl gestartet werden.
Das Skript funktioniert generisch, also man muss da eigentlich nichts mehr anpassen, auch wenn Routinen hinzukommen etc. Schaut es euch mal an, vielleicht kann es jemand gebrauchen:Der Trigger ("power" ist mein virtuelles Gerät, welches ich in den Routinen schalte):
Die Funktion RoutineAktualisieren (sucht automatisch das passende Gerät und die passende Routine und setzt die Routine auf true):
Die Funktion "StringReplace":
Für den Import:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Ab53HE;$-b:BQv8)ITk!">Uebergabe</variable> <variable id="sn:Qm8r/I{0@n$mGf2s%">Suchtext</variable> <variable id="t4o:-jVz:WANR,nO6*,c">Ersatztext</variable> <variable id="*D,0xp!zxTtCukPR^)qJ">AlexaInfoName</variable> <variable id="2:svZ%wygS!Z{!Db2mL1">AlexaID</variable> <variable id="9%11lPF|ZD!-=t9N=+@)">AlexaRoutines</variable> </variables> <block type="on_ext" id="5QK{bxQ-p/uz?596m.,}" x="163" y="63"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="05P.%8d,-Djy/H(4`tt~"> <field name="oid">javascript.0.VirtualDevices.AlexaTrigger.power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=":(U,LSw+U-H1P{1#1OlN"> <value name="IF0"> <block type="logic_compare" id="Omc9#!Q5w3v*=S7y$lm0"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="rsJ{%G2rviv?n+yx]Q~N"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="K*;B-mH,v28_/Tt!rfcw"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Gi(tn9l^~`#3sXcZF`0="> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.VirtualDevices.AlexaTrigger.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="m?}kLb@UqA`,n9}WGgxP"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="!U_AU9^/zp^itzA0G;5~"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.History.#trigger</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="J_*AV9{t0k82EeM=t}?v"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="update" id="o4sH9KQf?6acXEYl$2:)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.History.#trigger</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="}av_kvZO?!BLhB191ihj"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_wait" id="~j)+]HsJwm]u~-@@=*nj"> <field name="DELAY">150</field> <field name="UNIT">ms</field> <next> <block type="procedures_callnoreturn" id="2JhY9[Y5NA@5ZE0ZwQN0"> <mutation name="Routine Aktualisieren"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> <block type="procedures_defnoreturn" id="LGkfp.j:frjg~6meIsoR" x="162" y="388"> <field name="NAME">Routine Aktualisieren</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="vq/Ti2ETt{WKnfJS!nBX"> <value name="IF0"> <block type="logic_compare" id="/b]E!`QpKJ#YnMfE$*};"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="TzEFMh-+#[h$`$pNf9}T"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.domain</field> </block> </value> <value name="B"> <block type="text" id="Z={J/PaJf{Fj5HX`!s=#"> <field name="TEXT">Routines</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_forEach" id="w:dW]`eIoHoS8o]P[NIV"> <field name="VAR" id="*D,0xp!zxTtCukPR^)qJ">AlexaInfoName</field> <value name="LIST"> <block type="selector" id="L@;28:C+7Z]@1-~]Y[ei"> <field name="TEXT">alexa2.0.Echo-Devices.*.Info.name</field> </block> </value> <statement name="DO"> <block type="controls_if" id="G=qua.8yH1]mX6JK/[Y}"> <value name="IF0"> <block type="logic_compare" id="KwO*Pw-2Rc?PuPQha)LH"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="nCRH7GSF.+GPnAh}B5;/"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="wAks:Q[*Q=J9U-,OKReR"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="FaN+-@DJ?9;Cy(SMuB,T"> <field name="VAR" id="*D,0xp!zxTtCukPR^)qJ">AlexaInfoName</field> </block> </value> </block> </value> <value name="B"> <block type="get_value" id=".9o50-|^,F.)w,usK@8E"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="w|V3uod8~$y9gA9V.#58"> <field name="VAR" id="2:svZ%wygS!Z{!Db2mL1">AlexaID</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="(9aC[L)~8O+No^;ZO8Jm"> <mutation name="StringReplace"> <arg name="Uebergabe"></arg> <arg name="Suchtext"></arg> <arg name="Ersatztext"></arg> </mutation> <value name="ARG0"> <block type="convert_tostring" id="d7IWXe5b(E6``@bkXQj9"> <value name="VALUE"> <block type="variables_get" id="[xQxSxo#n}xK79*M,wqa"> <field name="VAR" id="*D,0xp!zxTtCukPR^)qJ">AlexaInfoName</field> </block> </value> </block> </value> <value name="ARG1"> <block type="text" id="zgb{dZvYJUV,b0|G`I4W"> <field name="TEXT">.Info.name</field> </block> </value> <value name="ARG2"> <block type="text" id="W@Zg9@6K}7W!B-HcP}m`"> <field name="TEXT"></field> </block> </value> </block> </value> <next> <block type="controls_forEach" id="eA1;0dHM|tgNf2t*.T){"> <field name="VAR" id="9%11lPF|ZD!-=t9N=+@)">AlexaRoutines</field> <value name="LIST"> <block type="selector" id="3KBNb]?jO0JKB@1TiKg$"> <field name="TEXT">'+AlexaID+'.Routines.*</field> </block> </value> <statement name="DO"> <block type="controls_if" id="fp(1,5yMR;qh43@jJ)v@"> <value name="IF0"> <block type="logic_compare" id="F.00=az_sVvrOqkNNU9="> <field name="OP">EQ</field> <value name="A"> <block type="text_changeCase" id="g9,H[U8g!lH%?LVeGAN9"> <field name="CASE">LOWERCASE</field> <value name="TEXT"> <shadow type="text" id="N6FqHxM~Gd.XNVp-G-[8"> <field name="TEXT">abc</field> </shadow> <block type="get_value_var" id="/7{oF]#!aGCm2DEv0I0q"> <field name="ATTR">common.name</field> <value name="OID"> <shadow type="field_oid" id="wAks:Q[*Q=J9U-,OKReR"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="0Gd$yf1X+]ILuOHH;Pf~"> <field name="VAR" id="9%11lPF|ZD!-=t9N=+@)">AlexaRoutines</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="get_value" id="kQ6Zj9vD}HnzGwfWdPxP"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.summary</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="ago=Ch8IuPBHCJD8EITb"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="LbXn@mBE-/tL0Gwyub9Z"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="lA?X!Qh{=m]fnqL(D5=v"> <field name="VAR" id="9%11lPF|ZD!-=t9N=+@)">AlexaRoutines</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="CL.k/k]hJ)iQ2]k6Qf8:"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="UX|6P(aM/iG}X6IZTTrF"> <field name="NUM">0</field> </shadow> </value> <next> <block type="controls_flow_statements" id="[++P[oX-Qwbkx@^?{Y$["> <field name="FLOW">BREAK</field> </block> </next> </block> </statement> </block> </statement> <next> <block type="controls_flow_statements" id="WZ:C|hihlkgt:{MQ)l0~"> <field name="FLOW">BREAK</field> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </statement> </block> <block type="procedures_defcustomreturn" id="_tIJ{~4uAw$EQF`Yc`?V" x="213" y="1338"> <mutation statements="false"> <arg name="Uebergabe" varid="Ab53HE;$-b:BQv8)ITk!"></arg> <arg name="Suchtext" varid="sn:Qm8r/I{0@n$mGf2s%"></arg> <arg name="Ersatztext" varid="t4o:-jVz:WANR,nO6*,c"></arg> </mutation> <field name="NAME">StringReplace</field> <field name="SCRIPT">cmV0dXJuIFVlYmVyZ2FiZS5yZXBsYWNlKFN1Y2h0ZXh0LCBFcnNhdHp0ZXh0KTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
Und hier noch einmal einzeln, der Code für die Funktion StringReplace:
return Uebergabe.replace(Suchtext, Ersatztext);