Question on closing out thread

Hello,
Using reactor to set up a Washer and Dryer notification via Sonos.
Currently have it checking if the dryer is drawing less that 50 watts, washer is tested to see if it is drawing less than 5 watts for 60 seconds. Discovered that without the 60 second wait, it was very chatty when the drum changed directions. There were moments of 0 watts.
Anyway, if either of those conditions are met (two separate reactors) if fires off:
luup.call_action(“urn:micasaverde-com:serviceId:Sonos1”, “Say”,{Text=“The dryer is finished.”, Language=“en”,Volume=60},74)
or
luup.call_action(“urn:micasaverde-com:serviceId:Sonos1”, “Say”,{Text=“The washer is finished.”, Language=“en”,Volume=60},74)

depending on which reactor is running.
Well, almost. I think I need to return a success code to the system or something, because once it tells me the washer is finished, it repeats the same message for the dryer instead of telling me the dryer is finished.
Not enough of a coder to have the solution.
Roger

[quote=“RogerO, post:1, topic:200497”]Hello,
Using reactor to set up a Washer and Dryer notification via Sonos.
Currently have it checking if the dryer is drawing less that 50 watts, washer is tested to see if it is drawing less than 5 watts for 60 seconds. Discovered that without the 60 second wait, it was very chatty when the drum changed directions. There were moments of 0 watts.
Anyway, if either of those conditions are met (two separate reactors) if fires off:
luup.call_action(“urn:micasaverde-com:serviceId:Sonos1”, “Say”,{Text=“The dryer is finished.”, Language=“en”,Volume=60},74)
or
luup.call_action(“urn:micasaverde-com:serviceId:Sonos1”, “Say”,{Text=“The washer is finished.”, Language=“en”,Volume=60},74)

depending on which reactor is running.
Well, almost. I think I need to return a success code to the system or something, because once it tells me the washer is finished, it repeats the same message for the dryer instead of telling me the dryer is finished.
Not enough of a coder to have the solution.
Roger[/quote]

OK. Can I have you post the logic summary for both ReactorSensors? On the Tools tab, there’s a “Logic Summary” link at the very bottom of the page. Just grab that for each and post it here, preferably after both a washer and dryer run and stop, as it will log the events it’s executing as well.

Here they are. It said “The Washer is finished” for both tests.

Washer

REACTOR LOGIC SUMMARY REPORT

Version: 2.1 config 204
Local time: 2019-01-27T08:16:33-0800, DST=0
House mode: 1
Sun data: {}

