Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

TellStick Duo

Questions and comments specific to a particular plugin should go here.
Mastiff
Experienced User
Posts: 872
Joined: Thu May 03, 2012 10:43 am

Re: TellStick Duo

Post by Mastiff »

I only see the Nexas so far. Both the buttons themselves and the Nexa signals that the RFXtrx is sending out.
krambriw
Plugin Developer
Posts: 2570
Joined: Sat Jun 30, 2007 2:51 pm
Location: Stockholm, Sweden
Contact:

Re: TellStick Duo

Post by krambriw »

Try to run the simple script in parallel to the plugin so that we get the events from everything, then paste here the ones that are not detected by the plugin and I will add support for those
Mastiff
Experienced User
Posts: 872
Joined: Thu May 03, 2012 10:43 am

Re: TellStick Duo

Post by Mastiff »

Code: Select all

19:02:12   OpenNetHomeServer.['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1070', 'FineOffset.Temp', '246', 'Value', ''] "['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1070', 'FineOffset.Temp', '246', 'Value', '']"
19:02:13   OpenNetHomeServer.['event', 'Oregon_Message', 'Direction', 'In', 'Oregon.Channel', '4', 'Oregon.Id', '23', 'Oregon.LowBattery', '0', 'Oregon.Moisture', '32', 'Oregon.SensorId', '7456', 'Oregon.Temp', '199', 'Value', ''] "['event', 'Oregon_Message', 'Direction', 'In', 'Oregon.Channel', '4', 'Oregon.Id', '23', 'Oregon.LowBattery', '0', 'Oregon.Moisture', '32', 'Oregon.SensorId', '7456', 'Oregon.Temp', '199', 'Value', '']"
19:02:17   OpenNetHomeServer.['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1089', 'FineOffset.Temp', '-2', 'Value', ''] "['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1089', 'FineOffset.Temp', '-2', 'Value', '']"
19:02:19   OpenNetHomeServer.['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1170', 'FineOffset.Temp', '-6', 'Value', ''] "['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1170', 'FineOffset.Temp', '-6', 'Value', '']"
19:02:24   OpenNetHomeServer.['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1159', 'FineOffset.Temp', '84', 'Value', ''] "['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1159', 'FineOffset.Temp', '84', 'Value', '']"
19:02:30   OpenNetHomeServer.['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1195', 'FineOffset.Temp', '-186', 'Value', ''] "['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1195', 'FineOffset.Temp', '-186', 'Value', '']"
19:02:39   OpenNetHomeServer.['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1037', 'FineOffset.Temp', '200', 'Value', ''] "['event', 'FineOffset_Message', 'Direction', 'In', 'FineOffset.Identity', '1037', 'FineOffset.Temp', '200', 'Value', '']"
19:02:44   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '3687735', 'NexaL.Button', '6', 'NexaL.Command', '0', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '3687735', 'NexaL.Button', '6', 'NexaL.Command', '0', 'Value', '']"
19:02:45   Main.NetHome|In|NexaL.Address|3687735|NexaL.Button|6|NexaL.Command|0|Value||
19:02:45   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '7375470', 'NexaL.Button', '12', 'NexaL.Command', '0', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '7375470', 'NexaL.Button', '12', 'NexaL.Command', '0', 'Value', '']"
19:02:45   Main.NetHome|In|NexaL.Address|7375470|NexaL.Button|12|NexaL.Command|0|Value||
19:02:45   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '3687735', 'NexaL.Button', '6', 'NexaL.Command', '0', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '3687735', 'NexaL.Button', '6', 'NexaL.Command', '0', 'Value', '']"
19:02:45   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '7375470', 'NexaL.Button', '12', 'NexaL.Command', '0', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '7375470', 'NexaL.Button', '12', 'NexaL.Command', '0', 'Value', '']"
19:02:46   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '8849574', 'NexaL.Button', '25', 'NexaL.Command', '1', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '8849574', 'NexaL.Button', '25', 'NexaL.Command', '1', 'Value', '']"
19:02:46   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '7375470', 'NexaL.Button', '12', 'NexaL.Command', '0', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '7375470', 'NexaL.Button', '12', 'NexaL.Command', '0', 'Value', '']"
19:02:46   Main.NetHome|In|NexaL.Address|3687735|NexaL.Button|6|NexaL.Command|0|Value||
19:02:46   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '3687735', 'NexaL.Button', '6', 'NexaL.Command', '0', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '3687735', 'NexaL.Button', '6', 'NexaL.Command', '0', 'Value', '']"
19:02:46   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '7375470', 'NexaL.Button', '12', 'NexaL.Command', '0', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '7375470', 'NexaL.Button', '12', 'NexaL.Command', '0', 'Value', '']"
19:02:46   Main.NetHome|In|NexaL.Address|7375470|NexaL.Button|12|NexaL.Command|0|Value||
19:02:47   OpenNetHomeServer.['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '20388742', 'NexaL.Button', '25', 'NexaL.Command', '1', 'Value', ''] "['event', 'NexaL_Message', 'Direction', 'In', 'NexaL.Address', '20388742', 'NexaL.Button', '25', 'NexaL.Command', '1', 'Value', '']"
19:02:47   Main.NetHome|In|NexaL.Address|8849574|NexaL.Button|25|NexaL.Command|1|Value||
19:02:48   Main.NetHome|In|NexaL.Address|3687735|NexaL.Button|6|NexaL.Command|0|Value||
19:02:49   Main.NetHome|In|NexaL.Address|20388742|NexaL.Button|25|NexaL.Command|1|Value||
19:02:56   OpenNetHomeServer.['event', 'Oregon_Message', 'Direction', 'In', 'Oregon.Channel', '4', 'Oregon.Id', '23', 'Oregon.LowBattery', '0', 'Oregon.Moisture', '32', 'Oregon.SensorId', '7456', 'Oregon.Temp', '199', 'Value', ''] "['event', 'Oregon_Message', 'Direction', 'In', 'Oregon.Channel', '4', 'Oregon.Id', '23', 'Oregon.LowBattery', '0', 'Oregon.Moisture', '32', 'Oregon.SensorId', '7456', 'Oregon.Temp', '199', 'Value', '']"
As you can see Oregon and FineOffset aren't decoded, while the buttons are.
krambriw
Plugin Developer
Posts: 2570
Joined: Sat Jun 30, 2007 2:51 pm
Location: Stockholm, Sweden
Contact:

Re: TellStick Duo

Post by krambriw »

Perfect, I will add those. Expect a new plugin tomorrow morning, I think I skip it for tonight (I will watch 'Antikrundan' instead...)
Mastiff
Experienced User
Posts: 872
Joined: Thu May 03, 2012 10:43 am

Re: TellStick Duo

Post by Mastiff »

Great, thanks! As for Antikrundan, to each his own... ;) I prefer Star Trek and Stargate myself! :mrgreen:
krambriw
Plugin Developer
Posts: 2570
Joined: Sat Jun 30, 2007 2:51 pm
Location: Stockholm, Sweden
Contact:

