IPSShadowing - eine Beschattungssteuerung

SO, erstmal ein riesen RESPEKT,
deine Scripte funktionieren einwandfrei mit 1-wire ( 13 rollläden laufen seit gestern ohne das shutter control! ).
Aus externen Script fahren geht auch.( gleich die Frage, kann ich von da auch sagen, fahre auf 75% ?):loveips:

Da kann ich helfen

Funktioniert einwandfrei

z.B. WIKI

Welche Hardware verwendest Du?

SO, erstmal ein riesen RESPEKT,
deine Scripte funktionieren einwandfrei mit 1-wire ( 13 rollläden laufen seit gestern ohne das shutter control! ).

:slight_smile:

gleich die Frage, kann ich von da auch sagen, fahre auf 75% ?)

75%, 50% und 25% geeht, alle anderen noch nicht - bei der nächsten Version - dauert aber noch…


IPSShadowing_MoveByControl($ControlID, c_MovementId_75);
IPSShadowing_MoveByControl($ControlID, c_MovementId_50);
IPSShadowing_MoveByControl($ControlID, c_MovementId_25);

Sauber,
was mir noch aufgefallen ist, im Loggingfenster steht immer manuelles Öffnen von… selbst wenn es durch die Automatik (Zeit) geöffnet wird. BUG?

ja, ist mir auch vor kurzem aufgefallen - „IPSShadowing_Logging.ips.php“, Zeile 18 und 20…

Seit heute Homematic.
Kannst Du mal bitte schauen ob die level Werte Deiner HM Instanzen ebenfalls „verdreht“ sind.

Gruss
B71

Hallo Bernd,

Bei Homematic ist bei mir alles normal angeschlossen - sprich wenn ich im HM WebInterface „Auf“ drücke fährt die Jalousie hinauf, beim manuellen Wandschalter ebenfalls.

Wenn die HM ganz oben ist meldet diese „1.0“ (100%) zurück, das wird intern auf 0 umgerechnet, umgekehrt genauso - siehe File „IPSShadowing_ChangeSettings.ips.php“

Ansteuerung analog, siehe Funktion:


	// ----------------------------------------------------------------------------------------------------------------------------
   function IPSShadowing_MoveByHardwareHomematic($DeviceId, $DevicePath, $Command) {
	   $InstanceId = get_InstanceIDByDevicePath($DevicePath);
  		if ($InstanceId===false) {
     		IPSLogger_Wrn(__file__, "Device $DevicePath could NOT be found to activate Shadowing for a 'Homematic' Device");
  		} elseif ($Command==c_MovementId_Up) {
     		IPSLogger_Dbg(__file__, "Move Up of Shadowing Device $DevicePath: call HM_WriteValueFloat($InstanceId , 'LEVEL', 1)");
			HM_WriteValueFloat($InstanceId , 'LEVEL', 1);
  		} elseif ($Command==c_MovementId_Down) {
     		IPSLogger_Dbg(__file__, "Move Down of Shadowing Device $DevicePath: call HM_WriteValueFloat($InstanceId , 'LEVEL', 0)");
			HM_WriteValueFloat($InstanceId , 'LEVEL', 0);
		} else {
     		IPSLogger_Dbg(__file__, "Stop of Shadowing Device $DevicePath: call HM_WriteValueBoolean($InstanceId , 'STOP', true)");
			HM_WriteValueBoolean($InstanceId , 'STOP', true);
		}
	}

Versuch mal eine manuelle Ansteuerung aus IPS:

Das ist ja der Punkt.
Wenn bei mir AUF ist steht auch 0% in der Level Variable und eine Umrechnung ist nicht nötig.

Auch die Zeiten für das hoch und runter fahren in der HM Konfiguration sind korrekt (hoch etwas länger) und stimmen mit der Logik, zumidest meiner, überein.

Also muss ich eventuell nur die 1 und die 0 im Script tauschen und dann könnte es funktionieren, oder ?

Gruss
B71

Sorry…aber ich stehe echt auf dem Schlauch…too much php for me…

Wie müsste eine komplette Change Settings aussehen damit dieses Verhalten invertiert ?
Ist das überhaupt möglich ?

Gruss
B71

OK, back to the roots:

Homematic Web GUI - „Auf“ drücken - fährt das Ding dann hinauf ???

mit lan adapter hat man nur eine „testen“ taste in der hm software.

gruss b71

ok, dann verdrehe mal auf die Schnelle die Ansteuerung in der Funktion:


	// ----------------------------------------------------------------------------------------------------------------------------
   function IPSShadowing_MoveByHardwareHomematic($DeviceId, $DevicePath, $Command) {
	   $InstanceId = get_InstanceIDByDevicePath($DevicePath);
  		if ($InstanceId===false) {
     		IPSLogger_Wrn(__file__, "Device $DevicePath could NOT be found to activate Shadowing for a 'Homematic' Device");
  		} elseif ($Command==c_MovementId_Up) {
     		IPSLogger_Dbg(__file__, "Move Up of Shadowing Device $DevicePath: call HM_WriteValueFloat($InstanceId , 'LEVEL', 0)");
			HM_WriteValueFloat($InstanceId , 'LEVEL', 0);
  		} elseif ($Command==c_MovementId_Down) {
     		IPSLogger_Dbg(__file__, "Move Down of Shadowing Device $DevicePath: call HM_WriteValueFloat($InstanceId , 'LEVEL', 1)");
			HM_WriteValueFloat($InstanceId , 'LEVEL', 1);
		} else {
     		IPSLogger_Dbg(__file__, "Stop of Shadowing Device $DevicePath: call HM_WriteValueBoolean($InstanceId , 'STOP', true)");
			HM_WriteValueBoolean($InstanceId , 'STOP', true);
		}
	}

