Code Monkey home page Code Monkey logo

concordance's Introduction

Concordance

Linux Build MacOS Build Windows Build

This software allows you to program your Logitech Harmony remote using a configuration object retrieved from the harmony website

The website is required. The website is required in Logitech's software as well, it's just that their software wraps the website. Their website has all the logic on what codes work with what remotes and what hardware, etc. The software just takes the binary blobs that the website makes and writes it to the remote control. This is true for both Logitech's software and this software.

However, this software has some extra functionality such as being able to dump (backup) your existing config, being cross-platform, and giving you extra visibility into what's actually happening with your remote.

NOTE: the Logitech web server now is setting a header 'X-Frame-Options: DENY' which prevents the update process from working correctly with Concordance. In order to work around this, you will have to use a web browser that ignores this header. For Firefox, the 'Ignore X-Frame-Options Header' Add-on has been used successfully. For other browsers, there may be similar add-ons available.

Installing

Concordance is packaged in a wide variety of Linux distributions and other OS package repositories. The easiest path is to use such a package if it's available for your OS/distro.

Packaging status

If it's not packaged for your OS/distro, then refer to the appropriate INSTALL file in this repository for your OS.

Usage

NOTE TO MAC USERS: You need to use 'sudo' since you don't have udev.

NOTE TO LINUX USERS: This assumes you have proper udev support setup (see the INSTALL.Linux file in the libconcord source). If not, you'll need to use sudo or be root.

  1. I got a file from the website, do something useful with it.
concordance <filename>

This will attempt to figure out what to do, and do it. Note that the update process sends TWO files: a connectivity test and the update. You will need to do both.

  1. Backup the config
concordance --dump-config=/tmp/config.EZHex

This will read the config off of your remote and write it to /tmp/config.EZHex. It's a good tool for development as well as backing up your config. This can however be created from the members.harmonyremote.com/EasyZapper website. The equals is needed if you pass in a filename since the filename is optional. If you don't specify, concordance will use 'config.EZHex' in the current directory.

  1. Connectivity test

Go to members.harmonyremote.com/EasyZapper, and when you're ready, choose "Update My Remote." Before Logitech provides an actual config, they will first attempt to do a connectivity test. Downloaded the Connectivity.EZHex file, and then run the test:

concordance Connectivity.EZHex

If that doesn't work, you can tell concordance what it is manually:

concordance --connectivity-test Connectivity.EZHex
  1. Write a config

Once the connectivity test is successfully completed, the site will prompt you to download the actual config in a file called Update.EZHex. Save it and then you can use it with:

concordance Update.EZHex

Again, concordance should do the right thing here, but in case of problems you can explicitly tell concordance what to do with:

concordance --write-config Update.EZHex
  1. Backup the firmware

Sometimes the site will want to update your firmware. Concordance allows you to backup your old firmware so you may later revert if you prefer. You can do this with:

concordance --dump-firmware

This will read the firmware off of your remote and write it to fimrware.EZHex. See "1. Backup the config" for more information.

  1. Write firmware

NOTE: This feature is only implemented for certain models. Please see supported models

However for models we support this on, it works like this:

concordance Firmware.EZHex

Again, if you have a problem, you can tell concordance what to do explicitly:

concordance --write-firmware Firmware.EZHex

There are other options - check out the --help one!

Related Software

  • Congruity is a cross-platform graphical front-end for libconcord written in python

Disclaimer

THIS SOFTWARE IS NOT SUPPORTED BY OR IN ANY WAY RELATED TO LOGITECH!

concordance's People

Contributors

jaymzh avatar swt2c avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

concordance's Issues

Cannot LOGIN with MHGUI

Hello,

Install Congruity-20.1 on Ubuntu 20.04. Attempted to login to MyHarmony using my email & password for my MyHarmony account. Fails to recognise the account. "Username and/or Password Incorrect".

What am I doing wrong?

TIA

Windows 10 support

FYI, there seems to be some magic dance involved with Windows 10 and Concordance:

  • When I first plug in my Harmony 885, Windows gives me a prompt a prompt saying:
Setting up device
A device is undergoing additional setup.
  • I wait a little bit and get this:
Device setup complete
Device 'Harmony Remote 0-4.4.2' has completed setup.
  • Now concordance.exe -v -i works fine
  • But if I try to read the config (concordance.exe -v -c test.EZHex), concordance just freezes until I unplug my remote when it fails with:
