jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
23.09k stars 6.71k forks source link

Request: triggers and binding for OpenHAB #10087

Closed Supermagnum closed 2 years ago

Supermagnum commented 3 years ago

open Home Automation Bus (openHAB) is an open source home automation software written in Java. It is deployed on premises and connects to devices and services from different vendors. As of 2019, close to 300 bindings are available as OSGi modules. Actions, such as switching on lights, are triggered by rules, voice commands, or controls on the openHAB user interface. Since major version 2 of OpenHAB the connections to physical devices is split in 2 levels. "Things" are the interface elements to a specific physical device (e.g. an interface to a home automation network like KNX, Z-Wave or ZigBee). Within these things, one or more "Items" can then be defined or discovered. These "Items" correspond to one specific component like a relay controlling a light, the desired temperature of a heating system or a dimmer percentage. Website: www.openhab.org

How a binding and triggers are developed: https://www.openhab.org/docs/developer/

OpenHab addon request: https://github.com/openhab/openhab-addons/issues/11338

saghul commented 3 years ago

What kind of integration are you looking for, from Jitsi's perspective?

Supermagnum commented 3 years ago

What kind of integration are you looking for, from Jitsi's perspective?

The possibility to turn on and off lights, turn on and off alarms, open door locks, control audio, control dimmers,share files between users and a folder,pipe audio to and from devices. Trigger Jitsi meet by Z-wave motion sensor or alert from Zoneminder. As an example, if nobody is home (away mode is on) route my doorphone audio and door camera video calls to Jitsi meet. Also, support XEP-0384: OMEMO Encryption, a XMPP extension.

OpenHab already have the possibility to communicate by XMPP: https://www.openhab.org/addons/bindings/xmppclient/ That is probably the best and easiest solution,cooperation with the Openhab developers might be a great idea: https://github.com/openhab/openhab-addons/issues/11338

OpenHab can speak so many formats and protocols at the same time. It also handles SIP/Asterisk, Z-wave, ZigBee and many others. The huge list is here: https://www.openhab.org/addons/

I think that Jitsi meet should eventually be available and detected by Openhab as a "thing", if that is possible.

saghul commented 3 years ago

I don't understand how Jitsi would mix with turning lights on and off.

Diverting your calls when away to Jitsi Meet requires no Jitsi Meet cooperation, you either map a number to a room using Jogasi, or build something custom with Jibri maybe.

OMEMO is not going to happen, sorry.

Supermagnum commented 3 years ago

I don't understand how Jitsi would mix with turning lights on and off.

Diverting your calls when away to Jitsi Meet requires no Jitsi Meet cooperation, you either map a number to a room using Jogasi, or build something custom with Jibri maybe.

OMEMO is not going to happen, sorry.

Have you read this ? https://www.openhab.org/addons/bindings/xmppclient/ https://www.openhab.org/docs/ https://www.openhab.org/docs/developer/

A chat message that says " lights, entrance off" could be interpreted by the binding to turn off the lights in the said location. I think that you need to discuss this with the developers here: https://github.com/openhab/openhab-addons/issues/11338

saghul commented 3 years ago

Have you read this ? https://www.openhab.org/addons/bindings/xmppclient/

I have now, and I still don't understand how the 2 would work together. Our JIDs are ephemeral, and you'd need to be in a MUC to communicate with participants, but being in the MUC means we'll try to invite you into a conference.

A chat message that says " lights, entrance off" could be interpreted by the binding to turn off the lights in the said location.

So like an XMPP bot? That doesn't require cooperation from our side. I think establishing the video part will fail though, obviously, but that should not be a problem I think.

Another option would be to use a Prosody plugin that connects to OpenHAB and sends messages to users in a given room, perhaps.

I think that you need to discuss this with the developers here: openhab/openhab-addons#11338

Well, you are proposing some kind of integration, I'd like to understand what exactly you'd need from our end.

Supermagnum commented 3 years ago

Have you read this ? https://www.openhab.org/addons/bindings/xmppclient/

I have now, and I still don't understand how the 2 would work together. Our JIDs are ephemeral, and you'd need to be in a MUC to communicate with participants, but being in the MUC means we'll try to invite you into a conference.

A chat message that says " lights, entrance off" could be interpreted by the binding to turn off the lights in the said location.

So like an XMPP bot? That doesn't require cooperation from our side. I think establishing the video part will fail though, obviously, but that should not be a problem I think.

Another option would be to use a Prosody plugin that connects to OpenHAB and sends messages to users in a given room, perhaps.

I think that you need to discuss this with the developers here: openhab/openhab-addons#11338

Well, you are proposing some kind of integration, I'd like to understand what exactly you'd need from our end.

Ok. I will try to explain it simpler, a example: I have a Doorbird door bell with camera and two way sound connected to OpenHAB ( it's basically just a IP camera with two way sound and a button). There also is a Z-wave door lock connected to OpenHAB. OpenHAB handles the Z-wave door lock and the door bell by itself since it already can talk and listen to those. Links to the bindings for those will be at the end of this reply.

What happens: When someone pushes the button on the door bell, a video call is created that calls my phone with Jitsi meet. I can then watch and talk to whoever is at the door, and since it is connected to OpenHAB, I can use a DTMF # to open the door lock. If I decide to hang up, the video call is ended.

What OpenHAB does: OpenHAB basically just translates the door button signal to signals that Jitsi meet can comprehend, and is capable of translate signals from Jitsi meet to Z-wave so the door lock can be opened.

Binding for the mentioned door bell camera: https://www.openhab.org/addons/bindings/doorbird/ Z-wave: https://www.openhab.org/addons/bindings/zwave/ IP camera: https://www.openhab.org/addons/bindings/ipcamera/

So, a binding for Jitsi meet is of course needed, so OpenHab can communicate with Jitsi meet. So, the OpenHAB developers needs to know how Jitsi meet communicates internally, what signals it uses to do things.

saghul commented 3 years ago

I think you can accomplish what you want without any special stuff in Jitsi Meet. Here is a start: https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-iframe an app using the iframe API can listen to chat message events and react to them, for example by sending commands over the OpenHAB connection.

Supermagnum commented 3 years ago

Ok. Here is some relevant links to the OpenHAB forum: https://community.openhab.org/t/request-jitsi-meet-binding/127125

https://community.openhab.org/t/does-openhab-handle-ip-cameras-with-two-way-audio/127259/3

I can't find anything about about how Jitsi handles IP cameras with two way audio.

saghul commented 3 years ago

Those usually speak RTSP right? We don't support those, so you'd need to gateway them somehow. I think the gst- meet project might help since it allows for integrating gstreamer with Jitsi Meet.

Supermagnum commented 3 years ago

Those usually speak RTSP right? We don't support those, so you'd need to gateway them somehow. I think the gst- meet project might help since it allows for integrating gstreamer with Jitsi Meet.

From what I can tell, the Ubiquiti UniFi Protect G4 Doorbell supports UniFi and it looks like it needs a UniFi controller. It can do RTSP.

Ring doorbells: https://support.ring.com/hc/en-us/articles/205385394-The-Protocols-and-Ports-Used-by-Ring-Devices The Elite can be powered by Ethernet.

Some Hikvision video intercoms can do SIP: https://www.schick-handel.de/wp-content/uploads/2020/02/Hikvision-video-intercom-SIP-function-Introduction-20191203.pdf

Dahua DHI-VTO2202F-P supports SIP and ONVIF, also has POE.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.