[Solved] Multi-terminal / Message Server woes?

#33

Yes port 1434, 1433,9000 is open at in bound. I run your script at powershell.

#34

It has to have outbound open as well. How would it communicate otherwise.

#35

I does not need Outbound. And the Rules only apply to the “Server” where the DB resides and the SambaPOS.Messaging.Server Service is running.

There are no SambaPOS-specific Firewall Rules on the Terminals, other that the Server.

There are also no SambaPOS-specific Outbound Rules on any Terminal, including the Server.

#36

Yes, before i reinstall new version windows 10 1703, i run Q script, firewall turn on and work nicely, just inbound firewall without outbound at server. Terminal not open port. But after reinsttal with new vesion win 10 with same script, it not work. May be there is some feature at win 10 1703 that handle port?
Note, i run with the last same script i run before upgrade

#37

I have been reading this discussion with some interest as I am experiencing significant problems with auto update on Entity Screens. The normal operation of the ordering and ticket issuing process is not impacted as we auto logout Waiters and Barmen and therefore when they log back into the system on these Terminals the Table screens and customer tickets are updated.

However we have 2 Reception terminals (plus some occasional use Admin terminals) which use Entity screens for Account management (Hotel Customer Booking accounts which are settled at point of departure from the Hotel) developed from @QMcKay excellent Account statement tutorial. These Entity screens are not refreshing automatically and therefore there is a serious potential for account payments to be incorrectly reported and possible payments missed.

The configuration we have is as follows

1 Dedicated Server PC which is running SQLExpress Server 2014, has SambaPos installed and always running (at login screen) The message server service is installed on this machine and is currently configured to Port 9000+ as per the details above. On this server I have added the Port exceptions within the Firewall AND turned off the firewall. I have edited the settings in SQL Manager as detailed above.

The Server machine is named as the Server in the terminal settings and the Message Server Test says OK and we get a Green Connected message, Even on this machine there is no auto update or refresh of Entity Screens.

All other terminals are configured to this message server and ALL show green connected. All have been restarted after restarting the Server (numerous times!) and NONE will auto refresh any Entity Screens, State Displays. Ticket timers on buttons do not update etc etc.

All Terminals are Hard wired and all are connected to the same Private network as the Server.

Firewalls are currently switched off on all Terminals and the Server

There are no other instances of Message Server Service running on the Network (Server only)

Computer Name includes http:// in the messaging Client Box.

I am completely baffled as this was all working prior to relocating the Server to a dedicated Windows 10 machine (All terminals are Windows 10 also, and are are Networking properly and connected to a Homegroup)

@QMcKay if you have any other suggestion I would be grateful as I have run out of things to try other than a complete reinstall across my whole system (serious last resort)

Cheers

#38

Show a screenshot of your entity screen settings. Are they custom entity screens with widgets? If so show property settings on them.

#39

My first thought is that the Network settings are set to Public rather than Private. Ensure the machine is discoverable.

At the very least, this move to a new machine is the key to the problem and solution. Something must be different on this machine, in Windows and/or SQL.

#40

The machine is connected to the Private network and is discoverable by all computers on the Network.
I agree this would seem to be the issue.

This was a new PC with Windows 10 pre loaded and the SQL installation was done in accordance with the Tutorial on this Forum (as per the previous installation). I am pretty familiar with Networking our PC’s and the Server is visible and accessible from the Windows Network and the Homegroup.

In answer to Kendash request I have many Entity screens which have been working perfectly until this server move. All my widgets are set to auto refresh interval 0.

Have just remembered, at the time of the Server move I also upgraded all terminals to 5.1.62 (and server of course)

split this topic #41

A post was split to a new topic: Message Server Test Chat (MSTC)

Playing Kitchen notification sounds for new orders
Playing Kitchen notification sounds for new orders
Kitchen/Bar Monitor not updating
#42

That should be a good thing since 5.1.62 includes improvements to connectivity. What version were you running before?

I guess it’s time for you to show some screenshots of your configuration:

  • Messaging Server Service Tool
  • Message Server settings on Client/Server Terminal

#43

Thanks for the message test db. I will load up and give that a test. Entity screen values get updated I guess via the database so any changes on one terminal get updated on other terminals providing I force a refresh i.e. logout and back in or select a different entity screen and then back.

Getting a screen shot off the Server is logistically challenging at the moment as its in another building and does not have a screen and keyboard connected. I will do that tomorrow morning however the message server settings are exactly like yours and I get the Green connected on all terminals.

I always keep SambaPos well updated so I updated from 5.1.61 at the time of the server change. I like to use all the new features and developments so that’s important to me. I have a pretty bespoke setup here using modified versions of your customer account and statement screens and a modded version of @JTRTech hotel implementation so I am pretty comfortable with the nuts and bolts of the program and it gives me a well tailored system. In fact seem to spend most of my time developing simplification automation because staff here are not very computer literate so I have to ask a lot of confirm questions.

