Autor Thema: Selbstbau HM_WDS10_TH_O mit Luftdruckmessung  (Gelesen 565645 mal)

Offline Gernott

  • Full Member
  • ***
  • Beiträge: 428
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3030 am: 23 August 2019, 20:22:10 »
1,5 war auch Mist. Bin jetzt auf 750ms. Mal sehen wie es üner Nacht aussieht. Hoffentlich gibt es da nicht noch ein anderes Problem.
Ich war einige Tage unterwegs und hatte nach 600 ms mit vielen Aussetzern dann mal 700 ms gesetzt. Damit ist er 3 Tage nur mit je einem Aussetzer pro Tag gelaufen. Ich werde es nun mal feinfühlig erhöhen und mal sehen, wie es sich entwickelt.


Offline Gernott

  • Full Member
  • ***
  • Beiträge: 428
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3031 am: 23 August 2019, 20:33:34 »
Gernott hat also den richtigen Hinweis geliefert. Danke!
Komischerweise, kann ich den Sketch lediglich einmal aufspielen, nachdem ich den Bootloader gebrannt habe. Dann klappt es nicht mehr, bis ich wiederrum den Bootloader erneut brenne. Aber damit kann ich leben.
Bitte, gerne. Vielleicht habe ich ja noch einen. Vor etlichen Wochen hatte ich dieses Problem auch. Prüfe mal nach dem Flashen des Bootloaders, ob die Fuses noch stimmen. Aus mir unerfindlichen Gründen haben die sich dabei jedesmal verstellt und der Sketch hat den Bootloader überschrieben. Ging natürlich dann nur ein Mal, wie bei Dir.  Nachdem ich die Fuses wieder korrigiert hatte, konnte ich dann den Sketch hochladen, ohne den Bootloader jedes Mal zu überschreiben (siehe hier).
« Letzte Änderung: 25 August 2019, 11:43:57 von Gernott »

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1489
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3032 am: 23 August 2019, 22:01:24 »
Ich war einige Tage unterwegs und hatte nach 600 ms mit vielen Aussetzern dann mal 700 ms gesetzt. Damit ist er 3 Tage nur mit je einem Aussetzer pro Tag gelaufen. Ich werde es nun mal feinfühlig erhöhen und mal sehen, wie es sich entwickelt.
So gut sieht es bei mir nicht aus. Ich vermute aber auch, das ich auch schlechten Empfang habe, da das Thermostat unterm Dach und der Sensor im Keller ist (2 Etagen dazwischen). Da kann schon mal was verloren gehen.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire
Informativ Informativ x 1 Liste anzeigen

Offline Gernott

  • Full Member
  • ***
  • Beiträge: 428
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3033 am: 25 August 2019, 11:18:35 »
Kurzes Update:
Hatte von 700 ms (1 Aussetzer/Tag) auf 750 ms gestellt. Da hatte ich wieder 10 Aussetzer pro Tag. Jetzt läuft es mit 740 ms seit einem Tag synchron und die Temperaturkurven sind auch ziemlich parallel. Das Optimum scheint (bei mir?) dann also in diesem Bereich zu liegen.
« Letzte Änderung: 25 August 2019, 11:48:36 von Gernott »

Offline Spezialtrick

  • Hero Member
  • *****
  • Beiträge: 1002
Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3034 am: 25 August 2019, 16:29:25 »
Bitte, gerne. Vielleicht habe ich ja noch einen. Vor etlichen Wochen hatte ich dieses Problem auch. Prüfe mal nach dem Flashen des Bootloaders, ob die Fuses noch stimmen. Aus mir unerfindlichen Gründen haben die sich dabei jedesmal verstellt und der Sketch hat den Bootloader überschrieben. Ging natürlich dann nur ein Mal, wie bei Dir.  Nachdem ich die Fuses wieder korrigiert hatte, konnte ich dann den Sketch hochladen, ohne den Bootloader jedes Mal zu überschreiben (siehe hier).

Sieht gut aus, ich habe keine Idee warum das serielle Flashen dann nur einmal geht.

Ich setze sicherheitshalber immer noch die BLB1 Fuse so (2. Bild):
https://github.com/TomMajor/SmartHome/tree/master/Info/Bootloader#standard-bootloader-atmega328p-rc-oszillator-oder-quarz-8mhz
Dann kann die Application nie den bootldr überschreiben (zumindest in der Theorie  ;) )

