Dimmer (mit ungewollt) unterschiedlichen Werten

Moin in die Runde,

ich habe da ein kleines Problem und bräuchte da mal Anregung.

Zur Vorgeschichte. Ich bin mit meinem IPS auf neue Hardware umgezogen. Habe IPS neu installiert und dann die entsprechenden Ordner zurück kopiert. Soweit so gut.

Nun ist aber im Schlafzimmer gleich von Anfang an folgendes Phänomen aufgetaucht.

Die Nachtischlampen hängen an einen ganz normalen Dimmer und gehen (ich habe es hier mal im Script nachgestellt) mit 10 Sekunden RampTime an bzw. langsam aus.

Wenn ich das Script per „EXECUTE“ ausführe geht die Lampe mit 10 Sekunden RampTime an / aus.

Wenn ich das Script per „EREIGNIS“ auf Veränderung des Tasters trigger, geht das Licht sofort OHNE RampTime an / aus! …

Dann habe ich das schon mal per einzellnem Testscript nachgestellt …

Auf der Suche nach „Erleuchtung“ :wink:

Grüße
Thomas


<?



// Scriptaufruf per Ausführen
if( $_IPS['SENDER'] == "EXECUTE" ) {

$dimwert = (GetValue($id_wohnzimmer_dimmer_stehlampe) == 0) ? 1 : 0;

	HM_WriteValueFloat(IPS_GetObject($id_wohnzimmer_dimmer_stehlampe)['ParentID'], "RAMP_TIME", 10);
	IPS_Sleep(25);
	HM_WriteValueFloat(IPS_GetObject($id_wohnzimmer_dimmer_stehlampe)['ParentID'], "LEVEL", $dimwert);
}

// Script Aufruf über Fernbedienung

if ($_IPS['VARIABLE'] == $id_wohnzimmer_fb_key13_kurz) {

	HM_WriteValueFloat(IPS_GetObject($id_wohnzimmer_dimmer_stehlampe)['ParentID'], "RAMP_TIME", 10);
	IPS_Sleep(25);
	HM_WriteValueFloat(IPS_GetObject($id_wohnzimmer_dimmer_stehlampe)['ParentID'], "LEVEL", 1);
}

if ($_IPS['VARIABLE'] == $id_wohnzimmer_fb_key14_kurz) {

	HM_WriteValueFloat(IPS_GetObject($id_wohnzimmer_dimmer_stehlampe)['ParentID'], "RAMP_TIME", 10);
	IPS_Sleep(25);
	HM_WriteValueFloat(IPS_GetObject($id_wohnzimmer_dimmer_stehlampe)['ParentID'], "LEVEL", 0);
}


?>


<?