ERROR: failed to requesting identity
Failed with error 1
  • Now if I replug my remote or had exited concordance with ^C, even the -i command won't work anymore, nothing just happens
  • To make the device work again, I need to uninstall the remote (USB Input Device and/or HID-compliant vendor-defined device with VID_046D&PID_C110) from the Device Manager and everything goes to the initial state before the Setting up device prompt
  • Now when I replug or "scan for hardware changes" and try to read the config or flash anything right after my remote says USB CONNECTED and Windows has not configured the device yet, everything works including flashing
    • As the connectivity test and update cycle is a bit slow, I need to plug the device in, run the connectivity test, uninstall the device, scan for hardware changes, run the update, but it does work

So, it seems there's something funky going on with Windows and USB.

Thank you for your work!

Support for Harmony 950 ?

Hi, is there something I could try to test libconcordance von Harmony 950?

concordance -v -i
Concordance 1.2
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting identity: 100% done
Model: Unknown Unknown
Skin: 112
Firmware Version: 4.11
Firmware Type: 0
Hardware Version: 1.0.0
External Flash: 512 KiB - FF:12 25F040
Architecture: 17
Protocol: 9
Manufacturer: Logitech
Product: Harmony Remote
IRL, ORL, FRL: 0, 0, 0
USB VID: 046D
USB PID: C12B
USB Ver: 1112
Serial Number: <>
Config Flash Used: 0% (0 of 512 KiB)

Success!

this is all I got running so far.

No response from members.harmonyremote.com website

Hello,

congruity used to work with no problem, but today, when I tried to update the configuration on my remote, I download Connectivity.EZHex, then run congruity on it with no apparent problem, but the harmonyremote.com website seem to not register the fact that the connection with the remote was correct.

If I test it with concordance I've:

% concordance -t Connectivity.EZHex
Concordance 1.3
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting identity:  100%             done
Contacting website:   100%             done
Success!

But the harmonyremote.com website is still waiting for something.

I did all this on a debian machine (sid, with Concordance 1.3 and congruity version 20)

Thanks.

libconcord 'make install' fails if current directory contains spaces Move Edit

This is being moved from https://sourceforge.net/p/concordance/bugs/39/

Observed that 'make install' fails for libconcord of Concordance 1.0 on Linux (Ubuntu 13.04) if current directory contains spaces.

Excerpt of make output below. Current directory is /home/VFIefq/foo bar/.

libtool: install: chmod 644 /usr/local/lib/libconcord.a
libtool: install: ranlib /usr/local/lib/libconcord.a
/bin/bash: /home/VFIefq/foo: No such file or directory
make[1]: *** [install-libLTLIBRARIES] Error 127

I am not sure which milestone to select for this bug.

Documentation about Harmony firmware files

(Note: I have not used concordance yet, but I'm looking for like-minded people, so I'm posting here)

I'm interested in understanding how these remotes work. I'll leave some references here and hope others share their findings / knowledge.

I've already looked at files from:

As a general overview, the regions (from 61.7.5) via file and binwalk:

  • Region_1.EzHex: data
    64            0x40            QNX IFS, size: 3359776 bytes, machine-type: 0x28, little endian, UCL-compressed, version: 1
    
  • Region_2.EzHex: data
    64            0x40            QNX IFS, size: 3359776 bytes, machine-type: 0x28, little endian, UCL-compressed, version: 1
    
  • Region_4.EzHex: Zip archive data, at least v1.0 to extract
    • Mentions userconfig
    • Mentions region_7
  • Region_12.EzHex: Zip archive data, at least v1.0 to extract
    • Contains the main SFW app/
    • Contains some bin including IR tools
    • Contains LUA scripts which appear to drive the remote
  • Region_14.EzHex: Zip archive data, at least v1.0 to extract
    • Contains flash player library
    • Contains fonts
  • Region_16.EzHex: Zip archive data, at least v1.0 to extract
    • Contains receiver and blackbox, I'm not sure what they are

Things I'd like to know:

  • Are earlier models "simpler"? I feel that the flash player on QNX is overly complicated (and expensive to produce).
  • Regarding https://www.phildev.net/concordance/supported_models.shtml; what arch is each of those referring to (is it about the CPU, or simply about remote model or something else) and how were they found?
  • Where to find other firmware files (ideally from logitech servers for legal reasons)?
  • Are there any board-pics or PCB scans?
  • What's known about the IR diodes, which devices could theoretically be supported?

