[gelöst] Soundausgabe unter windows, wsl2, debian

Begonnen von the ratman, 01 April 2024, 16:57:04

Vorheriges Thema - Nächstes Thema

Otto123

#15
Ich habe 5.1

Wem die gehört sollte egal sein, die wird nur gelesen. Je nachdem wie und woher Du kopiert hast könnte die Datei noch dieses "Remote geblockt attribute" haben. Schau mal mit dem explorer rein - eigenschaften Datei
\\wsl$\Ubuntu\opt\fhem
Oder versuche sowas in der Powershell
Unblock-File \\wsl$\Ubuntu\opt\fhem\tts.ps1
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

the ratman

#16
PowerShell 7.4.1
PS C:\Users\the-r> Unblock-File \\wsl$\Debian\opt\fhem\tts.ps1
PS C:\Users\the-r>

"/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe \\\\\\\\wsl$\\\\Debian\\\\opt\\\\fhem\\\\tts.ps1 \"Willi ist Lustig\" "weiterhin die gleiche meldung
übrigens ohne "" auch in der wsl-konsole direkt
→do↑p!dnʇs↓shit←

Otto123

Letzte Idee: Mit dem Zusatz?
"/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -ExecutionPolicy Bypass \\\\\\\\wsl$\\\\Debian\\\\opt\\\\fhem\\\\tts.ps1 \"Willi ist Lustig\" "
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

the ratman

#19
Deine Konsole macht 7.4 unser Aufruf mit Pfad 1.0 die Version 5?fragst mich das ernsthaft? ich hab tatsächlich 0 gemacht. der schleppi ist mit halinstalliertem win11home so bei mir angekommen. hab dann nur nach deiner blog-anleitung sicherheitshalber geschaut, ob eh wsl2 rennt.

wir hätten auch gleich mit deiner letzten idee anfangen können *lach*

"/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -ExecutionPolicy Bypass \\\\\\\\wsl$\\\\Debian\\\\opt\\\\fhem\\\\tts.ps1 \"Willi ist Lustig\" ""willi ist lustig", tönts hier grade lustig um meine ohren.

gratulation und vielen thx - jetzt kann ich da draus ja quasi ein cmdalias machen, mit say As ... oder so?


nachtrag: und fallst mich fragen willst: auch ich hab nur ein unter-dir "1.0" im powershell-dir ...

in der reg hab ich aber auch 2 powershells:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine]
"ApplicationBase"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0"
"ConsoleHostAssemblyName"="Microsoft.PowerShell.ConsoleHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=msil"
"ConsoleHostModuleName"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\Microsoft.PowerShell.ConsoleHost.dll"
"PowerShellVersion"="2.0"
"PSCompatibleVersion"="1.0, 2.0"
"RuntimeVersion"="v2.0.50727"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine]
"ApplicationBase"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0"
"ConsoleHostAssemblyName"="Microsoft.PowerShell.ConsoleHost, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=msil"
"ConsoleHostModuleName"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\Microsoft.PowerShell.ConsoleHost.dll"
"PowerShellVersion"="5.1.22621.1"
"PSCompatibleVersion"="1.0, 2.0, 3.0, 4.0, 5.0, 5.1"
"PSPluginWkrModuleName"="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\system.management.automation.dll"
"RuntimeVersion"="v4.0.30319"

ich glaub', ich mach' mir jetzt ein bier auf ... du kriegst auch eines, also muss ich wohl 2 in mich füllen ...
→do↑p!dnʇs↓shit←

Otto123

Gibt es da bei Dir einen Unterschied? in der CMD
"%ProgramFiles%\PowerShell\7\pwsh.exe" -command Get-ExecutionPolicy"%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe" -command Get-ExecutionPolicyOder PS
& $env:ProgramFiles\PowerShell\7\pwsh.exe -command Get-ExecutionPolicy& $env:WINDIR\System32\WindowsPowerShell\v1.0\powershell.exe -command Get-ExecutionPolicy
Zitatich hab tatsächlich 0 gemacht
Ich habe mal installiert, danach gibt es im Windows Terminal zweimal Powershell Konsole: eine Hellblaue und ein Dunkelblaue  :o  :))

Naj, hab ich das auch mal gemacht ...
Zitat von: the ratman am 04 April 2024, 14:31:38jetzt kann ich da draus ja quasi ein cmdalias machen, mit say As ... oder so?
Ja sollte so gehen ...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

the ratman

#21
Ich habe mal installiert, danach gibt es im Windows Terminal zweimal Powershell Konsole: eine Hellblaue und ein Dunkelblaue  :o  :))gut, dann hat das aber hp so vorgesehen. ich hab damals dumm dämlich losgelegt, ohne was nachzuinstallieren ... kann ich ausnahmsweise nicht mitlachen. genau sowas bricht so halb-wissenden wie mir das genick ... wärst das jetzt nicht du, dürfte ich mir wieder anhören, was für ein fauler, unwissender depp ich doch bin.

jo
PS C:\Users\the-r> & $env:ProgramFiles\PowerShell\7\pwsh.exe -command Get-ExecutionPolicy
Unrestricted
PS C:\Users\the-r> & $env:WINDIR\System32\WindowsPowerShell\v1.0\powershell.exe -command Get-ExecutionPolicy
Restricted

pööser purche *g*
Ja sollte so gehen ... ich krieg' die "" und ;; nicht auf die reihe *g*


nachtrag:
der vollständigkeit halber ... ich hab im startmenü genau eine "PowerShell 7 (x64)" zum anklicken.
nix weiter, auch net bei m wie microsoft oder w wie windoof ...
→do↑p!dnʇs↓shit←

Otto123

