Antworten
Okt 24, 2019 - 16:10
Ok, das habe ich jetzt herausgefunden. Es lag an der Refresh Einstellung.
Aber eine neue Frage kam auf.
- Über ein Button (toggel) wird eine Systemvariable zwischen on / off geschaltet
- Dann gibt es 2 Tasts:
a) Wenn die Variable auf on geht -> soll der Aktor angehen
b) Wenn die Varibale auf off geht -> soll der Aktor ausgehen
a) funktioniert soweit, aber wenn die Variable auf off geht, bleibt der Aktor an
Was ist der Grund hier?
Grüße
Thomas
Aber eine neue Frage kam auf.
- Über ein Button (toggel) wird eine Systemvariable zwischen on / off geschaltet
- Dann gibt es 2 Tasts:
a) Wenn die Variable auf on geht -> soll der Aktor angehen
b) Wenn die Varibale auf off geht -> soll der Aktor ausgehen
a) funktioniert soweit, aber wenn die Variable auf off geht, bleibt der Aktor an
Was ist der Grund hier?
Grüße
Thomas
Okt 24, 2019 - 17:18
Nur zum Verständnis warum schaltest Du den Aktor nicht direkt und zeigst den Status direkt in NEO an, sondern gehst über den Umweg einer Systemvariable? Was soll die Systemvariable genau bewirken außer nur den Aktor zu schalten?
Okt 24, 2019 - 20:24
Ich möchte eigentlich folgende Funktion realisieren:
- Über einen Toggel-Schalter soll ein Aktor für eine bestimmte zeit an sein, d.h. wenn der Schalter
auf on geht, dann so der Aktor für z.B. 30 min an sein und anschliessend der Toggel-Schalter wieder
auf off gehen. Zwischenzeitlich soll es immer möglich sein den Aktor weider abzuschalten.
Wenn man den Aktor direkt schalter, ist dies nicht möglich bzw. weiss ich nicht, wie das gehen sollte.
Daher habe ich etwas mit den Systemvariablen und den Tasks rumgespielt.
Grüße
Thomas
- Über einen Toggel-Schalter soll ein Aktor für eine bestimmte zeit an sein, d.h. wenn der Schalter
auf on geht, dann so der Aktor für z.B. 30 min an sein und anschliessend der Toggel-Schalter wieder
auf off gehen. Zwischenzeitlich soll es immer möglich sein den Aktor weider abzuschalten.
Wenn man den Aktor direkt schalter, ist dies nicht möglich bzw. weiss ich nicht, wie das gehen sollte.
Daher habe ich etwas mit den Systemvariablen und den Tasks rumgespielt.
Grüße
Thomas
Okt 25, 2019 - 16:19
Um solche einfachen Dinge zu lösen würde ich bei Homematic auch die Funktionen des Geräts selber nutzten, die man über ein Datenpunkt einstellen kann. Das Problem ist, dass das NEO Plugin Homematic CCU leider Homematic nur rudimentär unterstützt und die wichtigsten Datenpunkte zum schalten anbietet, aber eben nicht alle Datenpunkte, die notwendig wären um ein Gerät auch komplett mit allen Möglichkeiten, die es bei Homematic gibt, schalten zu können.
Was Du suchst in der Datenpunkt ON_Time, mit diesem wird ein Gerät bei Homematic für x Minuten eingeschaltet.
Du hast also mehrere Möglichkeiten das mit NEO zu realisieren. Eine wäre wenn Du das NEO Plugin Homematic CCU nutzt um Homematic aus NEO zu schalten den Status des Aktors auf den Button zu legen. Des weiteren legst Du Dir ein CCU Programm an, dort hast Du auch die Möglichkeit den Datenpunkt ON_Time anzusprechen und die Einschaltdauer vorzugeben. Das Programm führst Du dann mit einem Button in NEO aus. Dann kannst Du auch jederzeit wieder auf andere Art und Weise ausschalten und der Status sollte korrekt sein in NEO, da ja der direkte Gerätetstatus auf dem Button liegt.
Eine weitere Möglichkeit wäre das NEO Plugin IP-Symcon und IP-Symcon zu nutzten um Homematic anzusteuern. damit hast Du die Möglichkeit auch auch alle von EQ3 dokumentierten Datenpunkte zuzugreifen und diese zu schalten.
Ein Skript zum Einschalten für 30 Minuten sieht z.B. so aus
das schaltet das Gerät für 30 Minuten an, das Homematic Gerät schaltet sich dann selbständig ohne weiteren Befehl wieder nach 30 Minuten aus, das ist eine Grundfunktion eines Homematic Geräts.
So ein Skript legt man dann auf einen Button in NEO um die Lampe für 30 Minuten einzuschalten. Die Lampe lässt sich aber auch jederzeit ganz normal ein und ausschalten. Der Status auf dem Button ist jeweils der Geräte Status des Aktors, dadurch ist dieser aktuell.
Weiterhin könnte man z.B. auch einen Slider nutzten um die Ausschaltdauer aus NEO einzustellen, dann schaltet sich das Gerät nach der eingestellten Dauer über den Slider in NEO selbstständig aus.
Was Du suchst in der Datenpunkt ON_Time, mit diesem wird ein Gerät bei Homematic für x Minuten eingeschaltet.
Du hast also mehrere Möglichkeiten das mit NEO zu realisieren. Eine wäre wenn Du das NEO Plugin Homematic CCU nutzt um Homematic aus NEO zu schalten den Status des Aktors auf den Button zu legen. Des weiteren legst Du Dir ein CCU Programm an, dort hast Du auch die Möglichkeit den Datenpunkt ON_Time anzusprechen und die Einschaltdauer vorzugeben. Das Programm führst Du dann mit einem Button in NEO aus. Dann kannst Du auch jederzeit wieder auf andere Art und Weise ausschalten und der Status sollte korrekt sein in NEO, da ja der direkte Gerätetstatus auf dem Button liegt.
Eine weitere Möglichkeit wäre das NEO Plugin IP-Symcon und IP-Symcon zu nutzten um Homematic anzusteuern. damit hast Du die Möglichkeit auch auch alle von EQ3 dokumentierten Datenpunkte zuzugreifen und diese zu schalten.
Ein Skript zum Einschalten für 30 Minuten sieht z.B. so aus
$id = 12345; // Objekt ID Homematic Gerät
HM_WriteValueFloat($id, "ON_TIME", 60*30); // 30 Minuten AN
HM_WriteValueBoolean($id, "STATE", true);
das schaltet das Gerät für 30 Minuten an, das Homematic Gerät schaltet sich dann selbständig ohne weiteren Befehl wieder nach 30 Minuten aus, das ist eine Grundfunktion eines Homematic Geräts.
So ein Skript legt man dann auf einen Button in NEO um die Lampe für 30 Minuten einzuschalten. Die Lampe lässt sich aber auch jederzeit ganz normal ein und ausschalten. Der Status auf dem Button ist jeweils der Geräte Status des Aktors, dadurch ist dieser aktuell.
Weiterhin könnte man z.B. auch einen Slider nutzten um die Ausschaltdauer aus NEO einzustellen, dann schaltet sich das Gerät nach der eingestellten Dauer über den Slider in NEO selbstständig aus.
Okt 26, 2019 - 07:44
Wie gesagt lass die Systemvariable weg, die brauchst Du nicht wenn es nur darum geht nach x Minuten wieder auszuschalten.
Wenn Du das mit der CCU direkt lösen willst erstelle Dir einfach ein Programm das den Aktor für X Minuten einschaltet und trigger das Programm mit einer virtuellen Remote.
In NEO legst Du die virtuelle Remote auf den Button und als Status den Status des Aktor das ist alles. Dan wird mit einem Druck auf den Button das Gerät angewiesen sich nach X Minuten wieder auszuschalten.
Wenn Du das mit der CCU direkt lösen willst erstelle Dir einfach ein Programm das den Aktor für X Minuten einschaltet und trigger das Programm mit einer virtuellen Remote.
In NEO legst Du die virtuelle Remote auf den Button und als Status den Status des Aktor das ist alles. Dan wird mit einem Druck auf den Button das Gerät angewiesen sich nach X Minuten wieder auszuschalten.
Neuen Kommentar hinzufügen