OW2S0SMSGUARD

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
OW2S0SMSGUARD
Zweck / Funktion
1-Wire Busmaster mit 2x S0-Interface und USB-Anschluss
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Thema
Support (Forum) 1Wire
Modulname 00_OW2S0SMSGUARD
Ersteller Wzut
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Einführung

Info green.pngDas Modul kann ab 4.2.2021 via Update bezogen werden.

Das Modul OW2S0SMSGUARD ermöglicht den direkten Betrieb des 1Wire-USB-Masters in FHEM.[1] So können leicht zwei Zählerstände erzeugt werden, zum Beispiel für Gas- bzw. Wasserzähler. An die Schraubkontakte lassen sich außerdem 1-Wire Geräte anschließen (maximal 64 Stück), allerdings werden nur ausgewählte Geräte unterstützt (Stand Firmware u1-02f vom 09.04.2020): "Keinesfalls ist unser 1wire-USB-Master mit einem Treiber einzulesen, der ein Busmaster-IC wie DS2482 erwartet".

Positiv berichtet wurde der Betrieb von bis jetzt 32 Sensoren (DS18b20) und einer Gesamtbuslänge (Cat5) von 200 Metern ohne einen Ausfall.

SMS-GUARD sind kompakte Schaltmodule in diversen Funktionsvarianten, z.B. mit Funknetzanbindung, der Firma "easy automation components GmbH"[2]

Der Vorteil der SMSGUARD-Lösung: nun ja, einfach an USB anschließen, keine extra Spannungsversorgung. Bezug über einen Shop in Potsdam.[3]

Die Firmware wurde von 2014 bis 2020 erweitert.

Modulversion Jahr 2004

Es werden automatisch Slave-Module (Typ "OW2S0SLAVE") für jedes Gerät am Bus angelegt. Das Attribut "disable" wird nicht unterstützt.

Modulversion Jahr 2005

Smsguard2020.PNG

Das Modul bietet auch ein Reset der Zählerstände der beiden S0-Zähler. DS2401 werden nur in der id als Internal angezeigt. Mittels userreadings bekommt man das aber gelöst:

userReadings dev1 { InternalVal($NAME,"OW-Dev1","") }

Modulversion Jahr 2021

Es müssen keine Slave Device mehr erzeugt werden, alle OW Teilnehmer sind Readings direkt im Device. Da die IDs als nackte Readings etwas unschön sind, hat das Modul ein neues Attribut map_OWIDs bekommen. Damit können die abstrackten IDs direkt in sprechende Namen überführt werden , Bsp: attr <name> map_OWIDs 10D64CBF02080077=Keller,018468411C0000BA=TestDS

Das Attribut "useSubDevices" erzeugt für jeden Busteilnehmer ein eigenes Gerät in FHEM.

DS2401 hat im Reading "presence" die Werte "absent" oder "present", im Reading "last_present" den Zeitstempel des letzten Kontakts zum Bus. DS18xx haben im Reading ihren aktuellen Temperaturwert.

Sensoren

Laut Herstellerdokumentation: "DS18B20, DS18S20, sowie intelligente 1wire-Sensorbus-Module, wie SB-S0-Module (S0-Zähler), SB-SS-S0-Module (Stromsensor als Klappwandler), SB-D0-Module (Mehrrichtungs-Stromzähler) etc."

Funktionieren:

  • DS1820
  • DS1822
  • DS18B20 (Temperatursensor, wasserdicht)
  • DS2401 (nur ID) Verwendung nach
    • a) Nachricht wenn ein neuer Teilnehmer hinzukommt (Nachteil, in dem kurzen Moment ist der Busmaster blind, könnte ggf. für kurze Zeit eine andere Nachricht nicht empfangen)
    • b) Nachricht wenn ein bestehender Teilnehmer verschwindet (aus meiner Sicht keine Nachteile, der dauernde Stromverbrauch ist minimal)

Funktionieren nicht:

  • DHT22

Protokoll

Der 1Wire-USB-Master kann recht einfach mit einem seriellen Terminal auf Funktion überprüft werden:

  1. serielle Schnittstelle einstellen auf 115200 8-N-1 kein Handshake RTS/CTS, kein On/Off Protokoll
  2. Startbefehl eingeben, damit wird auch die Wandlung im Sensor ausgelöst: $?<CR>
  3. mit angeschlossenen 1-Wire Sensoren werden die gefundenen IDs gelistet: $0;o;1080974B020800BA; das „o“ steht für „ok“ und die Checksumme der ID wurde geprüft und ist ok
  4. danach gibt der 1Wire-USB-Master die beiden S0-Zählerstände zurück: $S0;0;0;
  5. die Werte der 1-Wire Sensoren können nach 1s abgefragt werden mit: $0<CR> ... $63<CR>
  6. danach gibt der 1Wire-USB-Master die Daten des Sensors zurück: $0;o;31;00;4B;46;FF;FF;07;10;8D;64; das „o“ steht für „ok“ und die Checksumme (9.Byte) der 8 Datenbytes wurde geprüft und ist ok („n“ wäre „nicht ok“). Die Beschreibung der 8 Datenbytes in Hex ist dem Sensordatenblatt zu entnehmen. Das 10.Byte ist eine Checksumme für die serielle Übertragung (Byte1-9 aufaddiert)

Links