Page 31 of 36

Re: RFXtrx

Posted: Sat Mar 21, 2015 9:04 am
by krambriw
New plugin version uploaded supporting the latest firmware versions
- SelectPlus Action chime changed
- Alecto WS4500 and compatibles
- Envivo ENV-1348 Aldi chime
- DEA Systems receivers (KeeLoq Classic raw)
- Sunpery & Dolat DLM-1 blinds
- La Crosse TX5 Rain gauge
- Thermostat Mertik G6R-H4TD

Re: RFXtrx

Posted: Tue May 19, 2015 1:10 pm
by Mastiff
krambriw wrote:Yes, it means that it has passed more than 10 minutes since the sensor was last seen. Maybe the battery is getting weak or you have some other interference. For sure it indicates that the signal is not able to reach all the time, the sensor sends about once per minute.

You could make a quick change if you like, just change the value '600' to something else (seconds) in line 1017, save and restart EG:

Code: Select all

                self.monitor_050_mem[base_msg] = self.eventMonitor(
                    mon_param,
                    decode_param,
                    base_msg,
                    600.0
                )
Sorry to go back to this, but is it possible to move that choice (I prefer noe hour, not 10 minutes, since I have some sensors that are almost out of range) to an external file or even better, a command set in EventGhost? That way I won't loose that setting end forget to edit it every time the plug-in is updated. :mrgreen:

Re: RFXtrx

Posted: Thu May 28, 2015 7:41 am
by Mastiff
I have had a problem here. Last night at around 21.30 the RFX stopped working. And the event came as it should (lost connection), but it wasn't handled as it should have been. All that happens is a bunch of error lines:

Code: Select all

09:39:00   RFXtrx.Lost connection with the RFXtrx
09:39:00   Unhandled exception in WorkerThread <ActionThread>:
09:39:00   Callers stack:
09:39:00     File "threading.pyc", line 504, in __bootstrap
09:39:00     File "threading.pyc", line 532, in __bootstrap_inner
09:39:00     File "threading.pyc", line 484, in run
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 354, in __MainLoop
09:39:00       self.__DoOneEvent()
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 342, in __DoOneEvent
09:39:00       eg.PrintTraceback()
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 289, in HandleAction
09:39:00       action()
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\EventThread.py", line 103, in Transfer
09:39:00       ActionThreadCall(event.Execute)
09:39:00   Traceback (most recent call last) (1700):
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 326, in __DoOneEvent
09:39:00       self.HandleAction(action)
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\ActionThread.py", line 87, in HandleAction
09:39:00       action()
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\ThreadWorker.py", line 62, in __call__
09:39:00       self.returnValue = self.func(*self.args, **self.kwargs)
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\EventGhostEvent.py", line 168, in Execute
09:39:00       activeHandlers = sorted(activeHandlers, key=GetItemPath)
09:39:00     File "C:\Program Files (x86)\EventGhost\eg\Classes\TreeItem.py", line 377, in GetPath
09:39:00       path.append(parent.childs.index(item))
09:39:00   ValueError: tuple.index(x): x not in list
Can you see what's gone wronge here, why the event triggered with "RFXtrx.Lost connection with the RFXtrx" doesn't run? If I run it manually, it works. :shock:

It isn't my macro that's wrong, because it doesn't run another macro that should have been run either. :cry:

Re: RFXtrx

Posted: Thu May 28, 2015 9:23 am
by krambriw
I don't think this has to with the RFXtrx plugin.

Re: RFXtrx

Posted: Thu May 28, 2015 10:05 am
by Mastiff
I sort of thought that too, since the warnings still came through. I just wish I knew why they didn't manage to trigger anything. :cry:

Re: RFXtrx

Posted: Wed Jun 03, 2015 9:39 am
by Mastiff
As you know from the CDC thread my sensor under the cabin died some days ago. Would it be possible to put in the ability to choose a period to generate an event if there is no contact with a sensor that has been in before (same logic as the "lost contact with" now)? For instance 24 hours would be nice. I get those "lost contact" all the time, but I would like something with a lot longer wait for that. :mrgreen: This goes for the NHS plug-in as well. It would be so nice to have that in the plug-in, instead of having to create one timer for each of the sensors, and then change sensors on them when I have to change battery or something.

Re: RFXtrx

Posted: Wed Jun 03, 2015 9:59 am
by krambriw
Just to clarify,

- you would like to have a configurable time out for the event instead of the fixed 600 seconds?
- you want that event repeated or only at the time when the sensor lost timer triggers?

Regardless, I would prefer general implementations of such features, means a lot of changes since the RFXtrx plugin supports many sensor brands & types...

Right now, I don't see when and if I have the time

Re: RFXtrx

Posted: Wed Jun 03, 2015 10:10 am
by Mastiff
A configurable timeout would be very nice! That way I could set it to 6, 12 or even 24 hours to make sure that it's a real failure. And it can repeat it every new period as well, or only the first time, whatever would be the easiest to do! General implementation is no problem. That way it would only be the UI that needs a small change, right? If you have the time for that! As long as it doesn't interfere with the timeout set for loss of contact with the RFX (or the NHS, for that matter). :mrgreen:

Re: RFXtrx

Posted: Wed Jun 03, 2015 10:28 am
by krambriw
General implementation is no problem
Well, maybe not for you but for me. What I meant is that I have to change the code in many places including adding a configuration setting for each sensor action. Only a lot of time, otherwise no problem

Re: RFXtrx

Posted: Wed Jun 03, 2015 10:32 am
by Mastiff
Ah, sorry. I thought you meant that general was easier because you could change one single thing that affected everything! Sorry.

Re: RFXtrx

Posted: Fri Jun 05, 2015 7:23 am
by krambriw
A configurable timeout would be very nice!
New version uploaded. I found a way that was within reasonable amount of effort. I have added a variable for the timeout that can be configured from an external python script (or other application) during the RFXtrx plugin runtime .

To configure a 24 hours timeout, simply run a python script or command like this while the RFXtrx plugin is running:

Code: Select all

eg.plugins.RFXtrx.plugin.sensorLostTimeOut = 86400.0
If you you restart the RFXtrx plugin or EG, it will default back to 600.0 seconds. So the best is to setup the configuration like this:
Autostart -> your plugins including the RFXtrx plugin ->Wait (5.0 seconds) ->The python script

Once up and running, you can change it again if needed at any time by running the script with another value

The setting will affect all sensor brands and types with the following exceptions that will keep their settings unchanged:

types = {
'00': 'RFXSensor temperature',
'01': 'RFXSensor A/D',
'02': 'RFXSensor voltage',
'03': 'RFXSensor message'
}
6000.0 seconds (#100 minutes timeout)


types = {
'00':'RFXMeter normal data packet',
'0f':'Identification packet'
}
3900.0 seconds (#65 minutes timeout)


types = {
'00': 'X10 security door/window sensor',
'01': 'X10 security motion sensor',
'02': 'X10 security remote',
'03': 'KD101',
'04': 'Visonic PowerCode door/window sensor',
'05': 'Visonic PowerCode motion sensor',
'06': 'Visonic CodeSecure',
'07': 'Visonic PowerCode door/window sensor ÔÇô auxiliary contact',
'08': 'Meiantech',
'09': 'Alecto SA30'
}
15000.0 seconds (#250 minutes timeout)

Re: RFXtrx

Posted: Fri Jun 05, 2015 7:43 am
by Mastiff
Great, Krambiw! Thank you very much! :mrgreen: But two questions:

You write that '00': 'RFXSensor temperature' will keep the settings. Is that something else than regular temp sensors? It was mainly the temp sensors I wanted to do this for.

Also what's the format of the lost message? I would like to know that so I can use a wild card event and then parse it to get the sensor number.

Re: RFXtrx

Posted: Fri Jun 05, 2015 9:49 am
by krambriw
You write that '00': 'RFXSensor temperature' will keep the settings. Is that something else than regular temp sensors?
Yes, this is a special sensor from RFXCOM,
Your sensors are not of this type
Also what's the format of the lost message?
It's the same as you see from time to time today. It is only the timeout for the event you are changing...not the format

Re: RFXtrx

Posted: Fri Jun 05, 2015 10:42 am
by Mastiff
OK, great! Thanks again! :mrgreen: :mrgreen: Then I'll just add all of them and do a payload split for a translation table so I can get a mail telling me what sensor's out! :mrgreen:

Re: RFXtrx

Posted: Wed Sep 02, 2015 9:49 am
by krambriw
New version available, see first post