// Scriptaufruf per Ausführen
if( $_IPS['SENDER'] = "EXECUTE" ) {


Da fehlt schon mal ein Gleich Zeichen.
Ob dies nun die Ursache ist, kann ich aber am Telefon nicht sehen :wink:
Michael

Moin,

em - nee, das ist es nicht. :wink:

Ich habe ja das Script nur erstellt um das noch mal wirklich so auszuprobieren zu ergründen, zum Nachvollziehen.
Es ist wirklich der Unterschied zwischen „Ausfuhren“ und „Triggern“ über Event.

Danke,
Thomas

$dimwert wird im zweiten Teil bei Fernbedienung nicht gesetzt ?!?

Moin,

danke, das ist ja auch nur ein Testscript …

Ich weis nicht wie ich das anders erklären soll. Ich habe dazu mal ein kleines Video gemacht.

https://dzvo.de/wp-content/uploads/2017/01/Dimmer.mov

Für mich nicht nachzuvollziehen.

Umgebung nur Homematic, Vor dem Umzug Win7 32bit, IPS 4.1 Testing nach dem Umzug Windows 10 Pro 64 Bit, aktuellste IPS 4.1 Testing.

Es gibt keine Direktverknüpfungen von der FB zu dem Dimmer. Das steuert alles IPS.

Gibt es weitere Fragen, Infos Anregungen?

An irgendwas muss das doch liegen.

Danke,

Grüße
Thomas

Jetzt hast Du aber den Code im ersten Beitrag wieder geändert, oder? Etwas verwirrend…

Ich vereinfache das noch mal, es geht hier nicht darum ob mit Fernbedienung 13 ein und 14 aus geschaltet wird … völlig egal.
Es geht darum das der gleiche Code zu unterschiedlichen Ergebnissen führt.

Ich habe hier auch extra noch mal ein anderen HM Dimmer genommen.

Und wenn man genau hinschaut sieht man rechts das das Script durch den klick ausgeführt wird. Und dabei nur EIN / AUS geschaltet wird, jedoch wenn das Script Händisch ausgeführt wird, wird die RampTime benutzt.

Hier noch mal die vereinfachte Variante.

<?

	$dimwert = (GetValue($id_wohnzimmer_dimmer_anbauwand) == 0) ? 1 : 0;

	HM_WriteValueFloat(IPS_GetObject($id_wohnzimmer_di  mmer_anbauwand)['ParentID'], "RAMP_TIME", 10);
	IPS_Sleep(25);
	HM_WriteValueFloat(IPS_GetObject($id_wohnzimmer_di  mmer_anbauwand)['ParentID'], "LEVEL", $dimwert);


?>

[video]https://dzvo.de/wp-content/uploads/2017/01/dimmer2.MOV[/video]

Grüße
Thomas

Blöde Frage: du hast nicht zufälligerweise eine direkte Verknüpfung zwischen der Fernbedienung und dem dem Actor?

Gesendet von iPhone mit Tapatalk

Nein,

das Problem ist mir im Schlafzimmer aufgefallen, nur ich möchte zum Testen nicht die Dimmer unterm Bett rauskramen …
und die letzten 3? Jahre hatte ich damit auch keine Probleme, bin nach dem IPS Umzug …

direkt.JPG

Grüße
Thomas

Moin in dir Runde,

immer noch Merkwürdig.

Ich habe mal aus dem Debug des Homematic Socket das rausgezogen.

Wie es aussieht werden in beiden Fällen die Daten korrekt mit RampTIme und Value übertragen …


// Execute
TXT: 13.01.2017 09:19:33.00 |          TRANSMIT RF | <?xml version="1.0" encoding="ISO-8859-1"?><methodCall><methodName>setValue</methodName><params><param><value><string>JEQ0088958:1</string></value></param><param><value><string>RAMP_TIME</string></value></param><param><value><double>10</double></value></param></params></methodCall>
TXT: 13.01.2017 09:19:33.00 |          RECEIVED RF | <?xml version="1.0"?><CR><LF><methodResponse><params><param><CR><LF><HT><value></value><CR><LF></param></params></methodResponse><CR><LF>
TXT: 13.01.2017 09:19:33.00 |          TRANSMIT RF | <?xml version="1.0" encoding="ISO-8859-1"?><methodCall><methodName>setValue</methodName><params><param><value><string>JEQ0088958:1</string></value></param><param><value><string>LEVEL</string></value></param><param><value><double>1</double></value></param></params></methodCall>
TXT: 13.01.2017 09:19:34.00 |          RECEIVED RF | <?xml version="1.0"?><CR><LF><methodResponse><params><param><CR><LF><HT><value></value><CR><LF></param></params></methodResponse><CR><LF>

//Fernbedienung
TXT: 13.01.2017 09:25:12.00 |          TRANSMIT RF | <?xml version="1.0" encoding="ISO-8859-1"?><methodCall><methodName>setValue</methodName><params><param><value><string>JEQ0088958:1</string></value></param><param><value><string>RAMP_TIME</string></value></param><param><value><double>10</double></value></param></params></methodCall>
TXT: 13.01.2017 09:25:12.00 |          TRANSMIT RF | <?xml version="1.0" encoding="ISO-8859-1"?><methodCall><methodName>setValue</methodName><params><param><value><string>JEQ0088958:1</string></value></param><param><value><string>RAMP_TIME</string></value></param><param><value><double>10</double></value></param></params></methodCall>
TXT: 13.01.2017 09:25:12.00 |          RECEIVED RF | <?xml version="1.0"?><CR><LF><methodResponse><params><param><CR><LF><HT><value></value><CR><LF></param></params></methodResponse><CR><LF>
TXT: 13.01.2017 09:25:12.00 |          RECEIVED RF | <?xml version="1.0"?><CR><LF><methodResponse><params><param><CR><LF><HT><value></value><CR><LF></param></params></methodResponse><CR><LF>
TXT: 13.01.2017 09:25:12.00 |          TRANSMIT RF | <?xml version="1.0" encoding="ISO-8859-1"?><methodCall><methodName>setValue</methodName><params><param><value><string>JEQ0088958:1</string></value></param><param><value><string>LEVEL</string></value></param><param><value><double>1</double></value></param></params></methodCall>
TXT: 13.01.2017 09:25:12.00 |          TRANSMIT RF | <?xml version="1.0" encoding="ISO-8859-1"?><methodCall><methodName>setValue</methodName><params><param><value><string>JEQ0088958:1</string></value></param><param><value><string>LEVEL</string></value></param><param><value><double>1</double></value></param></params></methodCall>
TXT: 13.01.2017 09:25:13.00 |          RECEIVED RF | <?xml version="1.0"?><CR><LF><methodResponse><params><param><CR><LF><HT><value></value><CR><LF></param></params></methodResponse><CR><LF>

Komisch das bei der Fernbedienung das zwei mal gesendet wird …

Das zweite Setzen von Level überschreibt die Rampe.
Das ist der Fehler.
Also haut irgendwo dein Script nicht hin.
Michael

Kann ich nicht nachvollziehen. Er setzt vor jedem Level-Kommando ein Ramp-Kommando ab. So ist es - nach meinem Kenntnisstand - auch korrekt. Zumindest klappt das hier bei mir so einwandfrei (in einer 3.x Version).

Die Rampe ist doch nur ein Parameter, die braucht einen Trägerbefehl. Wenn das alles falsch wäre, dürfte es bei Execute auch nicht gehen. Dort funktioniert es aber. Komme momentan leider nicht zum Probieren, sonst hätte ich das mal nachgestellt.

Gruß
Bruno

Laut dem Debug wird bei der FB erst zweimal die Rampe gesetzt, dann kommt ein Level und dann gleich noch einer.
Somit denkt der Aktor beim ersten Level OK mit Rampe dimmen, und beim zweiten Level geht er sofort auf den eingestellten Wert.
Wir bräuchten jetzt mal das ganze Script mit den IDs und ein Screenshot vom logischen Baum.
Eventuell ist da etwas falsch.
Michael

Gerne doch …

Diesmal in Bildern …

Die (eventuell) entscheidene Frage ist, warum wird nur mit einem Tastendruck zweimal das Script ausgelöst? Denn das macht schon Sinn was Michael schreibt … Den Befehl RampTime kann man X-mal senden Entscheident ist der Einschaltbefehl und wenn gesendet wid RampTime 10 / RampTime 10 / Einschalten / Einschalten, ist beim zweiten EInschalten die vorherige RampTime „vergessen/überschieben/durch neuen Befehl“ ersetzt und der Dimmer nimmt die Standard Einstellungen (0,5 Sekunden RampTime).

DANKE! …

Netzwerk Einstellungen …

Der neue Host hat mehrere Netzwerkkarten eingebaut.

Obwohl ich ja schon des Öfteren den Host, die eigentliche VM und auch IPS neugestartet, den Socket kontrolliert usw. habe. Habe ich nun noch einmal die IP Adressen der CCU und des Ereignisservers eingegeben … und was soll ich sagen?

Es geht wieder! Auch das Dimmen über die FB und im Schlafzimmer per Taster.

Ich vermute mal (und das werde ich hier noch einmal Untersuchen) das die IPS Maschine per Namen und unter 2 IP Adressen erreichbar ist. und es deswegen zur „doppelten“ Rückmeldung von der CCU2 zu IPS gekommen ist.
Denn beim „Tastendruck“ meldet ja die CCU an IPS das Event und das wurde wegen der 2 IP Adressen doppelt empfangen.
Denn andersrum beim EXECUTE von IPS zur CCU ist der Dimm Befehl ja nur einmal Ordnungsgemäß ausgeführt worden.

Man man man … - kaum macht man(n) es richtig - schon funktioniert es :slight_smile:

Danke,

Grüße
Thomas