Skip to content

Commit

Permalink
add: SomfyProtect2MQTT-legacy
Browse files Browse the repository at this point in the history
  • Loading branch information
Minims committed Jan 13, 2025
1 parent d4d9b92 commit 427a3b4
Show file tree
Hide file tree
Showing 11 changed files with 521 additions and 0 deletions.
226 changes: 226 additions & 0 deletions SomfyProtect2MQTT-legacy/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
# Changelog

## 2024.9.0

- fix: resubscribe to all topic on MQTT reconnect

## 2024.3.0

- fix: remove human_detect_enabled
- chore: set version to 2024.3.0
- feature: Add device_class motion for PIR and safety for IntelliTag

## 2024.1.0

- fix: default value for update_available

## 2023.12.2

- fix: Immediate Alarm Status on update

## 2023.12.1

- fix: reduce WebSocket time before restart

## 2023.12.0

- fix: Improve WebSocket
- chore: Update requirements

## 2023.11.0

- fix: do not ask for snapshot if shutter is closed

## 2023.10.0

- feature: Allow camera streaming via MQTT Camera OR WebRTC Camera (go2rtc)

## 2023.9.4

- fix: CPU Load

## 2023.9.3

- fix: MQTT True/False Command
- fix: restart process on failure

## 2023.9.2

- fix: supported_fetaures to 14
https://github.com/Minims/SomfyProtect2MQTT/issues/55

It won't be automatically fixed.
You have to remove the alarm device first.
Then restart the Addon.
Update your lovelave entity & automatation.

If i make the update on my side,
the alarm device can change his name (installation before 2023.8.0)
and it will break your automation & dashboard.

## 2023.9.1

- Fix: Test Siren buttons
- Feat: Add Beta Video Streaming
https://github.com/Minims/SomfyProtect2MQTT#video-streaming

## 2023.8.3

- Add Watermark on snapshot

## 2023.8.2

- Test Siren buttons
- Update MQTT to feat HA 2023.8.0
- Improve WebSocket

## 2023.8.1

- Fix Load Issue
- Retain all MQTT Messages

## 2023.8.0

- Improve WebSocket messages

## 2023.7.0

- Update requirements
- Fix installation failure because of PyYaml

## 2023.6.1

- Clean old binary_sensor device_lost

## 2023.6.0

- Change Versioning to 2023.6.0
- Add some detailled log to debug
- Update Requirements
- Add scenarios in logs for some future features
- Improve WebSocket
- Breaking Change: update device_lost binary_sensor to device_tracker
- Fix Typo in device_lost / presence

## 0.2.9

- Fix ambient_light_threshold & smart_alarm_duration

## 0.2.8

- Fix smart_alarm_duration & lighting_trigger

## 0.2.7

- Wait 2 sec to upadte device after action.
- Add GET scenarios-core & scenario (for later usage)
- Update README
- Add Reboot / Halt button for Camera and Link
- Fix smart_alarm_duration

## 0.2.6

- Update device after action
- Update shutter_state switch
- Fix lighting_state switch
- Update lighting_state
- Add new sensors/switchs
- Add generic update device
- Add User api calls
- Add User Model
- Update Action List
- Update version to 0.2.6
- Remove signal_strength device_class on % signal

## 0.2.5

- Add Debug log on Site and Devices
- Add interndoor type

## 0.2.4

- Fix security.level.change

## 0.2.3

- Fix battery_low

## 0.2.2

- Fix recalibration_required

## 0.2.1

- Add IntellTag Motion Sensor (Alpha)
- Fix Update Device/Site

## 0.2.0

- Fix intellitag door type
- Fix camera video type
- Add Somfy One/One+
- Improve Logging

## 0.1.9.8

- Update Add-on to new S6: https://developers.home-assistant.io/blog/2022/05/12/s6-overlay-base-images/

## 0.1.9

- Add some new entities
- Fix Websocket Refresh Token
- Add motion sensor when alarm is triggered

## 0.1.8

- Add MQTT ssl
- Bump SomfyProtect2MQTT

## 0.1.7

- Fix request_token

## 0.1.6

- Add Manual Snapshot mode
- Add Old MyFox Security Camera
- Add Smoke Detector
- Add Extender
- Change default code value to 0

## 0.1.5

- Fix homeassistant_config schema

## 0.1.4

- Use SomfyProtect2MQTT 0.1.3
- Fix OutDoor Camera Snapshot
- Add possibilty to setup a code on alarm panel
- Allow to disable code on arm and/or disarm

## 0.1.3

- Use SomfyProtect2MQTT 0.1.2
- Fix Stop Alarm
- Fix Trigger Alarm
- Do not publish unwanted devices

## 0.1.2

- Add build.json file (thanks to @Minims)

## 0.1.1

- Changed tar link

## 0.1.0

