Können Kanalparameter bidirektional übertragen werden?

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Antworten
Benutzeravatar
FUEL4EP
Beiträge: 596
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 77 Mal
Danksagung erhalten: 80 Mal
Kontaktdaten:

Können Kanalparameter bidirektional übertragen werden?

Beitrag von FUEL4EP » 20.06.2024, 09:39

Für einen neuen Klimasensor muss nach einem Kaltstart bei Werksreset ein Kanalparameter für den 'bootType' auf dem Sensorgerät von 'Kaltstart' auf 'Warmstart' umgestellt werden:

Code: Alles auswählen

void setup()
{
    DINIT(38400, ASKSIN_PLUS_PLUS_IDENTIFIER);

    DPRINTLN(F(".. waiting for 7 seconds .."));  // required since a double reset ist executed after start-up: 1st reset at power-up and 2nd reset shortly after the serial monitor has been connected
                                                 // as alternative the DTR serial signal could be cut by an appropriate plug adapter
    delay(7000UL); // wait for 7 seconds

    bool first = sdev.init(hal);
    buttonISR(cfgBtn, CONFIG_BUTTON_PIN);
    sdev.initDone();  // for cold boot
    sdev.channel(1).AHT20_BMP280.init_circular_buffers_in_FRAMs( sdev.channel(1).getList1().bootType(), sdev.channel(1).getList1().presetHistoricTemperatures(), sdev.channel(1).getList1().presetTemp10());
    DPRINTLN(F("setting bootType to 'warm_boot'"));
    sdev.channel(1).getList1().bootType(1);
    DPRINTLN(F("circular buffers have been initialized "));
}
Das geht auch grundsätzlich. Beim Batteriewechse wird wie beabsichtigt ein 'Warmstart' durchgeführt.

Was jedoch nicht geht, ist die Übertragung des geräteseitig geänderten Kanalparameters an die Zentrale. Dort bleibt der Boottyp unverändert:

channelparam.png


Ist es in AsksinPP möglich, die Änderung einer geräteseitig vorgenommenen Änderung eines Kanalparameters an die Zentrale zu übertragen? Ich habe auch durch Quelltextstudien nichts dazu gefunden.

Vielen Dank im Voraus.
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

jp112sdl
Beiträge: 12167
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 857 Mal
Danksagung erhalten: 2164 Mal
Kontaktdaten:

Re: Können Kanalparameter bidirektional übertragen werden?

Beitrag von jp112sdl » 20.06.2024, 15:19

Nein, das liegt auch nicht an AskSin, sondern an den Interna der CCU.

Beim Anlernen werden die Kanalparameter gelesen und in der Devconfig abgespeichert.

Ab dann geht es immer nur von CCU zum Gerät.

Es ist nicht vorgesehen, dass jemand anderes außer der Zentrale etwas an den Parametern verändert bzw. dass sich die Parameter im Gerät selbst durch irgendwas ändern.

Was du versuchen kannst, ist ein "Drüberlernen"... Also Anlernmodus in der CCU starten und dann noch mal Configtaster am Gerät drücken.
Evtl. werden da noch mal die Parameter von Gerät zur CCU gelesen/gespeichert.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
FUEL4EP
Beiträge: 596
Registriert: 01.11.2017, 17:26
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 77 Mal
Danksagung erhalten: 80 Mal
Kontaktdaten:

Re: Können Kanalparameter bidirektional übertragen werden?

Beitrag von FUEL4EP » 20.06.2024, 15:41

Hallo Jérôme,

vielen Dank für Deine Antwort.

Die Funktion des Geräts ist ja gegeben, so dass es nur ein 'Schönheitsfehler' ist, wenn in der Zentrale und in dem Gerät dieser eine Kanalparameter nicht synchronisiert sind: 'Never change a running system' :D

Mein neues Gerät nutzt ferromagnetische FRAM Speicher zur Speicherung von Messwerten, z.B. von einem ganzen Jahr.
Dieser FRAM Speicher muss bei einem Werksreset gelöscht und dann z.B. mit interpolierten historischen Klimadaten vorbelegt werden.
Bei einem Batteriewechsel erfolgt ein 'Warmstart' ohne Löschung des gesamten Speichers und ohne Vorinitialisierung, nur der letzte Systemzustand eines Ringpuffers wird aus dem FRAM Speicher zurückgelesen.

Die Startbedingung 'Kaltstart' oder 'Warmstart' wird im nichtflüchtigen EEPROM als Kanalparameter gespeichert. Ich habe mich entschieden, die Umschaltung von 'Kaltstart' oder 'Warmstart' automatisch im Sensorgerät zu machen, damit sie nicht vergessen werden kann.
Was du versuchen kannst, ist ein "Drüberlernen"... Also Anlernmodus in der CCU starten und dann noch mal Configtaster am Gerät drücken.
Evtl. werden da noch mal die Parameter von Gerät zur CCU gelesen/gespeichert.
Das werde ich mal ausprobieren.
Grüße

Ewald

Meine SmartHome Entwicklungen gibt es hier: FUEL4Ps Homeautomation Github Repository oder als ZIP
Das passende RaspberryMatic Addon ist hb-ep-devices-addon
Passende Platinen gib es hier: PCBs

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“