Geräte-/ Kanalparameter einstellen / firmware rftypes XML Datei

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

Moderator: Co-Administratoren

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

Re: Geräte-/ Kanalparameter einstellen / firmware rftypes XML Datei

Beitrag von FUEL4EP » 30.10.2021, 21:05

Ja, die al53.init Routine läuft in der Tat länger, hab da aber bisher nicht mit gestoppt:

Es werden

Variablen initialisiert
ADS115 initialisiert
S35770 initialisiert
1 Sekunde (!!) gewartet
16384 Testpulse auf den I2C-Zähler ausgegeben und das Zählergebnis geprüft

Also das dauert > 1 Sekunde :( . Das wird ja auch nur sehr selten durchlaufen.

Kann das die Ursache sein? Die doppelte Initialisiert würde das ja vielleicht erklären: Neuer Versuch, wenn rechtzeitig keine Antwort kommt.

Dann muss ich wahrscheinlich die Übergabe der neuen Kanalparameter von dem einmaligen Initialisieren trennen.
Zuletzt geändert von FUEL4EP am 30.10.2021, 21:08, insgesamt 1-mal geändert.
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: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Geräte-/ Kanalparameter einstellen / firmware rftypes XML Datei

Beitrag von jp112sdl » 30.10.2021, 21:06

FUEL4EP hat geschrieben:
30.10.2021, 21:05
Kann das die Ursache sein?
Möglich wäre es. Kommentier die Zeile

Code: Alles auswählen

      al53.init((uint16_t)this->getList1().alarm_level_counts_per_measurement_interval(), (int32_t)this->getList1().alarm_level_moving_average()); // set threshold levels for alarm signals as channel parameters
mal aus, dann wirst du ja sehen, ob die Übertragung einwandfrei klappt.

VG,
Jérôme ☕️

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

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

Re: Geräte-/ Kanalparameter einstellen / firmware rftypes XML Datei

Beitrag von FUEL4EP » 30.10.2021, 21:14

Bingo, das war's. Du bist einfach genial. Vielen Dank!

Das war nun wirklich kniffelig :D

Das Auseinandertröseln des Init-Prozesses ist jetzt nur noch Arbeit :D
Zuletzt geändert von FUEL4EP am 31.10.2021, 09:05, insgesamt 2-mal geändert.
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: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Geräte-/ Kanalparameter einstellen / firmware rftypes XML Datei

Beitrag von jp112sdl » 30.10.2021, 21:20

Ich hätte wohl das al53.init() in einen extra Alarm gepackt und diesen 2 Sekunden nach dem configChanged() laufen lassen.
FUEL4EP hat geschrieben:
30.10.2021, 21:05
1 Sekunde (!!) gewartet
Und feste Delays sind immer mist, wenn bidirektional kommuniziert wird.

VG,
Jérôme ☕️

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

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

Re: Geräte-/ Kanalparameter einstellen / firmware rftypes XML Datei

Beitrag von FUEL4EP » 30.10.2021, 21:43

Jupp, Delays sind Mist. Hinterher ist man immer schlauer. Ich hab heute wieder was gelernt! Zuerst hab ich in der völlig falschen Ecke nach der Ursache für das Fehlverhalten gesucht. Danke nochmals, dass Du wirkliche Ursache sehr schnell erkannt hast. Das macht immer wieder Spaß, diese großartige Unterstützung durch Dich zu bekommen.


Nachtrag 31. Oktober 2021: Das Update der Kanalparameter geht nach der Einführung einer kurzen 'al53.update_channel_parameters()' Methode, die ausschließlich die Kanalparameter in der Sensorklasse updated und sonst nichts. Diese wird nun von configChanged() aufgerufen:

Code: Alles auswählen

    void configChanged() {
      DPRINTLN(F("Config Changed: List1"));
      DPRINT(F("alarm level counts per measurement interval : ")); DDECLN(this->getList1().alarm_level_counts_per_measurement_interval());
      DPRINT(F("alarm level moving average                  : ")); DDECLN( (double)(this->getList1().alarm_level_moving_average()) / 100.0 );
      al53.update_channel_parameters((uint16_t)this->getList1().alarm_level_counts_per_measurement_interval(), (int32_t)this->getList1().alarm_level_moving_average()); // set threshold levels for alarm signals as channel parameters
    }
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“