HB-UNI-Sensor1 - Neuauflage

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

Moderator: Co-Administratoren

TomMajor
Beiträge: 1614
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 150 Mal
Danksagung erhalten: 327 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von TomMajor » 14.10.2021, 17:11

HB-UNI-Sensor1, Support für Temperatur/Feuchtesensor AHT15 hinzugefügt.
siehe auch AHT15 ...mögliche robuste Alternative zum SHT21/31
Viele Grüße,
Tom

firefox_i
Beiträge: 180
Registriert: 04.10.2018, 19:07
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von firefox_i » 25.10.2021, 09:51

Erstmal vielen Dank an Dich, Tom, für dieses Projekt.

Ich hab nun am WE bei 2 Eigenbausensoren (UNI-Sensor1) auf die aktuellste Version gebracht.
Im Prinzip alles super.

Allerdings 2 Kleinigkeiten:
- Ablernen/Anlernen
Ich nehm an es ist systembedingt so, dass man den Sensor ablernen muss und neu anlernen muss, um das neue XML Layout für die GUI zu bekommen, oder (ich weiß es wirklich nicht).
Ist etwas unangenehm, da das Gerät dann erstmal von allen Favoritenseiten verschwindet.

- Kanal 0 verhält sich seltsam
Ich habe den Kanal 0 aus versehen auf eine Favoritenseite genommen.
Komischerweise wird der Kanal 0 (die Infos zu RSSI, Ob Konfig ansteht usw...) dann auch auf der Favoritenseite angezeigt, aber in der Konfiguration dieser Favoritenseite dann nicht.
Kann den Kanal dann also auch nicht mehr von der Favoritenseite löschen.


Alles auf der aktuellsten Raspberrymatic Version.

Grüße
S.
Gruß Sven

Produktivsytem mit CCU2, knapp 60 Geräte, Visu per HPCL; Automatisierung einer Praxis bzgl. Überwachung, Heizung usw.
Experimentalsystem mit Raspi B3+, dort aktuell dran eigene Sensoren zu bauen (Serverschranküberwachung)

Hardwareentwickler und bisschen Ahnung von Programmierung.

TomMajor
Beiträge: 1614
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 150 Mal
Danksagung erhalten: 327 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von TomMajor » 25.10.2021, 23:40

firefox_i hat geschrieben:
25.10.2021, 09:51
Erstmal vielen Dank an Dich, Tom, für dieses Projekt.

Ich hab nun am WE bei 2 Eigenbausensoren (UNI-Sensor1) auf die aktuellste Version gebracht.
Im Prinzip alles super.

Allerdings 2 Kleinigkeiten:
- Ablernen/Anlernen
Ich nehm an es ist systembedingt so, dass man den Sensor ablernen muss und neu anlernen muss, um das neue XML Layout für die GUI zu bekommen, oder (ich weiß es wirklich nicht).
Ist etwas unangenehm, da das Gerät dann erstmal von allen Favoritenseiten verschwindet.
Gerne.

Zur ersten Frage, ja wenn man was am xml ändert muss der Sensor abgelernt/gelöscht und neu angelernt werden, das war immer so in meinen Tests. Ich vermute es hängt damit zusammen das beim Anlernen intern das xml Layout zu genau diesem Sensor "gelockt" wird, ein späteres Ändern der xml ist ohne Belang für diesen Sensor.

Zur Frage 2 kann ich leider nicht wirklich helfen.
Neustart der CCU und Leeren des Cache im Webbrowser würde ich als erstes versuchen.
Viele Grüße,
Tom

Benutzeravatar
Baxxy
Beiträge: 4552
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 308 Mal
Danksagung erhalten: 822 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von Baxxy » 26.10.2021, 00:06

firefox_i hat geschrieben:
25.10.2021, 09:51
- Kanal 0 verhält sich seltsam
Ach iwo... :wink:

Tatsächlich bist du auf ein kleines Fehlerchen in RaspberryMatic gestoßen.
Die 0er Kanäle von HM Geräten sind standardmäßig als "Intern" gekennzeichnet.
Das Auswahl-PopUp beim Hinzufügen zu den Favoriten ignoriert das, der Favoriten-Editier-Bereich hingegen zeigt sie darum nicht an.

Ich mache bei Gelegenheit nen Ticket dazu auf.
Zur schnellen Hilfe kannst du im Script testen folgendes ausführen...

Code: Alles auswählen

channels.Get ("Klima Sensor BX: UNISENS003:0 - Service").Internal(false);
(deinen 0er Kanalnamen eintragen)

Grüße, Baxxy

Edit: Ticket angelegt. #1475

firefox_i
Beiträge: 180
Registriert: 04.10.2018, 19:07
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von firefox_i » 26.10.2021, 18:11

TomMajor hat geschrieben:
25.10.2021, 23:40
Zur ersten Frage, ja wenn man was am xml ändert muss der Sensor abgelernt/gelöscht und neu angelernt werden, das war immer so in meinen Tests. Ich vermute es hängt damit zusammen das beim Anlernen intern das xml Layout zu genau diesem Sensor "gelockt" wird, ein späteres Ändern der xml ist ohne Belang für diesen Sensor.
Ist halt etwas unangenehm, wenn man schon Programme hinterlegt hat, aber gut....ist halt so

S.
Gruß Sven

Produktivsytem mit CCU2, knapp 60 Geräte, Visu per HPCL; Automatisierung einer Praxis bzgl. Überwachung, Heizung usw.
Experimentalsystem mit Raspi B3+, dort aktuell dran eigene Sensoren zu bauen (Serverschranküberwachung)

Hardwareentwickler und bisschen Ahnung von Programmierung.

