Zeitdurchsage mit MP3 Funkgong

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Atze
Beiträge: 1
Registriert: 16.01.2015, 21:00

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von Atze » 19.01.2015, 14:15

Hallo Allerseits,

ich möchte mich mal ganz vorsichtig in diese Gemeinde mit wachsender Begeisterung für Homematic hineinschleichen, ohne selbst schon viel Subsatnz und Erfaehrungen weitergeben zu können. Eine gefühlte Ewigkeit nicht mehr programmiert half mir die Uhr- und Temperaturanzeige sehr, um überhaupt (wieder) in diese Denkstrukturen hineinzufinden. Statt meines Weckers steuert nun der Funk-Gong MP3 eine Morgenmelodie mit nachfolgenden Ansagen zur Uhrzeit, zur Außentemperatur und zur Wassertemperatur im Pool. Dies wird auch von meinen Kindern als tolle Bereicherung empfunden. Die mit MP3-Dateien zusammengesetzten Texte liegen zeitlich etwas sehr weit auseinander. Über Strings sollen Listen definiert werden, was die Sache schneller macht. Vielleicht kann mir da ebenfalls jemand 1:1 bei der Umsetzung helfen? Ein Problem ganz anderer Art habe ich beim Script zur Berechnung der minimalen Temperaturangabe. Das Maximum wird anhand der ebenfalls in diesem Forum vorgestellten Maximumberechnung schon erfasst.

Wenn die beiden Fragen oder Bitten zu blauäugig sind, ist es auch kein Problem. Die Diskussionen im Forum machen jedenfalls großen Spaß, und man lernt eine Menge. Danke allen dafür!

Tripplex
Beiträge: 519
Registriert: 11.01.2015, 19:16
System: CCU
Hat sich bedankt: 11 Mal
Danksagung erhalten: 4 Mal

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von Tripplex » 01.02.2015, 11:37

Hallo Forum *gg*
Bin gerade dabei mir auch eine Temp Ansage mit eurem Skript zu machen.
Funktioniert leider nicht so richtig.
Ich habe unten mal 2 Screen angehängt
Screenshot 2015-02-01 11.33.25.png
eal zahl = dom.GetObject("BidCos-RF.LEQ0122130.TEMPERATURE").Value();
boolean negativ = false;
if (zahl < 0.00) {
zahl = 0.00 - zahl;
negativ = true;
}

string nachkomma = (zahl - zahl.ToInteger()).ToString().Substr(2,2);
string vorkomma = "0";

string k1 = nachkomma.Substr(0,1);
string k2 = nachkomma.Substr(1,1);

vorkomma = zahl.ToInteger().ToString();

if (vorkomma.Length() == 1){
vorkomma = "0" # vorkomma;
}


string s1 = vorkomma.Substr(0,1);
string s2 = vorkomma.Substr(1,1);

!Es ist
string command = "1,1,108000,30";

if (negativ) {
command = command + ',34';
}

if (s1 == "1") {
if (s2 == "0") {
command = command # ",10";
}
else {
if (s2 == "1") {
command = command # ",11";
}
else {
if (s2 == "2") {
command = command # ",12";
}
else
{
command = command # "," # s2 # ",10";
}
}
}
}
else{
if (s1 == "0"){
if (s2 == "0"){
command = command # ",100";
}
else{
command = command # "," # s2;
}
}
else {
command = command # "," # s2 # ",20,2" # s1;
}
}

if (k1 <> "0"){
command = command # ",33," # k1;
}

!Grad
command = command # ',32';
dom.GetObject("MP3-GONG-AUDIO").DPByHssDP("SUBMIT").State(command);
CCU3 mit Cul stick,dazu Intertechno Steckosen.
HM Steuert. Das Haus/Heizung inkl Pool und Robomow RC.

andyb
Beiträge: 156
Registriert: 16.11.2014, 08:09

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von andyb » 16.02.2015, 06:31

Dr.Bob hat geschrieben:

Meine mp3 Sammlung hänge ich hier an als ZIP.
Die mp3's sind durchnummeriert von 090.mp3.... bis.... 159.mp3
Diese habe ich mit dem free Tool http://www.cross-plus-a.com/de/balabolka.htm erstellt.
Hallo Dr.Bob
ich finde die Stimme gut, hab Balabolka runter geladen, aber da ist nur englisch drin.
Welche Sprache hast du genau benutzt?

andyb
Beiträge: 156
Registriert: 16.11.2014, 08:09

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von andyb » 17.02.2015, 06:45

gibt es ein Limit für die Länge der gongcmd?

bei mir kommt "1,1,108000,090,093,106,094,143,095,099,100,092,096,169" raus, dann verschluckt der Gong bei der Ansage die 169 am Schluß.
Kürze ich in der Mitte was raus (also Uhrzeit weglassen, dann sagt er die 169 an Schluß an.

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von buempi » 17.02.2015, 06:56

andyb hat geschrieben:gibt es ein Limit für die Länge der gongcmd?
... ja, es sind maximal 10 Dateien möglich!

Viele Grüsse
Bümpi

andyb
Beiträge: 156
Registriert: 16.11.2014, 08:09

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von andyb » 17.02.2015, 11:19

Danke. Also aufteilen in 2 scripte und 2 ansagen oder das freundliche guten morgen weglassen

Gesendet von meinem GT-I9505 mit Tapatalk

leknilk0815
Beiträge: 6693
Registriert: 19.03.2007, 08:21
Danksagung erhalten: 2 Mal

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von leknilk0815 » 17.02.2015, 11:42

Servus,
ich würde die Begrüßung als Extra- Script flexibel gestalten und von der Tageszeit abhängig machen ("Guten Abend"...)
Damit wäre die Begrenzung erledigt und man hat verschiedene Begrüßungen je nach Zeit.
Gruß - Toni

KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ

andyb
Beiträge: 156
Registriert: 16.11.2014, 08:09

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von andyb » 17.02.2015, 12:16

Auch ne gute Idee. ..

Gesendet von meinem GT-I9505 mit Tapatalk

Martin_BY
Beiträge: 192
Registriert: 22.10.2013, 21:45

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von Martin_BY » 06.12.2015, 10:53

Hilfe!! ;)

Jetzt im Winter ist wieder Zeit, sich mit der Homematic zu beschäftigen - und daher wollte ich gerne das Ansagescript integrieren.

Uhrzeit läuft auch, leider klappt der Teil mit der Temperatur aber nicht.
Ich habe - abweichend zum Ursprungsscript- eine Variable, die die Temperatur enthält. Die wird offenbar auch abgefragt, allerdings wird "thetemp2" nicht geschrieben, und ich verstehe nicht, warum.

Code: Alles auswählen

string gongcmd = "1,1,108000,90";


    ! Die Aussentemperatur beträgt ...
    gongcmd = gongcmd # ",95";
    var atemp = dom.GetObject("Wetter_Temperatur").Value();

    real thetemp = atemp.State();

    if ( thetemp < 0 )
    {
         ! minus
         gongcmd = gongcmd # ",99";
         thetemp = -1.0 * thetemp;
    }

    integer thetemp2 = 100+(thetemp+0.5).ToInteger();
    gongcmd = gongcmd # "," # thetemp2.ToString() # ",92";

    
dom.GetObject("BidCos-RF.XXXXXXXXXX:2.SUBMIT").State( gongcmd );
Ergebnis:

Code: Alles auswählen

{
  "thetemp2": "0",
  "sessionId": "",
  "httpUserAgent": "",
  "thetemp": "4.000000",
  "atemp": "4.000000",
  "gongcmd": "1,1,108000,90,95",
  "STDOUT": ""
}
Kann mir jemand einen Tipp geben? :shock:

Danielgo
Beiträge: 16
Registriert: 24.04.2015, 22:18

Re: Zeitdurchsage mit MP3 Funkgong

Beitrag von Danielgo » 11.12.2015, 10:30

Hallo zusammen,

ich habe ein Problem mit der Maximalen Anzahl an möglichen MP3 Dateien. :roll:
Zum einen lasse ich mir ab einer bestimmten Außentemperatur noch den Hinweis auf Frostgefahr ansagen, zum anderen möchte ich auch noch die aktuelle Innentemperatur ansagen lassen. Derzeit mache ich das anhand von 2 Scripts mit Zeitlicher Verzögerung in etwa der Länge des 1 Scripts.

Gibt es hier eine bessere Lösung zb. das am Ende des 1 Scripts Automatisch das 2 ausgeführt wird? Oder habt ihr evtl. eine andre Idee wie ich dieses umsetzen kann? :?:

Vielen Dank
Gruß
Daniel

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“