DS2401 als Schalter: mangelhaft?

Begonnen von Phill, 12 November 2014, 11:36:37

Vorheriges Thema - Nächstes Thema

Phill

Hallo, ich habe mich bei meinen ersten gehversuchen im Bereich "1-Wire in meinem zukünftigen Haus" mal testweise mit ein Paar DS2401 beschäftigt.  Bitte korregiert mich wenn ich falsch liege.

Der Master fragt Züglich ab ob die ID noch anwesend ist. (present/not present)
Ein Event auf den tatsächliche Änderungszeitpunkt ist nicht möglich. (Geht das bei 1-Wire überhaupt?) Das macht den DS2401 natürlich für alle flüchtigen und zeitkritischen Schaltzustände unbrauchbar.

Was mich bei meinem Testlauf aber am meisten gestört hat, war der umstand das der DS2401 im Moment des zuschaltens eine aktuelle leseanfrage des Master's stört.
Das tritt zwar wahrscheinlich in der Realität eher selten auf, aber ich hatte bei meinen 5 Testschaltern mit einem Intervall von 5 Sekunden gefühlt bei jeder 10 Schalthandlung bemerkt das ein nicht betätigter Schalter für 5 Sekunden auf "not present" springt.

Ich habe das komplette FHEM/1-Wire Forum durchgelesen aber zu dem Problem nichts finden können. Falls doch dann entschuldige ich mich. Nichtsdestotrotz, kennt jemand diese problematik, gibt es dafür schon lösungsansätze oder sollte ich auf den DS2401 komplett verzichten damit ein Fenster aufmachen nicht etwas ungewolltes auslöst? Man kann das natürlich programmiertechnisch lösen indem bei einer Zustandsänderung den Wert sicherheitshalber noch einmal oder zweimal abgefragt, aber man muss sich ja nicht von anfang an vermeidbare Probleme schaffen.

Ich habe die DS2401 direkt an einen DS2480 USB Master gehängt.

Gruß
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

fiedel

Hi Phill,

mach dich mal schlau, ob der 2401 die polls "sensed" und "latch" kennt. Dann sollte er auch Schaltsignale so lange speichern können, bis sie abgerufen werden. Mit dem DS2406 geht das. Der speichert mir hier z.B. zwischen, ob es nach dem letzten Abruf einen Blitz gab (Gewitterwarner):
define OW_EA_GW1 OWDevice 12.0...usw. 10
attr OW_EA_GW1 IODev OWSERVER
attr OW_EA_GW1 comment Gewitterwarner
attr OW_EA_GW1 model DS2406
attr OW_EA_GW1 polls sensed.A,latch.B
attr OW_EA_GW1 stateFormat Warnung:sensed.A, Blitz:latch.B


Dein anderes Problem kenne ich nicht, aber das könnte mit der Zeit des "Zuschaltens" bis zum ersten Abruf zusammenhängen. Wenn dem so ist, gibt es das "Problem" nur nach FHEM- oder Server- Neustarts o.ä. Das ist eher selten, wenn das System erst mal "produktiv" läuft.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Phill

Der 2401 hat nur GND und DATA und hängt somit parasitär am Master, der kann nichts speichern. Er sendet nur eine seine ID wenn er an DATA hängt.
Und ab und zu, wenn ich, über einen kleinen DIP Schalter, DATA zuschalte wird ein anderer DS2401 als "not present" erkannt. Vermutlich der, der gerade gelesen wird, egal ob ich vorher FHEM neu gestartet habe. Da passiert beliebig oft, zu oft.

Ich muss mal testen ob es was bringt den DIP-Schalter zu entprellen.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

fiedel

Macht man ja auch so nicht.  ;) Wenn der Bus und der Server aktiv sind, ändert man daran nichts mehr. Ist ja nicht "Hotplug". Was hat der Dipschalter für nen Sinn? Zum Lernen und Experimentieren höchstens.? Außerdem ist Onewire viel stabiler und sicherer, wenn man mit 3 Adern fährt. 
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Phill