I'm primarily interested in knowledge about Harmony One, but I was unable to find any firmwares for that yet - help would be appreciated.
I might make an emulator or custom firmware, depending how hard it is. I'm really bothered by the slowness of the device and the limited set of features.

Cannot download Connectivity.EZHex

I just found out about Concordance and am trying to make it work with my old Harmony 520 remote. I am stuck at the point of trying to obtain/download the Connectivity.EZHex file from logitech. I have tried on two different Windows 10 machines on Chrome, IE & Firefox, and I have tried adding extensions in Chrome & Forefox to Ignore X-frame headers, but I have never been able to trigger the download. I can log in to the Harmony software but when I click next on "ensure the Harmony 520 can communicate..." I get a blank page that refreshes every few seconds, and no file downloads.

Is there anything else I need to do to get the EZHex file?

Thanks for any assistance...

Cannot add new device on http://members.harmony.com/EasyZapper

System:
Ubuntu 14.04.2 LTS
Firefox 39.0 (Mozilla Firefox for Ubuntu - canonical 1.0)
firefox running as root using sudo (I find this is necessary to successfully access Harmony firmware)

Steps to reproduce:

  1. Navigate to htp://members.harmony.com/EasyZapper and click "Next"
  2. Log in
  3. Click on "More Options"
  4. Click on "Add a Device"
    ! EXPECTED: follow instructions to add a new device to my profile (i.e. just replaced my receiver recently)
    ! ACTUAL: dumped to "Routine Server Maintenance" page and logged out of website
    http://members.harmonyremote.com/EasyZapper/ProcessCheckBrowser/CB_InvalidBrowser2.asp?ReturnUrl=%2FEasyZapper%2FNew%2FProcLogin%2FStart%2Easp%3FBrowserIsChecked%3DTrue%26ReturnUrl%3D%252E%252E%252FUserHome%252Easp%26Error%3DLoginRequired%26Logout%3DTrue&SkinId=Harmony&OS=Win

Perhaps I need my browser to spoof something else?
Apologies in advance if this is a noob issue. Sorry.

segfault in update_configuration()

This is migrated from https://sourceforge.net/p/concordance/bugs/41/

Downstream reported a segfault. Here's a exerpt from the stacktrace:

Thread 1 (Thread 0x7fbd89593700 (LWP 8786)):
#0  op_cancel_transfer (itransfer=0x7fbd6c000038) at os/linux_usbfs.c:2166
        tpriv = 0x7fc27c0417d8
        transfer = 0x7fbd6c000098
        __FUNCTION__ = "op_cancel_transfer"
#1  0x0000003dd0808ab6 in libusb_cancel_transfer (transfer=0x7fbd6c000098) at io.c:1494
        itransfer = 0x7fbd6c000038
        r = <optimized out>
        __FUNCTION__ = "libusb_cancel_transfer"
#2  0x00007fbd8d7c4471 in hid_close (dev=0x7fbd6c004260) at hid.c:1155
No locals.
#3  0x00007fbd8dbe8e39 in deinit_concord () from /lib64/libconcord.so.3
No symbol table info available.
#4  0x00007fbd8dbe8fc8 in reset_remote () from /lib64/libconcord.so.3
No symbol table info available.
#5  0x00007fbd8dbeb3a4 in update_configuration () from /lib64/libconcord.so.3
No symbol table info available.
#6  0x0000003db8005d8c in ffi_call_unix64 () at ../src/x86/unix64.S:76
No locals.
#7  0x0000003db80056bc in ffi_call (cif=cif@entry=0x7fbd895926b0, fn=fn@entry=0x7fbd8dbeb2c0 <update_configuration>, rvalue=rvalue@entry=0x7fbd895925c0, avalue=avalue@entry=0x7fbd89592590) at ../src/x86/ffi64.c:522
        classes = {X86_64_INTEGERSI_CLASS, 32701, 2304320960, 32701}
        stack = 0x7fbd895923a0 "\005"
        argp = 0x7fbd89592450 "\n"
        arg_types = <optimized out>
        gprcount = 3
        ssecount = <optimized out>
        ngpr = 1
        nsse = 0
        i = <optimized out>
        avn = <optimized out>
        ret_in_memory = <optimized out>
        reg_args = 0x7fbd895923a0
#8  0x00007fbd9000ac8b in _call_function_pointer (argcount=3, resmem=0x7fbd895925c0, restype=<optimized out>, atypes=<optimized out>, avalues=0x7fbd89592590, pProc=0x7fbd8dbeb2c0 <update_configuration>, flags=4353) at /usr/src/debug/Python-2.7.5/Modules/_ctypes/callproc.c:832
        error_object = 0x0
        cc = 2
        _save = 0x1c00750
        space = 0x53dfb40790adf700
        cif = {abi = FFI_UNIX64, nargs = 3, arg_types = 0x7fbd89592560, rtype = 0xdb39e0, bytes = 0, flags = 10}
#9  _ctypes_callproc (pProc=pProc@entry=0x7fbd8dbeb2c0 <update_configuration>, argtuple=argtuple@entry=0xfaf910, flags=4353, argtypes=argtypes@entry=0x18f0af0, restype=0xdb34f0, checker=0x0) at /usr/src/debug/Python-2.7.5/Modules/_ctypes/callproc.c:1179
        i = <optimized out>
        n = <optimized out>
        argcount = <optimized out>
        argtype_count = <optimized out>
        resbuf = <optimized out>
        args = 0x7fbd895925e0
        pa = <optimized out>
        atypes = <optimized out>
        rtype = <optimized out>
        avalues = <optimized out>
        retval = 0x0
#10 0x00007fbd90004a85 in PyCFuncPtr_call (self=<optimized out>, inargs=<optimized out>, kwds=<optimized out>) at /usr/src/debug/Python-2.7.5/Modules/_ctypes/_ctypes.c:3929
        restype = <optimized out>
        converters = <optimized out>
        checker = <optimized out>
        argtypes = <optimized out>
        dict = <optimized out>
        result = <optimized out>
        errcheck = <optimized out>
        pProc = <optimized out>
        inoutmask = 0
        outmask = 0
        numretvals = 0
#11 0x0000003ddbe4a0d3 in PyObject_Call () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#12 0x0000003ddbede37c in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#13 0x0000003ddbee0980 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#14 0x0000003ddbee21dd in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#15 0x0000003ddbe6f0d8 in ?? () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#16 0x0000003ddbe4a0d3 in PyObject_Call () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#17 0x0000003ddbe590c5 in ?? () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#18 0x0000003ddbe4a0d3 in PyObject_Call () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#19 0x0000003ddbedc027 in PyEval_CallObjectWithKeywords () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#20 0x0000003ddbf10822 in ?? () from /lib64/libpython2.7.so.1.0
No symbol table info available.
#21 0x0000003db5807ee5 in start_thread (arg=0x7fbd89593700) at pthread_create.c:309
        __res = <optimized out>
        pd = 0x7fbd89593700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140452029871872, 3369074863727771819, 0, 0, 140452029872576, 140452029871872, -3334272243924402005, 3367057263870804139}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
#22 0x0000003db50f4b8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

The full stacktrace is at https://bugzilla.redhat.com/attachment.cgi?id=956472

Mac builds failing?

@swt - #49 (which only touches Markdown), I noticed the mac builds are failing in CI.

I don't think much has changed recently., so I'm not clear how it could have broken, but it's looking for libconcord.6.dylib after the build if libconcord and can't find it.

Pronto Hex Codes

There's a Guide to getting Pronto Hex Codes into your Harmony Remote posted here:

https://www.avforums.com/threads/guide-to-getting-pronto-hex-codes-into-your-harmony-remote.1510519/

Basically, if you're working off of an "extended IR" set, where you have no button on the remote for the command, where the commands only come from a PDF document or a spreadsheet published by a manufacturer, then there's no way to get those into the Harmony without going through Harmony support and waiting forever for them to add them.

I was trying to follow that guide but that old version of Concordance (0.2) that comes with that zip doesn't work. So, I grabbed 1.3a. However, 1.3a doesn't seem to have the ability to use the [H]ex option, only the [L]earn option, when processing a LearnIr.EZTut. What happened to the Pronto Hex format support mentioned here: https://sourceforge.net/p/concordance/mailman/search/?q=pronto+hex

It appears from reading that those patches never made it into the official release. Would it be possible to still get those patches merged in? Being able to have the Harmony learn from Hex input is a very valuable capability.

Possible errors currently with https

