Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Text to Speech

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

  • schuma
    antwortet
    Huhu, das habe ich noch im Log gefunden:
    Code:
    2024-04-14  19:59:27 NOTICE   lib.metadata        Item 'EG.Raum3.AlexaRadio.Info.player_info', attribute 'volume': Attribute is undefined and has value 'alexa_cmd_01:True:Echo Bad:VolumeSet:#Alexas.Echo Bad.player_info.volume/#' (defined in home.yaml)
    2024-04-14  19:59:27 NOTICE   lib.metadata        Item 'EG.Raum3.AlexaRadio.Info.player_info', attribute 'play': Attribute is undefined and has value 'alexa_cmd_01:True:Echo Bad:Play:nullalexa_cmd_02:False:Echo Bad:Pause:null' (defined in home.yaml)
    2024-04-14  19:59:27 NOTICE   lib.metadata        Item 'EG.Raum3.AlexaRadio.Info.player_info', attribute 'mute': Attribute is undefined and has value 'alexa_cmd_01:True:Echo Bad:Mute:0alexa_cmd_02:False:Echo Bad:VolumeSet:20' (defined in home.yaml)
    2024-04-14  19:59:27 NOTICE   lib.metadata        Item 'EG.Raum3.AlexaRadio.Info.player_info', attribute 'station_1': Attribute is undefined and has value 'alexa_cmd_01:True:Echo Bad:StartTuneInStation:s96141' (defined in home.yaml)
    2024-04-14  19:59:27 NOTICE   lib.metadata        Item 'EG.Raum3.AlexaRadio.Info.player_info', attribute 'station_2': Attribute is undefined and has value 'alexa_cmd_01:True:Echo Bad:StartTuneInStation:s1561' (defined in home.yaml)
    2024-04-14  19:59:27 NOTICE   lib.metadata        Item 'EG.Raum3.AlexaRadio.Info.player_info', attribute 'station_3': Attribute is undefined and has value 'alexa_cmd_01:True:Echo Bad:StartTuneInStation:s24896' (defined in home.yaml)
    2024-04-14  19:59:27 NOTICE   lib.metadata        Item 'EG.Raum3.AlexaRadio.Info.player_info', attribute 'station_4': Attribute is undefined and has value 'alexa_cmd_01:True:Echo Bad:StartTuneInStation:s294232' (defined in home.yaml)​
    was ich mir aber auch nicht erklären kann.

    Grüße, Marc

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hallo Andre.
    Wenn ich ohne die Ergänzungen das Struct einbinde sind die Items wie station_1 vorhanden.
    Mit den Ergänzungen werden die Items anscheinend wieder entfernt.
    Die Instanz ist identisch und passt. Irgendwie komisch…

    Das Script füge ich heute Abend mal in meine Logik ein und teste dann noch mal.

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo schuma Marc,

    das mit den Structs ist im letzten Plugin-Stand enthalten. Eventuell heißt Deine Instanz des Plugins anders ? Wenn Du ohne Ergänzungen die Child-Struct einbindest wie sieht das dann aus.
    Betreffend der automatischen Aktualisierung hast Du recht - das ist noch nicht fertig. Hier habe ich zu schnell geschossen.
    Ich habe die Items auch über eine kleine Logik befüllt, die habe ich leider nicht gespeichert.

    Im Executor (also auch so in einer Logik) liefert das Script :

    Code:
    import json
    state,MediaInfo = sh.alexarc4shng.get_player_info("EchoDotKueche")
    print ('State :' + str(state))
    print (json.dumps(MediaInfo,indent=2))​
    folgendes Json-Objekt, damit kann man dann die einzelnen Items befüllen :

    Code:
    {
      "playerInfo": {
        "hint": null,
        "infoText": {
          "header": null,
          "headerSubtext1": null,
          "multiLineMode": false,
          "subText1": "baden.fm OnAir",
          "subText2": "Alle deine Lieblingssongs!",
          "title": "ED SHEERAN - Shivers"
        },
        "isPlayingInLemur": false,
        "lemurVolume": null,
        "lyrics": null,
        "mainArt": {
          "altText": "Albumdesign",
          "artType": "UrlArtSource",
          "contentType": "image/jpeg",
          "url": "https://cdn-profiles.tunein.com/s96141/images/logog.png?t=637707576410000000"
        },
        "mediaId": "07e1718a-dc9d-4edf-9b24-7106b4e3e688:1",
        "miniArt": {
          "altText": "Albumdesign",
          "artType": "UrlArtSource",
          "contentType": "image/jpeg",
          "url": "https://cdn-profiles.tunein.com/s96141/images/logog.png?t=637707576410000000"
        },
        "miniInfoText": {
          "header": null,
          "headerSubtext1": null,
          "multiLineMode": false,
          "subText1": "baden.fm OnAir",
          "subText2": null,
          "title": "ED SHEERAN - Shivers"
        },
        "playbackSource": null,
        "playingInLemurId": null,
        "progress": {
          "allowScrubbing": false,
          "locationInfo": null,
          "mediaLength": 0,
          "mediaProgress": 590,
          "showTiming": false,
          "visible": true
        },
        "provider": {
          "artOverlay": null,
          "fallbackMainArt": {
            "altText": null,
            "artType": "IconArtSource",
            "iconId": "music-no-art",
            "iconStyles": null
          },
          "providerDisplayName": null,
          "providerLogo": {
            "altText": "TuneIn",
            "artType": "IconArtSource",
            "iconId": "tunein",
            "iconStyles": null
          },
          "providerName": "TuneIn-Liveradio"
        },
        "quality": null,
        "queueId": "07e1718a-dc9d-4edf-9b24-7106b4e3e688",
        "state": "PAUSED",
        "template": null,
        "transport": {
          "closedCaptions": null,
          "layoutType": "MusicTransportLayout",
          "lyrics": "HIDDEN",
          "next": "DISABLED",
          "playPause": "ENABLED",
          "previous": "DISABLED",
          "repeat": "HIDDEN",
          "shuffle": "HIDDEN"
        },
        "upNextItems": null,
        "volume": {
          "muted": false,
          "volume": 25
        }
      }
    }
    Damit sollte es funktionieren.

    Viele Grüße
    Andre

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hallo AndreK, ich hab jetzt mal Zeit gehabt mich damit etwas zu beschäftigen .
    Aber ich komme da nicht auf einen grünen Zweig…

    Wenn ich die Items unterhalb des struct definiere (volume, station_1 etc) werden diese items aus dem Itembaum entfernt. Definiere ich sie nicht, sind Sie im struct enthalten. Dementsprechend kann ich dann auch nicht mehr auf die Items zugreifen.
    Auch werden die Items nicht mit Daten gefüllt.
    mir würden die Items Interpret, Lied und Cover schon reichen. Da kommt aber nichts in die Items.

    Hast Du evtl. eine Pluginversion am laufen, die noch nicht hochgeladen ist?

    Grüße, Marc

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hallo Andre, wow… Das ist ja schon eine ganze Menge!
    Vielen Dank schon mal. Ich gucke mir das morgen mal genauer an und versuche das mal für meinem Zweck umzubauen.

    Vielen Dank für Deine Mühe!
    Grüße, Marc

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    schuma Hallo Marc,

    hier die entsprechenden Infos. Eine Item-Datei definiert mit :

    Code:
    %YAML 1.1
    ---
    Alexas:
        EchoDotKueche:
            struct: alexarc4shng.child
            player_info:
                play:
                    alexa_cmd_01: True:EchoDotKueche:Play:null
                    alexa_cmd_02: False:EchoDotKueche:Pause:null
                mute:
                    alexa_cmd_01: True:EchoDotKueche:Mute:0
                    alexa_cmd_02: False:EchoDotKueche:VolumeSet:20                
                volume:
                    alexa_cmd_01: True:EchoDotKueche:VolumeSet:#Alexas.EchoDotKueche.player_info.volume/#                
                station_1:
                    alexa_cmd_01: True:EchoDotKueche:StartTuneInStation:s96141
                station_2:
                    alexa_cmd_01: True:EchoDotKueche:StartTuneInStation:s1561
                station_3:
                    alexa_cmd_01: True:EchoDotKueche:StartTuneInStation:s24896
                station_4:
                    alexa_cmd_01: True:EchoDotKueche:StartTuneInStation:s294232                                
                station_5:
                    alexa_cmd_01: True:EchoDotKueche:PlaySpotifyPlaylist:Andre
    Ein Widget mit diesen Items :

    Code:
    <div class="block">
    <div class="set-1" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
    
    <div data-role="collapsible" data-collapsed="false">
    <h3>Alexa Show Küche</h3>
         {{ multimedia.station('', 'Alexas.EchoDotKueche.player_info.station_1', 'https://cdn-profiles.tunein.com/s96141/images/logod.png?t=637707576410000000', '1', 'mini') }}
         {{ multimedia.station('', 'Alexas.EchoDotKueche.player_info.station_2', 'https://cdn-profiles.tunein.com/s1561/images/logod.png?t=637121945220000000', '1', 'mini') }}
         {{ multimedia.station('', 'Alexas.EchoDotKueche.player_info.station_3', 'https://cdn-profiles.tunein.com/s24896/images/logod.png?t=636680257044500000', '1', 'mini') }}    
         {{ multimedia.station('', 'Alexas.EchoDotKueche.player_info.station_4', 'https://cdn-profiles.tunein.com/s294232/images/logod.png?t=637209241410000000', '1', 'mini') }}
         {{ multimedia.station('', 'Alexas.EchoDotKueche.player_info.station_5', 'dropins/icons/ws/spotify.png', '1', 'mini') }}        
        
    
                {{multimedia.music('','Alexas.EchoDotKueche.player_info.play','Alexas.EchoDotKueche.player_info.pause','','','','Alexas.EchoDotKueche.player_info.volume','Alexas.EchoDotKueche.player_info.mute',
                  'Alexas.EchoDotKueche.player_info.artist','Alexas.EchoDotKueche.player_info.title','','','Alexas.EchoDotKueche.player_info.fan_art')}}
    
    </div>
    
    </div>
    Das sollte das Ergebnis des Screenshots liefern. Die Icons der multimedia.station`s musst Du natürlich anpassen - das sind direkte Links zu den TuneIn-Icons.
    Das Spotify-Logo hab ich lokal gespeichert. Das FanArt des aktuell abgespielten Songs kommt von Amazon und wird automatisch aktualisiert.

    Was nicht korrekt funktioniert ist die Lautstärkeeinstellung. Hier kommt sich die Abfrage in der Amazon-Cloud und das Ändern aus shNG in die Quere. Ich hab zwar eine Lösung ist aber noch nicht implemtiert.

    Die Struct sieht aktuell 6 "Stations" vor - bei mehr Bedarf gerne Rückinfo.

    Um die Geräte aus dem Plugin zu lesen reicht in einer Logik der folgende Code :

    Code:
    myDevices = sh.alexarc4shng.Echos.devices
    existingDevices = []
    for actDevice in myDevices:
      existingDevices.append(sh.alexarc4shng.Echos.devices.get(actDevice).name)
    Die vorhandenen Gerätenamen stehen dann im existingDevices-Array und könne in ein Item geschrieben werden.

    Vieleicht hilft Dir das weiter

    Viele Grüße
    Andre

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    schuma
    Hi Marc,

    so etwas ist bereits vorbereitet. Es gibt ein Child-Struct für die Mediaplayer-Infos der Geräte. Details kann ich Dir heute abend senden.
    Es wird dann je Gerät ein Item mit der Struct definiert. Die Buttons sind "Stations" von TuneIn oder Spotify-Playlist, können aber auch Prime-Music-Stationen/Playlists sein

    Die Geräte einzeln zu ermitteln und in ein Item zu schreiben würde via Logik jetzt schon gehen. Post ich heute abend.

    Das sieht dann so aus :

    ___ShowKueche.png

    Betreffend der zu vielen Anfragen kannst Du das Kommunikations-Log im Web-IF mal sichten, bei Bedarf auch posten.

    Viele Grüße
    Andre

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hallo AndreK, wäre es möglich, in einer zukünftigen Version des Plugins die Alexa Gerätenamen in ein Item zu schreiben?
    Hintergrund ist, ich versuche gerade die AKugel im Badezimmer als Radio zu nutzen. Um die Einstellungen auf Visu Seite zu vereinfachen, würde ich ein Auswahlmenü anbieten welches Gerät benutzt werden soll. Das wäre für ein späteres Widget sicher auch sinnvoll.

    Außerdem habe ich noch ein Problem, das sich das Plugin nach einer gewissen Zeit, mit dem Hinweis auf zu viele Anfragen, deaktiviert. Ich denke das kommt durch das ständige an/ausschalten durch den Präsenzmelder im Bad. Kann ich dem irgendwie entgegenwirken? Ich hatte schon probiert den erneuten Anmeldevorgang kürzer zu machen (Jetzt alle 3 Tage). Das hat aber nicht gefruchtet.

    Grüße, Marc

    Einen Kommentar schreiben:


  • psilo
    antwortet
    Hallo, anbei mein Feedback: die cookies.txt hat er erst (wohl wegen Rechten aufs Dateisystem) nicht rausschreiben können. habe sie dann manuell angelegt und mit rechten versehen. danach ging es. text2speech soeben erfolgreich getestet. thx!

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Hallo André, danke für die schnelle Antwort.
    Das hat auch so, mit einer Null am Ende, gut funktioniert.

    Code:
    sh.AlexaRc4shNG.send_cmd(sh.EG.Raum3.AlexaRadio.Geraet(),'Pause',0)
    Grüße und vielen Dank, Marc

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo schuma,

    das sollte mit einem Pause-Kommando funktionieren :

    Code:
    sh.AlexaRc4shNG.send_cmd(sh.EG.Raum3.AlexaRadio.Geraet(),'Pause',)
    Viele Grüße
    Andre

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Ich hab da mal ne Frage….
    ich schalte eine Alexa in einer Logik auf TuneIn ein mit:
    Code:
    sh.AlexaRc4shNG.send_cmd(sh.EG.Raum3.AlexaRadio.Geraet(),'StartTuneInStation',sh.EG.Raum3.AlexaRadio.Sender())
    Aber wie schalte ich die in der Logik wieder aus?

    Grüße, Marc

    Einen Kommentar schreiben:


  • Jürgen
    antwortet
    [QUOTE=AndreK;n1913860]Hallo,


    Code:
    alexarc4shng:
    plugin_name: alexarc4shng
    cookiefile: /usr/local/smarthome/plugins/alexarc4shng/cookies.txt
    host: alexa.amazon.de
    item_2_enable_alexa_rc: OG.Switch.Alexa
    login_update_cycle: '432000'
    alexa_refresh_token: <YOUR_TOKEN>
    Hallo Andre,

    zunächst zum Pfad: Bei meiner Beagle Installation liegt die plugin.yaml unter
    /usr/local/smarthome/etc, falls mal jemand suchen sollte :-)

    "alexa_credentials:" fällt also weg? Antwort: Offensichtlich, auskommentiert, läuft!

    "item_2_enable_alexa_rc:" ist wohl abhängig von der eigenen Konfiguration, ich schalte über "Zentral.Sprachausgabe.DURCHSAGEMODUS" ein ..

    Edith hat es ausprobiert und war auf Anhieb erfolgreich, vielen Dank!!

    Gruß Jürgen

    ​Nachtrag: Im Webif steht neben der grinsenden Kartoffel: "Plugin : Gestoppt" ???

    Nachtrag 2: Auch ich bekomme den Routinen Fehler im Logfile (habe auch keine definiert) :

    > 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)​
    Zuletzt geändert von Jürgen; 07.12.2023, 12:27.

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Ahhh….. Ich hab das in der Alexa App gefunden (Benutze die nicht so oft)
    Und da sind keine Routinen angelegt.

    Einen Kommentar schreiben:


  • Jürgen
    antwortet
    Hallo Marc,

    Du hörst der Dame wohl nie zu?

    Die fragt doch immer wieder: "Soll ich das Licht automasch bei Dämmerung einschalten"? Oder ähnliches Zeug.
    Das sollte dann irgendwo als Routine hinterlegt sein, habe ich aber auch nicht.

    Gruß Jürgen

    ...der wohl erst am Donnerstag dazu kommt

    Einen Kommentar schreiben:

Lädt...
X