Re: TellStick Duo

Post by krambriw »

@Mastiff
It took a bit longer but here is a first preliminary version. Oregon temp/hum sensor events are working fine here, FineOffset temp sensors should work but I could not test. Oregon wind and rain is not supported and I am unsure if those are supported by NetHome (if you do not see such events with the script, your Oregon wind & rain sensor is not supported)
__init__.py
(52.88 KiB) Downloaded 119 times
Mastiff
Experienced User
Posts: 872
Joined: Thu May 03, 2012 10:43 am

Re: TellStick Duo

Post by Mastiff »

Looks great, thanks! The wind and rain doesn't work. I read on the blog for NetHomeServer that he has implemented it, but "theoretically", since he doesn't have one of those himself. But it shouldn't be a problem for me, the RFXtrx can reach both the wind and the rain sensors. Here's a bit of log output, with both oregon and Fine Offset (must say that it took a few seconds to wrap my head around the print command that doesn't print the period - so 24.3 degrees is 243 :mrgreen: ):
13:53:07 NetHome.Oregon|23|4| 'Temp|20.3|Hum|35|Batt|0|'
13:53:25 NetHome.Oregon|245|2| 'Temp|23.1|Hum|38|Batt|0|'
13:53:26 ['In', 'FineOffset.Identity', '1070', 'FineOffset.Temp', '243', 'Value', '', '']
13:53:26 NetHome.FineOffset|1070 'Temp|24.3'
13:53:32 ['In', 'FineOffset.Identity', '1089', 'FineOffset.Temp', '56', 'Value', '', '']
13:53:32 NetHome.FineOffset|1089 'Temp|5.6'
13:53:34 System.Idle
13:53:35 ['In', 'FineOffset.Identity', '1170', 'FineOffset.Temp', '22', 'Value', '', '']
13:53:35 NetHome.FineOffset|1170 'Temp|2.2'
13:53:36 ['In', 'FineOffset.Identity', '1159', 'FineOffset.Temp', '83', 'Value', '', '']
13:53:36 NetHome.FineOffset|1159 'Temp|8.3'
13:53:48 ['In', 'FineOffset.Identity', '1195', 'FineOffset.Temp', '-188', 'Value', '', '']
13:53:48 NetHome.FineOffset|1195 'Temp|-18.8'
13:53:50 NetHome.Oregon|23|4| 'Temp|20.3|Hum|35|Batt|0|'
13:53:53 System.ClipboardChanged
13:53:53 System.UnIdle
13:53:54 ['In', 'FineOffset.Identity', '1037', 'FineOffset.Temp', '207', 'Value', '', '']
13:53:54 NetHome.FineOffset|1037 'Temp|20.7'
13:54:14 ['In', 'FineOffset.Identity', '1070', 'FineOffset.Temp', '242', 'Value', '', '']
13:54:14 NetHome.FineOffset|1070 'Temp|24.2'
13:54:20 ['In', 'FineOffset.Identity', '1089', 'FineOffset.Temp', '56', 'Value', '', '']
13:54:20 NetHome.FineOffset|1089 'Temp|5.6'
Btw where do I turn off that print command? It's more than enough to have the event. :D
krambriw
Plugin Developer
Posts: 2570
Joined: Sat Jun 30, 2007 2:51 pm
Location: Stockholm, Sweden
Contact:

Re: TellStick Duo

Post by krambriw »

You find it in line 353, you just delete the line

Code: Select all

        print fineOffsetMsg
Regarding temperature, I was incorrect yesterday, the temperature from Oregon and FineOffset is provided as an integer that has to be divided by 10 into a floating point value. What I wrote yesterday is valid for UPM/ESIC

Have a nice weekend
Mastiff
Experienced User
Posts: 872
Joined: Thu May 03, 2012 10:43 am

Re: TellStick Duo

Post by Mastiff »

Yep, that was it. Thanks! :mrgreen: And I will have an almost nice weekend - I'm going to put up my in the cabin new Swedish made Euroscreen Sesame projector screen, which arrived yesterday. Why almost nice? Because the projector itself doesn't arrive from calibration until the end of next week or the week after that... :lol: Have a great weekend yourself!
Mastiff
Experienced User
Posts: 872
Joined: Thu May 03, 2012 10:43 am

Re: TellStick Duo

Post by Mastiff »

Not so fast, young man! :shock: Check this out:

Code: Select all

16:42:17   Tellstick.Oregon|23|4| 'Temp|20.0|Hum|36|Batt|0|'

Code: Select all

16:42:17   Exception in thread Tellstick:
16:42:17   Traceback (most recent call last):
16:42:17     File "threading.pyc", line 532, in __bootstrap_inner
16:42:17     File "C:\Program Files (x86)\EventGhost\plugins\NetHomeServer\__init__.py", line 318, in run
16:42:17       self.OregonMessage(oregonMsg)
16:42:17     File "C:\Program Files (x86)\EventGhost\plugins\NetHomeServer\__init__.py", line 375, in OregonMessage
16:42:17       oregonTemperature = float(oregonMsg[12])
16:42:17   IndexError: list index out of range
16:42:17   
And the plugin stops working. :cry:
krambriw
Plugin Developer
Posts: 2570
Joined: Sat Jun 30, 2007 2:51 pm
Location: Stockholm, Sweden
Contact:

Re: TellStick Duo

Post by krambriw »

So young man :D

I was expecting this but I could not be 100% sure,,,I have seen that messages from NetHome sometimes are incomplete and that is what has happened here. To safe guard the operation of the plugin, please try the attached version instead. It is fully compatible with the previous so just replace and restart EG should do it
__init__.py
(53.2 KiB) Downloaded 107 times
Mastiff
Experienced User
Posts: 872
Joined: Thu May 03, 2012 10:43 am

Re: TellStick Duo

Post by Mastiff »

OK, rockin' and rollin' again. ;) I'll let you know if there are more problems. :D Oh, and maybe we should have a male dominance match? I'm 50 next year. Does that give me the right to call you "young man"? :P
srki76
Posts: 9
Joined: Sat Feb 07, 2015 10:14 am

