Das ist genau so. ProgramExecute ist wie das manuelle Ausführen eines Programms - der dann-Zweig wird unabhängig von der Bedingung immer ausgeführt.Herbert_Testmann hat geschrieben:Könnte es sein, dass das selbe bei einem Aufruf des Programms aus einem anderen Script erfolgt?
Die Logik von WebUI - Programmen
Moderator: Co-Administratoren
- anli
- Beiträge: 4326
- Registriert: 10.06.2009, 14:01
- Wohnort: 20 Min. nördlich von Hannover und bei Bremen
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 23 Mal
- Kontaktdaten:
Re: Die Logik von WebUI - Programmen
Herzliche Grüße, anli
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
-
- Beiträge: 287
- Registriert: 27.04.2009, 13:46
Re: Die Logik von WebUI - Programmen
Ich habs nicht probiert, und Deine jetzige Lösung klappt ja, aber wenn Du in dem zweiten Programm sowieso einen Script hast, dann solltest du darin prüfen, ob die Tür noch offen ist und nur dann die Mail schicken.
-
- Beiträge: 2268
- Registriert: 22.06.2012, 17:46
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Tirol/Austria
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 2 Mal
Re: Die Logik von WebUI - Programmen
Hi,
Kannst du mir eventuell sagen, wo ich so was online nachlesen bzw. mich einlernen kann oder auch welches Buch man dafür kaufen kann (für Homematic Script)?
Viele Grüße
Chris
das wäre auch mir die liebste Lösung. Leider kann ich nicht scripten und die Anleitungen von Homematic dazu (Anleitungen zum Script) sind zu allgemein (ohne Befehle und deren Auswirkung im Script).matheversum hat geschrieben:Ich habs nicht probiert, und Deine jetzige Lösung klappt ja, aber wenn Du in dem zweiten Programm sowieso einen Script hast, dann solltest du darin prüfen, ob die Tür noch offen ist und nur dann die Mail schicken.
Kannst du mir eventuell sagen, wo ich so was online nachlesen bzw. mich einlernen kann oder auch welches Buch man dafür kaufen kann (für Homematic Script)?
Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3
-
- Beiträge: 287
- Registriert: 27.04.2009, 13:46
Re: Die Logik von WebUI - Programmen
Buch gibts wohl nicht.
Hast Du Dir die Anleitung und die Beispiele http://www.homematic.com/index.php?id=156 schon mal angeschaut?
Leider ist homematic-script nicht gerade eine gute Sprache, also nicht sehr fehlertolerant oder sondern eher fehlerignorant, sprich, wenn man sich vertut, passier gar nix, sondern das script macht einfach nix.
Debuggen ist auch nicht außer wie vor 30 Jahren mit testausgaben.
Die Methode ist von klein nach groß im Testfenster (unter script testen) vorgehen, immer wieder Testausgaben der Variablen in einem zweiten Terminal ein tail-f auf das logfile 'tail -f /var/log/messages'.
Wenns dann läuft, die Testausgaben auskommentieren.
Also lerning by doing und in den hier geposteten scripts spicken, da aber jeder seinen Stil hat, alles etwas kritisch betrachten (was natürlich für einen Anfänger schwer ist)
Wichtigste Regel im Script: Längere arithmetische und logische Ausdrücker immer Klammern, es gelten nicht die üblichen vorrangregeln!
Ansonsten funktioniert das etwas so:
Für den Test schreibst du etwa
Das Ergebnis sollte dann bei geschlossen etwa so aussehen
Hast Du Dir die Anleitung und die Beispiele http://www.homematic.com/index.php?id=156 schon mal angeschaut?
Leider ist homematic-script nicht gerade eine gute Sprache, also nicht sehr fehlertolerant oder sondern eher fehlerignorant, sprich, wenn man sich vertut, passier gar nix, sondern das script macht einfach nix.
Debuggen ist auch nicht außer wie vor 30 Jahren mit testausgaben.
Die Methode ist von klein nach groß im Testfenster (unter script testen) vorgehen, immer wieder Testausgaben der Variablen in einem zweiten Terminal ein tail-f auf das logfile 'tail -f /var/log/messages'.
Wenns dann läuft, die Testausgaben auskommentieren.
Also lerning by doing und in den hier geposteten scripts spicken, da aber jeder seinen Stil hat, alles etwas kritisch betrachten (was natürlich für einen Anfänger schwer ist)
Wichtigste Regel im Script: Längere arithmetische und logische Ausdrücker immer Klammern, es gelten nicht die üblichen vorrangregeln!
Ansonsten funktioniert das etwas so:
Code: Alles auswählen
object tfk = dom.GetObject("BidCos-RF.xEQ0999999:1.STATE");
if ( tfk.Value() ) {
hier das bisherige Script
}
Code: Alles auswählen
object tfk = dom.GetObject("BidCos-RF.xEQ0999999:1.STATE");
WriteLine("TFK:"#tfk.Value());
if ( tfk.Value() ) {
WriteLine("EMail schicken.");
}
-
- Beiträge: 2268
- Registriert: 22.06.2012, 17:46
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Tirol/Austria
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 2 Mal
Re: Die Logik von WebUI - Programmen
Hi,
ja, die Links hatte ich mir schon durchgelesen. Ist aber wie gesagt sehr allgemein gehalten.
Schön wäre, wenn alle möglichen "Befehle" und deren Auswirkung angegeben wären.
Aber danke schon mal für die kleine Einführung. Also werde ich mich einfach mal spielen und in den diversen Scrips nachschauen.
Werde ich schon auch noch schaffen .
Viele Grüße
Chris
ja, die Links hatte ich mir schon durchgelesen. Ist aber wie gesagt sehr allgemein gehalten.
Schön wäre, wenn alle möglichen "Befehle" und deren Auswirkung angegeben wären.
Aber danke schon mal für die kleine Einführung. Also werde ich mich einfach mal spielen und in den diversen Scrips nachschauen.
Werde ich schon auch noch schaffen .
Viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3
-
- Beiträge: 2268
- Registriert: 22.06.2012, 17:46
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Tirol/Austria
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 2 Mal
Re: Die Logik von WebUI - Programmen
Hi,
habe das letzte PDF-File nicht heruntergeladen (Datenpunkte). Jetzt gibt es die ganzen PDF's nicht mehr.
Über goo... auch nichts gefunden.
Hat jemand das letzte PDF (Datenpunkte) und kann es mir mailen???
Danke und viele Grüße
Chris
habe das letzte PDF-File nicht heruntergeladen (Datenpunkte). Jetzt gibt es die ganzen PDF's nicht mehr.
Über goo... auch nichts gefunden.
Hat jemand das letzte PDF (Datenpunkte) und kann es mir mailen???
Danke und viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3
- anli
- Beiträge: 4326
- Registriert: 10.06.2009, 14:01
- Wohnort: 20 Min. nördlich von Hannover und bei Bremen
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 23 Mal
- Kontaktdaten:
Re: Die Logik von WebUI - Programmen
Hallo.
SChreib' einfach mal an eQ3/ELV, dass die merken, wie grottig die neue Seite momentan ist. Die Toolchains gibt es auch nicht mehr... Wenn's nicht hilft, meld Dich noch einmal.
SChreib' einfach mal an eQ3/ELV, dass die merken, wie grottig die neue Seite momentan ist. Die Toolchains gibt es auch nicht mehr... Wenn's nicht hilft, meld Dich noch einmal.
Herzliche Grüße, anli
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
-
- 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: Die Logik von WebUI - Programmen
Manches begreift man ja leider erst, wenn man es mehrfach mit anderen Worten erklärt bekommt und dann vielleicht noch selbst ausprobiert.
Deshalb bitte ich um Bestätigung der folgenden Formulierung:
Die Bedingungsoptionen "Bei Auslösung" und "Bei Änderung" bedeuten einzig und allein, dass dann das gesamte Programm angestossen wird.
Findet das Program dann bei der Abarbeitung eine andere Bedingung, die gerade erfüllt ist, aber (bei Option "Bei Änderung" ) gerade keine Änderung erfährt, wird trotzdem darauf reagiert.
Anders ausgedrückt:
Stößt Bedingung 1 die Abarbeitung eines Programmes erst einmal an, ist das Verhalten des Gesamtprogrammes so, als ob in den anderen Bedingungen "nur prüfen" steht.
???
Ursache dieser Erkenntnis:
Ich habe eine Rolladensteuerung, die den Rolladen über eine Systemvariable Tag/Nacht fährt.
Wenn Systemvariable Tag/Nacht auf Tag (bei Änderung)
Dann Rolladen auf 100%
Sonst Wenn Systemvariable Tag/Nacht auf Nacht (bei Änderung)
Dann Rolladen auf 100%
Jetzt wollte ich den Rolladen auch per Taste an einem Wired Modul fahren, also auch mal tagsüber runter. Habe also die Taste verODERt in die Bedingung eingebaut. Ergebnis: der Rollo fährt runter, so lange die Taste gedrückt wird und fährt beim Loslassen wieder hoch - obwohl die Systemvariable sich nicht ändert (bei Änderung).
Die Taste in ein eigenes Programm - schon funktioniert's.
Deshalb bitte ich um Bestätigung der folgenden Formulierung:
Die Bedingungsoptionen "Bei Auslösung" und "Bei Änderung" bedeuten einzig und allein, dass dann das gesamte Programm angestossen wird.
Findet das Program dann bei der Abarbeitung eine andere Bedingung, die gerade erfüllt ist, aber (bei Option "Bei Änderung" ) gerade keine Änderung erfährt, wird trotzdem darauf reagiert.
Anders ausgedrückt:
Stößt Bedingung 1 die Abarbeitung eines Programmes erst einmal an, ist das Verhalten des Gesamtprogrammes so, als ob in den anderen Bedingungen "nur prüfen" steht.
???
Ursache dieser Erkenntnis:
Ich habe eine Rolladensteuerung, die den Rolladen über eine Systemvariable Tag/Nacht fährt.
Wenn Systemvariable Tag/Nacht auf Tag (bei Änderung)
Dann Rolladen auf 100%
Sonst Wenn Systemvariable Tag/Nacht auf Nacht (bei Änderung)
Dann Rolladen auf 100%
Jetzt wollte ich den Rolladen auch per Taste an einem Wired Modul fahren, also auch mal tagsüber runter. Habe also die Taste verODERt in die Bedingung eingebaut. Ergebnis: der Rollo fährt runter, so lange die Taste gedrückt wird und fährt beim Loslassen wieder hoch - obwohl die Systemvariable sich nicht ändert (bei Änderung).
Die Taste in ein eigenes Programm - schon funktioniert's.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
Re: Die Logik von WebUI - Programmen
Richtig. Nur prüfen prüft nur, auslösen bei Änderungen löst das Programm bei Änderung aus, ansonsten verhält es sich wie "nur prüfen"
- Herbert_Testmann
- Beiträge: 11062
- Registriert: 17.01.2009, 11:30
- Danksagung erhalten: 7 Mal
Re: Die Logik von WebUI - Programmen
hallo
ich habe nur schnell die ersten 3 Absätze gelesen, nicht das Beispiel. Du hast das sehr gut verstanden.
ich habe nur schnell die ersten 3 Absätze gelesen, nicht das Beispiel. Du hast das sehr gut verstanden.
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig