[SOLVED OH2 performance tuning

Tags: #<Tag:0x00007f2fb5b236f8> #<Tag:0x00007f2fb5b23590> #<Tag:0x00007f2fb5b233d8>

Heya

I have a rather simple use case: I have Mobotix IP door station that sends a tcp message to OH where it triggers a rule.

I have this setup running on my OH1 installation and it works nicely. I use the tcp and the knx binding and make some lights flash - this works instantaneously.

On my OH2 Installation(the release from the website, downloaded yesterday) I use the tcp binding and the Sonos binding and I want my sonos to play a sound when someone rings the door. It works as well…but with quite a delay.

All the solutions work basically but just not good enough to be wife approved :\ I was putting my hopes on the Sonos binding but the delay is not acceptable. (need to be measured but the sonos rings after all the other rules below have fired)

Here a quick description of my setup:
OH2 on Raspi3 with just one rule (but the complete items from my oh1 installation ~100i tems) connected via Ethernet
OH1 on Raspi2 with all the other working rules- no issues here - connected via Wifi
Sonos1 connected via Wifi (5m away from the router with no walls in between
Samba/ftp server on my DD-WRT Router with the bell.mp3 file to be played

Any idea how I could speed things up?

The WAF suffers pretty badly as all my attempts to make a simple thing like a door bell are not satisfying.
I have an android app that receives a push and shows the live image and a door open button. But the push is sometimes delayed and the app opens too late or not at all.
I have the XMPP binding send a hangouts message. This works but also sometimes it is delayed or is not noticed.
I use the Mobotix SIP client to make a call to the house phone. This also sometimes does not work at all delay is about 5s after the button was pressed.

Hmm. As there’s no obvious reason why your new installation shows delays, I fear you need to dive into troubleshooting.
First, enable extensive logging for the bindings and other software objects (like rules) that are part of your action chain.
Check timestamps to identify the step during communication or the component where the delay happens to take place.
Next, since I understand from your description that everything seems to be affected, my first guess would be to check layer 2 and 3 communication (WiFi and IP, that is). Look for retransmit counters, signal strength display, start a tcpdump … classic debugging, that is, unrelated to openHAB in the first place.
Last not least, you claim to have copied every item. Are you sort of running old and new box and config or parts thereof in parallel ? All sorts of hard to find problematic interaction can happen in scenarios like that. Ensure that the old box is rigorously disabled (switched off, cut off the network). Ensure that all devices properly talk to the new box. If it has a new IP, it’s very likely that you have forgotten some place where you should have changed it.

The issue was indeed not OH2 but the TCP signal was sent after a delay… so now all is nice an qick

That sounds sounds to me as if @mstormi gave the hint for the solution, why don’t you mark his post as The solution?

Hi @bernd_boehm ,
I’ve the same goal : Mobotix Door Bell => tcp binding => Openhab2 => Sonos
and the same issue … the delai between the T24 and Sonos is quite long.
Could you please share what was, in your context, the solution.
Is it Mobotix that send the TCP signal too late? If so, how could I change that?
Regards

Heya
First of all I currently run OH2 as a single purpose installation. So its only used as a door bell :wink: it may make a difference… Also I run it on a Raspi3

On the T24 I have several actions that are performed when someone presses the button.
My mistake was the following: You have the option to perform the individual actions “after” one and another or “at the same time”. One of the actions was a SIP call which took a while to initiate and I had the “after” option selected for my Sonos action. When I switched to “at the same time” it was instant.

Check this first and then check the OH2 log (events) maybe on your mobile when you press the button yourself. Then you will see if the item is received with a delay or if the rule takes too long to run or if the sonos idles around.

Are you using the Relaese Version of OH2? With the RC and the betas I had the issue that the rules took way too long to execute.

There might be one more thing: I noticed with my previous installation that there were some errors in the rules file (brakets etc). They weren’t reported and the files mostly worked. Since oh2.1 they errors get reported.

That sounds awesome. Could you elaborate on how you’re doing this? Did it require lots of custom coding? Can it be done somehow with core OpenHAB?

Well, yes :wink: I wrote the android app (not so difficult) and I had to configure the push and send it via the exec binding. It was quite a bit of manual work. I was trying to come up with a less cumbersome way to be able to share the app. But so far I did not have the time to work on this.

Makes me think there should be a way to do richer notifications with the existing notification framework. Such as to add a picture, redirect to a particular site page, include action buttons in the notification, etc.

OK, I’ll stop dreaming and let the original topic carry on now. :slight_smile:

Hi

I have a Mobotix T25 can i get some help on creating a switch on it … so i can open the door when someone rings via openhab? :slight_smile:
I am quite a newbie in this filed…

Thanks

Try and have a look in the Openhab wiki. I have created a few exapmples with the T24. The basic idea is that you use the http binding and fire a get request to the url of the mobotix api. http://user:password@mobotixapi

What wiki do you refer to ? The wiki used for OH1 documentation is no longer in use, all documentation was (or should have been) moved to a) the Github based new docs and b) this forum (e.g. the examples)

Good point. I hade a brief look but I could find what I was referring to.
Anyway what vtheman is looking for is the following item: (make sure to have the http binding installed)

Switch door"Main door" [ “Switchable” ]{ http=">[ON:GET:http://user:password@MobotixIpAddress/control/rcontrol?action=customfunction&action=sigout&profile=~Door]", autoupdate=“false” }