FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: GiJoe73 am 30 März 2014, 14:53:30

Titel: [Gelöst]1-Wire DS2406 als Eingang einlesen UND Verarbeiten
Beitrag von: GiJoe73 am 30 März 2014, 14:53:30
Hallo,

Ich benötige mal einen kleinen Tritt von euch in die korrekte Richtung. Ich bin seit zwei Tagen am Kämpfen und am lesen, komme aber irgendwie nicht weiter.

OK - darum geht es.

Ich habe an meinem BBB ein 1-Wire Interface hängen und mittels OWX eingebunden. Am Bus hängt ein DS2406 mit dem ich den Zustand eines Reed Kontaktes erfassen möchte.

Der DS2406 ist in FHEM eingebunden und wenn ich einen der beiden Eingänge belege wechselt auch brav der State von OFF nach ON mit Haken. Das Abfrage intervall ist derzeit auf 5 sek. eingestellt und arbeitet ohne Probleme.

Jetzt möchte ich wenn der Eingang den State ON annimmt einen Aktor schalten.
Somit habe ich mir ein Notify gebastelt, aber ich bekomme es einfach nicht gebacken.

Probiert habe ich im Notify bisher diese sachen:

1) OW_Inp1 B:ON { fhem("set Rollade2 off")}
2) OW_Inp1 input B ON { fhem("set Rollade2 off")}
3) OW_Inp1.B ON { fhem("set Rollade2 off")}

usw.

Mit einen virtuellen Taster und einem Notify klappt es, also frage ich OW_Inp1 nicht korrekt ab, aber wie lautet der korrekte aufruf ?

Ich möchte keinen fertigen Code präsentiert bekommen nur ein einfaches "ersetz mal OW_Inp1..... durch (das richtige) oder ein Link in dem ich mich weiter einlesen kann hilft mir echt weiter.

Bedankt

 
Titel: Antw:1-Wire DS2406 als Eingang einlesen UND Verarbeiten
Beitrag von: Puschel74 am 30 März 2014, 14:55:58
Hallo,

öffne mal den Eventmonitor und betätige dann den Eingang.
Was steht im Eventmonitor?
Das müsste dann als regexp auch ins notify.

Grüße
Titel: Antw:1-Wire DS2406 als Eingang einlesen UND Verarbeiten
Beitrag von: GiJoe73 am 31 März 2014, 15:05:38
Hallo Puschel74,

Entschuldige die späte Antwort von mir - Ich bin gestern nicht mehr an den Rechner gekommen.

Also, der Event Monitor spuckt beim Betätigen des Eingangs das hier aus:

2014-03-31 15:02:14 OWSWITCH OW_Inp1 A: OFF
2014-03-31 15:02:14 OWSWITCH OW_Inp1 B: ON☇
2014-03-31 15:02:14 OWSWITCH OW_Inp1 A: OFF B: ON☇

Müsste ich für den Kanal B die komplette Zeile in das notify einbringen ? Also OWSWITCH OW_Inp1 B: ON☇ ?
Titel: Antw:1-Wire DS2406 als Eingang einlesen UND Verarbeiten
Beitrag von: Puschel74 am 31 März 2014, 17:43:48
Hallo,

die ganze Zeile brauchst du nicht als regexp.

Versuch mal

OW_Inp1 B:.ON set Rollade2 off
evtl. auch
OW_Inp1.B:.ON set Rollade2 off

Der . (Punkt) steht in perl für ein beliebiges Zeichen.

Grüße
Titel: Antw:1-Wire DS2406 als Eingang einlesen UND Verarbeiten
Beitrag von: GiJoe73 am 01 April 2014, 15:55:44
Hallo,

Dank dir bin ich einen Schritt weiter. Ich habe es zumindest soweit das der Aktor loslegt wenn der
Kanal B zu 0 wird

OW_Inp1.B:.OFF set Rollade2 off

Leider habe ich es nicht hinbekommen das der Aktor bei OW_Inp1 ON schaltet. Weder bei ON noch bei ON☇ passiert was wenn ich es ins notify schreibe. Im Logfile erscheint auch keine Fehlermeldung mehr wie bei meinen Versuchen

Ich habe verschiedene Ausdrücke probiert - leider ohne den gewünschten Erfolg....
Titel: Antw:1-Wire DS2406 als Eingang einlesen UND Verarbeiten
Beitrag von: Puschel74 am 01 April 2014, 17:47:52
Hallo,

ich weiß leider nicht ob der Pfeil in fhem/Perl als Zeichen zählt aber versuch mal

OW_Inp1.B:.ON.*
. = ein beliebiges Zeichen
* = beliebig viele davon

Grüße

Edith: Du kannst aber auch das notify auf das Devcie legen und dann im Code trennen.
OW_Inp1.B: {
if($EVENT eq "OFF") {
...
}
}

Achtung! Bei mir gibt es keine Einzeiler und meine Codes gehören nicht direkt in die fhem.cfg - es sei den du willst Fehlermeldung zu sehen bekommen  ;D
Titel: Antw:1-Wire DS2406 als Eingang einlesen UND Verarbeiten
Beitrag von: GiJoe73 am 01 April 2014, 19:45:30
Hallo Puschel74,

Es klappt mit dem ON.* im Notify.

Vielen Dank für deine Unterstützung