New Zoneminder Binding for Zoneminder versions >= 1.34.0

I posted a version that includes channels (described in previous post and in the README) for the most recent event. If a monitor has no events, the event channels will be NULL.

1 Like

Repost on this new thread…
I’d like this one too:

String eventNotes

As mentioned, zmeventnotification writes details in here.

Sure. I can add eventNotes.

I added the eventNotes channel. As you may be aware, you need to delete and re-add the monitor thing(s) to pick up the new channels.

1 Like

Thanks @mhilbush for your work on this. I was about to downgrade Zoneminder before discovering it.

I initially had the same problem as @Maximo when I downloaded the jar file using wget, with it being 65KB instead of 45KB. I fixed that by downloading it from a browser.

It looks like it’s connecting to Zoneminder ok but I’m not receiving any updates to my monitor.

openhab.log

2020-04-12 23:51:25.968 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'zoneminder.things'
2020-04-12 23:51:27.008 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'zoneminder.things'
2020-04-12 23:51:39.368 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'zm:monitor:1' to inbox.
2020-04-12 23:55:40.603 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'zoneminder.items'
2020-04-12 23:55:41.634 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'zoneminder.items'

events.log

2020-04-12 23:50:23.396 [hingStatusInfoChangedEvent] - 'zm:server:server' changed from UNINITIALIZED to INITIALIZING
2020-04-12 23:50:23.441 [hingStatusInfoChangedEvent] - 'zm:server:server' changed from INITIALIZING to ONLINE
2020-04-12 23:50:23.452 [hingStatusInfoChangedEvent] - 'zm:monitor:server:1' changed from UNINITIALIZED to INITIALIZING
2020-04-12 23:50:23.456 [hingStatusInfoChangedEvent] - 'zm:monitor:server:1' changed from INITIALIZING to ONLINE
2020-04-12 23:51:25.935 [me.event.InboxRemovedEvent] - Discovery Result with UID 'zm:monitor:1' has been removed.
2020-04-12 23:51:25.936 [hingStatusInfoChangedEvent] - 'zm:monitor:server:1' changed from ONLINE to UNINITIALIZED
2020-04-12 23:51:25.944 [hingStatusInfoChangedEvent] - 'zm:monitor:server:1' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
2020-04-12 23:51:25.944 [hingStatusInfoChangedEvent] - 'zm:server:server' changed from ONLINE to UNINITIALIZED
2020-04-12 23:51:25.947 [hingStatusInfoChangedEvent] - 'zm:server:server' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
2020-04-12 23:51:25.977 [hingStatusInfoChangedEvent] - 'zm:server:server' changed from UNINITIALIZED to INITIALIZING
2020-04-12 23:51:25.990 [hingStatusInfoChangedEvent] - 'zm:server:server' changed from INITIALIZING to ONLINE
2020-04-12 23:51:25.994 [hingStatusInfoChangedEvent] - 'zm:monitor:server:1' changed from UNINITIALIZED to INITIALIZING
2020-04-12 23:51:25.997 [hingStatusInfoChangedEvent] - 'zm:monitor:server:1' changed from INITIALIZING to ONLINE
2020-04-12 23:51:39.369 [home.event.InboxAddedEvent] - Discovery Result with UID 'zm:monitor:1' has been added.
2020-04-12 23:55:40.572 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_EventEnd => zm:monitor:1:eventEnd' has been removed.
2020-04-12 23:55:40.573 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_MonthEvents => zm:monitor:1:monthEvents' has been removed.
2020-04-12 23:55:40.574 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Length => zm:monitor:1:eventLength' has been removed.
2020-04-12 23:55:40.574 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_EventId => zm:monitor:1:eventId' has been removed.
2020-04-12 23:55:40.575 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_DayEvents => zm:monitor:1:dayEvents' has been removed.
2020-04-12 23:55:40.576 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Function => zm:monitor:1:function' has been removed.
2020-04-12 23:55:40.576 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Alarm => zm:monitor:1:alarm' has been removed.
2020-04-12 23:55:40.576 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Event_Name => zm:monitor:1:eventName' has been removed.
2020-04-12 23:55:40.577 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_TriggerAlarm => zm:monitor:1:triggerAlarm' has been removed.
2020-04-12 23:55:40.577 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_EventStart => zm:monitor:1:eventStart' has been removed.
2020-04-12 23:55:40.577 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_WeekEvents => zm:monitor:1:weekEvents' has been removed.
2020-04-12 23:55:40.578 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_State => zm:monitor:1:state' has been removed.
2020-04-12 23:55:40.578 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Enable => zm:monitor:1:enable' has been removed.
2020-04-12 23:55:40.578 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_EventCause => zm:monitor:1:eventCause' has been removed.
2020-04-12 23:55:40.579 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Image => zm:monitor:1:image' has been removed.
2020-04-12 23:55:40.579 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Name => zm:monitor:1:name' has been removed.
2020-04-12 23:55:40.580 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Id => zm:monitor:1:id' has been removed.
2020-04-12 23:55:40.580 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_VideoUrl => zm:monitor:1:videoUrl' has been removed.
2020-04-12 23:55:40.581 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_TotalEvents => zm:monitor:1:totalEvents' has been removed.
2020-04-12 23:55:40.581 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_Frames => zm:monitor:1:eventFrames' has been removed.
2020-04-12 23:55:40.581 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_ImageUrl => zm:monitor:1:imageUrl' has been removed.
2020-04-12 23:55:40.581 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_HourEvents => zm:monitor:1:hourEvents' has been removed.
2020-04-12 23:55:40.582 [temChannelLinkRemovedEvent] - Link 'ZM_Monitor1_AlarmFrames => zm:monitor:1:eventAlarmFrames' has been removed.
2020-04-12 23:55:40.614 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Id-zm:monitor:1:id' has been added.
2020-04-12 23:55:40.614 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Name-zm:monitor:1:name' has been added.
2020-04-12 23:55:40.615 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Image-zm:monitor:1:image' has been added.
2020-04-12 23:55:40.615 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Enable-zm:monitor:1:enable' has been added.
2020-04-12 23:55:40.616 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Function-zm:monitor:1:function' has been added.
2020-04-12 23:55:40.616 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Alarm-zm:monitor:1:alarm' has been added.
2020-04-12 23:55:40.616 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_State-zm:monitor:1:state' has been added.
2020-04-12 23:55:40.617 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_TriggerAlarm-zm:monitor:1:triggerAlarm' has been added.
2020-04-12 23:55:40.617 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_HourEvents-zm:monitor:1:hourEvents' has been added.
2020-04-12 23:55:40.617 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_DayEvents-zm:monitor:1:dayEvents' has been added.
2020-04-12 23:55:40.617 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_WeekEvents-zm:monitor:1:weekEvents' has been added.
2020-04-12 23:55:40.617 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_MonthEvents-zm:monitor:1:monthEvents' has been added.
2020-04-12 23:55:40.617 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_TotalEvents-zm:monitor:1:totalEvents' has been added.
2020-04-12 23:55:40.618 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_ImageUrl-zm:monitor:1:imageUrl' has been added.
2020-04-12 23:55:40.618 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_VideoUrl-zm:monitor:1:videoUrl' has been added.
2020-04-12 23:55:40.618 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_EventId-zm:monitor:1:eventId' has been added.
2020-04-12 23:55:40.618 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Event_Name-zm:monitor:1:eventName' has been added.
2020-04-12 23:55:40.618 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_EventCause-zm:monitor:1:eventCause' has been added.
2020-04-12 23:55:40.618 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_EventStart-zm:monitor:1:eventStart' has been added.
2020-04-12 23:55:40.618 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_EventEnd-zm:monitor:1:eventEnd' has been added.
2020-04-12 23:55:40.619 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Frames-zm:monitor:1:eventFrames' has been added.
2020-04-12 23:55:40.619 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_AlarmFrames-zm:monitor:1:eventAlarmFrames' has been added.
2020-04-12 23:55:40.619 [.ItemChannelLinkAddedEvent] - Link 'ZM_Monitor1_Length-zm:monitor:1:eventLength' has been added.

