Hubmesh issue with remote device states?

I'm having an issue that has me scratching my head.

I have a remote virtual switch, Switch 118, which is set in my remote Hub (hub#1). The piston below (on Hub#2) is triggered by the remote virtual switch (Hub#1) BUT the Piston doesn't recognize the State change.

Are device states , time sensitive - meaning is there a time limit of when a device "is on" vs "changed to on"

(I hope this makes sense).

Perhaps try setting up a simple rule in rule machine or something similar on hub#2, say to send you a notification, triggered off the switch changing state, just to confirm they pick up on the state change. Then you can work out where to focus your efforts in trying to solve the issue.

Or perhaps an even quicker thing to check is the events listed against the device

ok thanks for the idea.. what i did do is set the switch in Hub 2 manually... in which case all is good.... then the state change on switch is recognized in Hub 1.

However the switch is set by a piston on Hub 1 (not manually) in which case, the state change triggers the piston in Hub2 but the switch state change is not recognized..

As in it is not seen as a change to on or off?

correct its not seen as changing from off to on in the piston on Hub 2

A screenshot of the Events for the device on Hub#2 may be helpful....

Heres the events on the Virtual switch on Hub2 - which is hubmesh'd to the switch on Hub 1

That looks fine to me, I would test a rule to see if those apps detect the right state change.

If the issue sits in webcore then I'm not really able to help as I don't use it myself.

Ok i tried something which is demonstrating strange behaviour.. I put a wait of 1 sec before the condition of the virtual switch state is tested - it does not recognize the state.. without the wait it does.

So either this is a webcore issue or a Hubmesh issue

Perhaps there is some kind of delay in the change being recorded wherever webcore is reading those details...

See:

wow thats fast !! was the issue in webcore ?? i will test ..

Unfortunately that didnt make a difference in my case... there definitely appears to be an issue in webcore in recognizing device state change from a hubmesh device..

yes i reckon you're right......

if you can share the latest logs, piston that would be helpful

you can put it in a private message or in the forum

I think the webcore forum folks can also help

You do have nested triggers, which in general is not the best practice for dealing with triggers.

For example 'changes' triggers needs to be 'run over' on each execution or else it cannot track that something changed.

The webcore forum folks are good at helping on this type of logic.

I'm not clear there is a bug. If there is I'm happy to look at a webcore bug.

A better structure would be

if xxx changes
or
yyy changes

then do stuff
....

'changes' are triggers, and triggers should be at level one (looking left to right) (ie not indented within then or else statements.

'changes' is a trigger

'is' is a condition

1 Like