Wird aber tatsächlich von manchen für Tür und Fensterkontakte genau so verwendet. Also DATA über ein Magnetschalter zuschalten.
Und...? funktionieren die iButtons nicht nach dem selben Prinzip. Zumindest dachte ich das bis jetzt.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

fiedel

Ach das meinst du!  ;D Na gut, damit kenne ich mich leider nicht aus. Da müsstest du ggf. nochmal in einem Thread nachfragen, wo sowas besprochen wurde. Ist ja eher eine "Zweckentfremdung".

Trotzdem viel Erfolg!
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

det.

Hallo Phill,
Genauso wie Du die Dinger verwenden willst, sind sie vorgesehen. Zum rechtzeitigen Erkennen present/ absent musst Du das Ausleseintervall Von OWXID recht kurz z.b. auf 5s setzen. Problem gibt es, wenn sich der Busmaster neu initialisiert. Dann hast Du einen zusätzlichen Türöffnungszyklus ohne das jemand an der Tür war. Das passiert bei mir aller 2 Wochen gefühlt einmal. Aus dem Grund habe ich von der gekauften Tüte DS2401 nur einen verbaut und die anderen Türen mit Homematic überwacht. Das ist teurer aber funktioniert besser.
LG
det.

fiedel

#7
HomeMatic- Fan bin ich ja auch, aber wenn man schon Kabel liegen hat, ist die drahtgeb. Lösung immer vorzuziehen. Nur eben nicht mit sowas Wackligem. Entweder ein vernünftiger 3-Ader-OW-Bus mit z.B. DS2406 an jedem Fenster (z.B. Fuchs Module), oder an zentraler Stelle ein FHEM- taugliches Eingangsmodul, an das die Fensterkontakte (Reed) angeschlossen sind. Da gibt es ja mittlerweile viel Auswahl von günstig (Arduino, AVR- NetIO) bis etwas teurer (HM-Wired).
Zur Not (alte Alarmverkabelung als Ringleitung) kann man auch versuchen einen 2-Draht-Bus mit den D2PC- Modulen von Fuchs aufzubauen. Die können das und wenn die Verkabelung nicht all zu schlecht ist, funktioniert es vielleicht sogar:

ZitatDas D2PC Modul kann an einem zwei- oder drei-adrigen 1-Wire Netzwerk betrieben werden. Die 1-Wire Anschlussklemme umfasst die Anschlüsse "+" (Vcc), "G" (1-Wire Ground) und "D" (1-Wire Daten). Die Stromversorgung erfolgt entweder parasitär über den 1-Wire Bus oder über eine extern zugeschaltete Spannungsversorgung (5V stabilisiert).

Eine andere günstige Variante wäre die 18DS20 zu Kontakteingängen umzustricken. Das soll gehen, aber ob auch parasitär, weiß ich nicht.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Phill

@det.
Zitatwenn sich der Busmaster neu initialisiert

Und warum macht der sowas? Was bedeutet denn das genau?
Wenn du nur einen DS2401 verbaut hast, dann hast du wahrscheinlich nicht die oben beschriebene Problematik, da der Chip sich ja nicht selbst stört.

Mhh irgend jemand mehr als einen verbaut?

@fiedel u. det.:
Ich bin auch nicht wirklich überzeugt von der Methode mit den DS2401, aber Softwaremäßig kann man das relativ gut in den Griff bekommen denke ich. Wie gesagt, man fragt bei einem geänderten Pegel den Sensor einfach nochmal (oder zweimal) ab. Zeitkritisch darf es eh nicht sein. Evtl. kann das aber auch bei der Problematik mit dem neu initialisieren bei dir det. helfen.

Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

det.