None of my items are updating though.

cat /etc/openhab2/things/zoneminder.things
Bridge zm:server:server [ host="192.168.7.136", refreshInterval=5, defaultAlarmDuration=120, discoveryEnabled=true, useDefaultUrlPath=true] {
    Thing monitor 1 "Monitor 1" [ monitorId="1", imageRefreshInterval=10, alarmDuration=180 ]
}
cat /etc/openhab2/items/zoneminder.items
String      ZM_Monitor1_Id           "Monitor Id [%s]"              { channel="zm:monitor:1:id" }
String      ZM_Monitor1_Name         "Monitor Name [%s]"            { channel="zm:monitor:1:name" }
Image       ZM_Monitor1_Image        "Image [%s]"                   { channel="zm:monitor:1:image" }
Switch      ZM_Monitor1_Enable       "Enable [%s]"                  { channel="zm:monitor:1:enable" }
String      ZM_Monitor1_Function     "Function [%s]"                { channel="zm:monitor:1:function" }
Switch      ZM_Monitor1_Alarm        "Alarm Status [%s]"            { channel="zm:monitor:1:alarm" }
String      ZM_Monitor1_State        "Alarm State [%s]"             { channel="zm:monitor:1:state" }
Switch      ZM_Monitor1_TriggerAlarm "Trigger Alarm [%s]"           { channel="zm:monitor:1:triggerAlarm" }
Number      ZM_Monitor1_HourEvents   "Hour Events [%.0f]"           { channel="zm:monitor:1:hourEvents" }
Number      ZM_Monitor1_DayEvents    "Day Events [%.0f]"            { channel="zm:monitor:1:dayEvents" }
Number      ZM_Monitor1_WeekEvents   "Week Events [%.0f]"           { channel="zm:monitor:1:weekEvents" }
Number      ZM_Monitor1_MonthEvents  "Month Events [%.0f]"          { channel="zm:monitor:1:monthEvents" }
Number      ZM_Monitor1_TotalEvents  "Total Events [%.0f]"          { channel="zm:monitor:1:totalEvents" }
String      ZM_Monitor1_ImageUrl     "Image URL [%s]"               { channel="zm:monitor:1:imageUrl" }
String      ZM_Monitor1_VideoUrl     "Video URL [%s]"               { channel="zm:monitor:1:videoUrl" }
String      ZM_Monitor1_EventId      "Event Id [%s]"                { channel="zm:monitor:1:eventId" }
String      ZM_Monitor1_Event_Name   "Event Name [%s]"              { channel="zm:monitor:1:eventName" }
String      ZM_Monitor1_EventCause   "Event Cause [%s]"             { channel="zm:monitor:1:eventCause" }
DateTime    ZM_Monitor1_EventStart   "Event Start [%s]"             { channel="zm:monitor:1:eventStart" }
DateTime    ZM_Monitor1_EventEnd     "Event End [%s]"               { channel="zm:monitor:1:eventEnd" }
Number      ZM_Monitor1_Frames       "Event Frames [%.0f]"          { channel="zm:monitor:1:eventFrames" }
Number      ZM_Monitor1_AlarmFrames  "Event Alarm Frames [%.0f]"    { channel="zm:monitor:1:eventAlarmFrames" }
Number:Time ZM_Monitor1_Length       "Event Length [%.2f]"          { channel="zm:monitor:1:eventLength" }

