[gelöst] HM-MOD-EM-8 in Sensormode gepeert mit Schaltaktor: on/off tauschen

Begonnen von Torchwood, 13 Oktober 2017, 16:52:04

Vorheriges Thema - Nächstes Thema

Torchwood

Hallo zusammen,

ich habe einen Sendekanal eines HM-MOD-EM-8 Sendemoduls (Tasteingang) mit einem Schaltakor so gepeert, dass bei jedem Zustandswechsel eines Relaiskontakts auf Senderseite der Aktor ebenfalls dem Zustand folgt. Funktioniert soweit, dummerweise ist aber durch die Schaltung des Sendemoduls (low-aktiv) nun alles invertiert, da das Relais nur einen Arbeitskontakt hat und den Eingang (interner Pullup) nur auf Low ziehen kann. Im Ruhezustand ist die Lampe somit eingeschaltet und umgekehrt. Kann man das per Software (Registereinstellung) korrigieren. Ich habe schon die Register shCtOn und shCtOff geändert, aber dadurch wird auch das Webinterface invertiert, und ich möchte eigentlich den Wechsel nur bei Steuerung über das gepeerte Sendemodul haben :-(
Eine Steuerung über FHEM würde zu lange dauern, der Zustand soll schnellstmöglich übertragen werden, FHEM lauscht nur mit.

Hat jemand eine Idee?

Grüße
Volker

Christoph Morrison

Zitat von: Torchwood am 13 Oktober 2017, 16:52:04
Hat jemand eine Idee?

Inverter (z.B. einen CD4049 oder ein NOT-Gatter) zwischenschalten um den Zustand zu invertieren?

Torchwood

danke dafür, aber ich möchte Änderungen an der Hardware möglichst vermeiden da der Sender in einen Radarsensor gefrickelt ist und die Platzverhältnisse nicht viel Spielraum für nachträgliche Änderungen bieten  :(

Ich hatte eigentlich gedacht, dass beim Peering ein Satz senderbezogener Register im Aktor angelegt werden, die sich nur auf den gepeerten Sender beziehen. Blöd, dass das dann auch Auswirkungen auf der Weboberfläche hat. Die kann man natürlich auch verbiegen, aber ich sehe da aktuell nicht, wo das hinführt...

Pfriemler

#3
Beim EM-8bit kann man die Interpretation der Eingangsleitungen bitweise invertieren, der EM-8 hat diese Möglichkeit wohl nicht.
Invertiert verstehe ich aber nicht: ein an einen Tastereingang angeschlossener (Relais-)Kontakt gegen GND stellt ein aktives Signal dar (closed bei Statusübermittlung) dar. Ob und wie ein Aktor diesem Signal folgt, lässt sich prima im Aktor als Reaktion auf den Peer mit den den enstpechenden Schaltschwellen "ltLo" oder "geLo" einstellen - direkt oder invertiert. Eine dieser Manipulationen musst Du ja bereits vorgenommen haben, sonst toggelt der Aktor ja nur bei jedem zweiten Statuswechsel.

Eine zweite Möglichkeit besteht aber auch darin, statt des Tasteranschlusses TA einen Eingang IN zu verwenden, den man mit einem ausreichend großen Widerstand nach + dauerbeschaltet (bei Konfiguration als Statuseingang spielt das außer ein paar µA Strom ja keine Rolle) und mit dem Kontakt den Eingang nach GND kurzschließt. Dann hat man direkt am EM-8 eine umgekehrte Logik.

edit: Ich verstehe nicht, warum eine Manipulation an den Registern zu einem geänderten Verhalten an der Weboberfläche führen soll. Das musst Du vll. nochmal näher erklären. Ein Aktor schaltet mit "set xyz on" ein und mit "set ... off" aus. Wie der Aktor auf übermittelte Schaltschwellen eines peers reagiert, ist davon völlig unabhängig.

shCtOn regelt das Verhalten bei eingeschaltetem Aktor. Default geLo, bedeutet dass der Aktor bei der Ankunft eines Triggerwettes >50 (aus)schaltet. "closed" eines aktivierten EM-8-Eingangs sendet 200.
Für shCtOff gilt sinngemäß das gleiche. Eine Reaktion auf "open" (=0= erreicht man durch Setzen der Registerschwelle auf "ltLo". Je nachdem, ob man das für das Register shCtOn -oder- shCtOff macht, folgt dann der gepeerte Aktor der Aktivierung des Eingangs direkt oder invertiert.

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Torchwood

#4
Hallo Pfriemler,

danke für die kompetenten Erläuterungen. Also hardwaretechnisch geht das wohl nicht ohne gröbere Änderungen (und ich bin heilfroh, dass das Sendemodul aktuell dort ist wo und wie es ist  ;))
Laut Schaltplan kann man an den TA-Eingängen Taster anschließen, die man zum Schalten auf L ziehen muss (interner Pullup). Außerdem gibt es Spannungseingänge, die über einen internen Spannungsteiler auf Transistorstufen führen (Invertierung) und mit einem Spannungspegel geschaltet werden (H, oder offen). Intern liegt die Basis mit 100k an Masse, da muss der äußere Widerstand gegen + relativ klein ausfallen, könnte man aber mal ausprobieren. Hatte ich irgendwie anfänglich verworfen. Leider ist der schaltende Relaiskontakt kein Wechsler, nur Schließer.

Aktuell sind die relevanten Aktor-Register so belegt, was schon mal zum gewünschten Verhalten hinführt:

R-HM_MOD_Em_8_Btn_01-shCtOff ltLo
R-HM_MOD_Em_8_Btn_01-shCtOn geLo


In der Weboberfäche von FHEM muss ich aber jetzt off betätigen, dann schaltet der Aktor ein, bei on schaltet der Aktor aus. Damit hatte ich nicht gerechnet  :(
toggle schaltet tatsächlich in jedem Fall um. Vielleicht habe ich da noch was anderes durcheinandergebracht. An den internen Verknüpfungen war ich nicht dran.

Geschickt wäre es auch gewesen, beim Sender die Triggerwerte 0 und 200 zu tauschen, aber das geht nicht...


So, habe mich wohl selbst aufs Glatteis geführt. Infolge vorangegangener Versuche war nachfolgendes Attribut beim Aktor gesetzt, das musste weg!

attr HM_LC_SW1_FM eventMap on:off off:on


Jetzt funktionierts wie erwartet. Wie meistens saß das Problem vor der Tastatur. Ich lasse aber meine Gedankengänge mal so stehen, vielleicht hilfts ja jemandem weiter.
Problem gelöst, danke für den ausführlichen >Denkanstoß


Grüße
Volker


Pfriemler

Freut mich dass es jetzt geht, ganz ohne Bastelei. Und mit dem eventMap erklärt sich auch der Rest.

Nur das mit den 100k gegen GND ist noch ein Missverständnis: hier wird kein Logikpegel benötigt, sondern genug Strom für ein Durchsteuern des Eingangstransistors. Hier reichen 780 k gegen 5V. Die internen Pull-Ups am Tastereingang liegen mW bei ca 1M. Die Größenordnung ist also gleich.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Torchwood

Ok, das mit dem externen Widerstand werde ich bei Gelegenheit mal unter Laborbedingungen ausprobieren, wer weiß, wozu das nützlich ist  ;)

Ich merke, dass mein diskretes Halbleiterwissen doch arg gelitten hat...

Grüße
Volker