I am trying 8585 port on this screenshot as I have tried a few in case windows has grabbed them for anything 9000 didnt work, 8383 neither.

#44

I recommend you make a Static DHCP reservation on your Router for POSSERVER so that it always receives the same IP Address, at the very least.

Then try using the IP Address for the Server instead of the Hostname.

Also, disable IPv6 on your machines so they are always forced to use IPv4. I have seen issues with IPv6 in the past when it comes to Messaging.

Of course, ensure you can ping or tracert the server by IP. Ping it by name as well, and note the resolved address which will indicate the IPV being used.

1 Like
#45

Thanks. Will give all that a go and let you know.

#46

I am more and more convinced that Auto Refresh is fundamentally broken.

I have done the following to the system

All Terminals including the Server are Fixed IP configured on IP4 protocol.

All terminals and Server have IP6 disabled.

All Terminals and Server Messaging Clients now point to the fixed IP of the server (http://192.168.1.25)

All Message Server Clients show connected and ping from every device is solid and between 2 and 5 ms

Widgets still do not Auto refresh.

I am running a Testing instance (SAMBATEST) on the Database because the main Instance is live and I have 2 machines setup to connect to this instance to try prove a few things.

Firstly I installed the Message automation @QMcKay provided and installed on the testing instance of the database. Restarted both machines and this automation worked first time perfectly. I guess this tells me that the messaging is working.

Using these 2 machines I carried out a test for my table layout (which was open on both screens) and created a ticket. As expected on the Terminal entering the ticket Table state changed and widget colour changed to orange.

image

Nothing happened on the second machine until I logged out and then logged back in at which time the Table state updated. The table timer incorporated into the state display does not update until the screen is manually refreshed in some way. NOTE timer says 12mins only because I manually refreshed the Entity Screen

So there are NO auto updates (even on the Terminal the ticket was created by) and there are no State updates being broadcast. ALL my widgets are Auto Refresh interval zero. I have tested with the table Entity Screen as this is what I would call the Standard automation built into Sambapos in regard to updating of widgets and entities etc.

As previously stated this was working fine before updating to 5.1.62 and moving the Server

#47

Try turning auto refresh off. Restart then send a ticket. SambaPOS refreshes with message server when ticket is created.

#48

OK I have tried this. Switched off Auto Refresh on Table 3 Widget. Created a ticket and of course nothing happened. Table state not updated and widget not changed to Orange on the terminal the order was entered. Manually refreshed by logout login or reload Entity screen, Table goes Orange , timer is updated but then stops until manually refreshing entity screen.

Nothing on other terminal Entity Screen.

So this tells me the refresh that is coded into a create ticket operation works but only on the terminal it is entered on. There are still no further refresh operations happening i.e. nothing appearing on other terminals or no state updates to show ticket open time on any widgets.

#49

Turned auto refresh back on on this Table widget. Still nothing refreshing on any terminal.

#50

Partial Success!

Firstly I found a conflicting instance on the previous server I was using which I thought I had disabled. I fully deleted SQL Express 2014 on the previous server and double confirmed no other server activity and no message service installed on other machines. I then shut all the terminals down and rebooted the server. MY BAD here and sorry for wasting anyone’s time.

Refresh across the network worked for Table widgets state display i.e. when raising an order table on terminal one went Orange and this was mirrored on Terminal 2 instantly. All good.

However the Table Entity Button has a ticket open timer on the Label value incorporated in the State Display as below


This does not update on any Terminal unless the Entity Screen is reloaded and then it remains static until the next screen reload.

I also have inconsistent results when working with my Room Account Screen (modified version of @QMcKay Custom Account Reporting Tutorial) when loaded the screen gives the following information


This screen consists of two Key elements. The transaction lister which is a custom report widget (Account Statement) and a label widget (Entity Details) as the header section.

image
image

image
image

When I settle a transaction on a separate terminal and charge the room account the Account Statement widget refreshes immediately and adds new transaction. This is good.
Unfortunately the Label widget Balance does not refresh as per example below

Do label widgets refresh without a ticket? I am using the expression
Balance: {SETTING:AS ENTITY BALANCE}
which works fine when screen is loaded but does not refresh.

Any ideas?

#51

Label widgets refresh when screen does meaning tickets will refresh it or auto refresh setting with a value greater than 0 Will Both Work

#52

Any Entity Screen will not refresh unless it is configured for a particular Entity Type.

Entity Screens set to View Mode Custom or Layout do not require Entity Type selection, but you can set the Entity Type if you want. Even then, they will only refresh if there is a Ticket-related event that is triggered and that Entity Type is attached to the Ticket.

The way the Account Statements Screen (which has not associated Entity Type set) should be refreshing is via Action Navigate Module, which forces a reload of the screen.

So the Program Setting in the Label should update if you ensure you update the Program Setting before the Navigate Action.

1 Like