FHEM Forum

FHEM - Hausautomations-Systeme => 1Wire => Thema gestartet von: JensS am 28 Januar 2015, 18:40:24

Titel: iButton dauerhaft present
Beitrag von: JensS am 28 Januar 2015, 18:40:24
Heute sind meine iButtons angekommen und werden in fhem erkannt. Leider kriege ich es nicht auf die Reihe, den Status present/not present zu setzen. Egal, ob der iButton am Bus hängt oder nicht, kommt immer: iButton_Jens.present => 1 heraus.
Bitte helft mir!

Gruß Jens
Titel: Antw:iButton dauerhaft present
Beitrag von: Prof. Dr. Peter Henning am 28 Januar 2015, 21:08:46
Soso, und wir sollen also helfen, indem wir raten, wie die iButtons an Fhem angeschlossen sind ?

LG

pah
Titel: Antw:iButton dauerhaft present
Beitrag von: JensS am 28 Januar 2015, 22:11:07
Ja, das wäre gaaaaaaaanz toll von dir/Ihnen!
Momentan habe ich den iButton-Leser mit dem Innenkontakt an 1-wire und dem Außenkontakt an GND.
Als iButton verwende ich DS1990R#5.

Gruß Jens
Titel: Antw:iButton dauerhaft present
Beitrag von: ext23 am 29 Januar 2015, 15:58:31
Mhh das ist ja schonmal richtig, aber weiter?!?
Was nutzt du für ein 1-Wire Hostadapter, wie hast du das define gemacht bzw. welche Module nutzt du überhaupt... Hier sind zwar ein haufen schlauer Leute aber Hellseher habe ich noch nicht gefunden.

Also bitte, noch ein paar mehr Informationen. Wenn man dir alles aus der Nase ziehen muss wird hier keiner Lust haben dich zu supporten.

Gruß
Daniel
Titel: Antw:iButton dauerhaft present
Beitrag von: JensS am 29 Januar 2015, 16:23:42
OWX ist am Arduino-UNO an Pin 2 definiert. Der Aruino läuft mit ConfigurableFirmata per LAN. OWX hat die iButtons selbst erkannt und als OWID definiert(01.5E4F24170000.C8).
Am Bus hängen derzeit ein DS1820, ein DS2413 und ein DS2450. Der iButton ist das einzige Device im parasitären Modus. Zwischen 1-wire und VCC sind parallel ein Kondensator 10nF und ein Widerstand 4,7kOhm geschaltet. OWX hat ein Intervall von 300 und der iButton DS1990R#F5 von 10 Sekunden. Wenn ich den iButton anlege, wird er mal erkannt und mal nicht. Automatisch auf not present funktioniert noch gar nicht. Die anderen 1-wire-Komponenten arbeiten normal. Nur wenn ich den iButton anlege, scheint sich der DS2450 zu resetten - jedenfalls geht der Ausgang A von on auf off.

Gruß Jens
Titel: Antw:iButton dauerhaft present
Beitrag von: ext23 am 31 Januar 2015, 10:00:37
Moin,

also bei mir schaut das ganze so aus wie folgt, ich nutze aber ein MP00202. Ich habe ca. 10 Meter Kabel zwischen HostAdapter und "Schlüsselkasten" in dem ein 1-Wire LCD und 3 iButton Felder sind. Ich habe weder Widerstände noch irgend welche Kondensatoren zwischen, daher spinnt der bei mir auch manchmal und entdeckt die iButtons neu wenn ich meine Rechner starte etc. Da streut irgend was ein, aber gut, ich weiß was zu tun ist... von daher, also bei mir funktioniert alles soweit.


define MP00202 OWX /dev/MP00202
attr MP00202 room X_Interface

define fl_iButton_blau OWID 01 D2E055150000 5
attr fl_iButton_blau IODev MP00202
attr fl_iButton_blau event-on-change-reading .*
attr fl_iButton_blau group Schlüsselbrett
attr fl_iButton_blau model DS1990
attr fl_iButton_blau room Flur
attr fl_iButton_blau stateFormat {ReadingsVal($name,"present",0) ? "present" : "not present"}


Gruß
Daniel
Titel: Antw:iButton dauerhaft present
Beitrag von: JensS am 31 Januar 2015, 10:52:45
Danke Daniel! Für den Test habe ich jetzt einen Arduino MEGA mit ConfigurableFirmata(DS2482) an einem Windows-FHEM per USB angeschlossen. Widerstände(4,7kOhm) sind zw. SCL bzw. SDA und VCC. Sonst sind keine Widerstände oder Kondensatoren verbaut. Ich nutze OWX. Es ist nur der iButton-Leser am Bus. Die iButtons werden nach "get OWX devices"  erkannt und als DS2401 angelegt.
Jetzt habe ich einen gelöscht und nach deiner Beschreibung manuell angelegt. Allerdings ändert sich auch hier der Status nicht.
Wenn ich bei einem DS2413-input einen Taster drücke, wird dieser Zustand im Rahmen des eingestellten Intervalls von 2 Sekunden erkannt. Beim iButton passiert gar nichts - keine Statusänderung oder sonst was. Erst nach "get OWX devices" wird der iButton erneut ausgelesen. Ob es an den Einstellungen von OWX liegt?

Gruß Jens
Titel: Antw:iButton dauerhaft present
Beitrag von: Prof. Dr. Peter Henning am 31 Januar 2015, 12:47:33
Welches Intervall ist denn für das Modul OWID eingestellt, das den iButton ausliest ?

LG

pah
Titel: Antw:iButton dauerhaft present
Beitrag von: JensS am 31 Januar 2015, 13:13:20
5 Sekunden, beim OWX 10 Sekunden.
{return ReadingsVal("iButton1","present","leer")} gibt ebenfalls 1 aus, auch wenn der iButton über den Zeitraum der Abfrageintervalle nicht am Bus ist.
Titel: Antw:iButton dauerhaft present
Beitrag von: Wzut am 31 Januar 2015, 13:39:48
Zitat von: dirigent am 31 Januar 2015, 10:52:45
Widerstände(4,7kOhm) sind zw. SCL bzw. SDA und VCC. Sonst sind keine Widerstände oder Kondensatoren verbaut.
Ja deine PullUps für I²C , was ist mit dem OW Pin ?
Bei meinen FRM - Arduino OW Projekten habe ich immer einen 4,7K zwischen dem Arduino definierten Onewire Pin und VCC
Titel: Antw:iButton dauerhaft present
Beitrag von: JensS am 31 Januar 2015, 13:46:19
Habe ich beides versucht - mit und ohne. Leider keine Änderung.
Ob es am am DS1990R liegt? Hätte ich den DS1990A bestellen sollen?
Titel: Antw:iButton dauerhaft present
Beitrag von: Prof. Dr. Peter Henning am 31 Januar 2015, 14:07:52
Hm, ich kann das mangels Arduino leider nicht testen. Habe aber so eine Vermutung - Norbert Truchsess hat an der entsprechenden Routine, welche das Vorhandensein eines Devices auf dem Bus prüft, ziemlich herumgeschraubt. Das könnte dazu führen dass OWID gar nicht mehr im regulären Intervall von 5 Sekunden diese Routine aufruft.

Die Intervalleinstellung bei OWX kann problemlos auf 300 Sekunden bleiben, die spielt hier keinerlei Rolle.

Vorschlag: Norbert Truchsess per PN anfragen.

LG

pah
Titel: Antw:iButton dauerhaft present
Beitrag von: UweH am 31 Januar 2015, 14:21:13
Funktioniert bei mir auch im 5s-Takt, hab's gerade getestet.
Muss was anderes sein.
Titel: Antw:iButton dauerhaft present
Beitrag von: JensS am 31 Januar 2015, 14:50:42
@UweH: Welchen Button hast du? Den DS1990R oder A?
Titel: Antw:iButton dauerhaft present
Beitrag von: UweH am 31 Januar 2015, 16:01:47
Ich habe die "A"-Ausführungen.
Titel: Antw:iButton dauerhaft present
Beitrag von: JensS am 31 Januar 2015, 18:36:19
@alle: Danke für die bisherige Hilfe!
Die PN habe ich geschrieben. Als Zwischenlösung habe ich ein "at +*00:00:05 get OWX devices" definiert und somit kann ich mich erst mal um die nächste Baustelle kümmern:
Wenn ich den iButton an den Leser halte passiert es manchmal, dass ich einen Kurzschluss zw. 1-wire und GND produziere. Das führt dann dazu, dass meine DS2413 kurzzeitig außer Betrieb gehen und ihre Schaltzustände vergessen. Die Ursache dafür zu finden hat laaaaange gedauert... Kann ich das irgendwie verhindern? Das geht auch in die Richtung einer anderen Frage von mir, was man gegen eine manipulierte Überspannung am iButton-Reader tun kann.

Gruß Jens
Titel: Antw:iButton dauerhaft present
Beitrag von: ext23 am 01 Februar 2015, 12:57:09
Ich habe auch die A Variante...

Wegen der Überspannung, naja wenn das einer mit Gewalt mach ist das immer schwer. Ansonsten kannst du ja wie bei USB Ports auch üblich zumindest eine ESD Schutzschaltung einbauen. Aber ist schon eine interessante Frage gerade wenn man die iButtons im Außenbereich für die Zutrittskontrolle benutzt. Aber im schlimmsten Fall raucht dir der Bus ab, dann geht die Tür aber trotzdem nicht auf. Vielleicht kann man das etwas eindämmen mit einem Optokoppler. Aber da gibt es doch bestimmt schon viel bei Google zu dem Thema.

Gruß
Daniel
Titel: Antw:iButton dauerhaft present
Beitrag von: Prof. Dr. Peter Henning am 01 Februar 2015, 14:45:41
Dazu gibt es nur eine Lösung: separaten Busmaster mit Abfragen alle 250 ms - nur für die IButtons.

LG

pah
Titel: Antw:iButton dauerhaft present
Beitrag von: JensS am 01 Februar 2015, 21:53:46
Danke für die Hilfe! Die Vergesslichkeit meiner DS2413 beim Kurzschluss habe ich durch zwischengeschaltete dummys gelöst, deren Zustände per at an die DS2413 Output A verteilt werden. Zum Überspannungsschutz bestelle ich einen DS9503P+.
Die Extra-Busvariante ist natürlich die optimale (zukünftige) Variante; wenn ich einen Weg für eine zusätzliche Leitung finde.
Nun hoffe ich noch auf eine OWX-Anpassung für den Arduino, dass ich mir das "at ... get OWX devices" sparen kann.
Also - vielen Dank nochmal!
Gruß Jens