Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Text to Speech

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • schuma
    antwortet
    Moin, gibt es gerade ein Problem bei Amazon?
    Nach einem Neustart von shng werden zwar die Token korrekt geholt (200) aber ein Login ist nicht mehr möglich....
    Hat das noch jemand?

    Code:
    2025-11-18  20:12:32 ERROR    plugins.alexarc4shng Login-State checked - Result: Logged OFF - try to login again
    ​
    Edit 26.11.2025: Geht auf einmal wieder… Also alles gut!
    Zuletzt geändert von schuma; 26.11.2025, 21:41.

    Einen Kommentar schreiben:


  • Jürgen
    antwortet
    Hallo Andre,

    Code:
    025-01-03  10:40:49 WARNING  plugins.alexarc4shng found no Echo with Name : Echo
    2025-01-03  10:40:49 WARNING  plugins.alexarc4shng found no Echo with Name : Show
    2025-01-03  10:40:50 ERROR    lib.plugin          Plugin 'alexarc4shng' exception in run() method: Expecting value: line 1 column 1 (char 0)
    > Traceback (most recent call last):
    >   File "/usr/local/smarthome/lib/plugin.py", line 675, in run
    >     self.plugin.run()
    >   File "/usr/local/smarthome/plugins/alexarc4shng/__init__.py", line 198, in run
    >     self.get_routines()
    >   File "/usr/local/smarthome/plugins/alexarc4shng/__init__.py", line 724, in get_routines
    >     myDict = json.loads(myContent)
    >   File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
    >     return _default_decoder.decode(s)
    >   File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
    >     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    >   File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode
    >     raise JSONDecodeError("Expecting value", s, err.value) from None
    > json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)​
    Die Augabe funktioniert,die beiden Ausgabedevices waren wohl nicht schnell genug aktiv. Mir werden alle Amazon Geräte angezeigt.
    Status des Plugins ist aber immer noch gestoppt / deaktiviert.
    Keine Ahnung, ob das vorher schon war...

    Gruß Jürgen

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    HI Jürgen,

    ebenfalls eine frohes und gesundes neues Jahr. Wenn das Plugin gestoppt ist kann eigentlich keine Sprachausgabe erfolgen. Sehr seltsam

    Kannst Du mal bei einem Neustart von shNG das smarthome-warnings.log sichten oder im Admin-UI die Logs vom letzten Neustart einsehen.
    Da sollte irgendeine Meldung aufschlagen


    Viele Grüße
    Andre

    P.S.: Die "Kartoffel" ist ein Cookie - normalerweise ein gut gelauntes bei erfolgreichem Login - ein wütendes bei fehlerhaften Login
    Zuletzt geändert von AndreK; 03.01.2025, 13:43. Grund: P.S. - Nachtrag ergänzt

    Einen Kommentar schreiben:


  • Jürgen
    antwortet
    Ein frohes neues Jahr!

    Maleine Frage:
    In der Plugin Übersicht im Backend ist das AlexaRc4shNG deaktiviert. Nach einem Reboot des Systems kam zunächst keine Sprachausgabe, bei der Fehlersuche bin ich darüber gestolpert. Ausgabe funktioniert jetzt, aber die Anzeige steht immer noch auf "deaktiviert".
    Auch im WEBIF steht neben der grinsenden Kartofel "Gestoppt"....

    Fragende Grüße
    Jürgen

    Einen Kommentar schreiben:


  • Jürgen
    antwortet
    Hallo,

    nur mal so: Seit Dezember schnattert die Dame ohne Probleme, Zeit mal wieder DANKE an AndreK zu sagen

    Gruß Jürgen

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hallo Andre AndreK .
    Hier die ersten Bilder von der ersten, weitestgehenden funktionieren, Version des Alexa Radios.
    Ich muss noch etwas Aufräumen, Klären, und umsätzen, aber hier schon mal ein paar Impressionen:


    Radio0.png Radio1.png Radio2.png Radio3.png Radio4.png Radio5.png

    Angehängte Dateien

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hallo Andre, das war jetzt auch mein Ansatz. Ich bin inzwischen schon recht weit und stelle das, wenn es fertig ist hier zur Verfügung bzw. zur Verbesserung…
    Ich denke nur, das alle 5 Sekunden echt viel zu viel ist für Amazon. Wobei ich auch denke, dass viele unsinnige Anfragen eher ausschlaggebend sind. Wenn man z.B. ständig Pause sendet, obwohl nichts läuft, ziehen die den „Stecker“.

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo Marc,

    mein Ansatz wäre gewesen :

    - in einer Logik alle 5 Sekunden die Daten zu pollen.
    - wenn ['playerInfo']['state'] <> paused und ['playerInfo']['state'] <> null dann die Infos in die Items schreiben.

    Da Du durch deinen Präsenzmelder eh schon sehr viele Anfragen gegen die Amazon-Cloud hast kann das natürlich schief gehen.
    Dann wäre die Lösung das triggern in größeren Abständen zu machen bzw. die Logik erst durch den Präsenzmelder zu triggern und eine remanente Variable in
    der Logik zu setzen die dann das Pollen in kürzeren Intervallen steuert. Diese dann zurücksetzen wenn der Player wieder pausiert oder aus ist.

    Alles nicht erprobt - soweit bin ich noch nicht gekommen.

    Hier noch der Hinweis : Wenn Du einen HTTP-Status 429 - too many requests - bekommst hat das nichts mit dem Cookie zu tun, das ist das "throttling​" der Amazon-Web-Server, dagegen kannst Du, außer die Zahl der Anfragen zu reduzieren, nichts machen.



    Zitat von Msinn Beitrag anzeigen
    Die Meldungen sagen, dass die Item Attribute (die Du in home.yaml bei einem Item verwendet hast) nicht in den Metadaten (plugin.yaml des Plugins) definiert sind
    Der Hinweis ist gut, das ganze ist noch PRE-Develop, so was gerät dann gerne in Vergessenheit.

    Viele Grüße
    Andre

    Einen Kommentar schreiben:


  • schuma
    antwortet
    So, ich hab das Ganze noch mal in eine eigene Logik gepackt und von Hand getriggert.
    Jetzt geht es!

    Ich habe in der Logik den Echo eingeschaltet danach direkt MediaInfo abgefragt.
    Das ist zu knapp! Da muss ich warten bis die Kugel richtig läuft.
    Oder gibt es ein Event was ich abfragen kann wenn der Echo wirklich in Betrieb ist?

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Ja genau, MediaInfo bleibt leer. So wie in Post 400.
    Im Executer Plugin wird MediaInfo aber befüllt.
    Im Log taucht dieser Eintrag auf:
    Code:
    2024-04-16  18:32:47 WARNING  plugins.alexarc4shng itemStatus of send_cmd: 400: {"Message":null}
    Im Webif kommt nichts zu dem Vorgang.
    ​​​​​​​

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo schuma Marc,

    ich verstehe "befüllt" nicht.Bleibt in der Logik das dict "Media-Info" komplett leer ?
    Wird nichts in den Logger geschrieben ?
    Was sagt das Kommunikations-Log im Web-IF des Alexa-Plugins ?
    Ich meine, wenn auf dem Echo-Device gerade nichts läuft sind die Felder auch leer.

    VG Andre

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hmm, ich stehe wirklich auf dem Schlauch….
    was geht:
    Im Executer Plugin kann ich eigentlich alles machen mit den Ergebnissen die ich erwarte:

    Code:
    import json
    state,MediaInfo = sh.AlexaRc4shNG.get_player_info("Echo Bad")
    print ('State :' + str(state))
    print (json.dumps(MediaInfo,indent=2))
    print(type(MediaInfo))
    print(MediaInfo["playerInfo"]["infoText"]["title"])​
    Das Selbe in einer Logik wird einfach nicht befüllt:
    Code:
    import json
    state,MediaInfo = sh.AlexaRc4shNG.get_player_info("Echo Bad")
    #state,MediaInfo =sh.AlexaRc4shNG.get_player_info(sh.EG.Raum3.AlexaRadio.Geraet()) #sh.EG.Raum3.AlexaRadio.Info.player_info.artist(MediaInfo["playerInfo"]["infoText"]["title"])
    #sh.EG.Raum3.AlexaRadio.Info.player_info.fanArt(MediaInfo["playerInfo"]["meinArt"]["url"])
    logger.info('State :' + str(state))
    logger.info(json.dumps(MediaInfo,indent=2))
    logger.info(type(MediaInfo))
    logger.info(MediaInfo["playerInfo"]["infoText"]["title"])
    logger.info(str(MediaInfo["playerInfo"]["infoText"]["subText1"]))
    logger.info(MediaInfo["playerInfo"]["infoText"]["subText2"])
    logger.info(MediaInfo["playerInfo"]["meinArt"]["url"])​
    Kann sich das jemand erklären?

    Grüße, Marc
    Zuletzt geändert von schuma; 16.04.2024, 12:22.

    Einen Kommentar schreiben:


  • schuma
    antwortet
    AndreK Hallo Andre, ich habe es jetzt hinbekommen. Ich muss nur etwas warten nach dem Einschalten/Play

    Aber wie bekomme ich jetzt die Informationen aus dem json Objekt in die Items?

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Ok, das mit den Struct hat sich geklärt.
    ich hatte in den Attributen zu den Items eine Leerzeichen zu wenig

    vorher:
    Code:
    alexa_cmd_01:True:Echo Bad:Play​
    jetzt:
    Code:
    alexa_cmd_01: True:Echo Bad:Play​
    Das mit dem Füllen der Items habe ich aber noch nicht richtig verstanden.
    wenn ich das ausführe:
    Code:
    import json
    state,MediaInfo = sh.alexarc4shng.get_player_info("EchoDotKueche")​
    sollten die Items gefüllt werden?
    Da erhalte ich nur:
    Code:
    2024-04-15  14:18:33 INFO     logics.Musik        {
      "playerInfo": {
        "hint": null,
        "infoText": null,
        "isPlayingInLemur": false,
        "lemurVolume": null,
        "lyrics": null,
        "mainArt": null,
        "mediaId": null,
        "miniArt": null,
        "miniInfoText": null,
        "playbackSource": null,
        "playingInLemurId": null,
        "progress": null,
        "provider": null,
        "quality": null,
        "queueId": null,
        "state": null,
        "template": null,
        "transport": null,
        "upNextItems": null,
        "volume": null
      }
    }
    2024-04-15  14:18:35 WARNING  plugins.alexarc4shng itemStatus of send_cmd: 400: {"Message":null}​
    Oder muss ich noch etwas anderes anstoßen?

    Grüße, Marc

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Die Meldungen sagen, dass die Item Attribute (die Du in home.yaml bei einem Item verwendet hast) nicht in den Metadaten (plugin.yaml des Plugins) definiert sind.

    Einen Kommentar schreiben:

Lädt...
X