At the moment of this typing I'm unable to test concordance directly, but earlier today I was using congruity and it was failing to notify the website that the connectivity test was complete. Forgetting about the concordance component I reported this in the congruity issues (congruity/congruity#7) but this probably needs to be looked at from the concordance level. At minimum an issue should probably exist just to allow users to see that there may be a current issue. The certificate used by members.harmonyremote.com expired a few days ago and I doubt the error in congrutiy is just a coincidence.

Can concordance be tested and reviewed to confirm if the certificate is the issue, and if so could it either be (hopefully just) temporarily patched or a end-user workaround be documented?

concordance-1.5-installer.exe - can't run on windows

Hello

the installer of the 1.5 version cannot run on windows look like the file is corrupted/incomplet.

once downloaded the file does not show the setup icon like the previous version installation file.

Then when trying to run it with admin right we end with an error cannot found file "file_path"\concordance-1.5-installer.exe

And the setup does not start.

If you can upload again the file to correct the issue.

Thanks

Does this software still work?

I'm trying to use this to program my Harmony One+ because the MyHarmony simply stinks. However, I'm baffled about how to actually set up and use it. The referenced website looks like it may no longer be functional. I cannot log in or use it from a browser, even with the recommend Chrome extension. Does this software still work? What am I doing wrong here?

How to dump the entire firmware

I have now got concordance running (with #31) and did -b -f, -b -s and -b -c, but it raised some more questions:

  • What is safemode? How do I reboot the remote into it?
  • Why is the config so much larger than the firmware?
  • Is there a documentation of the memory layout, other than the source code? (also related to #30)

But also:

  • Is there any easy way to dump the entire flash? I'd like to have all the storage dumped that can be dumped via software
  • Is there any portion of the flash that can't be dumped via software?

Can t update firmware in Safe Mode

Hi, my remote is in Safe Mode, when i tried to update firmware i got this error:

concordance --write-firmware=C:\Users\39339\Desktop\firmware\firmware_ultimo.EZUp

Concordance 1.5
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting identity: 100% done
Initializing update: 0% Failed to upload firmware: Unknown error
Failed with error 1

Someone can help me?

Thank you in advence.
Best regards

Emiliano

Libcurl connection failure on Windows + options to fix/workaround

On Windows, Concordance fails to connnect to members.harmonyremote.com, even though the site has a valid SSL cert. This applies to the released download and when I compile from the main branch.

Libcurl attempted to open ca-bundle.crt from a compiled-in location that is non-existent on Windows (/usr/i686-w64-mingw32/sys-root/mingw/etc/pki/tls/certs/ca-bundle.crt) and failed. Libcurl did not use Windows' system CA store for validation by default.

Fix A: To use Windows' system CA store, I added the following to the list of options in the Zap function in libconcord's web.cpp:

curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, CURLSSLOPT_NATIVE_CA);

This worked. Libcurl was able to use Windows' system CA store to successfully verify the certificate, and it did not need the ca-bundle.crt file. (It tries to load it, sees it's missing, and continues on instead of failing.)

Fix B: The Concordance installer does not provide a copy of ca-bundle.crt. And just copying ca-bundle.crt to the program directory does not solve the problem. However, if I copy it and pass the path to ca-bundle.crt to libcurl using

curl_easy_setopt(curl, CURLOPT_CAINFO, "C:\\Program Files (x86)\\Concordance\\ca-bundle.crt");

then it works. (Production code would, of course, not use a hardcoded path.)

Workaround C: Disabling SSL cert verification works as well, as presented in Issue #48.

========== Traces Below ==========

Here's the error on Windows without any code changes (output is from _DEBUG):

* processing: https://members.harmonyremote.com/EasyZapper/New/ProcConnectivity/Connectivity_Receive_Zaps.asp
*   Trying 52.44.86.125:443...
* Connected to members.harmonyremote.com (52.44.86.125) port 443
* ALPN: offers http/1.1
* error setting certificate file: /usr/i686-w64-mingw32/sys-root/mingw/etc/pki/tls/certs/ca-bundle.crt
* error setting certificate file: /usr/i686-w64-mingw32/sys-root/mingw/etc/pki/tls/certs/ca-bundle.crt
* Closing connection
* error setting certificate file: /usr/i686-w64-mingw32/sys-root/mingw/etc/pki/tls/certs/ca-bundle.crt
DEBUG (Zap): curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?)