Re: TellStick Duo

Post by srki76 »

Hi,

I have the latest TSDUO plugin, nice thing is that the humidity and temperature are separated in log, but when I copy event from log to a macro, macro wouldnt start. Here is the picture of my problem, as You can see, humidity is 56, and last macro isnt executing.
Another strange thing is when I try to drag&drop humidity log event from the left to the macro on the right side, it will drop event without '56' at he end.
Last edited by srki76 on Sun Feb 08, 2015 2:56 pm, edited 1 time in total.
krambriw
Plugin Developer
Posts: 2570
Joined: Sat Jun 30, 2007 2:51 pm
Location: Stockholm, Sweden
Contact:

Re: TellStick Duo

Post by krambriw »

Another strange thing
It is not so strange, it has a natural explanation. All values from sensors like temperature and humidity is not part of the event.suffix, it is always provided in the event.payload. Otherwise you would have to add events in your macros for all possible values and that would be a mess.

So to make your macros work you need to evaluate the payload of the event before you continue the macro. This can be done with a simple python script that you put in the macro just after the event. If the value provided in the payload is fitting your criteria, the macro will continue, otherwise it will stop.

This is a script you could try for your first macro that starts the fans:

Code: Select all

def eventHandler(pload):
    hum_level = int(pload)
    if hum_level == 63:
        eg.StopMacro()
        eg.plugins.EventGhost.ShowOSD(u'Stopped macro', u'0;-24;0;0;0;700;0;0;0;1;0;0;2;32;Arial', (255, 255, 255), (0, 0, 0), 0, (0, 0), 0, 3.0, False)
    else: 
        pass

eventHandler(eg.event.payload)
And this for your second macro where fans are stopped:

Code: Select all

def eventHandler(pload):
    hum_level = int(pload)
    if hum_level == 58:
        eg.StopMacro()
        eg.plugins.EventGhost.ShowOSD(u'Stopped macro', u'0;-24;0;0;0;700;0;0;0;1;0;0;2;32;Arial', (255, 255, 255), (0, 0, 0), 0, (0, 0), 0, 3.0, False)
    else: 
        pass

eventHandler(eg.event.payload)
Please be aware of certain things

1) The fans will be started or stopped only when the humidity is reaching the exact thresholds 58 and 63 respectivly. If you start EG at anytime, you will then have to wait until this happens
2) You should therefore consider to set hum_level > 58 and hum_level < 63 in the scripts above
3) Eventually consider to build in a status memory in the scripts to avoid that the commands are repeated every minute when the event arrives (this is a second step we can discuss when you have the first part)

BestR
Mastiff
Experienced User
Posts: 872
Joined: Thu May 03, 2012 10:43 am

Re: TellStick Duo

Post by Mastiff »

krambriw wrote:[quote3) Eventually consider to build in a status memory in the scripts to avoid that the commands are repeated every minute when the event arrives (this is a second step we can discuss when you have the first part)
You mean to avoid having noise that can drown out other commands, or is there another reason? I have my heating scripts (which mostly runs on the RFXtrx) set to send on every time, so I get commands every minute or two for just about everything.
Post Reply