Aller Anfang ist schwer...

Hallo IPS Gemeinde,

bin absolut neu auf dem Gebiet und habe mich schon tagelang durch das Forum gewühlt. Ich habe mich für das 1-wire System entschieden und zum testen mal einen Stellantrieb, ein Basismodul Opto,einen DS18S20 Temperatursensor besorgt. Die Hardware habe ich problemlos installiert bekommen und ich bekomme im Designer auch die Temperatur angezeigt. Um das ganze jetzt auch programmiertechnisch zu begreifen wäre ich über Hilfe dankbar.
Ich habe mir als erste Aufgabe gesetzt eine einfache Steuerung zu basteln. Heißt, ich stelle eine Temperatur ein und der Stellantrieb soll das versuchen zu regeln. Den Temperatursensor habe ich mit der Variable (Float) „Temperatur“ versehen und das Basismodul mit (Boolean) „An“. Habe mich schon am Scripten versucht, das Ergebnis war deprimierend. Wo fange ich am besten an?

Danke und Grüße Thomas

… geht auch ohne ein Skript: http://www.ipsymcon.de/forum/42773-post8.html

Hallo Thomas,

Du kannst das bspw. dadurch realisieren, dann Du ein Script schreibst, welches jede Minute laeuft (Timer) und dann immer die Temperatur misst und in Abhaengigkeit davon das Modul ein-/ausschaltet.

Welche Version von IPS willst Du denn benutzen, gleich die Version V2? Da kann man naemlich das ganze anders realisieren als wie in der V1.

Hallo Ihr beiden,

Ich würde schon ganz gern die V2 nutzen. Habe mich aber auch in der V1 probiert. Die V2 erscheint mir allerdings leichter zu bedienen.:slight_smile:
Versuche grad das Script für 1-wire anzupassen.
Die Hardware hab ich auch in der V2 zum laufen bekommen.

Wird so n Schuh draus

TMEX_SetDevice(31976,<<30,3245, 6 * 60)false;   // E-Bad Heizkörper für 6 min. einschalten

Grüße Thomas

… jo, fast:

wobei die Soll-Temperatur hier geändert werden muss: $temp < 22
und die Ein-Schalt-Zeit hier: IPS_SetScriptTimer($IPS_SELF, 6 * 60);

$temp = GetValue(36481);
//echo "Temp: $temp
";

if ($temp < 22){
	IPS_SetScriptTimer($IPS_SELF, 6 * 60);
	
	 // hier folgen Befehle (zum EIN-Schalten)
	
}

if ($IPS_SENDER == "TimerEvent"){
   IPS_SetScriptTimer($IPS_SELF, 0);
   
   // hier folgen Befehle (zum Aus-Schalten)
   
}

MST

Wenn ich das ganze aber nicht zeitabhängig machen möchte, sondern das sich die Heizung wieder abschaltet wenn die Temperatur über dem Wert liegt? Muss ich dann den TMEX_SetDevice Befehl nehmen?

Grüße Thomas

… das o.g. Skript hat hat nichts mit 1-Wire zu tun:

[b]// hier folgen Befehle (zum EIN-Schalten)

// hier folgen Befehle (zum Aus-Schalten)[/b]

MST

PS:

sondern das sich die Heizung wieder abschaltet wenn die Temperatur über dem Wert liegt?

if ($temp > 23) - oder so ähnlich …

So,

ich bräuchte nochmal einen Denkanstoss,

wie schalte ich denn ganz einfach ohne SchnickSchnack den 2405 ein?
Mit diesem Code funktioniert es nicht.

TMEX_SetDevice(12871 /*[TMEX\DS2405]*/,710000002D240605);

Sorry krieg es allein nicht zum laufen…

Danke für die Hilfe…

Grüße Thomas

Also laut Befehlsreferenz aus der V1 (siehe hier: TMEX F05 TogglePin (DS2405 - IP-Symcon )

TMEX_F05_TogglePin(InstanceID: Integer): Boolean

jup, danke

jetzt weiß ich wie ich weiter vorgehen muß.

Grüße Thomas