Genauso war es bei mir. Nachdem Flashen des Bootloaders wurden die Fuses immer wieder verändert. Insbesondere wurde die Lock Fuse immer mit 0xFF gesetzt.
Nachdem ich diese auf 0xEF geändert habe, kann ich nun immer wieder einen Sketch aus der IDE flashen.  :)

UV Sensor: mal die customData in Sketch und Perl script anschauen. damit kann man quasi jedes beliebige reading aus den customData für FHEM erzeugen, auch einen UV-Index.

Im Fhem Modul findet sich ja dieser Teil zum CustomData:

# 16bit customData, ab Firmware 0x13
        $stateMsg .= ' X: ' . $customData;
        push (@events, [$shash, 1, 'customData:' . $customData]);

Und im Sensor Sketch dieser Teil:

#ifdef SENSOR_VEML6070
        veml6070.measure();
        // Beispiel custom payload, 4bit für UV-Index (integer 0..11)
        uint8_t uvi = veml6070.uvIndex();
        customData &= 0xFFF0;
        customData |= (uvi & 0x0F);

@Tom Major: Könntest du mir hierzu ein paar weiterführende Tipps geben? Ich habe ehrlich gesagt keine Idee wo ich ansetzen soll, weil ich den Code nicht lesen kann. Analog zu den anderen Messwerten die mit dem Weather Event gesendet werden, könnte der Teil im Fhem Modul doch irgendwie so lauten:

# 16bit customData, ab Firmware 0x13
        my $customData = customData &= 0xFFF0;
        $stateMsg .= ' X: ' . $customData;
        push (@events, [$shash, 1, 'customData:' . $customData]);

Soweit die UV-Messung überhaupt an Fhem übertragen wird. ???
« Letzte Änderung: 25 August 2019, 17:11:17 von Spezialtrick »
FHEM - ZBox - Homematic - Sonos - MiLight -Homekit

Offline Tom Major

  • Full Member
  • ***
  • Beiträge: 440
    • TomMajor@github
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3035 am: 25 August 2019, 17:40:55 »

@Tom Major: Könntest du mir hierzu ein paar weiterführende Tipps geben? Ich habe ehrlich gesagt keine Idee wo ich ansetzen soll, weil ich den Code nicht lesen kann. Analog zu den anderen Messwerten die mit dem Weather Event gesendet werden, könnte der Teil im Fhem Modul doch irgendwie so lauten:

# 16bit customData, ab Firmware 0x13
        my $customData = customData &= 0xFFF0;
        $stateMsg .= ' X: ' . $customData;
        push (@events, [$shash, 1, 'customData:' . $customData]);

Soweit die UV-Messung überhaupt an Fhem übertragen wird. ???

Ab Firmware 1.3 ist die customData immer in der Message dabei.
So müsste es ungefähr gehen (ungetestet)
        # UV-Index VEML6070
        my $uvindex =  $customData & 0x000F;
        $stateMsg .= ' U: ' . $uvindex;
        push (@events, [$shash, 1, 'UV-Index:' . $uvindex]);

Falls das geht ? kann ich das als Beispiel in dem Skript einkommentiert mit aufnehmen.

Du musst nach Änderung mindestens ein reload des Skripts machen oder FHEM Neustart.
FHEM 5.x auf Raspberry Pi 3 | OWServer mit I2C/DS2482 | 1-Wire 6fach S0-Stromzähler ATtiny/DS2423 Emu. | Heizungs-Mon. mit Firmata (mighty-1284p) | Ölstand-Mon. mit Ultraschall, RFM69 und JeeLink
RaspberryMatic HM Zentrale | diverse HM Devices | AskSinPP Devices

Offline Spezialtrick

  • Hero Member
  • *****
  • Beiträge: 1002
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3036 am: 25 August 2019, 21:34:51 »
Ab Firmware 1.3 ist die customData immer in der Message dabei.
So müsste es ungefähr gehen (ungetestet)
        # UV-Index VEML6070
        my $uvindex =  $customData & 0x000F;
        $stateMsg .= ' U: ' . $uvindex;
        push (@events, [$shash, 1, 'UV-Index:' . $uvindex]);