#22
Gut - Deine Ausgabe erklärt wenigsten das Verhalten - darauf muss man erstmal kommen: 2 mal PS und 2 unterschiedliche Umgebungen auf einem Windows  :o

Zitat von: the ratman am 04 April 2024, 15:01:17ich krieg' die "" und ;; nicht auf die reihe *g*
Wenn Du mir erklärst, warum diese beiden Zeilen funktionieren,
" /mnt/c/Program\ Files/PowerShell/7/pwsh.exe -ExecutionPolicy Bypass \\\\wsl$\\ubuntu\\opt\\fhem\\tts.ps1 'willi ist Lustig' ""/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -ExecutionPolicy Bypass \\\\\\\\wsl$\\\\ubuntu\\\\opt\\\\fhem\\\\tts.ps1 \"Willi ist Lustig\" "Und die hier nicht
" /mnt/c/Program\ Files/PowerShell/7/pwsh.exe -ExecutionPolicy Bypass \\\\\\\\wsl$\\\\ubuntu\\\\opt\\\\fhem\\\\tts.ps1 \"Willi ist Lustig\" "helfe ich dir  :))  :))  :))

Aber dann gehe ich erstmal zum Stammtisch - ich tausche quasi diese Bauerschaale gegen Gerstenkaltschale ;)

Nachtrag: Ich sage Dir das mit den "" und ;; und \" usw. ist alles kaum vorhersehbar, da hilft (mir) auch nur ein bisschen Wissen und ganz viel Geduld beim probieren. 
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

the ratman

#23
also das liegt eindeutig an den derzeitigen sonnenflecken-aktivitäten - du noob hast ja gar keine ahnung *lach*
ein bisschen Wissenja, wenn man das auf brot schmieren könnte, hätt ichs auch.ganz viel Geduldoh, neue fremdwörter für mich ...

genieße dein bier, hast dir verdient! ich spende wohl heute 'ne ganze kiste an dich ... muss ich dann wieder alleine saufen, ich armer *g*
→do↑p!dnʇs↓shit←

Otto123

#24
Guten Morgen,

die Anleitung, ich teile die Dinge gerne auf, um die Verdopplung und escapen halbwegs zu überschauen.
Das PS Script ist ja schon da, wir bauen zum Aufruf des PS Scripts noch ein Shell Script welches dann durch den alias aufgerufen wird.

alias -> shell Script -> powershell Script

wsl öffnen und dort als fhem arbeiten:
sudo -su fhemShell Editor öffnen
nano ~/wtts.shdort hinein diesen Code und speichern.
/mnt/c/Program\ Files/PowerShell/7/pwsh.exe -ExecutionPolicy Bypass \\\\wsl$\\ubuntu\\opt\\fhem\\tts.ps1 "$1" Jetzt muss in der FHEM Kommandozeile dies gehen
"bash wtts.sh 'Willi wieder da' "Wenn ja dann FHEM alias machen
define c_wtts cmdalias wtts .* AS {qx "bash wtts.sh '$EVENT' "}Und dann sollte gehen:
wtts Hedda kann in FHEM reden
Was mir jetzt nicht gefällt: das blockiert FHEM für die gesamte Ausgabe.
Das könnte man in FHEM so umgehen
{system("bash wtts.sh '$EVENT' &")}Die Powershell bzw. die System.Speech von Windows bietet aber auch eine alternative Ausgabe $tts.Speak() -> $tts.SpeakAsync()

Ich habe das jetzt immer nur mit drei Worten getestet - keine Ahnung was passiert wenn man dort einen Roman einwirft :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

the ratman

super sache - funzt sogar bei mir auf anhieb *g*

na dann romanisieren wir mal mit {system("bash wtts.sh '$EVENT' &")} *g* -->


wtts
wtts Die Powershell bzw. die System.Speech von Windows bietet aber auch eine alternative Ausgabe $tts.Speak() -> $tts.SpeakAsync()

Ich habe das jetzt immer nur mit drei Worten getestet - keine Ahnung was passiert wenn man dort einen Roman einwirft :)


also inkl. [ code] mal auf ganz blöd mit wtts drinnen, $, usw.
das frisst er - sogar mit den eckigen klammern, blaaa

man könnte sich max aufregen, dass ich in fhem ein "-1" als rückmeldung kriege, das log bleibt angenehm leer
→do↑p!dnʇs↓shit←

Otto123

Na da haben wir gestern gut vorgearbeitet  8)  ;D  :))
Zitat von: the ratman am 05 April 2024, 15:18:48dass ich in fhem ein "-1"
Ja das ist der system() Aufruf, könnte man mit einem return'' danach unterdrücken.
{system("bash wtts.sh '$EVENT' &");;return'' }Oder die qx() Variante nehmen und die ps1 ändern.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

the ratman

ich hab nun, nur zur sicherheit, folgendes stehen: wtts .* AS {system("bash wtts.sh '$EVENT' &");;return'' }ausgabe kommt, "-1" kommt nicht, was will man mehr?

würde sagen: so einfach kommst sonst nirgends zu einer verständlichen tts ohne zwischennetz und riesen spielchen *g*

* the ratman ist absolut glücklich und zufrieden - vielen, vielen dank!
→do↑p!dnʇs↓shit←

betateilchen

Dafür, dass hier im Thread-Titel schon recht lange "erledigt" steht, wird hier aber noch ganz schön lange hinterher diskutiert...  8)

Zitat[erledigt] hmusb - neuer versuch einer verbindung unter windows, wsl2, debian
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

naja das war die Bonusaufgabe :) - ich könnte schauen ob und wie es geht und den Teil mit wsl und Sound abspalten, der passt ja nicht zu Homematic.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz