NTP/Astro Binding - several items possible in different time zones?

I want to display not only the local date/time - but also the date/time in several different other timezones.

But up to now I didn’t get it running - the local time is added automatically as thing to PaperUI after installing the NTP binding. So I tried to configure an additional thing in a things-file and link it to the according date/time icons in a item file.

NTP.things:
ntp:ntp:USA [ hostname="n1.pool.ntp.org", refreshIntervcal=60, refreshNtp=30, timeZone="America/New_York" ]
NTP.items:
DateTime USA_Uhrzeit "Uhrzeit NYC [%1$tH:%1$tM.%1$tS]"  <clock>{channel="ntp:ntp:USA:dateTime"}

But the item USA_Uhrzeit has the same time as the local time.

Same question for the Astro binding - is it possible to display e.g. sunset/sundown also for different locations by manual configuration?

For NTP what actually gets stored is epoch. This is the number of milliseconds since 00:00 1 January 1970 GMT. That value gets converted to the proper time zone based on the timezone of the machine your browser/phone app is configured for. So I don’t think there is a way to do this directly with the NTP binding.

What you can do is create another String Item to represent the other time zone and a Rule that triggers when your NTP Item updates. In the Rule you need to add/subtract the hours as necessary and generate the formatted String for that timezone and postUpdate that to your String Item.

For the Astro question, just create a new Astro Thing with a lat/long located in the timezone you care about.

@rlkoshak Technically you are right. But what is the purpose of the parameters timeZone and locale?

I managed to use the string channel and it’s configuration DateTimeFormat to display the formatted time of a different timezone other than my local setup. I assume the important part is setting the timeZone config for the thing. The locale config seem to have no effect an anything. Maybe I used it in the wrong way. The dateTime channel hadn’t changed. It always showed my local time.

ntp.things:

ntp:ntp:miami "MIAMI Time" @ "Time" [ hostname="de.pool.ntp.org", refreshInterval=60, refreshNtp=30, timeZone="America/New_York", locale="en_US" ] {
    Channels:
        Type string-channel : string [
            DateTimeFormat="MM/dd/yyyy HH:mm:ss"
        ]
}

ntp.items:

String ntpMiamiDateTime "Date & Time [%s]" <clock> {
    channel="ntp:ntp:miami:string"
}

Locale affects the format and language used for the month names. For example, if using a US locale it will show English month and weekday names in Monrh Day, Year order by default where as a German locale will use the German names and European order.

The timezone parameter tells the Thing what timezone the OH server is in and is what gets used, for example, in OH rules.

I don’t know why it doesn’t just get the timezone from the system, maybe it does so by default.

Honestly I’ve found the NTP. Binding to be pretty useless in my setup so haven’t used it much since 1.7.