{"id":15716061,"url":"https://github.com/psi-4ward/asksinanalyzerxs","last_synced_at":"2025-04-15T01:42:47.437Z","repository":{"id":37197088,"uuid":"238471011","full_name":"psi-4ward/AskSinAnalyzerXS","owner":"psi-4ward","description":"Analyzer for radio telegrams in a HomeMatic environment","archived":false,"fork":false,"pushed_at":"2023-03-04T05:55:59.000Z","size":3368,"stargazers_count":49,"open_issues_count":19,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-07T11:52:18.330Z","etag":null,"topics":["asksinpp","cc1101","electron","fhem","homebrew","homematic","sniffer"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/psi-4ward.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"ko_fi":"christoph_psi"}},"created_at":"2020-02-05T14:34:56.000Z","updated_at":"2025-03-30T16:00:56.000Z","dependencies_parsed_at":"2024-01-14T06:56:15.200Z","dependency_job_id":null,"html_url":"https://github.com/psi-4ward/AskSinAnalyzerXS","commit_stats":{"total_commits":147,"total_committers":4,"mean_commits":36.75,"dds":"0.061224489795918324","last_synced_commit":"0b607e16befb13b73818788b6b761a50fa49fb94"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2FAskSinAnalyzerXS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2FAskSinAnalyzerXS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2FAskSinAnalyzerXS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psi-4ward%2FAskSinAnalyzerXS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/psi-4ward","download_url":"https://codeload.github.com/psi-4ward/AskSinAnalyzerXS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248991511,"owners_count":21194893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asksinpp","cc1101","electron","fhem","homebrew","homematic","sniffer"],"created_at":"2024-10-03T21:43:56.613Z","updated_at":"2025-04-15T01:42:47.421Z","avatar_url":"https://github.com/psi-4ward.png","language":"Vue","funding_links":["https://ko-fi.com/christoph_psi"],"categories":[],"sub_categories":[],"readme":"# AskSin Analyzer XS\n\n[![latest release](https://img.shields.io/github/v/release/psi-4ward/AskSinAnalyzerXS)](https://github.com/psi-4ward/AskSinAnalyzerXS/releases/latest)\n[![github downloads](https://img.shields.io/github/downloads/psi-4ward/asksinanalyzerxs/total.svg?color=%23a7a71f\u0026label=github%20downloads)](https://somsubhra.com/github-release-stats/?username=psi-4ward\u0026repository=AskSinAnalyzerXS) \n[![npm downloads](https://img.shields.io/npm/dt/asksin-analyzer-xs?color=%23a7a71f\u0026label=npm%20downloads\u0026)](https://www.npmjs.com/package/asksin-analyzer-xs)\n[![Docker Pulls](https://img.shields.io/docker/pulls/psitrax/asksinanalyzer.svg?color=%23a7a71f\u0026label=docker%20pulls)](https://hub.docker.com/r/psitrax/asksinanalyzer/)\n[![Build and Publish](https://github.com/psi-4ward/AskSinAnalyzerXS/actions/workflows/build_publish.yml/badge.svg)](https://github.com/psi-4ward/AskSinAnalyzerXS/actions)\n\nFunktelegramm-Dekodierer für den Einsatz in HomeMatic Umgebungen.\n\nBetrieb ist sowohl als Desktop-Anwendung unter Windows, Mac und Linux möglich sowie auf Servern als Node.js-App oder über Docker.\n\nDer AskSin Analyzer XS ist eine alternative Implementierung des [AskSinAnalyzer](https://github.com/jp112sdl/AskSinAnalyzer) ohne ESP32 und Display was die Umsetzung der Hardware vereinfacht. Es genügt ein AVR (ATMega 328P) mit CC1101 Funkmodul sowie ein USB-UART Adapter.\n\n**Features**:\n* Dekodieren von Homematic Telegrammen\n* Berechnung des DutyCycle pro Device (und Empfänger)\n* Darstellen der RSSI-Noise (Störsender); Alert-Trigger wenn ein Schwellwert überstiegen wird\n* Langzeitsaufzeichnungen\n* Auflösen von Device-Namen über eine CCU oder FHEM\n* [RedMatic support](https://github.com/psi-4ward/AskSinAnalyzerXS/blob/master/docs/NodeRED.md)\n\n![AskSinAnalyzerXS-TelegramList](https://raw.githubusercontent.com/psi-4ward/AskSinAnalyzerXS/master/docs/AskSinAnalyzerXS-TelegramList.png)\n\n![AskSinAnalyzerXS-DutyCycle](https://raw.githubusercontent.com/psi-4ward/AskSinAnalyzerXS/master/docs/AskSinAnalyzerXS-DutyCycle.png)\n\n## AskSinSniffer328P Hardware\n\nDie Daten des AskSinSniffer328P werden über einen UART Schnittstelle an den AskSinAnalyzerXS übertragen und dort ausgewertet und visualisiert.\n\n* Sniffer\n  * Arduino Pro Mini 8Mhz 3.3V oder Arduino-Nano\n  * CC1101 Funkmodul\n* UART Schnittstelle\n  * USB-UART Adapter (FTDI, CP2102, etc), bei Arduino-Nano on-board\n  * Alternativ kann der Arduino auch [direkt an die UART GPIOs eines RaspberryPi](https://homematic-forum.de/forum/viewtopic.php?f=76\u0026t=56395\u0026start=70#p569429), Tinkerboard etc angeschlossen werden.\n\nDer Aufbau folgt der [allgemeingültige Verdrahtung des Pro Mini mit dem CC1101 Funkmodul](https://asksinpp.de/Grundlagen/01_hardware.html#verdrahtung). Der Config-Taster findet keine Verwendung und die Status-LED ist optional. \n\nAlternativ funktioniert auch der [nanoCUL CC1101](https://www.nanocul.de/) mit [angepasstem GPIO Mapping](https://homematic-forum.de/forum/viewtopic.php?f=76\u0026t=56395\u0026start=10#p562580). Siehe [Flash-Anleitung NANO CUL 868MHz Stick für Windows](https://homematic-forum.de/forum/viewtopic.php?f=76\u0026t=56395\u0026sid=d766ef0ef66df7a52864774cf45f8bad\u0026start=220#p581363).\n\nSiehe auch: [AskSin Analyzer XS Board](https://github.com/TomMajor/SmartHome/tree/master/PCB/AskSin-Analyzer-XS) von Tom Major.\n\nOptional kann ein kleines Display verbaut werden was den RSSI-Noise Pegel darstellt.\n\n![NanoCul with OLED Display](./docs/NanoCul_with_display.jpg)\n\n## Installation\n\n* [Latest release](https://github.com/psi-4ward/AskSinAnalyzerXS/releases/latest)\n* [Develop release](https://github.com/psi-4ward/AskSinAnalyzerXS/releases/tag/v0.0.0) v0.0.0\n\n### AVR Sketch\n\nAuf dem ATmega328P wird der [AskSinSniffer328P-Sketch](https://github.com/psi-4ward/AskSinAnalyzer-Sniffer) geflasht. Das Vorgehen ist auf [asksinpp.de](https://asksinpp.de/Grundlagen/) erläutert.\n\n:point_up: **Achtung:** Die AskSinPP-Library 4.1.2 enthält noch nicht alle nötigen Funktionen für den Sniffer. Es ist der aktuelle [Master](https://github.com/pa-pa/AskSinPP/archive/master.zip) zu verwenden.\n\n### Electron-App\n\nDie Desktop-Anwendung steht für Windows, MacOS und Linux zum Download unter [Releases](https://github.com/psi-4ward/AskSinAnalyzerXS/releases) bereit.\n\nTipp: Der AskSinAnalyzerXS gibt einige Debug-Informationen auf der Commando-Zeile aus. Bei Problemen empfiehlt sich also ein Start über ein Terminal. (Bash, cmd).\n\n### Node-App (npm)\n\nDer AskSinAnalyzerXS kann auch als Node.js Anwendung betrieben werden was z.B. auf einem Server sinnvoll sein kann.\n\n```bash\n$ npm i -g asksin-analyzer-xs\n$ asksin-analyzer-xs\nDetected SerialPort: /dev/ttyUSB0 (FTDI)\nServer started on port 8081\n```\n\nDie WebUI kann über den Browser auf [http://localhost:8081](http://localhost:8081) aufgerufen werden.\n\n**Achtung:** Will man _wirklich_ ein npm-install als `root` durchführen ist der Parameter `--unsafe` nötig.\n\n* Der develop-build des master-Branch ist **nicht** als npm-Paket verfügbar, kann aber trotzdem direkt installiert werden:\n  ```bash\n  npm i -g https://github.com/psi-4ward/AskSinAnalyzerXS/releases/download/0.0.0/asksin-analyzer-xs-0.0.0-node.tar.gz\n  ```\n\n* [Anleitung zur Installation als Debian-Service (z.B auf einem Raspberry Pi)](https://github.com/psi-4ward/AskSinAnalyzerXS/blob/master/docs/Install_as_Debian_Service.md)\n\n### Docker\n\nDer Analyzer XS ist auch als Docker-Image verfügbar. Der Device-Paramter ist entsprechend anzupassen.\n\n```bash\ndocker run --rm --name analyzer -p 8081:8081 -v $PWD/data:/data --device=/dev/ttyUSB0 psitrax/asksinanalyzer\n```\n\n\n## Konfiguration\n\n### Auflösung von Gerätenamen\n\nDer AskSinSniffer328P sieht nur die _Device-Addresses_, nicht aber deren Seriennummern oder Namen. Damit die Adressen in Klartextnamen aufgelöst werden können muss eine DeviceListe von der CCU geladen werden wofür ein Script auf der CCU nötig ist. Siehe [AskSinAnalyzer CCU Untersützung](https://github.com/jp112sdl/AskSinAnalyzer/wiki/CCU_Unterst%C3%BCtzung).\n\nSoll die Geräteliste von FHEM abgerufen werden ist in der `99_myUtils.pm` folgende Funktion einzufügen:\n\n```ruby\nsub printHMDevs {\n  my @data;\n  foreach my $device (devspec2array(\"TYPE=CUL_HM\")) {\n    my $snr = AttrVal($device,'serialNr','');\n\t$snr = \"\u003cZentrale\u003e\" if AttrVal($device,'model','') eq 'CCU-FHEM';\n\tif( $snr ne '' ) {\n\t  my $name = AttrVal($device,'alias',$device);\n\t  my $addr = InternalVal($device,'DEF','0');\n\t  push @data, { name =\u003e $name, serial =\u003e $snr, address =\u003e hex($addr) };\n\t}\n  }\n  return JSON-\u003enew-\u003eencode( { created =\u003e time, devices =\u003e \\@data } );\n}\n```\n\nIm AskSinAnalyzerXS ist bei Verwendung vom FHEM die Option `Device-List Backend ist eine CCU` zu deaktivieren und als `Device-List URL` wird der Wert `http://fhem.local:8083/fhem?cmd={printHMDevs()}\u0026XHR=1` eingetragen.\n\n## Debugging / Fehlersuche\n\n1. Der Analyzer gibt Debug-Informationen auf der Kommandozeile aus. \n\n    Windows-User müssen den `asksin-analyzer-xs-...-win.zip` Build laden und beim Start den Parameter `--enable-logging` anhängen.\n\n2. Die Anwendung besitzt _DevTools_ die über das Menü `View -\u003e Toggle Developer Tools` aufgerufen werden können.\n\n## Lizenz\n\nCC BY-NC-SA 4.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsi-4ward%2Fasksinanalyzerxs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpsi-4ward%2Fasksinanalyzerxs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsi-4ward%2Fasksinanalyzerxs/lists"}