Unterstützt OWDevice das timed4channel Modul ?

Begonnen von Tino.Glatzel, 26 November 2013, 20:56:03

Vorheriges Thema - Nächstes Thema

Tino.Glatzel

Hallo,

ich habe das timed4channel Modul an einem 1-Wire Bus angeschaltet. Die einzelnen Relais werden mit einem bash-Script gesteuert. Da ich jetzt die Sache mit fhem angehen will, stellt sich die Frage ob das Modul unterstützt wird.
Vom Entwickler des Moduls bekam ich mal folgende Beschreibung:

----------------------------------------------------------------------------------------

Here some important details for your information:

- The communication over the 1-Wire Bus goes via a DS2408 IC
- The DS2408 needs to be initialized so that all 8 Channels act as "Digital Outputs" and that Pin 10 (RSTZ) is configured as /STRB , an output strobe will occur after a PIO write (see Channel-Access Write command). The power-on default function of this pin is /RST.

- You need to send 8-Bit Control words to the module - like

P0 ... P5 => [1 - 60] - Values for ON-Time in minutes
  • - selected Channel OFF
    [61] - selected Channel ON
    [62] - all Channels OFF - regardless of Channel

    P6 and P7 => [0 - 3] - Value 0 is channel 1, value 1 is channel 2, value 2 is channel 3, value 3 is channel 4


    Examples of binary control words:

    PPPPPPPP
    76543210
    -----------

    01001010; Channel 2 for 10 minutes ON

    11100110; Channel 4 for 38 minutes ON

    10000000; Channel 3 OFF

    00111101; Channel 1 ON

    00111110; All Channels OFF

    -------------------------------------------------------------------------------

    Tino

Dr. Boris Neubert

Zitat von: Tino.Glatzel am 26 November 2013, 20:56:03


- The communication over the 1-Wire Bus goes via a DS2408 IC

Im Prinzip ja, guckst Du bitte hier: http://fhem.de/commandref.html#OWDevice

Die korrekte Ansteuerung mit Fhem-Kommandos bleibt Dir überlassen.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Tino.Glatzel

Hallo Boris,

vielen Dank für Deine Antwort.
Um bei dem Modul ein Relais zu schalten, muss zuerst eine "2" in der Datei "strobe" gespeichert werden. Anschließend wird eine Kombination für das Relais und die Schaltzeit z.B. "0,0,0,0,0,0,0,0" in der Datei PIO.ALL gespeichert. Aus der Doku habe ich mir mal einiges zusammengesucht:

define ZirkulationsPumpe OWDevice 29.41A504000000

define ZirkulationsPumpe_aus notify ZirkulationsPumpe_aus set ZirkulationsPumpe strobe "2";;set ZirkulationsPumpe PIO.ALL "0,0,0,0,0,0,0,0"

trigger ZirkulationsPumpe_aus


Bin ich da auf dem richtigen weg ??

Tino

Dr. Boris Neubert

Sieht vom fhem-Kode her vernünftig aus. Teste am besten erstmal über die Weboberfläche vom owserver.

Gruß
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Tino.Glatzel

Hallo Boris,

so, das Relais kann ich jetzt schalten:

define Zirkulation_ON notify Zirkulation_ON set TestRelais strobe 2;;set TestRelais PIO.ALL 0,1,0,0,0,0,1,1
Ein "tigger Zirkulation_ON" schaltet mir das Relais 0 des Moduls an.
Das Relais 2 kann ich mit einem set TestRelais strobe 2;;set TestRelais PIO.ALL 0,1,0,0,0,0,1,0 schalten.

Da man den Status des Relais nicht abfragen kann und ich diesen jedoch in einem Floorplan anzeigen will, suche ich nach einer Möglichkeit dies zu realisieren. Das PDF zu Floorplan habe ich auch schon durch, leider nichts gefunden.

Ich habe für dieses Modul vor einiger Zeit ein bash-Script geschrieben welches ich mit den Paramter "on, off, und status" füttern kann. Bei status bring gibt mir das Script ein "on" oder "off" zurück. Den Staus speichere ich mir in einem Statusfile. Soll ich evtl. auf dieses Script zurückgreifen?
Irgendwie würde ich es aber lieber direkt mit fhem lösen.

Tino

justme1968

wenn du den aktuellen status wirklich an keinem der device readings sehen kannst brauchst du einen dummy den du on und off verpasst und dann per notify deine entsprechenden set TestRelais ausführst. der dummy hat dann auch immer den zusletzt gesetzten status.

wenn du in irgendeinem reading oder teil davon den aktuellen status sehen kannst schau dir mal readingsProxy an. das geht im prinip auch für den fall oben und würde die notify erübrigen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Tino.Glatzel

Hallo,

leider kann ich den Status auch nicht aus anderen Informationen auslesen. Somit bleibt mir Wohl nur der Weg über den dummy.

mit folgendem funktioniert die Sache

define Zirkulation_Status dummy

define Zirkulation_ON notify Zirkulation_ON set TestRelais strobe 2;;set TestRelais PIO.ALL 0,1,0,0,0,0,1,1;;set Zirkulation_Status ON
attr Zirkulation_ON fp_WohnungOG 205,282,1,Zirkulation_ON


define Zirkulation_OFF notify Zirkulation_OFF set TestRelais strobe 2;;set TestRelais PIO.ALL 1,1,1,1,1,1,1,1;;set Zirkulation_Status OFF


Ich habe jetzt mal geprüft wie sich die Sache verhält wenn ich das Modul vom Bus entferne und ich die Zirkulation anschalte.
Im Status ist dann auch ein ON.
Kann ich irgendwie auf einen Rückgabewert von dem "set TestRelais PIO.ALL 1,1,1,1,1,1,1,1" prüfen?
In einem bash-Script habe ich mit einem echo "1,1,1,1,1,1,1,1" > /opt/owfs/mnt/TestRelais/PIO.ALL die Zirkulation angeschaltet. War das Modul nicht am Bus, bekam ich vom "echo" einen Rückgabewert != 0. Somit konnte ich prüfen ob das Setzen des Wertes funktioniert hat.


Tino