R3akTanz
Beiträge: 2
Registriert: 09.11.2021, 13:18
System: keine Zentrale (nur Pairing, FHEM etc.)
Hat sich bedankt: 1 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von R3akTanz » 09.11.2021, 13:49

Hallo zusammen,

erstmal fettes Lob an alle die bei der AskSinPP und den ganzen devices mitgearbeitet haben.
Bei dem Versuch das default updIntervall von 10min auf 5min bin ich leider gescheiter und bräuchte eure Unterstützung.

Verwende den: HB-UNI-Sensor2; Version 1.50 und hab schon folgendes Probiert:
1. Als erstes hab ich den updIntervall-Wert von 600 auf 300 in der Funktion void defaults() aus der Klasse SensorList0 geändert. Allerdings hat dies nicht geholfen. Wird diese Fkt bei der Initialisierung aufgerufen?
2. In der SetUp() Routine hab ich vor und nach den Funktionen „sdev.init(hal) und sdev.initDone()“ den Wert für updIntervall auf der Seriellen-Schnitte ausgeben lassen. Dieser beträgt immer 600. Hab mich dann auf die Such nach der Zuweisung gemacht konnte sie aber bis jetzt nicht finden und wäre für einen Tipp sehr dankbar.

Code: Alles auswählen

void setup()
{
    uint16_t updCycle = 0;
    DINIT(57600, ASKSIN_PLUS_PLUS_IDENTIFIER);
    updCycle = sdev.getList0().updIntervall(); DPRINT(F("updCycle_SetUp_0: ")); DDECLN(updCycle);
    sdev.init(hal);
    updCycle = sdev.getList0().updIntervall(); DPRINT(F("updCycle_SetUp_0: ")); DDECLN(updCycle);
    buttonISR(cfgBtn, CONFIG_BUTTON_PIN);
    sdev.initDone();
    updCycle = sdev.getList0().updIntervall(); DPRINT(F("updCycle_SetUp_0: ")); DDECLN(updCycle);
}
In der Funktion „virtual void trigger(AlarmClock& clock)“ aus der Klasse WeatherChannel setzt ich aktuell den Wert fest auf 300. Was natürlich keine akzeptable Lösung.

Code: Alles auswählen

virtual void trigger(AlarmClock& clock)
    { ..
        // reactivate for next measure
        //uint16_t updCycle = this->device().getList0().updIntervall();
        uint16_t updCycle = 300;
        set(seconds2ticks(updCycle));
        ... }
    
Vielen Dank im Voraus und Grüße
Reaktanz

TomMajor
Beiträge: 1614
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 150 Mal
Danksagung erhalten: 327 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von TomMajor » 09.11.2021, 19:16

Hi Reaktanz,

dir ist schon klar? dass das UpdateIntervall primär aus der Zentrale/WebUI/FHEM(whatever) heraus änderbar ist, per Geräteparameter, siehe z.B.
https://github.com/TomMajor/SmartHome/t ... atic-webui
Bild Geräteparameter.

Wenn du schon einmal mit Defaults 600s geflasht hast werden die Werte im EEPROM gespeichert, ein einfaches Ändern der Defaults bringt dann nichts solange der EE Inhalt erhalten bleibt.
Du könntest dann z.B. durch long LongPress des Config buttons (bis im seriellen Monitor RESET erscheint) das Gerät zurücksetzen. Wenn dann deine Defaults auf 300s stehen werden sie auch genommen.
Oder halt wie gesagt über die Zentrale, das ist der Normalweg.
Viele Grüße,
Tom

R3akTanz
Beiträge: 2
Registriert: 09.11.2021, 13:18
System: keine Zentrale (nur Pairing, FHEM etc.)
Hat sich bedankt: 1 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von R3akTanz » 10.11.2021, 08:46

Hi Tom,

ja, das mit der Zentrale war mir bekannt. Das mit dem EEPROM hab ich übersehen, obwohl es sogar als Kommentar dabei stand! Dachte irgendwie, dass die Listen in den program space ausgelagert sind und nicht in den EEPROM. Deshalb wollte ich es im code vorübergehen anpassen um es nicht jedes Mal nach dem Flashen aus der Zentrale ändern muss in der Einarbeitungszeit.

Da liegt noch sehr viel Arbeit vor mir und nicht auszuschließen das ich noch die ein oder andere dumme Frage stelle werde :D Vor allem komm ich eigentlich aus der Hardware und verwende eher C :wink:

Gruß
Reaktanz

TomMajor
Beiträge: 1614
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 150 Mal
Danksagung erhalten: 327 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von TomMajor » 10.11.2021, 15:29

R3akTanz hat geschrieben:
10.11.2021, 08:46
Hi Tom,

ja, das mit der Zentrale war mir bekannt. Das mit dem EEPROM hab ich übersehen, obwohl es sogar als Kommentar dabei stand! Dachte irgendwie, dass die Listen in den program space ausgelagert sind und nicht in den EEPROM. Deshalb wollte ich es im code vorübergehen anpassen um es nicht jedes Mal nach dem Flashen aus der Zentrale ändern muss in der Einarbeitungszeit.

Da liegt noch sehr viel Arbeit vor mir und nicht auszuschließen das ich noch die ein oder andere dumme Frage stelle werde :D Vor allem komm ich eigentlich aus der Hardware und verwende eher C :wink:

Gruß
Reaktanz
Gerne.

Flash- und EEPROM Write/Erase Zyklen unterscheiden sich beim AVR um Faktor 10 (10k/100k), deswegen möchte man Konfigurationen i.d.R. im EEPROM speichern.

Als Alternative zum Geräte RESET kannst du auch neue defaults flashen und dabei den EE löschen lassen, also Fuse EESAVE aus:
https://github.com/TomMajor/SmartHome/t ... Bootloader
Dann sollten die 300s auch sofort gehen.
Viele Grüße,
Tom

Antworten

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