Why would this be?

Not sure. Everything looks correct at first glance.

Can you put the binding in DEBUG mode? Maybe that will help show what’s going on. If not, we can try TRACE mode.

BTW, you need to use wget like this (note the raw in the URL).

wget https://github.com/mhilbush/openhab-binding-releases/raw/master/zm/org.openhab.binding.zm-2.5.4-SNAPSHOT.jar

Thanks for the quick reply @mhilbush

I put it in debug mode and refreshed my things file.

2020-04-13 00:15:36.699 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Zoneminder software version is 1.34.9
2020-04-13 00:15:36.700 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Zoneminder software version check OK
2020-04-13 00:15:36.700 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Zoneminder API version is 2.0
2020-04-13 00:15:36.700 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Zoneminder API version check OK
2020-04-13 00:15:36.700 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Scheduling monitors refresh job
2020-04-13 00:15:36.706 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Handler initializing
2020-04-13 00:15:36.706 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Set monitor status to match bridge status: ONLINE
2020-04-13 00:15:36.708 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Scheduled image refresh job will run every 10 seconds starting in 8 seconds
2020-04-13 00:15:36.708 [DEBUG] [.zm.internal.handler.ZmBridgeHandler] - Bridge: Monitor handler was initialized for zm:monitor:server:1 with id 1
2020-04-13 00:15:37.720 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model ‘zoneminder.things’
2020-04-13 00:15:42.873 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(4,9,9,9,9)
2020-04-13 00:15:49.007 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(4,9,9,9,9)
2020-04-13 00:15:50.010 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing ‘zm:monitor:1’ to inbox.
2020-04-13 00:15:55.185 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(4,9,9,9,9)
2020-04-13 00:16:01.365 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(4,9,9,9,9)
2020-04-13 00:16:07.543 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=true, state=ALARM, events=(5,10,10,10,10)
2020-04-13 00:16:13.728 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=true, state=ALARM, events=(5,10,10,10,10)
2020-04-13 00:16:19.904 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(5,10,10,10,10)
2020-04-13 00:16:26.080 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(5,10,10,10,10)

