Jablotron Alarm Binding for OpenHAB

try
partialSet
unset
set
as commands
and also make sure that you have confirgured the zone in f-link to be partialSet :wink:

Hi,
can anyone share info/specs on conneting JA-100 System a to ARC thru the jablotron cloud? alarm lines, settings etc. Thanks BR Don

I am finding that partialSet is not working for JA100 alarms. Everytime I send a partialSet, the alarms sets completely.

The trace replys the following, which only shows ARM and DISARM options:
2024-03-04 11:43:57.071 [DEBUG] [ernal.handler.JablotronBridgeHandler] - Updating overall alarm’s statuses…
2024-03-04 11:43:57.694 [TRACE] [ernal.handler.JablotronBridgeHandler] - Request: https://api.jablonet.net/api/1.6/serviceListGet.json with data: {“list-type”: “EXTENDED”,“visibility”: “VISIBLE”}
2024-03-04 11:43:57.696 [TRACE] [ernal.handler.JablotronBridgeHandler] - Response: {“data”:{“services”:[{“service-id”:90000,“cloud-entity-id”:“SERVICE_JA100:90000”,“name”:“LARRAGAR”,“service-type”:“JA100”,“icon”:“JA100”,“index”:0,“level”:“FULL”,“status”:“ENABLED”,“visible”:true,“message”:“OK”,“event-last-time”:“2024-03-04T11:43:09+0100”,“share-status”:“SHARED”,“service-blocked”:“NONE”,“extended-states”:[{“type”:“ARM”,“value”:“1”},{“type”:“DISARM”,“value”:“0”}],“notifications”:0}],“meta”:{“checksum”:“4f02b331049a1b7feb4a6d30e15edcea”}},“http-code”:200}

Could the issue be with the api versión? 1.6

When I send the command:
2024-03-04 11:35:57.189 [DEBUG] [ternal.handler.JablotronJa100Handler] - Controlling section: STATE_1 with status: partialSet
2024-03-04 11:36:03.900 [TRACE] [ernal.handler.JablotronBridgeHandler] - Request: ://api.jablonet.net/api/1.6/controlSegment.json with data: service=ja100&serviceId=90000&segmentId=STATE_1&segmentKey=section_1&expected_status=partialSet&control_time=0&control_code=8888&system=openHAB
2024-03-04 11:36:03.904 [TRACE] [ernal.handler.JablotronBridgeHandler] - Response: {“segment_updates”:[{“segment_click_message”:null,“segment_db_id”:9696969696,“segment_type”:“section”,“segment_subtype”:null,“segment_group”:1,“segment_name”:“VIVIENDA”,“segment_id”:“STATE_1”,“segment_key”:“section_1”,“segment_is_controllable”:true,“segment_status”:“ready”,“segment_state”:“set”,“segment_next_set_state”:null,“segment_next_unset_state”:“unset”,“segment_active”:true,“segment_index”:1,“segment_actions”:[{“target”:“STATE_1”,“type”:“onClick”,“action”:“start_loader”},{“target”:“STATE_1”,“segment”:“section_1”,“type”:“onClick”,“action”:“control”}]},{“segment_type”:“keyboard”,“segment_subtype”:“section”,“segment_authorization”:true,“segment_group”:9,“segment_click_message”:null,“segment_last_change”:null,“segment_name”:“VIVIENDA”,“segment_id”:“STATE_1”,“segment_key”:“keyboard_9_9696969696”,“segment_is_controllable”:true,“segment_next_set_state”:null,“segment_next_unset_state”:“unset”,“segment_status”:“ready”,“segment_state”:“set”,“segment_active”:true,“segment_index”:1,“segment_actions”:[{“target”:“STATE_1”,“type”:“onClick”,“action”:“start_loader”},{“target”:“STATE_1”,“type”:“onClick”,“action”:“control”,“segment”:“keyboard_9_9696969696”}]}],“segment_actions”:[{“target”:“STATE_1”,“type”:“onLoad”,“action”:“stop_loader”}],“status”:true,“checksum”:“1c3b5dd7f550812172e9581065a754a1”,“server_id”:“9229527-1709548563”,“client_id”:null}

2024-03-04 11:36:03.907 [DEBUG] [ternal.handler.JablotronJa100Handler] - Updating status of alarm: jablotron:ja100:ba5649ba:90000

2024-03-04 11:36:04.968 [TRACE] [ernal.handler.JablotronBridgeHandler] - Request: https://api.jablonet.net/api/1.6/dataUpdate.json with data: data=[{ “filter_data”:[{“data_type”:“section”},{“data_type”:“pgm”},{“data_type”:“thermometer”},{“data_type”:“thermostat”}],“service_type”:“ja100”,“service_id”:90000,“data_group”:“serviceData”}]&system=openHAB