- Addon renamed "SomfyProtect2MQTT-dev"
- Lot of code rewritten (thanks to @Minims)
- Based on dev branch
- Added logo, icon, changelog, docs...

## 0.0.1 to 0.0.4

- Initial version with minor fixes
121 changes: 121 additions & 0 deletions SomfyProtect2MQTT-legacy/DOCS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# Home Assistant Add-on: SomfyProtect2MQTT

## Installation

Follow these steps to get the add-on installed on your system:

1. Navigate in your Home Assistant frontend to **Supervisor** -> **Add-on Store**.
2. Find the "SomfyProtect2MQTT" add-on and click it.
3. Click on the "INSTALL" button.

## How to use

1. Perform the SomfyProtect2MQTT add-on configuration (see below)
2. Save the add-on configuration by clicking the "SAVE" button.
3. Start the add-on.

## Configuration

Add-on configuration:

```yaml
somfy_protect:
username: mail@example.org
password: iliketurtles
sites:
- Maison

homeassistant_config:
code: 1234
code_arm_required: false
code_disarm_required: true

mqtt:
host: 192.168.1.1
port: "1883"
ssl: false
username: homeassistant
password: homeassistant
client-id: somfy-protect
topic_prefix: somfyProtect2mqtt
ha_discover_prefix: homeassistant
delay_site: "10"
delay_device: "60"
manual_snapshot: false
streaming: mqtt
debug: false
```
### Option group `somfy_protect`

The following options are for the option group: `somfy_protect`.

#### Options `username` and `password`

Username and password to use to authenticate to Somfy account.

#### Option `sites`

A list of sites to retrieve datas.

### Option group `homeassistant_config`

The following options are for the option group: `homeassistant_config`.

#### Option `code`

A code to arm/desarm in HA. Set to 0 to disable.

#### Option `code_arm_required`

Set to `false` if you want to arm without code

#### Option `code_disarm_required`

Set to `false` if you want to disarm without code

### Option group `mqtt`

The following options are for the option group: `mqtt`.

#### Options `host`, `port`, `ssl`, `username` and `password`

Host and credentials to use to authenticate to MQTT broker.

#### Option `client-id`

MQTT client identifier.

#### Option `topic_prefix`

MQTT prefix to use for data topic.

#### Option `ha_discover_prefix`

MQTT prefix to use for Home-Assistant discovery.

### Option `delay_site`

Define delay in seconds to update sites.

### Option `delay_device`

Define delay in seconds to update devices.

### Option `manual_snapshot`

Enable/Disable manual_snapshot.
false: Only update snapshot when switch 'snapshot' is triggered
true: snapshot auto update every 1min.

### Option `streaming`

Streaming Mode.
mqtt: Send image by image to MQTT camera in HA
go2rtc: write the url in /config/somfyprotect2mqtt/stream*url*<device_id>
to be read with echo source: https://github.com/AlexxIT/go2rtc#source-echo
and WebRTC Camera:https://github.com/AlexxIT/WebRTC

### Option `debug`

Enable/Disable debug mode.
24 changes: 24 additions & 0 deletions SomfyProtect2MQTT-legacy/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-dockerfile
ARG BUILD_FROM
FROM $BUILD_FROM
ENV LANG C.UTF-8

# SomfyProtect2MQTT version
ARG VERSION=2024.9.0

# Install required packages
RUN apk add --no-cache py3-pip py3-opencv ffmpeg
RUN pip3 install --no-cache-dir python-json2yaml==0.1.1

# Download source and untar
WORKDIR /usr/bin
ADD "https://github.com/Minims/SomfyProtect2MQTT/archive/refs/tags/${VERSION}.tar.gz" ${VERSION}.tar.gz
RUN tar -xvf ${VERSION}.tar.gz
RUN mv /usr/bin/SomfyProtect2MQTT-${VERSION} /usr/bin/SomfyProtect2MQTT

# Install python3 requirements
WORKDIR /usr/bin/SomfyProtect2MQTT/somfyProtect2Mqtt
RUN pip3 install --no-cache-dir -r requirements/addon.txt

# Copy root filesystem
ADD rootfs /
24 changes: 24 additions & 0 deletions SomfyProtect2MQTT-legacy/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Home Assistant Add-on: SomfyProtect2MQTT Legacy

[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/minims)

[somfyprotect2mqtt]: https://github.com/Minims/SomfyProtect2MQTT

![Supports aarch64 Architecture][aarch64-shield]
![Supports amd64 Architecture][amd64-shield]
![Supports armhf Architecture][armhf-shield]
![Supports armv7 Architecture][armv7-shield]
![Supports i386 Architecture][i386-shield]

[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg
[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg

Allows you to control your Somfy Home Alarm without the App.

It bridges events and allows you to control your Alarm devices via MQTT.
In this way you can integrate it to HomeAssistant.

See [SomfyProtect2MQTT] for more details.
Loading

0 comments on commit 427a3b4

Please sign in to comment.