Nothing in the events log though.

2020-04-13 00:15:36.660 [me.event.InboxRemovedEvent] - Discovery Result with UID ‘zm:monitor:1’ has been removed.
2020-04-13 00:15:36.661 [hingStatusInfoChangedEvent] - ‘zm:monitor:server:1’ changed from ONLINE to UNINITIALIZED
2020-04-13 00:15:36.668 [hingStatusInfoChangedEvent] - ‘zm:monitor:server:1’ changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
2020-04-13 00:15:36.669 [hingStatusInfoChangedEvent] - ‘zm:server:server’ changed from ONLINE to UNINITIALIZED
2020-04-13 00:15:36.676 [hingStatusInfoChangedEvent] - ‘zm:server:server’ changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
2020-04-13 00:15:36.689 [hingStatusInfoChangedEvent] - ‘zm:server:server’ changed from UNINITIALIZED to INITIALIZING
2020-04-13 00:15:36.701 [hingStatusInfoChangedEvent] - ‘zm:server:server’ changed from INITIALIZING to ONLINE
2020-04-13 00:15:36.703 [hingStatusInfoChangedEvent] - ‘zm:monitor:server:1’ changed from UNINITIALIZED to INITIALIZING
2020-04-13 00:15:36.707 [hingStatusInfoChangedEvent] - ‘zm:monitor:server:1’ changed from INITIALIZING to ONLINE
2020-04-13 00:15:50.010 [home.event.InboxAddedEvent] - Discovery Result with UID ‘zm:monitor:1’ has been added.

2020-04-13 00:15:42.873 [DEBUG] [zm.internal.handler.ZmMonitorHandler] - Monitor 1: Updating: id=1, name=Monitor-1, function=Modect, enabled=true, status=Connected, alarm=false, state=IDLE, events=(4,9,9,9,9)

The monitor handler received something from the bridge handler. This looks fine. After that log statement, it immediately updates the state of the monitor channels.

If you look at the monitor thing in Paper UI, do the channels match how you have your items defined?

I had a look in the paper ui and saw a thing in my inbox. It works if I add this.

Am I missing something in my things file?

cat zoneminder.things
Bridge zm:server:server [ host=“192.168.7.136”, refreshInterval=5, defaultAlarmDuration=120, discoveryEnabled=true, useDefaultUrlPath=true] {
Thing monitor 1 “Monitor-1” [ monitorId=“1”, imageRefreshInterval=10, alarmDuration=180 ]
}

The monitor thing has three parameters, all of which are defined correctly in your things file.

The only thing I can imagine is that there’s a mismatch between thing channels and the item definitions.

Also, can you check the state of the items from the console?

smarthome:items list | grep "ZM_Monitor1"

Yes, I think channels in your item definitions don’t match the channels on the monitor thing.

Hey,
Sorry, I don’t see the mistake.

In the Paper UI it says it’s “zm:monitor:1”, which is what I have defined in my items.

String ZM_Monitor1_Id “Monitor Id [%s]” { channel=“zm:monitor:1:id” }

String ZM_Monitor1_Name “Monitor Name [%s]” { channel=“zm:monitor:1:name” }

Image ZM_Monitor1_Image “Image [%s]” { channel=“zm:monitor:1:image” }

Switch ZM_Monitor1_Enable “Enable [%s]” { channel=“zm:monitor:1:enable” }

String ZM_Monitor1_Function “Function [%s]” { channel=“zm:monitor:1:function” }

Switch ZM_Monitor1_Alarm “Alarm Status [%s]” { channel=“zm:monitor:1:alarm” }

