On_time permanent setzen

Hallo,

ich habe einen Homematic Hutschienen-Schaltaktor. Nun möchte ich, dass dieser beim Einschalten über den angeschlossenen Taster (Stromstoß) für 5 Minuten an bleibt. Dazu setze ich die Variable on_time auf 300s.
Aber nach einmaligen Schaltzyklus ist on_time wieder auf Null. Ich muss es also immer wieder erneut setzen. Wie bekomme ich es hin, dass der Aktor on_time dauerhaft merkt?

Grüße
Sven

Hey,

wie setzt du den Wert? Normalerweise sollten Werte, die mit putParamset gesetzt wurden, im Gerät persistent sein.
Alternativ dazu kannst du den Timer auch einfach in node-blue umsetzen.

Gruß,
Patrik

Hallo,

ich setze es per MQTT:
…/device#/1/on_time

Ist putParamSet das gleiche, oder gibt es da tatsächlich Unterschiede? Wenn ich mit homegear ‘config print’ aufrufe, steht unter value Channel 1 auch der richtige Wert. Nur wird er wie beschrieben leider wieder zurück gesetzt.

Einen eigenen Timer wollte ich nicht aufziehen, da ich dann den direkten Tastendruck abfangen muss. Und da Homematic diese leider nicht normal als Sensor/Taster überträgt, muss ich irgendwie anders erraten, wann die Taste gedrückt wurde…

Grüße
Sven

1 Like

@sathya, kannst du da was zu sagen?

Hm, laut Doku ist putParamSet das gleich wie setValue, nur dass man mehrere Parameter gleichzeitig setzen kann: https://ref.homegear.eu/rpc.html#putParamset
In der setValue steht jedoch, dass die Funktion nicht zum setzen von Konfigurationsparameter genutzt werden kann.

Was ist der Unterschied zwischen Values und Konfigurationsparameter? Sind das die Werte, die unter MASTER beim aufruf von config print angezeigt werden? SET_TIME ist demnach ein Value:

MASTER
{
        Channel: 1
        {
                [TRANSMIT_TRY_MAX]: 06 
                [STATUSINFO_RANDOM]: 01 
                [STATUSINFO_MINDELAY]: 04 
                [AES_ACTIVE]: 00 
                [POWERUP_ACTION]: 00 
        }
        Channel: 0
        {
                [ROAMING]: 00 
                [POLLING_INTERVAL]: 3c 
                [POLLING]: 00 
                [CONF_BUTTON_TIME]: ff 
                [LOCAL_RESET_DISABLE]: 00 
                [INTERNAL_KEYS_VISIBLE]: 01 
        }
}

VALUES
{
        Channel: 1
        {
                [WORKING]: 00 
                [STATE]: 00 
                [ON_TIME]: 00 
                [INHIBIT]: 00 
                [INSTALL_TEST]: 00 
        }
        Channel: 0
        {
                [STICKY_UNREACH]: 00 
                [RSSI_PEER]: 00 
                [UNREACH]: 00 
                [RSSI_DEVICE]: 2d 
                [UPDATE_PENDING]: 00 
                [LOWBAT]: 00 
                [CENTRAL_ADDRESS_SPOOFED]: 00 
                [DEVICE_IN_BOOTLOADER]: 00 
                [AES_KEY]: 00 
                [CONFIG_PENDING]: 00 
                [DUTYCYCLE]: 00 
                [LAST_PACKET_RECEIVED]: 5b d8 b2 de 
        }
}

Hallo @avanc,

Was ist der Unterschied zwischen Values und Konfigurationsparameter?

Konfigurationsparameter werden dauerhaft im Gerät gesetzt und werden im Allgemeinen einmal gesetzt und danach nicht verändert (z. B. °C versus °F). ON_TIME ist eine Variable. Allerdings: Homegear setzt ON_TIME wieder zurück (so ist es ursprünglich von eQ-3 gedacht, wir verwenden 1 zu 1 deren XML-Definitionen). Das Verhalten lässt sich in der XML-Datei jedoch anpassen. Öffne die XML-Datei (in /etc/homegear/devices/0) zu deinem Gerät und entferne folgende Blöcke:

<autoReset>
    <parameterId>ON_TIME</parameterId>
</autoReset>

Danach wird ON_TIME nach einem Homegear-Neustart nicht mehr zurückgesetzt.

Viele Grüße

Sathya

1 Like

@sathya Danke für die Info.

Wenn ich die zwei Stellen aus der xml rauslösche (rf_s_644.xml), dann ändere ich das verhalten für alle Geräte neben mein HM-LC-Sw1-DR, die in der Datei definiert werden?
Bevor ich das mache, noch mal eine Frage zur Sicherheit:

Danach wird ON_TIME nach einem Homegear-Neustart nicht mehr zurückgesetzt.

Ist hier gemeint, das ON_TIME nur nach einem Neustart von Homegear zurück gesetzt wird? Ich habe das Problem, dass ON_TIME bereits nach einem Schaltvorgang zurück gesetzt ist…

Grüße
Sven

Ja. Wobei du eine separate XML-Datei für einen einzelnen Gerätetyp erzeugen kannst: Sagen wir dein HM-LC-Sw1-DR. Die Datei rf_s_644.xml würdest du dann z. B. nach rf_hm_lc_sw1_dr.xml kopieren, das XML-Element <device id="HM-LC-Sw1-DR"> aus rf_s_644.xml entfernen. Aus der rf_hm_lc_sw1_dr.xml entfernst du alle <device id=-Elemente bis auf <device id="HM-LC-Sw1-DR">.

Nein, die Änderung der XML-Datei braucht einen Homegear-Neustart um einen Effekt zu haben. Nach der XML-Anpassung wird ON_TIME nie mehr automatisch von Homegear zurückgesetzt.

Viele Grüße

Sathya

Danke @sathya . Damit vergisst das Gerät die ON_TIME tatsächlich nicht mehr. Jedoch wird die ON_TIME nur genutzt, wenn ich das Licht über Homegear einschalte. Über den Taster bleibt das Licht aber immer noch an…

Ich glaube ich habe die grundsätzliche Konfiguration noch nicht verstanden. Die Homematic-Doku beschreibt noch interessante Parameter wie Treppenhausmodi und Auschaltverzögerung:

Welche Parameter sind da die entsprechenden? Muss ich da nicht über Master und Value gehen, sondern über Link? Wie konfiguriere ich die Link-Parameter? Und welcher Link entspricht den hardverdrahteten Taster?

Grüße
Sven

Das sind die ganzen Link-Parameter:

https://ref.homegear.eu/device.html?directory=HomeMatic+BidCoS&file=rf_s_644.xml&familyLink=homematicbidcos&name=HM-LC-Sw1-DR#affixSubsection1_1

Genau, am einfachsten tatsächlich noch über den Konfigurator.

Über putParamset(), die Admin-UI (nur im Nightly) oder den HomeMatic-Konfigurator. Der Hardware-Link müsste über getLinks(<Peer ID>) angezeigt werden und kann dann in putParamset() angegeben werden.

Viele Grüße

Sathya