Hallo Phill,
warum läuft ein ESX Server nicht jahrelang ohne Neustart ... etc, die Langzeitstabilität hängt von so vielen Faktoren ab. Ich habe produktiv einen ganzen Zoo voll 1-wire Devices an mehreren Busmastern dran und bei dem mit dem Türkontakt bekomme ich eben eine Mail, wenn ich nicht zu Hause bin, daß die Bürotür geöffnet wurde. Bei den anderen merke ich das nicht und es funktioniert ja danach auch wieder, stört also nur wenn man einen Alarmkontakt damit realisiert. Der Zweck meines Beitrags war nicht den Fehler zu finden, sondern Dich von einer möglicherweise wenig zielführenden Idee abzubringen.
LG
det.

ntruchsess

#10
Du wirst damit leben müssen, dass das Zuschalten von 1-Wire devices laufende Lesevorgänge stören kann, das ist systematisch nicht zu vermeiden, weil das neu verbundene Device den Beginn der 1-Wire Kommunikation nicht mitbekommen hat (und bei parasitärer Stromversorgung zusätzlich beim Zuschalten erst ma kräftig Strom zieht).
Das ist für den Anwendungsfall iButton (.z.B. als Türöffner) auch kein Problem, da kommt es in der Regel nicht auf den einzelnen Lesevorgang an, weil sowieso in schneller Folge immer wieder gelesen wir und eine wackelige Verbindung dabei eher die Regel, als die Ausnahme darstellt). Am besten nimmt man einen eigenen Bus dafür, auf dem eben nix anderes gemacht wird.
Für den Anwendungsfall Alarmanlage nimmt man am besten Öffner ('normaly closed'), keine Schließer. Dann ist der Bus in der Regel stabil und im Alarmfall verschwinden halt Devices. Oder Du nimmst halt echte 1-Wire switches die dauerhaft am Bus bleiben.
while (!asleep()) {sheep++};

fiedel

Zitat von: ntruchsess am 13 November 2014, 07:25:23
Für den Anwendungsfall Alarmanlage nimmt man am besten Öffner ('normaly closed'), keine Schließer. Dann ist der Bus in der Regel stabil und im Alarmfall verschwinden halt Devices.

Das ist es doch! Einfach aber wirkungsvoll. Und im Alarmbereich ist NC sowieso üblich, wegen der Sabotage- und Drahtbruchsicherheit. Ein extra Bus dafür wäre aber trotzdem besser, weil bei normaler Anwesenheit (Lüften, Türen öffnen...) die Devices zwar verschwinden, dann aber auch wiederkommen. Und da beißt sich der Schwanz in die Katze.  ;)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Phill

@det. Also zwischen ein mal in zwei Wochen und einmal im Jahr ist aber mal ein gehöriger unterschied, aber egal du bist ja zufrieden und dann bin ich es auch.

Ja Öffner waren auf jeden Fall eingeplant, aber ich werde doch normale 1-Wire I/O's nehmen. Wenn dann nur für wirklich absolut Zeitunkritische Überwachungen. z.B. wenn wir schon dabei sind Drahtbruchüberwachung.

DS2401 sind eben einfach doch low/low-budget. Und jetzt können wenigstens alle nachlesen, dass die DS2401 eben nicht bedingungslos als 1-Wire-Eingänge einsetzbar sind. Oder wenigstens womit zu rechnen ist wenn doch.

Gruß
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Tobias

Ich benutze den D2P aus dem Fuchsshop. Für Fensterüberwachung benötige ich sowiso 2 Eingänge (Open/Tilted/closed). Bei Türen nur einen Eingang, der andere bleibt halt unbelegt.
Habe damit seit über 2 Jahren keine Probleme.

Buslänge: Busmaster -> Hub -> in Summe 50m Buskabel 2x2x0.8 incl 1 repeater
10x D2P (Zyklus 5sek)
10x DS18B20 (Zyklus 60sek)
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Phill

#14
Ja, der ist wirklich interessant. Weiß jemand warum da so viele Bauteile drauf sind?

Der Kondensator C1 ist klar. Spannungsstabilisierung.
Zwei Widerstände sind für den Pullup, aber was machen die anderen zwei Widerstände.
Und was sind CR1-3 für Bauteile?
Gruß
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html