iCalendar - How to force the binding to issue sendCommand() instead of postUpdate()

I just started with the iCalendar binding. It’s correctly getting events from my Google Calendar but it its behaviour is not what I expected. It issues postUpdate rather than sendCommand, which does not trigger the item.

Is this deliberate or am I missing something?

Welcome to openHAB!

I have this in my calendar event:

BEGIN:ZOE_ac_start_calendar:ON

which produces this event.log:

2026-03-19 07:05:00.208 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'ZOE_ac_start_calendar' received command ON

so it is sending a command.

Please tell us more about your system, settings, etc. and what you are seeing in the logs.

It’s strange. Here are a couple of entries from the event log showing that the item received commands, but the lights in question never went on.

Line 71128: 2026-03-19 13:35:00.690 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'Office_Lights' received command 50
Line 72641: 2026-03-19 14:35:00.896 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'Office_Lights' received command 0

However, in the openhab log, it clearly states that the iCalendar binding issued only postUpdate().

Line 38231: 2026-03-19 13:35:00.690 [DEBUG] [ar.internal.handler.ICalendarHandler] - Event: openHAB Events, Command Tag: BEGIN:Office_Lights:50:ok => Office_Lights.postUpdate(DecimalType: 50)
Line 39122: 2026-03-19 14:35:00.896 [DEBUG] [ar.internal.handler.ICalendarHandler] - Event: openHAB Events, Command Tag: END:Office_Lights:0:ok => Office_Lights.postUpdate(DecimalType: 0)

I tested this in DEBUG mode and have the same outcome:

2026-03-20 07:35:00.244 [DEBUG] [g.icalendar.internal.handler.ICalendarHandler] - Event: ZOE, Command Tag: BEGIN:ZOE_ac_start_calendar:ON => ZOE_ac_start_calendar.postUpdate(OnOffType: ON)

but the switch worked well.

Are you using your item in a rule? Then you should trigger it through received command (in DSL, ItemCommandTrigger in javascript).

Apart from that I can’t explain this …

I tried it with a dimmer and a switch. Same behaviour.

I am not using the items in a rules because, according to the binding’s documentation, rules are not necessary if command tags are used. This from the documentation:

This binding is intended to use a web-based iCal calendar as an event trigger or presence switch. It implements several channels that indicate the current calendar event and upcoming calendar events. Furthermore it is possible to embed command tags in the calendar event description in order to issue commands directly to other items in the system, without the need to create special rules.

I don’t know of any setting which could impact this.
I am using this since more than 6 years with a switch, no problems at all :person_shrugging:

I presume you’re using a rule with a trigger like item ZOE_ac_start_calendarsendCommad received update to turn on your light with a ZOE_ac_start_calendar(ON), and not depending on the binding to do it for you.

No, no rules.

Very strange indeed. Perhaps it’s related to the type of lights you have and their binding. Mine are controlled by the Lutron binding.

I don’t think that has anything to do with it.
I just tested it with a switch connected to zigbee2mqtt via mqtt binding and it worked fine.
Sorry, I have no idea how your problem could be solved.

Did you configure a ‘Command Authorization Code’ in the Thing settings?

I did. The outcome is the same with and without the authorization code. The binding still issues postUpdate() instead of sendCommand().

There was a similar issue with the Lutron binding, where it was issuing sendCommand() in some cases but postUpdate() was the fix. Apparently the later versions of openHAB certain behaviours have changed. I’m running version 5.2.