Neue Firmware für HM_LC_Sw1PBU_FM mit getrenntem Aktor, Taster + Wechselschalter

Begonnen von jab, 29 Dezember 2013, 22:04:10

Vorheriges Thema - Nächstes Thema

jab

Abend,

ok es geht nur um die LED. Die war bisher nur Debugging. Die beiden (virtuellen) Relays konkurrieren also um die gleiche LED. Beim Peering geht sie danach auch aus. Dann habe ich es auch verstanden :-).


Gruß,
Jan

Samsi

Hallo,

nein, nicht nur um die LED, auch der Status im Webfrontend wird geändert, obwohl sich die REalystellung nicht geändert hat.

Sorry, gerade noch mal getestet, Du hast Recht.

Grüße

PS: Vielleicht ist später auch ein reading sinnvoll "Kein Verbraucher" das gesetzt wird, wenn das relay vonm Stromlosen Zustand in den nächsten wechselt und dort immer noch kein Strom ist.
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

jab

Abend,
Zitat von: Samsi am 14 Februar 2014, 23:03:42
nein, nicht nur um die LED, auch der Status im Webfrontend wird geändert, obwohl sich die REalystellung nicht geändert hat.
Ok das sollte nicht passieren. CH3 ist ja das virtuelle Relay. Per FHEM bekomme ich das auch nicht reproduziert. Ich teste das noch mal mit einem echten Taster und guck woran es liegt.


Zitat von: Samsi am 14 Februar 2014, 23:03:42
PS: Vielleicht ist später auch ein reading sinnvoll "Kein Verbraucher" das gesetzt wird, wenn das relay vonm Stromlosen Zustand in den nächsten wechselt und dort immer noch kein Strom ist.
Muss ich noch mal schauen wie wir das über Funk übertragen. Ansonsten technisch kein Problem.


Gruß,
Jan

Samsi

Hallo Jan,

ich hab in meinem vorigen post das durchgestrichen, ein neuer Status wird in der Situaton nicht übertragen. Allerdings habe ich eben noch etwas ausführlicher getestet, es gibt eine Situation, wenn Strom fließt, und ich schalte am Taster aus, dann wird das Relais geschaltet aber nicht der neue Status von CH3 übertragen. Sprich CH3 war aus und nach dem Schalten des Relais war er immer noch aus. Nach Deinem Modell müsste das aber dann sein.

Grüße

EDIT: Ich habe es eben noch mal ausführlich getestet und dabei extra langsam geschaltet (5-10 Sekunden zwischen jedem Schaltvorgang). Anfangs ging es etliche male hintereinander gut, so wie es sollte, dann hatte ich aber eine Serie (4x hintereinander, aber auch mit 5-10 sekunden dazwischen), da hab ich immer mit dem Wechselschalter eingeschaltet und mit dem internen Taster ausgeschaltet, das Relais hat sich geändert ohne das sich CH3 geändert hatte (war also immer aus). CH4 wurde immer korrekt übertragen.
Ist jetzt nicht wirklich schlimm (es sei denn es deutet auf andere Probleme hin, vielleicht wiel Du einen Funkbefehl an vom Aktor an den Aktor selbst schickst, wenn ich das richtig verstanden habe), denn im Grunde braucht man ja nur den einen oder den anderen Channel, je nachdem ob man eine Wechselschaltung macht oder nicht.

FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

jab

Hi,

so ich habe gerade ein update gepushed. Die unnötigen Status Meldungen werden jetzt verhindert. Channel 4 schickt nur noch eine Nachricht wenn sich wirklich was verändert hat.

Zitat von: Samsi am 14 Februar 2014, 23:17:30
Sprich CH3 war aus und nach dem Schalten des Relais war er immer noch aus. Nach Deinem Modell müsste das aber dann sein.
Kannst du da ggf mal die Rohmessages aufzeichnen? Evtl geht die zweite Nachricht verloren. Das sollte eigentlich nicht passieren. Hast du gute Funkbedingungen zum Gerät?

Die LED hab ich mir auch noch mal angesehen. Sie spiegelt den Status von CH3/SW1 wieder wie beim Originalaktor. AUS => Relay auf S1, AN => Relays auf S2. Beim Peering oder Übertragung auf der Seriellenkonsole (debugging) geht der LED Status auf aus. Beim nächsten Schalten stimmt er dann wieder.


Gruß,
Jan

Samsi

ZitatChannel 4 schickt nur noch eine Nachricht wenn sich wirklich was verändert hat.
Super, dann kann ich den vielleicht morehn einbauen und produktiv verwenden. Und dann werde ich das verhalten noch mal genau testen.

Funkverbindung ist eigentlich gut, der HMLAN ist direkt 2Meter darüber. Ist zwar eine Betondecke, aber ich habe bnache bisherigen Wissen noch keine Schaltbefehle verloren.
Wenn ich ihn aber im Bestimmungsort einbaue, sind es 5m Sichtverbindung.

Zur LED: Wäre vielleicht sinvoller die LED mit dem Strom zu koppeln, dann wäre sie auch immer Synchron mit dem Verbraucher. Eine LED die je nach schalterstellung des Wechselschalters mal synchron ist und mal nicht, hat wohl eher einen Informationsgehalt der gegen null geht ;)

Interessant  wäre wenn die LED einen eigenen Channel hätte und man damit z.B. das Ende eines Waschvorgangs anzeigen könnte oder ob alle Fenster im Haus geschlossen sind. Momentan wüsste ich allerdings nicht, wie ich die LED hinter der Wippe überhaupt sichtbar machen könnte (mein Versuch das Licht per Glasfaser vor die Wippe zu bringen, ist leider nicht erfolgreich gewesen und auslöten will ich die auch nicht). Und solange mir dafür keine vernünftige Lösung einfällt, ist die LED ohnehin ohne nutzen. Vielleicht hat ja jemand noch eine andere Idee.

Grüße

FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

jab

Zitat von: Samsi am 15 Februar 2014, 17:57:48
Zur LED: Wäre vielleicht sinvoller die LED mit dem Strom zu koppeln, dann wäre sie auch immer Synchron mit dem Verbraucher. Eine LED die je nach schalterstellung des Wechselschalters mal synchron ist und mal nicht, hat wohl eher einen Informationsgehalt der gegen null geht ;)
Das kannst du ändern in der Asksin_HM_LC_Sw1PBU_FM.ino und zwar hier (Zeile 219):

        if (cnl == 3) { // cnl 3 => switch, cnl 4 => wechselschalter
          if (curStat == 3)
          {
            hm.ld.set(1);
          } else {
            hm.ld.set(0);
          }
        }


Zitat von: Samsi am 15 Februar 2014, 17:57:48
Interessant  wäre wenn die LED einen eigenen Channel hätte und man damit z.B. das Ende eines Waschvorgangs anzeigen könnte oder ob alle Fenster im Haus geschlossen sind. Momentan wüsste ich allerdings nicht, wie ich die LED hinter der Wippe überhaupt sichtbar machen könnte (mein Versuch das Licht per Glasfaser vor die Wippe zu bringen, ist leider nicht erfolgreich gewesen und auslöten will ich die auch nicht). Und solange mir dafür keine vernünftige Lösung einfällt, ist die LED ohnehin ohne nutzen. Vielleicht hat ja jemand noch eine andere Idee.
Ist sehr einfach umzusetzen. Gibt dann keine Status LED mehr. Aktuell ist das noch eher auf Kompatibilität zum Original gebaut. Wenn wir die 41er Nachrichten noch einbauen, dann kann man sogar durch ein internes Peering und entsprechendes Registern die LED entsprechend steuern. Wenn du das wirklich nutzen willst bau ich das ein.


Gruß,
Jan

Samsi

Hallo Jan,

habe das heute noch mal getestet. Leider bekomme ich immer noch die vielel Statusmeldungen, wenn kein Strom da ist. Vermutlich hast Du jetzt was anderes korrigiert, weil ich fälschlicherweise davon gesprochen habe, das er den Stromstatus sendet.

Ich meinte aber die Meldungen von dem Beitrag: http://forum.fhem.de/index.php/topic,18071.msg128295.html#msg128295 und die kommen immer noch, wenn ich am Wechselschalter ausschalte, auch mit der Änderung von gestern. (die häufigen Meldungen könnten natürlich auch der Grund für die anderen Probleme sein, wenn da Massages kollidieren)

14-02-16 12:07:10 CUL_HM licht_kellerFlur_Sw_02 off
2014-02-16 12:07:10 CUL_HM licht_kellerFlur_Sw_02 timedOn: off
2014-02-16 12:07:11 CUL_HM licht_kellerFlur_Sw_02 level: 0 %
2014-02-16 12:07:11 CUL_HM licht_kellerFlur_Sw_02 pct: 0
2014-02-16 12:07:11 CUL_HM licht_kellerFlur_Sw_02 deviceMsg: off (to HMLAN1)
2014-02-16 12:07:11 CUL_HM licht_kellerFlur_Sw_02 off
2014-02-16 12:07:11 CUL_HM licht_kellerFlur_Sw_02 timedOn: off
2014-02-16 12:07:13 CUL_HM licht_kellerFlur_Sw_02 level: 0 %
2014-02-16 12:07:13 CUL_HM licht_kellerFlur_Sw_02 pct: 0
2014-02-16 12:07:13 CUL_HM licht_kellerFlur_Sw_02 deviceMsg: off (to HMLAN1)
2014-02-16 12:07:13 CUL_HM licht_kellerFlur_Sw_02 off
2014-02-16 12:07:13 CUL_HM licht_kellerFlur_Sw_02 timedOn: off
2014-02-16 12:07:15 CUL_HM licht_kellerFlur_Sw_02 level: 0 %
2014-02-16 12:07:15 CUL_HM licht_kellerFlur_Sw_02 pct: 0
2014-02-16 12:07:15 CUL_HM licht_kellerFlur_Sw_02 deviceMsg: off (to HMLAN1)
2014-02-16 12:07:15 CUL_HM licht_kellerFlur_Sw_02 off
2014-02-16 12:07:15 CUL_HM licht_kellerFlur_Sw_02 timedOn: off
2014-02-16 12:07:16 CUL_HM licht_kellerFlur_Sw_02 level: 0 %
2014-02-16 12:07:16 CUL_HM licht_kellerFlur_Sw_02 pct: 0
2014-02-16 12:07:16 CUL_HM licht_kellerFlur_Sw_02 deviceMsg: off (to HMLAN1)
2014-02-16 12:07:16 CUL_HM licht_kellerFlur_Sw_02 off
2014-02-16 12:07:16 CUL_HM licht_kellerFlur_Sw_02 timedOn: off
2014-02-16 12:07:18 CUL_HM licht_kellerFlur_Sw_02 level: 0 %
2014-02-16 12:07:18 CUL_HM licht_kellerFlur_Sw_02 pct: 0
2014-02-16 12:07:18 CUL_HM licht_kellerFlur_Sw_02 deviceMsg: off (to HMLAN1)
2014-02-16 12:07:18 CUL_HM licht_kellerFlur_Sw_02 off
2014-02-16 12:07:18 CUL_HM licht_kellerFlur_Sw_02 timedOn: off
2014-02-16 12:07:19 CUL_HM licht_kellerFlur_Sw_02 level: 0 %
2014-02-16 12:07:19 CUL_HM licht_kellerFlur_Sw_02 pct: 0
2014-02-16 12:07:19 CUL_HM licht_kellerFlur_Sw_02 deviceMsg: off (to HMLAN1)
2014-02-16 12:07:19 CUL_HM licht_kellerFlur_Sw_02 off
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

jab

Hi Samsi,

so sollte das nicht aussehen. Ich teste das ohne Last aktuell. Ganz ohne passiert das zumindest bei mir nicht. Hast du ein Testbed?

Es gibt zwei Dinge die man potentiell ändern könnte:
- minImpulsLength erhöhen (falls es irgendwelche ausreißer gibt). Ich denke irgendwas zwischen 1 und 2,5k sollte ok sein. Zumindest hatten wir bisher kein Gerät mit einem kleineren Wert
- folgenden Block entfernen:

                // If pin is currently high (and has not been low during the period)
                if (currentImpulsStart != 0 && micros() - currentImpulsStart > minImpulsLength)
                {
                  currentSense = true;
                }

Der Code fängt nur den Fall ab, dass der Strom maximal ist und niemals unter den Schwellwert fällt. Auch das hat bisher keiner geschafft. Aber es ist eine potentielle Fehlerquelle.


Gruß,
Jan

Samsi

ZitatHast du ein Testbed?
Ja, könnte man so nennen ;)

Also wenn ich den Aktor nur mit 3.3v und ohne das Relay-Board betreibe, bekomme ich auch keine messages.

Bei meinem Versuchsaufbau mit echten Verbraucher, bekomme ich die Meldungen im 2 Sekundentakt,  sobald ich den Verbraucher abklemme oder mit dem Wechselschalter ausschalte.

Ich schau mir das mal mit den vorgeschlagenen Änderungen an.

Grüße
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

Samsi

Also bei minImpulsLength 2500, kommen die Meldungen immer noch. Ich werde es morgen noch mal ohne den IF-Bock testen.

Grüße
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

Samsi

Hallo Jan,

ich habe es noch mal mit einer minImpulsLength von 5000 versucht und auch ohne IF-Block , aber die Messages kommen weiter im 2-Sekundentakt.

Grüße
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

jab

Hi Samsi,

das ist komisch. Das heißt dass es einen längeren Impuls gibt. Vielleicht sollten wir die Impulse besser zählen. Oder wir mitteln über 100ms. Da muss ich mir noch was überlegen. Was überträgt er denn als Messwert bei dir?


Gruß,
Jan

Samsi

Hallo Jan,

ja das ist sehr komisch. Heute morgen wollte ich schnell mal schauen, was da für Current-Werte dazwischen gesendet werden: Ich schließe meinen Aufbau also an das Stromnetz an (genau so wie ich ihn am Abend zuvor verlassen habe) und denk ich falle vom Glauben ab. Der Verbraucher (also die LED Lampe) war eingeschaltet. SW02 hat im Abstand von 2 Sekunden seine Meldungen gebracht. Nach 4 oder 5 mal  hörte das dann aber auf. Na gut, dachte ich, vielleicht nur ein paar undefinierte Zustände nach dem Einschalten.
Ich schalte den Verbraucher am Wechselschalter ab und was passiert? Keine Meldungen mehr im 2 sekundentakt.  :o  Den Current wert beobachtet: 4 oder 5 mal hintereinander (also im Abstand von 30 sekunden oder so) Current: 1
Ok, noch mal am Wechsleschalter eingeschaltet, current steigt auf knapp 3000. Ausgeschaltet, current sinkt und beim 2 oder dritten Wert (wegen der Mittelung) war er dann 0. Normales verhalten würde ich sagen.

Ich habe dann die Schaltung noch mehrmals für ein paar Sekunden stromlos gemacht um zu sehen, ob sich das Einschaltverhalten (also wiederholtes senden) bei bereits eingeschaltetem Verbraucher reproduzieren lässt. Nichts.
Dann habe ich das Einschaltverhalten bei Ausgeschaltetem Verbraucher noch mal überprüft. Da ist mir aufgefallen, das der erste wert Current:1 oder auch mal Current:3 war.
Aber das wiederholte Senden im 2 Sekundentakt ist nicht mehr aufgetreten.

Ich werde das heute Abend auch noch mal ausführlicher testen, aber vielleicht hast Du ja so schon eine Idee oder etwas auf das ich besonders acht geben soll.

Grüße








FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM

Samsi

So, hier noch mal ein Test. Angehängt, damit es nicht so unübersichtlich wird hier.

Getestet mit auskommentiertem IF Block

Grüße

Später mach ich den Test noch mal mit minImpulsLength 5000
FHEM 5.5 / BBB Debian Wheezy

Homematic CFG-LAN

HM-Sec-MDIR / HM-Sec-SD / HM-Sec-WDS / HM-LC-Sw2-FM / HM-Sec-SC / HM-LC-Sw1PBU-FM / HM-SCI-3-FM / HM-Sec-Key / HM-RC-Key3-B / HM-LC-Dim1TPBU-FM /  HM-CC-RT-DN / HM-PBI-4-FM / HM-RC-Key4-2 / HM-ES-PMSw1-Pl / HM-LC-Sw4-WM