OH 1.x add-on assessment

I’ve just read through this whole painfully long thread, and nowhere does it list exactly which 1.x bindings rely on the 1.x compatibility layer and don’t have a 2.x version, and so are in danger of going away. Let’s call these “endangered” bindings for lack of a better term.

I’d humbly suggest the following:

  1. Someone who knows how to identify them should create a list of all the endangered bindings. This list should be added as a pinned issue (or maybe a project?) on github. It should not include any bindings that have 2.x versions available, even if those versions do not yet have equivalent functionality or have known bugs which make them less useful than the 1.x versions (see #3 for these).
  2. Someone with the necessary permission should then create a poll/survey here in this forum listing the endangered 1.x bindings and asking users which they currently use. Call it an endangered binding popularity contest. :slight_smile: The results can then be included in the github issue in order to help prioritize migration work.
  3. For 1.x bindings which already have 2.x versions, but where the 2.x version lacks equivalent functionality or has a bug which makes it arguably unsuitable for replacing the 1.x version, issues should be opened against the 2.x version under openhab2-addons on github. Maybe a special “1.x equivalency” tag can be created for these issues in order to highlight them.

Does that sound reasonable? I think it would make it a lot easier for binding developers with some spare cycles to figure out where to best focus their efforts for maximum effect.

5 Likes

@BobA I think it’s a great a great suggestion!

I would love to see the list. I know of one or two bindings I use that are endangered. But I certainly don’t know them all.

I have used this pom.xml file to determine the OH1.x bindings and this pom.xml file to determine the current OH2.x bindings.

1.x 2.x Replaced by
org.openhab.binding.airquality
org.openhab.binding.airvisualnode
org.openhab.binding.akm868
org.openhab.binding.alarmdecoder
org.openhab.binding.allplay
org.openhab.binding.amazondashbutton
org.openhab.binding.amazonechocontrol
org.openhab.binding.ambientweather
org.openhab.binding.anel
org.openhab.binding.asterisk
org.openhab.binding.astro org.openhab.binding.astro
org.openhab.binding.atlona
org.openhab.binding.autelis org.openhab.binding.autelis
org.openhab.binding.avmfritz
org.openhab.binding.benqprojector
org.openhab.binding.bigassfan
org.openhab.binding.bluetooth org.openhab.binding.bluetooth
org.openhab.binding.bluetooth.bluegiga
org.openhab.binding.bluetooth.bluez
org.openhab.binding.bluetooth.blukii
org.openhab.binding.bluetooth.ruuvitag
org.openhab.binding.boschindego
org.openhab.binding.bosesoundtouch
org.openhab.binding.bticino
org.openhab.binding.buienradar
org.openhab.binding.caldav-command
org.openhab.binding.caldav-personal
org.openhab.binding.cardio2e
org.openhab.binding.chromecast
org.openhab.binding.cm11a
org.openhab.binding.comfoair
org.openhab.binding.configadmin
org.openhab.binding.coolmasternet
org.openhab.binding.cups
org.openhab.binding.daikin org.openhab.binding.daikin
org.openhab.binding.darksky
org.openhab.binding.davis
org.openhab.binding.ddwrt
org.openhab.binding.deconz
org.openhab.binding.denon org.openhab.binding.denonmarantz
org.openhab.binding.digiplex
org.openhab.binding.digitalstrom org.openhab.binding.digitalstrom
org.openhab.binding.diyonxbee
org.openhab.binding.dlinksmarthome
org.openhab.binding.dmx org.openhab.binding.dmx
org.openhab.binding.dmx.artnet
org.openhab.binding.dmx.lib485
org.openhab.binding.dmx.ola
org.openhab.binding.dscalarm org.openhab.binding.dscalarm
org.openhab.binding.dsmr org.openhab.binding.dsmr
org.openhab.binding.dwdunwetter
org.openhab.binding.ebus
org.openhab.binding.ecobee
org.openhab.binding.ecotouch
org.openhab.binding.ehealth
org.openhab.binding.ekey
org.openhab.binding.elerotransmitterstick
org.openhab.binding.em
org.openhab.binding.energenie
org.openhab.binding.enigma2
org.openhab.binding.enocean org.openhab.binding.enocean
org.openhab.binding.enphaseenergy
org.openhab.binding.epsonprojector
org.openhab.binding.evohome
org.openhab.binding.exec org.openhab.binding.exec
org.openhab.binding.expire
org.openhab.binding.fatekplc
org.openhab.binding.feed
org.openhab.binding.feican
org.openhab.binding.fht
org.openhab.binding.folding
org.openhab.binding.freebox org.openhab.binding.freebox
org.openhab.binding.freeswitch
org.openhab.binding.fritzaha org.openhab.binding.avmfritz
org.openhab.binding.fritzbox org.openhab.binding.avmfritz
org.openhab.binding.fritzboxtr064 org.openhab.binding.avmfritz
org.openhab.binding.fronius
org.openhab.binding.frontiersiliconradio
org.openhab.binding.fs20
org.openhab.binding.fsinternetradio
org.openhab.binding.ftpupload
org.openhab.binding.garadget
org.openhab.binding.gardena
org.openhab.binding.gc100ir
org.openhab.binding.globalcache
org.openhab.binding.gpio
org.openhab.binding.gpstracker
org.openhab.binding.groheondus
org.openhab.binding.harmonyhub org.openhab.binding.harmonyhub
org.openhab.binding.hdanywhere org.openhab.binding.hdanywhere
org.openhab.binding.hdpowerview
org.openhab.binding.heatmiser
org.openhab.binding.helios
org.openhab.binding.hms
org.openhab.binding.homematic org.openhab.binding.homematic
org.openhab.binding.horizon
org.openhab.binding.http
org.openhab.binding.hue org.openhab.binding.hue
org.openhab.binding.hyperion
org.openhab.binding.icloud
org.openhab.binding.iec6205621meter
org.openhab.binding.ihc org.openhab.binding.ihc
org.openhab.binding.innogysmarthome
org.openhab.binding.insteonhub
org.openhab.binding.insteonplm
org.openhab.binding.intertechno
org.openhab.binding.ipp
org.openhab.binding.ipx800
org.openhab.binding.irtrans org.openhab.binding.irtrans
org.openhab.binding.isy
org.openhab.binding.jeelink
org.openhab.binding.jointspace
org.openhab.binding.k8055
org.openhab.binding.keba
org.openhab.binding.km200 org.openhab.binding.km200
org.openhab.binding.knx org.openhab.binding.knx
org.openhab.binding.kodi
org.openhab.binding.konnected
org.openhab.binding.kostalinverter
org.openhab.binding.koubachi
org.openhab.binding.lametrictime
org.openhab.binding.lcn
org.openhab.binding.leapmotion
org.openhab.binding.lgtv org.openhab.binding.lgtvserial
org.openhab.binding.lgwebos
org.openhab.binding.lifx
org.openhab.binding.lightwaverf
org.openhab.binding.lirc
org.openhab.binding.logreader
org.openhab.binding.loxone
org.openhab.binding.lutron
org.openhab.binding.mail
org.openhab.binding.mailcontrol
org.openhab.binding.maxcube org.openhab.binding.max
org.openhab.binding.maxcul
org.openhab.binding.mcp23017 org.openhab.binding.mcp23017
org.openhab.binding.mcp3424
org.openhab.binding.meteoblue
org.openhab.binding.meteostick
org.openhab.binding.miele
org.openhab.binding.mihome
org.openhab.binding.miio
org.openhab.binding.milight org.openhab.binding.milight
org.openhab.binding.minecraft
org.openhab.binding.mios
org.openhab.binding.mochadx10
org.openhab.binding.modbus org.openhab.binding.modbus
org.openhab.binding.mpd
org.openhab.binding.mqtt org.openhab.binding.mqtt
org.openhab.binding.mqtt.generic
org.openhab.binding.mqtt.homeassistant
org.openhab.binding.mqtt.homie
org.openhab.binding.mqttitude org.openhab.binding.gpstracker
org.openhab.binding.myq
org.openhab.binding.mystromecopower
org.openhab.binding.nanoleaf
org.openhab.binding.neato
org.openhab.binding.neeo
org.openhab.binding.neohub
org.openhab.binding.nest org.openhab.binding.nest
org.openhab.binding.netatmo org.openhab.binding.netatmo
org.openhab.binding.networkhealth org.openhab.binding.network
org.openhab.binding.networkupstools
org.openhab.binding.nibeheatpump org.openhab.binding.nibeheatpump
org.openhab.binding.nibeuplink
org.openhab.binding.nikobus
org.openhab.binding.nikohomecontrol
org.openhab.binding.novelanheatpump
org.openhab.binding.ntp org.openhab.binding.ntp
org.openhab.binding.nuki
org.openhab.binding.oceanic org.openhab.binding.oceanic
org.openhab.binding.octoller
org.openhab.binding.omnilink
org.openhab.binding.onebusaway
org.openhab.binding.onewire org.openhab.binding.onewire
org.openhab.binding.onewiregpio
org.openhab.binding.onkyo org.openhab.binding.onkyo
org.openhab.binding.openenergymonitor
org.openhab.binding.openpaths
org.openhab.binding.opensprinkler org.openhab.binding.opensprinkler
org.openhab.binding.openuv
org.openhab.binding.openweathermap
org.openhab.binding.orvibo
org.openhab.binding.owserver
org.openhab.binding.panasonictv
org.openhab.binding.panstamp
org.openhab.binding.paradoxalarm
org.openhab.binding.pentair
org.openhab.binding.phc
org.openhab.binding.piface
org.openhab.binding.pilight
org.openhab.binding.pioneeravr org.openhab.binding.pioneeravr
org.openhab.binding.plcbus
org.openhab.binding.plclogo org.openhab.binding.plclogo
org.openhab.binding.plex
org.openhab.binding.plugwise org.openhab.binding.plugwise
org.openhab.binding.powerdoglocalapi
org.openhab.binding.powermax org.openhab.binding.powermax
org.openhab.binding.primare
org.openhab.binding.pulseaudio org.openhab.binding.pulseaudio
org.openhab.binding.pushbullet
org.openhab.binding.regoheatpump
org.openhab.binding.rfxcom org.openhab.binding.rfxcom
org.openhab.binding.rme org.openhab.binding.rme
org.openhab.binding.robonect
org.openhab.binding.rotelra1x
org.openhab.binding.rpircswitch
org.openhab.binding.russound
org.openhab.binding.rwesmarthome
org.openhab.binding.s300th
org.openhab.binding.sallegra
org.openhab.binding.samsungac
org.openhab.binding.samsungtv org.openhab.binding.samsungtv
org.openhab.binding.sapp
org.openhab.binding.satel org.openhab.binding.satel
org.openhab.binding.seneye
org.openhab.binding.sensebox
org.openhab.binding.serial
org.openhab.binding.serialbutton
org.openhab.binding.silvercrestwifisocket
org.openhab.binding.sleepiq
org.openhab.binding.smaenergymeter
org.openhab.binding.smarthomatic
org.openhab.binding.smartmeter
org.openhab.binding.snmp org.openhab.binding.snmp
org.openhab.binding.solaredge
org.openhab.binding.solarlog
org.openhab.binding.somfytahoma
org.openhab.binding.sonance
org.openhab.binding.sonos org.openhab.binding.sonos
org.openhab.binding.sonyaudio
org.openhab.binding.sonyprojector
org.openhab.binding.souliss org.openhab.binding.spotify
org.openhab.binding.squeezebox org.openhab.binding.squeezebox
org.openhab.binding.stiebelheatpump
org.openhab.binding.swegonventilation
org.openhab.binding.synopanalyzer
org.openhab.binding.systeminfo org.openhab.binding.systeminfo
org.openhab.binding.tacmi
org.openhab.binding.tado
org.openhab.binding.tankerkoenig
org.openhab.binding.tcp
org.openhab.binding.tellstick org.openhab.binding.tellstick
org.openhab.binding.tesla
org.openhab.binding.tinkerforge
org.openhab.binding.tivo
org.openhab.binding.toon
org.openhab.binding.tplinksmarthome
org.openhab.binding.tradfri
org.openhab.binding.ucprelayboard
org.openhab.binding.unifi
org.openhab.binding.upb
org.openhab.binding.urtsi org.openhab.binding.urtsi
org.openhab.binding.valloxmv
org.openhab.binding.vdr
org.openhab.binding.vektiva
org.openhab.binding.velbus
org.openhab.binding.velux
org.openhab.binding.vitotronic
org.openhab.binding.volvooncall
org.openhab.binding.wago
org.openhab.binding.weather several bindings
org.openhab.binding.weatherunderground
org.openhab.binding.wemo org.openhab.binding.wemo
org.openhab.binding.wifiled
org.openhab.binding.windcentrale
org.openhab.binding.withings
org.openhab.binding.wol
org.openhab.binding.wr3223
org.openhab.binding.xbmc org.openhab.binding.kodi
org.openhab.binding.xmltv
org.openhab.binding.xmppclient
org.openhab.binding.xpl
org.openhab.binding.yamahareceiver org.openhab.binding.yamahareceiver
org.openhab.binding.yeelight
org.openhab.binding.zibase
org.openhab.binding.zigbee
org.openhab.binding.zoneminder
org.openhab.binding.zwave org.openhab.binding.zwave
org.openhab.binding.zway
6 Likes

The following are available in both OH1.x and OH2.x versions (53 bindings).

Both 1.x and 2.x
org.openhab.binding.astro
org.openhab.binding.autelis
org.openhab.binding.bluetooth
org.openhab.binding.daikin
org.openhab.binding.denon
org.openhab.binding.digitalstrom
org.openhab.binding.dmx
org.openhab.binding.dscalarm
org.openhab.binding.dsmr
org.openhab.binding.enocean
org.openhab.binding.exec
org.openhab.binding.freebox
org.openhab.binding.harmonyhub
org.openhab.binding.hdanywhere
org.openhab.binding.homematic
org.openhab.binding.hue
org.openhab.binding.ihc
org.openhab.binding.irtrans
org.openhab.binding.km200
org.openhab.binding.knx
org.openhab.binding.lgtv
org.openhab.binding.mcp23017
org.openhab.binding.milight
org.openhab.binding.modbus
org.openhab.binding.mqtt
org.openhab.binding.nest
org.openhab.binding.netatmo
org.openhab.binding.networkhealth
org.openhab.binding.nibeheatpump
org.openhab.binding.ntp
org.openhab.binding.oceanic
org.openhab.binding.onewire
org.openhab.binding.onkyo
org.openhab.binding.opensprinkler
org.openhab.binding.pioneeravr
org.openhab.binding.plclogo
org.openhab.binding.plugwise
org.openhab.binding.powermax
org.openhab.binding.pulseaudio
org.openhab.binding.rfxcom
org.openhab.binding.rme
org.openhab.binding.samsungtv
org.openhab.binding.satel
org.openhab.binding.snmp
org.openhab.binding.sonos
org.openhab.binding.souliss
org.openhab.binding.squeezebox
org.openhab.binding.systeminfo
org.openhab.binding.tellstick
org.openhab.binding.urtsi
org.openhab.binding.wemo
org.openhab.binding.yamahareceiver
org.openhab.binding.zwave

And finally the list of OH1.x bindings which do not have an 2.x equivalent (102 bindings).

org.openhab.binding.akm868
org.openhab.binding.alarmdecoder
org.openhab.binding.anel
org.openhab.binding.asterisk
org.openhab.binding.benqprojector
org.openhab.binding.bticino
org.openhab.binding.caldav-command
org.openhab.binding.caldav-personal
org.openhab.binding.cardio2e
org.openhab.binding.comfoair
org.openhab.binding.configadmin
org.openhab.binding.cups
org.openhab.binding.davis
org.openhab.binding.ddwrt
org.openhab.binding.diyonxbee
org.openhab.binding.dmx.artnet
org.openhab.binding.dmx.lib485
org.openhab.binding.dmx.ola
org.openhab.binding.ebus
org.openhab.binding.ecobee
org.openhab.binding.ecotouch
org.openhab.binding.ehealth
org.openhab.binding.ekey
org.openhab.binding.em
org.openhab.binding.energenie
org.openhab.binding.enigma2
org.openhab.binding.enphaseenergy
org.openhab.binding.epsonprojector
org.openhab.binding.expire
org.openhab.binding.fatekplc
org.openhab.binding.fht
org.openhab.binding.freeswitch
org.openhab.binding.frontiersiliconradio
org.openhab.binding.fs20
org.openhab.binding.garadget
org.openhab.binding.gc100ir
org.openhab.binding.gpio
org.openhab.binding.heatmiser
org.openhab.binding.hms
org.openhab.binding.horizon
org.openhab.binding.http
org.openhab.binding.iec6205621meter
org.openhab.binding.insteonhub
org.openhab.binding.insteonplm
org.openhab.binding.intertechno
org.openhab.binding.ipx800
org.openhab.binding.isy
org.openhab.binding.jointspace
org.openhab.binding.k8055
org.openhab.binding.koubachi
org.openhab.binding.lcn
org.openhab.binding.lightwaverf
org.openhab.binding.mailcontrol
org.openhab.binding.maxcul
org.openhab.binding.mcp3424
org.openhab.binding.mios
org.openhab.binding.mochadx10
org.openhab.binding.mpd
org.openhab.binding.myq
org.openhab.binding.mystromecopower
org.openhab.binding.neohub
org.openhab.binding.networkupstools
org.openhab.binding.nikobus
org.openhab.binding.novelanheatpump
org.openhab.binding.octoller
org.openhab.binding.omnilink
org.openhab.binding.openenergymonitor
org.openhab.binding.openpaths
org.openhab.binding.owserver
org.openhab.binding.panasonictv
org.openhab.binding.panstamp
org.openhab.binding.piface
org.openhab.binding.pilight
org.openhab.binding.plcbus
org.openhab.binding.plex
org.openhab.binding.powerdoglocalapi
org.openhab.binding.primare
org.openhab.binding.rpircswitch
org.openhab.binding.rwesmarthome
org.openhab.binding.s300th
org.openhab.binding.sallegra
org.openhab.binding.samsungac
org.openhab.binding.sapp
org.openhab.binding.serial
org.openhab.binding.smarthomatic
org.openhab.binding.sonance
org.openhab.binding.stiebelheatpump
org.openhab.binding.swegonventilation
org.openhab.binding.tacmi
org.openhab.binding.tcp
org.openhab.binding.tinkerforge
org.openhab.binding.tivo
org.openhab.binding.ucprelayboard
org.openhab.binding.upb
org.openhab.binding.vdr
org.openhab.binding.velux
org.openhab.binding.wago
org.openhab.binding.withings
org.openhab.binding.wol
org.openhab.binding.wr3223
org.openhab.binding.xpl
org.openhab.binding.zibase

Excellent! So, which are the most used? @marcel_erkel, would you like to start a new topic with a poll for which OH1 bindings are being used? If not, I volunteer to author one.

I’m going to bed now, so feel free :slight_smile:

1 Like

I think there is an openhab2 version of the fritz addon.

Maxcube is also there.

Same for enoncean.

I would be happy to help out porting some of the addons if i knew which one is no longer maintained but still in use.

3 Likes

I use expiry

1 Like

expire binding has several replacements talked of but nothing concrete. Obviously this is important to everyone but I’m sure retiring the compat layer would find expire with a replacement along with the persistance services which I think run on OH1 tech
http 2 binding in production almost sure and nearing release

1 Like

Expire never should have been a binding on the first place. In so far as a replacement is developed, it will be a part of the core and not a separate binding.

Those are in the process of being moved I believe. They definitely will be moved and REST API endpoints created.

3 Likes

oh yes good news indeed

Homematic exists in OH2.
Mqttitude was replaced by gpstracker.
Weather was replaced by several others but support of few weather services could be missing in OH2.
Isn’t lgtvserial a replacement of lgtv ?
One OH2 http binding is in progress (PR).

Working from the legacy and non-legacy feature.xmls, I get…

Legacy (have an OH2 version): 35
org.openhab.action.mail
org.openhab.io.transport.mqtt
org.openhab.action.mqtt
org.openhab.action.satel
org.openhab.binding.astro
org.openhab.binding.dmx
org.openhab.binding.dmx.ola
org.openhab.binding.dsmr
org.openhab.binding.enocean
org.openhab.binding.exec
org.openhab.binding.homematic
org.openhab.binding.ihc
org.openhab.binding.irtrans
org.openhab.binding.knx
org.openhab.binding.milight
org.openhab.binding.modbus
org.openhab.io.transport.mqtt
org.openhab.binding.mqtt
org.openhab.io.transport.mqtt
org.openhab.binding.mqttitude
org.openhab.binding.nest
org.openhab.binding.netatmo
org.openhab.binding.networkhealth
org.openhab.binding.nibeheatpump
org.openhab.binding.onewire
org.openhab.binding.onkyo
org.openhab.binding.plugwise
org.openhab.binding.powermax
org.openhab.action.pushbullet
org.openhab.binding.rwesmarthome
org.openhab.binding.satel
org.openhab.binding.systeminfo
org.openhab.binding.tellstick
org.openhab.binding.urtsi
org.openhab.binding.zwave
Non-legacy: 96
org.openhab.action.ecobee
org.openhab.action.mios
org.openhab.action.pebble
org.openhab.action.prowl
org.openhab.action.pushover
org.openhab.action.pushsafer
org.openhab.action.telegram
org.openhab.action.twitter
org.openhab.action.xbmc
org.openhab.action.xmpp
org.openhab.binding.alarmdecoder
org.openhab.binding.anel
org.openhab.binding.bticino
org.openhab.binding.caldav-command
org.openhab.binding.caldav-personal
org.openhab.binding.cardio2e
org.openhab.binding.comfoair
org.openhab.binding.denon
org.openhab.binding.ebus
org.openhab.binding.ecobee
org.openhab.binding.ecotouch
org.openhab.binding.ekey
org.openhab.binding.energenie
org.openhab.binding.enphaseenergy
org.openhab.binding.epsonprojector
org.openhab.binding.expire
org.openhab.binding.fatekplc
org.openhab.binding.freeswitch
org.openhab.binding.fritzbox
org.openhab.binding.fritzboxtr064
org.openhab.binding.fs20
org.openhab.binding.garadget
org.openhab.binding.gc100ir
org.openhab.binding.gpio
org.openhab.binding.heatmiser
org.openhab.binding.horizon
org.openhab.binding.http
org.openhab.binding.iec6205621meter
org.openhab.binding.insteonplm
org.openhab.binding.intertechno
org.openhab.binding.ipx800
org.openhab.binding.jointspace
org.openhab.binding.km200
org.openhab.binding.koubachi
org.openhab.binding.lcn
org.openhab.binding.lgtv
org.openhab.binding.maxcul
org.openhab.binding.mochadx10
org.openhab.binding.mios
org.openhab.binding.mystromecopower
org.openhab.binding.myq
org.openhab.binding.neohub
org.openhab.binding.networkupstools
org.openhab.binding.nikobus
org.openhab.binding.novelanheatpump
org.openhab.binding.openenergymonitor
org.openhab.binding.owserver
org.openhab.binding.panasonictv
org.openhab.binding.plex
org.openhab.binding.piface
org.openhab.binding.pilight
org.openhab.binding.samsungac
org.openhab.binding.sapp
org.openhab.binding.serial
org.openhab.binding.snmp
org.openhab.binding.sonance
org.openhab.binding.souliss
org.openhab.binding.swegonventilation
org.openhab.binding.tcp
org.openhab.binding.tinkerforge
org.openhab.binding.ucprelayboard
org.openhab.binding.upb
org.openhab.binding.velux
org.openhab.binding.weather
org.openhab.binding.wol
org.openhab.binding.xbmc
org.openhab.persistence.influxdb
org.openhab.persistence.dynamodb
org.openhab.persistence.gcal
org.openhab.persistence.jdbc
org.openhab.persistence.jdbc
org.openhab.persistence.jdbc
org.openhab.persistence.jdbc
org.openhab.persistence.jdbc
org.openhab.persistence.jdbc
org.openhab.persistence.jdbc
org.openhab.persistence.jpa
org.openhab.persistence.mapdb
org.openhab.io.transport.mqtt
org.openhab.persistence.mqtt
org.openhab.persistence.mysql
org.openhab.persistence.rrd4j
org.openhab.io.gcal
org.openhab.io.gpio
org.openhab.io.transport.cul
org.openhab.io.caldav
2 Likes

Thanks, I will update the lists and compare the result with your findings.

I know some people manually install 1x bindings because they cannot be installed via PaperUI. The VDR binding is one of them. I think the non-legacy list only contains bindings that are confirmed that they work in 2.x. I could be wrong though.

Enocean already exists in OH2.

A PR exists in OH2 for neohub but not yet merged.

And none of the new OH2 weather bindings provides this feature: html-layout for webview

image

This is the main reason why I’m still using weather1.

1 Like

@t1m, @lolodomo Thanks for your updates. I have updated the tables.

I have attached the Libre Calc spreadsheet I used. Simply strip the .txt extension from the filename.

OH 1.x and 2.x bindings.ods.txt (36.4 KB)