Eltako Rauchmelder FRW-ws Einbindung

Hallo,
ich habe mir die Eltako Rauchmelder zugelegt, da sie anscheinend mit IPS funktionieren. Aber ich habe nicht gefunden, als was ich den Rauchmelder anmelden muss. Welche Instanz muss ich anlegen, damit ich was erkennen kann?
Ich habe einen TCM310-USB-Stick und die Base-ID ist vorhanden.

Für einen Tip wäre ich dankbar.

Gruß,
Sven

PTM200 Expert

Danke :slight_smile:

Funktioniert damit eigentlich auch die Meldung des Batteriestatus (bei U < 7,2V) und wenn ja, welcher Taster in der Instanz ist das dann?

Ja, mach mal die Batterie raus dann siehste das.
Nach der Batterieentnahme dauert es etwas bis die Spannung weg.

Hallo,
ich habe bei den Rauchmeldern mal die Batterie entfernt und nach einiger Zeit piepst der Rauchmelder auch. Aber ein Telegramm sehe ich nicht. Der Testalarm funktioniert hingegen gut.
Wenn ich die Batterie anschließe, sehe ich auch ein Telegramm „Data:16“, was wahrscheinlich mit der Spannungsüberwachung zusammenhängt.

Muss ich noch was spezielles machen?

Gruß,
Sven

Hallo,

ich hab bei mir ein EnOcean PTM Button/expert angelegt.
Kannst das über 3 Wege abfragen.

  • Einmal werden alle Variablen regelmäßig aktualisiert ich glaube alle 20 Minuten musst schauen.
  • Eine von den Variablen meldet wenn die Spannung unter 7,2 Volt fällt.
  • WatchDog Script

Ich kann das leider nicht mehr testen da ich alle über ein 9 Volt Netzteil mit USV versorgt habe.

Dann gibt es hier aus dem Forum das WatchDog Script, mit dem Du die Überwachen kannst.


<?php/* Enocean Modul Id's: EnOcean EltakoDimmer = {48909406-A2B9-4990-934F-28B9A80CD079} EnOcean EltakoFAFT60 = {0BE195DC-6002-4D99-A566-3B9B0B57FAD6} EnOcean EltakoFAH60  = {AF827EB8-08A3-434D-9690-424AFF06C698} EnOcean EltakoFSS12  = {7124C1BC-B260-4C5E-BF00-B38D3C7B5CB7} EnOcean EltakoSwitch = {FD46DA33-724B-489E-A931-C00BFD0166C9} EnOcean Gateway      = {A52FEFE9-7858-4B8E-A96E-26E15CB944F7} EnOcean Hoppe        = {1C8D7E80-3ED1-4117-BB53-9C5F61B1BEF3} EnOcean Opus         = {9B1F32CD-CD74-409A-9820-E5FFF064449A} EnOcean PTM200       = {40C99CC9-EC04-49C8-BB9B-73E21B6FA265} EnOcean PTM200RX     = {63484585-F8AD-4780-BAFD-3C0353641046} EnOcean RCM100       = {8492CEAF-ED62-4634-8A2F-B09A7CEDDE5B} EnOcean STM100       = {FA1479DE-C0C1-433D-98BC-EA7C298D1AA5} EnOcean STM250       = {B01DE819-EA69-4FC1-91AB-4D9FF8D55370} EnOcean Thermokon    = {B4249BC6-5BA8-45E3-B506-86680935D4EE} */
$maxTimeout = 1*60*60;  // maximum timeout in seconds
//------------------------------------------------------------------------------function CreateVariableByName($parentId, $name, $type, $info){    $vid = @IPS_GetVariableIDByName($name, $parentId);    if($vid === false)    {        $vid = IPS_CreateVariable($type);        IPS_SetParent($vid, $parentId);        IPS_SetName($vid, $name);        IPS_SetInfo($vid, $info);        IPS_SetVariableCustomProfile($vid, "~Alert.Reversed");    }    return $vid;}
//------------------------------------------------------------------------------function AddAllModules($parentId){    $modulGuidsToAdd = array        (            "{FA1479DE-C0C1-433D-98BC-EA7C298D1AA5}",  // STM100            "{B01DE819-EA69-4FC1-91AB-4D9FF8D55370}",  // STM250            "{63484585-F8AD-4780-BAFD-3C0353641046}",  // PTM200RX            "{7124C1BC-B260-4C5E-BF00-B38D3C7B5CB7}",  // EltakoFSS12            "{40C99CC9-EC04-49C8-BB9B-73E21B6FA265}"   // PTM200
        );
    foreach($modulGuidsToAdd as $modulGuid)    {        $moduleIds = IPS_GetInstanceListByModuleID($modulGuid);        foreach($moduleIds as $modulId)        {            $location = IPS_GetLocation($modulId);            CreateVariableByName($parentId, $location, 0, $modulId);        }    }}
//------------------------------------------------------------------------------function StateChanged($objId, $objText, $isOk){    if ($isOk)    {        IPS_LogMessage("enoWDog", $objText.": Is OK now");    }    else    {        IPS_LogMessage("enoWDog", $objText.": Has timed out!");    }}
//------------------------------------------------------------------------------
$parentID = IPS_GetObject($_IPS['SELF']);$parentID = $parentID['ParentID'];$stateIds = IPS_GetChildrenIDs($parentID);
// create all state variables the first timeif (count($stateIds) <= 1)  // one object is the script himself{    AddAllModules($parentID);    IPS_LogMessage("enoWDog", "State variables created");    $stateIds = IPS_GetChildrenIDs($parentID);}
// now control the statesif (count($stateIds) > 1){    foreach ($stateIds as $stateId)    {        $idInfo = IPS_GetObject($stateId);        if ($idInfo['ObjectType'] == 2)  // only variables        {            if ($idInfo['ObjectIsHidden'] == false)            {                // object reference (id) is stored in info                $modulId = (int)$idInfo['ObjectInfo'];                if (IPS_ObjectExists($modulId))                {                    $modulChilds = IPS_GetChildrenIDs($modulId);                    if (count($modulChilds) > 0)                    {                       // search for a read only varaiable                       $lastUpdate = 0;                       foreach ($modulChilds as $modulChild)                       {                          $objInfo = IPS_GetObject($modulChild);                          if (($objInfo['ObjectType'] == 2) && ($objInfo['ObjectIsReadOnly']))                          {                                $varInfo = IPS_GetVariable($modulChild);                                if ($varInfo['VariableUpdated'] != null)                                {                                    $lastUpdate = $varInfo['VariableUpdated'];                                    break;                                }                          }                       }
                       if ($lastUpdate != 0)                       {                            //echo($stateId.":".date("H:i:s")."-".date("H:i:s",$lastUpdate));                            $isOk = (bool)(time() < $lastUpdate + $maxTimeout);
                            // write only new state                            if (GetValue($stateId) != $isOk)                            {                                SetValue($stateId, $isOk);                                StateChanged($modulId, $idInfo['ObjectName'], $isOk);                            }                        }                        else                        {                            IPS_LogMessage("enoWDog", $idInfo['ObjectName']." no variable found!");                        }                    }                    else                    {                        IPS_LogMessage("enoWDog", $idInfo['ObjectName']." has no childs!");                    }                }                else                {                    IPS_LogMessage("enoWDog", $idInfo['ObjectName'].": modul-Id ".$modulId." not found!");                }            }        }    }}
?>

Hallo zusammen,

hat jemand schon ein brauchbares Script zur Auswertung der gesendeten Daten?

Moin moin,

ich habe bei mir mehrere Eltako FRW-ws als PTM200 Expert in IPS eingelernt.
Da ich keine Dokumentation hierzu hatte, habe ich einfach einmal den Knopf gedrückt.


Dadurch hat sich sofort der Status verändert.
Pressed = True -> dies passiert wenn ich manuell den Rauchmelder teste (auf die LED drücke)
Status AI = True -> wenn Rauch gemeldet wird (z.B. durch manuellen Test)
Frage: Wie kann der Batteriestatus abgefragt werden? Ein einfaches abziehen der Batterie half nichts.
Der Rauchmelder piepte einmal, es wurde aber nix gesendet.

@wibo050447: Was genau macht Dein Script. Ich habe es darunter eingefügt, aber nichts passiert. Muss ich per Hand noch einige Variablen anlegen?

Vielen Dank für eine Rückmledung!

Liebe Grüße

Carsten

Hallo Carsten,

bei Batteriespannung < 7,2V wird ein PTM200-Telegramm 0x30 gesendet => Status A0 = true.
Wenn die Batterie abgezogen wird passiert natürlich nichts mehr, da kein Strom zum senden eines Telegramms mehr vorhanden ist.

Gruß
Roberto