CyberDNS / Lupusec2Mqtt

Lupusec Alarm System to Mqtt
MIT License
11 stars 5 forks source link

Can you add "vibrations / shock detectors"? #69

Open TiDO2k opened 3 months ago

TiDO2k commented 3 months ago

Hi,

can you add "vibration detectors" to the integration? If you need anything, please let me know. Shock sensor (Type 93)

Art.-Nr.:12105 EAN:4260195433885 LUPUSEC - Erschütterungsmelder

Thanks, best regards, TiDO

CyberDNS commented 3 months ago

Hi @TiDO2k,

Because I don't own this type of sensor. I would need the API description information that you can get while inspecting the changes that you see in the developer tools (F12) in the network tab. I would need the endpoint where the status is published and the value that shows the status, furthermore it would be helpful to get some payloads with different values or the different states that the sensor can output.

You could also check the source code, there you could inspect how the movement detector is implemented, I think your sensor is quite similar to that one. Or it is more like the smoke detector, that one is not yet implemented.

Best regards, David

TiDO2k commented 3 months ago

Hi @CyberDNS,

thanks for your fast response. Is it not possible to copy it from https://github.com/schmupu/ioBroker.lupusec ?

here we go: "sid": "RF:..........", "su": 1, "alarm_status": "", "status_ex": "0", "meta": ""}, {"area": 1, "zone": 33, "type": 93, "type_f": "{D_TYPE_93}", "name": "Test", "tag": "", "cond": "", "cond_ok": "1", "battery": "", "battery_ok": "1", "tamper": "", "tamper_ok": "1", "bypass": 0, "rssi": "{WEB_MSG_WEAK} 2", "resp_mode": [97,5,5,0,0,0], "ammeter": "0", "ver": "SVGS5", "bypass_tamper": 0,

And:

{ "updates" : { "id2": "RF:.......", "ver": "SVGS5", "cap": "", "title": "{D_TYPE_93}" }, "forms": { "ssform": { "sarea": 1, "szone": 35, "stype": 93, "sname": "Test", "tag": "", "hue_color_cap": 0, "id": "RF:.......", "scond_bypass": 0, "schar_latch_rpt": 0, "schar_whole_area": 0, "schar_always_on": 0, "schar_set_unset": 0, "stype_set_unset": 0, "schar_24hr": 0, "sresp_24hr": 5, "su_bypass": 0, "schar_trigger_zone0": 0, "schar_trigger_zone1": 255, "schar_trigger_zone2": 255, "schar_trigger_zone3": 255, "vol_alarm": 3, "vol_arm": 2, "vol_home": 2, "vol_disarm": 2, "vol_entry_arm": 2, "vol_entry_home": 2, "vol_exit_arm": 2, "vol_exit_home": 2, "vol_doorbell": 2, "vol_chime": 2, "vol_fault": 2, "vol_pre_alarm": 2, "bxsr_tih": 1, "bxsr_tia": 1, "bxsr_sa": 1, "bxsr_cf": 1, "bxsr_ef": 1, "bxsr_nf": 1, "bxsr_tf": 1, "bxsr_ams": 0, "bxsr_fs": 0, "bind_device_tag": "", "dio52_str0": "", "dio52_str1": "", "dio52_in_invert": 0, "dio52_out_invert": 0, "dio52_follow": 0, "dio52_mode": 0, "dbt15_mode": 0, "sresp_trigger": 0, "sresp_restore": 0, "sresp_panic": 10, "sresp_fire": 12, "sresp_medical": 7, "sresp_emergency": 11, "sresp_arm": 0, "sresp_home": 0, "sresp_disarm": 0, "sresp_switch_on": 0, "sresp_switch_off": 0, "bypass_tamper": 0, "must_close_chk": 0, "ammeter": 0, "always_off": 0, "shutter_turn": 0, "log_history": 0, "send_notify": "", "sresp_trigger2": 0, "sensitivity1": "0101", "sensitivity2": "", "sresp_button_1": 0, "sresp_button_2": 0, "sresp_button_3": 0, "sresp_button_4": 0, "sresp_mode_0": 97, "sresp_entry_0": 97, "sresp_exit_0": 97, "sresp_mode_1": 5, "sresp_entry_1": 5, "sresp_exit_1": 5, "sresp_mode_2": 5, "sresp_entry_2": 5, "sresp_exit_2": 5, "sresp_mode_3": 0, "sresp_entry_3": 0, "sresp_exit_3": 0, "sresp_mode_4": 0, "sresp_entry_4": 0, "sresp_exit_4": 0, "no_latch": 1, "no_resp": 0, "no_panic": 1, "no_fire": 1, "no_medical": 1, "no_emergency": 1, "no_btn_mode": 1, "no_set_unset": 1, "no_whole_area": 1, "no_always_on": 1, "no_switch": 1, "no_btn_macro": 1, "no_siren_vol": 1, "no_bxsr_param": 1, "no_binding": 1, "sensor_opt": "svgs_wf", "su": 1 } } }

CyberDNS commented 3 months ago

Hi @TiDO2k,

Thanks, please can you provide me the endpoint you called e.g. /action/deviceListGet or /action/deviceGet and also the different status values the sensor can take. I would need also the name of the attribute that is containing the status value.

Example for window contact: Endpoint: HTTP POST on /action/deviceListGet Attribute: status Values: if status == "{WEB_MSG_DC_OPEN}" then "ON" else "OFF"

Br, David

TiDO2k commented 3 months ago

Hi @CyberDNS deviceGet: "sid": "RF:............", "su": 1, "alarm_status": "", "status_ex": "0", "meta": ""}, {"area": 1, "zone": 33, "type": 93, "type_f": "{D_TYPE_93}", "name": "Test", "tag": "", "cond": "", "cond_ok": "1", "battery": "", "battery_ok": "1", "tamper": "", "tamper_ok": "1", "bypass": 0, "rssi": "{WEB_MSG_GOOD} 5", "resp_mode": [97,5,5,0,0,0], "ammeter": "0", "ver": "SVGS5", "bypass_tamper": 0,

deviceListGet: {"area": 1, "zone": 33, "type": 93, "type_f": "{D_TYPE_93}", "name": "Test", "tag": "", "cond": "", "cond_ok": "1", "battery": "", "battery_ok": "1", "tamper": "", "tamper_ok": "1", "bypass": 0, "rssi": "{WEB_MSG_GOOD} 5", "resp_mode": [97,5,5,0,0,0], "ammeter": "0", "ver": "SVGS5", "bypass_tamper": 0, "sid": "RF:.................", "su": 1, "alarm_status": "", "status_ex": "0", "hue": "-1", "sat": "-1", "ctemp": "-1", "hue_cmode": "-1", "hue_cie_x": "-1", "hue_cie_y": "-1", "hue_color_cap": "0", "nuki": "-1", "shutter_turn": 0,"status": ""},

status value: status_ex: 0 (false) or 1 (true)

Edit: @CyberDNS alarm_status": "DOORBELL"

Hope this will help.

Br, TiDO

CyberDNS commented 3 months ago

Hi @TiDO2k,

I published just now a new version that adds the vibration detector (and also the state for smoke detector). The version is Lupusec2Mqtt Edge v3.2.0.

So you can try if everything works like expected.

Br, David

TiDO2k commented 3 months ago

Device is integrated and all vibrations detectors are implemented. Thanks. @CyberDNS Is it posible to change the poll time to 0.5 sec? Can I do it myself in the configuration file?

CyberDNS commented 3 months ago

Good to hear that it is working. @TiDO2k : Can you add an issue for the poll frequency please. For the moment it is not configurable but it is something that I can implement.

TiDO2k commented 3 months ago

hi @CyberDNS it's not working as expected. did you use status_ex: 0 (false) and 1 (true) or status": "DOORBELL" and "" ?

CyberDNS commented 3 months ago

Hi, I used status_ex: 0 (false) and 1 (true). I saw just now your edit, so I should not use status_ex but status: "DOORBELL" -> ON and "" -> OFF?

Br. David

TiDO2k commented 3 months ago

Hi David, maybe implement both: status_ex 0 or 1 and status "doorbell" -> ON or "" ->OFF

CyberDNS commented 3 months ago

Hi @TiDO2k,

I need your input to correctly integrate the vibration sensor, as I can't test it myself. Could you clarify how to interpret status_ex and status for the sensor to be "ON" or "OFF"?

Should status_ex = 1 always mean the sensor is "ON"? Does "DOORBELL" in status mean "ON", even if status_ex = 0? Are there any other important status values?

I status can only take the DOORBELL value here are the different possibilities to combine status_ex and status:

Variant A (OR): status_ex status Sensor State
0 "" OFF
1 "" ON
0 "DOORBELL" ON
1 "DOORBELL" ON
Variant B (XOR): status_ex status Sensor State
0 "" OFF
1 "" ON
0 "DOORBELL" ON
1 "DOORBELL" OFF
Variant C (AND): status_ex status Sensor State
0 "" OFF
1 "" OFF
0 "DOORBELL" OFF
1 "DOORBELL" ON

Your guidance is crucial for accurate implementation.

Br, David

TiDO2k commented 3 months ago

@CyberDNS Variant A

Br, TiDO

CyberDNS commented 3 months ago

Hi @TiDO2k ,

I implemented the Variant A now and published a new Edge version 3.3.2.

Happy testing :) Br, David