String ZM_Monitor1_State “Alarm State [%s]” { channel=“zm:monitor:1:state” }

Switch ZM_Monitor1_TriggerAlarm “Trigger Alarm [%s]” { channel=“zm:monitor:1:triggerAlarm” }

Number ZM_Monitor1_HourEvents “Hour Events [%.0f]” { channel=“zm:monitor:1:hourEvents” }

Number ZM_Monitor1_DayEvents “Day Events [%.0f]” { channel=“zm:monitor:1:dayEvents” }

Number ZM_Monitor1_WeekEvents “Week Events [%.0f]” { channel=“zm:monitor:1:weekEvents” }

Number ZM_Monitor1_MonthEvents “Month Events [%.0f]” { channel=“zm:monitor:1:monthEvents” }

Number ZM_Monitor1_TotalEvents “Total Events [%.0f]” { channel=“zm:monitor:1:totalEvents” }

String ZM_Monitor1_ImageUrl “Image URL [%s]” { channel=“zm:monitor:1:imageUrl” }

String ZM_Monitor1_VideoUrl “Video URL [%s]” { channel=“zm:monitor:1:videoUrl” }

String ZM_Monitor1_EventId “Event Id [%s]” { channel=“zm:monitor:1:eventId” }

String ZM_Monitor1_Event_Name “Event Name [%s]” { channel=“zm:monitor:1:eventName” }

String ZM_Monitor1_EventCause “Event Cause [%s]” { channel=“zm:monitor:1:eventCause” }

DateTime ZM_Monitor1_EventStart “Event Start [%s]” { channel=“zm:monitor:1:eventStart” }

DateTime ZM_Monitor1_EventEnd “Event End [%s]” { channel=“zm:monitor:1:eventEnd” }

Number ZM_Monitor1_Frames “Event Frames [%.0f]” { channel=“zm:monitor:1:eventFrames” }

Number ZM_Monitor1_AlarmFrames “Event Alarm Frames [%.0f]” { channel=“zm:monitor:1:eventAlarmFrames” }

Number:Time ZM_Monitor1_Length “Event Length [%.2f]” { channel=“zm:monitor:1:eventLength” }

When I use this things file (after changing the IP address, and fixing the double quote symbols), I get this in Paper UI.

Edit: This is the things file I used.

Bridge zm:server:server [ host="192.168.10.36", refreshInterval=5, defaultAlarmDuration=120, discoveryEnabled=true, useDefaultUrlPath=true] {
    Thing monitor 1 "Monitor-1" [ monitorId="1", imageRefreshInterval=10, alarmDuration=180 ]
}

Edit: BTW, I really don’t understand why openHAB creates a thing UID like the above when using a things file. It seems like an odd way to do it.

With the exception of the IP address, that’s exactly what I have.

This is what I have>

Bridge zm:server:server [ host=“192.168.7.136”, refreshInterval=5, defaultAlarmDuration=120, discoveryEnabled=true, useDefaultUrlPath=true] {

Thing monitor 1 "Monitor-1" [ monitorId="1", imageRefreshInterval=10, alarmDuration=180 ]

}

Did you use the same items as me?

For some reason the quotes for the ip address aren’t copying into the code block properly. They’re the same as yours in my things file.

I didn’t define any items. But if I did, I would define them using zm:monitor:server:1:channelid in the channel definitions because that’s what the thing shows above in Paper UI.

BTW, in the image you posted above in this post, you are adding a thing manually from the inbox, which will result in a thing with the UID of zm:monitor:1. I would expect this to work, since the thing UID of zm:monitor:1 matches your item definitions.

Yeah, I realize that. It’s a copy/paste thing that happens on some systems.

Can you guys show me some examples of what you’re using the new Zoneminder binding for in OH? I’m keen to spin up a new Zoneminder VM and hook up the binding but I can’t think of what I’d do with the integration once I had it working.

I have four Hikvision cams around the outside of the house and one Doorbird at the front door. I’ve previously had them all configured in ZM which worked fine except the Doorbird had an issue where after a period of time (around a few hours) of being hooked up to ZM I could no longer see video in the Doorbird app on my Android phone. A reboot of the Doorbird fixed it for a while but then it would happen again. The Hikvision cams can all do intrusion detection based on certain areas of the image and trigger recordings so ZM isn’t totally necessary (but it would be fun!)