Openhab2 stops processing events from ZWave ZW096 Smart Switch 6 - events

My Openhab 2 installation starts logging the following message:
Already processed another send data request for this callback Id, ignoring.
and I am not able to see any more events logged on my mysql database.
I have Openhab2 with a Z-Wave Node 2: ZW096 Smart Switch 6 and set the persistence with mysql database.
I have all the devices online (the zwave Serial Controller attached on /dev/ttyACM0 port, a zwave bulb online and obviously the Zwave smart switch) and I set on the ZWave Smart Switch a polling period of 15 seconds (I need to react to suddenly watts changes on the zwave switch so I cannot set a slower frequency).
Everything worked well until suddenly the openhab2 log started logging the warning:
2018-02-16 11:16:07.037 [WARN ] [l.serialmessage.SendDataMessageClass] -
NODE 2: Already processed another send data request for this callback Id,
ignoring.
and the events on mysql database are not written anymore.
Any ideas?
I've tried to reset the switch, switch off and on but the only solution by now is to restart openhab.

I eventually found that there was some problem between the smart switch, the zwave gateway usb key and OpenHab2. I did a reset to all the zwave devices and rebound them to the gateway, added a refresh job that every 2 seconds requests the REFRESH to the smart switch and everything started working.
Sometimes the plug still doesn't refreshes the data and I have to reset it.

Related

How can I keep my app on Galaxy watch4 alive and the service running during watch idle mode?

I'm an Android developer and working on a wearable app that runs on Galaxy watch 4.
In short description, this app use a foreground service that's connected to Mqtt broker and receives real-time alerts and displays them to the user.
Up until recent system SW upgrade I used a Wifi Lock to keep the network alive for my app and the foreground service allowed my app to keep running in the back during idle mode. I also used a Wake Lock to wake the watch when an alert was received so it can be displayed to the user.
On 16.02.22 the watches were updated and after that, whenever the watch turns off the screen and goes into idle mode, my application disconnects from all OS resources (network, even CPU). It seems like the process is suspended. When I bring the watch back from idle, my application continues running but its stays in the background and not returned to the fore.
I tried different approaches to solve this, such as Ambient mode and more, all my efforts to come up with a workaround met a brick wall.
Am I missing something?
I see other apps that use body monitoring via the sensors for example, that keep working and throw notifications even when the watch is idle.
Please help, how can I keep my app alive and the service running (and using the network) during watch idle mode?

updata download sizes at mikrotik

I have a PC as a mikrotik router at home, and also i have many power failures because the electricity network is undergoing maintenance ant this may last for months, and I noticed that what it's shown at the user profile is not updated instantly by the downloads(mega Bytes) at the active users, and after an electricity cut off, everything at the active user just resetted (I mean downloaded megabytes), and nothing is recorded.
How can I update it instantly or at least every hour, any ideas?
Several solutions to keep track of volatile data after a reboot:
Use a Radius server with accounting (data use will be automatically sent to the radius server and logged in database)
Use mikrotik API to query the "Mb used" from an external device and log it on a file.
Write a mikrotik script to query the data you need and log it into a file or on a non-volatile area (for example, comment on user)

Source computers go inactive after Windows Event Collector restarts

I have got 3 Domain Controllers fowarding events and 1 collector collecting Security events from those 3 source machines, they are all on the same Domain.
However after restarting Windows Event Collector, I go to the Collector machine -> Event Viewer -> Subscriptions -> right click the name of the subscripion -> select Runtime Status, I will see all those 3 source machines are inactive.
I don't know how to bring them up immediately, although I still have some some client machines generating events and sending to those 3 DC. But they will eventually turn on, say after half an hour also.
Was event forwarding working before and just stopped working or are you still trying to set it up? I think you just have to be patient and wait for them to connect. Are you frequently rebooting the event collector station? Also, just because it says "inactive" doesn't mean there's a problem. I find servers will occasionally be listed as inactive, but there are no issues with them forwarding events.
Are you using source initiated event forwarding? If so confirm the syntax in the GPO- make sure you've got the FQDN and no spaces:

Windows Phone Background Application Service

In my windows phone 8 application, I would like to refresh/load some data periodically (less than 10 minutes) from server, while application running in background (ie, in dormant and tombstoned). I tried scheduled task agent and resource intensive task agent, but they are called at rate of 30 minutes gap. Please let me know is there any other solution for implementing the above said requirement.
Thanks and Regards
#nish
If you need to get data more frequently than the default available in Windows Phone, you should think about using push notifications. This won't be suitable for a full data push, but if you use it correctly, you can get a user experience that you can live with.
One common approach to this is to set up your server to send a notification to the device when there is something new to report instead of pushing a "nothing has changed" message every 10 minutes or so. If you push out a tile update notification to say, for example, "You have x unread items", the user may then click on the tile for your app and you can poll the server for new items on launch/resume. If you want a more intrusive option, you can send a toast notification as well, but in most cases the tile update will be sufficient.
This method has a few advantages.
You won't be burning through battery power polling every 10 minutes while the user is asleep
Your server will have significantly less load since it is not having to process full data requests every 10 minutes per client.
This fits in with the design philosophy of Phone apps - you are surfacing the required data to the user, while at the same time preserving battery life.
Do I understand correctly that your primary goal is to keep some host session alive by having the phone make a query periodically? If so...
I would not recommend this approach: 1) you cannot count on the phone having network connectivity when it tries to send its query. If the user puts the phone away in a pocket or purse, the odds worsen. 2) it's probably bad from a security perspective, and wasteful from a host resources perspective.
You might instead add logic to your app to resume a timed-out host session as seamlessly as possible. This would add real utility value to the mobile app value proposition over raw HTTP access to the same host.

EnumPrinters() + error RPC_S_SERVER_UNAVAILABLE (1722)

I am working on a sample to get the list of printer connected to machine. For that I am using EnumPrinters() API to get the printers. Randomly it gives the error RPC_S_SERVER_UNAVAILABLE (1722). I tried to search in the net, but I could not get the solution.
Please help me to fix this issue.
How are you calling EnumPrinters (hint - post the code)?
For some modes of API invocation, the local system will RPC to the target servers in turn - this uses RPC, so you can get RPC errors back. You may be able to get the info you need via a less heavyweight call that uses different parameters to EnumPrinters.
From the docs:
when EnumPrinters is called with a
level 2 (PRINTER_INFO_2) data
structure, it performs an OpenPrinter
call on each remote connection. If a
remote connection is down, or the
remote server no longer exists, or the
remote printer no longer exists, the
function must wait for RPC to time out
and consequently fail the OpenPrinter
call. This can take a while.
I had this problem recently with my Windows 10 PC. I spent a lot of time with debugging of EnumPrinters, with all different sorts of levels, but nothing worked and I always got the error RPC_S_SERVER_UNAVAILABLE (1722). It turned out that something has stopped the Spooler service and even after a reboot it was disabled. After enabling the Spooler service, everything worked. You can notice the Spooler service failure by looking at the Win10 printer settings: All printers would show "not connected", even Print to PDF.

Resources