Failed with error 13

The connection succeeds when I set CURLSSLOPT_NATIVE_CA, no other changes:

* processing: https://members.harmonyremote.com/EasyZapper/New/ProcConnectivity/Connectivity_Receive_Zaps.asp
*   Trying 52.44.86.125:443...
* Connected to members.harmonyremote.com (52.44.86.125) port 443
* ALPN: offers http/1.1
* successfully imported Windows CA store
* error setting certificate file, continuing anyway
*  CAfile: /usr/i686-w64-mingw32/sys-root/mingw/etc/pki/tls/certs/ca-bundle.crt
*  CApath: none
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=members.harmonyremote.com
*  start date: Dec 12 03:58:41 2023 GMT
*  expire date: Mar 11 03:58:40 2024 GMT
*  subjectAltName: host "members.harmonyremote.com" matched cert's "members.harmonyremote.com"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
* using HTTP/1.1
> POST /EasyZapper/New/ProcConnectivity/Connectivity_Receive_Zaps.asp HTTP/1.1
--<snip>--
< HTTP/1.1 200 OK

The connection also succeeds when I copy ca-bundle.crt to the program directory and set CURLOPT_CAINFO to point at the ca-bundle.crt file, no other changes:

* processing: https://members.harmonyremote.com/EasyZapper/New/ProcConnectivity/Connectivity_Receive_Zaps.asp
*   Trying 52.44.86.125:443...
* Connected to members.harmonyremote.com (52.44.86.125) port 443
* ALPN: offers http/1.1
*  CAfile: C:\Program Files (x86)\Concordance\ca-bundle.crt
*  CApath: none
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=members.harmonyremote.com
*  start date: Dec 12 03:58:41 2023 GMT
*  expire date: Mar 11 03:58:40 2024 GMT
*  subjectAltName: host "members.harmonyremote.com" matched cert's "members.harmonyremote.com"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
* using HTTP/1.1
> POST /EasyZapper/New/ProcConnectivity/Connectivity_Receive_Zaps.asp HTTP/1.1
--<snip>--
< HTTP/1.1 200 OK

Congruity and Firefox

Hi:

I've used the Concordance and Congruity apps for several years to reconfigure my Logitech Harmony One remote control on the Members.HarmonyRemote.com site, but I'm unable to log in to their new site (https://setup.myharmony.com/).

I believe that the problem is that I haven't configured Firefox to report its capabilities properly (although it seems straightforward enough, and I've done it for other sites).

I believe I have the most updated versions of Concordance, Congruity, and Firefox, and am running on a regularly updated version of Ubuntu 16.04.

Can you tell me how exactly I can use Logitech's newest site (or even if its possible) as I added another remote (650) that can't be updated with the "legacy" site?

Thanks in advance.

Volume on Harmony 655

I bought a Harmony 665 a few days ago to replace my failing Harmony 350 from a couple years ago. I set it up on my MacBook Pro, but I ran into a problem - it turns out that the version of the Harmony software on my MacBook is too old for this remote. My MacBook is from 2011 and it can only go as far as macOS 10.13 (High Sierra), but the new Harmony software needs macOS Catalina (10.15) or later.

The version of the Harmony software on my MacBook was able to set up the remote fairly well, but with one glaring omission - volume controls. Towards the beginning of the setup process, it should have asked me which device should be used for volume control (i.e. TV, receiver), but it didn't. I looked into the matter and there's supposed to be another way to go about it, but that didn't work either.

I much prefer Linux and Congruity. Unfortunately, Congruity is missing a couple things, so I sometimes use Logitech's software.

I tried fixing this volume issue in Congruity, but no luck.

Logitech depracting website login. Concordance breakage expected.

Hey,

Title says it all. I am not sure when they decided to but as you can see here they are basically forcing all users to use the software either via the desktop of via an 'app'

Maybe we can hack something together if we can be bothered to reverse the software but to be honest I am starting to think that it is more effort than it is worth.

What ye think? Is this the end for Linux support for Harmony remotes?

Website tool no longer available for Linux

I just discovered that http://members.harmonyremote.com/ is gone. There's a new site at https://setup.myharmony.com/ that if you poke around, you can almost get to a web configuration tool, but it refuses to run for a browser on Linux. By faking an IE useragent, I managed to get a page or two into it and create a new myharmony account, but then it wanted me to install Microsoft Silverlight...

