#!/usr/bin/env python3
"""
RTL_433 Imported Protocol Signatures

Auto-generated from RTL_433 open-source protocol database.
Source: data/rtl_433_protocols.json (281 devices)

DO NOT EDIT MANUALLY - run scripts/import_rtl433_protocols.py to regenerate.

Generated: 2026-02-14 18:55:13
"""

from src.matcher.protocol_database import ProtocolSignature, Modulation, Encoding

# Imported RTL_433 Protocols (281 total)
RTL433_PROTOCOLS = [

    # Automotive (7 devices)
    ProtocolSignature(
        name="Akhan 100F14 remote keyless entry",
        category="Automotive",
        manufacturer="Akhan",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=316,
        long_pulse_us=1020,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Cardin S466-TX2",
        category="Automotive",
        manufacturer="Cardin",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=730,
        long_pulse_us=1400,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Ford Car Key",
        category="Automotive",
        manufacturer="Ford",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=500,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Honda Car Key",
        category="Automotive",
        manufacturer="Honda",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=250,
        long_pulse_us=500,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Security+ (Keyfob)",
        category="Automotive",
        manufacturer="Security+",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=500,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Security+ 2.0 (Keyfob)",
        category="Automotive",
        manufacturer="Security+",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=250,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="SimpliSafe Home Security System (May require disabling automatic gain for KeyPad decodes)",
        category="Automotive",
        manufacturer="SimpliSafe",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),

    # Energy (3 devices)
    ProtocolSignature(
        name="Bresser water leakage",
        category="Energy",
        manufacturer="Bresser",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=124,
        long_pulse_us=124,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Voltcraft EnergyCount 3000 (ec3k)",
        category="Energy",
        manufacturer="Voltcraft",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=50,
        long_pulse_us=50,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Visonic powercode",
        category="Energy",
        manufacturer="Visonic",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=400,
        long_pulse_us=800,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),

    # Home_Automation (18 devices)
    ProtocolSignature(
        name="DirecTV RC66RX Remote Control",
        category="Home_Automation",
        manufacturer="DirecTV",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=600,
        long_pulse_us=600,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Dish remote 6.3",
        category="Home_Automation",
        manufacturer="Dish",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1692,
        long_pulse_us=2812,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="EcoDHOME Smart Socket and MCEE Solar monitor",
        category="Home_Automation",
        manufacturer="EcoDHOME",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=250,
        long_pulse_us=250,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics/ECOWITT WH51, SwitchDoc Labs SM23 Soil Moisture Sensor",
        category="Home_Automation",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Generic Remote SC226x EV1527",
        category="Home_Automation",
        manufacturer="None",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=464,
        long_pulse_us=1404,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Microchip HCS200/HCS300 KeeLoq Hopping Encoder based remotes",
        category="Home_Automation",
        manufacturer="Microchip",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=370,
        long_pulse_us=772,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Microchip HCS200/HCS300 KeeLoq Hopping Encoder based remotes (FSK)",
        category="Home_Automation",
        manufacturer="Microchip",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=370,
        long_pulse_us=772,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="HT680 Remote control",
        category="Home_Automation",
        manufacturer="HT680",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=200,
        long_pulse_us=600,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Linear Megacode Garage/Gate Remotes",
        category="Home_Automation",
        manufacturer="Linear",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="KlikAanKlikUit Wireless Switch",
        category="Home_Automation",
        manufacturer="KlikAanKlikUit",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=300,
        long_pulse_us=1400,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Nice Flor-s remote control for gates",
        category="Home_Automation",
        manufacturer="Nice",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="SmartFire Proflame 2 remote control",
        category="Home_Automation",
        manufacturer="SmartFire",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=417,
        long_pulse_us=417,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Proove / Nexa / KlikAanKlikUit Wireless Switch",
        category="Home_Automation",
        manufacturer="Proove",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=270,
        long_pulse_us=1300,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Regency Ceiling Fan Remote (-f 303.75M to 303.96M)",
        category="Home_Automation",
        manufacturer="Regency",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=580,
        long_pulse_us=976,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="RojaFlex shutter and remote devices",
        category="Home_Automation",
        manufacturer="RojaFlex",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=100,
        long_pulse_us=100,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Silvercrest Remote Control",
        category="Home_Automation",
        manufacturer="Silvercrest",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=264,
        long_pulse_us=744,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="SRSmith Pool Light Remote Control SRS-2C-TX (-f 915M)",
        category="Home_Automation",
        manufacturer="SRSmith",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=100,
        long_pulse_us=100,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Waveman Switch Transmitter",
        category="Home_Automation",
        manufacturer="Waveman",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=357,
        long_pulse_us=1064,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),

    # Lighting (3 devices)
    ProtocolSignature(
        name="Bresser lightning",
        category="Lighting",
        manufacturer="Bresser",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=124,
        long_pulse_us=124,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LightwaveRF",
        category="Lighting",
        manufacturer="LightwaveRF",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=1250,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Solight TE44/TE66, EMOS E0107T, NX-6876-917",
        category="Lighting",
        manufacturer="Solight",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=972,
        long_pulse_us=1932,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),

    # Other (50 devices)
    ProtocolSignature(
        name="Apator Metra E-RM 30",
        category="Other",
        manufacturer="Apator",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=25,
        long_pulse_us=25,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Arexx Multilogger IP-HA90, IP-TH78EXT, TSN-70E",
        category="Other",
        manufacturer="Arexx",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=208,
        long_pulse_us=208,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Blyss DC5-UK-WH",
        category="Other",
        manufacturer="Blyss",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Brennenstuhl RCS 2044",
        category="Other",
        manufacturer="Brennenstuhl",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=320,
        long_pulse_us=968,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="CED7000 Shot Timer",
        category="Other",
        manufacturer="CED7000",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=1300,
        long_pulse_us=1300,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="DeltaDore X3D devices",
        category="Other",
        manufacturer="DeltaDore",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=25,
        long_pulse_us=25,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Efergy e2 classic",
        category="Other",
        manufacturer="Efergy",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=64,
        long_pulse_us=136,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Efergy Optical",
        category="Other",
        manufacturer="Efergy",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=64,
        long_pulse_us=136,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ELV EM 1000",
        category="Other",
        manufacturer="ELV",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ELV WS 2000",
        category="Other",
        manufacturer="ELV",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=366,
        long_pulse_us=854,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ERT Interval Data Message (IDM)",
        category="Other",
        manufacturer="ERT",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=30,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ERT Standard Consumption Message (SCM)",
        category="Other",
        manufacturer="ERT",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=30,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Esperanza EWS",
        category="Other",
        manufacturer="Esperanza",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="FS20 / FHT",
        category="Other",
        manufacturer="FS20",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=400,
        long_pulse_us=600,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Funkbus / Instafunk (Berker, Gira, Jung)",
        category="Other",
        manufacturer="Funkbus",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="GE Color Effects",
        category="Other",
        manufacturer="GE",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Globaltronics QUIGG GT-TMBBQ-05",
        category="Other",
        manufacturer="Globaltronics",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="IBIS beacon",
        category="Other",
        manufacturer="IBIS",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=30,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Insteon",
        category="Other",
        manufacturer="Insteon",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=110,
        long_pulse_us=110,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Intertechno 433",
        category="Other",
        manufacturer="Intertechno",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=330,
        long_pulse_us=1400,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Klimalogg",
        category="Other",
        manufacturer="Klimalogg",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=26,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Wireless M-Bus, Mode C&T, 100kbps (-f 868.95M -s 1200k)",
        category="Other",
        manufacturer="None",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=10,
        long_pulse_us=10,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Wireless M-Bus, Mode T, 32.768kbps (-f 868.3M -s 1000k)",
        category="Other",
        manufacturer="None",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Wireless M-Bus, Mode S, 32.768kbps (-f 868.3M -s 1000k)",
        category="Other",
        manufacturer="None",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Wireless M-Bus, Mode R, 4.8kbps (-f 868.33M)",
        category="Other",
        manufacturer="None",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Wireless M-Bus, Mode F, 2.4kbps",
        category="Other",
        manufacturer="None",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=1000,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Maverick ET73",
        category="Other",
        manufacturer="Maverick",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1050,
        long_pulse_us=2050,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Mebus 433",
        category="Other",
        manufacturer="Mebus",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=800,
        long_pulse_us=1600,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Template decoder",
        category="Other",
        manufacturer="Template",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=132,
        long_pulse_us=224,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Nexa",
        category="Other",
        manufacturer="Nexa",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=270,
        long_pulse_us=1300,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Norgo NGE101",
        category="Other",
        manufacturer="Norgo",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=486,
        long_pulse_us=972,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Oil Ultrasonic SMART FSK",
        category="Other",
        manufacturer="Oil",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=500,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Oil Ultrasonic STANDARD FSK",
        category="Other",
        manufacturer="Oil",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=500,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Oil Ultrasonic STANDARD ASK",
        category="Other",
        manufacturer="Oil",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Watchman Sonic Advanced / Plus, Tekelek",
        category="Other",
        manufacturer="Watchman",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=500,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Opus/Imagintronix XT300 Soil Moisture",
        category="Other",
        manufacturer="Opus/Imagintronix",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=544,
        long_pulse_us=932,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Quhwa",
        category="Other",
        manufacturer="Quhwa",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=360,
        long_pulse_us=1070,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Quinetic",
        category="Other",
        manufacturer="Quinetic",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=10,
        long_pulse_us=10,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Radiohead ASK",
        category="Other",
        manufacturer="Radiohead",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="RF-tech",
        category="Other",
        manufacturer="RF-tech",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Rosstech Digital Control Unit DCU-706/Sundance/Jacuzzi",
        category="Other",
        manufacturer="Rosstech",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=200,
        long_pulse_us=200,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Standard Consumption Message Plus (SCMplus)",
        category="Other",
        manufacturer="Standard",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=30,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Somfy io-homecontrol",
        category="Other",
        manufacturer="Somfy",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=26,
        long_pulse_us=26,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Somfy RTS",
        category="Other",
        manufacturer="Somfy",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=604,
        long_pulse_us=604,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TFA-Twin-Plus-30.3049, Conrad KW9010, Ea2 BL999",
        category="Other",
        manufacturer="TFA-Twin-Plus-30.3049,",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Universal (Reverseable) 24V Fan Controller",
        category="Other",
        manufacturer="Universal",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=256,
        long_pulse_us=756,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Vaillant calorMatic VRT340f Central Heating Control",
        category="Other",
        manufacturer="Vaillant",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=836,
        long_pulse_us=1648,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Vauno EN8822C",
        category="Other",
        manufacturer="Vauno",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="WT450, WT260H, WT405H",
        category="Other",
        manufacturer="WT450,",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=976,
        long_pulse_us=1952,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="X10 RF",
        category="Other",
        manufacturer="X10",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=562,
        long_pulse_us=1687,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),

    # Security (23 devices)
    ProtocolSignature(
        name="Cavius smoke, heat and water detector",
        category="Security",
        manufacturer="Cavius",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=206,
        long_pulse_us=206,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Chamberlain CWPIRC PIR Sensor",
        category="Security",
        manufacturer="Chamberlain",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=25,
        long_pulse_us=25,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Chuango Security Technology",
        category="Security",
        manufacturer="Chuango",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=568,
        long_pulse_us=1704,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="DSC Security Contact",
        category="Security",
        manufacturer="DSC",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="DSC Security Contact (WS4945)",
        category="Security",
        manufacturer="DSC",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=536,
        long_pulse_us=1072,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Elro DB286A Doorbell",
        category="Security",
        manufacturer="Elro",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=456,
        long_pulse_us=1448,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Geevon TX16-3 outdoor sensor",
        category="Security",
        manufacturer="Geevon",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Geevon TX19-1 outdoor sensor",
        category="Security",
        manufacturer="Geevon",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Generic wireless motion sensor",
        category="Security",
        manufacturer="None",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=888,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Govee Water Leak Detector H5054, Door Contact Sensor B5023",
        category="Security",
        manufacturer="Govee",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=440,
        long_pulse_us=940,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Honeywell ActivLink, Wireless Doorbell",
        category="Security",
        manufacturer="Honeywell",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=175,
        long_pulse_us=340,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Honeywell ActivLink, Wireless Doorbell (FSK)",
        category="Security",
        manufacturer="Honeywell",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=160,
        long_pulse_us=320,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Interlogix GE UTC Security Devices",
        category="Security",
        manufacturer="Interlogix",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=122,
        long_pulse_us=244,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Jasco/GE Choice Alert Security Devices",
        category="Security",
        manufacturer="Jasco/GE",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=250,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Kerui PIR / Contact Sensor",
        category="Security",
        manufacturer="Kerui",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=420,
        long_pulse_us=960,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Markisol, E-Motion, BOFU, Rollerhouse, BF-30x, BF-415 curtain remote",
        category="Security",
        manufacturer="Markisol,",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=368,
        long_pulse_us=704,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=40,
        typical_pulse_count=94,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Risco 2 Way Agility protocol, Risco PIR/PET Sensor RWX95P",
        category="Security",
        manufacturer="Risco",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=175,
        long_pulse_us=175,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="SimpliSafe Gen 3 Home Security System",
        category="Security",
        manufacturer="SimpliSafe",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=208,
        long_pulse_us=208,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Wireless Smoke and Heat Detector GS 558",
        category="Security",
        manufacturer="None",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=436,
        long_pulse_us=1202,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TFA Dostmann 30.3196 T/H outdoor sensor",
        category="Security",
        manufacturer="TFA",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=245,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TFA Dostmann 30.3221.02 T/H Outdoor Sensor (also 30.3249.02)",
        category="Security",
        manufacturer="TFA",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=235,
        long_pulse_us=480,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="X10 Security",
        category="Security",
        manufacturer="X10",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=562,
        long_pulse_us=1687,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Yale HSA (Home Security Alarm), YES-Alarmkit",
        category="Security",
        manufacturer="Yale",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=850,
        long_pulse_us=1460,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=64,
        typical_pulse_count=126,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),

    # Sensors (36 devices)
    ProtocolSignature(
        name="Orion Endpoint from Badger Meter, GIF2014W-OSE, water meter, hopping from 904.4 Mhz to 924.6Mhz (-s 1600k)",
        category="Sensors",
        manufacturer="Orion",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=10,
        long_pulse_us=10,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Badger ORION water meter, 100kbps (-f 916.45M -s 1200k)",
        category="Sensors",
        manufacturer="Badger",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=10,
        long_pulse_us=10,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="BlueLine Innovations Power Cost Monitor",
        category="Sensors",
        manufacturer="BlueLine",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="bm5-v2 12V Battery Monitor",
        category="Sensors",
        manufacturer="bm5-v2",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=225,
        long_pulse_us=675,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Calibeur RF-104 Sensor",
        category="Sensors",
        manufacturer="Calibeur",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=760,
        long_pulse_us=2240,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Clipsal CMR113 Cent-a-meter power meter",
        category="Sensors",
        manufacturer="Clipsal",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=480,
        long_pulse_us=976,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="CurrentCost Current Sensor",
        category="Sensors",
        manufacturer="CurrentCost",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=250,
        long_pulse_us=250,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ERT Interval Data Message (IDM) for Net Meters",
        category="Sensors",
        manufacturer="ERT",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=30,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ESA1000 / ESA2000 Energy Monitor",
        category="Sensors",
        manufacturer="ESA1000",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=260,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ESIC EMT7110 power meter",
        category="Sensors",
        manufacturer="ESIC",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=104,
        long_pulse_us=104,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WH43 air quality sensor",
        category="Sensors",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WH45 air quality sensor",
        category="Sensors",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WH46 air quality sensor",
        category="Sensors",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset / Ecowitt WH55 water leak sensor",
        category="Sensors",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=60,
        long_pulse_us=60,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Flowis flow meters",
        category="Sensors",
        manufacturer="Flowis",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=10,
        long_pulse_us=10,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="GEO minim+ energy monitor",
        category="Sensors",
        manufacturer="GEO",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=24,
        long_pulse_us=24,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Govee Water Leak Detector H5054",
        category="Sensors",
        manufacturer="Govee",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=440,
        long_pulse_us=940,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Landis & Gyr Gridstream Power Meters 9.6k",
        category="Sensors",
        manufacturer="Landis",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=104,
        long_pulse_us=104,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Landis & Gyr Gridstream Power Meters 19.2k",
        category="Sensors",
        manufacturer="Landis",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Landis & Gyr Gridstream Power Meters 38.4k",
        category="Sensors",
        manufacturer="Landis",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=22,
        long_pulse_us=22,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Globaltronics GT-WT-02 Sensor",
        category="Sensors",
        manufacturer="Globaltronics",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2500,
        long_pulse_us=5000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Globaltronics GT-WT-03 Sensor",
        category="Sensors",
        manufacturer="Globaltronics",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=256,
        long_pulse_us=625,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Homelead HG9901 (Geevon, Dr.Meter, Royal Gardineer) soil moisture/temp/light level sensor",
        category="Sensors",
        manufacturer="Homelead",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=432,
        long_pulse_us=1228,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="IKEA Sparsnas Energy Meter Monitor",
        category="Sensors",
        manufacturer="IKEA",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=27,
        long_pulse_us=27,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor",
        category="Sensors",
        manufacturer="LaCrosse",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=208,
        long_pulse_us=417,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse Technology View LTV-WR1 Multi Sensor",
        category="Sensors",
        manufacturer="LaCrosse",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=104,
        long_pulse_us=104,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Marlec Solar iBoost+ sensors",
        category="Sensors",
        manufacturer="Marlec",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=20,
        long_pulse_us=20,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Maverick ET-732/733 BBQ Sensor",
        category="Sensors",
        manufacturer="Maverick",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=230,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Maverick XR-30 BBQ Sensor",
        category="Sensors",
        manufacturer="Maverick",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=360,
        long_pulse_us=360,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Maverick XR-50 BBQ Sensor",
        category="Sensors",
        manufacturer="Maverick",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=107,
        long_pulse_us=107,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Mueller Hot Rod water meter",
        category="Sensors",
        manufacturer="Mueller",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=26,
        long_pulse_us=26,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Neptune R900 flow meters",
        category="Sensors",
        manufacturer="Neptune",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=30,
        long_pulse_us=30,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Watchman Sonic / Apollo Ultrasonic / Beckett Rocket oil tank monitor",
        category="Sensors",
        manufacturer="Watchman",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=1000,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Sensible Living Mini-Plant Moisture Sensor",
        category="Sensors",
        manufacturer="Sensible",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Revolt NC-5642 Energy Meter",
        category="Sensors",
        manufacturer="Revolt",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=200,
        long_pulse_us=320,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Revolt ZX-7717 power meter",
        category="Sensors",
        manufacturer="Revolt",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=310,
        long_pulse_us=310,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=24,
        max_bits=64,
        typical_pulse_count=118,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),

    # Tpms (25 devices)
    ProtocolSignature(
        name="Schrader TPMS",
        category="Tpms",
        manufacturer="Schrader",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=120,
        long_pulse_us=1000,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Schrader TPMS EG53MA4, Saab, Opel, Vauxhall, Chevrolet",
        category="Tpms",
        manufacturer="Schrader",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=123,
        long_pulse_us=1000,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Schrader TPMS SMD3MA4 (Subaru) 3039 (Infiniti, Nissan, Renault)",
        category="Tpms",
        manufacturer="Schrader",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=120,
        long_pulse_us=120,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Steelmate TPMS",
        category="Tpms",
        manufacturer="Steelmate",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=50,
        long_pulse_us=50,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Abarth 124 Spider TPMS",
        category="Tpms",
        manufacturer="Abarth",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="AVE TPMS",
        category="Tpms",
        manufacturer="AVE",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=100,
        long_pulse_us=100,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="BMW Gen4-Gen5 TPMS and Audi TPMS Pressure Alert, multi-brand HUF/Beru, Continental, Schrader/Sensata, Audi",
        category="Tpms",
        manufacturer="BMW",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=25,
        long_pulse_us=25,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="BMW Gen2 and Gen3 TPMS",
        category="Tpms",
        manufacturer="BMW",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Citroen TPMS",
        category="Tpms",
        manufacturer="Citroen",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="EezTire E618, Carchet TPMS, TST-507 TPMS",
        category="Tpms",
        manufacturer="EezTire",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=50,
        long_pulse_us=50,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Elantra2012 TPMS",
        category="Tpms",
        manufacturer="Elantra2012",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=49,
        long_pulse_us=49,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Ford TPMS",
        category="Tpms",
        manufacturer="Ford",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="GM-Aftermarket TPMS",
        category="Tpms",
        manufacturer="GM-Aftermarket",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=120,
        long_pulse_us=1000,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Hyundai TPMS (VDO)",
        category="Tpms",
        manufacturer="Hyundai",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Jansite TPMS Model TY02S",
        category="Tpms",
        manufacturer="Jansite",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Jansite TPMS Model Solar",
        category="Tpms",
        manufacturer="Jansite",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=51,
        long_pulse_us=51,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Kia TPMS (-s 1000k)",
        category="Tpms",
        manufacturer="Kia",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=50,
        long_pulse_us=50,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Nissan TPMS",
        category="Tpms",
        manufacturer="Nissan",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=120,
        long_pulse_us=120,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="PMV-107J (Toyota) TPMS",
        category="Tpms",
        manufacturer="PMV-107J",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=100,
        long_pulse_us=100,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Porsche Boxster/Cayman TPMS",
        category="Tpms",
        manufacturer="Porsche",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Renault TPMS",
        category="Tpms",
        manufacturer="Renault",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Renault 0435R TPMS",
        category="Tpms",
        manufacturer="Renault",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Toyota TPMS",
        category="Tpms",
        manufacturer="Toyota",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Unbranded SolarTPMS for trucks",
        category="Tpms",
        manufacturer="Unbranded",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=52,
        long_pulse_us=52,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TyreGuard 400 TPMS",
        category="Tpms",
        manufacturer="TyreGuard",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=100,
        long_pulse_us=100,
        frequency=315000000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=80,
        typical_pulse_count=174,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),

    # Weather (116 devices)
    ProtocolSignature(
        name="Amazon Basics Meat Thermometer",
        category="Weather",
        manufacturer="Amazon",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=550,
        long_pulse_us=550,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Acurite 896 Rain Gauge",
        category="Weather",
        manufacturer="Acurite",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Acurite 609TXC Temperature and Humidity Sensor",
        category="Weather",
        manufacturer="Acurite",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Acurite 592TXR temp/humidity, 592TX temp, 5n1, 3n1, Atlas weather station, 515 fridge/freezer, 6045 lightning, 899 rain, 1190/1192 leak",
        category="Weather",
        manufacturer="Acurite",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=220,
        long_pulse_us=408,
        frequency=915000000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Acurite 986 Refrigerator / Freezer Thermometer",
        category="Weather",
        manufacturer="Acurite",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=520,
        long_pulse_us=880,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Acurite 606TX / Technoline TX960 Temperature Sensor",
        category="Weather",
        manufacturer="Acurite",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Acurite 00275rm,00276rm Temp/Humidity with optional probe",
        category="Weather",
        manufacturer="Acurite",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=232,
        long_pulse_us=420,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Acurite 590TX Temperature with optional Humidity",
        category="Weather",
        manufacturer="Acurite",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Acurite Grill/Meat Thermometer 01185M",
        category="Weather",
        manufacturer="Acurite",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=840,
        long_pulse_us=2070,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon)",
        category="Weather",
        manufacturer="AlectoV1",
        modulation=Modulation.OOK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=128,
        typical_pulse_count=222,
        preamble_pattern="1010" * 12,
        sync_pattern="1000",
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Ambient Weather F007TH, TFA 30.3208.02, SwitchDocLabs F016TH temperature sensor",
        category="Weather",
        manufacturer="Ambient",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Ambient Weather TX-8300 Temperature/Humidity Sensor",
        category="Weather",
        manufacturer="Ambient",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Ambient Weather WH31E Thermo-Hygrometer Sensor, EcoWitt WH40 rain gauge, WS68 weather station",
        category="Weather",
        manufacturer="Ambient",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=56,
        long_pulse_us=56,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TBH weather sensor",
        category="Weather",
        manufacturer="TBH",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=212,
        long_pulse_us=212,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Atech-WS308 temperature sensor",
        category="Weather",
        manufacturer="Atech-WS308",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1600,
        long_pulse_us=1832,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Auriol 4-LD5661/4-LD5972/4-LD6313 temperature/rain sensors",
        category="Weather",
        manufacturer="Auriol",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Auriol AFT 77 B2 temperature sensor",
        category="Weather",
        manufacturer="Auriol",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=920,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Auriol AFW2A1 temperature/humidity sensor",
        category="Weather",
        manufacturer="Auriol",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=576,
        long_pulse_us=1536,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Auriol AHFL temperature/humidity sensor",
        category="Weather",
        manufacturer="Auriol",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2100,
        long_pulse_us=4150,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Auriol HG02832, HG05124A-DCF, Rubicson 48957 temperature/humidity sensor",
        category="Weather",
        manufacturer="Auriol",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=252,
        long_pulse_us=612,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Baldr / RainPoint rain gauge.",
        category="Weather",
        manufacturer="Baldr",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Baldr E0666TH Thermo-Hygrometer",
        category="Weather",
        manufacturer="Baldr",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Bresser Thermo-/Hygro-Sensor 3CH",
        category="Weather",
        manufacturer="Bresser",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Bresser Weather Center 5-in-1",
        category="Weather",
        manufacturer="Bresser",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=124,
        long_pulse_us=124,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Bresser Weather Center 6-in-1, 7-in-1 indoor, soil, new 5-in-1, 3-in-1 wind gauge, Froggit WH6000, Ventus C8488A",
        category="Weather",
        manufacturer="Bresser",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=124,
        long_pulse_us=124,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Bresser Weather Center 7-in-1, Air Quality PM2.5/PM10 7009970, CO2 7009977, HCHO/VOC 7009978 sensors",
        category="Weather",
        manufacturer="Bresser",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=124,
        long_pulse_us=124,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Bresser Thermo-/Hygro-Sensor Explore Scientific ST1005H",
        category="Weather",
        manufacturer="Bresser",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2500,
        long_pulse_us=4500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Biltema rain gauge",
        category="Weather",
        manufacturer="Biltema",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1940,
        long_pulse_us=3900,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Burnhard BBQ thermometer",
        category="Weather",
        manufacturer="Burnhard",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=240,
        long_pulse_us=484,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Celsia CZC1 Thermostat",
        category="Weather",
        manufacturer="Celsia",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1220,
        long_pulse_us=1220,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Companion WTR001 Temperature Sensor",
        category="Weather",
        manufacturer="Companion",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=732,
        long_pulse_us=2196,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Cotech 36-7959, SwitchDocLabs FT020T wireless weather station with USB",
        category="Weather",
        manufacturer="Cotech",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Danfoss CFR Thermostat",
        category="Weather",
        manufacturer="Danfoss",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=100,
        long_pulse_us=100,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Digitech XC-0324 / AmbientWeather FT005TH temp/hum sensor",
        category="Weather",
        manufacturer="Digitech",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=520,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A",
        category="Weather",
        manufacturer="Ecowitt",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1480,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Eurochron EFTH-800 temperature and humidity sensor",
        category="Weather",
        manufacturer="Eurochron",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=250,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Emax W6, rebrand Altronics x7063/4, Optex 990040/50/51, Orium 13093/13123, Infactory FWS-1200, Newentor Q9, Otio 810025, Protmex PT3390A, Jula Marquant 014331/32, TechniSat IMETEO X6 76-4924-00, Weather Station or temperature/humidity sensor",
        category="Weather",
        manufacturer="Emax",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=90,
        long_pulse_us=90,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="EMOS E6016 weatherstation with DCF77",
        category="Weather",
        manufacturer="EMOS",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=280,
        long_pulse_us=796,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="EMOS E6016 rain gauge",
        category="Weather",
        manufacturer="EMOS",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=300,
        long_pulse_us=800,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Eurochron temperature and humidity sensor",
        category="Weather",
        manufacturer="Eurochron",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1016,
        long_pulse_us=2024,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics, WH2, WH5, Telldus Temperature/Humidity/Rain Sensor",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics, WH25, WH32, WH32B, WN32B, WH24, WH65B, HP1000, Misol WS2320 Temperature/Humidity/Pressure Sensor",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics, WH0530 Temperature/Rain Sensor",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=504,
        long_pulse_us=1480,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset WH1050 Weather Station",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=544,
        long_pulse_us=1524,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TFA 30.3151 Weather Station",
        category="Weather",
        manufacturer="TFA",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=60,
        long_pulse_us=60,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WH1080/WH3080 Weather Station",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=544,
        long_pulse_us=1524,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WH1080/WH3080 Weather Station (FSK)",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Ambient Weather WH31L (FineOffset WH57) Lightning-Strike sensor",
        category="Weather",
        manufacturer="Ambient",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=56,
        long_pulse_us=56,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WN34S/L/D and Froggit DP150/D35 temperature sensor",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WS80 weather station",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WS85 weather station",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Fine Offset Electronics WS90 weather station",
        category="Weather",
        manufacturer="Fine",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="FT-004-B Temperature Sensor",
        category="Weather",
        manufacturer="FT-004-B",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1956,
        long_pulse_us=3900,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Gasmate BA1008 meat thermometer",
        category="Weather",
        manufacturer="Gasmate",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=536,
        long_pulse_us=1668,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Generic temperature sensor 1",
        category="Weather",
        manufacturer="None",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="HIDEKI TS04 Temperature, Humidity, Wind and Rain Sensor",
        category="Weather",
        manufacturer="HIDEKI",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=520,
        long_pulse_us=1040,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="AOK Weather Station rebrand Holman Industries iWeather WS5029, Conrad AOK-5056, Optex 990018",
        category="Weather",
        manufacturer="AOK",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=100,
        long_pulse_us=100,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Holman Industries iWeather WS5029 weather station (older PWM)",
        category="Weather",
        manufacturer="Holman",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=488,
        long_pulse_us=976,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Honeywell Door/Window Sensor, 2Gig DW10/DW11, RE208 repeater",
        category="Weather",
        manufacturer="Honeywell",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=156,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Honeywell CM921 Wireless Programmable Room Thermostat",
        category="Weather",
        manufacturer="Honeywell",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=26,
        long_pulse_us=26,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="inFactory, nor-tec, FreeTec NC-3982-913 temperature humidity sensor",
        category="Weather",
        manufacturer="inFactory,",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Inkbird ITH-20R temperature humidity sensor",
        category="Weather",
        manufacturer="Inkbird",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=100,
        long_pulse_us=100,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Inovalley kw9015b, TFA Dostmann 30.3161 (Rain and temperature sensor)",
        category="Weather",
        manufacturer="Inovalley",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Kedsum Temperature & Humidity Sensor, Pearl NC-7415",
        category="Weather",
        manufacturer="Kedsum",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse TX Temperature / Humidity Sensor",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=550,
        long_pulse_us=1400,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse Technology View LTV-WSDTH01 Breeze Pro Wind Sensor",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=107,
        long_pulse_us=107,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse Technology View LTV-R1, LTV-R3 Rainfall Gauge, LTV-W1/W2 Wind Sensor",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=104,
        long_pulse_us=104,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse Technology View LTV-TH Thermo/Hygro Sensor",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=104,
        long_pulse_us=104,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse TX31U-IT, The Weather Channel WS-1910TWC-IT",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=116,
        long_pulse_us=116,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse TX34-IT rain gauge",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=58,
        long_pulse_us=58,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse TX29IT, TFA Dostmann 30.3159.IT Temperature sensor",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=55,
        long_pulse_us=55,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse TX35DTH-IT, TFA Dostmann 30.3155 Temperature/Humidity sensor",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=105,
        long_pulse_us=105,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse/ELV/Conrad WS7000/WS2500 weather sensors",
        category="Weather",
        manufacturer="LaCrosse/ELV/Conrad",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=400,
        long_pulse_us=800,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="LaCrosse WS-2310 / WS-3600 Weather Station",
        category="Weather",
        manufacturer="LaCrosse",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=368,
        long_pulse_us=1464,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Missil ML0757 weather station",
        category="Weather",
        manufacturer="Missil",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=975,
        long_pulse_us=1950,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor",
        category="Weather",
        manufacturer="Nexus,",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Nexus, CRX, Prego sauna temperature sensor",
        category="Weather",
        manufacturer="Nexus,",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Oregon Scientific Weather Sensor",
        category="Weather",
        manufacturer="Oregon",
        modulation=Modulation.OOK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=440,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=128,
        typical_pulse_count=222,
        preamble_pattern="1010" * 12,
        sync_pattern="1000",
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Oregon Scientific SL109H Remote Thermal Hygro Sensor",
        category="Weather",
        manufacturer="Oregon",
        modulation=Modulation.OOK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=64,
        max_bits=128,
        typical_pulse_count=222,
        preamble_pattern="1010" * 12,
        sync_pattern="1000",
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="OSv1 Temperature Sensor",
        category="Weather",
        manufacturer="OSv1",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=1465,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Oria WA150KM freezer and fridge thermometer",
        category="Weather",
        manufacturer="Oria",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=490,
        long_pulse_us=490,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Philips outdoor temperature sensor (type AJ3650)",
        category="Weather",
        manufacturer="Philips",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=6000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Philips outdoor temperature sensor (type AJ7010)",
        category="Weather",
        manufacturer="Philips",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=6000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Prologue, FreeTec NC-7104, NC-7159-675 temperature sensor",
        category="Weather",
        manufacturer="Prologue,",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="RainPoint soil temperature and moisture sensor",
        category="Weather",
        manufacturer="RainPoint",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="RainPoint HCS012ARF Rain Gauge sensor",
        category="Weather",
        manufacturer="RainPoint",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=320,
        long_pulse_us=320,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Rubicson, TFA 30.3197 or InFactory PT-310 Temperature Sensor",
        category="Weather",
        manufacturer="Rubicson,",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Rubicson 48659 Thermometer",
        category="Weather",
        manufacturer="Rubicson",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=940,
        long_pulse_us=1900,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Rubicson Pool Thermometer 48942",
        category="Weather",
        manufacturer="Rubicson",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=280,
        long_pulse_us=480,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Conrad S3318P, FreeTec NC-5849-913 temperature humidity sensor, ORIA WA50 ST389 temperature sensor",
        category="Weather",
        manufacturer="Conrad",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1900,
        long_pulse_us=3800,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Schou 72543 Day Rain Gauge, Motonet MTX Rain, MarQuant Rain Gauge, TFA Dostmann 30.3252.01/47.3006.01 Rain Gauge and Thermometer, ADE WS1907",
        category="Weather",
        manufacturer="Schou",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=972,
        long_pulse_us=2680,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Sharp SPC775 weather station",
        category="Weather",
        manufacturer="Sharp",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=225,
        long_pulse_us=425,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Springfield Temperature and Soil Moisture",
        category="Weather",
        manufacturer="Springfield",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Telldus weather station FT0385R sensors",
        category="Weather",
        manufacturer="Telldus",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TFA Dostmann 14.1504.V2 Radio-controlled grill and meat thermometer",
        category="Weather",
        manufacturer="TFA",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=360,
        long_pulse_us=360,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TFA Drop Rain Gauge 30.3233.01",
        category="Weather",
        manufacturer="TFA",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=255,
        long_pulse_us=510,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TFA Marbella Pool Thermometer",
        category="Weather",
        manufacturer="TFA",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=105,
        long_pulse_us=105,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TFA pool temperature sensor",
        category="Weather",
        manufacturer="TFA",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4600,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Thermopro TP11 Thermometer",
        category="Weather",
        manufacturer="Thermopro",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ThermoPro TP08/TP12/TP20 thermometer",
        category="Weather",
        manufacturer="ThermoPro",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1500,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ThermoPro TP28b Super Long Range Wireless Meat Thermometer for Smoker BBQ Grill",
        category="Weather",
        manufacturer="ThermoPro",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=105,
        long_pulse_us=105,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ThermoPro Meat Thermometers, TP828B 2 probes with Temp, BBQ Target LO and HI",
        category="Weather",
        manufacturer="ThermoPro",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=102,
        long_pulse_us=102,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ThermoPro Meat Thermometers, TP829B 4 probes with temp only",
        category="Weather",
        manufacturer="ThermoPro",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=102,
        long_pulse_us=102,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ThermoPro-TX2 temperature sensor",
        category="Weather",
        manufacturer="ThermoPro-TX2",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=2000,
        long_pulse_us=4000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ThermoPro TX-2C Thermometer and Humidity sensor",
        category="Weather",
        manufacturer="ThermoPro",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1958,
        long_pulse_us=3825,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="ThermoPro TX-7B Outdoor Thermometer Hygrometer",
        category="Weather",
        manufacturer="ThermoPro",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=108,
        long_pulse_us=108,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Thermor DG950 weather station",
        category="Weather",
        manufacturer="Thermor",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=680,
        long_pulse_us=2100,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="TS-FT002 Wireless Ultrasonic Tank Liquid Level Meter With Temperature Sensor",
        category="Weather",
        manufacturer="TS-FT002",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=464,
        long_pulse_us=948,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Emos TTX201 Temperature Sensor",
        category="Weather",
        manufacturer="Emos",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=510,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Vevor Wireless Weather Station 7-in-1",
        category="Weather",
        manufacturer="Vevor",
        modulation=Modulation.FSK,
        encoding=Encoding.MANCHESTER,
        short_pulse_us=87,
        long_pulse_us=87,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Watts WFHT-RF Thermostat",
        category="Weather",
        manufacturer="Watts",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=260,
        long_pulse_us=600,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="WEC-2103 temperature/humidity sensor",
        category="Weather",
        manufacturer="WEC-2103",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1900,
        long_pulse_us=3800,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="WG-PB12V1 Temperature Sensor",
        category="Weather",
        manufacturer="WG-PB12V1",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=564,
        long_pulse_us=1476,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="WS2032 weather station",
        category="Weather",
        manufacturer="WS2032",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=500,
        long_pulse_us=1000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="Hyundai WS SENZOR Remote Temperature Sensor",
        category="Weather",
        manufacturer="Hyundai",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=1000,
        long_pulse_us=2000,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
    ProtocolSignature(
        name="WT0124 Pool Thermometer",
        category="Weather",
        manufacturer="WT0124",
        modulation=Modulation.OOK,
        encoding=Encoding.PWM,
        short_pulse_us=680,
        long_pulse_us=1850,
        frequency=433920000,
        frequency_tolerance=100000,
        min_bits=32,
        max_bits=72,
        typical_pulse_count=134,
        timing_tolerance=0.25,
        min_confidence=0.5,
    ),
]

# Export for use in protocol_database.py
__all__ = ['RTL433_PROTOCOLS']
