Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved
Collapse
Discussion Forum to share and further the development of home control and automation, independent of platforms.
D

Donato

@Donato
Copying a global reaction
tunnusT
With build 25328, if you copy a global reaction, a new reaction does not appear in the UI unless you do a refresh. I recall this used to work without needing this page refresh? Anyway, only a minor nuisance.
Multi-System Reactor
[HowTo] Using HABridge with Reactor
therealdbT
If you’re like me and still running HABridge to control your devices locally via Alexa, you might need to tweak your endpoints to call Reactor via HTTP. Here’s the best way to do it, IMO: Insert the Reactor Canonical ID (e.g., zwavejs>71-1) into the MapID field, but make sure it’s URL-encoded like this: zwavejs%3E71-1. Then, configure these endpoints as needed: On: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/power_switch.on Off: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/power_switch.off Dim: For lights: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/dimming.set?level=${intensity.decimal_percent} For roller shutters: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/position.set?value=${intensity.decimal_percent} Color: http://[ReactorIP]:8111/api/v1/entity/${device.mapId}/perform/rgb_color.set_rgb?red=${color.r}&green=${color.g}&blue=${color.b} Just replace [ReactorIP] with your actual IP address. By using these placeholders, you can standardize your endpoints across all devices, making maintenance easier. This setup works with any device mapped under MSR, regardless of the controller (ZWaveJS, Vera, HASS, OpenSprinkler, virtual, MQTT, DynamicEntities, etc.). If you need different calls, just go to the entities, get the action and parameters, and adjust accordingly. Enjoy super fast access to your devices via Alexa! If you're migrating from Vera, the endpoints are (URL-encoded) in a file called device.db, in JSON format, under your config. You'd write a script to align the new endpoints to the new one, if you prefer to do it automatically. YMMV.
How-To
[Reactor] Bug when sending MQTT boolean payloads
therealdbT
Topic thumbnail image
Multi-System Reactor
Genuinely impressed with Zigbee and HA / Reactor
CatmanV2C
Just for the record, in case anyone is following, I'm really rather impressed. I have installed one of these: https://www.amazon.co.uk/dp/B0B6P22YJC?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1 That's connected (physically) to the VM running on my Synology, with a 2m USB extension. The same host also runs Openluup, Mosquito, HA Bridge. Yesterday I installed Zigbee2mqtt. That was a bit of a PITA but mostly because of ports and permissions. Once up and running, and the correct boxes ticked, immediately visible in Home Assistant via the MQTT integration, and thence into Reactor I've only got two devices. I bought the cheapest sensor I could find, which is a door sensor. Dead easy to add to ZIgbee2mqtt and again, immediately visible in HA. https://www.amazon.co.uk/dp/B0FPQLWRW1?ref=ppx_yo2ov_dt_b_fed_asin_title The dongle is on the top floor of the house, and I wanted the sensor on the back door (just about as far apart as it's possible to get short of going into the garage) When I moved the sensor downstairs it dropped out pretty instantly (which wasn't a huge surprise) so quick bit of research found out that smart plugs will act as routers so... https://www.amazon.co.uk/dp/B0FDQDPGBB?ref=ppx_yo2ov_dt_b_fed_asin_title Took me about 30 seconds to connect. Updated the name. Instantly visible in Reactor with the new name pushed over from Zigbee2mqtt. And lo, the door sensor now has a signal of 140 and works as far as I can tell perfectly and instantly (unlike my z-wave one). A few more of those will be purchased and used to replace the Tuya wifi cloud devices and the (continually failing) Z-wave plugs (yeah, they were TKB so....) Commended to the house. Thanks for everyone that got me on the right lines. C
Zigbee
Difficulty defining repeating annual period
R
I have tried numerous ways to define a recurring annual period, for example from December 15 to January 15. No matter which method I try - after and before, between, after and/not after, Reactor reports "waiting for invalid date, invalid date. Some constructs also seem to cause Reactor to hang, timeout and restart. For example "before January 15 is evaluated as true, but reports "waiting for invalid date, invalid date". Does anyone have a tried and true method to define a recurring annual period? I think the "between" that I used successfully in the past may have broken with one of the updates.
Multi-System Reactor
Need help with sequence
T
Good evening all, For about the past week or so, I've been having problems with a specific rule in my home automation that controls when my home goes from an Away mode to Home mode. One of the conditions it checked for was my alarm panel, when it changed from Armed Away to Disarmed. There seems to have been a firmware update on the panel that added an intermittent step of "pending", and I can't say for certain it happens 100% of the time. Is there a way to write a condition that so it changes from one condition, to the next, and then another condition? As in, Home alarm changes from armed_away to pending to disarmed. Thanks.
Multi-System Reactor
Possible feature request?
CatmanV2C
No idea how easy this would be. During my migration away from Z-wave I've been replacing the Z-wave devices with Sonoff which has broken some of my automations. Any chance of a 'Test Reaction' function to call out which ones are broken because an entity no longer exists? Without actually running the reaction? Or does this exist already and I'm just not aware of how to do it? Obviously I can see entities that are no longer available, but not quite what I'm looking for. I guess it's something of an edge case so no huge issue. TIA! C
Multi-System Reactor
Logic Assistance: Exterior Lights on when Illuminance Below Threshold
PablaP
Topic thumbnail image
Multi-System Reactor
Time series documentation
tunnusT
Is the current manual (incl. examples) up to date with how retention value is handled in time series configuration? Referring to this post
Multi-System Reactor
MQTT templates for ZIgbee scene controller, or a better way?
CatmanV2C
Topic thumbnail image
Multi-System Reactor
Reset a delay
CatmanV2C
I'm sure this has been asked, and answered, but damned if I can figure it out Use case: I have a rear garden with lights. A door from the kitchen into the garden and a door from the garage. Currently if I open the kitchen door the lights come on (yay) and a 3 minute delay starts. After 3 minutes, no matter what else happens, the lights go off (Boo! But also yay!) What I would like is for the 3 minute delay until the lights go off to start from the latest door open event. That is, if I'm going from kitchen to garage, and back again, the lights stay on until there's three minutes of no activity. I've tried 'hacking' with a virtual switch, but can't seem to stop the delay. Any pointers? TIA C
Multi-System Reactor
Zigbee2mqtt installed! sytemctl not happy :(
CatmanV2C
Hello oh great ones. After a couple of hours messing with ports and permissions I have Zigbee2mqtt installed and running on my virtual pi Can connect to the front end and everything Odd one though, simply cannot get systemctl to work and the error is, well, unhelpful. The service file is this: [Unit] Description=zigbee2mqtt After=network.target [Service] Environment=NODE_ENV=production Type=notify ExecStart=/usr/local/bin/node index.js WorkingDirectory=/opt/zigbee2mqtt StandardOutput=inherit # Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5) StandardError=inherit WatchdogSec=10s Restart=always RestartSec=10s User=pi [Install] WantedBy=multi-user.target Straight out of the docs with the change to point to my local node install (which we know works as it's the same as the very fine Reactor is using. Running manually pnpm start in /opt/zigbee2mqtt works fine However: catman@openluup:/etc/systemd/system$ sudo systemctl start zigbee2mqtt.service Job for zigbee2mqtt.service failed because the control process exited with error code. See "systemctl status zigbee2mqtt.service" and "journalctl -xe" for details. Which I have catman@openluup:/etc/systemd/system$ sudo systemctl status zigbee2mqtt.service ● zigbee2mqtt.service - zigbee2mqtt Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; disabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Tue 2025-12-16 12:32:42 GMT; 4s ago Process: 3093 ExecStart=/usr/local/bin/node index.js (code=exited, status=217/USER) Main PID: 3093 (code=exited, status=217/USER) and -- A start job for unit zigbee2mqtt.service has begun execution. -- -- The job identifier is 17477. Dec 16 12:35:16 openluup systemd[3178]: zigbee2mqtt.service: Failed to determine user credentials: No such process Dec 16 12:35:16 openluup systemd[3178]: zigbee2mqtt.service: Failed at step USER spawning /usr/local/bin/node: No such process -- Subject: Process /usr/local/bin/node could not be executed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- The process /usr/local/bin/node could not be executed and failed. -- -- The error number returned by this process is ERRNO. Dec 16 12:35:16 openluup systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=217/USER -- Subject: Unit process exited -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- An ExecStart= process belonging to unit zigbee2mqtt.service has exited. -- -- The process' exit code is 'exited' and its exit status is 217. Dec 16 12:35:16 openluup systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'. -- Subject: Unit failed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- The unit zigbee2mqtt.service has entered the 'failed' state with result 'exit-code'. Dec 16 12:35:16 openluup systemd[1]: Failed to start zigbee2mqtt. -- Subject: A start job for unit zigbee2mqtt.service has failed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- A start job for unit zigbee2mqtt.service has finished with a failure. Which strikes me as very odd. Any blindingly obvious things I'm missing? TIA! C
Zigbee
Any thoughts on which is better
CatmanV2C
Obviously a quiet forum, but perhaps it's time I'm looking at rolling Zigbee into my system, in large part for the Aqara FP300 presence sensors which seem to finally provide a solution to if the wasp is actually in the box. My current set up is as follows: One Debian VM on Synology NAS running: Z-wave Server Open Luup Multi system reactor HA bridge Mosquito MQQT broker This machine has a UZB Z-wave stick connected via the USB port on the NAS Another HAOS VM on the same NAS running HAOS I've got some older Z-wave stuff that I keep around until it fails. I have some Tuya stuff integrated in HA My thought was to get either a SMLIGHT SLZB-06M or an Aqara Hub M2 Integrate them via Zigbee2MQQT (running on the Debian machine) and then expose them in HA so I can continue to automate in MSR. Thoughts on which of those devices wold be preferable long term. Both are POE capable which is good. It also appears I could add a USB dongle to the NAS and expose it to the HAOS machine. Any thoughts from the assembled experts here? TIA C
Zigbee
Single protocol?
CatmanV2C
Another question to the hive mind. Prompted by the fact that I lost yet another z-wave device over the weekend due to a power issue. It looks like z-way server is reporting another device failed (although it's working fine) and message queue is far too long IMHO. Also the failed device has been removed in the expert interface, but still there in the 'normal' one. Sigh. Currently I have z-wave, Tuya, thinking about Zigbee.... Does anyone use one single protocol for everything? Right now I'm feeling that as the z-wave stuff dies, I'm just gonna replace it with something else.... C
General Discussion
HDMI oddness
CatmanV2C
Not really Smart Home stuff, but going to ask as we have smart people... Bear with me on this one. Asking here because of the font of knowledge! For many eek years I have had a Virgin V6 box and a Raspberry Pi running Kodi connected to my TV through a cheap *** HDMI switch. It all worked beautifully but the absolutely critical thing was that the TV remote passed the signals back to the Pi to allow remote control of Kodi. Couple of changes of late: Installed a soundbar on the TV using the ARC (audio return channel). That then turns the soundbar on and off when the TV turns on and off and the TV volume control controls the soundbar volume direct. Everything continues to work Upgraded the software of the Tivo box to Virgin 360. This is literally software only. You get sent a snacky new Bluetooth remote hit 'upgrade' on the screen and off it goes. Now, things are not playing well. Typically when I turn on to watch Kodi the soundbar comes on (as it should) but the TV either puts out sound through its own speakers and the soundbar, or just the soundbar. It's not possible to control the volume of the soundbar through the TV. Also it's not longer possible to control Kodi using the TV remote. If I turn the TV360 box off, i.e. power it down, before turning on to watch Kodi, everything is fine. This makes little to no sense to me. My assumption is that the cheap *** HDMI switch is getting something from the TV360 connection that it didn't used to get when the software was Tivo and that's screwing up the HDMI communications. I'm upgrading the switch to something a little less chap, but wondered if anyone could validate my theory at all? TIA C
General Discussion
Reactor Loading Screen Safari
S
Topic thumbnail image
Multi-System Reactor
Constraints states visually do not match actual
S
Topic thumbnail image
Multi-System Reactor
Oh the joy of pairing
CatmanV2C
When I remember the old days Just added a new Tuya plug (OK so it's cloud) Start to finish, visible in HA and MSR < 30 seconds... C
Vera
Home Assistant Connect ZWA-2 & ZBT-2
therealdbT
Topic thumbnail image
Hardware
[MSR] Feature request: For Each action on arrays/groups
therealdbT
Topic thumbnail image
Multi-System Reactor
About
Posts
39
Topics
2
Shares
0
Groups
0
Followers
0
Following
1

Posts

Recent Best Controversial

  • openLuup log files - LuaUPnP.log and LuaUPnP_startup.log
    D Donato

    @akbooer

    here in the community app in the reply box

    openLuup

  • openLuup log files - LuaUPnP.log and LuaUPnP_startup.log
    D Donato

    @akbooer

    in my actual user_data file double quotes are preceded by \.

    when I paste the file as text and submit the reply here the \ symbol is eliminated .

    Following I paste as code :

    "StartupCode":"\n-- You can personalise the installation by changing these attributes,\n-- which are persistent and may be removed from the Startup after a reload.\nlocal attr = luup.attr_set\n\n-- Geographical location\nattr (\"City_description\", \"Rome\")\nattr (\"Country_description\", \"Italy\")\nattr (\"Region_description\", \"Lazio\")\nattr (\"latitude\", \"51.48\")\nattr (\"longitude\", \"0.0\")\n\n-- other parameters\nattr (\"TemperatureFormat\", \"C\")\nattr (\"PK_AccessPoint\", \"99000007\")\nattr (\"currency\", \"£\")\nattr (\"date_format\", \"dd/mm/yy\")\nattr (\"model\", \"Not a Vera\")\nattr (\"timeFormat\", \"24hr\")\n\n-- Any other startup processing may be inserted here...\nluup.log \"startup code completed\"\n\n",
    
    

    sorry for my error

    openLuup

  • openLuup log files - LuaUPnP.log and LuaUPnP_startup.log
    D Donato

    @akbooer

    attached a copy of startup lua

    startlua.png

    and the few lines around the error :

    "Mode":"1",
    "ModeSetting":"1:DC*;2:DC*;3:DC*;4:DC*",
    "PK_AccessPoint":"99000007",
    "Region_description":"Lazio",
    "ShutdownCode":"",
    "StartupCode":"\n-- You can personalise the installation by changing these attributes,\n-- which are persistent and may be removed from the Startup after a reload.\nlocal attr = luup.attr_set\n\n-- Geographical location\nattr ("City_description", "Rome")\nattr ("Country_description", "Italy")\nattr ("Region_description", "Lazio")\nattr ("latitude", "51.48")\nattr ("longitude", "0.0")\n\n-- other parameters\nattr ("TemperatureFormat", "C")\nattr ("PK_AccessPoint", "99000007")\nattr ("currency", "£")\nattr ("date_format", "dd/mm/yy")\nattr ("model", "Not a Vera")\nattr ("timeFormat", "24hr")\n\n-- Any other startup processing may be inserted here...\nluup.log "startup code completed"\n\n",
    "TemperatureFormat":"C",
    "ThousandsSeparator":",",
    "currency":"£",
    "date_format":"dd/mm/yy",

    openLuup

  • openLuup log files - LuaUPnP.log and LuaUPnP_startup.log
    D Donato

    @a-lurker

    the 176 line above is inside the user_data file and every parameter is separated by "," . Following some lines around 176 :

    "Region_description":"Lazio",
    "ShutdownCode":"",
    "StartupCode":"\n-- You can personalise the installation by changing these attributes,\n-- which are persistent and may be removed from the Startup after a reload.\nlocal attr = luup.attr_set\n\n-- Geographical location\nattr ("City_description", "Rome")\nattr ("Country_description", "Italy")\nattr ("Region_description", "Lazio")\nattr ("latitude", "51.48")\nattr ("longitude", "0.0")\n\n-- other parameters\nattr ("TemperatureFormat", "C")\nattr ("PK_AccessPoint", "99000007")\nattr ("currency", "£")\nattr ("date_format", "dd/mm/yy")\nattr ("model", "Not a Vera")\nattr ("timeFormat", "24hr")\n\n-- Any other startup processing may be inserted here...\nluup.log "startup code completed"\n\n",
    "TemperatureFormat":"C",
    "ThousandsSeparator":",",

    openLuup

  • openLuup log files - LuaUPnP.log and LuaUPnP_startup.log
    D Donato

    @akbooer

    This is the line 176 of User_Data Json file :

    "StartupCode":"\n-- You can personalise the installation by changing these attributes,\n-- which are persistent and may be removed from the Startup after a reload.\nlocal attr = luup.attr_set\n\n-- Geographical location\nattr ("City_description", "Rome")\nattr ("Country_description", "Italy")\nattr ("Region_description", "Lazio")\nattr ("latitude", "51.48")\nattr ("longitude", "0.0")\n\n-- other parameters\nattr ("TemperatureFormat", "C")\nattr ("PK_AccessPoint", "99000007")\nattr ("currency", "£")\nattr ("date_format", "dd/mm/yy")\nattr ("model", "Not a Vera")\nattr ("timeFormat", "24hr")\n\n-- Any other startup processing may be inserted here...\nluup.log "startup code completed"\n\n",

    I modify these parameter through the console openluup app and these are the values :

    -- You can personalise the installation by changing these attributes,
    -- which are persistent and may be removed from the Startup after a reload.
    local attr = luup.attr_set

    -- Geographical location
    attr ("City_description", "Rome")
    attr ("Country_description", "Italy")
    attr ("Region_description", "Lazio")
    attr ("latitude", "51.48")
    attr ("longitude", "0.0")

    -- other parameters
    attr ("TemperatureFormat", "C")
    attr ("PK_AccessPoint", "99000007")
    attr ("currency", "£")
    attr ("date_format", "dd/mm/yy")
    attr ("model", "Not a Vera")
    attr ("timeFormat", "24hr")

    -- Any other startup processing may be inserted here...
    luup.log "startup code completed"

    Is there any error ?

    tnks

    openLuup

  • openLuup log files - LuaUPnP.log and LuaUPnP_startup.log
    D Donato

    Hi akbooer,

    sometimes openluup restore the file user_data.json to the default and I need to restore the configured one. I notice in the LuaUPnP_startup.log these msgs :

    2024-07-18 07:46:19.585   :: openLuup STARTUP :: /etc/cmh-ludl
    2024-07-18 07:46:19.586   openLuup.init::        version 2022.11.28  @akbooer
    2024-07-18 07:46:19.595   openLuup.scheduler::   version 2021.03.19  @akbooer
    2024-07-18 07:46:19.723   openLuup.io::          version 2021.03.27  @akbooer
    2024-07-18 07:46:19.723   openLuup.mqtt::        version 2022.12.16  @akbooer
    2024-07-18 07:46:19.727   openLuup.wsapi::       version 2023.02.10  @akbooer
    2024-07-18 07:46:19.727   openLuup.servlet::     version 2021.04.30  @akbooer
    2024-07-18 07:46:19.727   openLuup.client::      version 2019.10.14  @akbooer
    2024-07-18 07:46:19.729   openLuup.server::      version 2022.08.14  @akbooer
    2024-07-18 07:46:19.737   openLuup.scenes::      version 2023.03.03  @akbooer
    2024-07-18 07:46:19.750   openLuup.chdev::       version 2022.11.05  @akbooer
    2024-07-18 07:46:19.750   openLuup.userdata::    version 2021.04.30  @akbooer
    2024-07-18 07:46:19.751   openLuup.requests::    version 2021.02.20  @akbooer
    2024-07-18 07:46:19.751   openLuup.gateway::     version 2021.05.08  @akbooer
    2024-07-18 07:46:19.757   openLuup.smtp::        version 2018.04.12  @akbooer
    2024-07-18 07:46:19.764   openLuup.historian::   version 2022.12.20  @akbooer
    2024-07-18 07:46:19.764   openLuup.luup::        version 2023.01.06  @akbooer
    2024-07-18 07:46:19.767   openLuup.pop3::        version 2018.04.23  @akbooer
    2024-07-18 07:46:19.768   openLuup.compression:: version 2016.06.30  @akbooer
    2024-07-18 07:46:19.768   openLuup.timers::      version 2021.05.23  @akbooer
    2024-07-18 07:46:19.769   openLuup.logs::        version 2018.03.25  @akbooer
    2024-07-18 07:46:19.769   openLuup.json::        version 2021.05.01  @akbooer
    2024-07-18 07:46:19.774   luup.create_device:: [1] D_ZWaveNetwork.xml /  /    ()
    2024-07-18 07:46:19.774   openLuup.chdev:: ERROR: unable to read XML file I_ZWave.xml
    2024-07-18 07:46:19.800   luup.create_device:: [2] D_openLuup.xml / I_openLuup.xml / D_openLuup.json   (openLuup)
    2024-07-18 07:46:19.800   openLuup.init:: loading configuration user_data.json
    2024-07-18 07:46:19.801   openLuup.userdata:: loading user_data json...
    2024-07-18 07:46:19.805   openLuup.userdata:: JSON decode error @[8173 of 8192, line: 176] unterminated string
       ' = luup.attr_set\n\n   <<<HERE>>>   -- Geographical loca'
    2024-07-18 07:46:19.805   openLuup.userdata:: ...user_data loading completed
    2024-07-18 07:46:19.805   openLuup.init:: running _openLuup_STARTUP_
    2024-07-18 07:46:19.805   luup_log:0: startup code completed
    2024-07-18 07:46:19.806   openLuup.init:: init phase completed
    2024-07-18 07:46:19.806   :: openLuup LOG ROTATION :: (runtime 0.0 days)
    

    Is this a my error in some configuration files ?

    tnks

    openLuup

  • Openluup: Datayours
    D Donato

    Hi akbooer,

    excuse me for late answer. Tnks for your precious support as usual.
    I'll test your code asap.
    A question for my clarity: does the routine register only a value every minute in the whisper file (average of values in a minute) ? Are the different values in a minute momentarily memorized in a DY cache ?

    tnks

    Plugins

  • Openluup: Datayours
    D Donato

    Yes, but all the variables with the name "Variable" (local target = "Variable")

    Plugins

  • Openluup: Datayours
    D Donato

    In my installation sensors measure at least a value every 20/30s (in my case is electric power) and I'd like to register the average value every minute (if possible).
    Can I change the retention schemas of the actual whisper files without loosing the actual data or do I have to start from zero?

    Over hour and daily period the aggregation is different for the whisper files created by L_DataUser routine :

    [Power_Daily_DataWatcher]
    pattern = .kwdaily
    xFilesFactor = 0
    aggregationMethod = sum
    [Power_Hourly_DataWatcher]
    pattern = .kwhourly
    xFilesFactor = 0
    aggregationMethod = sum
    [Power_MaxHourly_DataWatcher]
    pattern = .kwmaxhourly
    xFilesFactor = 0
    aggregationMethod = max

    For the "Variable" whisper files seems correct the average calculation for 5m, 10m, 1h .. etc based on :

    retentions = 1m:1d,5m:90d,10m:180d,1h:2y,1d:10y

    and the value registered every minute.

    Plugins

  • Openluup: Datayours
    D Donato

    Hi akbooer,

    tnks now things is going well for me too.

    You wrote for me the following L_DataUser.lua that I'm using :

    local function run (metric, value, time) 
    
      local target = "Variable"
      local names = {"kwdaily", "kwhourly", "kwmaxhourly"}
    
      local metrics = {metric}
      for i, name in ipairs (names) do
        local x,n = metric: gsub (target, name)
        metrics[#metrics+1] = n>0 and x or nil
      end
    
      local i = 0
     
      return function ()
        i = i + 1
        return metrics[i], value, time
      end
    end
    
    return {run = run}
    

    that write for every value of "Variablex" variable to other whisper files with different aggregation and schemas.

    Plugins

  • Openluup: Datayours
    D Donato

    Hi akbooer,
    i hope all is well.

    I've a question about datayours and the aggregation e schemas parameters.
    I've these configurations :

    1. aggregation :
      [Power_Calcolata_Kwatt]
      pattern = .Variable
      xFilesFactor = 0
      aggregationMethod = average

    2. schemas:
      [Power_Calcolata_Kwatt]
      pattern = .Variable
      retentions = 1m:1d,5m:90d,10m:180d,1h:2y,1d:10y

    In the cache history of openluup console for example i see these values :

    2024-06-27 09:17:57 46.73
    2024-06-27 09:17:25 16.55

    and in the whisper file (it contains a point every minute) i see :

    1719472620, 46.73 (17119472620 is 09.17 time for my zone)

    It seems that is considered the last value and not the average of two value registered at 9.17 time.

    Is it correct ?

    tnks

    donato

    Plugins

  • Openluup: Datayours
    D Donato

    @akbooer
    Hi akbooer, I've simulated on a test installation a network outage of the remote DY and I've produced two sets of whisper files : one updated (remote DY) and the other one to update (central DY) if possible with a routine similar to Whisper-fill.py from Graphite tool.
    In the files I'll send you by email you find :

    1. whisper file Updated ;
    2. whisper file To Update ;
    3. L_DataUser.lua used for both that processes and creates different metric names;
    4. Storage-aggregation.conf and Storage-schema.conf files.
      I remain at your disposal for any clarification.

    tnks

    donato

    Plugins

  • Openluup: Datayours
    D Donato

    @akbooer excuse me how can i send you the schema ?

    Plugins

  • Openluup: Datayours
    D Donato

    @akbooer
    a stand-alone command line utility is ok possibly with the option to indicate a date interval. The files to fill for a remote DY may be more than one all with the same Openluup/Whisper ID.
    At the moment I haven't an example of files to fill . I'll simulate a network outage so I produce the files.

    Can I send you meanwhile the schema to verify if the openluup/DY configuration remote and centralized are correct (destinations, udp receiver ports, line receiver port)

    tnks

    donato

    Plugins

  • Openluup: Datayours
    D Donato

    Hi akbooer,

    I've an installation with a centralized openluup/DY on Debian 11 where're archived and consolidated several remote openluup/DY on RPI. I'm also using a user-defined (defined with your support) "DataUser.lua" to process metrics and creating different metric names. I've a schema of this configuration but I can't upload on forum.
    I'd like to manage outage network connections between remote and centralized system while the remote DY is running and archives data locally.
    I see the whisper-fill.py python routine (https://github.com/graphite-project/whisper/blob/master/bin/whisper-fill.py) from Graphite tool. I know that DY/whisper format is different from Graphite/whisper (CSV vs. binary packing), but based on your deep knowledge and experience is it hard to adapt the fill routine to DY/whisper format ?

    tnks

    donato

    Plugins

  • Unexpected stop of openLuup
    D Donato

    tnks akbooer for your fix.

    About VPN, my server is on a cloud hosting and the web app is accessed by authenticated users so I suppose the only solution is to activate some fw rule on the openluup/datayours server.

    openLuup

  • Unexpected stop of openLuup
    D Donato

    Hi akbooer,

    in order to set firewall rules can you give me some info on the openluup log records ? Following there are few normal log lines of datayours read/write :

    2022-08-13 12:52:21.921 luup.variable_set:: 4.urn:akbooer-com:serviceId:DataYours1.AppMemoryUsed was: 6568 now: 6871 #hooks:0
    2022-08-13 12:52:26.570 openLuup.io.server:: HTTP:3480 connection from xx.xx.xx.xx tcp{client}: 0x556c474b0348
    2022-08-13 12:52:26.571 openLuup.server:: GET /data_request?id=lr_render&target=Vera-yyyyyyyy.024.urn:upnp-org:serviceId:VContainer1.Variable3&from=-2h&format=json HTTP/1.1 tcp{client}: 0x556c474b0348
    2022-08-13 12:52:26.571 luup_log:4: DataGraph: Whisper query: CPU = 0.405 mS for 121 points
    2022-08-13 12:52:26.572 openLuup.server:: request completed (3359 bytes, 1 chunks, 1 ms) tcp{client}: 0x556c474b0348
    2022-08-13 12:52:26.572 openLuup.io.server:: HTTP:3480 connection closed openLuup.server.receive closed tcp{client}: 0x556c474b0348
    2022-08-13 12:52:26.574 openLuup.io.server:: HTTP:3480 connection from xx.xx.xx.xx tcp{client}: 0x556c47810548
    2022-08-13 12:52:26.574 openLuup.server:: GET /data_request?id=lr_render&target=Vera-yyyyyyyy.024.urn:upnp-org:serviceId:VContainer1.Variable3&from=2022-08-13T00:00&format=json HTTP/1.1 tcp{client}: 0x556c47810548
    2022-08-13 12:52:26.576 luup_log:4: DataGraph: Whisper query: CPU = 2.085 mS for 773 points
    2022-08-13 12:52:26.580 openLuup.server:: request completed (20228 bytes, 2 chunks, 6 ms) tcp{client}: 0x556c47810548
    2022-08-13 12:52:26.581 openLuup.io.server:: HTTP:3480 connection closed openLuup.server.receive closed tcp{client}: 0x556c47810548
    2022-08-13 12:52:35.363 openLuup.io.server:: HTTP:3480 connection from xx.xx.xx.xx tcp{client}: 0x556c4756a4b8
    2022-08-13 12:52:35.364 openLuup.server:: GET /data_request?id=lr_render&target=Vera-yyyyyyyy.024.urn:upnp-org:serviceId:VContainer1.Variable3&from=-2h&format=json HTTP/1.1 tcp{client}: 0x556c4756a4b8
    2022-08-13 12:52:35.364 luup_log:4: DataGraph: Whisper query: CPU = 0.418 mS for 121 points
    2022-08-13 12:52:35.366 openLuup.server:: request completed (3359 bytes, 1 chunks, 1 ms) tcp{client}: 0x556c4756a4b8
    2022-08-13 12:52:35.366 openLuup.io.server:: HTTP:3480 connection closed openLuup.server.receive closed tcp{client}: 0x556c4756a4b8
    2022-08-13 12:52:35.368 openLuup.io.server:: HTTP:3480 connection from xx.xx.xx.xx tcp{client}: 0x556c47294958
    2022-08-13 12:52:35.368 openLuup.server:: GET /data_request?id=lr_render&target=Vera-yyyyyyyy.024.urn:upnp-org:serviceId:VContainer1.kwdaily3&from=2016-07-01&format=json HTTP/1.1 tcp{client}: 0x556c47294958
    2022-08-13 12:52:35.375 luup_log:4: DataGraph: Whisper query: CPU = 6.521 mS for 2235 points
    2022-08-13 12:52:35.392 openLuup.server:: request completed (62445 bytes, 4 chunks, 23 ms) tcp{client}: 0x556c47294958
    2022-08-13 12:52:35.397 openLuup.io.server:: HTTP:3480 connection closed openLuup.server.receive closed tcp{client}: 0x556c47294958
    2022-08-13 12:52:35.398 openLuup.io.server:: HTTP:3480 connection from xx.xx.xx.xx tcp{client}: 0x556c47158248
    2022-08-13 12:52:35.398 openLuup.server:: GET /data_request?id=lr_render&target=Vera-yyyyyyyy.024.urn:upnp-org:serviceId:VContainer1.Variable3&from=2022-08-13T00:00&format=json HTTP/1.1 tcp{client}: 0x556c47158248
    2022-08-13 12:52:35.401 luup_log:4: DataGraph: Whisper query: CPU = 2.409 mS for 773 points
    2022-08-13 12:52:35.406 openLuup.server:: request completed (20228 bytes, 2 chunks, 7 ms) tcp{client}: 0x556c47158248
    2022-08-13 12:52:35.406 openLuup.io.server:: HTTP:3480 connection closed openLuup.server.receive closed tcp{client}: 0x556c47158248
    2022-08-13 12:53:26.581 openLuup.io.server:: HTTP:3480 connection from xx.xx.xx.xx tcp{client}: 0x556c4877f9d8
    2022-08-13 12:53:26.581 openLuup.server:: GET /data_request?id=lr_render&target=Vera-yyyyyyyy.024.urn:upnp-org:serviceId:VContainer1.Variable3&from=-2h&format=json HTTP/1.1 tcp{client}: 0x556c4877f9d8
    2022-08-13 12:53:26.582 luup_log:4: DataGraph: Whisper query: CPU = 0.735 mS for 121 points

    The read commands of whisper files are all of kind "http://server-ip:3480......."

    the following log record :
    openLuup.io.server:: HTTP:3480 connection from xx.xx.xx.xx tcp{client}
    is from a http read ?

    Can I see UDP write log record ?

    The write commands come from remote datayours through UDP to "server-ip" .

    All consolidated whisper files I read/write are on "server-ip".

    Is it correct in this scenario that all the regular and normal commands (read/write) must come from "server-ip" ?

    tnks

    openLuup

  • Unexpected stop of openLuup
    D Donato

    Hi akbooer,

    randomly openluup hangs but today I noticed in the log (attached) something strange :

    2022-08-13 12:54:35.283 openLuup.server:: GET /data_request?id=lr_render&target=Vera-45108342.024.urn:upnp-org:serviceId:VContainer1.Variable3&from=2022-08-13T00:00&format=json HTTP/1.1 tcp{client}: 0x556c471741f8
    2022-08-13 12:54:35.286 luup_log:4: DataGraph: Whisper query: CPU = 2.068 mS for 775 points
    2022-08-13 12:54:35.289 openLuup.server:: request completed (20282 bytes, 2 chunks, 6 ms) tcp{client}: 0x556c471741f8
    2022-08-13 12:54:35.290 openLuup.io.server:: HTTP:3480 connection closed openLuup.server.receive closed tcp{client}: 0x556c471741f8
    2022-08-13 12:54:57.889 openLuup.io.server:: HTTP:3480 connection from 92.255.85.183 tcp{client}: 0x556c482cf138
    2022-08-13 12:54:57.889 openLuup.server:: /*: mstshash=Administr tcp{client}: 0x556c482cf138
    2022-08-13 12:54:57.889 openLuup.context_switch:: ERROR: [dev #0] ./openLuup/server.lua:238: attempt to concatenate local 'method' (a nil value)
    2022-08-13 12:54:57.889 luup.incoming_callback:: function: 0x556c4753ff20 ERROR: ./openLuup/server.lua:238: attempt to concatenate local 'method' (a nil value)

    at 12:54 openluup stopped to write and read the datayours files

    Is a possible attack ?

    openLuup

  • Help with Z-Way plugin
    D Donato

    Hi akbooer,

    I've defined in z-way controller a Virtual Device (a virtual binary switch) but I can't see it on openluup with z-way plugin installed while I can see a real switch.

    Is it correct ? Are the z-way virtual device using different API not implemented in openluup ?

    tnks

    donato

    Zway Bridge
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved