npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

asksin-analyzer-xs

v1.8.0

Published

Analyzer for radio telegrams in a HomeMatic environment

Downloads

33

Readme

AskSin Analyzer XS

latest release github downloads npm downloads Docker Pulls Build and Publish

Funktelegramm-Dekodierer für den Einsatz in HomeMatic Umgebungen.

Betrieb ist sowohl als Desktop-Anwendung unter Windows, Mac und Linux möglich sowie auf Servern als Node.js-App oder über Docker.

Der AskSin Analyzer XS ist eine alternative Implementierung des 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.

Features:

  • Dekodieren von Homematic Telegrammen
  • Berechnung des DutyCycle pro Device (und Empfänger)
  • Darstellen der RSSI-Noise (Störsender); Alert-Trigger wenn ein Schwellwert überstiegen wird
  • Langzeitsaufzeichnungen
  • Auflösen von Device-Namen über eine CCU oder FHEM
  • RedMatic support

AskSinAnalyzerXS-TelegramList

AskSinAnalyzerXS-DutyCycle

AskSinSniffer328P Hardware

Die Daten des AskSinSniffer328P werden über einen UART Schnittstelle an den AskSinAnalyzerXS übertragen und dort ausgewertet und visualisiert.

  • Sniffer
    • Arduino Pro Mini 8Mhz 3.3V oder Arduino-Nano
    • CC1101 Funkmodul
  • UART Schnittstelle

Der Aufbau folgt der allgemeingültige Verdrahtung des Pro Mini mit dem CC1101 Funkmodul. Der Config-Taster findet keine Verwendung und die Status-LED ist optional.

Alternativ funktioniert auch der nanoCUL CC1101 mit angepasstem GPIO Mapping. Siehe Flash-Anleitung NANO CUL 868MHz Stick für Windows.

Siehe auch: AskSin Analyzer XS Board von Tom Major.

Optional kann ein kleines Display verbaut werden was den RSSI-Noise Pegel darstellt.

NanoCul with OLED Display

Installation

AVR Sketch

Auf dem ATmega328P wird der AskSinSniffer328P-Sketch geflasht. Das Vorgehen ist auf asksinpp.de erläutert.

: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 zu verwenden.

Electron-App

Die Desktop-Anwendung steht für Windows, MacOS und Linux zum Download unter Releases bereit.

Tipp: Der AskSinAnalyzerXS gibt einige Debug-Informationen auf der Commando-Zeile aus. Bei Problemen empfiehlt sich also ein Start über ein Terminal. (Bash, cmd).

Node-App (npm)

Der AskSinAnalyzerXS kann auch als Node.js Anwendung betrieben werden was z.B. auf einem Server sinnvoll sein kann.

$ npm i -g asksin-analyzer-xs
$ asksin-analyzer-xs
Detected SerialPort: /dev/ttyUSB0 (FTDI)
Server started on port 8081

Die WebUI kann über den Browser auf http://localhost:8081 aufgerufen werden.

Achtung: Will man wirklich ein npm-install als root durchführen ist der Parameter --unsafe nötig.

Docker

Der Analyzer XS ist auch als Docker-Image verfügbar. Der Device-Paramter ist entsprechend anzupassen.

docker run --rm --name analyzer -p 8081:8081 -v $PWD/data:/data --device=/dev/ttyUSB0 psitrax/asksinanalyzer

Konfiguration

Auflösung von Gerätenamen

Der 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.

Soll die Geräteliste von FHEM abgerufen werden ist in der 99_myUtils.pm folgende Funktion einzufügen:

sub printHMDevs {
  my @data;
  foreach my $device (devspec2array("TYPE=CUL_HM")) {
    my $snr = AttrVal($device,'serialNr','');
	$snr = "<Zentrale>" if AttrVal($device,'model','') eq 'CCU-FHEM';
	if( $snr ne '' ) {
	  my $name = AttrVal($device,'alias',$device);
	  my $addr = InternalVal($device,'DEF','0');
	  push @data, { name => $name, serial => $snr, address => hex($addr) };
	}
  }
  return JSON->new->encode( { created => time, devices => \@data } );
}

Im 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()}&XHR=1 eingetragen.

Debugging / Fehlersuche

  1. Der Analyzer gibt Debug-Informationen auf der Kommandozeile aus.

    Windows-User müssen den asksin-analyzer-xs-...-win.zip Build laden und beim Start den Parameter --enable-logging anhängen.

  2. Die Anwendung besitzt DevTools die über das Menü View -> Toggle Developer Tools aufgerufen werden können.

Lizenz

CC BY-NC-SA 4.0