Hmip-FSM per Script hoch-/runterdimmen
Moderator: Co-Administratoren
-
- Beiträge: 57
- Registriert: 08.06.2014, 13:42
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 4 Mal
Hmip-FSM per Script hoch-/runterdimmen
Hallo zusammen,
folgendes Problem:
Ich habe den bestehenden Dimmer HM-LC-Dim1PWM-CV (12V) gegen den IP Dimmer Hmip-FDT (230V) getauscht.
Der Dimmer und die GU10 Leichtmittel Funktionieren auch soweit wie gewünscht.
Mein Problem ist die Fernbedienung HM-RC-8. Die Fernbedienung lässt sich nicht als Direktverknüpfung mit dem IP Dimmer Hmip-FSM verknüpfen, da unterschiedliche Funkprotokolle verwendet werden.
Mit einer Verknüpfung über die Zentrale habe ich nur Ein- und Ausschalten, per kurzen Tastendruck hinbekommen.
Hoch- und Runterdimmen in 5% oder 10% Schritten, so wie es mit der Direktverknüpfung möglich war, habe ich nicht hinbekommen.
Hat jemand einen Tip oder ein Script parat?
Viele Grüße
Sven
folgendes Problem:
Ich habe den bestehenden Dimmer HM-LC-Dim1PWM-CV (12V) gegen den IP Dimmer Hmip-FDT (230V) getauscht.
Der Dimmer und die GU10 Leichtmittel Funktionieren auch soweit wie gewünscht.
Mein Problem ist die Fernbedienung HM-RC-8. Die Fernbedienung lässt sich nicht als Direktverknüpfung mit dem IP Dimmer Hmip-FSM verknüpfen, da unterschiedliche Funkprotokolle verwendet werden.
Mit einer Verknüpfung über die Zentrale habe ich nur Ein- und Ausschalten, per kurzen Tastendruck hinbekommen.
Hoch- und Runterdimmen in 5% oder 10% Schritten, so wie es mit der Direktverknüpfung möglich war, habe ich nicht hinbekommen.
Hat jemand einen Tip oder ein Script parat?
Viele Grüße
Sven
Zuletzt geändert von Spencer am 06.03.2019, 15:42, insgesamt 1-mal geändert.
Raspberrymatic(VM)@proxmox, CUxD, ioBroker, InfluxDB, Grafana, Tasmota
-
- Beiträge: 1573
- Registriert: 28.05.2015, 12:48
- Wohnort: Willich
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 10 Mal
Re: Hmip-FSM per Script hoch-/runterdimmen
Hallo,
der HmIP-FSM ist laut ELV Beschreibung kein Dimmer, sondern ein einfacher Schaltaktor.
Da du schreibst, das es klappt hast du evtl den HmIP-FDT?
Dieser hat auf Kanal 1 den Dimmer, den du mit .Value setzen können musstest
Gruß Carsten
der HmIP-FSM ist laut ELV Beschreibung kein Dimmer, sondern ein einfacher Schaltaktor.
Da du schreibst, das es klappt hast du evtl den HmIP-FDT?
Dieser hat auf Kanal 1 den Dimmer, den du mit .Value setzen können musstest
Gruß Carsten
Gruß Carsten
-
- Beiträge: 57
- Registriert: 08.06.2014, 13:42
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 4 Mal
Re: Hmip-FSM per Script hoch-/runterdimmen
Hallo Carsten,
ja es war ein copy/paste Fehler, ich meine den Dimmer HmIP-FDT.
Hab mir gerade die HmIP-RC8 Fernbedienung geholt ...
Ich wäre trotzdem dankbar wenn mir jemand ein Skript schreiben könnte, dass bei jedem kurzen Tastendruck hoch- bzw. runterdimmt.
Hab sowas schon lange nicht mehr gemacht...
Viele Grüße
Sven
ja es war ein copy/paste Fehler, ich meine den Dimmer HmIP-FDT.
Hab mir gerade die HmIP-RC8 Fernbedienung geholt ...
Ich wäre trotzdem dankbar wenn mir jemand ein Skript schreiben könnte, dass bei jedem kurzen Tastendruck hoch- bzw. runterdimmt.
Hab sowas schon lange nicht mehr gemacht...
Viele Grüße
Sven
Raspberrymatic(VM)@proxmox, CUxD, ioBroker, InfluxDB, Grafana, Tasmota
-
- Beiträge: 1573
- Registriert: 28.05.2015, 12:48
- Wohnort: Willich
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 10 Mal
Re: Hmip-FSM per Script hoch-/runterdimmen
Versuche es mal damit:
Code: Alles auswählen
string Aktorname = "AKTORNAME"; ! hier Aktorname eintragen
integer AenderungWert = 0.05; ! prozentwert eintragen um den erhöht/reduziert werden soll 0.05 = 5%, 0.2 = 20%
boolean Addieren = true; ! true=addieren, false=subtrahieren
! ab hier nicht mehr ändern..........................................................................
! hole aktuellen Wert
integer AktualValue = dom.GetObject(ID_CHANNELS).Get(Aktorname # ":1").DPByHssDP("LEVEL").Value();
integer NewValue = 0.0;
if (Addieren)
{
! berechne neuen Wert
NewValue = AktualValue + AenderungWert;
! prüfe, ob neuer Wert unter Min liegt
if (NewValue < 0.0) { NewValue = 0.0; }
}
else
{
! berechne neuen Wert
NewValue = AktualValue - AenderungWert;
! prüfe, ob neuer Wert über Max liegt
if (NewValue > 1.005) { NewValue = 1.005; }
}
! neuen Wert übernehmen
dom.GetObject(ID_CHANNELS).Get(Aktorname # ":1").DPByHssDP("LEVEL").State(NewValue);
Gruß Carsten
-
- Beiträge: 57
- Registriert: 08.06.2014, 13:42
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 4 Mal
Re: Hmip-FSM per Script hoch-/runterdimmen
Vielen Dank Bratmaxe!
Ich werde es bei Gelegenheit testen und berichten.
Gruß
Sven
Ich werde es bei Gelegenheit testen und berichten.
Gruß
Sven
Raspberrymatic(VM)@proxmox, CUxD, ioBroker, InfluxDB, Grafana, Tasmota
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Hmip-FSM per Script hoch-/runterdimmen
Ich würde korrekterweise statt Aktorname in der Anleitung/Script Kanalname vorschlagen.
UND als Hinweis
Das mit dem Anhängen von :1 an den Gerätenamen kann natürlich funktionieren, wenn der User sich an eine bestimmte Benennung hält, in dem er seine Kanäle genau so benennt wie seine Geräte und nur jeweils die Kanalnummer an den Gerätenamen anhängt in Form von :1 usw.
....
Alchy
UND als Hinweis
Das mit dem Anhängen von :1 an den Gerätenamen kann natürlich funktionieren, wenn der User sich an eine bestimmte Benennung hält, in dem er seine Kanäle genau so benennt wie seine Geräte und nur jeweils die Kanalnummer an den Gerätenamen anhängt in Form von :1 usw.
....
Wieso aber per Script? Sollte das nicht auch ohne ein Script gehen?
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 2
- Registriert: 22.01.2023, 15:11
- System: CCU
Re: Hmip-FSM per Script hoch-/runterdimmen
Ich hatte mit dem Skript von Bratmaxe leider keinen Erfolg, vielleicht wegen Leerzeichen im Aktornamen?
Jedenfalls hab ich das Skript etwas überarbeitet, laufzeitoptimiert und getestet mit einem HmIP-BDT:
Im Code bitte die Reihen von XXXen jeweils durch die 14-stellige Seriennummer des zu steuernden Homematic IP Dimmers ersetzen (z.B. 01234567890ABC).
In diesem Skript ist die Helligkeit übrigens auf 100% begrenzt. Eigentlich klar, aber interessanterweise ist in der Doku der HmIP-Datenpunkte an manchen Stellen von max. 1,01 (also 101%) die Rede. Fragt sich nur, wie das gehen soll... Dimmer-Overdrive oder wie?
Jedenfalls hab ich das Skript etwas überarbeitet, laufzeitoptimiert und getestet mit einem HmIP-BDT:
Code: Alles auswählen
integer step = 0.1; ! Dimmer Schrittweite
boolean add = true; ! true=Hoch, false=Runter
! XXXXXXXXXXXXXX durch die 14-stellige ID des HmIP-Dimmers ersetzen...
integer current = dom.GetObject("HmIP-RF.XXXXXXXXXXXXXX:4.LEVEL").Value();
integer NewValue = 0.0;
if (add)
{
NewValue = current + step;
if (NewValue > 1) { NewValue = 1; }
}
else
{
NewValue = current - step;
if (NewValue < 0) { NewValue = 0; }
}
dom.GetObject("HmIP-RF.XXXXXXXXXXXXXX:4.LEVEL").State(NewValue);
In diesem Skript ist die Helligkeit übrigens auf 100% begrenzt. Eigentlich klar, aber interessanterweise ist in der Doku der HmIP-Datenpunkte an manchen Stellen von max. 1,01 (also 101%) die Rede. Fragt sich nur, wie das gehen soll... Dimmer-Overdrive oder wie?
CCU2, 62 HM Devices, 9 HmIP Devices, IP-Symcon 6.2/Asus PN40. My SmartHome is my Castle.
- Henke
- Beiträge: 1524
- Registriert: 27.06.2022, 20:51
- System: CCU
- Hat sich bedankt: 141 Mal
- Danksagung erhalten: 306 Mal
Re: Hmip-FSM per Script hoch-/runterdimmen
Echt jetzt? Wie und wo?
Ich bin mal so frei und nehme die Fehler raus und optimiere auch mal ein wenig...
1. Es wird nur etwas gesendet, wenn sich der Wert ändert.
2. Der Dimmer muss nur einmal eingetragen werden
3. Hoch/Runter auf einem Tastendruck, wenn oRichtungWechseln = true
Code: Alles auswählen
real step = 0.1; ! Dimmer Schrittweite, 0.1=Hoch, -0.1 =Runter
boolean oRichtungWechseln = true;
! XXXXXXXXXXXXXX durch die 14-stellige ID des HmIP-Dimmers ersetzen...
object oCh = dom.GetObject("HmIP-RF.XXXXXXXXXXXXXX:4.LEVEL");
real current = oCh.Value();
real NewValue = current + step;
if (NewValue > 1.0) { NewValue = 1.0; if ( oRichtungWechseln ) {step = 0.0 - step;}}
if (NewValue < 0.0) { NewValue = 0.0; if ( oRichtungWechseln ) {step = 0.0 - step;}}
if ( NewValue != current ) { oCh.State(NewValue); };
-
- Beiträge: 2
- Registriert: 22.01.2023, 15:11
- System: CCU
Re: Hmip-FSM per Script hoch-/runterdimmen
"laufzeitoptimiert" bezog sich auf verkürzte Bemerkungen und einen direkteren Objektzugriff auf den LEVEL Wert. Das mit den Variablentypen ist mir auch aufgefallen, aber dafür dass das Skript ja angeblich immer noch Fehler enthielt, hat es immerhin tadellos funktioniert.
Es gibt immer jemanden, der Dinge besser kann. Ich habe nie den Anspruch erhoben, dass das Skript perfekt ist. Es hat mein Problem gelöst und ich wollte damit nur eine wirklich funktionierende Lösung in einen fast 3 Jahre toten Thread ohne Lösung bringen.
Es gibt immer jemanden, der Dinge besser kann. Ich habe nie den Anspruch erhoben, dass das Skript perfekt ist. Es hat mein Problem gelöst und ich wollte damit nur eine wirklich funktionierende Lösung in einen fast 3 Jahre toten Thread ohne Lösung bringen.
CCU2, 62 HM Devices, 9 HmIP Devices, IP-Symcon 6.2/Asus PN40. My SmartHome is my Castle.