Stromstossschalter

Begonnen von mcbain2k, 19 Mai 2013, 10:34:59

Vorheriges Thema - Nächstes Thema

mcbain2k

Hallo Leute,
verfolge dieses Forum schon seit einiger Zeit bin echt begeistert.
Nun hänge ich aber einem Problem und komm einfach nicht weiter.

Ich möchte einen Stromstosschalter in Fhem programmieren.

Taster (Eingang) und Relais (Ausgang) sind Hardwaremäßig über Arduino mit Firmata angebunden.

define IN3 FRM_IN 3
attr IN3 room Arduino
attr IN3 stateFormat reading

define OUT05 FRM_OUT 26
attr OUT05 devStateIcon An:FS20.on Aus:FS20.off
attr OUT05 eventMap off:Aus on:An
attr OUT05 restoreOnReconnect off
attr OUT05 restoreOnStartup off
attr OUT05 room Arduino
attr OUT05 stateFormat value

define Arduino2_notify notify IN3.*on { if (Value("OUT05") eq "Aus") { fhem "set OUT05 An"} else { fhem "set OUT05 Aus"} }
attr Arduino2_notify room Arduino

Das Problem ist das der Ausgang wird nur für eine sehr kurze Zeite auf An gesetzt wird.

Danke schonmal

MFG McBain

Ralph

define HofLicht FS20 xxxx xx
attr HofLicht eventMap on:EIN off:AUS
attr HofLicht room Test

define nWS1HofOn notify HofLicht:EIN set WS1Hof on-for-timer 1

define WS1Hof FS20 yyyy yy
attr WS1Hof eventMap on:EIN off:AUS
attr WS1Hof room Test

wobei WS1Hof = http://www.elv.de/unterputz-funk-wechselschalter-fs20-ws1-komplettbausatz.html ,
das ist eigentlich ein Wechselschalter, dessen Kontakt für 1 sek ein- und sodann wieder ausgeschaltet wird.
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

mcbain2k

Danke

Aber Hardware ist vorhanden wie oben zu lesen.

Das Script in fhem soll einen stromstossschalter simulieren.
Nur muss dieser nur einmal pro Sekunde und oder entprellt reagieren.

Taster Drücken Relais Ausgang schaltet ein wenn aus und umgekehrt.

Ralph

Das sollte nur eine Denkanregung sein, Deine Hardwareumgebung ist mir unbekannt.

Obiges steuert ein Stromstoßrelais, welches dann Licht an- oder ausschaltet.

Entschuldige bitte, dass ich Dir einen Tipp geben wollte.
Es wird nicht wieder vorkommen.
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

mcbain2k

Sorry Ralph,

aber
ZitatTaster (Eingang) und Relais (Ausgang) sind Hardwaremäßig über Arduino mit Firmata angebunden.
beschreibt meine Hardware schon ziemlich genau.
Auch das ich ein Fhem-Script mit Stromstossschalter-Logik brauch und keinen Stromstossschalter ansteueren möchte steht in meinem 1. Post.
Hab mich aber evtl. etwas umständlich ausgedrückt.

Also nochmal das Fhem-Script sollte folgende Funktion erfüllen:

Durch drücken des Tasters soll das Relais anziehen (wenn es abgefallen war)
durch nochmaliges drücken des Tasters soll das Relais wieder abfallen usw.
http://de.wikipedia.org/wiki/Stromsto%C3%9Fschaltung

Ich halte eine Antwort keineswegs für selbstverständlich und deswegen weiß Deine Mühe auch zu schätzen, sogar mit Link usw.
Musste mich gestern kurz fassen weil ich unterwegs war und nicht viel Zeit hatte, wenn Du da was in den flaschen Hals bekommen,
oder ich dich in irgend einer Form beleidigt haben sollte tut es mir Leid.



abc2006

Hi,

vielleicht liege ich völlig falsch, aber mir würde sofort ein


on-for-timer 3


oder ein


set OUT5 on;; define OUT5_AUS at +00:00:01 set OUT5 off

einfallen ... ?

lg
stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

stromer-12

Sollte das nicht durch die "toggle" Funktion erreicht werden?
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

Puschel74

Hallo,

on-for-timer ist, glaube ich, nur FS20 vorbehalten und keine Eigenschaft von FHEM - zumindest nicht vom Arduino.
Ich kann damit natürlich auch daneben liegen.

Der Arduino wird also mit on-for-timer oder toogle nicht viel anfangen können.
Es wird somit nur der Weg über Stephans Vorschlag
Zitatset OUT5 on;; define OUT5_AUS at +00:00:01 set OUT5 off
zielführend sein.

Sollte ich nicht Recht haben - bitte nicht gleich steinigen ;-)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

on-for timer gibt es nucht nur für FS20 sondern z.b. auch für homematic und noch ein paar andere.

für alle devices die das nicht nativ können kann fhem über die SetExtensions on-for-timer (und off-for timer,on-till,off-till,blink) mit einem internen timer simulieren wenn das device on und off anbietet und der entwickler die SetExtensions aufruft.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Hallo,

danke - wieder was gelernt.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

mcbain2k

Hey Danke für die vielen Antworten,

wie man on-for timer mit Arduino nutzen kann ist wirklich ein super Tipp danke.

Aber leider löst es nicht mein Problem.

Problem:
Ein Taster soll eine Lampe (Relais) schalten. Ohne Zeit.
1x tasten = Lampe aus wenn Lampe an
1x tasten = Lampe an wenn Lampe aus

Puschel74

Hallo,

dein Beitragstitel heisst aber "Stromstossschalter" und im Eingangspost liest es sich so das der Ausgang für eine
bestimmte Zeit eingeschaltet werden soll wenn der Eingang (Taster) gedrückt wird.

Dieses Problem haben wir dir mit on-for-timer geholfen zu erledigen.

Nun soll der Taster den Eingang umschalten.
Das ist aber kein Stromstossschalter sondern ein Umschalter.

Könntest du nochmal so nett sein und uns erklären was den genau passieren soll wenn du den Taster drückst und was bisher
passiert?
Evtl. muss ja der Beitragstitel auch angepasst werden bzw. wäre es besser einen neuen Beitrag auf zu machen für eine
neue Problemstellung.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

mcbain2k

ZitatEingangspost liest es sich so das der Ausgang für eine bestimmte Zeit eingeschaltet werden soll
Ja irgendwie dumm beschrieben von mir ;-) von Grammatik mal ganz zu schweigen.
mit
ZitatDas Problem ist das der Ausgang wird nur für eine sehr kurze Zeite auf An gesetzt wird.
..sollte das Fehlverhalten beschrieben werden.

Also ich möchte einen "Stromstossschalter in Fhem programmieren" wie es auch im 1. Post steht.
Soll heißen ich hab einen Taster und ein Relais und Fhem soll die Stromstosschalter-Logik beinhalten.

Lampe aus (bleibt aus bis) -> 1x tasten -> Lampe ein (bleibt ein bis) -> 1x tasten -> Lampe aus.................usw

Mit diesem Code klappt es genau so wie ich möchte (Dummy anstatt Taster):
define Arduino2_notify notify Dummy:on { if (Value("OUT05") eq "Aus") { fhem "set OUT05 An"} else { fhem "set OUT05 Aus"} }


Mit dem Arduinotaster IN3 hingegen Schaltet das Relais nur für einige Millisekunde aus oder ein, je nach vorherigem Zustand (meist nur an der parallel zum Relais geschalteten LED zu erkenen):
define Arduino2_notify notify IN3.*on { if (Value("OUT05") eq "Aus") { fhem "set OUT05 An"} else { fhem "set OUT05 Aus"} }
Meine Vermutung ist das IN3 ca 10 mal pro Sekunde "Ein" meldet wärend der Taster gedrückt wird



http://de.wikipedia.org/wiki/Stromsto%C3%9Fschalter
Erfüllt genau die vom mir beschriebene Funktion.
Der Name ist verwirrend weil dieser Schalter keinen "Stromstoss" schaltet! Er schaltet nämlich bei einem "Stromstoss".

In der Digitaltechnik: "Toggle-Flipflop".
http://de.wikipedia.org/wiki/T-Flipflop#T-Flipflop

abc2006

Zitat von: str0mer schrieb am Mi, 22 Mai 2013 17:36Sollte das nicht durch die "toggle" Funktion erreicht werden?

An was ich mich kommentarlos anschließe ...

lg
stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Puschel74

Hallo,

toogle sollte das Problem lösen aber ...

ich vermute das der am Eingang des Ardiuno verbaute Taster prellt und daher mehrmals on/off/on/off ausgelöst wird.
Das lässt sich auch mit toogle nicht abfangen - vermute ich mal.

Die einzige Möglichkeit, die ich sehe, ist den Taster zu entprellen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.