Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

HMSteve
Beiträge: 537
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von HMSteve » 24.05.2021, 22:14

Hallo zusammen,

letztes Jahr wurde auch mein Kombisensor OC3 bzw. HM-WDS100-C6-O-2
kombisensor.jpg
dank fortschreitender Korrosion u.a. eines Stuetzkondensators nebst Leiterbahnen erst zum Batteriefresser und fiel dann ganz aus. Eine Forensuche foerderte diverse aehnliche Berichte zu Tage. Da mir der Sensor mechanisch recht gut gefaellt und diesbezueglich auch noch in einem hervorragenden Zustand ist, die Platine aber bereits irreparabel korrodiert war, habe ich das Innenleben des Sensors durch ein komplett neu entwickeltes ersetzt.
main_encl.jpg
main_bot.jpg
Abgesehen vom Bestuecken zweier DFNs duerfte der Nachbau recht unproblematisch sein. Da ich bzgl. der Schnittstelle zur CCU i.W. den Originalsensor nachimplementiert habe, ist kein Addon auf der CCU erforderlich. Dies war eines meiner Ziele, die Hardware meldet sich mit dem bekannten device model.

Alles weitere findet sich hier: https://github.com/HMSteve/HB-WDS100-C6-O-2

Viel Spass beim Wiederbeleben Eurer Wettersensoren,
Stephan

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von jp112sdl » 24.05.2021, 22:23

Echt krass viel Mühe, die du da reingesteckt hast in das ganze PCB Design :shock:

Am Code kann man noch feilen... du verwendest einen 1284P... das Original kam mit nem 168P aus! *nur Spassss* :lol: :lol: :lol: :wink: :wink: :wink:


Das ist ja dann nahezu identisch mit dem Original?

VG,
Jérôme ☕️

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

HMSteve
Beiträge: 537
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von HMSteve » 25.05.2021, 22:21

jp112sdl hat geschrieben:
24.05.2021, 22:23
Das ist ja dann nahezu identisch mit dem Original?
Das Verhalten sollte nahezu identisch zum Original sein, ausser der logarithmischen Ausgabe der Helligkeit. Zudem habe ich den live mode weggelassen, dessen Nutzen sich mir nie erschloss, kann ja aber hinzu bauen, wer's braucht.

Die Hardware zumindest meines Originals basierte jedoch auf einem EFM32. Damit, ebenso wie dem STM32, habe ich mich noch nie befasst und wollte nicht, dass das Projekt noch ein halbes Jahr laenger dauert, deswegen der gute alte ATMega.
In der Tat haette ein 328p wohl auch gereicht, aber bei dem kaprizioesen Wetter heutzutage kann etwas Platzreserve fuer kuenftige Erweiterungen ja nicht schaden :lol:

Viele Gruesse,
Stephan

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von jp112sdl » 25.05.2021, 22:29

HMSteve hat geschrieben:
25.05.2021, 22:21
Die Hardware zumindest meines Originals basierte jedoch auf einem EFM32.
Ah okay, dann ist der HM-WDS100-C6-O-2 von der Hardware wesentlich anders als der HM-WDS100-C6-O / KS550.
Von dem hab ich hier 3 Platinen zu liegen und da ist ein 168P drauf.
HMSteve hat geschrieben:
25.05.2021, 22:21
Das Verhalten sollte nahezu identisch zum Original sein
Die Direktverknüpfung bei Überschreiten der Windgeschwindigkeit fehlt, oder hab ich das übersehen?

VG,
Jérôme ☕️

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

HMSteve
Beiträge: 537
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von HMSteve » 26.05.2021, 21:48

jp112sdl hat geschrieben:
25.05.2021, 22:29
Die Direktverknüpfung bei Überschreiten der Windgeschwindigkeit fehlt, oder hab ich das übersehen?
Stimmt, hatte ich zwar im xml gesehen, aber dann verdraengt, da nicht gebraucht und nicht verstanden :roll: .
Was waere denn da zu tun ausser Ergaenzung von list 1 und 4 um die Parameter? Wie muesste die Message aussehen, die bei Ueberschreiten der Windschwelle zusaetzlich gesendet wird? Ist ausserdem noch etwas zu ergaenzen?

Viele Gruesse,
Stephan

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von jp112sdl » 26.05.2021, 22:00


VG,
Jérôme ☕️

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

HMSteve
Beiträge: 537
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von HMSteve » 29.05.2021, 23:05

Danke, Jérôme! Funktioniert soweit. Was ich jedoch noch nicht verstehe: Obere und untere Windgeschwindigkeitsschaltschwelle kann man ja in der List1 frei einstellen. Warum sendest Du dann nicht die tatsaechlich gemessene Windgeschwindigkeit in der Message, die nach Reissen einer der Schwellen generiert wird, sondern statisch definierte Werte STORM_COND_VALUE_HI bzw. _LO? Dadurch koennen doch absurde Configs auftreten, bei denen beide dieser Werte unterhalb der unteren oder oberhalb der oberen eingestellten Schaltschwelle liegen, so dass die Auswertung in der Direktverknuepfung nicht mehr sinnvoll funktioniert? Oder uebersehe ich da etwas?

Bei meinem Test mit verknueftem Schaltaktor laeuft dies hier jedenfalls wunschgemaess:

Code: Alles auswählen

      
      DPRINT("current windspeed km/h  = ");DDECLN(ws);

      static uint8_t STORM_COND_VALUE_Last = 0;
      static uint8_t STORM_COND_VALUE      = 0;

      if (stormUpperThreshold > 0) {
        if (ws >= stormUpperThreshold || ws <= stormLowerThreshold) {
          static uint8_t evcnt = 0;
          if (ws >= stormUpperThreshold) STORM_COND_VALUE = 1;
          if (ws <= stormLowerThreshold) STORM_COND_VALUE = 0;          

          if (STORM_COND_VALUE != STORM_COND_VALUE_Last) {
            SensorEventMsg& rmsg = (SensorEventMsg&)device().message();
            DPRINT(F("PEER THRESHOLD DETECTED : ")); DDECLN(STORM_COND_VALUE);
            rmsg.init(device().nextcount(), number(), evcnt++, ws, false , false);           
            device().sendPeerEvent(rmsg, *this);
          }
          STORM_COND_VALUE_Last = STORM_COND_VALUE;
        }
      }
Viele Gruesse,
Stephan

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von jp112sdl » 29.05.2021, 23:19

HMSteve hat geschrieben:
29.05.2021, 23:05
Warum sendest Du dann nicht die tatsaechlich gemessene Windgeschwindigkeit in der Message, die nach Reissen einer der Schwellen generiert wird, sondern statisch definierte Werte STORM_COND_VALUE_HI bzw. _LO?
In der HM Welt ist es üblich, definierte Entscheidungswerte bei Über- bzw. Unterschreiten einer Condition zu senden (so auch z.B. beim Stromsensor).
Bildschirmfoto 2021-05-29 um 23.18.32.png
Die Werte werden eigentlich in der DV (List3) je Peer definiert.
Darauf habe ich verzichtet und die Standard-Vorlage aus der DV (100/200) hart kodiert.
Siehe auch https://github.com/jp112sdl/HB-UNI-Sen- ... U_DV_Sturm

VG,
Jérôme ☕️

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

HMSteve
Beiträge: 537
Registriert: 20.08.2019, 06:23
Hat sich bedankt: 13 Mal
Danksagung erhalten: 95 Mal

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von HMSteve » 30.05.2021, 08:49

Hmm, im xml des Wettersensors ist zwar definiert

Code: Alles auswählen

        <value id="SHORT_COND_VALUE_LO" value="0x05"/>
        <value id="SHORT_COND_VALUE_HI" value="0x19"/>
aber das kommt gar nicht zum Zuge. In der Direktverknuepfung werden immer die Schaltschwellen des Sensors aus list1 als Entscheidungswerte auf die Aktorseite uebernommen, aendern kann ich die auf Aktorseite nicht:
dv.JPG
Wuerde ich nun (bspw) immer entweder 100 oder 200 senden, wuerde ich nie eine "kleiner als" Bedingung erfuellen koennen. Irgendwas passt da also noch nicht.

Viele Gruesse,
Stephan

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Wiederbelebung Wetter-Kombisensor mit neuer Elektronik

Beitrag von jp112sdl » 30.05.2021, 09:05

HMSteve hat geschrieben:
30.05.2021, 08:49
Wuerde ich nun (bspw) immer entweder 100 oder 200 senden, wuerde ich nie eine "kleiner als" Bedingung erfuellen koennen. Irgendwas passt da also noch nicht.
Bei ÜBERschreiten wird 200 gesendet, bei UNTERschreiten wird 100 gesendet.

Das kommt dann beim Aktor an.
Im Verknüpfungspartner (Aktor) kannst du dann mit SHORT_COND_VALUE_LO und _HI sowie den darüber angezeigten JT-Bedingungen (X LT_COND_VALUE...) einstellen, was der Aktor nun machen soll.
z.B. bei 200 Einschalten, bei kleiner 200 ausschalten usw.

Das was in deinem Screenshot zu sehen ist (links), ist der Wert ab wann 200 gesendet werden soll (über 44) und wann 100 gesendet werden soll (unter 33).

Aber ganz ehrlich: Ich würd da jetzt kein Studium draus machen.
Wenn deins so geht und ggf. mehr Komfort bietet als ursprünglich, dann belass es so. :D

VG,
Jérôme ☕️

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

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“