[Altes Modul] GoogleCast (98_GOOGLECAST.pm)

Begonnen von dominik, 10 Dezember 2015, 22:43:49

Vorheriges Thema - Nächstes Thema

presskopf

#885
Hi, ich habe bisher nur googlecast und gassistant im Einsatz.

Caleus

Hey Leute

ich hänge mich mal mit rein und stelle mal meine frage, ich habe zwar geschaut aber keine lösung hier gefunden.

Mein Problem ist das mein Google Home Mini leider immer nur 1 Wort wieder gibt wenn ich den Befehl speak nutze.

set Kueche speak Guten Morgen, Heute ist der $today, wir haben $draussen Grad draussen

ausgabe Guten


set Kueche speak wadehaddedudeda

ausgabe wadehaddedudeda

hat einer eine Idee?

MfG Caleus

OdfFhem

@Caleus

Anführungszeichen sind vermutlich die Retter in dieser Situation ...

Caleus

@odfFhem

sorry mein Code sieht so aus

fhem ("set Kueche speak Guten Morgen, Heute ist der $today, wir haben $draussen Grad draussen")}

es sind also Anführungszeichen vorhanden

und der ganze Code sieht so aus

([Test.Schalter:state] eq "on"){
my $draussen = ReadingsVal("THR128_0f_1","temperature","");
$draussen =~ s/\./ komma /;
fhem ("set Kueche speak Guten Morgen, Heute ist der $today, wir haben $draussen Grad draussen")}


MfG Caleus

OdfFhem

@Caleus

Wichtig ist, das der zu sprechende Text unmittelbar mit Anführungszeichen umgeben wird. Neben den Anführungszeichen für den gesamten Befehl in Deinem Fall brauchst Du noch weitere Anführungszeichen - einfache oder maskierte, doppelte ...

Caleus

@odfFhem

ein fettes Danke mal wieder, es ist wie bei PHP aber nun gut schon eine weile nicht mehr mit gearbeitet.

fhem ('set Kueche speak "Guten Morgen, Heute ist der '.$today.', wir haben '.$draussen.' Grad draussen"')}

Wenn ich jetzt noch eine möglichkeit finde mir den Wochentag ansagen zulassen bin ich froh.

MadMax-FHEM

Eventuell so:


fhem ("set Kueche speak \"Guten Morgen, Heute ist der \".$today.\", wir haben \".$draussen.\" Grad draussen\"")}


Vielleicht sogar so:


fhem ("set Kueche speak \"Guten Morgen, Heute ist der $today, wir haben $draussen Grad draussen\"")}


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Caleus

@ MadMax-FHEM

mein Code klapt ja jetzt soweit, $today und $draussen sind ja vergeben, mir geht es jetzt noch um eine variable oder vorlage um auch den Wochentag zu übergeben.

$today kommt ja vom DOIF selbst und
$draussen wurde von mir definiert mit
my $draussen = ReadingsVal("THR128_0f_1","temperature","");

$today gibt also das Datum in form von 01.12.2020 aus und
$draussen sagt mir eine Temperatur an, nun möchte ich aber das mir auch noch zusätlich der aktuelle Wochentag angesagt wird.

MfG Caleus

MadMax-FHEM

Ok, sorry.

Ich nutze DOIF nicht und wusste nicht, dass $today "nur" das Datum ist ;)

Irgendwo mit dem Echodevice-Modul gab es mal ein Script/myUtils wo (glaube ich) das umgesetzt wurde...

Ansonsten evtl. mit einem hash, also WoTaKürzel => Wochentag

Mo => Montag, Di/Tue => Dienstag

Weil es gibt ja "nur" 7 Tage.

Das WoTaKürzel müsste doch mit einer "Datumsabfrage" rauszukriegen sein...

Ich weiß: wieder nicht (sonderlich) hilfreich ;)
(noch mal sorry ;)  )

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Stelaku

@Caleus

Vieleicht funktioniert es so als userreading.
Wochentag {
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);;
if ($wday == 1) {return "Montag"}
elsif ($wday == 2) {return "Dienstag"}
elsif ($wday == 3) {return "Mittwoch"}
elsif ($wday == 4) {return "Donnerstag"}
elsif ($wday == 5) {return "Freitag"}
elsif ($wday == 6) {return "Samstag"}
elsif ($wday == 0) {return "Sonntag"}
}

dominik

Zitat von: presskopf am 01 Dezember 2020, 07:37:30
Hi, ich habe bisher nur googlecast und gassistant im Einsatz.

Kannst du mal prüfen wie viele pythonbinding Prozesse im Normalfall laufen? Ist es nur der eine, oder mehrere?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

OdfFhem

@Caleus

Folgende Eingabe in der FHEM-Kommandozeile liefert den (hoffentlich) richtigen Wochentag:

{ my @days = qw/Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag/;; my $day = $days[(localtime(time))[6] - 1];; return $day;; }


Sollte anschließend leicht in Deinen Code integrierbar sein ...

presskopf

Zitat von: dominik am 01 Dezember 2020, 18:10:00
Kannst du mal prüfen wie viele pythonbinding Prozesse im Normalfall laufen? Ist es nur der eine, oder mehrere?

Es ist nur ein Prozess.

Mir ist aber gerade aufgefallen, dass ich das Problem aktuell nicht mehr nachstellen kann.
Wurde mit einem der letzten Updates irgendwas an den Start/Stop-Routinen geändert?
Ich hatte das Phänomen bei sicher drei, vier Fhem-Updates.
Einerseits bin ich perplex, andererseits froh, dass doch (wieder) alles im Lot zu sein scheint.
Danke Dominik

dominik

Bei den letzten Updates gab es nicht wirklich etwas was mit dem Thema zu tun hätte, aber wenn es nochmals auftritt, melde dich gerne wieder.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Caleus

Zitat von: OdfFhem am 01 Dezember 2020, 18:45:43
@Caleus

Folgende Eingabe in der FHEM-Kommandozeile liefert den (hoffentlich) richtigen Wochentag:

{ my @days = qw/Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag/;; my $day = $days[(localtime(time))[6] - 1];; return $day;; }


Sollte anschließend leicht in Deinen Code integrierbar sein ...


Und wieder einmal gilt dir mein Dank @odfFhem