Announcement

Collapse
No announcement yet.

Unwanted dependency when using multiple webhooks

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Unwanted dependency when using multiple webhooks

    I have three touchscreens running NodeRED, all connected to HS4 using a seperste webhook.

    this morning I noticed none of them were updating HS device device anymore.

    After troubleshooting I found that this was caused by one touchscreen being offline for maintenance.

    Apparently if one webhook fails, all the others will fail.

    This is an unpleasant dependency that imho should not be there. How can this be resolved, is there something I can do on my end or does this require a HS change?

    #2
    Explain this a bit better...
    • What's you setup like?
    • Where is your Node-RED server installed?
    • Are Tablets where Node-RED is installed (for this only one server can fail)
    If you have one Node-RED server and it fails everything communicating with it fails.
    I have 2 Node-RED servers (ioBroker) and a stand alone one. 2 Webhooks links in HS4 each pointing to those servers and if one server (Node-RED) fails doesn't take out the other.
    • What can happen is if HomeSeeer lost connection (Network) the servers won't communicate with HomeSeer.

    *** A single instance bundled (installed) on HomeSeer will also also cause things to fail (keeping in mind that Node-RED is a separate service which is not controlled by HomeSeer)



    Eman.
    TinkerLand : Life's Choices,"No One Size Fits All"

    Comment


      #3
      Reading your additional questions and remarks I feel you do not understand the issue.

      I'll try to answer your questions but not sure I completely understand them all:

      What's you setup like?
      --> The relevant setup is as described above ("three touchscreens running NodeRED, all connected to HS4 using a seperate webhook"):
      • [*=1]A HS4 server, latest production version but the issue is version independent, seen this on previous versions too. [*=1]Three touch screens, all connected to their own Rasp PI4 and running an instance of NodeRED locally and with the Homeseer Node installed. Latest release but also not relevant to the problem because it seems to be a server issue.
      Where is your Node-RED server installed?
      --> not sure I understand the question. I have never heard of a NodeRED server. Do you perhaps mean the MQTT server or the instance of NodeRED running locally on the PI's connected to the touchscreens? With respect to a MQTT server, since there are no dependencies I left this out.

      Are Tablets where Node-RED is installed (for this only one server can fail)
      --> not sure what you mean with this question, most likely answered above.

      What can happen is if HomeSeeer lost connection (Network) the servers won't communicate with HomeSeer.
      Off course, if Homeseer loses Network connection, nothing will work but this is not relevant for the issue I am describing.

      If you have one Node-RED server and it fails everything communicating with it fails.
      As I said, I have three touchscreens running NodeRED.
      I have 2 Node-RED servers (ioBroker) and a stand alone one. 2 Webhooks links in HS4 each pointing to those servers and if one server (Node-RED) fails doesn't take out the other.
      Try this: add a webhook to a non existing IP address in your HS4 setup (simulates a NodeRED instance that is offline). Test if HS devices configured in the two NodeRED instances (or servers as you call them) are still updated if they change.

      I am seeing this in the log: "Posting to webhook failed: Unable to connect to the remote server URL: http://192.168.1.222:1880/homeseer/webhook" (.222 is the touchsreen that is offline)
      The other HS Nodes show Connected and will even show a list of devices or events but devide status is not updated.

      Comment


        #4
        Originally posted by fvhemert View Post
        I have three touchscreens running NodeRED, all connected to HS4 using a seperste webhook.
        Can you explain how the touchscreens are set up to run Node Red? Are the touch screens attached to something such as a raspberry pi? Are they iPad or Android tablets? Did you use any of these instructions for installing Node Red or, if you are tossing a tablet, are you running an app? If an app, what app are you running?

        What is your intention/use case for the touchscreens? I am wondering if your goal can be better served with a different setup. For instance, if I wanted a Node Red Dashboard to display on the touchscreens, I would have Node Red running on a system such as a raspberry pi or Windows computer installed using the instructions linked above. I would then have tablets which either used a browser to access the dashboard, or an app such as the Node-Red Client Editor to display the dashboard. Here is a link to that app in the Google play store: https://play.google.com/store/apps/d...linhtranvu.app

        For the moment an understanding of you installation is needed with a definition of specifically what the touchscreens are, what operating system is running then, and how Node Red is installed on them or where your flows are located. The webhook will point to the system where the flows are located, which is what is installed following the instructions in my first link.

        ​​​​​​
        Karl S
        HS4Pro on Windows 10
        1070 Devices
        56 Z-Wave Nodes
        104 Events
        HSTouch Clients: 3 Android, 1 iOS
        Google Home: 3 Mini units, 1 Pair Audios, 2 Displays

        Comment


          #5
          I see the problem, if you have multiple webhooks configured and if posting a device update to one fails, then HS4 won't try to post the update to the subsequent webhooks in the list.
          I have created a ticket for this bug (HS-1419), I will let you know in this thread when this is fixed.

          In the meantime, the only workaround I can see is to put the problematic webhook at the end of the list so that it does not prevent others from working.

          Comment


            #6
            Originally posted by spud View Post
            I see the problem, if you have multiple webhooks configured and if posting a device update to one fails, then HS4 won't try to post the update to the subsequent webhooks in the list.
            I have created a ticket for this bug (HS-1419), I will let you know in this thread when this is fixed.

            In the meantime, the only workaround I can see is to put the problematic webhook at the end of the list so that it does not prevent others from working.

            Yes, exactly the issue. Thank you SPUD for stepping in and creating a bug!!

            For scheduled maintenance its not an issue to temporary remove a webhook from the HS4 setup to prevent the others touchscreens from failing. The true problem is if one of the devices fails at random.... at this time I have a 66% chance of it affecting the others. It would be great to change the logic so processing the webhooks continues, even if one fails. I guess by creating HS-1419 we taken the first step towards that. Thanks!

            Comment


              #7
              WOW!

              What Is A Server? : https://whatis.techtarget.com/definition/server

              Need we say more?




              Eman.

              TinkerLand : Life's Choices,"No One Size Fits All"

              Comment


                #8
                Originally posted by fvhemert View Post


                Yes, exactly the issue. Thank you SPUD for stepping in and creating a bug!!

                For scheduled maintenance its not an issue to temporary remove a webhook from the HS4 setup to prevent the others touchscreens from failing. The true problem is if one of the devices fails at random.... at this time I have a 66% chance of it affecting the others. It would be great to change the logic so processing the webhooks continues, even if one fails. I guess by creating HS-1419 we taken the first step towards that. Thanks!
                Why not creating a High Availability solution using your 3 RPi”s and use only one webhook?

                —-
                John

                Comment


                  #9
                  Originally posted by fvhemert View Post


                  Yes, exactly the issue. Thank you SPUD for stepping in and creating a bug!!

                  For scheduled maintenance its not an issue to temporary remove a webhook from the HS4 setup to prevent the others touchscreens from failing. The true problem is if one of the devices fails at random.... at this time I have a 66% chance of it affecting the others. It would be great to change the logic so processing the webhooks continues, even if one fails. I guess by creating HS-1419 we taken the first step towards that. Thanks!
                  problem with multiple webhooks (HS-1419) has been fixed in HS 4.2.6.0
                  https://forums.homeseer.com/forum/ho...0-is-available

                  Comment


                    #10
                    Originally posted by spud View Post

                    problem with multiple webhooks (HS-1419) has been fixed in HS 4.2.6.0
                    https://forums.homeseer.com/forum/ho...0-is-available
                    Thx for letting me know, I'll upgrade, test and post the results here.

                    Comment


                      #11
                      Hi spud looks like the problem has reoccurred in HS4 Standard Edition 4.2.8.0.

                      Today one of my PI's running NodeRed was offline for maintenance and I noticed none of the others worked any more. The log showed:

                      "Posting to webhook failed: Unable to connect to the remote server URL: http://192.168.1.222:1880/homeseer/webhook"

                      We again have a dependency on the webhooks, they all have to be reachable, if one faials, they all fail.

                      Can you look into to it again?

                      Thanks!

                      Comment

                      Working...
                      X