iButton dauerhaft present

Begonnen von JensS, 28 Januar 2015, 18:40:24

Vorheriges Thema - Nächstes Thema

JensS

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
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Prof. Dr. Peter Henning

Soso, und wir sollen also helfen, indem wir raten, wie die iButtons an Fhem angeschlossen sind ?

LG

pah

JensS

#2
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
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

ext23

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
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

JensS

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
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

ext23

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
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

JensS

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
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Prof. Dr. Peter Henning

Welches Intervall ist denn für das Modul OWID eingestellt, das den iButton ausliest ?

LG

pah

JensS

#8
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.
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Wzut

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
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

JensS

#10
Habe ich beides versucht - mit und ohne. Leider keine Änderung.
Ob es am am DS1990R liegt? Hätte ich den DS1990A bestellen sollen?
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Prof. Dr. Peter Henning

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

UweH

Funktioniert bei mir auch im 5s-Takt, hab's gerade getestet.
Muss was anderes sein.

JensS

@UweH: Welchen Button hast du? Den DS1990R oder A?
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

UweH

Ich habe die "A"-Ausführungen.