Ablaufplan (6.0+)

FRAGE: Warte auf WERT?? bei Integer Variablen

Hallo zusammen,

ich habe zwei integer Variablen die beide verschiedene Profile zugeordnet haben. Bei der einen Variablen wird mir die Aktion „Warte auf Wert“ angeboten, bei der anderen nicht.

*Frage: *
Beides sind Integer Variablen. Ist denn „Warte auf Wert“ nicht in jedem Fall eine mögliche Aktion, in Abhängigkeit des zugeordneten Profils?

Danke und Gruß
Dirk

Hab ggf. ein kleines Problem gefunden. Und zwar im Zusammenhang mit der Pro Konsole am Mac.
Lege ich einen neuen Ablaufplan an, dann ziehe ich den idR nach unten um das Fenster oben/unten zu teilen für mehr Übersicht.
Dann lege ich die Aktion im Ablaufplan an (hier in der unteren Hälfte des geteilten Fensters).
ABER
er zeigt mir die Aktion nicht an wenn sie im unteren Fenster offen ist.
Angelegt wird die Aktion aber wie ich am Pfeil beim Ablaufplan im Objektbaum sehe.
Mache ich das Fenster zu und den Ablaufplan nochmal auf ist es da und auch noch da wenn ich den Ablaufplan wieder in ein unteres Fenster ziehe.

Denke das ist kaum gewünscht.

Cheers Seppm

So, das meiste sollte zum nächsten RC gefixt sein.

@DerGolo @syncmaster Mögt ihr mir mal die Profile der Variablen verraten, die kein „Warte auf Wert“ unterstützen? Ich vermute, das steht damit im Zusammenhang…

@syncmaster Kannst du das „kaputtgehen“ des kopierten Ablaufplans nachstellen? Wenn ja, magst du mir das Original mit deiner settings.json und einer kleinen Anleitung zum Nachstellen schicken?

@seppm Was genau wird hier nicht angezeigt? Kannst du die Aktionen gar nicht erstellen? Kannst du vielleicht ein paar Screenshots posten?

Bool. Ist vermute aber, dass es nicht am Profil liegt, sondern daran, dass die Variable auf die ich warten möchte, auch die selbe ist, die den Plan auslöst.

Da sollte eigentlich kein Zusammenhang bestehen. Meine Vermutung wäre halt das bei dem Profil irgend etwas anders ist… Sonst nehme bei der Variablen sonst gerne mal das Profil raus und schaue, ob du dann eine „Warte auf Wert“-Aktion hast. Bei Boolean-Variablen ohne Profil hat es bei mir zumindest funktioniert.

Das scheint in die richtige Richtung zu gehen. Ich habe das Profil entfernt, dann ist das Standard-Profil eingesprungen. Mit beiden geht es nicht. Wenn ich aber eine neue Variable anlege, die kein Profil hat, dann gehts.

Danke! Ich habs gefunden! Fix kommt zum nächsten RC

1 „Gefällt mir“

Hallo @Dr.Niels ,

beim Versuch einen Fehler im Ablaufplan zu reproduzieren habe ich in Version 6.112 einen nicht abgefangenen Fehler erhascht.

Viele Grüße
Dirk

Hallo Niels,

in der 6.112 habe ich wild probiert und habe es nicht mehr kaputt bekommen. Also entweder bekomme ich es einfach nicht reproduziert oder der Fehler existiert nicht mehr.

Das ist wie ich verstanden habe ja bereits erledigt, Problem gefunden

Viele Grüße
Dirk

Huhu,

hab einen nicht abgefangenen Fehler

Es gab einen nicht abgefangener Fehler. Bitte kontaktieren Sie Symcon mit der folgenden Fehlermeldung und einer Beschreibung, wie Sie den Fehler ausgelöst haben
TypeError: Cannot read property 'toString' of null
    at HTMLElement._onVariableIDChanged (http://192.168.146.3:3777/console/src/console-app.js:27820:1189)
    at Object.runMethodEffect [as fn] (http://192.168.146.3:3777/console/src/console-app.js:3803:151)
    at runEffects (http://192.168.146.3:3777/console/src/console-app.js:3393:248)
    at HTMLElement._propertiesChanged (http://192.168.146.3:3777/console/src/console-app.js:4245:1)
    at HTMLElement._flushProperties (http://192.168.146.3:3777/console/src/console-app.js:2736:231)
    at HTMLElement._invalidateProperties (http://192.168.146.3:3777/console/src/console-app.js:4146:60)
    at runNotifyEffects (http://192.168.146.3:3777/console/src/console-app.js:3458:80)
    at HTMLTemplateElement._propertiesChanged (http://192.168.146.3:3777/console/src/console-app.js:4246:17)
    at HTMLTemplateElement._flushProperties (http://192.168.146.3:3777/console/src/console-app.js:2736:231)
    at HTMLTemplateElement._invalidateProperties (http://192.168.146.3:3777/console/src/console-app.js:4146:60)

Ich hab als auslösende Variable einen Integer genommen mit Wert 0 und auf „Auktualisierung“ gestellt sowie „Automation ausführen“ gewählt.

Nun möchte ich bei Aktion genau die gleiche Integer Variable bei einer „Wenn… Dann“ nutzen.

Es erscheint nach auswahl der Variable sofort der o.g. Fehler.

Noch etwas. Wenn ich eine „wenn… dann.“ Funktion nutze, kann ich nach auswahl einer Variablen nur einen Vergleich (bspw größer> oder klein<) anstellen, wenn ich manuell einen wert eingebe, ich möchte aber eine Variable prüfen. Geht das nicht?

Grund: ich möchte, wenn mein E-Auto eine bestimmte Ladekapazität überschreitet, die Ladung unterbrechen. Das kann mal 60% sein oder 90%…

Viele Grüße

Da gibt es mehrere Arten der Bedingungen. Ich meine mich daran zu erinnern, dass es eine Version gibt “… mit einer anderen Variablen vergleichen…”. Sicher bin ich mir nicht, jedoch noch einmal alle Möglichkeiten mal durchsehen, lohnt glaube ich.

Sonst gibt es aber auch noch „… warte bis Variable einen Wert erreicht hat…“. Damit kannst Du Dir vielleicht auch etwas basteln.

Gruss Dirk

Hatte gestern beim Anlegen eines Ablaufplanes noch einen nicht abgefangenen Fehler.
Leider weiss ich nicht mehr genau was ich gemacht habe.
Cheers Seppm

Unter einer Kategorie lege ich einen neuen Ablaufplan an.
Öffne ihn. Ziehe ihn in der Pro Konsole auf ein neues Fenster (also teile das Fenster).
Füge Auslöser hinzu. Irgendeine Variable.
Problem ist immer das Gleiche:
Der Auslöser wird angelegt, im Objektbau auch angezeigt, aber nicht im Ablaufplan angezeigt. Siehe Screenshot.

Ist komplett reproduzierbar seit mindestens 1 Woche so, vorher weiss ich nicht.
Aktuellstes Symcon und SymOS. Aktuellste ProKonsole (alles auf Testing) am Mac.

cheers Seppm

Hallo
Ich hab da eine Frage .Habe einen Ablaufplan der auf "Wertänderung"ausgeführt wird , wie schaffe ich das dieser erst nach einer bestimmten Uhrzeit ausgeführt wird?(Rollo`s)mit „Bedingung mehrfach“ geht es ja nicht da wenn die änderung der Auslöse Variable ja vor der Uhrzeit sein kann und dann wird es gar nicht ausgefürt.Es müsste ja so was wie warte auf Uhrzeit > sein.
Hat da einer eine Lösung für mich?

Ich befürchte, dass ich deinen Wunsch nicht verstehe. Wenn du einfach nach einer bestimmten Uhrzeit prüfen willst, kannst du doch eine Wenn/Dann Bedingung im Ablaufplan nehmen, oder?

paresy

Beispiel:
Du möchtest z.B., dass Deine Aktion eine Lampe
durch einem Bewegungsmelder nur dann ausgeführt wird, wenn es Tag ist.

Es gibt mehrere Möglichkeiten. Eine davon wäre:

Dafür hast Du die IPS Location Funktion mit der Variablen: „Es ist Tag“. Dann macht Du in den Aktionen eine Wenn … dann mit mehreren Bedingungen.
Wenn “Es ist Tag” true ist UND mution vom Bewegungsmelder true ist, dann schalte Lampe ein.

So kannst Du mit z.B. einen Wochenplan Dir eine Hilfsvariable so schalten wie Du es möchtest und anstatt der “Es ist Tag” verwenden.

Gruß Dirk

@syncmaster @kris @seppm Danke für die Meldung vom toString-Fehler! Fix ist unterwegs!

@seppm Danke für die Beschreibung! Damit konnte ich den Fehler fixen. Kommt also zur nächsten Version.

1 „Gefällt mir“

Danke für die Antwort.
Werde das noch ein wenig genauer beschreiben:
benutze bei der Location Funktion 2 offset’s um Rollos auf und zu zu fahren meim rauf möchte ich das die Rollo’s nicht vor 8:00 Uhr geöffnet werden.
Mein erster Versuch war der obrige im Ablaufplan Auslöser auf änderung des offsets gesetzt und Im ablaufplan Uhrzeit verglichen auf > 8:00 „Bedingung mehrfach“ das geht aber nicht da nicht nachgeholt wird wenn erst der auslöser kommt es aber nicht 8:00 ist.
Ich weiß ja im forraus nicht welcher Zustand als erstes eintritt.

Habe das gestern so ähnlich gelöst wi „Dirk“ angesprochen hat mit 2 Hilfsvariablen:
erstens bei änderung offset setzen der ersten Variable und dann jeden tag 8:00Uhr setzen der 2 Variable dann ablaufplan alle 1 minute ausführen mit den weiteren Bedingung Variable 1 und 2 am ende im Ablaufplan die Variablen 1 und 2 zurücksetzen.Das Funktioniert.
Ist ein bischen aufwändig vieleicht gibt es dafür ja auch eine andere Lösung die ich übersehe.

Denis

Vom Ansatz wäre das Vorgehen auch meine Empfehlung. Du könntest aber ein wenig „optimieren“ und die Hilfsvariablen rausnehmen, wobei ich unsicher bin, ob das tatsächlich besser oder einfach eine Geschmacksfrage ist.
Für deinen Abblaufplan richtest du zwei Auslöser ein, einmal zyklisch auf 8:00 Uhr und einmal bei Änderung des Offsets. Dann stellst du per Aktion „Bedingung“ oder „Bedingung (mehrfach)“, dass es auch wirklich schon nach 8 ist und die Rollos nicht schon längst gefahren sind. Kommen die Bedingungen durch, dann kannst du dein Rollo wie gewünscht fahren.

Yep, mit der heutigen Version wird der Auslöser auch updated im Ablaufplan wenn man ihn sofort nach Erstellung auf ein geteiltes Fenster zieht. Danke!
cheers Sepp