Problemlösung für Raumtemperaturregler gesucht.

Hallo zusammen,

ich teste seit gestern die IPS mit meinem EIB zusammen. Bisher klappt alles prima, es bleibt aber leider ein kleines Problem.

Zur Raumtemperatursteuerung benutze ich Raumtemperaturregler der Fa. Siemens (UP 231). Diese haben folgende Besonderheit: Die Umschaltung der Stati erfolgt lediglich über „Ein“ Befehl. Dies bedeutet, wenn z.B. der Regler von „Nacht“ auf „Tag“ gestellt wird, wir lediglich ein „EIN“ an die Adresse für Tag gesendet. Intern wird dann „Nacht“ wieder ausgeschaltet, dies ist natürlich in der IPS nicht sichtbar und „Nacht“ steht im WebFront weiterhin auf „EIN“.

Ich befürchte mal, dass man dafür ein PHP-Script braucht, ich habe aber leider keinen Blassen Schimmer von PHP. Oder hat eventuell noch jemand einen „einfacheren“ Weg, wie ich die Stati synchron halten kann?

Gruß,

Marcus

Kannst du nicht aktivieren, dass der Status beim Umschalten wieder auf den Bus zuürckgesendet wird? Dann würde es IPS auch mitbekommen.

paresy

Im Prinzip bleibt dir wohl nicht’s anderes übrig als generell bei einer Umschaltung ein Script laufen zu lassen das dir die anderen Stati korrigiert. Ne andere Lösung fällt mir auch nicht ein.

Vorschlag: Du hast ja für die Modi Tag / Nacht usw. jeweils eine Instanz. Jetzt legst unter jeder Instanz ein Ereignis ein das bei Variablenänderung auf EIN / TRUE ausgeführt wird. Dann führst ein Script aus das alle anderen Variablen wieder auf nein biegt (EIB_Switch)…

Danke für die Antworten. Ich hatte das befürchtet. Leider gibt es für diesen Fall keine Rückmeldung. Dann werde ich mich wohl mal mit PHP beschäftigen…

Danke,

Marcus

So, jetzt habe ich ein Ereignis eingefügt „bei Variablenänderung“ und folgendes Script eingefügt:


If $IPS_VALUE == True
{
     SetValueBoolean(31891, false);
}

Leider funktioniert es nicht. Ich habe daher die Zeile:


SetValueBoolean(31891, false);

in ein Script eingefügt und per „Ausführen“ laufen gelassen, dann erhalte ich den Fehler:

Warning: Variable wurde als „Nur-Lesen“ markiert und kann nicht verändert werden…

Über das Web-Interface kann ich die Variable sehr wohl setzen. Auch wenn ich die ObjektId einer Deckenleuchte angebe, funktioniert es nicht (gleicher Fehler), und die kann ich natürlich ein- und ausschalten. Ich finde auch nirgendwo die Möglichkeit irgend eine Variable auf „Lesen und Schreiben“ zu setzen.

Helft mir doch bitte auf die Sprünge…

Gruß,

Marcus

Du musst dazu die EIB-Befehle verwenden, wenn das nicht geht, musst Du mit Hilfsvariablen arbeiten. Variablen die vom System angelegt werden, sind immer read only!

EIB_Switch(31891, false);

Bei IPS ist das mit dem Schalten so, wie beim Auto mit dem Beschleunigen: Du drückst aufs Gaspedal und siehst, wie sich die Tachonadel bewegt. Durch drehen an der Tachonadel selber erreichst Du nichts, daher ist dort auch eine Scheibe vor. Schlägt der Beschleunigungsvorgang fehl, siehst Du auch nicht, dass sich was ändert.
Wenn Du das auf IPS überträgst, hast Du spezielle PHP-Funktionen, um Deine Aktionen auszuführen. Die Statusvariablen sind schreibgeschützt, da diese den tatsächlichen Gerätezustand widerspiegeln sollen.
In diesem Fall müsstest Du wahrscheinlich EIB_Switch(31891, false); benutzen, je nach Instanztyp.

Na super, damit geht es, zumindest im Test-Script…

Habe die Ereignisse jetzt mit EIB_Switch auf die EIB-Instanzen losgelassen und es funktioniert. Kann man eigentlich ein Ereignis testweise triggern? Wenn ich im Web-Frontend einen Wert auf „An“ setze, dann ändert sich nichts, die anderen Werte bleiben auch auf „An“. Muss ich hier erst warten, bis ein Telegramm von meiner Steuerung kommt, um das Ereignis zu prüfen?

Gruß,

Marcus

Alles zurück!!! :smiley:

Man kann es sich doch zusammenklicken! :o

1.) ein Ereignis der EIB-INSTANZ hinzufügen
2.) als Variable eine Variable der anderen Stati hinzufügen und „Bei bestimmtem Wert“ auf „True“ setzen
3.) im nächsten Bild als Funktion „EIB_Switch“ auswählen und Wert auf „False“ setzen

In Worten schielt das Ereignis der EIB-Instanz auf den Value einer anderen EIB-Instanz und setzt dann sein eigenes Value ensprechen um.

Ist etwas „von hinten durch die Brust ins Auge“, oder? :rolleyes:

Gruß,

Marcus