und auch die Rückmeldung in IPSShadowing_ChangeSettings:


   case c_DeviceType_Homematic:
	IPSShadowing_MoveByEvent($DeviceId, $DeviceLevel*100);
	break;

Jetzt läuft es.
Danke.

Moin,
erstmal echt Hut ab, mächtiges Werkzeug…

Sooo, meine Frage, hab leider nix gefunden, beim „Überfliegen“ des Threads:

Wieso kann ich die Temperatursteuerung nicht im Webfront einschalten? Ist ein wenig umständlich, immer über die console das einzuschalten…
Und immer wenn man einen Button (Manuell oder Automatik) auswählt setzt er die Temp steuerung dann ja zurück und wieder in dei Console…
Auch ein Zeitmodul wäre echt nicht verkehrt, damit man alles über eine Funktion ansteuern kann, auch die erweiterung in eine richtige rolladensteuerung, fände ich nicht schlecht, also fahre um xx:xx Uhr auf XX %…
Markiesensteuerung wäre auch nicht schlecht…

Aber ansonsten, hat das modul alles, was man benötigt…

Ach ja, die Einstellungsseite, bei mir ist leer, ist das so gewollt? Hab deshalb schon 2 mal komplett neu installiert, weil ich dachte, das ich was falsch gemacht habe…

korny

Hallo Andreas,
hätte da auch noch mal 2 Wünsche.

  1. Rollo bei Temperatur-Automatik zb. auf 90%
  2. Temperaturanzeige im jeweiligem Raum der Rollosteuerung.

Ps. Hast Du noch mal an die Wochentimer gedacht?

Danke.

Hallo Andreas,

Deine Steuerung ist wirklich der Hammer. Sehr umfangreich, bis man da mal durchgestiegen ist,das dauert eine Weile.

Verstehe ich das oben stehende Zitat richtig, dass Du bei Änderung der Level-Variablen ein Script hinterlegt hat, die eine Funktion Deiner Steuerung aufruft, damit die Änderungen übernommen werden?

Und dann habe ich noch einige Fragen, die sich mir noch nicht erschließen:

[ul]
[li]Ich kann für jeden Rolladen eine Zeit für Tagesbeginn und Ende festlegen. Das Tagesprogramm beginnt also zum Zeitpunkt Tagesbeginn, und das Nachtprogramm zum Tagesende?
[/li][li]Kann man für das Tagesprogramm einen anderen Wert als „auf“ oder „zu“ einstellen? Ich hätte hier gerne einen Wert je Jalousie umgesetzt oder einen Prozentualen Wert für alle Jalousien.
[/li][/ul]

Siehst Du eine Möglichkeit das einzubauen, oder zu erklären wie das zu integrieren ist.

Dem Wunsch je Device eine Innentemperatur mitzugeben schließe ich mich hiermit auch mal an. Das denke ich ist eine gute Idee, sonst gehen Tagsüber die Rolläden auch auf der Nordseite runter, wo gar keine Sonne hinkommt.

Danke und Gruß
Christian

Verstehe ich das oben stehende Zitat richtig, dass Du bei Änderung der Level-Variablen ein Script hinterlegt hat, die eine Funktion Deiner Steuerung aufruft, damit die Änderungen übernommen werden?

ja, das läuft alles über das Script IPSShadowing_ChangeSettings.ips.php. Dieses Script ist der Einstiegspunkt für das WebFront und Rückmeldungen der Hardware (derzeit nur Homematic).

Kann man für das Tagesprogramm einen anderen Wert als „auf“ oder „zu“ einstellen? Ich hätte hier gerne einen Wert je Jalousie umgesetzt oder einen Prozentualen Wert für alle Jalousien.

Zur Zeit noch nicht, werd mir da noch was überlegen, wie man das manuell über die Callback Methoden ansteuern kann.

Mir sind in letzter Zeit auch erst einige Dinge aufgefallen, die einem erst in der Praxis so richtig klar werden - wie z.B. an heißen Tagen spricht zwar die Temperatur Steuerung brav an, allerdings ist es auch am Abend noch so warm, dass sich die Jalousien nicht wieder öffnen, wenn man es erwarten würde (noch keine Dämmerung, aber Sonne schon fast weg)…

Bin derzeit mit meiner Freizeit etwas eng dran, große neue Features wird es also kurzfristig nicht geben, werde allerdings versuchen die Einstiegspunkte zu dokumentieren.

@korni - der Button der Temperatursteuerung, den Du meinst zeigt nur an, dass die Temperatur Steuerung bereits aktiviert wurde an dem entsprechenden Tag. Generelles Ein-/Ausschalten des Temperatur Programmes erfolgt über das ensprechende Programm!

Moin…
ich bin mir nicht ganz sicher, ob ich einen fehler bei den settings habe, oder ob es ein „genereller“ Fehler ist…

Also, wenn ich von Abdunkeln auf beschattung fahre, bzw. von Beschattung auf Abdunkeln fahre, fährt die Rollade nicht mehr in die entsprechende position, soll heissen, die beschattung wäre dann bei ca. 50%…
Also, er fährt die Rolladen nicht komplett runter und somit fährt diese entsprechend weiter hoch…
Hoffe ich hab das halbwegs verständlich rübergebracht…

korny

Ich versteh nur Bahnhof ??