Navigation

    Discussion Forum to share and further the development of home control and automation, independent of platforms.

    SmartHome Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. ArcherS
    For those who registered but didn't received the confirmation email, please send an email to support@smarthome.community with the email you used
    • Lifeline/TKB switches

      P

      Have a number of TKB plug switches (TZ68) that are not reporting to the controller. Believe they should be associated to Z-Way in Group 1 but am not able to get the devices to report groups in the interview/call for NIF process and so there are no associations possible. Thermosat is telling them to come on/off (hurrah!) but they don't report their on/off status in the gui.

      In Associations tab: Can not configure associations: groups were not reported by the device. Do interview.

      Z-Wave.me
    • Multi-System Reactor Developer Preview AVAILABLE

      toggledbits

      OK, people, here we go! At long last, Multi-System Reactor developer preview is available!

      The package can be downloaded from the Reactor bug tracker, a MantisBT system (at https://reactor.toggledbits.com/mantisbt/). There is a download button in the left margin, as well as links to the documentation, which you will need for installation.

      UPDATE 2021-02-24 -- To keep spammers off, I've locked down registration on the Bug Tracker. To get access to the Bug Tracker and preview downloads, please PM me (not reply here) your full name and email address and I will set up an account for you.

      This version of MSR will run on Linux systems, including RPi's under Raspios Buster, running node.js version 12.10 or higher (v14.15.1). For RPi users, there is an installation script that will install a local copy of node.js (for the logged-in user).

      Bugs reports will be handled through the bug tracker only. Discussion and questions in this forum are fine, though (if that leads to a bug report, we'll transition).

      This version supports Vera and openLuup, Hubitat, and Home Assistant. Some of the device support on the H platforms is still a bit basic, but it is largely controlled by configuration and progress can be made quickly.

      The documentation beyond installation is a mess. Of course, I started with the existing documentation and have been massaging into MSR's particulars, but it still has a long way to go on the detail.

      I know I don't have to say this, but I will anyway... let me know how it goes!

      Multi-System Reactor
    • system capability zwave_scene_controller

      cw-kid

      Hi

      I can't seem to find this, how do you access it ?

      Thanks

      Multi-System Reactor
    • How do I "else"

      M

      MSR is a bit different then the Reactor.

      Trigger :
      A changes
      Constraints :
      A is true
      Reaction:
      Close window shade

      How do i " Else if A is false ! then Open shades
      ??

      In old reactor it was easy but cant get it with msr....

      /Mattias

      Multi-System Reactor
    • Preview of Multi-System Reactor

      toggledbits

      I made a video with a first look at Multi-System Reactor. In this video, I show the major components of the system, and run a demo automation where a light switch on HomeAssistant controls a light on my house Vera Plus.

      This project is coming along nicely, but there is much documentation to write, and lots to "to-do" list items yet to be implemented, most on the critical path to working outside of my own hands, but a few still are.

      Comments and feedback welcome.

      YouTube: https://youtu.be/EcdPLnd2ybo

      Rumble: https://rumble.com/vccph1-preview-of-multi-system-reactor-first-look.html

      Chat with me on Discord: https://discord.gg/B3FDcBNR

      Multi-System Reactor
    • Apple Homepod mini

      rafale77

      After having optimized my video processing integration of 8 cameras into my openLuup based automation, I have been wondering what I could possibly improve on my setup. Instead of pestering @akbooer with petty localized console optimizations I am looking at these Apple Homepod minis as a potential improvement from my alexa based voice command system. openLuup is presently already bridged to both platforms using habridge and homekitbridge.

      I am seeing two issues with Alexa:

      Speed. The cloud processing of the voice commands takes ~1s (I don't use anything cloud to cloud) and I would really prefer it to be local. These devices can go a bit crazy when they lose DNS connections and sometimes do random things. Privacy because all the recordings go to the amazon cloud all the time.

      I have been exploring open source solutions for this but I would lose the benefit of optionally being able to go to the cloud for search information.

      The downside of the homepods are that siri is not nearly as good in terms of helpfulness as alexa at this point. They also don't have a version with a screen which I found to be very useful at a couple of locations on the other hand, the sound quality of the homepod minis seem to be better than the echos...

      What do you guys think?

      This thread from longtime vera user @dJOS inspired me

      Feb 4 Hubitat + HomeKit + HomeBridge + HomePod Mini = WOW Hubitat + HomeKit + HomeBridge + HomePod Mini = WOW

      Howdy all, I got a HomePod Mini very recently for my study (the audio quality is great and hand-off is magical) and to replace my iPad as the main HomeKit controller for my house (we use HomeKit mainly for Presence detection which is IMO best in class). We also have a dozen Amazon Echo's of...

      General Discussion
    • Setting Other State Variables on Vera

      LibraSun

      Q: Is it fair/accurate to say that MSR cannot directly set the "LoadLevelLast" attribute of a Z-Wave light switch (paired with Vera)?

      Reason I'm asking is that I routinely use Luup-based Reactor to set that value (e.g. to "60") whenever the switch is turned OFF, which causes future ON commands to automatically dim the light to that value (in this case, "60"). Kind of a built-in brightness limiter.

      Granted, insofar as "LoadLevelLast" is intended as a read-only, derived value -- not meant to be set directly by Reactor in the first place -- I know this sounds like a trick question. And admittedly, the manner in which Reactor has done this for me in the past was by executing a snipped of Luup code containing a [variable_set] command. But it has worked (in most cases I've applied it to).

      Is there any way to replicate this functionality -- however ill-advised in the grand scheme of things -- with MSR?

      Multi-System Reactor
    • Starlink Available in Some Areas

      toggledbits

      This morning I signed up for Starlink internet. This is the Musk project that has been aboard many of the SpaceX launches for some time. I watched this morning's launch (60 additional Starlink satellites), and they announced that the Beta was open in some areas. I went to the site, and it was open in my area.

      The site (starlink.com) quoted $99/mo with $499 initial equipment and setup. I realize that's pretty pricey compared to Internet access in many areas, but I currently pay a fair amount more (monthly) to my current cable- (TV) based ISP, quality and speed are inconsistent, and every year I have to fight their customer retention staff to keep my pricing from nearly doubling as my "special offer" expires.

      Verizon, the dominant cellular carrier where I live, has been slow to roll out home-based Internet on 5G. This is another alternative I've been excited to investigate, but still waiting.

      I'm pretty excited. Yes, I'm a Musk fan-boy. Don't judge me. 🙂

      General Discussion
    • Insert Entity tool for expressions

      LibraSun

      Is the "Insert Entity Attribute Value" button (i.e. MSR's analog to "Expression Builder" in Reactor) in Expressions meant to be functional yet? I've noticed that clicking it has no effect, but chalked that up to this being a dev release. Just wanted to make sure, since it's not greyed out in the UI.

      Multi-System Reactor
    • How does MSR keep in sync with devices and scenes on Vera?

      cw-kid

      Hi

      I've been having trouble again, with a Qubino DC Shutter module today. I actually deleted one and added a new one.

      Now in MSR I have several instances of "Lounge Blind"

      Device number 644 is the one that is on Vera.

      77cbd356-145d-40c1-9d43-5f1724f33b86-image.png

      If I search Vera for devices numbered - 638, 643 they don't exist on Vera.

      Also there is one in MSR called "device_642" that device doesn't exist on Vera either.

      Also the device named _Window Covering with ID 640 that doesn't exist on Vera now rither.

      So when devices or scenes are added or removed on Vera how does MSR keep in sync is there something I have to do ?

      Thanks

      Multi-System Reactor
    • Scene Controllers

      cw-kid

      @toggledbits

      I've created a ticket for scene activation here.

      In PLEG I have to use this service ID:

      urn:micasaverde-com:serviceId:SceneController1

      And monitor these properties:

      sl_SceneActivated
      LastSceneID
      LastSceneTime

      Multi-System Reactor
    • openLuup: Version Log

      akbooer

      A long while ago (May, 2015) I wrote my 2000-th post on another forum: openLuup - running unmodified plugins on any machine. Here’s the gist of it:

      ...I want to work in a more open and stable [Vera] environment...

      ...All would be solved if Luup was open source and could be run on the plethora of cheap and reliable hardware available today. But it’s not. But we could get something like that effect if we engineered a sufficient subset of Luup to run on such a platform. Could it be done? What would we need?

      1. UI
      2. scheduler
      3. web server
      4. Luup compatible API
      5. Device and Implementation xml file reader
      6. Zwave bridge to Vera
      7. runs most plugins without modification

      What we wouldn’t need is UPnP.

      What have we (nearly) got already?

      We have, courtesy of @amg0, the most excellent AltUI: Alternate UI to UI7, and that, I think, is probably the hardest one to do in the above list. Items 2 - 5, and 7, I’ve prototyped, in pure Lua, and posted elsewhere: DataYours on Raspberry Pi, running selected plugins unmodified, including: DataYours, EventWatcher, Netatmo, RBLuaTest, altUI. See screenshot attached.

      Is it worth the effort? Probably not. Will I pursue this quest? Yes.

      openLuup was the result.

      DE2056BF-E548-4611-972B-40276F00BFEB.jpeg

      openLuup
    • Feature Request: Hass service call action

      K

      Is it possible to have an action for the Hass controller that would allow for defining a service call by inputting the desired service and service data parameters? This would provide an easy way to perform services for entities in Hass that are not mapped.

      Multi-System Reactor
    • Z-way video tutorials

      P

      Have found these videos very informative as a zway novice ....

      Z-Wave Network Diagnostics with Z-Way controller Z-Way webinar series: Z-Way Advanced Usage Z-Way webinar series: Introduction to Z-Way Home Automation
      Z-Wave.me
    • Why Migrate to Z-way from vera and how?

      rafale77

      I expect this document to be dynamic based on inputs from people who try but did not want to completely rewrite it here:

      rafale77/Z-Way rafale77/Z-Way

      Zway plugin for openLuup . Contribute to rafale77/Z-Way development by creating an account on GitHub.

      Zway Bridge
    • Running Lua Code ? And watching device properties?

      cw-kid

      Hi

      In some of my PLEG actions I run Lua code.

      I guess I can't do that now with MSR. Assume I have to create a Vera scene with that same LUA code and have the MSR action call that scene etc.

      What about the people who were using Reactor plugin for Vera? I assume they can run Lua code.

      But won't be able to when using MSR on a separate box to Vera.

      I am also seeing other things I am doing in PLEG but don't think I will be able to on MSR? Like monitoring devices for certain things.

      For example I use PLEG with Fibaro Dimmer 2 modules to enable me to use the Scene Activation for double and triple clicks on the actual wall switches, PLEG sees this happening and then my action can run a Vera scene or whatever else I want.

      I have three "Device Properties" setup in PLEG to monitor those aspects of the Fibaro Dimmer 2 device.

      078cad4f-ebee-4951-a631-304da033d60f-image.png

      Then this condition in PLEG:

      (LoungeSceneActivated;LoungeLastSceneTime) and (LoungeLastSceneID == 14)

      Runs an action when I double click the Lounge Light wall switch.

      Thanks

      Multi-System Reactor
    • 0000075: Timeout Overflow Warning

      J

      Patrick, Just confirming this is now working ok for me.👍

      Multi-System Reactor
    • Help with luup.call_delay()

      T

      I have this block of lua and I am using luup.call_delay to delay the sending of IR codes. it works as intended but I am trying to eliminate the use of luup.sleep for the delay before the tcp:close() as well. i cant figure out how to implement luup.call_delay() for the tcp:close() and keep the luup.call_delay intact for the delay between the IR codes.

      Thanks in advance.

      function Delay1() --[[HDMI Matrix B1--]] local socket = require("socket") tcp = assert(socket.connect("192.168.255.204", 4998)) tcp:send("sendir,1:3,1,38000,1,69,341,171,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,64,22,64,22,64,22,64,22,64,22,64,22,64,22,64,22,21,22,21,22,64,22,21,22,64,22,21,22,21,22,21,22,64,22,64,22,21,22,64,22,21,22,64,22,64,22,64,22,1493,341,85,22,3669" .. "\r\n") luup.sleep(1050) tcp:close() end luup.call_delay("Delay1", 1) function Delay2() --[[HDMI Matrix B2--]] local socket = require("socket") tcp = assert(socket.connect("192.168.255.204", 4998)) tcp:send("sendir,1:3,1,38000,1,69,343,171,21,21,22,21,22,21,22,21,21,21,22,21,22,21,21,21,22,63,22,63,22,63,22,63,22,63,22,63,22,63,22,63,22,63,22,63,22,63,22,21,22,63,22,21,21,21,22,21,22,21,21,22,21,21,22,63,22,21,22,63,22,63,22,63,22,1528,342,85,22,1528" .. "\r\n") luup.sleep(1050) tcp:close() end luup.call_delay("Delay2", 5)
      Code/Snippet library
    • Synology Docker installation

      LibraSun

      @toggledbits I followed to the letter your excellent step-by-step guide on launching a Docker container from the image I fetched from PR #58 this morning.

      All proceeded swimmingly – folder creation, image upload, settings & parameters, etc. – until the moment of actual Launch.

      Whereupon, Docker threw up the following on-screen "Stopped Unexpectedly" warning (which repeated every 30 seconds or so until I Stop'ped the container from running/restarting):
      docker_msr_stopped.png

      Concurrently, every attempt to access http://<mySynNAS_IP>:8111/ resulted in a "This site can't be reached" error page in Chrome (under Windows, mind you).

      Immediately, I took the liberty of inspecting and Export'ing the logfile (Container ► Details ► Log) as an HTML file, which I attach below (oops, no attachment feature in this forum, so here is the direct link) for your inspection.

      Hope you find some clues, because I'm not at all sure where things went wrong. (The only facet of setup where I expressly deviated from your typed notes involved creating a "Shared" (i.e. top-level, rather than under /home) folder called "Reactor" with r/w access, under which I created a subfolder named "Data", to which I pointed /var/reactor during container creation.)

      Excellent write-up and thanks for the chance to test this out!!

      Libra

      FOLLOW-UP NOTES
      I do see where Container ► Edit ► Environment ► variable PATH has a value of "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" which strikes me as odd, but maybe that's normal nomenclature? (By contract, Windows and DOS always use semicolons, not colons, to separate PATH variable entries.)

      RESOLVED
      Noting that the Log displayed an error message related to /var/reactor/config, I went and created a folder named 'config' (all lowercase) under the NAS's top-level Reactor\Data folder, then restarted the container. It's running fine now, and I'm able to access the :8111 interface for the first time.
      Log ► "Configuration path: /var/reactor/config resolved /var/reactor/config"

      SUGGEST
      Please add explicit declaration in your How-To regarding the need for a /config underneath the data folder.

      Multi-System Reactor
    A
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 72
    • Best 23
    • Groups 0

    ArcherS

    @ArcherS

    30
    Reputation
    21
    Profile views
    72
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    ArcherS Follow

    Best posts made by ArcherS

    • RE: External antenna on razberry board

      It seems as if it is possible to modify it with an external antenna.
      Here is an article on how to modify the Razberry2 EU:
      Modify Razberry2 (translated)

      Is is in Swedish, hopefully the translated text is understandable. 🙂
      In short you cut away the built-in antenna and solder on an antenna connector for the external antenna. You of course need an antenna for the frequency in your country, the article is for 868 MHz (EU).

      //ArcherS

      posted in Z-Wave.me
      A
      ArcherS
    • RE: Tinkering with Tasmota sensors

      @therealdb I built my outdoor sensor from what I had in the garage, very much DIY in other words. 🙂
      I used an outdoor junction box, to this I hot glued a plastic dome from an old motion sensor for the light sensor. I also added a short piece of plastic pipe for the BME280 so that it is outside of the box to get better readings. To keep spiders etc out of the pipe I added an old stainless mesh dome to the end of it.
      In the box is also a 240V/5V transformer.

      The intention is to mount it on the north wall of the house outside of the sun. At the moment it is laying on the window sill.
      utesensor.jpg

      Some more small tips on rules:
      It is possible to create up to three rules for each sensor.
      It is possible to have several "Do" stamements in each rule.
      Rule<x> ON <trigger1> DO <command> ENDON ON <trigger2> DO <command> ENDON ...

      It is very easy to find out the name of each sensor for using in the rules by looking at: http://IP_address/cm?cmnd=Status%2010

      A rule is defined by pasting the rule from e.g. notepad to the Console window of the sensor.
      After that the rule needs to be enabled by Rule1 1, Rule2 1 etc.
      After enabling a rule check in the console that the rule is sending values.
      A rule is deactivated by Rule1 0 etc.
      To see the contents of a rule just type Rule1 etc.
      To delete a rule type Rule1 " etc.

      My recommendation is for people to look at the Tasmota rules documentation, it is very good.
      .
      //ArcherS

      posted in Hardware
      A
      ArcherS
    • RE: Help with Z-Way plugin

      Thank's for a really quick reply! That indeed did the trick, I knew it was something easy I missed.
      Now I just need to go through my Reactors and re-map my z-way devices. Not too much work.

      //ArcherS

      posted in Zway Bridge
      A
      ArcherS
    • RE: Remotec ZRC90

      Checked with v20.7.14 and the "sl_CentralScene" variable is updated with the key pressed.

      Thanks again for the update! 🙂

      posted in openLuup
      A
      ArcherS
    • RE: Grafana on Docker

      @akbooer I am on 7.3.1 and what I have done is to add links on the top of the pages to navigate between them.
      The link buttons work pretty well also on an iPad or even on the phone.

      //ArcherS

      posted in Docker
      A
      ArcherS
    • RE: Changing device type for wall controller

      @akbooer Yes a scene or a Reactor could of course work. This is what I did on the Vera in a Reactor and it worked quite ok. I will give it a go again in OpenLuup. The on/off switches on the controller in the GUI do not really matter that much I think.

      Regards
      //ArcherS

      posted in Zway Bridge
      A
      ArcherS
    • RE: Remotec ZRC90

      I included a ZRC90 remote to Z-way. The inclusion was without problems, and in Z-way you can see what button is pressed.

      In OpenLuup I get the same variables as Catman has listed above. I tested and the two variables "zway_61-0-91-DS" and "zway_61-0-91-DS_LastUpdate" on the remote device are updated on key presses.

      Depending on what you press "zway_61-0-91-DS" get the following values:
      Btn 1 single press: 10
      Btn 2 single press: 20
      ...
      Btn 8 single press: 80

      Btn 1 double press: 13
      Btn 2 double press: 23
      ...
      Btn 8 double press: 83

      Btn 1 press&hold: 11
      Btn 2 press&hold: 21
      ...
      Btn 8 press&hold: 81

      Each time a button is pressed zway_61-0-91-DS_LastUpdate is also updated with a new time.

      So far so good, the above two parameters gives the possibility to capture the various key presses on the ZRC90.

      What does not work is that I get the same problem as I did for the Zwave.me wall controller, i.e. that the two variable are not updated in Reactor on key presses.
      @akbooer is this something that can be fixed?

      I am running OL 20.7.4b and Z-way plugin 20.5.12.
      (The key presses on the Zwave.me wall controller are still working.)

      //ArcherS

      posted in openLuup
      A
      ArcherS
    • RE: Home water pressure sensor

      One solution that I can think of is to use MySensors. https://www.mysensors.org/
      This is a DIY community platform for making sensors etc. It is supported by Vera and OpenLuup, @akbooer is using it if I am not wrong.

      I found someone that had made a water pressure sensor that you perhaps could have a look at for inspiration: https://forum.mysensors.org/topic/8731/water-pressure-sensor/1?_=1590472756396&lang=en-US

      In short with MySensors you set up a gateway and then the sensors you want. Each node is an Arduino or similar. I used an USB connected gateway with my Vera, but an Ethernet connected gateway is needed for OpenLuup.

      I set it up a number of years ago on my VeraLite and it actually worked really well. I used it mainly for simple temperature sensors. I stopped using it because of that each time the Vera rebooted the gateway was lost, and I had to re-discover it on the Vera USB port. Quite a bit of hazzle since the Vera had a tendency to reboot quite a lot.

      If I get some time I may have a go at restarting MySensors now that I am using OpenLuup since it would be a good way to add dirt-cheap sensors to the system.

      posted in Hardware
      A
      ArcherS
    • RE: Changing device type for wall controller

      @akbooer sorry, no I do not have a complete list of the variables created in Vera. I forgot to check that before excluding.

      By the looks of the controller I am quite sure it is the one in this old Vesternet guide APNT-44

      In fact if I remember it correctly that guide is what I used on my VeraLite on UI5 many years ago.

      On the UI7 Vera I however used "sl_SceneActivated".
      I also think that "LastSceneTime" was present on it. (These represent the "zway_Remote_16-0-1-B" and "zway_Remote_16-0-1-B_LastUpdate" at present I assume.)

      You are correct that all I would need are those two variables as triggers, because then I can use the on/off as one trigger and the time as a trigger as well. I think I may need the time to capture e.g. if you press the "off" button and the controller already was "off". I tested this and the time is updated.

      Thank you very much for your time and effort.😃

      //ArcherS

      posted in Zway Bridge
      A
      ArcherS
    • RE: Remotec ZRC90

      I updated to v20.7.12 and it works partially! 🙂

      "LastSceneTime" is updated every time you press a key, so that one works.

      "sl_CentralSceneUpdates" however stays "null" all the time.

      On the ZRC90 that I still have on the Vera there is a variable called "sl_CentralScene" but no variable called "sl_CentralSceneUpdates". I do not know if this could be the reason.

      As a side note the variables "zway_61-0-91-DS" and "zway_61-0-91-DS_LastUpdate" are now updated instantly in Reactor.
      So a functional workaround could be to use the "zway_61-0-91-DS" and "LastSceneTime" variables for capturing keys pressed in e.g. Reactor. I did a quick test and it seems to work.

      posted in openLuup
      A
      ArcherS

    Latest posts made by ArcherS

    • RE: Lifeline/TKB switches

      Edit: I have the TZ67 not the TZ68

      I have two TKB devices also (TZ67 Dimmers, not the switch).

      My dimmers are both also on version 4.54.00. They are stuck on 88% interview in Z-way, NodeNaming never get interviewed.

      Not exactly the same problem as for @powisquare, they do change state in the gui when triggered by a scene.
      They do however not report back state when you press the button on the device.
      They do not have any association either, no lifeline and not possible to add any associations. So I would say that the old FW could very well be the reason even though I have the dimmers.

      I have used them in places where you never press the button on the device, then they are useful, but mostly I do not use them.

      posted in Z-Wave.me
      A
      ArcherS
    • RE: MQTT Plugin

      @therealdb yep, it is still working, still only one test device receiving data.
      I get the same error related to the http issue from time to time as shown in the log above, but it recovers and continue updating the device.

      posted in Plugins
      A
      ArcherS
    • RE: MQTT Plugin

      @therealdb that sounds reassuring, thanks! 🙂

      As a side note to anyone venturing into the world of mqtt I found Mqtt Explorer which seems to be a pretty nice tool for looking at messages, topics etc.
      It can even create graphs for values to track them over time.

      MqttExplorer.PNG

      posted in Plugins
      A
      ArcherS
    • RE: MQTT Plugin

      @therealdb I have now had the updated Mqtt Bridge running continuously for little more than 25 hours. So far it is still alive and kicking. 🙂

      The log file is now working I get entries in the log, which I did not get before. This makes it easier to see what is happening of course.
      So when the bridge starts I get:

      2021-01-30 11:24:16.055 +01:00 [INF] [MQTTServer] Broker is starting v 0.31.210130 on port 1883...
      2021-01-30 11:28:40.877 +01:00 [INF] [MQTTServer] Updating #216 - urn:upnp-org:serviceId:TemperatureSensor1 / CurrentTemperature - 24.5
      2021-01-30 11:33:40.770 +01:00 [INF] [MQTTServer] Updating #216 - urn:upnp-org:serviceId:TemperatureSensor1 / CurrentTemperature - 24.9
      etc...
      

      At times I get the following error, I assume it is related to the http issue:

      2021-01-31 11:38:40.852 +01:00 [INF] [MQTTServer] Updating #216 - urn:upnp-org:serviceId:TemperatureSensor1 / CurrentTemperature - 25.5
      2021-01-31 11:38:50.854 +01:00 [ERR] [LuupWrapper] RunCommandAsync: http://127.0.0.1:3480/data_request?id=variableset&output_format=json&DeviceNum=216&serviceId=urn:upnp-org:serviceId:TemperatureSensor1&Variable=CurrentTemperature&Value=25.5&RunAsync=1
      System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 10 seconds elapsing.
       ---> System.TimeoutException: The operation was canceled.
       ---> System.Threading.Tasks.TaskCanceledException: The operation was canceled.
       ---> System.IO.IOException: Unable to read data from the transport connection: Operation canceled.
       ---> System.Net.Sockets.SocketException (125): Operation canceled
         --- End of inner exception stack trace ---
         at void System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
         at int System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs.GetResult(short token)
         at async ValueTask System.Net.Http.HttpConnection.FillAsync(bool async)
         at async ValueTask<ArraySegment<byte>> System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(bool async, bool foldedHeadersAllowed)
         at async Task<HttpResponseMessage> System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, bool async, CancellationToken cancellationToken)
         --- End of inner exception stack trace ---
         at async Task<HttpResponseMessage> System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, bool async, CancellationToken cancellationToken)
         at async ValueTask<HttpResponseMessage> System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, bool async, bool doRequestAuth, CancellationToken cancellationToken)
         at async ValueTask<HttpResponseMessage> System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, bool async, CancellationToken cancellationToken)
         at async Task<HttpResponseMessage> Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at async Task<TResult> Polly.Retry.AsyncRetryEngine.ImplementationAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates<TResult> shouldRetryResultPredicates, Func<DelegateResult<TResult>, TimeSpan, int, Context, Task> onRetryAsync, int permittedRetryCount, IEnumerable<TimeSpan> sleepDurationsEnumerable, Func<int, DelegateResult<TResult>, Context, TimeSpan> sleepDurationProvider, bool continueOnCapturedContext)
         at async Task<TResult> Polly.AsyncPolicy<TResult>.ExecuteAsync(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)
         at async Task<HttpResponseMessage> Microsoft.Extensions.Http.PolicyHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at async Task<TResult> Polly.Bulkhead.AsyncBulkheadEngine.ImplementationAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, Context context, Func<Context, Task> onBulkheadRejectedAsync, SemaphoreSlim maxParallelizationSemaphore, SemaphoreSlim maxQueuedActionsSemaphore, CancellationToken cancellationToken, bool continueOnCapturedContext)
         at async Task<TResult> Polly.AsyncPolicy<TResult>.ExecuteAsync(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)
         at async Task<HttpResponseMessage> Microsoft.Extensions.Http.PolicyHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at async Task<HttpResponseMessage> Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at async ValueTask<HttpResponseMessage> System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, bool async, bool emitTelemetryStartStop, CancellationToken cancellationToken)
         --- End of inner exception stack trace ---
         --- End of inner exception stack trace ---
         at async ValueTask<HttpResponseMessage> System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, bool async, bool emitTelemetryStartStop, CancellationToken cancellationToken)
         at async Task<string> System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
         at async Task Luup.MqttBridge.Services.LuupWrapper.RunCommandAsync(int deviceID, string action, string actionCommand, string commandParameter, string command, string serviceID, string value)
      2021-01-31 11:43:40.851 +01:00 [INF] [MQTTServer] Updating #216 - urn:upnp-org:serviceId:TemperatureSensor1 / CurrentTemperature - 25.5
      2021-01-31 11:48:40.836 +01:00 [INF] [MQTTServer] Updating #216 - urn:upnp-org:serviceId:TemperatureSensor1 / CurrentTemperature - 25.6
      etc...
      

      After the above error it goes back to reporting updates.
      The error comes quite random, at times once every approx 20-30 minutes, and at times it can be a few hours between them.

      So far I have only one test device in OpenLuup getting values from the bridge, I do not know how adding some 50+ topics would affect the overall load and stability.

      Edit: It could be worth mentioning that I today have some 50 devices in OpenLuup that are getting their values over http; some SiteSensors a bunch of virtual sensors getting data from Tasmota/Shelly devices etc. In other words there is a bit of activity already going on through the http interface today. Moving most of them to Mqtt would perhaps not increase the load at all, who knows.

      Looking promising, thanks for the effort so far with the bridge! 🙂

      posted in Plugins
      A
      ArcherS
    • RE: MQTT Plugin

      @therealdb new version built and started, I will report back how it goes.

      posted in Plugins
      A
      ArcherS
    • RE: MQTT Plugin

      @therealdb I was able to build the previous versions, so I can try the new version if you push it.

      posted in Plugins
      A
      ArcherS
    • RE: MQTT Plugin

      @therealdb yep, I am on OpenLuup.
      I tested and the old version also crashes in the same way after 30-60 minutes.

      //ArcherS

      posted in Plugins
      A
      ArcherS
    • RE: MQTT Plugin

      @therealdb I noticed that the bridge had gone down over night. I restarted it and got the below error message after approx 10-15 minutes when it went down again. It ran for longer yesterday, maybe 1-2 hours before crashing.

      I now started the old version (that works, it was of course my error on the Client in the Tasmota that was the problem), just to see if it also will go down.

      //ArcherS

      [08:55:53 INF] [MQTTServer] Broker is starting v 0.30.210109 on port 1883...
      Unhandled exception. System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 10 seconds elapsing.
       ---> System.TimeoutException: The operation was canceled.
       ---> System.Threading.Tasks.TaskCanceledException: The operation was canceled.
       ---> System.IO.IOException: Unable to read data from the transport connection: Operation canceled.
       ---> System.Net.Sockets.SocketException (125): Operation canceled
         --- End of inner exception stack trace ---
         at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
         at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
         at System.Net.Http.HttpConnection.FillAsync(Boolean async)
         at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean async, Boolean foldedHeadersAllowed)
         at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
         --- End of inner exception stack trace ---
         at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
         at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
         at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
         at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates`1 shouldRetryResultPredicates, Func`5 onRetryAsync, Int32 permittedRetryCount, IEnumerable`1 sleepDurationsEnumerable, Func`4 sleepDurationProvider, Boolean continueOnCapturedContext)
         at Polly.AsyncPolicy`1.ExecuteAsync(Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext)
         at Microsoft.Extensions.Http.PolicyHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at Polly.Bulkhead.AsyncBulkheadEngine.ImplementationAsync[TResult](Func`3 action, Context context, Func`2 onBulkheadRejectedAsync, SemaphoreSlim maxParallelizationSemaphore, SemaphoreSlim maxQueuedActionsSemaphore, CancellationToken cancellationToken, Boolean continueOnCapturedContext)
         at Polly.AsyncPolicy`1.ExecuteAsync(Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext)
         at Microsoft.Extensions.Http.PolicyHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
         at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
         --- End of inner exception stack trace ---
         --- End of inner exception stack trace ---
         at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
         at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
         at Luup.MqttBridge.Services.LuupWrapper.RunCommandAsync(Int32 deviceID, String action, String actionCommand, String commandParameter, String command, String serviceID, String value)
         at Luup.MqttBridge.Services.LuupWrapper.UpdateVariablesAsync(Int32 deviceID, String serviceID, String variableName, String value)
         at Luup.MqttBridge.Services.Mqtt.MQTTServer.ProcessMessageAsync(MqttDevice device, MqttApplicationMessage applicationMessage)
         at Luup.MqttBridge.Services.Mqtt.MQTTServer.<>c__DisplayClass9_0.<<StartAsync>b__3>d.MoveNext()
      --- End of stack trace from previous location ---
         at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_1(Object state)
         at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
         at System.Threading.ThreadPoolWorkQueue.Dispatch()
      /home/user/mqttbridge/LuupMqttBridge.sh: line 1: 20380 Aborted                 (core dumped) ./Luup.MqttBridge
      
      posted in Plugins
      A
      ArcherS
    • RE: MQTT Plugin

      So I did some more testing and found out that I had still "DVES_%06X" as client in the Tasmota device...
      I am sure I had tripple checked everything, stupid...

      So I changed this to what it should be and now I get it to work , i.e. the device in OpenLuup gets the temp value. Success!

      However the log does still not give more that the starting message for some reason.
      Any ideas on this? Btw I still have this in the appsettings, not sure if that could be related:?

      /* remove comment when you're OK with less logs
      	"Serilog": {
      		"MinimumLevel": {
      			"Default": "Information",
      			"Override": {
      				"Microsoft": "Fatal",
      				"System": "Fatal"
      			}
      		}
      	}
      	*/
      

      I will do some more testing later on and see.
      Thanks for the assistance! 🙂

      //ArcherS

      posted in Plugins
      A
      ArcherS
    • RE: MQTT Plugin

      @therealdb thanks for the build!

      When using your latest build the Luup.MqttBridge file for some reason is a "shared library (application/x-sharedlib)" and not as when building from the older version "executable (application/x-executable)" despite having set permissions.
      Really strange, I managed to get around this by creating a .sh file containing "./Luup.MqttBridge" and running this.
      Over first hurdle...

      However when I launch the new built file I still only get this in the log file:

      [19:17:23 INF] [MQTTServer] Broker is starting v 0.30.210109 on port 1883...
      

      It is as if it hangs while trying to start/starting.

      In the Tasmota console it says connected so the user/passwd seems ok:

      19:17:21 MQT: Connected
      

      So obviously not quite there yet. 🙂
      Any ideas on what the pronlem could be?

      //ArcherS

      posted in Plugins
      A
      ArcherS