diff --git a/fhem/FHEM/00_CUL.pm b/fhem/FHEM/00_CUL.pm index cde4e90fe..82409e4c2 100755 --- a/fhem/FHEM/00_CUL.pm +++ b/fhem/FHEM/00_CUL.pm @@ -1106,30 +1106,30 @@ CUL_Attr(@)
- The CUL/CUR/CUN is a family of RF devices sold by busware.de. - With the opensource firmware (see this link) they are capable - to receive and send different 868MHz protocols (FS20/FHT/S300/EM/HMS). + With the opensource firmware + culfw they are capable + to receive and send different 433/868 MHz protocols (FS20/FHT/S300/EM/HMS/MAX!). It is even possible to use these devices as range extenders/routers, see the CUL_RFR module for details.

Some protocols (FS20, FHT and KS300) are converted by this module so that the same logical device can be used, irrespective if the radio telegram is - received by a CUL or an FHZ device.
Other protocols (S300/EM) need their + received by a CUL or an FHZ device.
+ Other protocols (S300/EM) need their own modules. E.g. S300 devices are processed by the CUL_WS module if the signals are received by the CUL, similarly EMWZ/EMGZ/EMEM is handled by the CUL_EM module.

It is possible to attach more than one device in order to get better - reception, fhem will filter out duplicate messages.

- - Note: this module may require the Device::SerialPort or Win32::SerialPort - module if you attach the device via USB and the OS sets strange default - parameters for serial devices. + reception, FHEM will filter out duplicate messages.

+ Note: This module may require the Device::SerialPort or + Win32::SerialPort module if you attach the device via USB + and the OS sets strange default parameters for serial devices.

@@ -1142,35 +1142,37 @@ CUL_Attr(@) define <name> CUL <device> <FHTID>

USB-connected devices (CUL/CUR/CUN):
    - <device> specifies the serial port to communicate with the CUL or - CUR. The name of the serial-device depends on your distribution, under + <device> specifies the serial port to communicate with the CUL. + The name of the serial-device depends on your distribution, under linux the cdc_acm kernel module is responsible, and usually a /dev/ttyACM0 device will be created. If your distribution does not have a cdc_acm module, you can force usbserial to handle the CUL by the - following command:
      modprobe usbserial vendor=0x03eb - product=0x204b
    In this case the device is most probably - /dev/ttyUSB0.

    + following command: +
      + modprobe usbserial vendor=0x03eb product=0x204b +
    + In this case the device is most probably /dev/ttyUSB0.

    You can also specify a baudrate if the device name contains the @ character, e.g.: /dev/ttyACM0@38400

    If the baudrate is "directio" (e.g.: /dev/ttyACM0@directio), then the - perl module Device::SerialPort is not needed, and fhem opens the device - with simple file io. This might work if the operating system uses sane - defaults for the serial parameters, e.g. some Linux distributions and - OSX.

    + perl module Device::SerialPort is not needed, and FHEM + opens the device with simple file io. This might work if the operating + system uses sane defaults for the serial parameters, e.g. some Linux + distributions and OSX.

- Network-connected devices (CUN):
    - <device> specifies the host:port of the device. E.g. + Network-connected devices (CUN(O)):
      + <device> specifies the host:port of the device, e.g. 192.168.0.244:2323

    If the device is called none, then no device will be opened, so you can experiment without hardware attached.
    - The FHTID is a 4 digit hex number, and it is used when the CUL/CUR talks to - FHT devices or when CUR requests data. Set it to 0000 to avoid answering + The FHTID is a 4 digit hex number, and it is used when the CUL talks to + FHT devices or when CUL requests data. Set it to 0000 to avoid answering any FHT80b request by the CUL.

@@ -1189,30 +1191,30 @@ CUL_Attr(@) Set the CUL frequency / bandwidth / receiver-amplitude / sensitivity
Use it with care, it may destroy your hardware and it even may be - illegal to do so. Note: the parameters used for RFR transmission are + illegal to do so. Note: The parameters used for RFR transmission are not affected.
  • freq sets both the reception and transmission frequency. Note: - although the CC1101 can be set to frequencies between 315 and 915 + Although the CC1101 can be set to frequencies between 315 and 915 MHz, the antenna interface and the antenna of the CUL is tuned for - exactly one frequency. Default is 868.3MHz (or 433MHz)
  • -
  • bWidth can be set to values between 58kHz and 812kHz. Large values + exactly one frequency. Default is 868.3 MHz (or 433 MHz)
  • +
  • bWidth can be set to values between 58 kHz and 812 kHz. Large values are susceptible to interference, but make possible to receive - inaccurate or multiple transmitters. It affects tranmission too. - Default is 325kHz.
  • + inaccurately calibrated transmitters. It affects tranmission too. + Default is 325 kHz.
  • rAmpl is receiver amplification, with values between 24 and 42 dB. Bigger values allow reception of weak signals. Default is 42.
  • -
  • sens is the decision boundery between the on and off values, and it +
  • sens is the decision boundary between the on and off values, and it is 4, 8, 12 or 16 dB. Smaller values allow reception of less clear - signals. Default is 4dB.
  • + signals. Default is 4 dB.

  • hmPairForSec
    HomeMatic mode only.
    Set the CUL in Pairing-Mode for the given seconds. Any HM device set into - pairing mode in this time will be paired with fhem. + pairing mode in this time will be paired with FHEM.

  • hmPairSerial
    @@ -1232,22 +1234,22 @@ CUL_Attr(@) Get
    • version
      - return the CUL firmware version + returns the CUL firmware version

    • uptime
      - return the CUL uptime (time since CUL reset). + returns the CUL uptime (time since CUL reset)

    • raw
      - Issue a CUL firmware command, and wait for one line of data returned by + Issues a CUL firmware command, and waits for one line of data returned by the CUL. See the CUL firmware README document for details on CUL commands.

    • fhtbuf
      CUL has a message buffer for the FHT. If the buffer is full, then newly issued commands will be dropped, and an "EOB" message is issued to the - fhem log. + FHEM log. fhtbuf returns the free memory in this buffer (in hex), - an empty buffer in the CUL-V2 is 74 bytes, in CUL-V3/CUN 200 Bytes. + an empty buffer in the CUL V2 is 74 bytes, in CUL V3/CUN(O) 200 Bytes. A message occupies 3 + 2x(number of FHT commands) bytes, this is the second reason why sending multiple FHT commands with one set is a good idea. The first reason is, that @@ -1255,19 +1257,18 @@ CUL_Attr(@)

    • ccconf
      - Read some CUL radio-chip (cc1101) registers (frequency, bandwidth, etc), + Read some CUL radio-chip (cc1101) registers (frequency, bandwidth, etc.), and display them in human readable form.

    • cmds
      Depending on the firmware installed, CULs have a different set of possible commands. Please refer to the README of the firmware of your - CUL to interpret the response of this command. See also the raw- - command. + CUL to interpret the response of this command. See also the raw command.

    • credit10ms
      - One may send for a duration of credit10ms*10 ms before the send limit is reached and a LOVF is - generated. + One may send for a duration of credit10ms*10 ms before the send limit + is reached and a LOVF is generated.

    @@ -1279,15 +1280,15 @@ CUL_Attr(@)
  • showtime
  • model (CUL,CUN,CUR)
  • sendpool
    - If using more than one CUL/CUN for covering a large area, sending + If using more than one CUL for covering a large area, sending different events by the different CUL's might disturb each other. This phenomenon is also known as the Palm-Beach-Resort effect. Putting them in a common sendpool will serialize sending the events. E.g. if you have three CUN's, you have to specify following attributes:
    - attr CUN1 sendpool CUN1,CUN2,CUN3
    + attr CUN1 sendpool CUN1,CUN2,CUN3
    attr CUN2 sendpool CUN1,CUN2,CUN3
    - attr CUN3 sendpool CUN1,CUN2,CUN3
    + attr CUN3 sendpool CUN1,CUN2,CUN3


  • addvaltrigger
    Create triggers for additional device values. Right now these are RSSI @@ -1298,29 +1299,29 @@ CUL_Attr(@) arguments are:
    • SlowRF
      - To communicate with FS20/FHT/HMS/EM1010/S300/Hoermann devices @1kHz + To communicate with FS20/FHT/HMS/EM1010/S300/Hoermann devices @1 kHz datarate. This is the default.
    • HomeMatic
      - To communicate with HomeMatic type of devices @20kHz datarate
    • + To communicate with HomeMatic type of devices @10 kHz datarate.
    • MAX
      - To communicate with MAX! type of devices @20kHz datarate
    • + To communicate with MAX! type of devices @10 kHz datarate.

  • hmId
    Set the HomeMatic ID of this device. If this attribute is absent, the - ID will be F1<FHTID>. Note 1: after setting or changing this - attribute you have to relearn all your HomeMatic devices. Note 2: the - value _must_ be a 6 digit hex number, and 000000 is not valid. fhem - wont complain if it is not correct, but the communication won't work. + ID will be F1<FHTID>. Note 1: After setting or changing this + attribute you have to relearn all your HomeMatic devices. Note 2: The + value must be a 6 digit hex number, and 000000 is not valid. FHEM + won't complain if it is not correct, but the communication won't work.

  • hmProtocolEvents
    Generate events for HomeMatic protocol messages. These are normally used for debugging, by activating "inform timer" in a telnet session, - or looking at the "Event Monitor" window in the FHEMWEB frontend. + or looking at the Event Monitor window in the FHEMWEB frontend.
    Example:
      @@ -1330,7 +1331,279 @@ CUL_Attr(@)

    - + =end html + +=begin html_DE + + +

    CUL

    +
      + + + +
      + Der CUL/CUR/CUN(O) ist eine Familie von Funkempfängern, die von der Firma + Busware verkauft wird. + + Mit der OpenSource Firmware + culfw können sie verschiedene + 868 MHz Funkprotokolle empfangen bzw. senden (FS20/FHT/S300/EM/HMS/MAX!). + Man kann diese Geräte auch zur Reichweitenverlängerung, siehe + CUL_RFR einsetzen. +

      + + Einige Protokolle (FS20, FHT und KS300) werden von diesem Modul in das FHZ + Format konvertiert, daher kann dasselbe logische Gerät verwendet werden, + egal ob das Funktelegramm von einem CUL oder einem FHZ Gerät empfangen + wird.
      + + Andere Protokolle (S300/EM) benötigen ihre eigenen Module. S300 + Geräte werden vom Modul CUL_WS verarbeitet, wenn das Signal von einem + CUL empfangen wurde, ähnliches gilt für EMWZ/EMGZ/EMEM: diese + werden vom CUL_EM Modul verarbeitet.

      + + Es ist möglich mehr als ein Gerät zu verwenden, um einen besseren + Empfang zu erhalten, FHEM filtert doppelte Funktelegramme aus.

      + + Bemerkung: Dieses Modul benötigt unter Umständen das + Device::SerialPort bzw. Win32::SerialPort Modul, + wenn Sie das Gerät über USB anschließen und das + Betriebssystem unübliche Parameter für serielle Schnittstellen + setzt.

      + +
      + +
      + + + Define +
        + define <name> CUL <device> <FHTID>
        +
        + Geräte, die an USB angeschlossen sind (CUL/CUR/CUN):
        +
          + <device> gibt die serielle Schnittstelle an, mit der der CUL + kommuniziert. Der Name der seriellen Schnittstelle hängt von der + gewählten Distribution und USB-Treiber ab, unter Linux ist dies das + Kernel Modul cdc_acm und üblicherweise wird die Schnittstelle + /dev/ttyACM0 genannt. Wenn die Linux Distribution über kein Kernel + Modul cdc_acm verfügt, dann kann die Schnittstelle über + usbserial mit dem folgenden Befehl erzeugt werden: +
            + modprobe usbserial vendor=0x03eb product=0x204b +
          + In diesem Fall ist diese Schnittstelle dann wahrscheinlich + /dev/ttyUSB0.

          + + Wenn der Name der Schnittstelle ein @ enthält, kann nachfolgend die + verwendete Baudrate angegeben werden, z.B.: /dev/ttyACM0@38400.

          + + Wenn die Baudrate mit "directio" angegeben wird (z.B.: + /dev/ttyACM0@directio), wird das Perl Modul + Device::SerialPort nicht benötigt und FHEM öffnet + die Schnittstelle mit einfachem Dateizugriff. Dies sollte dann + funktionieren, wenn das Betriebssystem vernünftige Standardwerte + für die serielle Schnittstelle verwendet, wie z.B. einige Linux + Distributionen oder OSX.

          +
        + + Geräte, die mit dem Netzwerk verbunden sind (CUN(O)):
        +
          + <device> gibt die Hostadresse:Port des Gerätes an, z.B. + 192.168.0.244:2323 +
        +
        + + Wenn das Gerät mit none bezeichnet wird, wird keine Schnittstelle + geöffnet und man kann ohne angeschlossene Hardware + experimentieren.
        + + Die FHTID ist eine 4-stellige hexadezimale Zahl und wird verwendet, wenn + der CUL FHT Telegramme sendet bzw. Daten anfragt. Diese sollte als 0000 + gewählt werden, wenn man FHT80b Anfragen durch den CUL vermeiden will. +
      +
      + + + Set +
        +
      • raw
        + Sendet einen CUL Firmware Befehl. Siehe auch + hier für + nähere Erläuterungen der CUL Befehle. +

      • + +
      • freq / bWidth / rAmpl / sens
        + Nur in der Betriebsart SlowRF.
        Bestimmt die + CUL Frequenz / Bandbreite / Empfänger Amplitude / + Empfindlichkeit
        + + Bitte mit Vorsicht verwenden, da es die verwendete Hardware + zerstören kann bzw. es zu illegalen Funkzuständen kommen + kann.
        Bemerkung: Die Parameter für die RFR Übermittlung + werden hierdurch nicht beeinflußt.
        +
          +
        • freq bestimmt sowohl die Empfangs- als auch die Sendefrequenz.
          + Bemerkung: Auch wenn der CC1101 zwischen den Frequenzen 315 und 915 + MHz eingestellt werden kann, ist die Antennenanbindung bzw. die Antenne + des CUL exakt auf eine Frequenz eingestellt. + Standard ist 868.3 MHz (bzw. 433 MHz).
        • + +
        • bWidth kann zwischen 58 kHz und 812 kHz variiert werden. + Große Werte sind empfindlicher gegen Interferencen, aber + machen es möglich, nicht genau kalbrierte Signale zu + empfangen. Die Einstellung beeinflusst ebenso die Übertragung. + Standardwert ist 325 kHz.
        • + +
        • rAmpl ist die Verstärkung des Empfängers mit Werten + zwischen 24 and 42 dB. Größere Werte erlauben den + Empfang von schwachen Signalen. Standardwert ist 42.
        • + +
        • sens ist die Entscheidungsgrenze zwischen "on" und "off" + Zuständen und kann 4, 8, 12 oder 16 dB sein. Kleinere Werte + erlauben den Empfang von undeutlicheren Signalen. Standard ist 4 + dB.
        • +
        +

      • + +
      • hmPairForSec
        + Nur in der Betriebsart HomeMatic.
        Versetzt den + CUL für die angegebene Zeit in Sekunden in den Anlern-Modus. Jedes + HM Gerät, das sich im Anlern-Modus befindet, wird an FHEM + angelernt.

      • + + +
      • hmPairSerial
        + Nur in der Betriebsart HomeMatic.
        + Versucht, das angegebene Gerät anzulernen (zu "pairen"). Der + Parameter ist eine 10-stellige Zeichenfolge, die normalerweise mit + Buchstaben beginnt und mit Ziffern endet; diese sind auf der + Rückseite der Geräte aufgedruckt. Wenn das Gerät ein + Empfänger ist, ist es nicht notwendig, das angegebene Gerät in + den Anlern-Modus zu versetzen.

      • + + +
      • led
        + Schaltet die LED des CUL: aus (00), an (01) oder blinkend (02). +

      • +
      + + + Get +
        +
      • version
        + gibt die Version der CUL Firmware zurück +

      • +
      • uptime
        + gibt die Betriebszeit des CULs zurück (Zeit seit dem letzten Reset + des CULs)

      • + +
      • raw
        + Sendet einen CUL Firmware Befehl und wartet auf eine Rückgabe des + CULs. Siehe auch README der Firmware für nähere + Erläuterungen zu den CUL Befehlen.

      • + +
      • fhtbuf
        + Der CUL hat einen Puffer für Nachrichten für FHT. Wenn der + Puffer voll ist, werden neu empfangene Telegramme ignoriert und eine + "EOB" Meldung wird in die FHEM Logdatei geschrieben. + + fhtbuf gibt den freien Speicher dieses Puffers (in hex) + zurück, ein leerer Puffer im CUL V2 hat 74 Byte, im CUL V3/CUN(O) + hat 200 Byte. Eine Telegramm benötigt 3 + 2x(Anzahl der FHT + Befehle) Byte, dies ist ein Grund, warum man mehrere FHT Befehle mit + einem set senden sollte. Ein weiterer Grund ist, + dass diese FHT Befehle in einem "Paket" zum FHT Gerät gesendet werden. +

      • + +
      • ccconf
        + Liest einige CUL Register des CC1101 (Sende- und Empfängerchips) + aus (Frequenz, Bandbreite, etc.) und stellt diese in lesbarer Form dar. +

      • + +
      • cmds
        + In abhägigkeit der installierten Firmware hat der CUL/CUR/CUN(O) + unterschiedliche Befehlssätze. Nähere Informationen über + die Befehle bzw. deren Interpretation siehe README Datei der + verwendeten CUL Firmware. Siehe auch Anmerkungen beim raw Befehl. +

      • + +
      • credit10ms
        + Der Funkraum darf für eine Dauer von credit10ms*10 ms belegt + werden, bevor die gesetzliche 1% Grenze erreicht ist und eine + LOVF Meldung ausgegeben wird.

      + + + Attribute +
        +
      • do_not_notify
      • +
      • dummy
      • +
      • showtime
      • +
      • model (CUL,CUN,CUR)
      • +
      • sendpool
        + Wenn mehr als ein CUL verwendet wird, um einen größeren + Bereich abzudecken, können diese sich gegenseitig + beeinflussen. Dieses Phänomen wird auch Palm-Beach-Resort Effekt + genannt. Wenn man diese zu einen gemeinsamen Sende"pool" + zusammenschließt, wird das Senden der einzelnen Telegramme + seriell (d.h. hintereinander) durchgeführt. + Wenn z.B. drei CUN's zur + Verfügung stehen, werden folgende Attribute gesetzt:
        + attr CUN1 sendpool CUN1,CUN2,CUN3
        + attr CUN2 sendpool CUN1,CUN2,CUN3
        + attr CUN3 sendpool CUN1,CUN2,CUN3

        +

      • + +
      • addvaltrigger
        + Generiert Trigger für zusätzliche Werte. Momentan sind dies + RSSI und RAWMSG für die CUL Familie und RAWMSG für FHZ. +

      • + +
      • rfmode
        + Konfiguriert den RF Transceiver des CULs (CC1101). Verfügbare + Argumente sind: +
          +
        • SlowRF
          + Für die Kommunikation mit FS20/FHT/HMS/EM1010/S300/Hoermann + Geräten @1 kHz Datenrate (Standardeinstellung).
        • + +
        • HomeMatic
          + Für die Kommunikation mit HomeMatic Geräten @10 kHz + Datenrate.
        • + +
        • MAX
          + Für die Kommunikation mit MAX! Geräten @10 kHz + Datenrate.
        • + +
        +

      • + +
      • hmId
        + Setzt die HomeMatic ID des Gerätes. Wenn dieses Attribut fehlt, + wird die ID zu F1<FHTID> gesetzt. Bemerkung 1: Nach dem Setzen + bzw. Verändern dieses Attributes müssen alle HomeMatic + Geräte neu angelernt werden. Bemerkung 2: Der Wert muss + eine 6-stellige Hexadezimalzahl sein, 000000 ist ungültig. FHEM + überprüft nicht, ob die ID korrekt ist, im Zweifelsfall + funktioniert die Kommunikation nicht.

      • + +
      • hmProtocolEvents
        + Generiert Ereignisse für HomeMatic Telegramme. Diese werden + normalerweise für die Fehlersuche verwendet, z.B. durch Aktivieren + von inform timer in einer telnet Sitzung bzw. im + Event Monitor Fenster im FHEMWEB Frontend.
        + Beispiel: +
          + + 2012-05-17 09:44:22.515 CUL CULHM RCV L:0B N:81 CMD:A258 SRC:...... DST:...... 0000 (TYPE=88,WAKEMEUP,BIDI,RPTEN) + +
        +

      • +
      +
      +
    + +=end html_DE =cut