profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/systemcrash/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

systemcrash/acme-tiny 0

A tiny script to issue and renew TLS certs from Let's Encrypt and other ACME compatible CAs

systemcrash/AdGuardHome 0

Network-wide ads & trackers blocking DNS server

systemcrash/airplay2-receiver 0

AirPlay 2 receiver - python implementation only for testing

systemcrash/AirSpeaker 0

AirPlay audio player for iOS devices

systemcrash/collectd 0

The system statistics collection daemon. Please send Pull Requests here!

systemcrash/core 0

:house_with_garden: Open source home automation that puts local control and privacy first

systemcrash/grafana 0

The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More

systemcrash/hasl-platform 0

HomeAssistant SL Sensor (HASL)

systemcrash/heplify-server 0

HEP Capture Server

systemcrash/home-assistant.io 0

:blue_book: Home Assistant User documentation

create barnchsystemcrash/airplay2-receiver

branch : announce

created branch time in 2 days

issue commentopenairplay/airplay2-receiver

No such file or directory: './pairings/accessory-secret'

I learned a ton about docker from google and stack overflow. 😎 Try something like this after ports:

   volumes:
     - ./pairings:/pairings
joni15

comment created time in 2 days

issue commentopenairplay/airplay2-receiver

Rework the pairings folder

OK, what I have so far is viable. I've tested it with a number of different bit-flags. The extensive comments reveal that there are still a few bits missing. This motivates me to move the HK part to a different framework - like HAP-python. They've got some great code which means you can have multiple endpoints associated via HAP to control the speaker part. Currently, it's only one in this implementation.

Have a look at the differences here, or just go play with it, and see how it works for you.

systemcrash

comment created time in 2 days

delete branch systemcrash/airplay2-receiver

delete branch : pair-add

delete time in 2 days

delete branch openairplay/airplay2-receiver

delete branch : pair-x

delete time in 2 days

push eventopenairplay/airplay2-receiver

Paul Dee

commit sha f58262215ba1a619f4511cefa08cd66d36c17918

More Flag data.

view details

push time in 2 days

push eventsystemcrash/airplay2-receiver

Paul Dee

commit sha f58262215ba1a619f4511cefa08cd66d36c17918

More Flag data.

view details

Paul Dee

commit sha 0423fd9d96dea9a6274111d5df77660709020e0d

HomeKit Fixup Improvements

view details

push time in 2 days

delete branch openairplay/airplay2-receiver

delete branch : homekit_improvements

delete time in 2 days

create barnchopenairplay/airplay2-receiver

branch : homekit_improvements

created branch time in 2 days

push eventsystemcrash/airplay2-receiver

Paul Dee

commit sha 6bd173044032581c598373aece81453ec60dc60e

HomeKit Fixup Improvements

view details

push time in 2 days

push eventsystemcrash/airplay2-receiver

Paul Dee

commit sha cc1a709ddd5d69e9eb5c7102245cd185235e3bb5

HomeKit Fixup Improvements

view details

push time in 2 days

push eventsystemcrash/airplay2-receiver

Paul Dee

commit sha cf0520c1d525cf8d75d99d4a3a8296573e2b9d0c

HomeKit Fixup Improvements

view details

push time in 2 days

push eventsystemcrash/airplay2-receiver

Paul Dee

commit sha b7be2e22f516c732090cec6cb330503f6cbd2af5

Fix ZeroConf lib to 0.28. Later versions have some problems with our usage (bug?).

view details

Paul Dee

commit sha 98c2bd26bcd8604e08e07d4c2e2941a77f52a8e7

Improvements

view details

Paul Dee

commit sha e3971579f18b35c5bda6c42c4d4e5a16932bc87c

HomeKit Fixup

view details

push time in 2 days

push eventopenairplay/airplay2-receiver

Paul Dee

commit sha b7be2e22f516c732090cec6cb330503f6cbd2af5

Fix ZeroConf lib to 0.28. Later versions have some problems with our usage (bug?).

view details

push time in 2 days

issue openedjstasiak/python-zeroconf

Unclean shutdown 0.33

I instantiate like this with ZeroConf.


def register_mdns(r_name):
    addresses = []
    for ifen in ni.interfaces():
        ifenaddr = ni.ifaddresses(ifen)
        if ni.AF_INET in ifenaddr:
            addresses.append(socket.inet_pton(
                ni.AF_INET,
                ifenaddr[ni.AF_INET][0]["addr"])
            )
        if ni.AF_INET6 in ifenaddr:
            addresses.append(socket.inet_pton(
                ni.AF_INET6,
                ifenaddr[ni.AF_INET6][0]["addr"].split("%")[0])
            )

    info = ServiceInfo(
        "_service._tcp.local.",
        "%s._airplay._tcp.local." % r_name,
        addresses=addresses,
        port=1234,
        properties=mdns_props,
        server="%s.local." % receiver_name,
    )

    zeroconf = Zeroconf(ip_version=IPVersion.V4Only)
    zeroconf.register_service(info)
    print("mDNS service registered")
    return (zeroconf, info)


def unregister_mdns(zeroconf, info):
    print("Unregistering...")
    zeroconf.unregister_service(info)
    zeroconf.close()


Works OK in 0.31.0. Problem starts from 0.32.0

But at shutdown, this happens. Is it normal now in 0.33?