Falls das geht ? kann ich das als Beispiel in dem Skript einkommentiert mit aufnehmen.

Das scheint zu funktionieren.  :)

Zumindest wird das Reading im Sensor angezeigt. Derzeit logischerweise ohne UV Strahlung.  :D Ich melde mich morgen, wenn die Sonne wieder scheint.

Herzlichen Dank schon mal!
FHEM - ZBox - Homematic - Sonos - MiLight -Homekit

Offline Tom Major

  • Full Member
  • ***
  • Beiträge: 440
    • TomMajor@github
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3037 am: 26 August 2019, 01:10:28 »
ok, sehr gut.
Ich denke bei Sonne sollte jetzt einem UVI > 0 in FHEM nichts im Wege stehen.  :)
FHEM 5.x auf Raspberry Pi 3 | OWServer mit I2C/DS2482 | 1-Wire 6fach S0-Stromzähler ATtiny/DS2423 Emu. | Heizungs-Mon. mit Firmata (mighty-1284p) | Ölstand-Mon. mit Ultraschall, RFM69 und JeeLink
RaspberryMatic HM Zentrale | diverse HM Devices | AskSinPP Devices

Offline Gernott

  • Full Member
  • ***
  • Beiträge: 428
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3038 am: 29 August 2019, 19:42:49 »
Finales Update zu meinen Versuchen mit papa's AsksinPP-async. Mit einem EXTRAMILLIS zwischen 720 und 740 ist die Verbindung zum HM-CC-RT-DN stabil. Ich habe den Code zur Berechnung der Sendezeiten auch in den UniSensor1 von Tom implementiert, wo er ebenfalls stabil läuft.
Vielen Dank an papa und Tom für die Unterstützung.

Offline Tom Major

  • Full Member
  • ***
  • Beiträge: 440
    • TomMajor@github
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3039 am: 29 August 2019, 20:30:28 »
Finales Update zu meinen Versuchen mit papa's AsksinPP-async. Mit einem EXTRAMILLIS zwischen 720 und 740 ist die Verbindung zum HM-CC-RT-DN stabil. Ich habe den Code zur Berechnung der Sendezeiten auch in den UniSensor1 von Tom implementiert, wo er ebenfalls stabil läuft.
Vielen Dank an papa und Tom für die Unterstützung.

Gut zu wissen.
Kannst du mal deinen aktuellen sketch posten? Dann nehme ich die Änderungen ev. als Kommentar mit in den UniSensor, in einem halben Jahr kommt sicher der nächste mit diesem Problem.  ;)
FHEM 5.x auf Raspberry Pi 3 | OWServer mit I2C/DS2482 | 1-Wire 6fach S0-Stromzähler ATtiny/DS2423 Emu. | Heizungs-Mon. mit Firmata (mighty-1284p) | Ölstand-Mon. mit Ultraschall, RFM69 und JeeLink
RaspberryMatic HM Zentrale | diverse HM Devices | AskSinPP Devices

Offline Gernott

  • Full Member
  • ***
  • Beiträge: 428
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3040 am: 29 August 2019, 20:52:03 »
Gut zu wissen.
Kannst du mal deinen aktuellen sketch posten? Dann nehme ich die Änderungen ev. als Kommentar mit in den UniSensor, in einem halben Jahr kommt sicher der nächste mit diesem Problem.  ;)
Hier ist er. Ich hatte noch den SHT31 dazugenommen, aus einem von papa's Beispielen.

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1489
Antw:Selbstbau HM_WDS10_TH_O mit Luftdruckmessung
« Antwort #3041 am: 29 August 2019, 21:08:40 »
Finales Update zu meinen Versuchen mit papa's AsksinPP-async. Mit einem EXTRAMILLIS zwischen 720 und 740 ist die Verbindung zum HM-CC-RT-DN stabil. Ich habe den Code zur Berechnung der Sendezeiten auch in den UniSensor1 von Tom implementiert, wo er ebenfalls stabil läuft.
Vielen Dank an papa und Tom für die Unterstützung.
Das klingt ja super. Dann muss ich das mal in den Master mergen. Der async-Branch ist eigentlich für was anderes.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

 

decade-submarginal