Hallo.
Ich bräuchte mal kurz eure Unterstützung.
Folgendes soll erreich werden:
Ein Fernseher schaltet bei Anlegen der 230V Versorgung nicht auf den richtigen Eingang um. Man könnte das Problem sicherlich mit einer Infrarotschaltung lösen, jedoch mache ich das schon Jahre über eine simple Relaisschaltung welche 5 mal kurz ein und ausschaltet. Intervall 1 Sekunde. Da ich den Bereich komplett auf Homematic umbauen will, möchte ich das jetzt über diese Komponenten lösen.
Kurz und bündig. Ein Relais soll im 1 Sekundentakt ein und wieder ausschalten.
Folgender Aufbau:
FHEM auf Linux Server (VMWare
Homematic Gateway HM-LGW-O-TW-W-EU
Schaltaktor HM-LC-Sw1-PCB
Von der Steuerung stelle ich mir das so vor:
Ein notify erkennt, dass umgeschaltet werden soll und löst
- eine Aktion am Aktor aus. Dieser hat eine Programmierung, dass er fünf mal ein und ausschaltet. Geht das über Register? Das wäre mein Favorit.
- eine Aktion Am Aktor aus. Dieser Schaltet ein und nach einer Sekunde wieder aus. Das notify wartet auf das wieder ausschalten und schaltet dann wieder ein. Das ganze wiederholt sich fünf mal.
- im Sekundentakt fünf mal das Ein und Ausschalten aus. Hier muss sich Fhem aber um das zeitliche Einhalten kümmern. Per sleep oder ähnlichem. Darum würde ich diese Lösung nicht favorisieren.
Der Schaltaktor ist nur in Fhem gepaired. Er ist mit keinen weiteren Komponenten gepeerd. Darum tue ich mich schwer beim Setzen eines Registers ein peer anzugeben. Folgender Befehl funktioniert nicht: "set HM_7097F0 regSet shOnTime 1 self01".
Welches Peer muss ich angeben wenn der Aktor von FHEM gesteuert wird? Oder Funktionieren die Register bei dem Pairing mit FHEM nicht mehr?
Freundliche Grüße
Daniel
die register sind nur für die entsprechenden peers nutzbar.
theoretisch köntest du ein virtuelles device peeren und zun schalten nutzen. ich sehe allerdings keine möglichkeit die register für den gewünschten ablauf entsprechend zu konfigurieren.
"on-for-timer 1" schaltet auch für 1s ein.
besonders "schonend" hört sich deine prozedur nicht an.
das würde ich meinem tv nicht zumuten.
Zitat von: frank am 07 Oktober 2020, 13:17:25
die register sind nur für die entsprechenden peers nutzbar.
theoretisch köntest du ein virtuelles device peeren und zun schalten nutzen. ich sehe allerdings keine möglichkeit die register für den gewünschten ablauf entsprechend zu konfigurieren.
Genau das habe ich beim durcharbeiten der Wiki auch gedacht, wollte aber nochmal auf nummer Sicher gehen.
Zitat von: frank am 07 Oktober 2020, 13:17:25
"on-for-timer 1" schaltet auch für 1s ein.
Die Funktion hatte ich auch schon im Blick. Dann werde ich das wohl damit machen.
Zitat von: frank am 07 Oktober 2020, 13:17:25
besonders "schonend" hört sich deine prozedur nicht an.
das würde ich meinem tv nicht zumuten.
Sorry ich habe mich falsch ausgedrückt. Ich schalte mit einer Funksteckdose die 230V ein. Die Kippstufe ist an einer Widerstandscodierten Schalterleiste an der Seite des Fernsehers angeschlossen. Ich betätige den Knopf Kanalwechsel im Prinzip fünf mal.
Mir ist erstmal geholfen. Vielen Dank
Freundliche Grüße
Daniel
In der Commandref gibt es dafür eine fast fertige Lösung: # Blinke 3 mal wenn piri einen Befehl sendet
define n1 notify piri:on.* define a8 at +*{3}00:00:02 set lamp on-for-timer 1
Gruß
Frank
Hi,
Mit einem Dimmer aktor wäre es möglich das direkt im device zu machen, also wie erwähnt über die Peering Parameter.
beim Dimmer gibt es die Möglichkeit die Lampe blinken zu lassen, wenn die einschalt Dauer abläuft (off delay). Da kann man dann sagen wie lange und schnell es blinken soll.
SHORT_OFFDELAY_BLINK, SHORT_OFFDELAY_NEWTIME, SHORT_OFFDELAY_OLDTIME
Über die gesamte off delay Zeit ließe sich dann die blink Anzahl festlegen.
Gruß,
Thomas
Das ist alles etwas verwirrend.
Status Quo interpretiere ich derzeit als eine Art elektronische Schaltung mit Relais, die beim Einschalten des Fernsehers einmalig fünf Impulse absondert. Wie auch immer das funktioniert. Nun soll alles auf Homematic umgestellt werden.
Es handelt sich dabei um zwei Schaltaufgaben:
a) Strom für den Fernseher einschalten
b) anschließend fünf Impulse an einer Elektronik am Fernseher potentialgetrennt (!) absetzen.
"Widerstandscodierte Schalterleiste" assoziiere ich dabei mit dem Bediensatelliten meines Bosch-Pedelec-Motors: Dort wird beim Zusammenschließen zweier Kontakte mit unterschiedlichen Widerständen je nach Taste im Bediensatelliten eine entsprechend andere Aktion im Display ausgelöst. Funktioniert das hier ähnlich?
Für a) und b) braucht es damit völlig getrennte Aktoren mit ganz unterschiedlichen Anforderungen. Die Dimmer-Variante ist zwar nett, aber nach meinem Verständnis hier nicht zielführend. Sie könnte nur a) bedienen, aber da sind die Impulse nicht zielführend.
Dem erwähnten HM-LC-Sw1-PCB nach geht es also ausschließlich um b).
Weiterhin:
- b) scheint demnach bisher zu funktionieren, unabhängig von a). Warum diese Lösung nicht einfach beibehalten? Sollen bedarfsweise künftig andere Aktionen ausgelöst werden?
- für das einfache Absetzen einer Bedienfolge "im Sekundentakt" dürfte eine Befehlsgebung aus einem stabilen FHEM heraus über zeitversetzte Befehle (sleep wurde genannt, DOIF, notify mit at, ...?) aber völlig ausreichend sein, d.h. Abweichungen von bspw. 200 ms dürften in keiner Weise das Ergebnis stören.
Da ein IR-Gateway aber maximal in etwa soviel kostet wie ein HM-LC-Sw1-PCB und dabei noch viel mehr nützliche Funktionen erschlagen kann, würde ich das dennoch mal in Betracht ziehen. Mein eines Gateway bedient Leinwand, Beamer, TV, AVR, Bluray und sogar LED-Wachsflackerkerzen im Wohnzimmer...