Unregistering...
Exception in callback _SelectorDatagramTransport._read_ready()
handle: <Handle _SelectorDatagramTransport._read_ready()>
Traceback (most recent call last):
  File "/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/selector_events.py", line 1029, in _read_ready
    self._protocol.datagram_received(data, addr)
  File "/usr/local/lib/python3.9/site-packages/zeroconf/_core.py", line 272, in datagram_received
    self.zc.handle_response(msg)
  File "/usr/local/lib/python3.9/site-packages/zeroconf/_core.py", line 693, in handle_response
    self.record_manager.async_updates_from_response(msg)
  File "/usr/local/lib/python3.9/site-packages/zeroconf/_handlers.py", line 387, in async_updates_from_response
    self.cache.async_remove_records(removes)
  File "/usr/local/lib/python3.9/site-packages/zeroconf/_cache.py", line 102, in async_remove_records
    self._async_remove(entry)
  File "/usr/local/lib/python3.9/site-packages/zeroconf/_cache.py", line 94, in _async_remove
    _remove_key(self.cache, entry.key, entry)
  File "/usr/local/lib/python3.9/site-packages/zeroconf/_cache.py", line 49, in _remove_key
    del cache[key][entry]
KeyError: record[quada,in-unique,xxxx.local.]=0/0,fe80::819:95ff:fe23:9e09```

Tried with different ip_version=IPVersion.All and same result. 

created time in 2 days

issue commentopenairplay/airplay2-receiver

No such file or directory: './pairings/accessory-secret'

OK - then I think the docker image needs extending slightly to understand that the pairings dir should be mapped. Think you could pull together a docker-compose.yaml file with that in?

joni15

comment created time in 2 days

push eventsystemcrash/airplay2-receiver

Paul Dee

commit sha 8dfbe275eae8a5ca8aee97b825d962f680532b04

HomeKit Fixup

view details

push time in 3 days

push eventsystemcrash/airplay2-receiver

Paul Dee

commit sha 9a3d5a60df81c19faae0d593241e344170183ea4

HomeKit Fixup

view details

push time in 3 days

issue commentopenairplay/airplay2-receiver

No such file or directory: './pairings/accessory-secret'

Interesting. It's attempting to write the file to that path. Permissions to be able to write to that folder pairings and that file in the folder are necessary. Can you touch the file and create an empty binary file? Does it work then?

joni15

comment created time in 3 days

create barnchsystemcrash/airplay2-receiver

branch : homekit_improvements

created branch time in 3 days

push eventopenairplay/airplay2-receiver

Paul Dee

commit sha b10284501dfddda79f78a8e16006116c65b30106

Refactor the device_info data chunks.

view details

push time in 6 days

issue commentopenairplay/airplay2-receiver

Rework the pairings folder

OK, I took a stab at this, and I'll hopefully have a PR coming soon.

systemcrash

comment created time in 6 days

push eventsystemcrash/airplay2-receiver

Paul Dee

commit sha 090edeb3af87ddddb78d72198e9c7b3ede02baea

Improvements to DXXP. Date and Display of IDs. Flag only unknown tags with non-zero values. New: about ~100 tags seen from iTunes.

view details

push time in 8 days

push eventopenairplay/airplay2-receiver

Paul Dee

commit sha 090edeb3af87ddddb78d72198e9c7b3ede02baea

Improvements to DXXP. Date and Display of IDs. Flag only unknown tags with non-zero values. New: about ~100 tags seen from iTunes.

view details

push time in 8 days

pull request commentopenairplay/airplay2-receiver

Implement Persistent HomeKit Pairing

@LewdNeko could you test the local pair-x branch, please? Did a refactor, want to be sure it works before I commit. @LewdNeko

ping. Check the branch and see whether it works the same, plz.

LewdNeko

comment created time in 8 days

fork systemcrash/AirSpeaker

AirPlay audio player for iOS devices

fork in 9 days

pull request commentopenairplay/airplay2-receiver

Implement Persistent HomeKit Pairing

Can you try one thing before I merge this? Set the header HTTP_CT_PAIR for all pair-x methods and see how it works. The docs state that header should be there.... self.send_header("Content-Type", HTTP_CT_PAIR)

Yes, please push this to master for pair_add/list/remove.

@LewdNeko could you test the local pair-x branch, please? Did a refactor, want to be sure it works before I commit.

LewdNeko

comment created time in 9 days

create barnchopenairplay/airplay2-receiver

branch : pair-x

created branch time in 9 days

issue openedopenairplay/airplay2-receiver

Rework the pairings folder

@LewdNeko Wonder if you want to take a shot at this. This way, you avoid removing/reinserting all of the strange characters which are not 'file safe' that might appear in IDs today and tomorrow.

I think the pairings should be all be in a single file. It can be whatever format internally, but a text format for simplicity is nice. I propose a single flat JSON file, with each key, ID and permissions base64 encoded.

The alternative is to use binary plists, which we already use in ap2-receiver.

This will at least fix the issue we saw in https://github.com/openairplay/airplay2-receiver/issues/38#issuecomment-881089762

created time in 9 days

pull request commentopenairplay/airplay2-receiver

Implement Persistent HomeKit Pairing

I think also with a bit of post-commit tweaking, we can remove the nacl dependency (for now). See #24 In my commit, I got it working using just Ed25519.

Isn't Curve25519 required for transient pairing, though?

It worked for me with Transient and Non, using Ed25519.

LewdNeko

comment created time in 9 days