Washer Finished (#509) tripped
Version 2.1548009299 01/20/19 10:34:59
Message/status: Tripped
Group #1 true as of 08:15:56
=T (service) Washer (30) urn:micasaverde-com:serviceId:EnergyMetering1/Watts < 5 for ge 60s [true/true as of 08:14:56/08:15:56; 0.000 at 08:14:56]
Trip Actions
Run Lua:
luup.call_action(“urn:micasaverde-com:serviceId:Sonos1”, “Say”,{Text=“The washer is finished.”, Language=“en”,Volume=60},74)
Untrip Actions (none)
Events
01/27/19 07:29:59 start:
01/27/19 08:13:16 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=30, old=0.000, new=3.191,
01/27/19 08:13:17 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=30, old=3.191, new=76.667,
01/27/19 08:13:17 condchange: newState=false, cond=cond1685d0cc0ad, oldState=true,
01/27/19 08:13:17 evalchange: newState=false, cond=cond1685d0cc0ad, oldState=true,
01/27/19 08:13:17 groupchange: newState=false, cond=grp1685d0cc0ac, oldState=true,
01/27/19 08:13:17 sensorstate: state=false,
01/27/19 08:13:18 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=30, old=76.667, new=63.905,
01/27/19 08:14:03 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=30, old=63.905, new=6.529,
01/27/19 08:14:53 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=30, old=6.529, new=10.315,
01/27/19 08:14:56 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=30, old=10.315, new=0.000,
01/27/19 08:14:56 condchange: newState=true, cond=cond1685d0cc0ad, oldState=false,
01/27/19 08:15:56 evalchange: newState=true, cond=cond1685d0cc0ad, oldState=false,
01/27/19 08:15:56 groupchange: newState=true, cond=grp1685d0cc0ac, oldState=false,
01/27/19 08:15:56 sensorstate: state=true,
01/27/19 08:15:56 startscene: scene=__trip, sceneName=__trip,
01/27/19 08:15:56 endscene: scene=__trip, sceneName=__trip,

Dryer

REACTOR LOGIC SUMMARY REPORT ***************************************************

Version: 2.1 config 204
Local time: 2019-01-27T08:18:38-0800, DST=0
House mode: 1
Sun data: {}

Dryer Monitor (#510) tripped
Version 2.1548010393 01/20/19 10:53:13
Message/status: Tripped
Group #1 true as of 08:17:39
=T (service) Dryer (27) urn:micasaverde-com:serviceId:EnergyMetering1/Watts < 50 [true/true as of 08:17:39/08:17:39; 0.000 at 08:17:40]
Trip Actions
Run Lua:
luup.call_action(“urn:micasaverde-com:serviceId:Sonos1”, “Say”,{Text=“The dryer is finished.”, Language=“en”,Volume=60},74)
Untrip Actions (none)
Events
01/27/19 07:29:59 start:
01/27/19 08:17:20 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=0.000, new=284.373,
01/27/19 08:17:20 condchange: newState=false, cond=cond1686c99e46b, oldState=true,
01/27/19 08:17:20 evalchange: newState=false, cond=cond1686c99e46b, oldState=true,
01/27/19 08:17:20 groupchange: newState=false, cond=grp1686c99e46a, oldState=true,
01/27/19 08:17:20 sensorstate: state=false,
01/27/19 08:17:21 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=284.373, new=771.074,
01/27/19 08:17:22 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=771.074, new=552.430,
01/27/19 08:17:23 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=552.430, new=598.028,
01/27/19 08:17:24 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=598.028, new=642.224,
01/27/19 08:17:25 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=642.224, new=688.180,
01/27/19 08:17:26 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=688.180, new=727.560,
01/27/19 08:17:27 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=727.560, new=754.345,
01/27/19 08:17:35 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=754.345, new=737.842,
01/27/19 08:17:38 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=737.842, new=513.670,
01/27/19 08:17:39 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=513.670, new=2.643,
01/27/19 08:17:39 condchange: newState=true, cond=cond1686c99e46b, oldState=false,
01/27/19 08:17:39 evalchange: newState=true, cond=cond1686c99e46b, oldState=false,
01/27/19 08:17:39 groupchange: newState=true, cond=grp1686c99e46a, oldState=false,
01/27/19 08:17:39 sensorstate: state=true,
01/27/19 08:17:39 startscene: scene=__trip, sceneName=__trip,
01/27/19 08:17:39 endscene: scene=__trip, sceneName=__trip,
01/27/19 08:17:40 devicewatch: var=urn:micasaverde-com:serviceId:EnergyMetering1/Watts, device=27, old=2.643, new=0.000,

Hmm. Everything looks right. What happens if you go to the Activities tab on the dryer Reactor and click the “running man” icon next to the TTS action?

I don’t have any running man icons anywhere that I can find.

OK. Try removing your RunLua action, and choose a device action instead. Select Sonos device, then the Say action, and provide the parameters. Do that for both.

Your TTS list doesn’t include Responsive Voice. That is the one I have them set up with.

Thanks,
Roger

[quote=“RogerO, post:7, topic:200497”]Your TTS list doesn’t include Responsive Voice. That is the one I have them set up with.

Thanks,
Roger[/quote]

I don’t use TTS or know much about how it works on Sonos. Can you give me that again in English?

OK, There are several TTS providers, Google, MaryTTS, OSX TTS and Responsive Voice. When I go into the dropdown list in the Washer Reactor, there is not a listing for Responsive Voice. I don’t have accounts set up with the other online services, and don’t have MaryTTS (local server based) installed.
Hope that helps. Where did you get your list of providers from? Or is that being populated by the Sonos app?

[quote=“RogerO, post:9, topic:200497”]OK, There are several TTS providers, Google, MaryTTS, OSX TTS and Responsive Voice. When I go into the dropdown list in the Washer Reactor, there is not a listing for Responsive Voice. I don’t have accounts set up with the other online services, and don’t have MaryTTS (local server based) installed.
Hope that helps. Where did you get your list of providers from? Or is that being populated by the Sonos app?[/quote]

The list of TTS providers comes from the service definition for the Sonos plugin/service, so if something isn’t on the menu, the Sonos app hasn’t listed it. I can override that easily in Reactor’s device definition file, which you’ll then be able to install from the Tools menu in a hot second and carry on.

So, is the correct, exact string that needs to be sent “Responsive Voice” as shown with capitalization and a space between? Is it optional? What if not sent?

Also, of all the other fields for that action, any new values, reasonable defaults, or any of them optional? I suspect most actually are…

Are you getting the list from my local install of the sonos app, or from the published service definition in the mios app store? It is a drop down in my instance, and I didn’t do any customization to add it if I remember correctly.

No, it’s from the published version in the app store. If you want, go to the Tools menu, select your Sonos plugin device (not a Sonos player, but the master plugin device itself) in the “Submit Device Data” area, and hit the submit button. It will send the device details as you have them up to my server, and I can look at any differences.

Not sure I understand that request. The only sonos items in that pick list are the three devices I created from the app, Kitchen Sonos, Patio Sonos and Living Room Sonos. Are you looking for one of those?

Think the file I used was from post 197 in http://forum.micasaverde.com/index.php/topic,33223.195.html. Not sure if it was ever published in the store.

OK. That helps. Go to the Tools tab on any ReactorSensor, and click the “Update Device Info” button. Then go back to your dryer Reactor’s activities and try again to set up the Say. Responsive Voice should now be on the list. Most of the parameters have been marked optional, also, so you can leave any blanks you need to.

Hello,
Now it doesn’t work at all. Stopped the dryer and it is still showing “not tripped” When I try to run the Say command from the running man icon it says an error has occurred.
Power cycled Vera and now getting this message when I hit the running man.

Here is the logic summary

*************************************************** REACTOR LOGIC SUMMARY REPORT ***************************************************

Version: 2.1 config 204
Local time: 2019-01-27T11:44:41-0800, DST=0
House mode: 1
Sun data: {}

Dryer Monitor (#510)
Version 2.1548617176 01/27/19 11:26:16
Message/status: Not tripped
Group #1 false as of 11:14:24
=f (service) Dryer (27) urn:micasaverde-com:serviceId:EnergyMetering1/Watts < 50 [false/false as of 11:14:24/11:14:24; 304.141 at 11:28:03]
Trip Actions
Device 74 (Sonos) action urn:micasaverde-com:serviceId:Sonos1/Say( Text=The dryer is finished., Language=English, Engine=RV, Volume=50 )
Untrip Actions (none)
Events
01/27/19 11:39:47 start:

Try changing your language to “en”. That’s what you had in your original Lua.

That worked.

Thanks,
Roger

Great. Thanks for sticking with it. And thanks for kicking me off to figure out getting TTS working on my own Sonos. Still not quite there, but close…

Hi Patrick, An old post, but are you using RV? If so is it working for you. Can’t get it to respond after getting my replacement Vera set up. Have Mary TTS working but RV has better voices.