This is obviously not a bug with concordance. But this seems like as good a place as any to see if a workaround can be found and share it.

Harmony 200 with latest git

This is migrated from https://sourceforge.net/p/concordance/bugs/38/

libconcord and concordance compiled from git. Using a Harmony 200, about the only thing that seems to work is listing the remote info. Everything else just errors out.

parker@chrubuntu:~$ sudo concordance -i -v
Concordance 1.0
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting identity: 100% done
Model: Logitech Harmony 200
Skin: 80
Firmware Version: 2.8
Firmware Type: 0
Hardware Version: 0.0.0
External Flash: 512 KiB - FF:12 25F040
Architecture: 16
Protocol: 9
Manufacturer: HarmonyRemote.com!
Product: Caffeine
IRL, ORL, FRL: 64, 64, 0
USB VID: 046D
USB PID: C125
USB Ver: 1080
Serial Number: {EEEEEEEE-EEEE-EEEE-EEEE-EEEEEEEEEEEE}
{D8A6FF4F-5C25-413A-A869-084E035F3DBC}
{1BC9F028-DD80-46F4-9175-C48E4B0625E5}
Config Flash Used: 99% (0 of 1 KiB)

Success!

parker@chrubuntu:~$ sudo concordance -r -v
Concordance 1.0
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Resetting...
Success!

parker@chrubuntu:~$ sudo concordance -c -v
Concordance 1.0
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting identity: 100% done
Failed to dump config: Error while reading from the remote
Failed with error 3

parker@chrubuntu:~$ sudo concordance -f -v
Concordance 1.0
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting identity: 100% done
Failed to dump firmware: Error while reading from the remote
Failed with error 3

dmesg output

[31006.715574] usb 2-1.4: new full-speed USB device number 9 using ehci-pci
[31006.803183] usb 2-1.4: New USB device found, idVendor=046d, idProduct=c125
[31006.803196] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[31006.803203] usb 2-1.4: Product: Caffeine
[31006.803209] usb 2-1.4: Manufacturer: HarmonyRemote.com

get-time failed on Ultimate One

The get-time function doesn't work.
Reproduce Steps:
concordance --set-time
concordance --get-time

Actual Result:
Remote time is 0000/00/00 Sun 00:00:00 +0
Failed with error 9

Expected Result:
It should print the expeted datetime by running set-time

set-time:
`linrex:harmoney$ concordance --set-time
Concordance 1.2
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting identity: 100% done
Setting time: 100% done
Remote time has been set to 2020/01/08 Wed 14:51:10 +0
Success!`

get-time:

linrex:harmoney$ concordance --get-time
Concordance 1.2
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting identity: 100% done
Remote time is 0000/00/00 Sun 00:00:00 +0
Failed with error 9

OSX CI broke when GitHub changed macos-latest from OSX 12 x64 to OSX 14 arm64

From
https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image :

Over the next 12 weeks, jobs using the macos-latest runner label will migrate from macOS 12 (Monterey) to macOS 14 (Sonoma)

Additionally, per the Current List of Images (https://github.com/actions/runner-images), macos-latest is pointing to macos-14 which is arm64, not x64.

If I run ci-macos.yml with runs-on: macos-13 (or 12) instead of runs-on: macos-latest it works, which is the quick fix.

But, if I run it on macos-latest aka macos-14:

First it complains that libtool is missing (ref) and when pip3 installs build it refuses to install the package due to it being an "externally-managed-environment" (ref). OK, so I work around it with the following:

- name: Install dependencies
  run: |
    brew install autoconf automake hidapi libzip libtool
    pip3 install --break-system-packages build

But now we get the following when it's time to build:

checking for hidapi/hidapi.h... no
checking for hid_init in -lhidapi... no
configure: error: libhidapi is missing!

And it didn't throw any error when installing hidapi earlier:

==> Pouring hidapi--0.14.0.arm64_sonoma.bottle.tar.gz
๐Ÿบ  /opt/homebrew/Cellar/hidapi/0.14.0: 19 files, 191.3KB

I have attached logs from the bad runs and a good run for reference.
1-logs_23416837081 Externally Managed Error.zip
2-logs_23417917674 libtool Missing.zip
3-logs_23418156127 libhidapi Missing.zip
logs_23419707015 GOOD OSX 12 run.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.