This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Alert Manager App
#1
Hi,

when I get into the config menu and set something (like scripts, admin password, etc.), it keeps the setting ONLY for the current session of browser.

When I open Alert Manager later with the same browser or a different one, even from a different ip address, then the settings are different or resetted.

How is it possible?

Thanks

Peppe
Reply
#2
Settings are stored on the controller storage on each change, these settings are stored under the IP address of the client, so if you change the client IP the settings are default again.
Reply
#3
(09.09.2021, 10:54)Erwin van der Zwart Wrote: Settings are stored on the controller storage on each change, these settings are stored under the IP address of the client, so if you change the client IP the settings are default again.

That's not good: I would use it in an Hotel with different receptionist desks. And would be necessary settings are the same for each of them. Enspecially about admin access operations...

There is no way to do that?

P.S. It is important that when I acknoledge an alarm or mute it, it isn't still active on the other desks!!
Reply
#4
I'm sorry to insist, but I urgently need to manage the bathroom's alarms of a Hotel and you understand that as it is, I cannot use the app because the alarm have to be acknowledged by a single receptionist once and for all. Same regarding the app settings: should be the same for all.
IT WOULD BE MUCH MORE USEFUL IF THE APP STORES THE SETTINGS UNDER THE USER RATHER THAN THE IP ADDRESS and that this was shown in the columns, with the acknowledge or mute time.
Can you make these changes in a short time?
I would be deeply grateful to you

Peppe
Reply
#5
I don’t see the need for a change, you already can set the parameters on each client, there also is a build in options to send a central mute and allow receiving central mute so everything you need is already there, the only thing you need to do is to give each client panel a static IP address and set the settings for this client once.

What you also can do, if you don’t want to set the settings on each client, however this is only 1 minute work per client, is set 1 panel correct, copy the storage entry and clone it with the new IP address of the second/nrx client and store it again. With script you can duplicate the settings of 255 clients in a eyeblink..
Reply
#6
I understand your point of view: central mute is ok, IP static is also ok in the LAN, but sometimes we need to access the server via internet ( the manager of the hotel would check from home o to receive our remote assistance) and in the most of that cases Public IP is not static.

More, other hotel management programs allows to know WHO managed the alarm, showing it on their table. That, as you can see, is very important in case of issues about security lacks detection.

Anyway, I 'll try to arrange everything with what I have, just please explain me how I can copy the storage entries to clone it to others
(Storage viewer app just let me to view and delete, right?)

Thank you

Peppe
Reply
#7
You can copy storage values via get/set like this:
Code:
val = storage.get('source_key')
storage.set('destination_key', val)
Reply
#8
I understand your pain points but the Alert Manager is never developed for tracking alerts and events, to be honest we would never use this controller for tasks like event/alarm management, in those cases we would select EcoStruxure Building Operation that has al these features build-in by default and is even compliant with 21 CFR/FDA Part 11 so you can backtrack every event/alert acknowledgment made by any user that is allowed to execute a certain task.

You could do it with this controller but it requires quite some development time to build an app on that level and I don’t have the ambition to rebuild something we already have in the form of another platform.

(11.09.2021, 11:59)admin Wrote: You can copy storage values via get/set like this:
Code:
val = storage.get('source_key')
storage.set('destination_key', val)

To copy client settings to another panel you need to update some additional fields in the storage table, below is a full functional script to set multple clients at once with the settings from a source client that is holding the correct settings.

Code:
-- Set IP address of the source client you want to copy the settings from
source_client_ip = '192.168.10.100'

-- Set destination IP addresses of the clients that needs to get the settings from the source client
new_client_ip_table = {
  '192.168.10.101',
  '192.168.10.102',
  '192.168.10.103',
  '192.168.10.104',
  '192.168.10.105'
}

-- Do not change anything under this line
-- **************************************************************************************************

--source_client_settings = storage.get("Alert_App_" .. source_client_ip) -- Old versions
source_client_settings = storage.get("app:alerts:" .. source_client_ip) -- Latest version 1.0.8

-- Update IP addres in the settings table to the new client IP settings and store it into the storage
if type(source_client_settings) == 'table' then
  for _, ip in pairs(new_client_ip_table ) do
    source_client_settings.scripts[1].clientip = ip
    source_client_settings.scripts[2].clientip = ip
    source_client_settings.defaults.clientip = ip
    source_client_settings.settings.clientip = ip
    storage.set("Alert_App_" .. ip, source_client_settings)
   end
else
   log('Could not find alert manager settings from client ' .. source_client_ip .. ' in the storage')
end

script.disable(_SCRIPTNAME)
Reply
#9
(11.09.2021, 12:29)Erwin van der Zwart Wrote: I understand your pain points but the Alert Manager is never developed for tracking alerts and events, to be honest we would never use this controller for tasks like event/alarm management, in those cases we would select EcoStruxure Building Operation that has al these features build-in by default and is even compliant with 21 CFR/FDA Part 11 so you can backtrack every event/alert acknowledgment made by any user that is allowed to execute a certain task.

You could do it with this controller but it requires quite some development time to build an app on that level and I don’t have the ambition to rebuild something we already have in the form of another platform.

(11.09.2021, 11:59)admin Wrote: You can copy storage values via get/set like this:
Code:
val = storage.get('source_key')
storage.set('destination_key', val)

To copy client settings to another panel you need to update some additional fields in the storage table, below is a full functional script to set multple clients at once with the settings from a source client that is holding the correct settings.

Code:
-- Set IP address of the source client you want to copy the settings from
source_client_ip = '192.168.10.100'

-- Set destination IP addresses of the clients that needs to get the settings from the source client
new_client_ip_table = {
  '192.168.10.101',
  '192.168.10.102',
  '192.168.10.103',
  '192.168.10.104',
  '192.168.10.105'
}

-- Do not change anything under this line
-- **************************************************************************************************

--source_client_settings = storage.get("Alert_App_" .. source_client_ip) -- Old versions
source_client_settings = storage.get("app:alerts:" .. source_client_ip) -- Latest version 1.0.8

-- Update IP addres in the settings table to the new client IP settings and store it into the storage
if type(source_client_settings) == 'table' then
  for _, ip in pairs(new_client_ip_table ) do
    source_client_settings.scripts[1].clientip = ip
    source_client_settings.scripts[2].clientip = ip
    source_client_settings.defaults.clientip = ip
    source_client_settings.settings.clientip = ip
    storage.set("Alert_App_" .. ip, source_client_settings)
   end
else
   log('Could not find alert manager settings from client ' .. source_client_ip .. ' in the storage')
end

script.disable(_SCRIPTNAME)

Ok, later I realized I can use storage methods... thanks for the script!

Peppe
Reply
#10
Hi, is there a way to log (time, user, etc.) and report the ALERT MANAGER events, like acknowledge or mute off?

Thanks

Peppe
Reply


Forum Jump: