Verzögert eine Variable per Skript ändern / Wie geht das?
Moderator: Co-Administratoren
-
- Beiträge: 48
- Registriert: 24.01.2017, 16:46
Verzögert eine Variable per Skript ändern / Wie geht das?
Hallo,
ich habe das Problem, dass ich mir auf Knopfdruck eine Erinnerung verschiedener Ereignisse ansagen lassen möchte.
Die Variiert täglich und ist von verschiedenen Faktoren abhängig. Mein Problem ist die Begrenzung von max. 10 MP3s auf dem MP3-Gong.
Jetzt hatte ich mir folgendes überlegt,
die Variablen gongcmd1 + gongcmd2 werden zusammengesetzt
z-B.
gongcmd1 = 0.1,1,108000,161,171,178,096
gongcmd2 = 0.1,1,108000,164,151,198,026
Der erste Befehlt wird von mir gestartet.
dom.GetObject("BidCos-RF.NEQ0000000:2.SUBMIT").State( gongcmd1 ); "
wenn der mp3 Gong seine Texte zuende aufgezält hat, soll der nächste befehl gestartet werden
dom.GetObject("BidCos-RF.NEQ0000000:2.SUBMIT").State( gongcmd2 ); "
da ich weiss, wie lang die Texte sind, könnte ich eine Verzögerung errechnen, und den Befehl um xxx Sekunden verzögert starten. Aber wie geht das?
Ziel:
dom.GetObject("BidCos-RF.NEQ0000000:2.SUBMIT").State( gongcmd1 ); "
dom.GetObject("BidCos-RF.NEQ0000000:2.SUBMIT").State( gongcmd2 ); " verzögert um xxx Sekunden
Könnt Ihr mir da helfen?
DANKE
ich habe das Problem, dass ich mir auf Knopfdruck eine Erinnerung verschiedener Ereignisse ansagen lassen möchte.
Die Variiert täglich und ist von verschiedenen Faktoren abhängig. Mein Problem ist die Begrenzung von max. 10 MP3s auf dem MP3-Gong.
Jetzt hatte ich mir folgendes überlegt,
die Variablen gongcmd1 + gongcmd2 werden zusammengesetzt
z-B.
gongcmd1 = 0.1,1,108000,161,171,178,096
gongcmd2 = 0.1,1,108000,164,151,198,026
Der erste Befehlt wird von mir gestartet.
dom.GetObject("BidCos-RF.NEQ0000000:2.SUBMIT").State( gongcmd1 ); "
wenn der mp3 Gong seine Texte zuende aufgezält hat, soll der nächste befehl gestartet werden
dom.GetObject("BidCos-RF.NEQ0000000:2.SUBMIT").State( gongcmd2 ); "
da ich weiss, wie lang die Texte sind, könnte ich eine Verzögerung errechnen, und den Befehl um xxx Sekunden verzögert starten. Aber wie geht das?
Ziel:
dom.GetObject("BidCos-RF.NEQ0000000:2.SUBMIT").State( gongcmd1 ); "
dom.GetObject("BidCos-RF.NEQ0000000:2.SUBMIT").State( gongcmd2 ); " verzögert um xxx Sekunden
Könnt Ihr mir da helfen?
DANKE
Vielen DANK
Thorkillar
Thorkillar
-
- Beiträge: 4155
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 78 Mal
- Danksagung erhalten: 301 Mal
Re: Verzögert eine Variable per Skript ändern / Wie geht das?
Ich verwende keine Scripts, deshalb komme ich vielleicht auf diese pragmatische Lösung:
...Dann
Script [Text1] sofort
Script [Text2] verzögert um...
Also eine Aufteilung auf zwei Scripte.
...Dann
Script [Text1] sofort
Script [Text2] verzögert um...
Also eine Aufteilung auf zwei Scripte.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Verzögert eine Variable per Skript ändern / Wie geht das?
Hier bist du wrklich nicht darauf angewiesen, direkt in einem Script eine Variable verzögert zu schalten.
Wenn irgendwas
Dann Script
und
verzögert um X
Script
Alchy
Wenn irgendwas
Dann Script
Code: Alles auswählen
string gongcmd = "0.1,1,108000,161,171,178,096";
dom.GetObject(ID_DATAPOINTS).Get("BidCos-RF.NEQ0000000:2.SUBMIT").State(gongcmd);
verzögert um X
Script
Code: Alles auswählen
string gongcmd = "0.1,1,108000,164,151,198,026";
dom.GetObject(ID_DATAPOINTS).Get("BidCos-RF.NEQ0000000:2.SUBMIT").State(gongcmd);
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 10658
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 320 Mal
- Danksagung erhalten: 501 Mal
Re: Verzögert eine Variable per Skript ändern / Wie geht das?
Wobei es da eine Lösung vom User @Black gibt, die ich selbst aber noch nicht ausprobiert habe.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
- Black
- Beiträge: 5470
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 419 Mal
- Danksagung erhalten: 1070 Mal
- Kontaktdaten:
Re: Verzögert eine Variable per Skript ändern / Wie geht das?
In dem TCL Script nicht... das wird als separater Prozess gestartet.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 48
- Registriert: 24.01.2017, 16:46
Re: Verzögert eine Variable per Skript ändern / Wie geht das?
Hey,
Und vielen Dank für die hilfe.
Kannst du mir bei deinem Vorschlag sagen, wie ich x ins klicki bunti bekomme?
Der Wert x wird aus der länge der einzelnen MP3s errechnet.
164 ist 2 sek lang.
171 ist 8 Sekunden lang usw...
dann errechne ich 2+8+... = zB 28.
also soll das zweite Skript 28 Sekunden nach dem ersten gestartet werden.
Ich habe z.B. In die morgendliche Routine die Temperatur auf dem Balkon mit eingebaut. Alleine die verbraucht 4-5 MP3s .
Bisher habe ich es so gelöst das ganze in mehrere Teile aufzuteilen und dann per Tastendruck das zweite Skript zu starten.
Vor Weihnachten wollte ich dann noch einen Countdown bis ... einbauen .
Eigentlich alles nur Spielerei und nichts lebenswichtige, aber ich will es vernünftig haben.
Der Wert der Pause wird per Skript ermittelt und liegt bei mir tatsächlich in der Variable X
Also wie sage ich dem zweiten Skript, starte nach (zb) 28 Sekunden.
Morgen sind es dann zB 45 Sekunden
Danke
Zuletzt geändert von alchy am 29.08.2018, 21:00, insgesamt 1-mal geändert.
Grund: sinnloses Fullquote entfernt
Grund: sinnloses Fullquote entfernt
Vielen DANK
Thorkillar
Thorkillar
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Verzögert eine Variable per Skript ändern / Wie geht das?
thorkillar hat geschrieben: ↑29.08.2018, 18:09Also wie sage ich dem zweiten Skript, starte nach (zb) 28 Sekunden.
Mal versucht zusammenzuklicken?
Ich habe so ein Teil nicht und würde es mir auch nicht kaufen. Eine TTS Ausgabe ist doch weitaus flexibler.
Alternativ lauffähig wäre ein Script, welches sich die Verzögerung aus einer Systemvariable ausliest und den ausgelesenen Wert im Script als Verzögerung zum Setzen einer weiteren Logikvariablen nimmt. Hab ich erst vor kurzen für einen User geschrieben.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 10658
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 320 Mal
- Danksagung erhalten: 501 Mal
Re: Verzögert eine Variable per Skript ändern / Wie geht das?
Ganz ehrlich? Dann würde ich das lieber über den ioBroker umsetzen. Da bist du um Längen flexibler und kannst die Sprachausgabe über die verschiedenste Systeme vom Tablet bis zum Amazon Echo realisieren. Das Ganze basiert in der Regel auf TTS.thorkillar hat geschrieben: ↑29.08.2018, 18:09Eigentlich alles nur Spielerei und nichts lebenswichtige, aber ich will es vernünftig haben.
Im ioBroker gibt es dazu unterschiedliche Adapter, wie alexa2, sayIt oder command2text, um nur einige zu nennen. Kleiner Vorteil des ioBroker am Rande: er kostet nüscht.
Bis dann,
Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 4155
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 78 Mal
- Danksagung erhalten: 301 Mal
Re: Verzögert eine Variable per Skript ändern / Wie geht das?
Ich kann hier Thorsten nur recht geben.
Ich hatte so einen unsäglichen MP3-Gong (das Selbstbau-Teil) und mich nur darüber geärgert.
Seit geraumer Zeit kommen meine Ansagen aus den Google Home Assistants (ioBroker Sayit Adapter) und alternativ aus dem Tablet (ioBroker PAW Adapter).
Im Vergleich zum HM-Teil ist es schon eine Offenbarung, dass man keine MP3s irgendwie zu einer sinnvollen Aussage zusammenbauen muss, sondern einfach einen beliebigen Text eingeben kann, der nachgeplappert wird.
Ich hatte so einen unsäglichen MP3-Gong (das Selbstbau-Teil) und mich nur darüber geärgert.
Seit geraumer Zeit kommen meine Ansagen aus den Google Home Assistants (ioBroker Sayit Adapter) und alternativ aus dem Tablet (ioBroker PAW Adapter).
Im Vergleich zum HM-Teil ist es schon eine Offenbarung, dass man keine MP3s irgendwie zu einer sinnvollen Aussage zusammenbauen muss, sondern einfach einen beliebigen Text eingeben kann, der nachgeplappert wird.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.