Get request on local IP address not working on HE


#1

I’m migrating from ST to HE and have a number of pistons which perform a get on a local ip address on the same network as the hub. Below is an example of one piston which checks whether a NAS is running taken from ST to show the $response variable.

The get is performed on an IP e.g 192.168.1.1
The same piston on HE fails to return $response, and I suspect is not even managing to make the call out.
I’ve confirmed the HE hub can ping the address. The following error is returned in the HRE logs
app:682022-08-26 12:20:00.991 am debugReleased Lock and exiting
app:682022-08-26 12:20:00.988 am debugExiting
app:682022-08-26 12:20:00.945 am info ║║ $response=*
app:682022-08-26 12:20:00.878 am errorhttp Response Status: 408 error Message: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

The piston log contains the following
26/08/2022, 00:20:00 +901ms
+2ms ╔Received event [Home].wc_async_reply = httpRequest with a delay of 24ms, canQueue: false, calledMyself: true
+6ms ║RunTime initialize > 5 LockT > 0ms > r9T > 2ms > pistonT > 1ms (first state access 3 3 2)
+8ms ║Runtime (6449 bytes) initialized in 2ms (v0.3.114.20220822_HE)
+26ms ║╔Execution stage started
+34ms ║║Executed virtual command setVariable (1ms)
+38ms ║║Calculating (string)$response= + (string) >> (string)$response=
+39ms ║║Calculating (string)$response= + (string)* >> (string)$response=*
+42ms ║║$response=*
+44ms ║║Executed virtual command log (3ms)
+48ms ║║Comparison (dynamic) null is_not (string) [:] = true (1ms)
+49ms ║║Condition #6 evaluated true (3ms)
+50ms ║║Condition group #5 evaluated true (condition did not change) (5ms)
+55ms ║║Skipped execution of physical command [Start NAS-314].on([]) because it would make no change to the device. (2ms)
+56ms ║║Executed [Start NAS-314].on (2ms)
+61ms ║║Executed virtual command [Start NAS-314].setVariable (1ms)
+65ms ║╚Execution stage complete. (39ms)
+68ms ╚Event processed successfully (66ms)
26/08/2022, 00:20:00 +877ms
+3ms ╔Received event [Home].wc_async_reply = httpRequest with a delay of 0ms, canQueue: true, calledMyself: false
+5ms ╚Event queued (3ms)
26/08/2022, 00:20:00 +803ms
+4ms ╔Received event [Home].execute = :7bc150e5a57d1ea8be13be7db6ab459b: with a delay of 15ms, canQueue: true, calledMyself: false
+13ms ║RunTime initialize > 12 LockT > 1ms > r9T > 2ms > pistonT > 1ms (first state access 9 5 7)
+16ms ║Runtime (6440 bytes) initialized in 2ms (v0.3.114.20220822_HE)
+18ms ║╔Execution stage started
+26ms ║║Sending asynchttpGet web request to: 192.168.0.7
+28ms ║║Executed virtual command httpRequest (3ms)
+31ms ║║Requesting wake up at Fri, Aug 26 2022 @ 12:20:24 AM BST (in 23999ms) for 1 (st:2)
+38ms ║╚Execution stage complete. (21ms)
+64ms ║Setting up scheduled job for Fri, Aug 26 2022 @ 12:20:24 AM BST (in 24018ms)
+66ms ╚Event processed successfully (63ms)
Clear Full


#2

Just confirming the correct ip.

Your log shows the request went to 192.168.0.7, not 192.168.1.1 as you mentioned above. Assuming the 1.1 was just an example as thats usually a gateway.


#3

The ip address in the log is correct as used by the piston, the other was an example. I could probably have posted the green picture as there isn’t really anything that needs hiding in it.


#4

The ST hub didn’t support https on local connections yet I notice you are now using it on the HE piston, which seems to be the cause of your problems.


#5

Thats just the anonymised piston, it does use just an ip in the piston.
It seems one difference is HE assumes https, whereas my ST doesn’t. Prefixing with http on HE resolves some issues. There seem to be other differences too, which I am still investigating on the HE forum.


#6

I think this issue is resolved

At a high level there is a difference in st vs he on what happens with web redirects and on web pages that need authentication

While different both he or st ‘wew doing a right thing’