2024-03-04 11:36:04.976 [TRACE] [ernal.handler.JablotronBridgeHandler] - Response: {“data”:{“service_data”:[{“service_type”:“ja100”,“service_id”:90000,“data_status”:“updated”,“checksum”:“9c9e9181a9fd7fa5d32fd77894ebb2d7”,“service_events_type”:null,“service_events”:,“service_information”:{“service_time_offset”:3600,“service_readonly”:false,“service_event_last”:“1709552146”,“service_permissions”:{“history”:false,“gallery”:true,“notifications”:false,“settings”:true,“share”:false,“request_media”:false,“controls_sections”:true,“controls_pgs”:true,“controls_keyboards”:true,“controls_thermometers”:false,“controls_meters”:false,“change_user_code”:true,“manage_peripheries”:true}},“service_periphery_list”:null,“data”:[{“checksum”:“50edf9e7d31baf688064231cbc09574a”,“data_status”:“updated”,“data_type”:“section”,“data”:{“segments”:[{“segment_click_message”:null,“segment_db_id”:206725569,“segment_type”:“section”,“segment_subtype”:null,“segment_group”:1,“segment_name”:“VIVIENDA”,“segment_id”:“STATE_1”,“segment_key”:“section_1”,“segment_is_controllable”:true,“segment_status”:“ready”,“segment_state”:“set”,“segment_next_set_state”:null,“segment_next_unset_state”:“unset”,“segment_active”:true,“segment_index”:1,“segment_actions”:[{“target”:“STATE_1”,“type”:“onClick”,“action”:“start_loader”},{“target”:“STATE_1”,“segment”:“section_1”,“type”:“onClick”,“action”:“control”}]}]}},{“checksum”:“0bcb65d1bb3135a1b856b5b672f07311”,“data_status”:“updated”,“data_type”:“pgm”,“data”:{“segments”:[{“segment_click_message”:null,“segment_db_id”:9696969696,“segment_type”:“pgm”,“segment_subtype”:null,“segment_group”:1,“segment_name”:"Salida PG
.
.
2024-03-04 11:36:04.979 [DEBUG] [ternal.handler.JablotronJa100Handler] - Segment id: STATE_1 and status: set
2024-03-04 11:36:04.982 [DEBUG] [ternal.handler.JablotronJa100Handler] - Updating channel: jablotron:ja100:ba5649ba:90000:state_1 to value: set

I am currently in OH 4.1.0, but I can say that in older versions 3.X it worked. ¿any idea why it doesn’t work now?

I noticed today that the Jablotron binding cannot connect anymore.
I put the log to TRACE which shows the following

trace-log
2024-05-10 17:34:05.114 [DEBUG] [.discovery.JablotronDiscoveryService] - bundle org.openhab.binding.jablotron:4.2.0.M2 (351)[org.openhab.binding.jablotron.internal.discovery.JablotronDiscoveryService(442)] : Querying state satisfied
2024-05-10 17:34:05.114 [DEBUG] [.discovery.JablotronDiscoveryService] - bundle org.openhab.binding.jablotron:4.2.0.M2 (351)[org.openhab.binding.jablotron.internal.discovery.JablotronDiscoveryService(442)] : For dependency osgi.ds.satisfying.condition, optional: false; to bind: [[RefPair: ref: [{org.osgi.service.condition.Condition}={service.id=6, service.bundleid=0, service.scope=singleton, service.pid=0.org.osgi.service.condition.ConditionImpl, osgi.condition.id=true}] service: [null]]]
2024-05-10 17:34:05.115 [DEBUG] [.discovery.JablotronDiscoveryService] - Creating discovery service
2024-05-10 17:34:05.115 [DEBUG] [.discovery.JablotronDiscoveryService] - bundle org.openhab.binding.jablotron:4.2.0.M2 (351)[org.openhab.binding.jablotron.internal.discovery.JablotronDiscoveryService(442)] : invoking activate: activate: parameters [org.apache.felix.scr.impl.helper.ReadOnlyDictionary]
2024-05-10 17:34:05.115 [DEBUG] [.discovery.JablotronDiscoveryService] - bundle org.openhab.binding.jablotron:4.2.0.M2 (351)[org.openhab.binding.jablotron.internal.discovery.JablotronDiscoveryService(442)] : invoked activate: activate
2024-05-10 17:34:05.115 [DEBUG] [.discovery.JablotronDiscoveryService] - bundle org.openhab.binding.jablotron:4.2.0.M2 (351)[org.openhab.binding.jablotron.internal.discovery.JablotronDiscoveryService(442)] : Changed state from satisfied to active
2024-05-10 17:34:05.263 [TRACE] [ernal.handler.JablotronBridgeHandler] - Request: https://api.jablonet.net/api/1.6/userAuthorize.json with data: {"login":"username", "password":"xxx"}
2024-05-10 17:34:05.264 [TRACE] [ernal.handler.JablotronBridgeHandler] - Response: {"http-code": 400,"errors": [{"code": "ERROR", "message": "This application is no longer supported, please download newer version."}],"meta": {"display-type": "TOAST"}}
2024-05-10 17:34:05.268 [DEBUG] [ernal.handler.JablotronJa100FHandler] - Initializing the alarm: jablotron:ja100f:JablotronBridge2:2007778
==> /var/log/openhab/events.log <==
2024-05-10 17:34:05.118 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'jablotron:bridge:JablotronBridge2' changed from UNINITIALIZED (DISABLED) to INITIALIZING
2024-05-10 17:34:05.265 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'jablotron:bridge:JablotronBridge2' changed from INITIALIZING to OFFLINE (COMMUNICATION_ERROR): Http error: 400
2024-05-10 17:34:05.266 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'jablotron:ja100f:JablotronBridge2:2007778' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2024-05-10 17:34:05.269 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'jablotron:ja100f:JablotronBridge2:2007778' changed from INITIALIZING to ONLINE
==> /var/log/openhab/openhab.log <==
2024-05-10 17:34:06.316 [TRACE] [ernal.handler.JablotronBridgeHandler] - Request: https://api.jablonet.net/api/1.6/JA100F/sectionsGet.json with data: {"connect-device":false,"list-type":"FULL","service-id":2007778,"service-states":true}
2024-05-10 17:34:06.316 [TRACE] [ernal.handler.JablotronBridgeHandler] - Response:<html><head><title>400 Bad Request</title></head><body><center><h1>400 Bad Request</h1></center><hr><center>nginx</center></body></html>
2024-05-10 17:34:06.317 [DEBUG] [ernal.handler.JablotronBridgeHandler] - Invalid JSON received: <html><head><title>400 Bad Request</title></head><body><center><h1>400 Bad Request</h1></center><hr><center>nginx</center></body></html>
2024-05-10 17:34:06.435 [TRACE] [ernal.handler.JablotronBridgeHandler] - Request: https://api.jablonet.net/api/1.6/JA100F/programmableGatesGet.json with data: {"connect-device":false,"list-type":"FULL","service-id":2007778,"service-states":true}
2024-05-10 17:34:06.435 [TRACE] [ernal.handler.JablotronBridgeHandler] - Response:<html><head><title>400 Bad Request</title></head><body><center><h1>400 Bad Request</h1></center><hr><center>nginx</center></body></html>

Line 8 of the above log says that this application is no longer supported.
Are other users of the jablotron binding discovering the same problem?
@Ondrej_Pecta : Hope you are still supporting the binding: Can I help somehow?

@Larsen I can confirm, same here, not working anymore :cry:

I filed an issue in GitHub:

Update: Ondrej already updated the binding. You can find the dev-version under the github-link above.
Everything I use (PGs) works perfectly again.

1 Like

Hi Larsen,

Two questions, where can I find the code? I don’t find it myself.

And how and where do I have to implement this solution?

(I’m a newbie)

  1. create a current backup

  2. download the file: org.openhab.binding.jablotron-4.1.3-SNAPSHOT.jar

  3. copy the file into folder /usr/share/openhab/addons/

  4. reboot

@Vidjes14 : one hint: use the @ before the name if you want a certain person to notice your question.
Another one: Bindings you install by putting the jar (or kar) in the addons-folder are not shown under your bindings. But you can directly install the corresponding things with the + icon.

@Larsen - Thanks for your hints. What is the process of updating the exsisting bundle? Anything espacial to consider?

you mean the official version of the binding that is part of openhab?
For the user: There is no process. It’s just waiting until it’s part of a future openhab release (or milestone) and then upgrade your openhab.
For the developer it is:

  • finishing his release until he thinks it’s good quality
  • start a pull request
  • binding is reviewed and PR is accepted
  • next openhab version (release, milestone or snapshot) will contain the new binding

If you don’t want to wait for that because you’re keen on a new functionality or because you want to help the developer (openhab is a community driven project) then you install the development version. But you have to accept that there might be bugs and should give the developer a polite and comprehensive description of the problem.

I meant more current. I have copied the new jar. file into the addons folder, but i get the error with version 1.6 after reboot? I have deleted the older versions.
How do i get the new version going?
@Larsen any hint?
Thanks

@Ondrej_Pecta
new jar is in addons folder but I am getting this back: Error executing command: Error restarting bundles:
Unable to start bundle 317: Could not resolve module: org.openhab.binding.jablotron [317]
Unresolved requirement: Import-Package: com.google.gson.annotations; version=“[2.10.0,3.0.0)”

Running OH 3.4.5
Any idea how to solve?
Thanks!

@Larsen I have installed the snapshot, but I have a “Error during calling url: https://api.jablonet.net/api/2.2/userAuthorize.json” error.

I’m running OH 4.1.2 .

Thanks!

Seems like your user credentials do not work. Maybe enable trace logging for the binding?

For those of you running older versions I have compiled fixed versions as well:
https://www.dropbox.com/scl/fi/4ks73mep0bodf820wr304/org.openhab.binding.jablotron-2.5.13-SNAPSHOT.jar?rlkey=rqpxlw6u8ho5a82ksck2gyaxh&dl=1

https://www.dropbox.com/scl/fi/dikyccuvzwwju2d9gjwe2/org.openhab.binding.jablotron-3.4.6-SNAPSHOT.jar?rlkey=u6jv69e1ws3c7vx46la1xxrri&dl=1

1 Like

@Ondrej_Pecta Thank you! - Have a great weekend!