CoRE - Get peer assistance here with setting up Pistons

I’m having to rebuild my pistons pretty regularly. Am on latest version of core but all my if statements are changing to blank. Re building works but only temp. Guessing this isn’t normal?

You can create two set of tasks, one for the dimmer and one for the switch. Yes on the switch attribute as on/off and level for the dimmer. I have not tried combining dimmers and switches with the load attribute so I don’t know how it will behave when you do:

Using dimmer and switch...
> Load switch and level attribute from variable switchStatus

Ok so I must suck at this. Trying to play with an automation in the event of a fire. I don’t have detectors yet but set it up to detect by temprarure. I can’t seem to get it running though. Can you see anything I did wrong? ( I only added the Aron labs motion sensor so I could trigger the piston quickly for testing ).

Thanks in advance


Remove the temperature conditions while testing to see if your tasks will execute.

Motion isn’t initiating and simulator just shows this.

Sometimes it’s just easier to create a virtual switch that you can turn on and off to trigger tasks that you’re experimenting on.

After you create the virtual switch, you can use it as your trigger as in:

VirtualSwitch changes to on
Using your_devices
  > Do this..

For some reason it fired this time. As soon as the motion sensor turned active, the lights flashed, doors unlocked and the AC shut off. The only thing that didn’t run was the Sonos speaking text.

Receiving an http request to set a variable or turn on a switch? So, I use the http post option in CoRE to set a variable to trigger things in my ISY, I’m hoping I can do the opposite of that, have my ISY send an http request/command to SmartThings/CoRE to trigger things to happen. Can I do that? If so, how?

Yes you can, by riding on the IFTTT implementation. Choose a name for your event, say isy (I picked lower case, pick whatever you want, but be consistent). The URL to execute from the external service is the same as your dashboard, but replace the ending /dashboard with /ifttt/isy (or whatever word you choose). Make sure you send your variable as JSON. Go to CoRE and select the IFTTT capability, you’ll be asked to enter an event name, type in isy (or whatever name you picked, same exact case) and the tick the import variables, optionally entering a prefix for the imported variables - if you enter the prefix isy_ and the external service sends the variable called x then you’ll find your data in the isy_x variable. If you don’t provide a prefix, then look for x

Good luck :slight_smile:

Had several pistons written for my Arlo cameras. Working just fine for weeks. Now it seems “recordClip(…)” is no longer showing as an option. Any ideas why ? I now can’t force the Arlos to record a clip from other motion detectors/actions/etc. Had a piston setup to turn on Arlo recording if my Ring Doorbell saw motion, for instance. Thx.

Maybe the device handler was updated to remove that? CoRE will only see those if the handler exposes them.

1 Like

Makes sense. Any way to tell ? Would Netgear (Arlo) even know if I asked ?

That is most likely the cause :frowning:

Well this sucks. Why the hell would they take that out ? And leave the stupid “Capture(…)” which no one can figure out what it actually does. Crap.

what is the name of the DH?

I’m pretty new to CoRE being as i just installed it, i was hoping to use it to control the cans in my living room. I have a z wave dimmer and a motion sensor, I wanted to have it turn on with motion and off 8 mins after motion stops, however I have my harmony hub dim the lights when i turn on my TV but then once the motion goes off it sets the dimmer back to 100%. I just need to figure out a piston that would only turn the dimmer “On to 100%” when the previous state was 0%. help!

Just getting started with CoRE, and have a few pistons functioning successfully. Having some trouble creating one based on “sunset”. I’d like a set of lights to fade from 0%-100% over a period of 600 seconds. I have this accomplished, but I’d like to be able to override the piston for any specific light if that switch is set to 100% during the 600 second period - without affecting the piston controlling the other lights in the set. As of now, when I set a light to 100% during the time period, within seconds it defaults back to a lower level to continue with the fade-up. Obviously this is the way it’s written - is there an option for individual override? Thanks!

The fade is - in its current implementation - uninterruptible, unfortunately. You may be able to use webCoRE (when it’s ready) for something like:

   device list = Light1, Light2, Light3, ..., LightN
   integer level;
end define;

every day at sunset
   /* turn on the lights in the list */
   with {list}
      turn on;
   end with;
   /* repeat this 20 times */
   for {level} = 0 to 100 step 5
      /* with each device in the list, only set the level if the light is already on and if the current level is less than our target */
      for each {$device} in {list}
         if {$device}`s level is less than {level}
            with {$device}
               /* the actual level adjustment happens here */
               set level to {level} if already on;
            end with;
         end if;
      end for each;      
      /* wait 30 seconds after each of the 20 cycles - 20*30 = 600 seconds total time */
      wait 30 seconds;
   end for;
end every;
1 Like

Thought that might be the case. An absolutely fantastic set of tools nonetheless, will definitely keep experimenting. Cheers and thanks for the reply!

The above example should be functional by the end of the week. What’s missing right now is that “every day at sunset”… the rest works fine :slight_smile: