I use the “timestamp on update” profile on a channel in one of my zwave device in an OH 3.1 M3. When ever the channel is triggered and the timestamp is updated by OH I get the following error in the habapp log.
[2021-04-09 21:41:47,512] [HABApp ] ERROR | Error time data '2021-04-09T21:41:47.083447000+0200' does not match format '%Y-%m-%dT%H:%M:%S.%f%z' in on_sse_event:
[2021-04-09 21:41:47,512] [HABApp ] ERROR | File "/usr/src/app/HABApp/core/wrapper.py", line 130, in f
[2021-04-09 21:41:47,513] [HABApp ] ERROR | return func(*args, **kwargs)
[2021-04-09 21:41:47,513] [HABApp ] ERROR | File "/usr/src/app/HABApp/openhab/connection_logic/connection.py", line 41, in on_sse_event
[2021-04-09 21:41:47,513] [HABApp ] ERROR | 37 @ignore_exception
[2021-04-09 21:41:47,513] [HABApp ] ERROR | 38 def on_sse_event(event_dict: dict):
[2021-04-09 21:41:47,514] [HABApp ] ERROR | 39
[2021-04-09 21:41:47,514] [HABApp ] ERROR | 40 # Lookup corresponding OpenHAB event
[2021-04-09 21:41:47,514] [HABApp ] ERROR | --> 41 event = get_event(event_dict)
[2021-04-09 21:41:47,514] [HABApp ] ERROR | 42
[2021-04-09 21:41:47,514] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,515] [HABApp ] ERROR | event_dict = {'topic': 'openhab/items/ZWaveNode009carportmotion_BinarySensor/statechanged',
[2021-04-09 21:41:47,515] [HABApp ] ERROR | 'payload': '{"type":"DateTime","value":"2021-04-09T21:41:47.083447+0200","oldType":"DateTime","oldValue":"2021-04-09T21:41:39.484444+0200"}',
[2021-04-09 21:41:47,515] [HABApp ] ERROR | 'type': 'ItemStateChangedEvent'}
[2021-04-09 21:41:47,515] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,516] [HABApp ] ERROR |
[2021-04-09 21:41:47,516] [HABApp ] ERROR | File "/usr/src/app/HABApp/openhab/map_events.py", line 39, in get_event
[2021-04-09 21:41:47,516] [HABApp ] ERROR | 27 def get_event(_in_dict: dict) -> OpenhabEvent:
[2021-04-09 21:41:47,516] [HABApp ] ERROR | (...)
[2021-04-09 21:41:47,516] [HABApp ] ERROR | 35 payload = load_json(p_str)
[2021-04-09 21:41:47,517] [HABApp ] ERROR | 36
[2021-04-09 21:41:47,517] [HABApp ] ERROR | 37 # Find event from implemented events
[2021-04-09 21:41:47,517] [HABApp ] ERROR | 38 try:
[2021-04-09 21:41:47,517] [HABApp ] ERROR | --> 39 return __event_lookup[event_type].from_dict(topic, payload)
[2021-04-09 21:41:47,517] [HABApp ] ERROR | 40 except KeyError:
[2021-04-09 21:41:47,518] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,518] [HABApp ] ERROR | _in_dict = {'topic': 'openhab/items/ZWaveNode009carportmotion_BinarySensor/statechanged',
[2021-04-09 21:41:47,518] [HABApp ] ERROR | 'payload': '{"type":"DateTime","value":"2021-04-09T21:41:47.083447+0200","oldType":"DateTime","oldValue":"2021-04-09T21:41:39.484444+0200"}',
[2021-04-09 21:41:47,518] [HABApp ] ERROR | 'type': 'ItemStateChangedEvent'}
[2021-04-09 21:41:47,519] [HABApp ] ERROR | OpenhabEvent = <class 'HABApp.openhab.events.base_event.OpenhabEvent'>
[2021-04-09 21:41:47,519] [HABApp ] ERROR | payload = {'type': 'DateTime',
[2021-04-09 21:41:47,519] [HABApp ] ERROR | 'value': '2021-04-09T21:41:47.083447+0200',
[2021-04-09 21:41:47,519] [HABApp ] ERROR | 'oldType': 'DateTime',
[2021-04-09 21:41:47,519] [HABApp ] ERROR | 'oldValue': '2021-04-09T21:41:39.484444+0200'}
[2021-04-09 21:41:47,520] [HABApp ] ERROR | p_str = '{"type":"DateTime","value":"2021-04-09T21:41:47.083447+0200","oldType":"DateTime","oldValue":"2021-04-09T21:41:39.484444+0200"}'
[2021-04-09 21:41:47,520] [HABApp ] ERROR | __event_lookup = {'ItemStateEvent': <class 'HABApp.openhab.events.item_events.ItemStateEvent'>,
[2021-04-09 21:41:47,520] [HABApp ] ERROR | 'ItemStateChangedEvent': <class 'HABApp.openhab.events.item_events.ItemStateChangedEvent'>,
[2021-04-09 21:41:47,520] [HABApp ] ERROR | 'ItemCommandEvent': <class 'HABApp.openhab.events.item_events.ItemCommandEvent'>,
[2021-04-09 21:41:47,520] [HABApp ] ERROR | 'ItemAddedEvent': <class 'HABApp.openhab.events.item_events.ItemAddedEvent'>,
[2021-04-09 21:41:47,521] [HABApp ] ERROR | 'ItemUpdatedEvent': <class 'HABApp.openhab.events.item_events.ItemUpdatedEvent'>,
[2021-04-09 21:41:47,521] [HABApp ] ERROR | 'ItemRemovedEvent': <class 'HABApp.openhab.events.item_events.ItemRemovedEvent'>,
[2021-04-09 21:41:47,521] [HABApp ] ERROR | 'ItemStatePredictedEvent': <class 'HABApp.openhab.events.item_events.ItemStatePredictedEvent'>,
[2021-04-09 21:41:47,521] [HABApp ] ERROR | 'GroupItemStateChangedEvent': <class 'HABApp.openhab.events.item_events.GroupItemStateChangedEvent'>,
[2021-04-09 21:41:47,522] [HABApp ] ERROR | 'ChannelTriggeredEvent': <class 'HABApp.openhab.events.channel_events.ChannelTriggeredEvent'>,
[2021-04-09 21:41:47,522] [HABApp ] ERROR | 'ThingStatusInfoEvent': <class 'HABApp.openhab.events.thing_events.ThingStatusInfoEvent'>,
[2021-04-09 21:41:47,522] [HABApp ] ERROR | 'ThingStatusInfoChangedEv...: <class 'HABApp.openhab.events.thing_events.ThingStatusInfoChangedEvent'>,
[2021-04-09 21:41:47,522] [HABApp ] ERROR | 'ThingFirmwareStatusInfoE...: <class 'HABApp.openhab.events.thing_events.ThingFirmwareStatusInfoEvent'>,
[2021-04-09 21:41:47,522] [HABApp ] ERROR | 'ConfigStatusInfoEvent': <class 'HABApp.openhab.events.thing_events.ThingConfigStatusInfoEvent'>,
[2021-04-09 21:41:47,523] [HABApp ] ERROR | 'FirmwareStatusInfoEvent': <class 'HABApp.openhab.events.thing_events.ThingFirmwareStatusInfoEvent'>}
[2021-04-09 21:41:47,523] [HABApp ] ERROR | event_type = 'ItemStateChangedEvent'
[2021-04-09 21:41:47,523] [HABApp ] ERROR | topic = 'openhab/items/ZWaveNode009carportmotion_BinarySensor/statechanged'
[2021-04-09 21:41:47,523] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,524] [HABApp ] ERROR |
[2021-04-09 21:41:47,524] [HABApp ] ERROR | File "/usr/src/app/HABApp/openhab/events/item_events.py", line 50, in from_dict
[2021-04-09 21:41:47,524] [HABApp ] ERROR | 46 def from_dict(cls, topic: str, payload: dict):
[2021-04-09 21:41:47,524] [HABApp ] ERROR | 47 # smarthome/items/Ping/statechanged
[2021-04-09 21:41:47,524] [HABApp ] ERROR | 48 return cls(
[2021-04-09 21:41:47,525] [HABApp ] ERROR | 49 topic[NAME_START:-13],
[2021-04-09 21:41:47,525] [HABApp ] ERROR | --> 50 map_openhab_values(payload['type'], payload['value']),
[2021-04-09 21:41:47,525] [HABApp ] ERROR | 51 map_openhab_values(payload['oldType'], payload['oldValue'])
[2021-04-09 21:41:47,525] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,525] [HABApp ] ERROR | cls = <class 'HABApp.openhab.events.item_events.ItemStateChangedEvent'>
[2021-04-09 21:41:47,526] [HABApp ] ERROR | topic = 'openhab/items/ZWaveNode009carportmotion_BinarySensor/statechanged'
[2021-04-09 21:41:47,526] [HABApp ] ERROR | payload = {'type': 'DateTime',
[2021-04-09 21:41:47,526] [HABApp ] ERROR | 'value': '2021-04-09T21:41:47.083447+0200',
[2021-04-09 21:41:47,526] [HABApp ] ERROR | 'oldType': 'DateTime',
[2021-04-09 21:41:47,527] [HABApp ] ERROR | 'oldValue': '2021-04-09T21:41:39.484444+0200'}
[2021-04-09 21:41:47,527] [HABApp ] ERROR | NAME_START = 14
[2021-04-09 21:41:47,527] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,527] [HABApp ] ERROR |
[2021-04-09 21:41:47,527] [HABApp ] ERROR | File "/usr/src/app/HABApp/openhab/map_values.py", line 25, in map_openhab_values
[2021-04-09 21:41:47,528] [HABApp ] ERROR | 7 def map_openhab_values(openhab_type: str, openhab_value: str):
[2021-04-09 21:41:47,528] [HABApp ] ERROR | (...)
[2021-04-09 21:41:47,528] [HABApp ] ERROR | 21 return float(openhab_value)
[2021-04-09 21:41:47,528] [HABApp ] ERROR | 22
[2021-04-09 21:41:47,529] [HABApp ] ERROR | 23 if openhab_type == "DateTime":
[2021-04-09 21:41:47,529] [HABApp ] ERROR | 24 # 2018-11-19T09:47:38.284+0100
[2021-04-09 21:41:47,529] [HABApp ] ERROR | --> 25 dt = datetime.datetime.strptime(openhab_value.replace('+', '000+'), '%Y-%m-%dT%H:%M:%S.%f%z')
[2021-04-09 21:41:47,529] [HABApp ] ERROR | 26 # all datetimes from openhab have a timezone set so we can't easily compare them
[2021-04-09 21:41:47,529] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,530] [HABApp ] ERROR | openhab_type = 'DateTime'
[2021-04-09 21:41:47,530] [HABApp ] ERROR | openhab_value = '2021-04-09T21:41:47.083447+0200'
[2021-04-09 21:41:47,530] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,530] [HABApp ] ERROR |
[2021-04-09 21:41:47,530] [HABApp ] ERROR | File "/usr/local/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
[2021-04-09 21:41:47,531] [HABApp ] ERROR | 565 def _strptime_datetime(cls, data_string, format="%a %b %d %H:%M:%S %Y"):
[2021-04-09 21:41:47,531] [HABApp ] ERROR | 566 """Return a class cls instance based on the input string and the
[2021-04-09 21:41:47,531] [HABApp ] ERROR | 567 format string."""
[2021-04-09 21:41:47,531] [HABApp ] ERROR | --> 568 tt, fraction, gmtoff_fraction = _strptime(data_string, format)
[2021-04-09 21:41:47,532] [HABApp ] ERROR | 569 tzname, gmtoff = tt[-2:]
[2021-04-09 21:41:47,532] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,532] [HABApp ] ERROR | cls = <class 'datetime.datetime'>
[2021-04-09 21:41:47,532] [HABApp ] ERROR | data_string = '2021-04-09T21:41:47.083447000+0200'
[2021-04-09 21:41:47,532] [HABApp ] ERROR | format = '%Y-%m-%dT%H:%M:%S.%f%z'
[2021-04-09 21:41:47,533] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,533] [HABApp ] ERROR |
[2021-04-09 21:41:47,533] [HABApp ] ERROR | File "/usr/local/lib/python3.8/_strptime.py", line 349, in _strptime
[2021-04-09 21:41:47,533] [HABApp ] ERROR | 309 def _strptime(data_string, format="%a %b %d %H:%M:%S %Y"):
[2021-04-09 21:41:47,534] [HABApp ] ERROR | (...)
[2021-04-09 21:41:47,534] [HABApp ] ERROR | 345 raise ValueError("stray %% in format '%s'" % format) from None
[2021-04-09 21:41:47,534] [HABApp ] ERROR | 346 _regex_cache[format] = format_regex
[2021-04-09 21:41:47,534] [HABApp ] ERROR | 347 found = format_regex.match(data_string)
[2021-04-09 21:41:47,534] [HABApp ] ERROR | 348 if not found:
[2021-04-09 21:41:47,535] [HABApp ] ERROR | --> 349 raise ValueError("time data %r does not match format %r" %
[2021-04-09 21:41:47,535] [HABApp ] ERROR | 350 (data_string, format))
[2021-04-09 21:41:47,535] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,535] [HABApp ] ERROR | data_string = '2021-04-09T21:41:47.083447000+0200'
[2021-04-09 21:41:47,535] [HABApp ] ERROR | format = '%Y-%m-%dT%H:%M:%S.%f%z'
[2021-04-09 21:41:47,536] [HABApp ] ERROR | _regex_cache = {'%Y-%m-%dT%H:%M:%S.%f%z': re.compile('(?P<Y>\\d\\d\\d\\d)-(?P<m>1[0-2]|0[1-9]|[1-9])-(?P<d>3[0-1]|[1-2]\\d|0[1-9]|[1-9]| [1-9])T(?P<H>2[0-3]|[0-1]\\d|\\d):(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)\\.(?P<f>[0-9]{1,6})(?P<z>[+-]\\d\\d, re.IGNORECASE)}
[2021-04-09 21:41:47,536] [HABApp ] ERROR | format_regex = re.compile('(?P<Y>\\d\\d\\d\\d)-(?P<m>1[0-2]|0[1-9]|[1-9])-(?P<d>3[0-1]|[1-2]\\d|0[1-9]|[1-9]| [1-9])T(?P<H>2[0-3]|[0-1]\\d|\\d):(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)\\.(?P<f>[0-9]{1,6})(?P<z>[+-]\\d\\d, re.IGNORECASE)
[2021-04-09 21:41:47,536] [HABApp ] ERROR | found = None
[2021-04-09 21:41:47,536] [HABApp ] ERROR | ..................................................
[2021-04-09 21:41:47,537] [HABApp ] ERROR |
[2021-04-09 21:41:47,537] [HABApp ] ERROR | ---- (full traceback above) ----
[2021-04-09 21:41:47,537] [HABApp ] ERROR | File "/usr/src/app/HABApp/core/wrapper.py", line 130, in f
[2021-04-09 21:41:47,537] [HABApp ] ERROR | return func(*args, **kwargs)
[2021-04-09 21:41:47,537] [HABApp ] ERROR | File "/usr/src/app/HABApp/openhab/connection_logic/connection.py", line 41, in on_sse_event
[2021-04-09 21:41:47,538] [HABApp ] ERROR | event = get_event(event_dict)
[2021-04-09 21:41:47,538] [HABApp ] ERROR | File "/usr/src/app/HABApp/openhab/map_events.py", line 39, in get_event
[2021-04-09 21:41:47,538] [HABApp ] ERROR | return __event_lookup[event_type].from_dict(topic, payload)
[2021-04-09 21:41:47,538] [HABApp ] ERROR | File "/usr/src/app/HABApp/openhab/events/item_events.py", line 50, in from_dict
[2021-04-09 21:41:47,538] [HABApp ] ERROR | map_openhab_values(payload['type'], payload['value']),
[2021-04-09 21:41:47,539] [HABApp ] ERROR | File "/usr/src/app/HABApp/openhab/map_values.py", line 25, in map_openhab_values
[2021-04-09 21:41:47,539] [HABApp ] ERROR | dt = datetime.datetime.strptime(openhab_value.replace('+', '000+'), '%Y-%m-%dT%H:%M:%S.%f%z')
[2021-04-09 21:41:47,539] [HABApp ] ERROR | File "/usr/local/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
[2021-04-09 21:41:47,539] [HABApp ] ERROR | tt, fraction, gmtoff_fraction = _strptime(data_string, format)
[2021-04-09 21:41:47,540] [HABApp ] ERROR | File "/usr/local/lib/python3.8/_strptime.py", line 349, in _strptime
[2021-04-09 21:41:47,540] [HABApp ] ERROR | raise ValueError("time data %r does not match format %r" %
[2021-04-09 21:41:47,540] [HABApp ] ERROR |
[2021-04-09 21:41:47,540] [HABApp ] ERROR | ValueError: time data '2021-04-09T21:41:47.083447000+0200' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'