diff --git a/CHANGELOG.md b/CHANGELOG.md index cbfbd9158..e94410a7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,20 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) --- +## [2.34.0] — Unreleased + +### Fixed +- **Storage: 271 cameras now set `storage.onboard`.** They listed a maximum microSD size but did not say they had a card slot. AVYCON (101), Bosch (50), Panasonic (33), TRUEN (25), Hikvision (22), Hyundai (12), Anpviz (9), QuarkView (9), Tapo (6), FLIR (4). +- **Trassir: 29 aliases removed** that held the maker's product description paragraph instead of an order code or name. One of them described a different model. +- **Trassir: 4 operating temperatures** written with a dash and ellipsis (`–10 … +50`) now use the standard `-10 to 50` form (TR-D7121IR1W, TR-D8121IR2W, TR-H2L1, TR-H2S1). +- **BEWARD BD3990FL2 and BD3990FLM:** focal length read `. 1.65`; it is now `1.65` mm, as on BEWARD's product pages. +- **Stray spaces removed** from the RVi-1NCE2020 (3.6) and RVi-2NCR54605 (2.7-13.5) model names and from one Dahua SD6CE245GB-HNR alias. +- **Hikvision DS-2DE3404W-DET5:** an empty focal length value was removed. + +### Changed +- **Tapo C250 (#430):** its Frigate config was reported working on Frigate 0.18.2, so it is now marked verified. The reporter's setup for live view on iPhone and iPad (a go2rtc restream with H.264 video and AAC audio for MSE) and two-way talk (a go2rtc `tapo://admin:@{ip}` source, ONVIF on port 2020) is added as a community note. Reported via the website by Liero. +- **NetBox Device Type Library export (#429):** `scripts/gen-netbox.js` now maps a sub-brand to the manufacturer the library already uses, with a model prefix. Cisco Meraki cameras are written as manufacturer `Cisco`, model `Meraki MV22`, file `device-types/Cisco/Meraki-MV22.yaml`, slug `cisco-meraki-mv22`, matching the library's 86 existing Meraki devices. Before writing a new manufacturer, the script warns when its name contains an existing library manufacturer or when library files already use it as a model prefix. It reads the manufacturer list from a local library clone (`--dtl `, or `../devicetype-library`) and skips the check with a notice when none is found. `--plan` lists where each camera would be written without writing anything. + ## [2.33.0] — Unreleased ### Added diff --git a/README.md b/README.md index 88dd8d3a1..465c59231 100644 --- a/README.md +++ b/README.md @@ -555,7 +555,7 @@ Open — contributions very welcome: - [ ] **Re-source ~1,051 reseller-only cameras** to official OEM datasheets (#164 / #165) - [ ] **Backfill pixel resolution** for the ~2,789 entries that state megapixels but no width×height (#169) -- [ ] **Frigate verification drive** — only 38 of 22,958 shipped configs are community-verified; [confirm one you run](../../issues/new?template=verify-frigate-config.yml) +- [ ] **Frigate verification drive** — only 39 of 22,958 shipped configs are community-verified; [confirm one you run](../../issues/new?template=verify-frigate-config.yml) - [ ] **Grow `community_notes`** — the per-camera quirks/behaviors layer (#297) --- @@ -589,7 +589,7 @@ Specifications are compiled from manufacturer datasheets and reputable retailers If you use this dataset, a link back is appreciated: ``` -CCTV Camera Database (v2.33.0), CC0 1.0. https://cctv-database.com — https://github.com/ch-bas/cctv-camera-database +CCTV Camera Database (v2.34.0), CC0 1.0. https://cctv-database.com — https://github.com/ch-bas/cctv-camera-database ``` --- diff --git a/cameras/anpviz/anpviz-ipc-d3653wd-sa.json b/cameras/anpviz/anpviz-ipc-d3653wd-sa.json index 4af3c3414..6c52d542a 100644 --- a/cameras/anpviz/anpviz-ipc-d3653wd-sa.json +++ b/cameras/anpviz/anpviz-ipc-d3653wd-sa.json @@ -44,6 +44,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, diff --git a/cameras/anpviz/anpviz-ipc-d3683wd-rb.json b/cameras/anpviz/anpviz-ipc-d3683wd-rb.json index 9cddc3e8e..e8781bce4 100644 --- a/cameras/anpviz/anpviz-ipc-d3683wd-rb.json +++ b/cameras/anpviz/anpviz-ipc-d3683wd-rb.json @@ -48,6 +48,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, diff --git a/cameras/anpviz/anpviz-ipc-d3683wd-sa.json b/cameras/anpviz/anpviz-ipc-d3683wd-sa.json index b671407ae..c9c8a3cd6 100644 --- a/cameras/anpviz/anpviz-ipc-d3683wd-sa.json +++ b/cameras/anpviz/anpviz-ipc-d3683wd-sa.json @@ -43,6 +43,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, diff --git a/cameras/anpviz/anpviz-ipc-d3786pd-sa.json b/cameras/anpviz/anpviz-ipc-d3786pd-sa.json index 6bcdcd673..ad1672e70 100644 --- a/cameras/anpviz/anpviz-ipc-d3786pd-sa.json +++ b/cameras/anpviz/anpviz-ipc-d3786pd-sa.json @@ -45,6 +45,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, diff --git a/cameras/anpviz/anpviz-ipc-d381wd-sa.json b/cameras/anpviz/anpviz-ipc-d381wd-sa.json index 025368cb1..3b011052c 100644 --- a/cameras/anpviz/anpviz-ipc-d381wd-sa.json +++ b/cameras/anpviz/anpviz-ipc-d381wd-sa.json @@ -42,6 +42,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "protocols": [ diff --git a/cameras/anpviz/anpviz-ipc-d381wd-sl.json b/cameras/anpviz/anpviz-ipc-d381wd-sl.json index 242eb6b84..6ea5f75cc 100644 --- a/cameras/anpviz/anpviz-ipc-d381wd-sl.json +++ b/cameras/anpviz/anpviz-ipc-d381wd-sl.json @@ -42,6 +42,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, diff --git a/cameras/anpviz/anpviz-ipc-d3886pd-sa.json b/cameras/anpviz/anpviz-ipc-d3886pd-sa.json index 480f433c1..5c330f2a7 100644 --- a/cameras/anpviz/anpviz-ipc-d3886pd-sa.json +++ b/cameras/anpviz/anpviz-ipc-d3886pd-sa.json @@ -49,6 +49,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, diff --git a/cameras/anpviz/anpviz-ptzip3182wd-su-5x.json b/cameras/anpviz/anpviz-ptzip3182wd-su-5x.json index 73d0221a4..32ed65bf4 100644 --- a/cameras/anpviz/anpviz-ptzip3182wd-su-5x.json +++ b/cameras/anpviz/anpviz-ptzip3182wd-su-5x.json @@ -43,6 +43,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "protocols": [ diff --git a/cameras/anpviz/anpviz-ptzip3c404xd-su.json b/cameras/anpviz/anpviz-ptzip3c404xd-su.json index 5ec61f3a6..a2b6eca33 100644 --- a/cameras/anpviz/anpviz-ptzip3c404xd-su.json +++ b/cameras/anpviz/anpviz-ptzip3c404xd-su.json @@ -34,6 +34,7 @@ "consumption_w": 40 }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, diff --git a/cameras/avycon/avc-nab81f28.json b/cameras/avycon/avc-nab81f28.json index 1b52e9322..2e090819f 100644 --- a/cameras/avycon/avc-nab81f28.json +++ b/cameras/avycon/avc-nab81f28.json @@ -80,6 +80,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 55", diff --git a/cameras/avycon/avc-nae41f28.json b/cameras/avycon/avc-nae41f28.json index a07c384dc..080cbea1e 100644 --- a/cameras/avycon/avc-nae41f28.json +++ b/cameras/avycon/avc-nae41f28.json @@ -70,6 +70,7 @@ "consumption_w": 8.3 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nae81f28.json b/cameras/avycon/avc-nae81f28.json index cb141d2b8..9f5d03650 100644 --- a/cameras/avycon/avc-nae81f28.json +++ b/cameras/avycon/avc-nae81f28.json @@ -37,6 +37,7 @@ "onvif" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nbb41f28.json b/cameras/avycon/avc-nbb41f28.json index 1a740158c..6bd6fb3ab 100644 --- a/cameras/avycon/avc-nbb41f28.json +++ b/cameras/avycon/avc-nbb41f28.json @@ -75,6 +75,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nbb81f28.json b/cameras/avycon/avc-nbb81f28.json index c9fd68f61..5aecc1390 100644 --- a/cameras/avycon/avc-nbb81f28.json +++ b/cameras/avycon/avc-nbb81f28.json @@ -65,6 +65,7 @@ "consumption_w": 7.2 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nbe41f28.json b/cameras/avycon/avc-nbe41f28.json index 9196bcb25..eb0ba835a 100644 --- a/cameras/avycon/avc-nbe41f28.json +++ b/cameras/avycon/avc-nbe41f28.json @@ -65,6 +65,7 @@ "consumption_w": 6.9 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nbe81f28.json b/cameras/avycon/avc-nbe81f28.json index 7296260de..b65095423 100644 --- a/cameras/avycon/avc-nbe81f28.json +++ b/cameras/avycon/avc-nbe81f28.json @@ -75,6 +75,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ncb51f28.json b/cameras/avycon/avc-ncb51f28.json index 4d4b40496..7317c2745 100644 --- a/cameras/avycon/avc-ncb51f28.json +++ b/cameras/avycon/avc-ncb51f28.json @@ -69,6 +69,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ncb51m.json b/cameras/avycon/avc-ncb51m.json index 5b137775e..2e0b7f5c0 100644 --- a/cameras/avycon/avc-ncb51m.json +++ b/cameras/avycon/avc-ncb51m.json @@ -81,6 +81,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ncb81f28.json b/cameras/avycon/avc-ncb81f28.json index a07238ce4..616e19e40 100644 --- a/cameras/avycon/avc-ncb81f28.json +++ b/cameras/avycon/avc-ncb81f28.json @@ -69,6 +69,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ncb81m.json b/cameras/avycon/avc-ncb81m.json index d4b5a4cd5..cfc298aed 100644 --- a/cameras/avycon/avc-ncb81m.json +++ b/cameras/avycon/avc-ncb81m.json @@ -71,6 +71,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nce51f28.json b/cameras/avycon/avc-nce51f28.json index 3d61a5932..e905c06e1 100644 --- a/cameras/avycon/avc-nce51f28.json +++ b/cameras/avycon/avc-nce51f28.json @@ -79,6 +79,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nce51m.json b/cameras/avycon/avc-nce51m.json index a40f2abff..95286a865 100644 --- a/cameras/avycon/avc-nce51m.json +++ b/cameras/avycon/avc-nce51m.json @@ -71,6 +71,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nce81f28.json b/cameras/avycon/avc-nce81f28.json index f623edea0..f14abd39e 100644 --- a/cameras/avycon/avc-nce81f28.json +++ b/cameras/avycon/avc-nce81f28.json @@ -69,6 +69,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nce81m.json b/cameras/avycon/avc-nce81m.json index 3a8b6c01d..ef80278d4 100644 --- a/cameras/avycon/avc-nce81m.json +++ b/cameras/avycon/avc-nce81m.json @@ -81,6 +81,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ncms201m04.json b/cameras/avycon/avc-ncms201m04.json index 7352ae622..cf22c92b0 100644 --- a/cameras/avycon/avc-ncms201m04.json +++ b/cameras/avycon/avc-ncms201m04.json @@ -67,6 +67,7 @@ "consumption_w": 43 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", diff --git a/cameras/avycon/avc-ncms321m04.json b/cameras/avycon/avc-ncms321m04.json index e455e7cba..6357b5b3c 100644 --- a/cameras/avycon/avc-ncms321m04.json +++ b/cameras/avycon/avc-ncms321m04.json @@ -77,6 +77,7 @@ "consumption_w": 43 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 55", diff --git a/cameras/avycon/avc-ncv51f28.json b/cameras/avycon/avc-ncv51f28.json index 272eb470e..ffe099afc 100644 --- a/cameras/avycon/avc-ncv51f28.json +++ b/cameras/avycon/avc-ncv51f28.json @@ -73,6 +73,7 @@ "consumption_w": 7.6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ncv51m.json b/cameras/avycon/avc-ncv51m.json index 149daa779..f6d555526 100644 --- a/cameras/avycon/avc-ncv51m.json +++ b/cameras/avycon/avc-ncv51m.json @@ -74,6 +74,7 @@ "consumption_w": 8.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ncv81f28.json b/cameras/avycon/avc-ncv81f28.json index 440d0f7cc..8c1c183eb 100644 --- a/cameras/avycon/avc-ncv81f28.json +++ b/cameras/avycon/avc-ncv81f28.json @@ -83,6 +83,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ncv81m.json b/cameras/avycon/avc-ncv81m.json index c058130a6..86f5c8d9b 100644 --- a/cameras/avycon/avc-ncv81m.json +++ b/cameras/avycon/avc-ncv81m.json @@ -74,6 +74,7 @@ "consumption_w": 9.2 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ndb51m.json b/cameras/avycon/avc-ndb51m.json index ba956505f..0b903df3e 100644 --- a/cameras/avycon/avc-ndb51m.json +++ b/cameras/avycon/avc-ndb51m.json @@ -85,6 +85,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ndb81f28.json b/cameras/avycon/avc-ndb81f28.json index fdde7f0f5..3c3a36d6a 100644 --- a/cameras/avycon/avc-ndb81f28.json +++ b/cameras/avycon/avc-ndb81f28.json @@ -74,6 +74,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ndb81m.json b/cameras/avycon/avc-ndb81m.json index a774d4f8c..50f2acc55 100644 --- a/cameras/avycon/avc-ndb81m.json +++ b/cameras/avycon/avc-ndb81m.json @@ -75,6 +75,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nde51m.json b/cameras/avycon/avc-nde51m.json index e7944c2ae..9ff9f9542 100644 --- a/cameras/avycon/avc-nde51m.json +++ b/cameras/avycon/avc-nde51m.json @@ -74,6 +74,7 @@ "consumption_w": 8.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nde81f28.json b/cameras/avycon/avc-nde81f28.json index ab745844e..34171e81a 100644 --- a/cameras/avycon/avc-nde81f28.json +++ b/cameras/avycon/avc-nde81f28.json @@ -73,6 +73,7 @@ "consumption_w": 7.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nde81m.json b/cameras/avycon/avc-nde81m.json index 8d86e7b07..c550523a6 100644 --- a/cameras/avycon/avc-nde81m.json +++ b/cameras/avycon/avc-nde81m.json @@ -84,6 +84,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ndv51f28.json b/cameras/avycon/avc-ndv51f28.json index 905051a7c..bd869cb1f 100644 --- a/cameras/avycon/avc-ndv51f28.json +++ b/cameras/avycon/avc-ndv51f28.json @@ -75,6 +75,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ndv51m.json b/cameras/avycon/avc-ndv51m.json index 0551fa164..4a4bd9bd0 100644 --- a/cameras/avycon/avc-ndv51m.json +++ b/cameras/avycon/avc-ndv51m.json @@ -76,6 +76,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ndv81f28.json b/cameras/avycon/avc-ndv81f28.json index 9bbd86b4f..dec2e2bc6 100644 --- a/cameras/avycon/avc-ndv81f28.json +++ b/cameras/avycon/avc-ndv81f28.json @@ -85,6 +85,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-ndv81m.json b/cameras/avycon/avc-ndv81m.json index 40c3c4fcd..fd988387f 100644 --- a/cameras/avycon/avc-ndv81m.json +++ b/cameras/avycon/avc-ndv81m.json @@ -76,6 +76,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nf121f-hd.json b/cameras/avycon/avc-nf121f-hd.json index 68eff411d..66fcfaa8a 100644 --- a/cameras/avycon/avc-nf121f-hd.json +++ b/cameras/avycon/avc-nf121f-hd.json @@ -68,6 +68,7 @@ "consumption_w": 9.6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nf121f.json b/cameras/avycon/avc-nf121f.json index b062b582e..d4bff743f 100644 --- a/cameras/avycon/avc-nf121f.json +++ b/cameras/avycon/avc-nf121f.json @@ -71,6 +71,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkb51f28.json b/cameras/avycon/avc-nkb51f28.json index b55dc5089..1570e274b 100644 --- a/cameras/avycon/avc-nkb51f28.json +++ b/cameras/avycon/avc-nkb51f28.json @@ -71,6 +71,7 @@ "consumption_w": 5.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkb51m.json b/cameras/avycon/avc-nkb51m.json index fccc745f2..3dd0797c4 100644 --- a/cameras/avycon/avc-nkb51m.json +++ b/cameras/avycon/avc-nkb51m.json @@ -69,6 +69,7 @@ "consumption_w": 9 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkb51m50.json b/cameras/avycon/avc-nkb51m50.json index 1d9b4fdad..aac7ad3a9 100644 --- a/cameras/avycon/avc-nkb51m50.json +++ b/cameras/avycon/avc-nkb51m50.json @@ -70,6 +70,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-30 to 55", diff --git a/cameras/avycon/avc-nkb81f28.json b/cameras/avycon/avc-nkb81f28.json index fab4ea9e2..d7f4b23f4 100644 --- a/cameras/avycon/avc-nkb81f28.json +++ b/cameras/avycon/avc-nkb81f28.json @@ -71,6 +71,7 @@ "consumption_w": 6.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkb81m.json b/cameras/avycon/avc-nkb81m.json index 8e73cbc15..3348a3db7 100644 --- a/cameras/avycon/avc-nkb81m.json +++ b/cameras/avycon/avc-nkb81m.json @@ -69,6 +69,7 @@ "consumption_w": 10 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkb81m50.json b/cameras/avycon/avc-nkb81m50.json index 205d8a140..77148033d 100644 --- a/cameras/avycon/avc-nkb81m50.json +++ b/cameras/avycon/avc-nkb81m50.json @@ -78,6 +78,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkd51f28.json b/cameras/avycon/avc-nkd51f28.json index abee817a4..5aa68037b 100644 --- a/cameras/avycon/avc-nkd51f28.json +++ b/cameras/avycon/avc-nkd51f28.json @@ -67,6 +67,7 @@ "consumption_w": 4 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 55", diff --git a/cameras/avycon/avc-nkd51m.json b/cameras/avycon/avc-nkd51m.json index c0c63691e..93d5c042a 100644 --- a/cameras/avycon/avc-nkd51m.json +++ b/cameras/avycon/avc-nkd51m.json @@ -68,6 +68,7 @@ "consumption_w": 7 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkd81f28.json b/cameras/avycon/avc-nkd81f28.json index 825d4f831..531211a1d 100644 --- a/cameras/avycon/avc-nkd81f28.json +++ b/cameras/avycon/avc-nkd81f28.json @@ -77,6 +77,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkd81m.json b/cameras/avycon/avc-nkd81m.json index cc1dfa697..b9e44efa0 100644 --- a/cameras/avycon/avc-nkd81m.json +++ b/cameras/avycon/avc-nkd81m.json @@ -68,6 +68,7 @@ "consumption_w": 8 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nke51f28.json b/cameras/avycon/avc-nke51f28.json index f8e266f4e..f557f6250 100644 --- a/cameras/avycon/avc-nke51f28.json +++ b/cameras/avycon/avc-nke51f28.json @@ -71,6 +71,7 @@ "consumption_w": 5.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nke51m.json b/cameras/avycon/avc-nke51m.json index 603380864..f60772af3 100644 --- a/cameras/avycon/avc-nke51m.json +++ b/cameras/avycon/avc-nke51m.json @@ -79,6 +79,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nke81f28.json b/cameras/avycon/avc-nke81f28.json index 02cde7660..a3c19ef66 100644 --- a/cameras/avycon/avc-nke81f28.json +++ b/cameras/avycon/avc-nke81f28.json @@ -71,6 +71,7 @@ "consumption_w": 6.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nke81m.json b/cameras/avycon/avc-nke81m.json index b6f20cac0..bc65f4e00 100644 --- a/cameras/avycon/avc-nke81m.json +++ b/cameras/avycon/avc-nke81m.json @@ -69,6 +69,7 @@ "consumption_w": 10 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkv51f28.json b/cameras/avycon/avc-nkv51f28.json index 6ce387605..2d8f40c68 100644 --- a/cameras/avycon/avc-nkv51f28.json +++ b/cameras/avycon/avc-nkv51f28.json @@ -80,6 +80,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkv51m.json b/cameras/avycon/avc-nkv51m.json index a04d15498..74217e524 100644 --- a/cameras/avycon/avc-nkv51m.json +++ b/cameras/avycon/avc-nkv51m.json @@ -71,6 +71,7 @@ "consumption_w": 7 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkv81f28.json b/cameras/avycon/avc-nkv81f28.json index 350275a91..9d8976e04 100644 --- a/cameras/avycon/avc-nkv81f28.json +++ b/cameras/avycon/avc-nkv81f28.json @@ -70,6 +70,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nkv81m.json b/cameras/avycon/avc-nkv81m.json index 01cd1a8d4..8d9a31ee2 100644 --- a/cameras/avycon/avc-nkv81m.json +++ b/cameras/avycon/avc-nkv81m.json @@ -81,6 +81,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npb51f28.json b/cameras/avycon/avc-npb51f28.json index e6c270a09..e213373ed 100644 --- a/cameras/avycon/avc-npb51f28.json +++ b/cameras/avycon/avc-npb51f28.json @@ -74,6 +74,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npb51m.json b/cameras/avycon/avc-npb51m.json index 4a91c2177..65b6b8961 100644 --- a/cameras/avycon/avc-npb51m.json +++ b/cameras/avycon/avc-npb51m.json @@ -83,6 +83,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npb81f180.json b/cameras/avycon/avc-npb81f180.json index c0b2c3fc2..0bd87cb3c 100644 --- a/cameras/avycon/avc-npb81f180.json +++ b/cameras/avycon/avc-npb81f180.json @@ -74,6 +74,7 @@ "consumption_w": 12 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npb81f28.json b/cameras/avycon/avc-npb81f28.json index 50d50a15e..6f1eeda8a 100644 --- a/cameras/avycon/avc-npb81f28.json +++ b/cameras/avycon/avc-npb81f28.json @@ -80,6 +80,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npb81m.json b/cameras/avycon/avc-npb81m.json index f9794f7c5..a30447cd2 100644 --- a/cameras/avycon/avc-npb81m.json +++ b/cameras/avycon/avc-npb81m.json @@ -68,6 +68,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npd51f28.json b/cameras/avycon/avc-npd51f28.json index 3c65cc4f7..3fed986ea 100644 --- a/cameras/avycon/avc-npd51f28.json +++ b/cameras/avycon/avc-npd51f28.json @@ -67,6 +67,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 55", diff --git a/cameras/avycon/avc-npd51m.json b/cameras/avycon/avc-npd51m.json index ec404f970..d3310270b 100644 --- a/cameras/avycon/avc-npd51m.json +++ b/cameras/avycon/avc-npd51m.json @@ -78,6 +78,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npd81f28.json b/cameras/avycon/avc-npd81f28.json index 672a27951..5b4ff93fb 100644 --- a/cameras/avycon/avc-npd81f28.json +++ b/cameras/avycon/avc-npd81f28.json @@ -66,6 +66,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npd81m.json b/cameras/avycon/avc-npd81m.json index 3dc522bb7..14af86ffb 100644 --- a/cameras/avycon/avc-npd81m.json +++ b/cameras/avycon/avc-npd81m.json @@ -67,6 +67,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npe51f180.json b/cameras/avycon/avc-npe51f180.json index 056f6a34f..1ad10596f 100644 --- a/cameras/avycon/avc-npe51f180.json +++ b/cameras/avycon/avc-npe51f180.json @@ -83,6 +83,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npe51f28.json b/cameras/avycon/avc-npe51f28.json index 1da4ab91e..e8560c019 100644 --- a/cameras/avycon/avc-npe51f28.json +++ b/cameras/avycon/avc-npe51f28.json @@ -75,6 +75,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npe51m.json b/cameras/avycon/avc-npe51m.json index c2b4c7d45..a2945918d 100644 --- a/cameras/avycon/avc-npe51m.json +++ b/cameras/avycon/avc-npe51m.json @@ -82,6 +82,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npe81f180.json b/cameras/avycon/avc-npe81f180.json index 16c4bf5d4..1d9b83355 100644 --- a/cameras/avycon/avc-npe81f180.json +++ b/cameras/avycon/avc-npe81f180.json @@ -73,6 +73,7 @@ "consumption_w": 12 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npe81f28.json b/cameras/avycon/avc-npe81f28.json index 56ba9199b..712793955 100644 --- a/cameras/avycon/avc-npe81f28.json +++ b/cameras/avycon/avc-npe81f28.json @@ -73,6 +73,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npe81f2d.json b/cameras/avycon/avc-npe81f2d.json index b031e3f75..75bc988c9 100644 --- a/cameras/avycon/avc-npe81f2d.json +++ b/cameras/avycon/avc-npe81f2d.json @@ -83,6 +83,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", diff --git a/cameras/avycon/avc-npe81m.json b/cameras/avycon/avc-npe81m.json index 1602bc2f8..86990a2b0 100644 --- a/cameras/avycon/avc-npe81m.json +++ b/cameras/avycon/avc-npe81m.json @@ -71,6 +71,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npk51f28.json b/cameras/avycon/avc-npk51f28.json index c05c84994..75a9ad99b 100644 --- a/cameras/avycon/avc-npk51f28.json +++ b/cameras/avycon/avc-npk51f28.json @@ -71,6 +71,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npk81f28.json b/cameras/avycon/avc-npk81f28.json index 697b5221a..a6d89c4f3 100644 --- a/cameras/avycon/avc-npk81f28.json +++ b/cameras/avycon/avc-npk81f28.json @@ -80,6 +80,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npv51f28.json b/cameras/avycon/avc-npv51f28.json index f6dd61b75..bc8603c7b 100644 --- a/cameras/avycon/avc-npv51f28.json +++ b/cameras/avycon/avc-npv51f28.json @@ -79,6 +79,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npv51m.json b/cameras/avycon/avc-npv51m.json index 3cc509a93..55b81923d 100644 --- a/cameras/avycon/avc-npv51m.json +++ b/cameras/avycon/avc-npv51m.json @@ -70,6 +70,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npv81f28.json b/cameras/avycon/avc-npv81f28.json index a6a1ac4ad..085a66083 100644 --- a/cameras/avycon/avc-npv81f28.json +++ b/cameras/avycon/avc-npv81f28.json @@ -68,6 +68,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-npv81m.json b/cameras/avycon/avc-npv81m.json index e2eb9346d..d59c8edf4 100644 --- a/cameras/avycon/avc-npv81m.json +++ b/cameras/avycon/avc-npv81m.json @@ -79,6 +79,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", diff --git a/cameras/avycon/avc-nsb81f28.json b/cameras/avycon/avc-nsb81f28.json index c48a0ed4b..e6de50187 100644 --- a/cameras/avycon/avc-nsb81f28.json +++ b/cameras/avycon/avc-nsb81f28.json @@ -78,6 +78,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nsb81m.json b/cameras/avycon/avc-nsb81m.json index f4d4a842d..047f7a758 100644 --- a/cameras/avycon/avc-nsb81m.json +++ b/cameras/avycon/avc-nsb81m.json @@ -76,6 +76,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { diff --git a/cameras/avycon/avc-nsb81m50.json b/cameras/avycon/avc-nsb81m50.json index 29266cd2d..22a833742 100644 --- a/cameras/avycon/avc-nsb81m50.json +++ b/cameras/avycon/avc-nsb81m50.json @@ -72,6 +72,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nsd51m.json b/cameras/avycon/avc-nsd51m.json index 7d1e6e670..145db773b 100644 --- a/cameras/avycon/avc-nsd51m.json +++ b/cameras/avycon/avc-nsd51m.json @@ -70,6 +70,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local" diff --git a/cameras/avycon/avc-nsd81f28.json b/cameras/avycon/avc-nsd81f28.json index 2434f42c5..4f74c8c76 100644 --- a/cameras/avycon/avc-nsd81f28.json +++ b/cameras/avycon/avc-nsd81f28.json @@ -71,6 +71,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nse81f28.json b/cameras/avycon/avc-nse81f28.json index 68a25ff83..5c1e96b21 100644 --- a/cameras/avycon/avc-nse81f28.json +++ b/cameras/avycon/avc-nse81f28.json @@ -78,6 +78,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nse81f36.json b/cameras/avycon/avc-nse81f36.json index 7ce9cccc6..0ee204ccf 100644 --- a/cameras/avycon/avc-nse81f36.json +++ b/cameras/avycon/avc-nse81f36.json @@ -74,6 +74,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nse81m.json b/cameras/avycon/avc-nse81m.json index 598dd7b04..6261a2f86 100644 --- a/cameras/avycon/avc-nse81m.json +++ b/cameras/avycon/avc-nse81m.json @@ -76,6 +76,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { diff --git a/cameras/avycon/avc-nsv81f28.json b/cameras/avycon/avc-nsv81f28.json index 63a2f758f..30632dfa5 100644 --- a/cameras/avycon/avc-nsv81f28.json +++ b/cameras/avycon/avc-nsv81f28.json @@ -74,6 +74,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nsv81m.json b/cameras/avycon/avc-nsv81m.json index 756d7d092..e6bc441a0 100644 --- a/cameras/avycon/avc-nsv81m.json +++ b/cameras/avycon/avc-nsv81m.json @@ -75,6 +75,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { diff --git a/cameras/avycon/avc-nsvd51f2d.json b/cameras/avycon/avc-nsvd51f2d.json index 3865308bb..b5677e4e6 100644 --- a/cameras/avycon/avc-nsvd51f2d.json +++ b/cameras/avycon/avc-nsvd51f2d.json @@ -70,6 +70,7 @@ "poe_class": 4 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", diff --git a/cameras/avycon/avc-nsz21x25lw.json b/cameras/avycon/avc-nsz21x25lw.json index 89aa37dd3..119c0f7d6 100644 --- a/cameras/avycon/avc-nsz21x25lw.json +++ b/cameras/avycon/avc-nsz21x25lw.json @@ -77,6 +77,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nsz41x04.json b/cameras/avycon/avc-nsz41x04.json index d2d383c59..5375ec289 100644 --- a/cameras/avycon/avc-nsz41x04.json +++ b/cameras/avycon/avc-nsz41x04.json @@ -77,6 +77,7 @@ "consumption_w": 13.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nsz51x25lw.json b/cameras/avycon/avc-nsz51x25lw.json index a3fb0bb8b..f9ff9ef4a 100644 --- a/cameras/avycon/avc-nsz51x25lw.json +++ b/cameras/avycon/avc-nsz51x25lw.json @@ -84,6 +84,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nsz51x33lw.json b/cameras/avycon/avc-nsz51x33lw.json index 64bce0336..07f441836 100644 --- a/cameras/avycon/avc-nsz51x33lw.json +++ b/cameras/avycon/avc-nsz51x33lw.json @@ -74,6 +74,7 @@ "consumption_w": 25.6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nsz81x04spl.json b/cameras/avycon/avc-nsz81x04spl.json index 8f292999c..a97194b30 100644 --- a/cameras/avycon/avc-nsz81x04spl.json +++ b/cameras/avycon/avc-nsz81x04spl.json @@ -72,6 +72,7 @@ ], "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local" diff --git a/cameras/avycon/avc-nsz81x25lw.json b/cameras/avycon/avc-nsz81x25lw.json index cffefc786..954a82ec0 100644 --- a/cameras/avycon/avc-nsz81x25lw.json +++ b/cameras/avycon/avc-nsz81x25lw.json @@ -84,6 +84,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nsz81x37lw.json b/cameras/avycon/avc-nsz81x37lw.json index 659e87ada..794fe924f 100644 --- a/cameras/avycon/avc-nsz81x37lw.json +++ b/cameras/avycon/avc-nsz81x37lw.json @@ -73,6 +73,7 @@ "weight_g": 5270, "operating_temp_c": "-30 to 65", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local" diff --git a/cameras/avycon/avc-nub41f28.json b/cameras/avycon/avc-nub41f28.json index 465feb90f..75fb15ffa 100644 --- a/cameras/avycon/avc-nub41f28.json +++ b/cameras/avycon/avc-nub41f28.json @@ -84,6 +84,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nub81f28.json b/cameras/avycon/avc-nub81f28.json index 63cc448e6..f5deeb80d 100644 --- a/cameras/avycon/avc-nub81f28.json +++ b/cameras/avycon/avc-nub81f28.json @@ -76,6 +76,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nue41f28.json b/cameras/avycon/avc-nue41f28.json index 3ad9afe19..6a6974f8a 100644 --- a/cameras/avycon/avc-nue41f28.json +++ b/cameras/avycon/avc-nue41f28.json @@ -76,6 +76,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nue41m.json b/cameras/avycon/avc-nue41m.json index 140a0e4a1..8c125b837 100644 --- a/cameras/avycon/avc-nue41m.json +++ b/cameras/avycon/avc-nue41m.json @@ -74,6 +74,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nue81f28.json b/cameras/avycon/avc-nue81f28.json index 2ddafe0a1..9257fa3f0 100644 --- a/cameras/avycon/avc-nue81f28.json +++ b/cameras/avycon/avc-nue81f28.json @@ -84,6 +84,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nue81m.json b/cameras/avycon/avc-nue81m.json index 46bcc4696..4ef793e81 100644 --- a/cameras/avycon/avc-nue81m.json +++ b/cameras/avycon/avc-nue81m.json @@ -74,6 +74,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nxb41f28.json b/cameras/avycon/avc-nxb41f28.json index 033fc0593..b85d76199 100644 --- a/cameras/avycon/avc-nxb41f28.json +++ b/cameras/avycon/avc-nxb41f28.json @@ -78,6 +78,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nxb81f28.json b/cameras/avycon/avc-nxb81f28.json index 2293b7433..22fdb57fb 100644 --- a/cameras/avycon/avc-nxb81f28.json +++ b/cameras/avycon/avc-nxb81f28.json @@ -77,6 +77,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nxv81f28.json b/cameras/avycon/avc-nxv81f28.json index daf0ee421..7e9abb3e5 100644 --- a/cameras/avycon/avc-nxv81f28.json +++ b/cameras/avycon/avc-nxv81f28.json @@ -79,6 +79,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/avycon/avc-nxv81m.json b/cameras/avycon/avc-nxv81m.json index f325822be..996c1e948 100644 --- a/cameras/avycon/avc-nxv81m.json +++ b/cameras/avycon/avc-nxv81m.json @@ -79,6 +79,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { diff --git a/cameras/beward/bd3990fl2.json b/cameras/beward/bd3990fl2.json index a56ac8faf..6657184ce 100644 --- a/cameras/beward/bd3990fl2.json +++ b/cameras/beward/bd3990fl2.json @@ -17,7 +17,7 @@ ], "sensor": "1/1.7\" Sony CMOS", "lens": { - "focal_length_mm": ". 1.65", + "focal_length_mm": "1.65", "varifocal": false, "count": 1, "aperture": "F2.8" @@ -93,5 +93,5 @@ "notes": "BEWARD RTSP/ONVIF." } }, - "last_verified": "2026-09-22" + "last_verified": "2026-11-14" } diff --git a/cameras/beward/bd3990flm.json b/cameras/beward/bd3990flm.json index f67bd917a..f21347839 100644 --- a/cameras/beward/bd3990flm.json +++ b/cameras/beward/bd3990flm.json @@ -17,7 +17,7 @@ ], "sensor": "1/1.7\" Sony CMOS", "lens": { - "focal_length_mm": ". 1.65", + "focal_length_mm": "1.65", "varifocal": false, "count": 1, "aperture": "F2.8" @@ -94,5 +94,5 @@ "notes": "BEWARD RTSP/ONVIF." } }, - "last_verified": "2026-09-22" + "last_verified": "2026-11-14" } diff --git a/cameras/bosch/bosch-nxf-9130-a4.json b/cameras/bosch/bosch-nxf-9130-a4.json index 38961a4c8..fde7375c2 100644 --- a/cameras/bosch/bosch-nxf-9130-a4.json +++ b/cameras/bosch/bosch-nxf-9130-a4.json @@ -61,6 +61,7 @@ ], "ip_rating": "IP68", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { diff --git a/cameras/bosch/bosch-nxf-9130-s4.json b/cameras/bosch/bosch-nxf-9130-s4.json index 910995534..28a460099 100644 --- a/cameras/bosch/bosch-nxf-9130-s4.json +++ b/cameras/bosch/bosch-nxf-9130-s4.json @@ -61,6 +61,7 @@ ], "ip_rating": "IP68", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { diff --git a/cameras/bosch/nbc-225-p.json b/cameras/bosch/nbc-225-p.json index 7b7bbc8f7..dab6d5b41 100644 --- a/cameras/bosch/nbc-225-p.json +++ b/cameras/bosch/nbc-225-p.json @@ -42,6 +42,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 123", diff --git a/cameras/bosch/nbc-255-p.json b/cameras/bosch/nbc-255-p.json index 8505179b2..e117685f4 100644 --- a/cameras/bosch/nbc-255-p.json +++ b/cameras/bosch/nbc-255-p.json @@ -43,6 +43,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", diff --git a/cameras/bosch/nbc-255-w.json b/cameras/bosch/nbc-255-w.json index 0130318a0..8042569bf 100644 --- a/cameras/bosch/nbc-255-w.json +++ b/cameras/bosch/nbc-255-w.json @@ -43,6 +43,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", diff --git a/cameras/bosch/nbc-265-p.json b/cameras/bosch/nbc-265-p.json index ca43f86ec..44a42db36 100644 --- a/cameras/bosch/nbc-265-p.json +++ b/cameras/bosch/nbc-265-p.json @@ -43,6 +43,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 168", diff --git a/cameras/bosch/nbc-265-w.json b/cameras/bosch/nbc-265-w.json index c39c8bba8..5e025d2cb 100644 --- a/cameras/bosch/nbc-265-w.json +++ b/cameras/bosch/nbc-265-w.json @@ -43,6 +43,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", diff --git a/cameras/bosch/nbe-4502-al.json b/cameras/bosch/nbe-4502-al.json index 33c332697..99d39b179 100644 --- a/cameras/bosch/nbe-4502-al.json +++ b/cameras/bosch/nbe-4502-al.json @@ -46,6 +46,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ diff --git a/cameras/bosch/nbe-5503-al.json b/cameras/bosch/nbe-5503-al.json index b01a57986..a2bf165a6 100644 --- a/cameras/bosch/nbe-5503-al.json +++ b/cameras/bosch/nbe-5503-al.json @@ -49,6 +49,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ diff --git a/cameras/bosch/nbe-6502-al.json b/cameras/bosch/nbe-6502-al.json index 5e393d32c..718807e8a 100644 --- a/cameras/bosch/nbe-6502-al.json +++ b/cameras/bosch/nbe-6502-al.json @@ -42,6 +42,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { diff --git a/cameras/bosch/nbn-73013-ba.json b/cameras/bosch/nbn-73013-ba.json index a2bcc0441..728d98933 100644 --- a/cameras/bosch/nbn-73013-ba.json +++ b/cameras/bosch/nbn-73013-ba.json @@ -69,6 +69,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "ndaa_compliant": true, diff --git a/cameras/bosch/nbn-80122-ca.json b/cameras/bosch/nbn-80122-ca.json index 19ae49784..323cea34b 100644 --- a/cameras/bosch/nbn-80122-ca.json +++ b/cameras/bosch/nbn-80122-ca.json @@ -77,6 +77,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 140 (W x H x L, without lens)", diff --git a/cameras/bosch/nbn-80122-f2a.json b/cameras/bosch/nbn-80122-f2a.json index c845db9d7..e5ac3a6c8 100644 --- a/cameras/bosch/nbn-80122-f2a.json +++ b/cameras/bosch/nbn-80122-f2a.json @@ -78,6 +78,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 200 (W x H x L, with 3.2 mm lens)", diff --git a/cameras/bosch/nbn-80122-f6a.json b/cameras/bosch/nbn-80122-f6a.json index c7dedebeb..28efb946c 100644 --- a/cameras/bosch/nbn-80122-f6a.json +++ b/cameras/bosch/nbn-80122-f6a.json @@ -78,6 +78,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 200 (W x H x L, with 5 mm lens)", diff --git a/cameras/bosch/nde-4502-a.json b/cameras/bosch/nde-4502-a.json index 8eba5b771..979532564 100644 --- a/cameras/bosch/nde-4502-a.json +++ b/cameras/bosch/nde-4502-a.json @@ -81,6 +81,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 32 } } diff --git a/cameras/bosch/nde-4502-al.json b/cameras/bosch/nde-4502-al.json index 67d9129d6..eaf1815ca 100644 --- a/cameras/bosch/nde-4502-al.json +++ b/cameras/bosch/nde-4502-al.json @@ -83,6 +83,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 32 } } diff --git a/cameras/bosch/nde-8502-r.json b/cameras/bosch/nde-8502-r.json index 178d93d91..c57a863c4 100644 --- a/cameras/bosch/nde-8502-r.json +++ b/cameras/bosch/nde-8502-r.json @@ -88,6 +88,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, diff --git a/cameras/bosch/nde-8502-rt.json b/cameras/bosch/nde-8502-rt.json index f234dc0a3..c36666268 100644 --- a/cameras/bosch/nde-8502-rt.json +++ b/cameras/bosch/nde-8502-rt.json @@ -57,6 +57,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/nde-8502-rx.json b/cameras/bosch/nde-8502-rx.json index f70b557b4..27ee633fd 100644 --- a/cameras/bosch/nde-8502-rx.json +++ b/cameras/bosch/nde-8502-rx.json @@ -88,6 +88,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, diff --git a/cameras/bosch/nde-8502-rxt.json b/cameras/bosch/nde-8502-rxt.json index f3aa710ce..40a538535 100644 --- a/cameras/bosch/nde-8502-rxt.json +++ b/cameras/bosch/nde-8502-rxt.json @@ -88,6 +88,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, diff --git a/cameras/bosch/nde-8503-r.json b/cameras/bosch/nde-8503-r.json index f4181e3c3..d09ef9fd7 100644 --- a/cameras/bosch/nde-8503-r.json +++ b/cameras/bosch/nde-8503-r.json @@ -87,6 +87,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/nde-8503-rt.json b/cameras/bosch/nde-8503-rt.json index 394ecaf9a..1f68c99a7 100644 --- a/cameras/bosch/nde-8503-rt.json +++ b/cameras/bosch/nde-8503-rt.json @@ -88,6 +88,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/nde-8503-rx.json b/cameras/bosch/nde-8503-rx.json index 86da62e99..cf477bfda 100644 --- a/cameras/bosch/nde-8503-rx.json +++ b/cameras/bosch/nde-8503-rx.json @@ -87,6 +87,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/nde-8503-rxt.json b/cameras/bosch/nde-8503-rxt.json index cf177b2a6..1d209da32 100644 --- a/cameras/bosch/nde-8503-rxt.json +++ b/cameras/bosch/nde-8503-rxt.json @@ -87,6 +87,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/nde-8512-rt.json b/cameras/bosch/nde-8512-rt.json index 6a879b9c8..718d0780d 100644 --- a/cameras/bosch/nde-8512-rt.json +++ b/cameras/bosch/nde-8512-rt.json @@ -57,6 +57,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/nde-8512-rxt.json b/cameras/bosch/nde-8512-rxt.json index 5757b97a5..8dd0ae754 100644 --- a/cameras/bosch/nde-8512-rxt.json +++ b/cameras/bosch/nde-8512-rxt.json @@ -88,6 +88,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, diff --git a/cameras/bosch/nde-8513-r.json b/cameras/bosch/nde-8513-r.json index 27e833f59..db49c77dc 100644 --- a/cameras/bosch/nde-8513-r.json +++ b/cameras/bosch/nde-8513-r.json @@ -88,6 +88,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/nde-8513-rt.json b/cameras/bosch/nde-8513-rt.json index eff547859..19a2fdd34 100644 --- a/cameras/bosch/nde-8513-rt.json +++ b/cameras/bosch/nde-8513-rt.json @@ -88,6 +88,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/nde-8513-rx.json b/cameras/bosch/nde-8513-rx.json index fb227e5ea..3a857ab0a 100644 --- a/cameras/bosch/nde-8513-rx.json +++ b/cameras/bosch/nde-8513-rx.json @@ -87,6 +87,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/nde-8513-rxt.json b/cameras/bosch/nde-8513-rxt.json index c68af3b08..6e546421f 100644 --- a/cameras/bosch/nde-8513-rxt.json +++ b/cameras/bosch/nde-8513-rxt.json @@ -88,6 +88,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/nde-8514-r.json b/cameras/bosch/nde-8514-r.json index ceda4e27d..1d1359942 100644 --- a/cameras/bosch/nde-8514-r.json +++ b/cameras/bosch/nde-8514-r.json @@ -86,6 +86,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, diff --git a/cameras/bosch/ndn-265-pio.json b/cameras/bosch/ndn-265-pio.json index 444fb1dce..8e2b1de9f 100644 --- a/cameras/bosch/ndn-265-pio.json +++ b/cameras/bosch/ndn-265-pio.json @@ -42,6 +42,7 @@ "weight_g": 1070, "operating_temp_c": "-20 to 50", "storage": { + "onboard": true, "max_microsd_gb": 32 }, "features": [ diff --git a/cameras/bosch/ndn-50022-v3.json b/cameras/bosch/ndn-50022-v3.json index dde2c93a7..32906fc36 100644 --- a/cameras/bosch/ndn-50022-v3.json +++ b/cameras/bosch/ndn-50022-v3.json @@ -46,6 +46,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ diff --git a/cameras/bosch/ndn-50051-v3.json b/cameras/bosch/ndn-50051-v3.json index d23cfff02..4c344bfde 100644 --- a/cameras/bosch/ndn-50051-v3.json +++ b/cameras/bosch/ndn-50051-v3.json @@ -43,6 +43,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ diff --git a/cameras/bosch/ndn-733-v02p.json b/cameras/bosch/ndn-733-v02p.json index ca092edc5..893482082 100644 --- a/cameras/bosch/ndn-733-v02p.json +++ b/cameras/bosch/ndn-733-v02p.json @@ -46,6 +46,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/ndn-832v02-p.json b/cameras/bosch/ndn-832v02-p.json index 592f66743..8f30b9c36 100644 --- a/cameras/bosch/ndn-832v02-p.json +++ b/cameras/bosch/ndn-832v02-p.json @@ -44,6 +44,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 55", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/ndn-932v02-ip.json b/cameras/bosch/ndn-932v02-ip.json index 8da6e4a82..97c0ca396 100644 --- a/cameras/bosch/ndn-932v02-ip.json +++ b/cameras/bosch/ndn-932v02-ip.json @@ -43,6 +43,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/ndp-5512-z30l.json b/cameras/bosch/ndp-5512-z30l.json index 89f0e1064..e7db0ca0f 100644 --- a/cameras/bosch/ndp-5512-z30l.json +++ b/cameras/bosch/ndp-5512-z30l.json @@ -80,6 +80,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "Ø207 x 346.6 (diameter x height)", diff --git a/cameras/bosch/nht-8000-f07qf.json b/cameras/bosch/nht-8000-f07qf.json index add59fe85..d85db953f 100644 --- a/cameras/bosch/nht-8000-f07qf.json +++ b/cameras/bosch/nht-8000-f07qf.json @@ -85,6 +85,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "ndaa_compliant": true, diff --git a/cameras/bosch/nii-50022-v3.json b/cameras/bosch/nii-50022-v3.json index 9d3255ffd..5ca75b532 100644 --- a/cameras/bosch/nii-50022-v3.json +++ b/cameras/bosch/nii-50022-v3.json @@ -44,6 +44,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ diff --git a/cameras/bosch/nin-50051-v3.json b/cameras/bosch/nin-50051-v3.json index 57c37fb24..ea96c7435 100644 --- a/cameras/bosch/nin-50051-v3.json +++ b/cameras/bosch/nin-50051-v3.json @@ -40,6 +40,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ diff --git a/cameras/bosch/nin-5022-v3.json b/cameras/bosch/nin-5022-v3.json index eb2ab90cf..e1c81d2b9 100644 --- a/cameras/bosch/nin-5022-v3.json +++ b/cameras/bosch/nin-5022-v3.json @@ -40,6 +40,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ diff --git a/cameras/bosch/nin-733-v03p.json b/cameras/bosch/nin-733-v03p.json index 8f6fbf5cd..281b9011f 100644 --- a/cameras/bosch/nin-733-v03p.json +++ b/cameras/bosch/nin-733-v03p.json @@ -42,6 +42,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/nin-832-v03p.json b/cameras/bosch/nin-832-v03p.json index 5813a8f1c..3e00f9ed0 100644 --- a/cameras/bosch/nin-832-v03p.json +++ b/cameras/bosch/nin-832-v03p.json @@ -40,6 +40,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/nin-932-v03ip.json b/cameras/bosch/nin-932-v03ip.json index 3aab78eb7..9525bf370 100644 --- a/cameras/bosch/nin-932-v03ip.json +++ b/cameras/bosch/nin-932-v03ip.json @@ -40,6 +40,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/npc-20012-f2.json b/cameras/bosch/npc-20012-f2.json index bba397e96..7fa3ee798 100644 --- a/cameras/bosch/npc-20012-f2.json +++ b/cameras/bosch/npc-20012-f2.json @@ -42,6 +42,7 @@ "weight_g": 143, "operating_temp_c": "-10 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/nuc-20012-f2.json b/cameras/bosch/nuc-20012-f2.json index b2a6babaf..3be1e34b2 100644 --- a/cameras/bosch/nuc-20012-f2.json +++ b/cameras/bosch/nuc-20012-f2.json @@ -40,6 +40,7 @@ "weight_g": 250, "operating_temp_c": "-20 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/nuc-50022-f4.json b/cameras/bosch/nuc-50022-f4.json index 31a3b5ddc..5997b65f2 100644 --- a/cameras/bosch/nuc-50022-f4.json +++ b/cameras/bosch/nuc-50022-f4.json @@ -38,6 +38,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/nuc-50051-f4.json b/cameras/bosch/nuc-50051-f4.json index 1fe338341..31a521461 100644 --- a/cameras/bosch/nuc-50051-f4.json +++ b/cameras/bosch/nuc-50051-f4.json @@ -38,6 +38,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/bosch/nuc-51022-f4.json b/cameras/bosch/nuc-51022-f4.json index 727140824..f66c8d45b 100644 --- a/cameras/bosch/nuc-51022-f4.json +++ b/cameras/bosch/nuc-51022-f4.json @@ -40,6 +40,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ diff --git a/cameras/dahua/sd6ce245gb-hnr.json b/cameras/dahua/sd6ce245gb-hnr.json index b18cdd417..cb901d041 100644 --- a/cameras/dahua/sd6ce245gb-hnr.json +++ b/cameras/dahua/sd6ce245gb-hnr.json @@ -4,7 +4,7 @@ "model": "SD6CE245GB-HNR", "aliases": [ "DH-SD6CE245GB-HNR", - "SD6CE245GB-HNR(only for Georgia)" + "SD6CE245GB-HNR(only for Georgia)" ], "ndaa_compliant": false, "type": "ptz", diff --git a/cameras/flir/flir-fc-617-ai-r.json b/cameras/flir/flir-fc-617-ai-r.json index ab238c933..33bdc25e1 100644 --- a/cameras/flir/flir-fc-617-ai-r.json +++ b/cameras/flir/flir-fc-617-ai-r.json @@ -58,6 +58,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", diff --git a/cameras/flir/flir-fc-625-ai-r.json b/cameras/flir/flir-fc-625-ai-r.json index d860621e9..db1e556d3 100644 --- a/cameras/flir/flir-fc-625-ai-r.json +++ b/cameras/flir/flir-fc-625-ai-r.json @@ -58,6 +58,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", diff --git a/cameras/flir/flir-fc-644-ai-r.json b/cameras/flir/flir-fc-644-ai-r.json index bc0b1c4b2..04f35bcfa 100644 --- a/cameras/flir/flir-fc-644-ai-r.json +++ b/cameras/flir/flir-fc-644-ai-r.json @@ -58,6 +58,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", diff --git a/cameras/flir/flir-fc-669-ai-r.json b/cameras/flir/flir-fc-669-ai-r.json index c627f30b4..1e8a07492 100644 --- a/cameras/flir/flir-fc-669-ai-r.json +++ b/cameras/flir/flir-fc-669-ai-r.json @@ -56,6 +56,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", diff --git a/cameras/hikvision/ds-2cd2023g2-li.json b/cameras/hikvision/ds-2cd2023g2-li.json index 6140ee47f..dcd48f254 100644 --- a/cameras/hikvision/ds-2cd2023g2-li.json +++ b/cameras/hikvision/ds-2cd2023g2-li.json @@ -84,6 +84,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 } } diff --git a/cameras/hikvision/ds-2cd2046g2h-i.json b/cameras/hikvision/ds-2cd2046g2h-i.json index c3c6ffb24..b94d6b633 100644 --- a/cameras/hikvision/ds-2cd2046g2h-i.json +++ b/cameras/hikvision/ds-2cd2046g2h-i.json @@ -82,6 +82,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 } } diff --git a/cameras/hikvision/ds-2cd2067g2h-li.json b/cameras/hikvision/ds-2cd2067g2h-li.json index 7d2078e20..4a1fbb184 100644 --- a/cameras/hikvision/ds-2cd2067g2h-li.json +++ b/cameras/hikvision/ds-2cd2067g2h-li.json @@ -85,6 +85,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 } } diff --git a/cameras/hikvision/ds-2cd2067g3-li2uy.json b/cameras/hikvision/ds-2cd2067g3-li2uy.json index d83dcff0e..06c858edc 100644 --- a/cameras/hikvision/ds-2cd2067g3-li2uy.json +++ b/cameras/hikvision/ds-2cd2067g3-li2uy.json @@ -85,6 +85,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 } } diff --git a/cameras/hikvision/ds-2cd3367g3-lisu.json b/cameras/hikvision/ds-2cd3367g3-lisu.json index 62b2686f3..fe7769d6a 100644 --- a/cameras/hikvision/ds-2cd3367g3-lisu.json +++ b/cameras/hikvision/ds-2cd3367g3-lisu.json @@ -81,6 +81,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { diff --git a/cameras/hikvision/ds-2cd3367g3-lisuy.json b/cameras/hikvision/ds-2cd3367g3-lisuy.json index c2893bc0e..ca316b2d1 100644 --- a/cameras/hikvision/ds-2cd3367g3-lisuy.json +++ b/cameras/hikvision/ds-2cd3367g3-lisuy.json @@ -81,6 +81,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { diff --git a/cameras/hikvision/ds-2cd3h63g2-lizsu.json b/cameras/hikvision/ds-2cd3h63g2-lizsu.json index f4f0bd10c..0223d37de 100644 --- a/cameras/hikvision/ds-2cd3h63g2-lizsu.json +++ b/cameras/hikvision/ds-2cd3h63g2-lizsu.json @@ -87,6 +87,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 } } diff --git a/cameras/hikvision/ds-2cd3t46g3-isu.json b/cameras/hikvision/ds-2cd3t46g3-isu.json index fd34848a2..2c6877e2e 100644 --- a/cameras/hikvision/ds-2cd3t46g3-isu.json +++ b/cameras/hikvision/ds-2cd3t46g3-isu.json @@ -83,6 +83,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { diff --git a/cameras/hikvision/ds-2cd3t87g3-lisu.json b/cameras/hikvision/ds-2cd3t87g3-lisu.json index 5e94cc1c0..ece5c86c2 100644 --- a/cameras/hikvision/ds-2cd3t87g3-lisu.json +++ b/cameras/hikvision/ds-2cd3t87g3-lisu.json @@ -83,6 +83,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { diff --git a/cameras/hikvision/ds-2cd3t87g3-lisuy.json b/cameras/hikvision/ds-2cd3t87g3-lisuy.json index b16d2615a..32a24259e 100644 --- a/cameras/hikvision/ds-2cd3t87g3-lisuy.json +++ b/cameras/hikvision/ds-2cd3t87g3-lisuy.json @@ -83,6 +83,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { diff --git a/cameras/hikvision/ds-2de3404w-det5.json b/cameras/hikvision/ds-2de3404w-det5.json index e1a9e632d..6a3cccd1d 100644 --- a/cameras/hikvision/ds-2de3404w-det5.json +++ b/cameras/hikvision/ds-2de3404w-det5.json @@ -15,7 +15,6 @@ "sensor": "1/2.8\" Progressive Scan CMOS", "lens": { "count": 1, - "focal_length_mm": "", "varifocal": false, "aperture": "F1.5" }, diff --git a/cameras/hikvision/hikvision-ds-2cd6d22de-w.json b/cameras/hikvision/hikvision-ds-2cd6d22de-w.json index 2978d940c..bfd26e046 100644 --- a/cameras/hikvision/hikvision-ds-2cd6d22de-w.json +++ b/cameras/hikvision/hikvision-ds-2cd6d22de-w.json @@ -53,6 +53,7 @@ "weight_g": 297, "dimensions_mm": "Ø95x70", "storage": { + "onboard": true, "max_microsd_gb": 128 }, "video": { diff --git a/cameras/hikvision/hikvision-ds-2de4223iw-de.json b/cameras/hikvision/hikvision-ds-2de4223iw-de.json index 3cb97b8ca..1cb4a09c5 100644 --- a/cameras/hikvision/hikvision-ds-2de4223iw-de.json +++ b/cameras/hikvision/hikvision-ds-2de4223iw-de.json @@ -94,6 +94,7 @@ }, "operating_temp_c": "-30℃~65℃", "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ds-2de6223mwr-d.json b/cameras/hikvision/hikvision-ds-2de6223mwr-d.json index bfa61d53f..24089d7c7 100644 --- a/cameras/hikvision/hikvision-ds-2de6223mwr-d.json +++ b/cameras/hikvision/hikvision-ds-2de6223mwr-d.json @@ -95,6 +95,7 @@ }, "operating_temp_c": "-30℃~65℃", "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ds-2de6c232iw-d-glts6.json b/cameras/hikvision/hikvision-ds-2de6c232iw-d-glts6.json index 08c155843..0b0fff2ab 100644 --- a/cameras/hikvision/hikvision-ds-2de6c232iw-d-glts6.json +++ b/cameras/hikvision/hikvision-ds-2de6c232iw-d-glts6.json @@ -84,6 +84,7 @@ "aperture": "F1.6" }, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ids-2df5225xr-a.json b/cameras/hikvision/hikvision-ids-2df5225xr-a.json index d6ad89a88..4955954b5 100644 --- a/cameras/hikvision/hikvision-ids-2df5225xr-a.json +++ b/cameras/hikvision/hikvision-ids-2df5225xr-a.json @@ -67,6 +67,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 4000, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ids-2df6a832x-a.json b/cameras/hikvision/hikvision-ids-2df6a832x-a.json index 6e42b6836..9caedfe93 100644 --- a/cameras/hikvision/hikvision-ids-2df6a832x-a.json +++ b/cameras/hikvision/hikvision-ids-2df6a832x-a.json @@ -68,6 +68,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6000, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ids-2df6c430-cx.json b/cameras/hikvision/hikvision-ids-2df6c430-cx.json index f55ac6d92..92c53d409 100644 --- a/cameras/hikvision/hikvision-ids-2df6c430-cx.json +++ b/cameras/hikvision/hikvision-ids-2df6c430-cx.json @@ -68,6 +68,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ids-2df8440i5xr-a.json b/cameras/hikvision/hikvision-ids-2df8440i5xr-a.json index df6c22eae..9e3584b62 100644 --- a/cameras/hikvision/hikvision-ids-2df8440i5xr-a.json +++ b/cameras/hikvision/hikvision-ids-2df8440i5xr-a.json @@ -68,6 +68,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 8000, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ids-2df8440i5xr-afw.json b/cameras/hikvision/hikvision-ids-2df8440i5xr-afw.json index 617077aef..ed14943db 100644 --- a/cameras/hikvision/hikvision-ids-2df8440i5xr-afw.json +++ b/cameras/hikvision/hikvision-ids-2df8440i5xr-afw.json @@ -68,6 +68,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 8000, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ids-2df8c425mh-a-xa.json b/cameras/hikvision/hikvision-ids-2df8c425mh-a-xa.json index b5a002e9b..0e3b2cdf4 100644 --- a/cameras/hikvision/hikvision-ids-2df8c425mh-a-xa.json +++ b/cameras/hikvision/hikvision-ids-2df8c425mh-a-xa.json @@ -70,6 +70,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6500, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ids-2df8c425mx-a-xa.json b/cameras/hikvision/hikvision-ids-2df8c425mx-a-xa.json index 03e8ef96f..355ffe29e 100644 --- a/cameras/hikvision/hikvision-ids-2df8c425mx-a-xa.json +++ b/cameras/hikvision/hikvision-ids-2df8c425mx-a-xa.json @@ -67,6 +67,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hikvision/hikvision-ids-2df8c425mx-afw-sp-xa.json b/cameras/hikvision/hikvision-ids-2df8c425mx-afw-sp-xa.json index 4ed712e53..609da5b7b 100644 --- a/cameras/hikvision/hikvision-ids-2df8c425mx-afw-sp-xa.json +++ b/cameras/hikvision/hikvision-ids-2df8c425mx-afw-sp-xa.json @@ -70,6 +70,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6000, "storage": { + "onboard": true, "max_microsd_gb": 256 } } diff --git a/cameras/hyundai/hyundai-hyu-1033.json b/cameras/hyundai/hyundai-hyu-1033.json index fadf7fbcb..6c4709b59 100644 --- a/cameras/hyundai/hyundai-hyu-1033.json +++ b/cameras/hyundai/hyundai-hyu-1033.json @@ -44,6 +44,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, diff --git a/cameras/hyundai/hyundai-hyu-1100.json b/cameras/hyundai/hyundai-hyu-1100.json index 02a4a1d46..2c571b01f 100644 --- a/cameras/hyundai/hyundai-hyu-1100.json +++ b/cameras/hyundai/hyundai-hyu-1100.json @@ -33,6 +33,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, diff --git a/cameras/hyundai/hyundai-hyu-1108.json b/cameras/hyundai/hyundai-hyu-1108.json index 750cf022a..5fbf7e501 100644 --- a/cameras/hyundai/hyundai-hyu-1108.json +++ b/cameras/hyundai/hyundai-hyu-1108.json @@ -33,6 +33,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, diff --git a/cameras/hyundai/hyundai-hyu-1137.json b/cameras/hyundai/hyundai-hyu-1137.json index fc9f9d4be..a77c57dee 100644 --- a/cameras/hyundai/hyundai-hyu-1137.json +++ b/cameras/hyundai/hyundai-hyu-1137.json @@ -57,6 +57,7 @@ "two_way": true }, "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, diff --git a/cameras/hyundai/hyundai-hyu-648.json b/cameras/hyundai/hyundai-hyu-648.json index ec31d9162..e532a536e 100644 --- a/cameras/hyundai/hyundai-hyu-648.json +++ b/cameras/hyundai/hyundai-hyu-648.json @@ -31,6 +31,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 128 }, diff --git a/cameras/hyundai/hyundai-hyu-678.json b/cameras/hyundai/hyundai-hyu-678.json index 7321138f6..812d85ebf 100644 --- a/cameras/hyundai/hyundai-hyu-678.json +++ b/cameras/hyundai/hyundai-hyu-678.json @@ -44,6 +44,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 128 }, diff --git a/cameras/hyundai/hyundai-hyu-910.json b/cameras/hyundai/hyundai-hyu-910.json index bb6b78cae..fd7bf57df 100644 --- a/cameras/hyundai/hyundai-hyu-910.json +++ b/cameras/hyundai/hyundai-hyu-910.json @@ -31,6 +31,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, diff --git a/cameras/hyundai/hyundai-hyu-913.json b/cameras/hyundai/hyundai-hyu-913.json index 24c28965b..87ee74659 100644 --- a/cameras/hyundai/hyundai-hyu-913.json +++ b/cameras/hyundai/hyundai-hyu-913.json @@ -31,6 +31,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, diff --git a/cameras/hyundai/hyundai-hyu-917.json b/cameras/hyundai/hyundai-hyu-917.json index 9bc7c31dd..a6f79eb9e 100644 --- a/cameras/hyundai/hyundai-hyu-917.json +++ b/cameras/hyundai/hyundai-hyu-917.json @@ -31,6 +31,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, diff --git a/cameras/hyundai/hyundai-hyu-943.json b/cameras/hyundai/hyundai-hyu-943.json index 936f86b2e..83d840e20 100644 --- a/cameras/hyundai/hyundai-hyu-943.json +++ b/cameras/hyundai/hyundai-hyu-943.json @@ -46,6 +46,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, diff --git a/cameras/hyundai/hyundai-hyu-955.json b/cameras/hyundai/hyundai-hyu-955.json index be94127a6..131aa646a 100644 --- a/cameras/hyundai/hyundai-hyu-955.json +++ b/cameras/hyundai/hyundai-hyu-955.json @@ -48,6 +48,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, diff --git a/cameras/hyundai/hyundai-hyu-993.json b/cameras/hyundai/hyundai-hyu-993.json index 7ae6579fb..830e704b8 100644 --- a/cameras/hyundai/hyundai-hyu-993.json +++ b/cameras/hyundai/hyundai-hyu-993.json @@ -31,6 +31,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, diff --git a/cameras/panasonic/panasonic-pm-et8ulfc-w.json b/cameras/panasonic/panasonic-pm-et8ulfc-w.json index a015b3e89..ac378b0f6 100644 --- a/cameras/panasonic/panasonic-pm-et8ulfc-w.json +++ b/cameras/panasonic/panasonic-pm-et8ulfc-w.json @@ -85,6 +85,7 @@ "weight_g": 450, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pa4ulvr-w.json b/cameras/panasonic/panasonic-pm-pa4ulvr-w.json index a22087d9d..9ed9becbd 100644 --- a/cameras/panasonic/panasonic-pm-pa4ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-pa4ulvr-w.json @@ -93,6 +93,7 @@ "weight_g": 1176, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pb4ulsr-w.json b/cameras/panasonic/panasonic-pm-pb4ulsr-w.json index b976cf912..4199e75ec 100644 --- a/cameras/panasonic/panasonic-pm-pb4ulsr-w.json +++ b/cameras/panasonic/panasonic-pm-pb4ulsr-w.json @@ -92,6 +92,7 @@ "weight_g": 930, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pb4ulvr-w.json b/cameras/panasonic/panasonic-pm-pb4ulvr-w.json index b78b2162d..aa72a5744 100644 --- a/cameras/panasonic/panasonic-pm-pb4ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-pb4ulvr-w.json @@ -92,6 +92,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pb6ulvr-w.json b/cameras/panasonic/panasonic-pm-pb6ulvr-w.json index 82bbf5a49..5c5fa6edd 100644 --- a/cameras/panasonic/panasonic-pm-pb6ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-pb6ulvr-w.json @@ -92,6 +92,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pb8ulvr-w.json b/cameras/panasonic/panasonic-pm-pb8ulvr-w.json index a26a4949f..bfcee8bea 100644 --- a/cameras/panasonic/panasonic-pm-pb8ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-pb8ulvr-w.json @@ -67,6 +67,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-pd2ulvr-w.json b/cameras/panasonic/panasonic-pm-pd2ulvr-w.json index e33909a74..49fa9112a 100644 --- a/cameras/panasonic/panasonic-pm-pd2ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-pd2ulvr-w.json @@ -93,6 +93,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pd4ulfr-w.json b/cameras/panasonic/panasonic-pm-pd4ulfr-w.json index 75ba170b8..8b4fe49c7 100644 --- a/cameras/panasonic/panasonic-pm-pd4ulfr-w.json +++ b/cameras/panasonic/panasonic-pm-pd4ulfr-w.json @@ -93,6 +93,7 @@ "weight_g": 424, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pd4ulsr-w.json b/cameras/panasonic/panasonic-pm-pd4ulsr-w.json index 12d1a8184..5dee37290 100644 --- a/cameras/panasonic/panasonic-pm-pd4ulsr-w.json +++ b/cameras/panasonic/panasonic-pm-pd4ulsr-w.json @@ -93,6 +93,7 @@ "weight_g": 930, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pd6ulvr-w.json b/cameras/panasonic/panasonic-pm-pd6ulvr-w.json index 1a94dfbf6..3b0cea853 100644 --- a/cameras/panasonic/panasonic-pm-pd6ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-pd6ulvr-w.json @@ -93,6 +93,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pd8ulvr-w.json b/cameras/panasonic/panasonic-pm-pd8ulvr-w.json index d80e3bb1a..11c86293a 100644 --- a/cameras/panasonic/panasonic-pm-pd8ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-pd8ulvr-w.json @@ -93,6 +93,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pfaulfr-w.json b/cameras/panasonic/panasonic-pm-pfaulfr-w.json index 6d89e4f1c..b297399c0 100644 --- a/cameras/panasonic/panasonic-pm-pfaulfr-w.json +++ b/cameras/panasonic/panasonic-pm-pfaulfr-w.json @@ -92,6 +92,7 @@ "weight_g": 516, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-pp8ulvr-w.json b/cameras/panasonic/panasonic-pm-pp8ulvr-w.json index 82f75416a..d49ad158f 100644 --- a/cameras/panasonic/panasonic-pm-pp8ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-pp8ulvr-w.json @@ -81,6 +81,7 @@ "weight_g": 8800, "operating_temp_c": "-40 to 70", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-px6nkbn-w.json b/cameras/panasonic/panasonic-pm-px6nkbn-w.json index dca7d2cac..0c8f357b0 100644 --- a/cameras/panasonic/panasonic-pm-px6nkbn-w.json +++ b/cameras/panasonic/panasonic-pm-px6nkbn-w.json @@ -66,6 +66,7 @@ "weight_g": 500, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-vb2ulvc-w.json b/cameras/panasonic/panasonic-pm-vb2ulvc-w.json index 95e55f299..d2b3e91fc 100644 --- a/cameras/panasonic/panasonic-pm-vb2ulvc-w.json +++ b/cameras/panasonic/panasonic-pm-vb2ulvc-w.json @@ -91,6 +91,7 @@ "weight_g": 684, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vb2ulvr-w.json b/cameras/panasonic/panasonic-pm-vb2ulvr-w.json index 46be1f0e4..f0cb4ad0c 100644 --- a/cameras/panasonic/panasonic-pm-vb2ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-vb2ulvr-w.json @@ -70,6 +70,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-vb4ulft-w.json b/cameras/panasonic/panasonic-pm-vb4ulft-w.json index 60423a84e..80f9b5f17 100644 --- a/cameras/panasonic/panasonic-pm-vb4ulft-w.json +++ b/cameras/panasonic/panasonic-pm-vb4ulft-w.json @@ -70,6 +70,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-vb4ulvc-w.json b/cameras/panasonic/panasonic-pm-vb4ulvc-w.json index 56ba963ed..58172c3b2 100644 --- a/cameras/panasonic/panasonic-pm-vb4ulvc-w.json +++ b/cameras/panasonic/panasonic-pm-vb4ulvc-w.json @@ -70,6 +70,7 @@ "weight_g": 684, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-vb5ulfr-w.json b/cameras/panasonic/panasonic-pm-vb5ulfr-w.json index 8611d6a7e..d288c9bd3 100644 --- a/cameras/panasonic/panasonic-pm-vb5ulfr-w.json +++ b/cameras/panasonic/panasonic-pm-vb5ulfr-w.json @@ -92,6 +92,7 @@ "weight_g": 730, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vb5ulvr-w.json b/cameras/panasonic/panasonic-pm-vb5ulvr-w.json index 8b15d0d72..cad755a57 100644 --- a/cameras/panasonic/panasonic-pm-vb5ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-vb5ulvr-w.json @@ -71,6 +71,7 @@ "weight_g": 730, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-vb6ulvc-w.json b/cameras/panasonic/panasonic-pm-vb6ulvc-w.json index 3348928db..a4ab8933f 100644 --- a/cameras/panasonic/panasonic-pm-vb6ulvc-w.json +++ b/cameras/panasonic/panasonic-pm-vb6ulvc-w.json @@ -70,6 +70,7 @@ "weight_g": 700, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-vb8ulvc-w.json b/cameras/panasonic/panasonic-pm-vb8ulvc-w.json index 05db5345c..4b33bab5d 100644 --- a/cameras/panasonic/panasonic-pm-vb8ulvc-w.json +++ b/cameras/panasonic/panasonic-pm-vb8ulvc-w.json @@ -71,6 +71,7 @@ "weight_g": 700, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-vd2ulfr-w.json b/cameras/panasonic/panasonic-pm-vd2ulfr-w.json index 92733ba68..2ce070385 100644 --- a/cameras/panasonic/panasonic-pm-vd2ulfr-w.json +++ b/cameras/panasonic/panasonic-pm-vd2ulfr-w.json @@ -92,6 +92,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vd4ulfc-w.json b/cameras/panasonic/panasonic-pm-vd4ulfc-w.json index 335d9151b..23e44be7f 100644 --- a/cameras/panasonic/panasonic-pm-vd4ulfc-w.json +++ b/cameras/panasonic/panasonic-pm-vd4ulfc-w.json @@ -92,6 +92,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vd4ulft-w.json b/cameras/panasonic/panasonic-pm-vd4ulft-w.json index 43d9196e1..bebe9a4be 100644 --- a/cameras/panasonic/panasonic-pm-vd4ulft-w.json +++ b/cameras/panasonic/panasonic-pm-vd4ulft-w.json @@ -92,6 +92,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vd4ulvr-w.json b/cameras/panasonic/panasonic-pm-vd4ulvr-w.json index 8d5e8480f..e68ff30bd 100644 --- a/cameras/panasonic/panasonic-pm-vd4ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-vd4ulvr-w.json @@ -92,6 +92,7 @@ "weight_g": 876, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vd5ulfr-w.json b/cameras/panasonic/panasonic-pm-vd5ulfr-w.json index 33bf751c6..069485852 100644 --- a/cameras/panasonic/panasonic-pm-vd5ulfr-w.json +++ b/cameras/panasonic/panasonic-pm-vd5ulfr-w.json @@ -93,6 +93,7 @@ "weight_g": 650, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vd6ulfc-w.json b/cameras/panasonic/panasonic-pm-vd6ulfc-w.json index aa27fc627..073d1a3a4 100644 --- a/cameras/panasonic/panasonic-pm-vd6ulfc-w.json +++ b/cameras/panasonic/panasonic-pm-vd6ulfc-w.json @@ -92,6 +92,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vd8ulfc-w.json b/cameras/panasonic/panasonic-pm-vd8ulfc-w.json index 45d26b83c..75580ae7c 100644 --- a/cameras/panasonic/panasonic-pm-vd8ulfc-w.json +++ b/cameras/panasonic/panasonic-pm-vd8ulfc-w.json @@ -92,6 +92,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vp4ulvr-w.json b/cameras/panasonic/panasonic-pm-vp4ulvr-w.json index c90df300b..69eeab031 100644 --- a/cameras/panasonic/panasonic-pm-vp4ulvr-w.json +++ b/cameras/panasonic/panasonic-pm-vp4ulvr-w.json @@ -79,6 +79,7 @@ "weight_g": 2100, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ diff --git a/cameras/panasonic/panasonic-pm-vt2ulvc-w.json b/cameras/panasonic/panasonic-pm-vt2ulvc-w.json index da00a4eb4..07423900a 100644 --- a/cameras/panasonic/panasonic-pm-vt2ulvc-w.json +++ b/cameras/panasonic/panasonic-pm-vt2ulvc-w.json @@ -91,6 +91,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vt6ulvc-w.json b/cameras/panasonic/panasonic-pm-vt6ulvc-w.json index 41916c896..4da9d5f72 100644 --- a/cameras/panasonic/panasonic-pm-vt6ulvc-w.json +++ b/cameras/panasonic/panasonic-pm-vt6ulvc-w.json @@ -91,6 +91,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/panasonic/panasonic-pm-vt8ulvc-w.json b/cameras/panasonic/panasonic-pm-vt8ulvc-w.json index 03a19d175..7022aaf57 100644 --- a/cameras/panasonic/panasonic-pm-vt8ulvc-w.json +++ b/cameras/panasonic/panasonic-pm-vt8ulvc-w.json @@ -91,6 +91,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, diff --git a/cameras/quarkview/ja-pt530w-30w.json b/cameras/quarkview/ja-pt530w-30w.json index 1a1c152f9..5f1f3bcc6 100644 --- a/cameras/quarkview/ja-pt530w-30w.json +++ b/cameras/quarkview/ja-pt530w-30w.json @@ -36,6 +36,7 @@ "voltage": "12V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "audio": { diff --git a/cameras/quarkview/pt825g-40p.json b/cameras/quarkview/pt825g-40p.json index b48a1785c..f5b5ffc0f 100644 --- a/cameras/quarkview/pt825g-40p.json +++ b/cameras/quarkview/pt825g-40p.json @@ -28,6 +28,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 128, "nvr_compatible": true }, diff --git a/cameras/quarkview/ta-gj-cg6e-30wsl.json b/cameras/quarkview/ta-gj-cg6e-30wsl.json index b8c9a5af7..be45eba06 100644 --- a/cameras/quarkview/ta-gj-cg6e-30wsl.json +++ b/cameras/quarkview/ta-gj-cg6e-30wsl.json @@ -32,6 +32,7 @@ "voltage": "5V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "ip_rating": "IP66", diff --git a/cameras/quarkview/ty-k04-20w.json b/cameras/quarkview/ty-k04-20w.json index ca8203899..1624752be 100644 --- a/cameras/quarkview/ty-k04-20w.json +++ b/cameras/quarkview/ty-k04-20w.json @@ -30,6 +30,7 @@ "voltage": "5V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128, "cloud": true }, diff --git a/cameras/quarkview/xm-n4d2-40w.json b/cameras/quarkview/xm-n4d2-40w.json index 7e5a88d08..957418bad 100644 --- a/cameras/quarkview/xm-n4d2-40w.json +++ b/cameras/quarkview/xm-n4d2-40w.json @@ -27,6 +27,7 @@ "method": "Supplied power adapter (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ diff --git a/cameras/quarkview/xm-pt825-50p.json b/cameras/quarkview/xm-pt825-50p.json index 107345fe3..d535bbd0a 100644 --- a/cameras/quarkview/xm-pt825-50p.json +++ b/cameras/quarkview/xm-pt825-50p.json @@ -27,6 +27,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 64 }, "protocols": [ diff --git a/cameras/quarkview/xm-pt825d-80p.json b/cameras/quarkview/xm-pt825d-80p.json index b2536a2f5..3d7a0e083 100644 --- a/cameras/quarkview/xm-pt825d-80p.json +++ b/cameras/quarkview/xm-pt825d-80p.json @@ -35,6 +35,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ diff --git a/cameras/quarkview/xm-pt825d-80w.json b/cameras/quarkview/xm-pt825d-80w.json index d342a3d1d..2315fe30e 100644 --- a/cameras/quarkview/xm-pt825d-80w.json +++ b/cameras/quarkview/xm-pt825d-80w.json @@ -30,6 +30,7 @@ "method": "External DC power supply (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "ip_rating": "IP66", diff --git a/cameras/quarkview/xm-pt825g-40w.json b/cameras/quarkview/xm-pt825g-40w.json index 47c29f087..aac92fa51 100644 --- a/cameras/quarkview/xm-pt825g-40w.json +++ b/cameras/quarkview/xm-pt825g-40w.json @@ -32,6 +32,7 @@ "method": "External DC power supply (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ diff --git a/cameras/rvi/2ncr54505-2-7-13-5-white-1.json b/cameras/rvi/2ncr54505-2-7-13-5-white-1.json index 32b064c70..75a2804dc 100644 --- a/cameras/rvi/2ncr54505-2-7-13-5-white-1.json +++ b/cameras/rvi/2ncr54505-2-7-13-5-white-1.json @@ -1,7 +1,7 @@ { "id": "rvi-2ncr54505-2-7-13-5-white-1", "brand": "RVi", - "model": "RVi-2NCR54605 (2.7-13.5) ", + "model": "RVi-2NCR54605 (2.7-13.5)", "type": "ptz", "connectivity": [ "ethernet", @@ -103,5 +103,5 @@ "sources": [ "https://rvigroup.ru/catalog-v2/rvi_2ncr54505_2_7_13_5_white_1/" ], - "last_verified": "2026-09-22" + "last_verified": "2026-11-14" } diff --git a/cameras/rvi/rvi-1nce2020-3-6.json b/cameras/rvi/rvi-1nce2020-3-6.json index 5204d1111..b2652a048 100644 --- a/cameras/rvi/rvi-1nce2020-3-6.json +++ b/cameras/rvi/rvi-1nce2020-3-6.json @@ -1,7 +1,7 @@ { "id": "rvi-1nce2020-3-6", "brand": "RVi", - "model": "RVi-1NCE2020 (3.6) ", + "model": "RVi-1NCE2020 (3.6)", "type": "turret", "connectivity": [ "ethernet" diff --git a/cameras/tapo/c110.json b/cameras/tapo/c110.json index c435de28f..4748fef56 100644 --- a/cameras/tapo/c110.json +++ b/cameras/tapo/c110.json @@ -28,6 +28,7 @@ "voltage": "9 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, diff --git a/cameras/tapo/c113.json b/cameras/tapo/c113.json index 12d0b20c0..a348e6108 100644 --- a/cameras/tapo/c113.json +++ b/cameras/tapo/c113.json @@ -33,6 +33,7 @@ ], "ip_rating": "IP65", "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, diff --git a/cameras/tapo/c200c.json b/cameras/tapo/c200c.json index 0829bdecc..06ba11961 100644 --- a/cameras/tapo/c200c.json +++ b/cameras/tapo/c200c.json @@ -32,6 +32,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, diff --git a/cameras/tapo/c201.json b/cameras/tapo/c201.json index 247bb0cec..5897524f3 100644 --- a/cameras/tapo/c201.json +++ b/cameras/tapo/c201.json @@ -31,6 +31,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, diff --git a/cameras/tapo/c202.json b/cameras/tapo/c202.json index 612758e56..d35ad84f1 100644 --- a/cameras/tapo/c202.json +++ b/cameras/tapo/c202.json @@ -33,6 +33,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, diff --git a/cameras/tapo/c206.json b/cameras/tapo/c206.json index 13d0cdd85..d0daecfd8 100644 --- a/cameras/tapo/c206.json +++ b/cameras/tapo/c206.json @@ -33,6 +33,7 @@ ], "ip_rating": "IP65", "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, diff --git a/cameras/tapo/c250.json b/cameras/tapo/c250.json index a3f0ece1c..409c2d11c 100644 --- a/cameras/tapo/c250.json +++ b/cameras/tapo/c250.json @@ -91,7 +91,9 @@ }, "rtsp_url_template": "rtsp://{user}:{pass}@{ip}:554/stream1", "best_substream": "rtsp://{user}:{pass}@{ip}:554/stream2", - "verified": false, + "verified": true, + "tested_by": "Liero via website (#430)", + "tested_version": "0.18.2", "notes": "Mains-powered Tapo cameras expose RTSP once a Camera Account is created in the Tapo app (Settings > Advanced > Camera Account). /stream1 is the main stream, /stream2 the substream. go2rtc alternative: TP-Link's proprietary protocol via go2rtc (tapo://@{ip}) is often more stable than RTSP (fewer timeouts / non-monotonic-timestamp errors). The password form is firmware-dependent: either your Tapo app/cloud account password, or user `admin` + the UPPERCASE SHA-256 of the camera password (`tapo://admin:@{ip}`) — see go2rtc's Tapo docs. It is not the camera's plain RTSP/Device password. If non-monotonic-timestamp errors persist, disable audio for that camera in Frigate. Chrome may render the go2rtc live view with a squashed aspect ratio (a browser live-view quirk, not the stream); Firefox is correct. The go2rtc tapo:// source also carries a two-way-audio backchannel, so Frigate's live view gets a talk button (mic+speaker). Pan/tilt: Tapo exposes ONVIF PTZ on port 2020 (not 80) — point Frigate's onvif block at host: port:2020 with the camera Account credentials for manual pan/tilt. (Frigate autotracking stays off: Tapo only does continuous-move ONVIF, no reliable absolute/FOV positioning.)", "autotracking": false, "onvif_port": 2020, @@ -106,11 +108,20 @@ "notes": "Use Generic/ONVIF profile. RTSP streams: /stream1 (main), /stream2 (sub). Must enable the Camera Account / ONVIF in the Tapo app." } }, - "last_verified": "2026-07-26", + "last_verified": "2026-11-14", "markets": [ "global" ], "cloud_dependency": "cloud-optional", "operating_temp_c": "0 to 40", - "dimensions_mm": "85.4 x 86.8 x 117.2" + "dimensions_mm": "85.4 x 86.8 x 117.2", + "community_notes": [ + { + "note": "Frigate live view on iPhone/iPad (MSE) needs H.264 video and AAC audio. On Frigate 0.18.2 the reporter added a go2rtc restream of the main stream, ffmpeg:rtsp://127.0.0.1:8554/tapo_c250#video=h264#audio=aac, and set it as the camera live stream. Two-way talk worked after adding a go2rtc tapo://admin:@{ip} source (with ffmpeg:...#audio=aac) to the substream; ONVIF was set to port 2020.", + "category": "frigate", + "source": "https://github.com/ch-bas/cctv-camera-database/issues/430", + "reported_by": "Liero", + "date": "2026-11-14" + } + ] } diff --git a/cameras/trassir/tr-d2152zir3.json b/cameras/trassir/tr-d2152zir3.json index 22d155e05..dce96b95a 100644 --- a/cameras/trassir/tr-d2152zir3.json +++ b/cameras/trassir/tr-d2152zir3.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2152ZIR3", "aliases": [ - "5 MP (2560 × 1920) TR-D2152ZIR3 v2 2.8–8 IP camera is adapted for outdoor use regardless of the season: housing protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D2152ZIR3", "TR-D2152ZIR3 v2 2.8-8" ], diff --git a/cameras/trassir/tr-d2181ir3.json b/cameras/trassir/tr-d2181ir3.json index 7c4202c47..812b13cca 100644 --- a/cameras/trassir/tr-d2181ir3.json +++ b/cameras/trassir/tr-d2181ir3.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2181IR3", "aliases": [ - "8 MP (3840 × 2160) TR-D2181IR3 v3 2.8 IP camera is adapted for outdoor use regardless of the season: housing protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000V.", "TR-D2181IR3", "TR-D2181IR3 v3 2.8", "TR-D2181IR3 v3 3.6" diff --git a/cameras/trassir/tr-d2183zir6.json b/cameras/trassir/tr-d2183zir6.json index 94e588290..c2c2e36af 100644 --- a/cameras/trassir/tr-d2183zir6.json +++ b/cameras/trassir/tr-d2183zir6.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2183ZIR6", "aliases": [ - "8 MP (3840×2160) IP camera TR-D2183ZIR6 v3 2.7–13.5 comes in a metal housing protected from moisture and dust according to IP67 standard, which, in combination with an operating temperature range of -40 °C ... +60 °C, provides a stable operation of the device on the street at any time of the year.", "TR-D2183ZIR6", "TR-D2183ZIR6 v3 2.7-13.5" ], diff --git a/cameras/trassir/tr-d2221wdir4w.json b/cameras/trassir/tr-d2221wdir4w.json index a94d92544..7fb9a3abd 100644 --- a/cameras/trassir/tr-d2221wdir4w.json +++ b/cameras/trassir/tr-d2221wdir4w.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2221WDIR4W", "aliases": [ - "2 MP (1920×1080) IP-camera TR-D2221WDIR4W v2 2.8 is adapted for outdoor use at any time of the year: protection of the body made of metal against moisture and dust complies with the IP67 standard, operating temperatures from -40 °C ... +60 °C , lightning protection - TVS 4000 V. Equipped with a Wi-Fi module - for wireless data transmission.", "TR-D2221WDIR4W", "TR-D2221WDIR4W v2 2.8", "TR-D2221WDIR4W v2 3.6" diff --git a/cameras/trassir/tr-d2251wdcl4.json b/cameras/trassir/tr-d2251wdcl4.json index eb6a0bf6c..02027d665 100644 --- a/cameras/trassir/tr-d2251wdcl4.json +++ b/cameras/trassir/tr-d2251wdcl4.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2251WDCL4", "aliases": [ - "5 MP (2880 × 1632) shock-resistant (IK08) TR-D2251WDCL4 2.8 IP camera is adapted for outdoor use at any time of the year and day: protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 ° C, lightning protection - TVS 4000 V, range of the integrated backlight - 40 m.", "TR-D2251WDCL4", "TR-D2251WDCL4 2.8" ], diff --git a/cameras/trassir/tr-d2251wdir4w.json b/cameras/trassir/tr-d2251wdir4w.json index bb58f3538..68814c98e 100644 --- a/cameras/trassir/tr-d2251wdir4w.json +++ b/cameras/trassir/tr-d2251wdir4w.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2251WDIR4W", "aliases": [ - "5 MP (2592×1920) IP camera TR-D2251WDIR4W v2 2.8 is adapted for year-round outdoor operation: body protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission.", "TR-D2251WDIR4W", "TR-D2251WDIR4W v2 2.8", "TR-D2251WDIR4W v2 3.6" diff --git a/cameras/trassir/tr-d2253wdzcl7.json b/cameras/trassir/tr-d2253wdzcl7.json index c67ff14b1..826c9ff64 100644 --- a/cameras/trassir/tr-d2253wdzcl7.json +++ b/cameras/trassir/tr-d2253wdzcl7.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2253WDZCL7", "aliases": [ - "5 MP (2880×1632) shock-resistant (IK08) IP camera TR-D2253WDZCL7 2.7–13.5 is adapted for outdoor use at any time of the year and day: IP67 protection against moisture and dust, operating temperatures from –40 °C… + 60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 70 m.", "TR-D2253WDZCL7", "TR-D2253WDZCL7 2.7-13.5" ], diff --git a/cameras/trassir/tr-d2281wdir4.json b/cameras/trassir/tr-d2281wdir4.json index 73e3a9528..77419cd2e 100644 --- a/cameras/trassir/tr-d2281wdir4.json +++ b/cameras/trassir/tr-d2281wdir4.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2281WDIR4", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D2281WDIR4 2.8 is designed taking into account the conditions of year-round outdoor operation under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, operating temperatures from -40 °C ... +60 °C, lightning protection — 6000V.", "TR-D2281WDIR4", "TR-D2281WDIR4 2.8" ], diff --git a/cameras/trassir/tr-d2283wdzir7.json b/cameras/trassir/tr-d2283wdzir7.json index d0bab72e1..31a4d9e3f 100644 --- a/cameras/trassir/tr-d2283wdzir7.json +++ b/cameras/trassir/tr-d2283wdzir7.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D2283WDZIR7", "aliases": [ - "8 MP (3840×2160) IP camera TR-D2283WDZIR7 2.7–13.5 comes in a housing protected from dust and moisture according to the IP67 standard, which, coupled with operating temperatures from -40 °C ... +60 °C and TVS 6000 V lightning protection, provides stable year-round operation of the device on the street - under the direct influence of precipitation.", "TR-D2283WDZIR7", "TR-D2283WDZIR7 2.7-13.5" ], diff --git a/cameras/trassir/tr-d3151ir2.json b/cameras/trassir/tr-d3151ir2.json index 56d6c43a8..1268f83e1 100644 --- a/cameras/trassir/tr-d3151ir2.json +++ b/cameras/trassir/tr-d3151ir2.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D3151IR2", "aliases": [ - "5 MP (2560 × 1920) TR-D3151IR2 v2 2.8 IP camera is adapted for outdoor use, including places of direct access, regardless of the season: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, operating temperatures from -40 °C… +60 °C, lightning protection - TVS 4000 V.", "TR-D3151IR2", "TR-D3151IR2 v2 2.8", "TR-D3151IR2 v2 3.6" diff --git a/cameras/trassir/tr-d3181ir3.json b/cameras/trassir/tr-d3181ir3.json index e67ac55e3..effa92cd2 100644 --- a/cameras/trassir/tr-d3181ir3.json +++ b/cameras/trassir/tr-d3181ir3.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D3181IR3", "aliases": [ - "8 MP (3840×2160) TR-D3181IR3 v3 2.8 IP camera works stably outdoors in a place of direct access at a temperature of -40 °C ... +60 °C, comes in a metal case protected from moisture and dust according to the IP67 standard, mechanical impacts - IK10. For night video surveillance, it is equipped with IR illumination with a range of 30 m.", "TR-D3181IR3", "TR-D3181IR3 v3 2.8", "TR-D3181IR3 v3 3.6" diff --git a/cameras/trassir/tr-d3183zir3.json b/cameras/trassir/tr-d3183zir3.json index 8cc8db4f2..a9fc21c09 100644 --- a/cameras/trassir/tr-d3183zir3.json +++ b/cameras/trassir/tr-d3183zir3.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D3183ZIR3", "aliases": [ - "8 MP (3840×2160) IP camera TR-D3183ZIR3 v3 2.7–13.5 is supplied in a metal case, protected from moisture and dust according to IP67 standard, from mechanical impact - according to IK10, which in combination with an operating temperature range of -40 °C … +60 °C ensures stable operation of the device outdoors in a place of direct access – regardless of the season.", "TR-D3183ZIR3", "TR-D3183ZIR3 v3 2.7-13.5" ], diff --git a/cameras/trassir/tr-d3221wdir3w.json b/cameras/trassir/tr-d3221wdir3w.json index ef49995b6..8146382fb 100644 --- a/cameras/trassir/tr-d3221wdir3w.json +++ b/cameras/trassir/tr-d3221wdir3w.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D3221WDIR3W", "aliases": [ - "2 MP (1920×1080) IP camera TR-D3221WDIR3W v2 2.8 is adapted for outdoor use regardless of the season and location: body protection against mechanical impacts - IK10, moisture and dust - IP66, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission.", "TR-D3221WDIR3W", "TR-D3221WDIR3W v2 2.8" ], diff --git a/cameras/trassir/tr-d3223wdzir3.json b/cameras/trassir/tr-d3223wdzir3.json index cb1639887..ddca2dd07 100644 --- a/cameras/trassir/tr-d3223wdzir3.json +++ b/cameras/trassir/tr-d3223wdzir3.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D3223WDZIR3", "aliases": [ - "2 MP (1920×1080) IP camera TR-D3223WDZIR3 v2 2.7–13.5 is adapted for outdoor use regardless of the season and location: the case is made of metal, protected from mechanical impacts according to IK10, from moisture and dust - IP66, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D3223WDZIR3", "TR-D3223WDZIR3 v2 2.7-13.5" ], diff --git a/cameras/trassir/tr-d3251wdir3w.json b/cameras/trassir/tr-d3251wdir3w.json index 6874a534e..590946d6b 100644 --- a/cameras/trassir/tr-d3251wdir3w.json +++ b/cameras/trassir/tr-d3251wdir3w.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D3251WDIR3W", "aliases": [ - "5 MP (2592×1920) IP-camera TR-D3251WDIR3W v2 2.8 is adapted for year-round outdoor operation in places of direct access: the case meets the standard of protection against moisture and dust IP66, against mechanical influences - IK10, operating temperatures from -40 °C... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission and IR illumination (30 m range) for night video surveillance.", "TR-D3251WDIR3W", "TR-D3251WDIR3W v2 2.8" ], diff --git a/cameras/trassir/tr-d3253wdzir3.json b/cameras/trassir/tr-d3253wdzir3.json index 2ee7b488a..442b9cdc6 100644 --- a/cameras/trassir/tr-d3253wdzir3.json +++ b/cameras/trassir/tr-d3253wdzir3.json @@ -4,8 +4,7 @@ "model": "TR-D3253WDZIR3", "aliases": [ "TR-D3253WDZIR3", - "TR-D3253WDZIR3 v2 2.7-13.5", - "Vandal-resistant (IK10) 5 MP (2592×1920) IP camera TR-D3253WDZIR3 v2 2.7–13.5 comes in a housing protected from moisture and dust according to IP66 standard, which, coupled with operating temperatures from -40 °C ... +60 °C and lightning protection TVS 4000 V ensures stable operation of the device on the street, regardless of the season." + "TR-D3253WDZIR3 v2 2.7-13.5" ], "type": "dome", "connectivity": [ diff --git a/cameras/trassir/tr-d3281wdir4.json b/cameras/trassir/tr-d3281wdir4.json index 8eeab89be..bcb1b798e 100644 --- a/cameras/trassir/tr-d3281wdir4.json +++ b/cameras/trassir/tr-d3281wdir4.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D3281WDIR4", "aliases": [ - "8 MP (3840×2160) TR-D3281WDIR4 2.8 IP camera is adapted for year-round outdoor operation, including places of direct access, under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, from mechanical influences — IK10, operating temperatures from – 40 °C… +60 °C, lightning protection - TVS 6000 V.", "TR-D3281WDIR4", "TR-D3281WDIR4 2.8" ], diff --git a/cameras/trassir/tr-d4281wdir2.json b/cameras/trassir/tr-d4281wdir2.json index b0e6dd66c..0833d6595 100644 --- a/cameras/trassir/tr-d4281wdir2.json +++ b/cameras/trassir/tr-d4281wdir2.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D4281WDIR2", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D4281WDIR2 2.8 is adapted for year-round outdoor operation, including places of direct access, under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, from mechanical influences — IK10, operating temperatures from – 40 °C… +60 °C, lightning protection - TVS 6000 V.", "TR-D4281WDIR2", "TR-D4281WDIR2 2.8" ], diff --git a/cameras/trassir/tr-d4s5.json b/cameras/trassir/tr-d4s5.json index e5569e9fb..ccc7a6a64 100644 --- a/cameras/trassir/tr-d4s5.json +++ b/cameras/trassir/tr-d4s5.json @@ -5,8 +5,7 @@ "aliases": [ "TR-D4S5", "TR-D4S5 v3 2.8", - "TR-D4S5 v3 3.6", - "The 4 MP (2560×1440) IP camera TR-D4S5 v3 2.8 is designed for outdoor use in any weather conditions, subjected to direct exposure to precipitation. The camera's housing is protected from dust and moisture according to IP66 standards, and it has an extended operating temperature range from -40°C to +60°C. Additionally, it features TVS 4000 V surge protection and IR illumination with a range of up to 25 meters." + "TR-D4S5 v3 3.6" ], "type": "turret", "connectivity": [ diff --git a/cameras/trassir/tr-d7121ir1w.json b/cameras/trassir/tr-d7121ir1w.json index 835c1fbb5..038f97ae8 100644 --- a/cameras/trassir/tr-d7121ir1w.json +++ b/cameras/trassir/tr-d7121ir1w.json @@ -69,7 +69,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "99.0×60.0×32.8", "weight_g": 85, "configs": { diff --git a/cameras/trassir/tr-d7221wdir2w.json b/cameras/trassir/tr-d7221wdir2w.json index f867a9c7a..c07e226d9 100644 --- a/cameras/trassir/tr-d7221wdir2w.json +++ b/cameras/trassir/tr-d7221wdir2w.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D7221WDIR2W", "aliases": [ - "2 MP (1920×1080) IP-camera TR-D7221WDIR2W v2 2.8 is designed for operation in a room with controlled climatic conditions. Equipped with a Wi-Fi module for wireless data transfer. Suitable for night video surveillance - equipped with IR illumination with a range of 15 m.", "TR-D7221WDIR2W", "TR-D7221WDIR2W v2 2.8", "TR-D7221WDIR2W v2 3.6" diff --git a/cameras/trassir/tr-d7251wdir2w.json b/cameras/trassir/tr-d7251wdir2w.json index 8c078afbe..a3864b890 100644 --- a/cameras/trassir/tr-d7251wdir2w.json +++ b/cameras/trassir/tr-d7251wdir2w.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D7251WDIR2W", "aliases": [ - "5 MP (2880 × 1632) TR-D8251WDCL3 2.8 IP camera is adapted for outdoor use at any time of the year and day - in places of direct access under the influence of precipitation: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, working temperatures - -40 °C ... +60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 30 m.", "TR-D7251WDIR2W", "TR-D7251WDIR2W v2 2.8" ], diff --git a/cameras/trassir/tr-d8121cl2.json b/cameras/trassir/tr-d8121cl2.json index dad00daf6..c0789ec32 100644 --- a/cameras/trassir/tr-d8121cl2.json +++ b/cameras/trassir/tr-d8121cl2.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D8121CL2", "aliases": [ - "2 MP (1920×1080) IP camera TR-D8121CL2 (2.8 mm) is based on a highly sensitive (0.0015 lx) 1/2.8\" matrix, equipped with a fast (F/1.0) lens and LED-backlight with a range of 25 m, due to which broadcasts color video around the clock.Designed taking into account the conditions of outdoor operation, regardless of the season: protection of the case against dust and moisture complies with the IP66 standard, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D8121CL2", "TR-D8121CL2 2.8", "TR-D8121CL2 4.0" diff --git a/cameras/trassir/tr-d8121ir2w.json b/cameras/trassir/tr-d8121ir2w.json index 1b34ba4c2..676d079fd 100644 --- a/cameras/trassir/tr-d8121ir2w.json +++ b/cameras/trassir/tr-d8121ir2w.json @@ -71,7 +71,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "105.0×92.1", "weight_g": 220, "features": [ diff --git a/cameras/trassir/tr-d8151ir2.json b/cameras/trassir/tr-d8151ir2.json index 00800047e..8c3f05034 100644 --- a/cameras/trassir/tr-d8151ir2.json +++ b/cameras/trassir/tr-d8151ir2.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D8151IR2", "aliases": [ - "5 MP (2560 × 1920) IP camera TR-D8151IR2 v2 2.8 is adapted for outdoor use regardless of the season and location: protection against moisture and dust - IP66, mechanical impact - IK10, operating temperatures from -40 °C … +60 °C, lightning protection – TVS 4000 V.", "TR-D8151IR2", "TR-D8151IR2 v2 2.8", "TR-D8151IR2 v2 3.6" diff --git a/cameras/trassir/tr-d8181ir3.json b/cameras/trassir/tr-d8181ir3.json index c7343b911..abc5e0f96 100644 --- a/cameras/trassir/tr-d8181ir3.json +++ b/cameras/trassir/tr-d8181ir3.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D8181IR3", "aliases": [ - "8 MP (3840×2160) TR-D8181IR3 v3 3.6 IP camera works stably outdoors in the temperature range of –40 °C… +60 °C, comes in a metal housing protected from moisture and dust according to IP67 standard, suitable for night video surveillance - equipped with IR illumination with a range of 30 m.", "TR-D8181IR3", "TR-D8181IR3 v3 3.6", "TR-D8181IR3- v3 2.8" diff --git a/cameras/trassir/tr-d8221wdc.json b/cameras/trassir/tr-d8221wdc.json index febd943e7..b92910879 100644 --- a/cameras/trassir/tr-d8221wdc.json +++ b/cameras/trassir/tr-d8221wdc.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D8221WDC", "aliases": [ - "2MP (1920×1080) IP-camera TR-D8221WDC (4 mm) is designed for outdoor use in places of direct access: IP66 protection from dust and moisture, IK10 protection from mechanical influences, operating temperatures -40 °C ... +60 °C, lightning protection provided (4000 V).", "TR-D8221WDC" ], "type": "turret", diff --git a/cameras/trassir/tr-d8251wdcl3.json b/cameras/trassir/tr-d8251wdcl3.json index 0f9d07cf8..e5bbbf479 100644 --- a/cameras/trassir/tr-d8251wdcl3.json +++ b/cameras/trassir/tr-d8251wdcl3.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D8251WDCL3", "aliases": [ - "5 MP (2880 × 1632) TR-D8251WDCL3 2.8 IP camera is adapted for outdoor use at any time of the year and day - in places of direct access under the influence of precipitation: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, working temperatures - -40 °C ... +60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 30 m.", "TR-D8251WDCL3", "TR-D8251WDCL3 2.8", "TR-D8251WDCL3 4.0" diff --git a/cameras/trassir/tr-d8281wdir4.json b/cameras/trassir/tr-d8281wdir4.json index 674e9e75c..8895c4f7a 100644 --- a/cameras/trassir/tr-d8281wdir4.json +++ b/cameras/trassir/tr-d8281wdir4.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D8281WDIR4", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D8281WDIR4 2.8 is adapted for outdoor use under the direct influence of precipitation — regardless of the time of year and day: the body is protected from dust and moisture according to the IP67 standard, operating temperatures from -40 °C… +60 °C, lightning protection - TVS 6000 V, range of the integrated IR illumination - 40 m.", "TR-D8281WDIR4", "TR-D8281WDIR4 2.8" ], diff --git a/cameras/trassir/tr-d9151ir2.json b/cameras/trassir/tr-d9151ir2.json index 26c888beb..ac3e60246 100644 --- a/cameras/trassir/tr-d9151ir2.json +++ b/cameras/trassir/tr-d9151ir2.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D9151IR2", "aliases": [ - "5 MP (2560 × 1920) TR-D9151IR2 v2 1.4 IP camera is adapted for year-round outdoor operation: body protection against moisture and dust - IP65, operating temperatures from -30 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D9151IR2", "TR-D9151IR2 v2 1.4" ], diff --git a/cameras/trassir/tr-d9251wdir3.json b/cameras/trassir/tr-d9251wdir3.json index 408e0dd44..73e64317c 100644 --- a/cameras/trassir/tr-d9251wdir3.json +++ b/cameras/trassir/tr-d9251wdir3.json @@ -3,7 +3,6 @@ "brand": "Trassir", "model": "TR-D9251WDIR3", "aliases": [ - "5 MP (2592×1920) TR-D9251WDIR3 v2 1.4 IP camera is supplied in a metal housing protected from dust and moisture according to IP65 standard, which is combined with an operating temperature range of -30 °C ... +60 °C and lightning protection TVS 4000 V ensures stable outdoor operation at any time of the year.", "TR-D9251WDIR3", "TR-D9251WDIR3 v2 1.4" ], diff --git a/cameras/trassir/tr-h2l1.json b/cameras/trassir/tr-h2l1.json index 1b0c541a4..615dc3b43 100644 --- a/cameras/trassir/tr-h2l1.json +++ b/cameras/trassir/tr-h2l1.json @@ -34,7 +34,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "30×33×30", "weight_g": 150, "features": [ diff --git a/cameras/trassir/tr-h2s1.json b/cameras/trassir/tr-h2s1.json index 59aca9cb7..751ec7a87 100644 --- a/cameras/trassir/tr-h2s1.json +++ b/cameras/trassir/tr-h2s1.json @@ -38,7 +38,7 @@ "environment": [ "outdoor" ], - "operating_temp_c": "–10 … +60", + "operating_temp_c": "-10 to 60", "dimensions_mm": "99×81", "weight_g": 300, "features": [ diff --git a/cameras/truen/tcam-4300h.json b/cameras/truen/tcam-4300h.json index bac04edde..dcc22e7fa 100644 --- a/cameras/truen/tcam-4300h.json +++ b/cameras/truen/tcam-4300h.json @@ -54,6 +54,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ diff --git a/cameras/truen/tcam-4322hbr.json b/cameras/truen/tcam-4322hbr.json index 2a11d8ecf..0192ddc54 100644 --- a/cameras/truen/tcam-4322hbr.json +++ b/cameras/truen/tcam-4322hbr.json @@ -55,6 +55,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "features": [ diff --git a/cameras/truen/tcam-4322mbr.json b/cameras/truen/tcam-4322mbr.json index d369869f8..f452a2f1e 100644 --- a/cameras/truen/tcam-4322mbr.json +++ b/cameras/truen/tcam-4322mbr.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", diff --git a/cameras/truen/tcam-4732hbr.json b/cameras/truen/tcam-4732hbr.json index 692fcf4ba..6177a3759 100644 --- a/cameras/truen/tcam-4732hbr.json +++ b/cameras/truen/tcam-4732hbr.json @@ -55,6 +55,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ diff --git a/cameras/truen/tcam-4732mbr.json b/cameras/truen/tcam-4732mbr.json index f41d8123d..70ff64adc 100644 --- a/cameras/truen/tcam-4732mbr.json +++ b/cameras/truen/tcam-4732mbr.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", diff --git a/cameras/truen/tn-b2004.json b/cameras/truen/tn-b2004.json index 2b39a0fdb..345b0188e 100644 --- a/cameras/truen/tn-b2004.json +++ b/cameras/truen/tn-b2004.json @@ -54,6 +54,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ diff --git a/cameras/truen/tn-b236n15.json b/cameras/truen/tn-b236n15.json index f8caeb912..60c32e62a 100644 --- a/cameras/truen/tn-b236n15.json +++ b/cameras/truen/tn-b236n15.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ diff --git a/cameras/truen/tn-b3204u1r.json b/cameras/truen/tn-b3204u1r.json index 6bea19c33..9238821b1 100644 --- a/cameras/truen/tn-b3204u1r.json +++ b/cameras/truen/tn-b3204u1r.json @@ -57,6 +57,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ diff --git a/cameras/truen/tn-b3204u6r.json b/cameras/truen/tn-b3204u6r.json index 3b1d9dad8..0d99e274e 100644 --- a/cameras/truen/tn-b3204u6r.json +++ b/cameras/truen/tn-b3204u6r.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", diff --git a/cameras/truen/tn-b3218k5r.json b/cameras/truen/tn-b3218k5r.json index 8d87b41e8..175fe9b40 100644 --- a/cameras/truen/tn-b3218k5r.json +++ b/cameras/truen/tn-b3218k5r.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ diff --git a/cameras/truen/tn-b3218k6r.json b/cameras/truen/tn-b3218k6r.json index 90416481b..b00e728e5 100644 --- a/cameras/truen/tn-b3218k6r.json +++ b/cameras/truen/tn-b3218k6r.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", diff --git a/cameras/truen/tn-d42031r.json b/cameras/truen/tn-d42031r.json index 8832ed2dd..0870ebe84 100644 --- a/cameras/truen/tn-d42031r.json +++ b/cameras/truen/tn-d42031r.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", diff --git a/cameras/truen/tn-p5236n15.json b/cameras/truen/tn-p5236n15.json index 34b566b90..1f461853d 100644 --- a/cameras/truen/tn-p5236n15.json +++ b/cameras/truen/tn-p5236n15.json @@ -55,6 +55,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ diff --git a/cameras/truen/tn-p6236n15.json b/cameras/truen/tn-p6236n15.json index fc31cf33a..45eecd01f 100644 --- a/cameras/truen/tn-p6236n15.json +++ b/cameras/truen/tn-p6236n15.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ diff --git a/cameras/truen/tx-b230n10.json b/cameras/truen/tx-b230n10.json index cdeca8761..f6c2c9564 100644 --- a/cameras/truen/tx-b230n10.json +++ b/cameras/truen/tx-b230n10.json @@ -47,6 +47,7 @@ ] }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { diff --git a/cameras/truen/tx-p5230n10r.json b/cameras/truen/tx-p5230n10r.json index f5c2d4bca..2b2b51682 100644 --- a/cameras/truen/tx-p5230n10r.json +++ b/cameras/truen/tx-p5230n10r.json @@ -49,6 +49,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { diff --git a/cameras/truen/tx-p5230n20r.json b/cameras/truen/tx-p5230n20r.json index 09ebfef73..0726fdd6c 100644 --- a/cameras/truen/tx-p5230n20r.json +++ b/cameras/truen/tx-p5230n20r.json @@ -49,6 +49,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { diff --git a/cameras/truen/tx-p5236n20r.json b/cameras/truen/tx-p5236n20r.json index 730fe1365..3a516a4fc 100644 --- a/cameras/truen/tx-p5236n20r.json +++ b/cameras/truen/tx-p5236n20r.json @@ -55,6 +55,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", diff --git a/cameras/truen/tx-p5n240n20r.json b/cameras/truen/tx-p5n240n20r.json index fef5e9d83..88d1839e3 100644 --- a/cameras/truen/tx-p5n240n20r.json +++ b/cameras/truen/tx-p5n240n20r.json @@ -50,6 +50,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { diff --git a/cameras/truen/tx-p5n340n20rd.json b/cameras/truen/tx-p5n340n20rd.json index 02ce11ea7..b6410a994 100644 --- a/cameras/truen/tx-p5n340n20rd.json +++ b/cameras/truen/tx-p5n340n20rd.json @@ -56,6 +56,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", diff --git a/cameras/truen/tx-p5n640n20r.json b/cameras/truen/tx-p5n640n20r.json index 34ce128e4..80496beaa 100644 --- a/cameras/truen/tx-p5n640n20r.json +++ b/cameras/truen/tx-p5n640n20r.json @@ -49,6 +49,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { diff --git a/cameras/truen/tx-p5n840n20r.json b/cameras/truen/tx-p5n840n20r.json index e46f35543..f460772fe 100644 --- a/cameras/truen/tx-p5n840n20r.json +++ b/cameras/truen/tx-p5n840n20r.json @@ -49,6 +49,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { diff --git a/cameras/truen/tx-p6230n20.json b/cameras/truen/tx-p6230n20.json index 78e9af840..36546c0d7 100644 --- a/cameras/truen/tx-p6230n20.json +++ b/cameras/truen/tx-p6230n20.json @@ -55,6 +55,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", diff --git a/cameras/truen/tx-p7230n20r.json b/cameras/truen/tx-p7230n20r.json index 9c0aa9ba4..543e256b8 100644 --- a/cameras/truen/tx-p7230n20r.json +++ b/cameras/truen/tx-p7230n20r.json @@ -49,6 +49,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { diff --git a/cameras/truen/tx-p7236n20r.json b/cameras/truen/tx-p7236n20r.json index ab9971d2c..a1a4d5132 100644 --- a/cameras/truen/tx-p7236n20r.json +++ b/cameras/truen/tx-p7236n20r.json @@ -55,6 +55,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", diff --git a/data/cameras.csv b/data/cameras.csv index 21ae14008..4e9235314 100644 --- a/data/cameras.csv +++ b/data/cameras.csv @@ -23745,7 +23745,7 @@ rvi-1ncdx4338-2-8-white,RVi,RVi-1NCDX4338 (2.8) white,dual-lens,4MP,4,"1/2.7"" C rvi-1nce2010-2-8-white,RVi,RVi-1NCE2010 (2.8) white,turret,2MP,2,"1/2.7"" CMOS",115,ir,IP67,,,,0 rvi-1nce2020-2-8,RVi,RVi-1NCE2020 (2.8),turret,2MP,2,"1/2.7"" CMOS",112,ir,IP67,,,,0 rvi-1nce2020-2-8-black,RVi,RVi-1NCE2020 (2.8) black,turret,2MP,2,"1/2.7"" CMOS",112,ir,IP67,,,,0 -rvi-1nce2020-3-6,RVi,RVi-1NCE2020 (3.6) ,turret,2MP,2,"1/2.7"" CMOS",87.5,ir,IP67,,,,0 +rvi-1nce2020-3-6,RVi,RVi-1NCE2020 (3.6),turret,2MP,2,"1/2.7"" CMOS",87.5,ir,IP67,,,,0 rvi-1nce2022-2-8-white,RVi,RVi-1NCE2022 (2.8) white,turret,2MP,2,"1/2.8"" CMOS",103.1,ir,IP67,,,,0 rvi-1nce2024-2-8-white-1,RVi,RVi-1NCE2024 (2.8) white,turret,2MP,2,"1/2.9"" CMOS",99.7,ir,IP67,,,,0 rvi-1nce2024-4-white-1,RVi,RVi-1NCE2024 (4) white,turret,2MP,2,"1/2.9"" CMOS",83.3,ir,IP67,,,,0 @@ -23990,7 +23990,7 @@ rvi-2ncf6038-2-8,RVi,RVi-2NCF6038 (2.8),dome,6MP,6,"1/2.9"" CMOS",97,ir,IP66,IK0 rvi-2ncf6038-6,RVi,RVi-2NCF6038 (6),dome,6MP,6,"1/2.9"" CMOS",60,ir,IP66,IK08,,,0 rvi-2ncr24505-2-7-13-5-white,RVi,RVi-2NCR24505 (2.7-13.5) white,ptz,2MP,2,"1/2.7"" CMOS",30.6-106.9,ir,IP66,,true,,0 rvi-2ncr54505-2-7-13-5-white,RVi,RVi-2NCR54505 (2.7-13.5) white,ptz,5MP,5,"1/2.7"" CMOS",30.6-106.9,ir,,,,,0 -rvi-2ncr54505-2-7-13-5-white-1,RVi,RVi-2NCR54605 (2.7-13.5) ,ptz,5MP,5,"1/2.7"" CMOS",30.6-104.9,ir,,,true,,0 +rvi-2ncr54505-2-7-13-5-white-1,RVi,RVi-2NCR54605 (2.7-13.5),ptz,5MP,5,"1/2.7"" CMOS",30.6-104.9,ir,,,true,,0 rvi-2ncrx43512-4-7-56-4,RVi,RVi-2NCRX43512 (4.7-56.4),ptz,4MP,4,"1/2.8"" CMOS",6.43-60.9,,IP66,IK10,,,0 rvi-2ncrx53815-5-3-79-5,RVi,RVi-2NCRX53815 (5.3-79.5),ptz,5MP,5,"1/2.8"" CMOS",4.83-58.2,ir,IP66,IK08,,,0 rvi-2ncsx2356-2-8,RVi,RVi-2NCSX2356 (2.8),covert,2MP,2,"1/2.8"" CMOS",113.7,,,,,,0 @@ -25841,7 +25841,7 @@ tapo-c232,Tapo,Tapo C232,ptz,3K (5MP),5,"1/2.7"" Progressive Scan CMOS","76.2 (h tapo-c236,Tapo,Tapo C236,ptz,3K (5MP),5,"1/2.7"" Progressive Scan CMOS Starlight","88 (horizontal), 46 (vertical), 105 (diagonal)",hybrid,IP65,,true,2025,0 tapo-c245d,Tapo,Tapo C245D,ptz,2K (3MP per lens),2.99,"1/2.8"" Progressive Scan CMOS Starlight Sensor",121.8 diagonal / 104.3 horizontal / 57.9 vertical (wide-angle lens),ir,,,true,,0 tapo-c246d,Tapo,Tapo C246D,ptz,2K (3MP per lens),2.99,"1/2.8"" Progressive Scan CMOS Starlight Sensor",125.5 diagonal (fixed lens) / 67.1 diagonal (pan-tilt lens),hybrid,IP65,,true,2025,0 -tapo-c250,Tapo,Tapo C250,ptz,4K 8MP,8.3,"1/2.7"" CMOS",105.4 diagonal / 88 horizontal / 46 vertical,ir,,,true,,0 +tapo-c250,Tapo,Tapo C250,ptz,4K 8MP,8.3,"1/2.7"" CMOS",105.4 diagonal / 88 horizontal / 46 vertical,ir,,,true,,1 tapo-c260,Tapo,Tapo C260,ptz,4K (8MP),8,"1/2.7"" Progressive Scan CMOS Starlight Sensor","109.6 (diagonal), 91.5 (horizontal), 46.1 (vertical)",ir,,,true,2025,0 tapo-c310,Tapo,Tapo C310,bullet,3MP / 2K (2304x1296),3,"1/2.8"" Progressive Scan CMOS Sensor","100 (diagonal), 84 (horizontal), 46 (vertical)",ir,IP66,,true,2021,0 tapo-c320ws,Tapo,Tapo C320WS,bullet,2K QHD,4,"1/3"" Progressive Scan CMOS Starlight Sensor","113 diagonal, 97 horizontal, 54 vertical",hybrid,IP66,,true,2022,0 diff --git a/data/cameras.json b/data/cameras.json index 0cbe26465..0abd4b0ba 100644 --- a/data/cameras.json +++ b/data/cameras.json @@ -207131,6 +207131,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -207229,6 +207230,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -207323,6 +207325,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -207652,6 +207655,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -207745,6 +207749,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "protocols": [ @@ -207837,6 +207842,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -208008,6 +208014,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -209390,6 +209397,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "protocols": [ @@ -209733,6 +209741,7 @@ "consumption_w": 40 }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -313026,6 +313035,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 55", @@ -313110,6 +313120,7 @@ "consumption_w": 8.3 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313157,6 +313168,7 @@ "onvif" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -313276,6 +313288,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313354,6 +313367,7 @@ "consumption_w": 7.2 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -313430,6 +313444,7 @@ "consumption_w": 6.9 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313514,6 +313529,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313705,6 +313721,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313797,6 +313814,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -314109,6 +314127,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -314191,6 +314210,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -314509,6 +314529,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -314594,6 +314615,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -314674,6 +314696,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -314766,6 +314789,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -314917,6 +314941,7 @@ "consumption_w": 43 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", @@ -315005,6 +315030,7 @@ "consumption_w": 43 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 55", @@ -315095,6 +315121,7 @@ "consumption_w": 7.6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315180,6 +315207,7 @@ "consumption_w": 8.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315274,6 +315302,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315362,6 +315391,7 @@ "consumption_w": 9.2 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315652,6 +315682,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -315738,6 +315769,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315822,6 +315854,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316098,6 +316131,7 @@ "consumption_w": 8.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316180,6 +316214,7 @@ "consumption_w": 7.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316275,6 +316310,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316363,6 +316399,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316449,6 +316486,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316543,6 +316581,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316632,6 +316671,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316713,6 +316753,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316795,6 +316836,7 @@ "consumption_w": 9.6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316880,6 +316922,7 @@ "consumption_w": 5.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316960,6 +317003,7 @@ "consumption_w": 9 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317041,6 +317085,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-30 to 55", @@ -317127,6 +317172,7 @@ "consumption_w": 6.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317207,6 +317253,7 @@ "consumption_w": 10 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317296,6 +317343,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317380,6 +317428,7 @@ "consumption_w": 4 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 55", @@ -317459,6 +317508,7 @@ "consumption_w": 7 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317547,6 +317597,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317632,6 +317683,7 @@ "consumption_w": 8 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317714,6 +317766,7 @@ "consumption_w": 5.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317804,6 +317857,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317892,6 +317946,7 @@ "consumption_w": 6.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317972,6 +318027,7 @@ "consumption_w": 10 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -318063,6 +318119,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -318151,6 +318208,7 @@ "consumption_w": 7 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -318232,6 +318290,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -318324,6 +318383,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319126,6 +319186,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319220,6 +319281,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -319424,6 +319486,7 @@ "consumption_w": 12 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319515,6 +319578,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319597,6 +319661,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319675,6 +319740,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 55", @@ -319764,6 +319830,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319847,6 +319914,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319925,6 +319993,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320019,6 +320088,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320107,6 +320177,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320309,6 +320380,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -320399,6 +320471,7 @@ "consumption_w": 12 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320483,6 +320556,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320577,6 +320651,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", @@ -320662,6 +320737,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -320744,6 +320820,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320835,6 +320912,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -321144,6 +321222,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -321231,6 +321310,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -321310,6 +321390,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -321400,6 +321481,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -321608,6 +321690,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -321695,6 +321778,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { @@ -321781,6 +321865,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322068,6 +322153,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local", @@ -322147,6 +322233,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322314,6 +322401,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322399,6 +322487,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322486,6 +322575,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { @@ -322677,6 +322767,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322763,6 +322854,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { @@ -322844,6 +322936,7 @@ "poe_class": 4 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", @@ -322956,6 +323049,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323044,6 +323138,7 @@ "consumption_w": 13.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323139,6 +323234,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323226,6 +323322,7 @@ "consumption_w": 25.6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323309,6 +323406,7 @@ ], "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local", @@ -323401,6 +323499,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323487,6 +323586,7 @@ "weight_g": 5270, "operating_temp_c": "-30 to 65", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local", @@ -323996,6 +324096,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324158,6 +324259,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324322,6 +324424,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324407,6 +324510,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324502,6 +324606,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324590,6 +324695,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324885,6 +324991,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -325051,6 +325158,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -325683,6 +325791,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -325773,6 +325882,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -417827,7 +417937,7 @@ ], "sensor": "1/1.7\" Sony CMOS", "lens": { - "focal_length_mm": ". 1.65", + "focal_length_mm": "1.65", "varifocal": false, "count": 1, "aperture": "F2.8" @@ -417903,7 +418013,7 @@ "notes": "BEWARD RTSP/ONVIF." } }, - "last_verified": "2026-09-22", + "last_verified": "2026-11-14", "added": "2026-09-23", "sensor_size_inch": 0.5882, "substream_count": 0, @@ -417928,7 +418038,7 @@ ], "sensor": "1/1.7\" Sony CMOS", "lens": { - "focal_length_mm": ". 1.65", + "focal_length_mm": "1.65", "varifocal": false, "count": 1, "aperture": "F2.8" @@ -418005,7 +418115,7 @@ "notes": "BEWARD RTSP/ONVIF." } }, - "last_verified": "2026-09-22", + "last_verified": "2026-11-14", "added": "2026-09-23", "sensor_size_inch": 0.5882, "substream_count": 0, @@ -461190,6 +461300,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 123", @@ -461246,6 +461357,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", @@ -461302,6 +461414,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", @@ -461358,6 +461471,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 168", @@ -461414,6 +461528,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", @@ -461760,6 +461875,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -461831,6 +461947,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -462227,6 +462344,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { @@ -465690,6 +465808,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "ndaa_compliant": true, @@ -466088,6 +466207,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 140 (W x H x L, without lens)", @@ -466177,6 +466297,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 200 (W x H x L, with 3.2 mm lens)", @@ -466265,6 +466386,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 200 (W x H x L, with 5 mm lens)", @@ -469868,6 +469990,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "added": "2026-09-01", @@ -469958,6 +470081,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "added": "2026-09-01", @@ -471500,6 +471624,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, @@ -471567,6 +471692,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -471694,6 +471820,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, @@ -471792,6 +471919,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, @@ -471889,6 +472017,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -471987,6 +472116,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -472084,6 +472214,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -472181,6 +472312,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -472621,6 +472753,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -472858,6 +472991,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, @@ -472956,6 +473090,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -473054,6 +473189,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -473151,6 +473287,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -473249,6 +473386,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -473345,6 +473483,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -477936,6 +478075,7 @@ "weight_g": 1070, "operating_temp_c": "-20 to 50", "storage": { + "onboard": true, "max_microsd_gb": 32 }, "features": [ @@ -478398,6 +478538,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -478596,6 +478737,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -478669,6 +478811,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -478995,6 +479138,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 55", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -479332,6 +479476,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -480494,6 +480639,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "Ø207 x 346.6 (diameter x height)", @@ -486789,6 +486935,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "ndaa_compliant": true, @@ -488180,6 +488327,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -488235,6 +488383,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -488289,6 +488438,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -488748,6 +488898,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -488806,6 +488957,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -488864,6 +489016,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -489066,6 +489219,7 @@ "weight_g": 143, "operating_temp_c": "-10 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -490054,6 +490208,7 @@ "weight_g": 250, "operating_temp_c": "-20 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -490363,6 +490518,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -490418,6 +490574,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -490598,6 +490755,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -492840,6 +492998,7 @@ ], "ip_rating": "IP68", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { @@ -492954,6 +493113,7 @@ ], "ip_rating": "IP68", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { @@ -850431,7 +850591,7 @@ "model": "SD6CE245GB-HNR", "aliases": [ "DH-SD6CE245GB-HNR", - "SD6CE245GB-HNR(only for Georgia)" + "SD6CE245GB-HNR(only for Georgia)" ], "ndaa_compliant": false, "type": "ptz", @@ -979871,6 +980031,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", @@ -980400,6 +980561,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", @@ -981255,6 +981417,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", @@ -981780,6 +981943,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", @@ -1218181,6 +1218345,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1221354,6 +1221519,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1223685,6 +1223851,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1224027,6 +1224194,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1336634,6 +1336802,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1336727,6 +1336896,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1362364,6 +1362534,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1367617,6 +1367788,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1373762,6 +1373934,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1373857,6 +1374030,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1387085,6 +1387259,7 @@ "weight_g": 297, "dimensions_mm": "Ø95x70", "storage": { + "onboard": true, "max_microsd_gb": 128 }, "video": { @@ -1439358,7 +1439533,6 @@ "sensor": "1/2.8\" Progressive Scan CMOS", "lens": { "count": 1, - "focal_length_mm": "", "varifocal": false, "aperture": "F1.5" }, @@ -1444152,6 +1444326,7 @@ }, "operating_temp_c": "-30℃~65℃", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1450894,6 +1451069,7 @@ }, "operating_temp_c": "-30℃~65℃", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1452040,6 +1452216,7 @@ "aperture": "F1.6" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1572753,6 +1572930,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 4000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1573738,6 +1573916,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1573984,6 +1574163,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28" @@ -1575927,6 +1576107,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 8000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1576002,6 +1576183,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 8000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1576555,6 +1576737,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6500, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28" @@ -1576893,6 +1577076,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28" @@ -1576969,6 +1577153,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28" @@ -1699326,6 +1699511,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1700263,6 +1700449,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, @@ -1700522,6 +1700709,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, @@ -1701366,6 +1701554,7 @@ "two_way": true }, "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, @@ -1705389,6 +1705578,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 128 }, @@ -1706165,6 +1706355,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 128 }, @@ -1708311,6 +1708502,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1708568,6 +1708760,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1708860,6 +1709053,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1709954,6 +1710148,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1710867,6 +1711062,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1712281,6 +1712477,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -2288946,6 +2289143,7 @@ "weight_g": 450, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289081,6 +2289279,7 @@ "weight_g": 1176, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289215,6 +2289414,7 @@ "weight_g": 930, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289349,6 +2289549,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289483,6 +2289684,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289592,6 +2289794,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2289723,6 +2289926,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289858,6 +2290062,7 @@ "weight_g": 424, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289993,6 +2290198,7 @@ "weight_g": 930, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290128,6 +2290334,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290263,6 +2290470,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290397,6 +2290605,7 @@ "weight_g": 516, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290645,6 +2290854,7 @@ "weight_g": 8800, "operating_temp_c": "-40 to 70", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2290748,6 +2290958,7 @@ "weight_g": 500, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2290877,6 +2291088,7 @@ "weight_g": 684, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290989,6 +2291201,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291099,6 +2291312,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "environment": [ @@ -2291207,6 +2291421,7 @@ "weight_g": 684, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291339,6 +2291554,7 @@ "weight_g": 730, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2291452,6 +2291668,7 @@ "weight_g": 730, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291562,6 +2291779,7 @@ "weight_g": 700, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291673,6 +2291891,7 @@ "weight_g": 700, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291805,6 +2292024,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2291939,6 +2292159,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292073,6 +2292294,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -2292207,6 +2292429,7 @@ "weight_g": 876, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292342,6 +2292565,7 @@ "weight_g": 650, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292476,6 +2292700,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292610,6 +2292835,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292731,6 +2292957,7 @@ "weight_g": 2100, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2292862,6 +2293089,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292995,6 +2293223,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2293128,6 +2293357,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2375609,6 +2375839,7 @@ "voltage": "12V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "audio": { @@ -2375661,6 +2375892,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 128, "nvr_compatible": true }, @@ -2375790,6 +2376022,7 @@ "voltage": "5V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "ip_rating": "IP66", @@ -2376240,6 +2376473,7 @@ "voltage": "5V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128, "cloud": true }, @@ -2376621,6 +2376855,7 @@ "method": "Supplied power adapter (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ @@ -2376687,6 +2376922,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 64 }, "protocols": [ @@ -2376770,6 +2377006,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ @@ -2376848,6 +2377085,7 @@ "method": "External DC power supply (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "ip_rating": "IP66", @@ -2376908,6 +2377146,7 @@ "method": "External DC power supply (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ @@ -2409877,7 +2410116,7 @@ { "id": "rvi-1nce2020-3-6", "brand": "RVi", - "model": "RVi-1NCE2020 (3.6) ", + "model": "RVi-1NCE2020 (3.6)", "type": "turret", "connectivity": [ "ethernet" @@ -2434540,7 +2434779,7 @@ { "id": "rvi-2ncr54505-2-7-13-5-white-1", "brand": "RVi", - "model": "RVi-2NCR54605 (2.7-13.5) ", + "model": "RVi-2NCR54605 (2.7-13.5)", "type": "ptz", "connectivity": [ "ethernet", @@ -2434642,7 +2434881,7 @@ "sources": [ "https://rvigroup.ru/catalog-v2/rvi_2ncr54505_2_7_13_5_white_1/" ], - "last_verified": "2026-09-22", + "last_verified": "2026-11-14", "added": "2026-09-23", "sensor_size_inch": 0.3704, "substream_count": 0, @@ -2603474,6 +2603713,7 @@ "voltage": "9 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2603702,6 +2603942,7 @@ ], "ip_rating": "IP65", "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2604286,6 +2604527,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2604401,6 +2604643,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2604513,6 +2604756,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2604630,6 +2604874,7 @@ ], "ip_rating": "IP65", "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2606648,7 +2606893,9 @@ }, "rtsp_url_template": "rtsp://{user}:{pass}@{ip}:554/stream1", "best_substream": "rtsp://{user}:{pass}@{ip}:554/stream2", - "verified": false, + "verified": true, + "tested_by": "Liero via website (#430)", + "tested_version": "0.18.2", "notes": "Mains-powered Tapo cameras expose RTSP once a Camera Account is created in the Tapo app (Settings > Advanced > Camera Account). /stream1 is the main stream, /stream2 the substream. go2rtc alternative: TP-Link's proprietary protocol via go2rtc (tapo://@{ip}) is often more stable than RTSP (fewer timeouts / non-monotonic-timestamp errors). The password form is firmware-dependent: either your Tapo app/cloud account password, or user `admin` + the UPPERCASE SHA-256 of the camera password (`tapo://admin:@{ip}`) — see go2rtc's Tapo docs. It is not the camera's plain RTSP/Device password. If non-monotonic-timestamp errors persist, disable audio for that camera in Frigate. Chrome may render the go2rtc live view with a squashed aspect ratio (a browser live-view quirk, not the stream); Firefox is correct. The go2rtc tapo:// source also carries a two-way-audio backchannel, so Frigate's live view gets a talk button (mic+speaker). Pan/tilt: Tapo exposes ONVIF PTZ on port 2020 (not 80) — point Frigate's onvif block at host: port:2020 with the camera Account credentials for manual pan/tilt. (Frigate autotracking stays off: Tapo only does continuous-move ONVIF, no reliable absolute/FOV positioning.)", "autotracking": false, "onvif_port": 2020, @@ -2606663,13 +2606910,22 @@ "notes": "Use Generic/ONVIF profile. RTSP streams: /stream1 (main), /stream2 (sub). Must enable the Camera Account / ONVIF in the Tapo app." } }, - "last_verified": "2026-07-26", + "last_verified": "2026-11-14", "markets": [ "global" ], "cloud_dependency": "cloud-optional", "operating_temp_c": "0 to 40", "dimensions_mm": "85.4 x 86.8 x 117.2", + "community_notes": [ + { + "note": "Frigate live view on iPhone/iPad (MSE) needs H.264 video and AAC audio. On Frigate 0.18.2 the reporter added a go2rtc restream of the main stream, ffmpeg:rtsp://127.0.0.1:8554/tapo_c250#video=h264#audio=aac, and set it as the camera live stream. Two-way talk worked after adding a go2rtc tapo://admin:@{ip} source (with ffmpeg:...#audio=aac) to the substream; ONVIF was set to port 2020.", + "category": "frigate", + "source": "https://github.com/ch-bas/cctv-camera-database/issues/430", + "reported_by": "Liero", + "date": "2026-11-14" + } + ], "added": "2026-07-26", "sensor_size_inch": 0.3704, "substream_count": 0, @@ -2677782,7 +2678038,6 @@ "brand": "Trassir", "model": "TR-D2152ZIR3", "aliases": [ - "5 MP (2560 × 1920) TR-D2152ZIR3 v2 2.8–8 IP camera is adapted for outdoor use regardless of the season: housing protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D2152ZIR3", "TR-D2152ZIR3 v2 2.8-8" ], @@ -2678514,7 +2678769,6 @@ "brand": "Trassir", "model": "TR-D2181IR3", "aliases": [ - "8 MP (3840 × 2160) TR-D2181IR3 v3 2.8 IP camera is adapted for outdoor use regardless of the season: housing protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000V.", "TR-D2181IR3", "TR-D2181IR3 v3 2.8", "TR-D2181IR3 v3 3.6" @@ -2678845,7 +2679099,6 @@ "brand": "Trassir", "model": "TR-D2183ZIR6", "aliases": [ - "8 MP (3840×2160) IP camera TR-D2183ZIR6 v3 2.7–13.5 comes in a metal housing protected from moisture and dust according to IP67 standard, which, in combination with an operating temperature range of -40 °C ... +60 °C, provides a stable operation of the device on the street at any time of the year.", "TR-D2183ZIR6", "TR-D2183ZIR6 v3 2.7-13.5" ], @@ -2679353,7 +2679606,6 @@ "brand": "Trassir", "model": "TR-D2221WDIR4W", "aliases": [ - "2 MP (1920×1080) IP-camera TR-D2221WDIR4W v2 2.8 is adapted for outdoor use at any time of the year: protection of the body made of metal against moisture and dust complies with the IP67 standard, operating temperatures from -40 °C ... +60 °C , lightning protection - TVS 4000 V. Equipped with a Wi-Fi module - for wireless data transmission.", "TR-D2221WDIR4W", "TR-D2221WDIR4W v2 2.8", "TR-D2221WDIR4W v2 3.6" @@ -2680204,7 +2680456,6 @@ "brand": "Trassir", "model": "TR-D2251WDCL4", "aliases": [ - "5 MP (2880 × 1632) shock-resistant (IK08) TR-D2251WDCL4 2.8 IP camera is adapted for outdoor use at any time of the year and day: protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 ° C, lightning protection - TVS 4000 V, range of the integrated backlight - 40 m.", "TR-D2251WDCL4", "TR-D2251WDCL4 2.8" ], @@ -2680534,7 +2680785,6 @@ "brand": "Trassir", "model": "TR-D2251WDIR4W", "aliases": [ - "5 MP (2592×1920) IP camera TR-D2251WDIR4W v2 2.8 is adapted for year-round outdoor operation: body protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission.", "TR-D2251WDIR4W", "TR-D2251WDIR4W v2 2.8", "TR-D2251WDIR4W v2 3.6" @@ -2680852,7 +2681102,6 @@ "brand": "Trassir", "model": "TR-D2253WDZCL7", "aliases": [ - "5 MP (2880×1632) shock-resistant (IK08) IP camera TR-D2253WDZCL7 2.7–13.5 is adapted for outdoor use at any time of the year and day: IP67 protection against moisture and dust, operating temperatures from –40 °C… + 60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 70 m.", "TR-D2253WDZCL7", "TR-D2253WDZCL7 2.7-13.5" ], @@ -2681386,7 +2681635,6 @@ "brand": "Trassir", "model": "TR-D2281WDIR4", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D2281WDIR4 2.8 is designed taking into account the conditions of year-round outdoor operation under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, operating temperatures from -40 °C ... +60 °C, lightning protection — 6000V.", "TR-D2281WDIR4", "TR-D2281WDIR4 2.8" ], @@ -2681601,7 +2681849,6 @@ "brand": "Trassir", "model": "TR-D2283WDZIR7", "aliases": [ - "8 MP (3840×2160) IP camera TR-D2283WDZIR7 2.7–13.5 comes in a housing protected from dust and moisture according to the IP67 standard, which, coupled with operating temperatures from -40 °C ... +60 °C and TVS 6000 V lightning protection, provides stable year-round operation of the device on the street - under the direct influence of precipitation.", "TR-D2283WDZIR7", "TR-D2283WDZIR7 2.7-13.5" ], @@ -2685239,7 +2685486,6 @@ "brand": "Trassir", "model": "TR-D3151IR2", "aliases": [ - "5 MP (2560 × 1920) TR-D3151IR2 v2 2.8 IP camera is adapted for outdoor use, including places of direct access, regardless of the season: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, operating temperatures from -40 °C… +60 °C, lightning protection - TVS 4000 V.", "TR-D3151IR2", "TR-D3151IR2 v2 2.8", "TR-D3151IR2 v2 3.6" @@ -2685786,7 +2686032,6 @@ "brand": "Trassir", "model": "TR-D3181IR3", "aliases": [ - "8 MP (3840×2160) TR-D3181IR3 v3 2.8 IP camera works stably outdoors in a place of direct access at a temperature of -40 °C ... +60 °C, comes in a metal case protected from moisture and dust according to the IP67 standard, mechanical impacts - IK10. For night video surveillance, it is equipped with IR illumination with a range of 30 m.", "TR-D3181IR3", "TR-D3181IR3 v3 2.8", "TR-D3181IR3 v3 3.6" @@ -2685893,7 +2686138,6 @@ "brand": "Trassir", "model": "TR-D3183ZIR3", "aliases": [ - "8 MP (3840×2160) IP camera TR-D3183ZIR3 v3 2.7–13.5 is supplied in a metal case, protected from moisture and dust according to IP67 standard, from mechanical impact - according to IK10, which in combination with an operating temperature range of -40 °C … +60 °C ensures stable operation of the device outdoors in a place of direct access – regardless of the season.", "TR-D3183ZIR3", "TR-D3183ZIR3 v3 2.7-13.5" ], @@ -2686224,7 +2686468,6 @@ "brand": "Trassir", "model": "TR-D3221WDIR3W", "aliases": [ - "2 MP (1920×1080) IP camera TR-D3221WDIR3W v2 2.8 is adapted for outdoor use regardless of the season and location: body protection against mechanical impacts - IK10, moisture and dust - IP66, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission.", "TR-D3221WDIR3W", "TR-D3221WDIR3W v2 2.8" ], @@ -2686322,7 +2686565,6 @@ "brand": "Trassir", "model": "TR-D3223WDZIR3", "aliases": [ - "2 MP (1920×1080) IP camera TR-D3223WDZIR3 v2 2.7–13.5 is adapted for outdoor use regardless of the season and location: the case is made of metal, protected from mechanical impacts according to IK10, from moisture and dust - IP66, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D3223WDZIR3", "TR-D3223WDZIR3 v2 2.7-13.5" ], @@ -2686638,7 +2686880,6 @@ "brand": "Trassir", "model": "TR-D3251WDIR3W", "aliases": [ - "5 MP (2592×1920) IP-camera TR-D3251WDIR3W v2 2.8 is adapted for year-round outdoor operation in places of direct access: the case meets the standard of protection against moisture and dust IP66, against mechanical influences - IK10, operating temperatures from -40 °C... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission and IR illumination (30 m range) for night video surveillance.", "TR-D3251WDIR3W", "TR-D3251WDIR3W v2 2.8" ], @@ -2686741,8 +2686982,7 @@ "model": "TR-D3253WDZIR3", "aliases": [ "TR-D3253WDZIR3", - "TR-D3253WDZIR3 v2 2.7-13.5", - "Vandal-resistant (IK10) 5 MP (2592×1920) IP camera TR-D3253WDZIR3 v2 2.7–13.5 comes in a housing protected from moisture and dust according to IP66 standard, which, coupled with operating temperatures from -40 °C ... +60 °C and lightning protection TVS 4000 V ensures stable operation of the device on the street, regardless of the season." + "TR-D3253WDZIR3 v2 2.7-13.5" ], "type": "dome", "connectivity": [ @@ -2686944,7 +2687184,6 @@ "brand": "Trassir", "model": "TR-D3281WDIR4", "aliases": [ - "8 MP (3840×2160) TR-D3281WDIR4 2.8 IP camera is adapted for year-round outdoor operation, including places of direct access, under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, from mechanical influences — IK10, operating temperatures from – 40 °C… +60 °C, lightning protection - TVS 6000 V.", "TR-D3281WDIR4", "TR-D3281WDIR4 2.8" ], @@ -2689002,7 +2689241,6 @@ "brand": "Trassir", "model": "TR-D4281WDIR2", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D4281WDIR2 2.8 is adapted for year-round outdoor operation, including places of direct access, under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, from mechanical influences — IK10, operating temperatures from – 40 °C… +60 °C, lightning protection - TVS 6000 V.", "TR-D4281WDIR2", "TR-D4281WDIR2 2.8" ], @@ -2689920,8 +2690158,7 @@ "aliases": [ "TR-D4S5", "TR-D4S5 v3 2.8", - "TR-D4S5 v3 3.6", - "The 4 MP (2560×1440) IP camera TR-D4S5 v3 2.8 is designed for outdoor use in any weather conditions, subjected to direct exposure to precipitation. The camera's housing is protected from dust and moisture according to IP66 standards, and it has an extended operating temperature range from -40°C to +60°C. Additionally, it features TVS 4000 V surge protection and IR illumination with a range of up to 25 meters." + "TR-D4S5 v3 3.6" ], "type": "turret", "connectivity": [ @@ -2691434,7 +2691671,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "99.0×60.0×32.8", "weight_g": 85, "configs": { @@ -2691684,7 +2691921,6 @@ "brand": "Trassir", "model": "TR-D7221WDIR2W", "aliases": [ - "2 MP (1920×1080) IP-camera TR-D7221WDIR2W v2 2.8 is designed for operation in a room with controlled climatic conditions. Equipped with a Wi-Fi module for wireless data transfer. Suitable for night video surveillance - equipped with IR illumination with a range of 15 m.", "TR-D7221WDIR2W", "TR-D7221WDIR2W v2 2.8", "TR-D7221WDIR2W v2 3.6" @@ -2691784,7 +2692020,6 @@ "brand": "Trassir", "model": "TR-D7251WDIR2W", "aliases": [ - "5 MP (2880 × 1632) TR-D8251WDCL3 2.8 IP camera is adapted for outdoor use at any time of the year and day - in places of direct access under the influence of precipitation: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, working temperatures - -40 °C ... +60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 30 m.", "TR-D7251WDIR2W", "TR-D7251WDIR2W v2 2.8" ], @@ -2692090,7 +2692325,6 @@ "brand": "Trassir", "model": "TR-D8121CL2", "aliases": [ - "2 MP (1920×1080) IP camera TR-D8121CL2 (2.8 mm) is based on a highly sensitive (0.0015 lx) 1/2.8\" matrix, equipped with a fast (F/1.0) lens and LED-backlight with a range of 25 m, due to which broadcasts color video around the clock.Designed taking into account the conditions of outdoor operation, regardless of the season: protection of the case against dust and moisture complies with the IP66 standard, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D8121CL2", "TR-D8121CL2 2.8", "TR-D8121CL2 4.0" @@ -2692453,7 +2692687,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "105.0×92.1", "weight_g": 220, "features": [ @@ -2693334,7 +2693568,6 @@ "brand": "Trassir", "model": "TR-D8151IR2", "aliases": [ - "5 MP (2560 × 1920) IP camera TR-D8151IR2 v2 2.8 is adapted for outdoor use regardless of the season and location: protection against moisture and dust - IP66, mechanical impact - IK10, operating temperatures from -40 °C … +60 °C, lightning protection – TVS 4000 V.", "TR-D8151IR2", "TR-D8151IR2 v2 2.8", "TR-D8151IR2 v2 3.6" @@ -2693773,7 +2694006,6 @@ "brand": "Trassir", "model": "TR-D8181IR3", "aliases": [ - "8 MP (3840×2160) TR-D8181IR3 v3 3.6 IP camera works stably outdoors in the temperature range of –40 °C… +60 °C, comes in a metal housing protected from moisture and dust according to IP67 standard, suitable for night video surveillance - equipped with IR illumination with a range of 30 m.", "TR-D8181IR3", "TR-D8181IR3 v3 3.6", "TR-D8181IR3- v3 2.8" @@ -2693877,7 +2694109,6 @@ "brand": "Trassir", "model": "TR-D8221WDC", "aliases": [ - "2MP (1920×1080) IP-camera TR-D8221WDC (4 mm) is designed for outdoor use in places of direct access: IP66 protection from dust and moisture, IK10 protection from mechanical influences, operating temperatures -40 °C ... +60 °C, lightning protection provided (4000 V).", "TR-D8221WDC" ], "type": "turret", @@ -2694404,7 +2694635,6 @@ "brand": "Trassir", "model": "TR-D8251WDCL3", "aliases": [ - "5 MP (2880 × 1632) TR-D8251WDCL3 2.8 IP camera is adapted for outdoor use at any time of the year and day - in places of direct access under the influence of precipitation: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, working temperatures - -40 °C ... +60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 30 m.", "TR-D8251WDCL3", "TR-D8251WDCL3 2.8", "TR-D8251WDCL3 4.0" @@ -2694847,7 +2695077,6 @@ "brand": "Trassir", "model": "TR-D8281WDIR4", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D8281WDIR4 2.8 is adapted for outdoor use under the direct influence of precipitation — regardless of the time of year and day: the body is protected from dust and moisture according to the IP67 standard, operating temperatures from -40 °C… +60 °C, lightning protection - TVS 6000 V, range of the integrated IR illumination - 40 m.", "TR-D8281WDIR4", "TR-D8281WDIR4 2.8" ], @@ -2695644,7 +2695873,6 @@ "brand": "Trassir", "model": "TR-D9151IR2", "aliases": [ - "5 MP (2560 × 1920) TR-D9151IR2 v2 1.4 IP camera is adapted for year-round outdoor operation: body protection against moisture and dust - IP65, operating temperatures from -30 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D9151IR2", "TR-D9151IR2 v2 1.4" ], @@ -2695852,7 +2696080,6 @@ "brand": "Trassir", "model": "TR-D9251WDIR3", "aliases": [ - "5 MP (2592×1920) TR-D9251WDIR3 v2 1.4 IP camera is supplied in a metal housing protected from dust and moisture according to IP65 standard, which is combined with an operating temperature range of -30 °C ... +60 °C and lightning protection TVS 4000 V ensures stable outdoor operation at any time of the year.", "TR-D9251WDIR3", "TR-D9251WDIR3 v2 1.4" ], @@ -2696190,7 +2696417,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "30×33×30", "weight_g": 150, "features": [ @@ -2696250,7 +2696477,7 @@ "environment": [ "outdoor" ], - "operating_temp_c": "–10 … +60", + "operating_temp_c": "-10 to 60", "dimensions_mm": "99×81", "weight_g": 300, "features": [ @@ -2706395,6 +2706622,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2706494,6 +2706722,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "features": [ @@ -2706596,6 +2706825,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2706704,6 +2706934,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2706806,6 +2707037,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2707015,6 +2707247,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707115,6 +2707348,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707217,6 +2707451,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707319,6 +2707554,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2707428,6 +2707664,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707530,6 +2707767,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2707741,6 +2707979,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2707850,6 +2708089,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707952,6 +2708192,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2708046,6 +2708287,7 @@ ] }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708152,6 +2708394,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708269,6 +2708512,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708392,6 +2708636,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", @@ -2708500,6 +2708745,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708625,6 +2708871,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", @@ -2708733,6 +2708980,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708851,6 +2709099,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708975,6 +2709224,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", @@ -2709082,6 +2709332,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2709205,6 +2709456,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", diff --git a/docs/cameras.json b/docs/cameras.json index 0cbe26465..0abd4b0ba 100644 --- a/docs/cameras.json +++ b/docs/cameras.json @@ -207131,6 +207131,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -207229,6 +207230,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -207323,6 +207325,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -207652,6 +207655,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -207745,6 +207749,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "protocols": [ @@ -207837,6 +207842,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -208008,6 +208014,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -209390,6 +209397,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "protocols": [ @@ -209733,6 +209741,7 @@ "consumption_w": 40 }, "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -313026,6 +313035,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 55", @@ -313110,6 +313120,7 @@ "consumption_w": 8.3 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313157,6 +313168,7 @@ "onvif" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -313276,6 +313288,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313354,6 +313367,7 @@ "consumption_w": 7.2 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -313430,6 +313444,7 @@ "consumption_w": 6.9 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313514,6 +313529,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313705,6 +313721,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -313797,6 +313814,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -314109,6 +314127,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -314191,6 +314210,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -314509,6 +314529,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -314594,6 +314615,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -314674,6 +314696,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -314766,6 +314789,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -314917,6 +314941,7 @@ "consumption_w": 43 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", @@ -315005,6 +315030,7 @@ "consumption_w": 43 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 55", @@ -315095,6 +315121,7 @@ "consumption_w": 7.6 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315180,6 +315207,7 @@ "consumption_w": 8.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315274,6 +315302,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315362,6 +315391,7 @@ "consumption_w": 9.2 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315652,6 +315682,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -315738,6 +315769,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -315822,6 +315854,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316098,6 +316131,7 @@ "consumption_w": 8.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316180,6 +316214,7 @@ "consumption_w": 7.1 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316275,6 +316310,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316363,6 +316399,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316449,6 +316486,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316543,6 +316581,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316632,6 +316671,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316713,6 +316753,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -316795,6 +316836,7 @@ "consumption_w": 9.6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316880,6 +316922,7 @@ "consumption_w": 5.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -316960,6 +317003,7 @@ "consumption_w": 9 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317041,6 +317085,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-30 to 55", @@ -317127,6 +317172,7 @@ "consumption_w": 6.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317207,6 +317253,7 @@ "consumption_w": 10 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317296,6 +317343,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317380,6 +317428,7 @@ "consumption_w": 4 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 55", @@ -317459,6 +317508,7 @@ "consumption_w": 7 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317547,6 +317597,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317632,6 +317683,7 @@ "consumption_w": 8 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317714,6 +317766,7 @@ "consumption_w": 5.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317804,6 +317857,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317892,6 +317946,7 @@ "consumption_w": 6.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -317972,6 +318027,7 @@ "consumption_w": 10 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -318063,6 +318119,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -318151,6 +318208,7 @@ "consumption_w": 7 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -318232,6 +318290,7 @@ "consumption_w": 6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -318324,6 +318383,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319126,6 +319186,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319220,6 +319281,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -319424,6 +319486,7 @@ "consumption_w": 12 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319515,6 +319578,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319597,6 +319661,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319675,6 +319740,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 55", @@ -319764,6 +319830,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319847,6 +319914,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -319925,6 +319993,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320019,6 +320088,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320107,6 +320177,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320309,6 +320380,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -320399,6 +320471,7 @@ "consumption_w": 12 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320483,6 +320556,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320577,6 +320651,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", @@ -320662,6 +320737,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -320744,6 +320820,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -320835,6 +320912,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-35 to 60", @@ -321144,6 +321222,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -321231,6 +321310,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -321310,6 +321390,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -321400,6 +321481,7 @@ "ethernet_speed_mbps": 100 }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "operating_temp_c": "-35 to 60", @@ -321608,6 +321690,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -321695,6 +321778,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { @@ -321781,6 +321865,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322068,6 +322153,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local", @@ -322147,6 +322233,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322314,6 +322401,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322399,6 +322487,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322486,6 +322575,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { @@ -322677,6 +322767,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -322763,6 +322854,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "network": { @@ -322844,6 +322936,7 @@ "poe_class": 4 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "operating_temp_c": "-30 to 60", @@ -322956,6 +323049,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323044,6 +323138,7 @@ "consumption_w": 13.5 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323139,6 +323234,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323226,6 +323322,7 @@ "consumption_w": 25.6 }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323309,6 +323406,7 @@ ], "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local", @@ -323401,6 +323499,7 @@ "method": "PoE+" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -323487,6 +323586,7 @@ "weight_g": 5270, "operating_temp_c": "-30 to 65", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "cloud_dependency": "local", @@ -323996,6 +324096,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324158,6 +324259,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324322,6 +324424,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324407,6 +324510,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324502,6 +324606,7 @@ "method": "PoE (802.3at)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324590,6 +324695,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -324885,6 +324991,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -325051,6 +325158,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -325683,6 +325791,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -325773,6 +325882,7 @@ "method": "PoE (802.3af)" }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "network": { @@ -417827,7 +417937,7 @@ ], "sensor": "1/1.7\" Sony CMOS", "lens": { - "focal_length_mm": ". 1.65", + "focal_length_mm": "1.65", "varifocal": false, "count": 1, "aperture": "F2.8" @@ -417903,7 +418013,7 @@ "notes": "BEWARD RTSP/ONVIF." } }, - "last_verified": "2026-09-22", + "last_verified": "2026-11-14", "added": "2026-09-23", "sensor_size_inch": 0.5882, "substream_count": 0, @@ -417928,7 +418038,7 @@ ], "sensor": "1/1.7\" Sony CMOS", "lens": { - "focal_length_mm": ". 1.65", + "focal_length_mm": "1.65", "varifocal": false, "count": 1, "aperture": "F2.8" @@ -418005,7 +418115,7 @@ "notes": "BEWARD RTSP/ONVIF." } }, - "last_verified": "2026-09-22", + "last_verified": "2026-11-14", "added": "2026-09-23", "sensor_size_inch": 0.5882, "substream_count": 0, @@ -461190,6 +461300,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 123", @@ -461246,6 +461357,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", @@ -461302,6 +461414,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", @@ -461358,6 +461471,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 168", @@ -461414,6 +461528,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "dimensions_mm": "55 x 72 x 178", @@ -461760,6 +461875,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -461831,6 +461947,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -462227,6 +462344,7 @@ "weight_g": 1300, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { @@ -465690,6 +465808,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "ndaa_compliant": true, @@ -466088,6 +466207,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 140 (W x H x L, without lens)", @@ -466177,6 +466297,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 200 (W x H x L, with 3.2 mm lens)", @@ -466265,6 +466386,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "78 x 66 x 200 (W x H x L, with 5 mm lens)", @@ -469868,6 +469990,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "added": "2026-09-01", @@ -469958,6 +470081,7 @@ "voltage": "12 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 32 }, "added": "2026-09-01", @@ -471500,6 +471624,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, @@ -471567,6 +471692,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -471694,6 +471820,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, @@ -471792,6 +471919,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, @@ -471889,6 +472017,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -471987,6 +472116,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -472084,6 +472214,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -472181,6 +472312,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -472621,6 +472753,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 60", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -472858,6 +472991,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2200, @@ -472956,6 +473090,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -473054,6 +473189,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -473151,6 +473287,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -473249,6 +473386,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -473345,6 +473483,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "weight_g": 2300, @@ -477936,6 +478075,7 @@ "weight_g": 1070, "operating_temp_c": "-20 to 50", "storage": { + "onboard": true, "max_microsd_gb": 32 }, "features": [ @@ -478398,6 +478538,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -478596,6 +478737,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -478669,6 +478811,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -478995,6 +479138,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 55", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -479332,6 +479476,7 @@ "weight_g": 2200, "operating_temp_c": "-50 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -480494,6 +480639,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "dimensions_mm": "Ø207 x 346.6 (diameter x height)", @@ -486789,6 +486935,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "ndaa_compliant": true, @@ -488180,6 +488327,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -488235,6 +488383,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -488289,6 +488438,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "features": [ @@ -488748,6 +488898,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -488806,6 +488957,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -488864,6 +489016,7 @@ "weight_g": 850, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -489066,6 +489219,7 @@ "weight_g": 143, "operating_temp_c": "-10 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -490054,6 +490208,7 @@ "weight_g": 250, "operating_temp_c": "-20 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -490363,6 +490518,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -490418,6 +490574,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -490598,6 +490755,7 @@ "weight_g": 320, "operating_temp_c": "-30 to 50", "storage": { + "onboard": true, "max_microsd_gb": 2000 }, "features": [ @@ -492840,6 +492998,7 @@ ], "ip_rating": "IP68", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { @@ -492954,6 +493113,7 @@ ], "ip_rating": "IP68", "storage": { + "onboard": true, "max_microsd_gb": 2048 }, "audio": { @@ -850431,7 +850591,7 @@ "model": "SD6CE245GB-HNR", "aliases": [ "DH-SD6CE245GB-HNR", - "SD6CE245GB-HNR(only for Georgia)" + "SD6CE245GB-HNR(only for Georgia)" ], "ndaa_compliant": false, "type": "ptz", @@ -979871,6 +980031,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", @@ -980400,6 +980561,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", @@ -981255,6 +981417,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", @@ -981780,6 +981943,7 @@ "http" ], "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66/IP67", @@ -1218181,6 +1218345,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1221354,6 +1221519,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1223685,6 +1223851,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1224027,6 +1224194,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1336634,6 +1336802,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1336727,6 +1336896,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1362364,6 +1362534,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "added": "2026-09-22", @@ -1367617,6 +1367788,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1373762,6 +1373934,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1373857,6 +1374030,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "night_vision": { @@ -1387085,6 +1387259,7 @@ "weight_g": 297, "dimensions_mm": "Ø95x70", "storage": { + "onboard": true, "max_microsd_gb": 128 }, "video": { @@ -1439358,7 +1439533,6 @@ "sensor": "1/2.8\" Progressive Scan CMOS", "lens": { "count": 1, - "focal_length_mm": "", "varifocal": false, "aperture": "F1.5" }, @@ -1444152,6 +1444326,7 @@ }, "operating_temp_c": "-30℃~65℃", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1450894,6 +1451069,7 @@ }, "operating_temp_c": "-30℃~65℃", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1452040,6 +1452216,7 @@ "aperture": "F1.6" }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1572753,6 +1572930,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 4000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1573738,6 +1573916,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1573984,6 +1574163,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28" @@ -1575927,6 +1576107,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 8000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1576002,6 +1576183,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 8000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28", @@ -1576555,6 +1576737,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6500, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28" @@ -1576893,6 +1577076,7 @@ } }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28" @@ -1576969,6 +1577153,7 @@ "operating_temp_c": "-40 to 70", "weight_g": 6000, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "added": "2026-09-28" @@ -1699326,6 +1699511,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1700263,6 +1700449,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, @@ -1700522,6 +1700709,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, @@ -1701366,6 +1701554,7 @@ "two_way": true }, "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 512 }, @@ -1705389,6 +1705578,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 128 }, @@ -1706165,6 +1706355,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 128 }, @@ -1708311,6 +1708502,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1708568,6 +1708760,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1708860,6 +1709053,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1709954,6 +1710148,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1710867,6 +1711062,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -1712281,6 +1712477,7 @@ "rtsp" ], "storage": { + "onboard": true, "nvr_compatible": true, "max_microsd_gb": 256 }, @@ -2288946,6 +2289143,7 @@ "weight_g": 450, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289081,6 +2289279,7 @@ "weight_g": 1176, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289215,6 +2289414,7 @@ "weight_g": 930, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289349,6 +2289549,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289483,6 +2289684,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289592,6 +2289794,7 @@ "weight_g": 1040, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2289723,6 +2289926,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289858,6 +2290062,7 @@ "weight_g": 424, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2289993,6 +2290198,7 @@ "weight_g": 930, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290128,6 +2290334,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290263,6 +2290470,7 @@ "weight_g": 890, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290397,6 +2290605,7 @@ "weight_g": 516, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290645,6 +2290854,7 @@ "weight_g": 8800, "operating_temp_c": "-40 to 70", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2290748,6 +2290958,7 @@ "weight_g": 500, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2290877,6 +2291088,7 @@ "weight_g": 684, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2290989,6 +2291201,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291099,6 +2291312,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512 }, "environment": [ @@ -2291207,6 +2291421,7 @@ "weight_g": 684, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291339,6 +2291554,7 @@ "weight_g": 730, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2291452,6 +2291668,7 @@ "weight_g": 730, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291562,6 +2291779,7 @@ "weight_g": 700, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291673,6 +2291891,7 @@ "weight_g": 700, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2291805,6 +2292024,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2291939,6 +2292159,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292073,6 +2292294,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 512, "nvr_compatible": true }, @@ -2292207,6 +2292429,7 @@ "weight_g": 876, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292342,6 +2292565,7 @@ "weight_g": 650, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292476,6 +2292700,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292610,6 +2292835,7 @@ "weight_g": 640, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292731,6 +2292957,7 @@ "weight_g": 2100, "operating_temp_c": "-40 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256 }, "environment": [ @@ -2292862,6 +2293089,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2292995,6 +2293223,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2293128,6 +2293357,7 @@ "weight_g": 660, "operating_temp_c": "-30 to 60", "storage": { + "onboard": true, "max_microsd_gb": 256, "nvr_compatible": true }, @@ -2375609,6 +2375839,7 @@ "voltage": "12V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "audio": { @@ -2375661,6 +2375892,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 128, "nvr_compatible": true }, @@ -2375790,6 +2376022,7 @@ "voltage": "5V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "ip_rating": "IP66", @@ -2376240,6 +2376473,7 @@ "voltage": "5V DC" }, "storage": { + "onboard": true, "max_microsd_gb": 128, "cloud": true }, @@ -2376621,6 +2376855,7 @@ "method": "Supplied power adapter (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ @@ -2376687,6 +2376922,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 64 }, "protocols": [ @@ -2376770,6 +2377006,7 @@ "method": "PoE" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ @@ -2376848,6 +2377085,7 @@ "method": "External DC power supply (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "ip_rating": "IP66", @@ -2376908,6 +2377146,7 @@ "method": "External DC power supply (Wi-Fi does not carry power)" }, "storage": { + "onboard": true, "max_microsd_gb": 128 }, "protocols": [ @@ -2409877,7 +2410116,7 @@ { "id": "rvi-1nce2020-3-6", "brand": "RVi", - "model": "RVi-1NCE2020 (3.6) ", + "model": "RVi-1NCE2020 (3.6)", "type": "turret", "connectivity": [ "ethernet" @@ -2434540,7 +2434779,7 @@ { "id": "rvi-2ncr54505-2-7-13-5-white-1", "brand": "RVi", - "model": "RVi-2NCR54605 (2.7-13.5) ", + "model": "RVi-2NCR54605 (2.7-13.5)", "type": "ptz", "connectivity": [ "ethernet", @@ -2434642,7 +2434881,7 @@ "sources": [ "https://rvigroup.ru/catalog-v2/rvi_2ncr54505_2_7_13_5_white_1/" ], - "last_verified": "2026-09-22", + "last_verified": "2026-11-14", "added": "2026-09-23", "sensor_size_inch": 0.3704, "substream_count": 0, @@ -2603474,6 +2603713,7 @@ "voltage": "9 VDC" }, "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2603702,6 +2603942,7 @@ ], "ip_rating": "IP65", "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2604286,6 +2604527,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2604401,6 +2604643,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2604513,6 +2604756,7 @@ "dc" ], "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2604630,6 +2604874,7 @@ ], "ip_rating": "IP65", "storage": { + "onboard": true, "max_microsd_gb": 512, "cloud": true }, @@ -2606648,7 +2606893,9 @@ }, "rtsp_url_template": "rtsp://{user}:{pass}@{ip}:554/stream1", "best_substream": "rtsp://{user}:{pass}@{ip}:554/stream2", - "verified": false, + "verified": true, + "tested_by": "Liero via website (#430)", + "tested_version": "0.18.2", "notes": "Mains-powered Tapo cameras expose RTSP once a Camera Account is created in the Tapo app (Settings > Advanced > Camera Account). /stream1 is the main stream, /stream2 the substream. go2rtc alternative: TP-Link's proprietary protocol via go2rtc (tapo://@{ip}) is often more stable than RTSP (fewer timeouts / non-monotonic-timestamp errors). The password form is firmware-dependent: either your Tapo app/cloud account password, or user `admin` + the UPPERCASE SHA-256 of the camera password (`tapo://admin:@{ip}`) — see go2rtc's Tapo docs. It is not the camera's plain RTSP/Device password. If non-monotonic-timestamp errors persist, disable audio for that camera in Frigate. Chrome may render the go2rtc live view with a squashed aspect ratio (a browser live-view quirk, not the stream); Firefox is correct. The go2rtc tapo:// source also carries a two-way-audio backchannel, so Frigate's live view gets a talk button (mic+speaker). Pan/tilt: Tapo exposes ONVIF PTZ on port 2020 (not 80) — point Frigate's onvif block at host: port:2020 with the camera Account credentials for manual pan/tilt. (Frigate autotracking stays off: Tapo only does continuous-move ONVIF, no reliable absolute/FOV positioning.)", "autotracking": false, "onvif_port": 2020, @@ -2606663,13 +2606910,22 @@ "notes": "Use Generic/ONVIF profile. RTSP streams: /stream1 (main), /stream2 (sub). Must enable the Camera Account / ONVIF in the Tapo app." } }, - "last_verified": "2026-07-26", + "last_verified": "2026-11-14", "markets": [ "global" ], "cloud_dependency": "cloud-optional", "operating_temp_c": "0 to 40", "dimensions_mm": "85.4 x 86.8 x 117.2", + "community_notes": [ + { + "note": "Frigate live view on iPhone/iPad (MSE) needs H.264 video and AAC audio. On Frigate 0.18.2 the reporter added a go2rtc restream of the main stream, ffmpeg:rtsp://127.0.0.1:8554/tapo_c250#video=h264#audio=aac, and set it as the camera live stream. Two-way talk worked after adding a go2rtc tapo://admin:@{ip} source (with ffmpeg:...#audio=aac) to the substream; ONVIF was set to port 2020.", + "category": "frigate", + "source": "https://github.com/ch-bas/cctv-camera-database/issues/430", + "reported_by": "Liero", + "date": "2026-11-14" + } + ], "added": "2026-07-26", "sensor_size_inch": 0.3704, "substream_count": 0, @@ -2677782,7 +2678038,6 @@ "brand": "Trassir", "model": "TR-D2152ZIR3", "aliases": [ - "5 MP (2560 × 1920) TR-D2152ZIR3 v2 2.8–8 IP camera is adapted for outdoor use regardless of the season: housing protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D2152ZIR3", "TR-D2152ZIR3 v2 2.8-8" ], @@ -2678514,7 +2678769,6 @@ "brand": "Trassir", "model": "TR-D2181IR3", "aliases": [ - "8 MP (3840 × 2160) TR-D2181IR3 v3 2.8 IP camera is adapted for outdoor use regardless of the season: housing protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000V.", "TR-D2181IR3", "TR-D2181IR3 v3 2.8", "TR-D2181IR3 v3 3.6" @@ -2678845,7 +2679099,6 @@ "brand": "Trassir", "model": "TR-D2183ZIR6", "aliases": [ - "8 MP (3840×2160) IP camera TR-D2183ZIR6 v3 2.7–13.5 comes in a metal housing protected from moisture and dust according to IP67 standard, which, in combination with an operating temperature range of -40 °C ... +60 °C, provides a stable operation of the device on the street at any time of the year.", "TR-D2183ZIR6", "TR-D2183ZIR6 v3 2.7-13.5" ], @@ -2679353,7 +2679606,6 @@ "brand": "Trassir", "model": "TR-D2221WDIR4W", "aliases": [ - "2 MP (1920×1080) IP-camera TR-D2221WDIR4W v2 2.8 is adapted for outdoor use at any time of the year: protection of the body made of metal against moisture and dust complies with the IP67 standard, operating temperatures from -40 °C ... +60 °C , lightning protection - TVS 4000 V. Equipped with a Wi-Fi module - for wireless data transmission.", "TR-D2221WDIR4W", "TR-D2221WDIR4W v2 2.8", "TR-D2221WDIR4W v2 3.6" @@ -2680204,7 +2680456,6 @@ "brand": "Trassir", "model": "TR-D2251WDCL4", "aliases": [ - "5 MP (2880 × 1632) shock-resistant (IK08) TR-D2251WDCL4 2.8 IP camera is adapted for outdoor use at any time of the year and day: protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 ° C, lightning protection - TVS 4000 V, range of the integrated backlight - 40 m.", "TR-D2251WDCL4", "TR-D2251WDCL4 2.8" ], @@ -2680534,7 +2680785,6 @@ "brand": "Trassir", "model": "TR-D2251WDIR4W", "aliases": [ - "5 MP (2592×1920) IP camera TR-D2251WDIR4W v2 2.8 is adapted for year-round outdoor operation: body protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission.", "TR-D2251WDIR4W", "TR-D2251WDIR4W v2 2.8", "TR-D2251WDIR4W v2 3.6" @@ -2680852,7 +2681102,6 @@ "brand": "Trassir", "model": "TR-D2253WDZCL7", "aliases": [ - "5 MP (2880×1632) shock-resistant (IK08) IP camera TR-D2253WDZCL7 2.7–13.5 is adapted for outdoor use at any time of the year and day: IP67 protection against moisture and dust, operating temperatures from –40 °C… + 60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 70 m.", "TR-D2253WDZCL7", "TR-D2253WDZCL7 2.7-13.5" ], @@ -2681386,7 +2681635,6 @@ "brand": "Trassir", "model": "TR-D2281WDIR4", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D2281WDIR4 2.8 is designed taking into account the conditions of year-round outdoor operation under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, operating temperatures from -40 °C ... +60 °C, lightning protection — 6000V.", "TR-D2281WDIR4", "TR-D2281WDIR4 2.8" ], @@ -2681601,7 +2681849,6 @@ "brand": "Trassir", "model": "TR-D2283WDZIR7", "aliases": [ - "8 MP (3840×2160) IP camera TR-D2283WDZIR7 2.7–13.5 comes in a housing protected from dust and moisture according to the IP67 standard, which, coupled with operating temperatures from -40 °C ... +60 °C and TVS 6000 V lightning protection, provides stable year-round operation of the device on the street - under the direct influence of precipitation.", "TR-D2283WDZIR7", "TR-D2283WDZIR7 2.7-13.5" ], @@ -2685239,7 +2685486,6 @@ "brand": "Trassir", "model": "TR-D3151IR2", "aliases": [ - "5 MP (2560 × 1920) TR-D3151IR2 v2 2.8 IP camera is adapted for outdoor use, including places of direct access, regardless of the season: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, operating temperatures from -40 °C… +60 °C, lightning protection - TVS 4000 V.", "TR-D3151IR2", "TR-D3151IR2 v2 2.8", "TR-D3151IR2 v2 3.6" @@ -2685786,7 +2686032,6 @@ "brand": "Trassir", "model": "TR-D3181IR3", "aliases": [ - "8 MP (3840×2160) TR-D3181IR3 v3 2.8 IP camera works stably outdoors in a place of direct access at a temperature of -40 °C ... +60 °C, comes in a metal case protected from moisture and dust according to the IP67 standard, mechanical impacts - IK10. For night video surveillance, it is equipped with IR illumination with a range of 30 m.", "TR-D3181IR3", "TR-D3181IR3 v3 2.8", "TR-D3181IR3 v3 3.6" @@ -2685893,7 +2686138,6 @@ "brand": "Trassir", "model": "TR-D3183ZIR3", "aliases": [ - "8 MP (3840×2160) IP camera TR-D3183ZIR3 v3 2.7–13.5 is supplied in a metal case, protected from moisture and dust according to IP67 standard, from mechanical impact - according to IK10, which in combination with an operating temperature range of -40 °C … +60 °C ensures stable operation of the device outdoors in a place of direct access – regardless of the season.", "TR-D3183ZIR3", "TR-D3183ZIR3 v3 2.7-13.5" ], @@ -2686224,7 +2686468,6 @@ "brand": "Trassir", "model": "TR-D3221WDIR3W", "aliases": [ - "2 MP (1920×1080) IP camera TR-D3221WDIR3W v2 2.8 is adapted for outdoor use regardless of the season and location: body protection against mechanical impacts - IK10, moisture and dust - IP66, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission.", "TR-D3221WDIR3W", "TR-D3221WDIR3W v2 2.8" ], @@ -2686322,7 +2686565,6 @@ "brand": "Trassir", "model": "TR-D3223WDZIR3", "aliases": [ - "2 MP (1920×1080) IP camera TR-D3223WDZIR3 v2 2.7–13.5 is adapted for outdoor use regardless of the season and location: the case is made of metal, protected from mechanical impacts according to IK10, from moisture and dust - IP66, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D3223WDZIR3", "TR-D3223WDZIR3 v2 2.7-13.5" ], @@ -2686638,7 +2686880,6 @@ "brand": "Trassir", "model": "TR-D3251WDIR3W", "aliases": [ - "5 MP (2592×1920) IP-camera TR-D3251WDIR3W v2 2.8 is adapted for year-round outdoor operation in places of direct access: the case meets the standard of protection against moisture and dust IP66, against mechanical influences - IK10, operating temperatures from -40 °C... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission and IR illumination (30 m range) for night video surveillance.", "TR-D3251WDIR3W", "TR-D3251WDIR3W v2 2.8" ], @@ -2686741,8 +2686982,7 @@ "model": "TR-D3253WDZIR3", "aliases": [ "TR-D3253WDZIR3", - "TR-D3253WDZIR3 v2 2.7-13.5", - "Vandal-resistant (IK10) 5 MP (2592×1920) IP camera TR-D3253WDZIR3 v2 2.7–13.5 comes in a housing protected from moisture and dust according to IP66 standard, which, coupled with operating temperatures from -40 °C ... +60 °C and lightning protection TVS 4000 V ensures stable operation of the device on the street, regardless of the season." + "TR-D3253WDZIR3 v2 2.7-13.5" ], "type": "dome", "connectivity": [ @@ -2686944,7 +2687184,6 @@ "brand": "Trassir", "model": "TR-D3281WDIR4", "aliases": [ - "8 MP (3840×2160) TR-D3281WDIR4 2.8 IP camera is adapted for year-round outdoor operation, including places of direct access, under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, from mechanical influences — IK10, operating temperatures from – 40 °C… +60 °C, lightning protection - TVS 6000 V.", "TR-D3281WDIR4", "TR-D3281WDIR4 2.8" ], @@ -2689002,7 +2689241,6 @@ "brand": "Trassir", "model": "TR-D4281WDIR2", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D4281WDIR2 2.8 is adapted for year-round outdoor operation, including places of direct access, under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, from mechanical influences — IK10, operating temperatures from – 40 °C… +60 °C, lightning protection - TVS 6000 V.", "TR-D4281WDIR2", "TR-D4281WDIR2 2.8" ], @@ -2689920,8 +2690158,7 @@ "aliases": [ "TR-D4S5", "TR-D4S5 v3 2.8", - "TR-D4S5 v3 3.6", - "The 4 MP (2560×1440) IP camera TR-D4S5 v3 2.8 is designed for outdoor use in any weather conditions, subjected to direct exposure to precipitation. The camera's housing is protected from dust and moisture according to IP66 standards, and it has an extended operating temperature range from -40°C to +60°C. Additionally, it features TVS 4000 V surge protection and IR illumination with a range of up to 25 meters." + "TR-D4S5 v3 3.6" ], "type": "turret", "connectivity": [ @@ -2691434,7 +2691671,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "99.0×60.0×32.8", "weight_g": 85, "configs": { @@ -2691684,7 +2691921,6 @@ "brand": "Trassir", "model": "TR-D7221WDIR2W", "aliases": [ - "2 MP (1920×1080) IP-camera TR-D7221WDIR2W v2 2.8 is designed for operation in a room with controlled climatic conditions. Equipped with a Wi-Fi module for wireless data transfer. Suitable for night video surveillance - equipped with IR illumination with a range of 15 m.", "TR-D7221WDIR2W", "TR-D7221WDIR2W v2 2.8", "TR-D7221WDIR2W v2 3.6" @@ -2691784,7 +2692020,6 @@ "brand": "Trassir", "model": "TR-D7251WDIR2W", "aliases": [ - "5 MP (2880 × 1632) TR-D8251WDCL3 2.8 IP camera is adapted for outdoor use at any time of the year and day - in places of direct access under the influence of precipitation: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, working temperatures - -40 °C ... +60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 30 m.", "TR-D7251WDIR2W", "TR-D7251WDIR2W v2 2.8" ], @@ -2692090,7 +2692325,6 @@ "brand": "Trassir", "model": "TR-D8121CL2", "aliases": [ - "2 MP (1920×1080) IP camera TR-D8121CL2 (2.8 mm) is based on a highly sensitive (0.0015 lx) 1/2.8\" matrix, equipped with a fast (F/1.0) lens and LED-backlight with a range of 25 m, due to which broadcasts color video around the clock.Designed taking into account the conditions of outdoor operation, regardless of the season: protection of the case against dust and moisture complies with the IP66 standard, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D8121CL2", "TR-D8121CL2 2.8", "TR-D8121CL2 4.0" @@ -2692453,7 +2692687,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "105.0×92.1", "weight_g": 220, "features": [ @@ -2693334,7 +2693568,6 @@ "brand": "Trassir", "model": "TR-D8151IR2", "aliases": [ - "5 MP (2560 × 1920) IP camera TR-D8151IR2 v2 2.8 is adapted for outdoor use regardless of the season and location: protection against moisture and dust - IP66, mechanical impact - IK10, operating temperatures from -40 °C … +60 °C, lightning protection – TVS 4000 V.", "TR-D8151IR2", "TR-D8151IR2 v2 2.8", "TR-D8151IR2 v2 3.6" @@ -2693773,7 +2694006,6 @@ "brand": "Trassir", "model": "TR-D8181IR3", "aliases": [ - "8 MP (3840×2160) TR-D8181IR3 v3 3.6 IP camera works stably outdoors in the temperature range of –40 °C… +60 °C, comes in a metal housing protected from moisture and dust according to IP67 standard, suitable for night video surveillance - equipped with IR illumination with a range of 30 m.", "TR-D8181IR3", "TR-D8181IR3 v3 3.6", "TR-D8181IR3- v3 2.8" @@ -2693877,7 +2694109,6 @@ "brand": "Trassir", "model": "TR-D8221WDC", "aliases": [ - "2MP (1920×1080) IP-camera TR-D8221WDC (4 mm) is designed for outdoor use in places of direct access: IP66 protection from dust and moisture, IK10 protection from mechanical influences, operating temperatures -40 °C ... +60 °C, lightning protection provided (4000 V).", "TR-D8221WDC" ], "type": "turret", @@ -2694404,7 +2694635,6 @@ "brand": "Trassir", "model": "TR-D8251WDCL3", "aliases": [ - "5 MP (2880 × 1632) TR-D8251WDCL3 2.8 IP camera is adapted for outdoor use at any time of the year and day - in places of direct access under the influence of precipitation: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, working temperatures - -40 °C ... +60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 30 m.", "TR-D8251WDCL3", "TR-D8251WDCL3 2.8", "TR-D8251WDCL3 4.0" @@ -2694847,7 +2695077,6 @@ "brand": "Trassir", "model": "TR-D8281WDIR4", "aliases": [ - "8 MP (3840×2160) IP-camera TR-D8281WDIR4 2.8 is adapted for outdoor use under the direct influence of precipitation — regardless of the time of year and day: the body is protected from dust and moisture according to the IP67 standard, operating temperatures from -40 °C… +60 °C, lightning protection - TVS 6000 V, range of the integrated IR illumination - 40 m.", "TR-D8281WDIR4", "TR-D8281WDIR4 2.8" ], @@ -2695644,7 +2695873,6 @@ "brand": "Trassir", "model": "TR-D9151IR2", "aliases": [ - "5 MP (2560 × 1920) TR-D9151IR2 v2 1.4 IP camera is adapted for year-round outdoor operation: body protection against moisture and dust - IP65, operating temperatures from -30 °C ... +60 °C, lightning protection - TVS 4000 V.", "TR-D9151IR2", "TR-D9151IR2 v2 1.4" ], @@ -2695852,7 +2696080,6 @@ "brand": "Trassir", "model": "TR-D9251WDIR3", "aliases": [ - "5 MP (2592×1920) TR-D9251WDIR3 v2 1.4 IP camera is supplied in a metal housing protected from dust and moisture according to IP65 standard, which is combined with an operating temperature range of -30 °C ... +60 °C and lightning protection TVS 4000 V ensures stable outdoor operation at any time of the year.", "TR-D9251WDIR3", "TR-D9251WDIR3 v2 1.4" ], @@ -2696190,7 +2696417,7 @@ "environment": [ "indoor" ], - "operating_temp_c": "–10 … +50", + "operating_temp_c": "-10 to 50", "dimensions_mm": "30×33×30", "weight_g": 150, "features": [ @@ -2696250,7 +2696477,7 @@ "environment": [ "outdoor" ], - "operating_temp_c": "–10 … +60", + "operating_temp_c": "-10 to 60", "dimensions_mm": "99×81", "weight_g": 300, "features": [ @@ -2706395,6 +2706622,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2706494,6 +2706722,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 256 }, "features": [ @@ -2706596,6 +2706825,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2706704,6 +2706934,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2706806,6 +2707037,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2707015,6 +2707247,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707115,6 +2707348,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707217,6 +2707451,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707319,6 +2707554,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2707428,6 +2707664,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707530,6 +2707767,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2707741,6 +2707979,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP67", @@ -2707850,6 +2708089,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2707952,6 +2708192,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "features": [ @@ -2708046,6 +2708287,7 @@ ] }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708152,6 +2708394,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708269,6 +2708512,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708392,6 +2708636,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", @@ -2708500,6 +2708745,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708625,6 +2708871,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", @@ -2708733,6 +2708980,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708851,6 +2709099,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2708975,6 +2709224,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", @@ -2709082,6 +2709332,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "power": { @@ -2709205,6 +2709456,7 @@ "two_way": true }, "storage": { + "onboard": true, "max_microsd_gb": 512 }, "ip_rating": "IP66", diff --git a/docs/cameras/beward/bd3990fl2.md b/docs/cameras/beward/bd3990fl2.md index 9cd23516b..3ed4077a7 100644 --- a/docs/cameras/beward/bd3990fl2.md +++ b/docs/cameras/beward/bd3990fl2.md @@ -8,7 +8,7 @@ | Connectivity | ethernet | | Resolution | (12MP, 4000×3000) | | Sensor | 1/1.7" Sony CMOS | -| Lens | 1× . 1.65mm F2.8 | +| Lens | 1× 1.65mm F2.8 | | Field of view | 190° | | Night vision | ir (5m), 0.01 lux, 0.1 lux color | | Power | PoE / DC 12V | diff --git a/docs/cameras/beward/bd3990flm.md b/docs/cameras/beward/bd3990flm.md index 487592a67..080ad34d1 100644 --- a/docs/cameras/beward/bd3990flm.md +++ b/docs/cameras/beward/bd3990flm.md @@ -8,7 +8,7 @@ | Connectivity | ethernet | | Resolution | (12MP, 4000×3000) | | Sensor | 1/1.7" Sony CMOS | -| Lens | 1× . 1.65mm F2.8 | +| Lens | 1× 1.65mm F2.8 | | Field of view | 190° | | Night vision | ir (5m), 0.01 lux, 0.1 lux color | | Power | PoE / DC 12V | diff --git a/docs/cameras/dahua/sd6ce245gb-hnr.md b/docs/cameras/dahua/sd6ce245gb-hnr.md index e014705c0..500bb812b 100644 --- a/docs/cameras/dahua/sd6ce245gb-hnr.md +++ b/docs/cameras/dahua/sd6ce245gb-hnr.md @@ -1,6 +1,6 @@ # Dahua SD6CE245GB-HNR -*Also known as: DH-SD6CE245GB-HNR, SD6CE245GB-HNR(only for Georgia)* +*Also known as: DH-SD6CE245GB-HNR, SD6CE245GB-HNR(only for Georgia)* | Field | Spec | |-------|------| diff --git a/docs/cameras/rvi/2ncr54505-2-7-13-5-white-1.md b/docs/cameras/rvi/2ncr54505-2-7-13-5-white-1.md index f98ee7dad..732cab436 100644 --- a/docs/cameras/rvi/2ncr54505-2-7-13-5-white-1.md +++ b/docs/cameras/rvi/2ncr54505-2-7-13-5-white-1.md @@ -1,9 +1,9 @@ -# RVi RVi-2NCR54605 (2.7-13.5) +# RVi RVi-2NCR54605 (2.7-13.5) | Field | Spec | |-------|------| | Brand | RVi | -| Model | RVi-2NCR54605 (2.7-13.5) | +| Model | RVi-2NCR54605 (2.7-13.5) | | Type | ptz | | Connectivity | ethernet, wifi | | Resolution | 5MP (5MP, 2880×1620) | diff --git a/docs/cameras/rvi/rvi-1nce2020-3-6.md b/docs/cameras/rvi/rvi-1nce2020-3-6.md index 1ba5410a0..5fc87c5b9 100644 --- a/docs/cameras/rvi/rvi-1nce2020-3-6.md +++ b/docs/cameras/rvi/rvi-1nce2020-3-6.md @@ -1,9 +1,9 @@ -# RVi RVi-1NCE2020 (3.6) +# RVi RVi-1NCE2020 (3.6) | Field | Spec | |-------|------| | Brand | RVi | -| Model | RVi-1NCE2020 (3.6) | +| Model | RVi-1NCE2020 (3.6) | | Type | turret | | Connectivity | ethernet | | Resolution | 2MP (2MP, 1920×1080) | diff --git a/docs/cameras/tapo/c250.md b/docs/cameras/tapo/c250.md index 60c79c956..7e48df7e0 100644 --- a/docs/cameras/tapo/c250.md +++ b/docs/cameras/tapo/c250.md @@ -44,5 +44,13 @@ - https://www.tp-link.com/sg/home-networking/cloud-camera/tapo-c250/ - https://www.pbtech.com/pacific/product/CCTTPL8250/TP-Link-Tapo-C250-8MP4K-Indoor-PT-Wi-Fi-Camera-AI +## Community notes (unverified) + +*Reported by users. Not from the datasheet, not verified by the project.* + +- Frigate live view on iPhone/iPad (MSE) needs H.264 video and AAC audio. On Frigate 0.18.2 the reporter added a go2rtc restream of the main stream, ffmpeg:rtsp://127.0.0.1:8554/tapo_c250#video=h264#audio=aac, and set it as the camera live stream. Two-way talk worked after adding a go2rtc tapo://admin:@{ip} source (with ffmpeg:...#audio=aac) to the substream; ONVIF was set to port 2020. + + frigate · reported by Liero · 2026-11-14 · [source](https://github.com/ch-bas/cctv-camera-database/issues/430) + --- *Auto-generated from tapo-c250.json — do not edit by hand.* diff --git a/docs/cameras/trassir/tr-d2152zir3.md b/docs/cameras/trassir/tr-d2152zir3.md index 59f57bc0d..d16d9ce0c 100644 --- a/docs/cameras/trassir/tr-d2152zir3.md +++ b/docs/cameras/trassir/tr-d2152zir3.md @@ -1,6 +1,6 @@ # Trassir TR-D2152ZIR3 -*Also known as: 5 MP (2560 × 1920) TR-D2152ZIR3 v2 2.8–8 IP camera is adapted for outdoor use regardless of the season: housing protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V., TR-D2152ZIR3, TR-D2152ZIR3 v2 2.8-8* +*Also known as: TR-D2152ZIR3, TR-D2152ZIR3 v2 2.8-8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d2181ir3.md b/docs/cameras/trassir/tr-d2181ir3.md index bfb3877af..bc066c672 100644 --- a/docs/cameras/trassir/tr-d2181ir3.md +++ b/docs/cameras/trassir/tr-d2181ir3.md @@ -1,6 +1,6 @@ # Trassir TR-D2181IR3 -*Also known as: 8 MP (3840 × 2160) TR-D2181IR3 v3 2.8 IP camera is adapted for outdoor use regardless of the season: housing protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000V., TR-D2181IR3, TR-D2181IR3 v3 2.8, TR-D2181IR3 v3 3.6* +*Also known as: TR-D2181IR3, TR-D2181IR3 v3 2.8, TR-D2181IR3 v3 3.6* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d2183zir6.md b/docs/cameras/trassir/tr-d2183zir6.md index 7d9e250fc..f03b2456a 100644 --- a/docs/cameras/trassir/tr-d2183zir6.md +++ b/docs/cameras/trassir/tr-d2183zir6.md @@ -1,6 +1,6 @@ # Trassir TR-D2183ZIR6 -*Also known as: 8 MP (3840×2160) IP camera TR-D2183ZIR6 v3 2.7–13.5 comes in a metal housing protected from moisture and dust according to IP67 standard, which, in combination with an operating temperature range of -40 °C ... +60 °C, provides a stable operation of the device on the street at any time of the year., TR-D2183ZIR6, TR-D2183ZIR6 v3 2.7-13.5* +*Also known as: TR-D2183ZIR6, TR-D2183ZIR6 v3 2.7-13.5* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d2221wdir4w.md b/docs/cameras/trassir/tr-d2221wdir4w.md index e6ea41d61..ec6721abf 100644 --- a/docs/cameras/trassir/tr-d2221wdir4w.md +++ b/docs/cameras/trassir/tr-d2221wdir4w.md @@ -1,6 +1,6 @@ # Trassir TR-D2221WDIR4W -*Also known as: 2 MP (1920×1080) IP-camera TR-D2221WDIR4W v2 2.8 is adapted for outdoor use at any time of the year: protection of the body made of metal against moisture and dust complies with the IP67 standard, operating temperatures from -40 °C ... +60 °C , lightning protection - TVS 4000 V. Equipped with a Wi-Fi module - for wireless data transmission., TR-D2221WDIR4W, TR-D2221WDIR4W v2 2.8, TR-D2221WDIR4W v2 3.6* +*Also known as: TR-D2221WDIR4W, TR-D2221WDIR4W v2 2.8, TR-D2221WDIR4W v2 3.6* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d2251wdcl4.md b/docs/cameras/trassir/tr-d2251wdcl4.md index b2a90a50b..4f8246490 100644 --- a/docs/cameras/trassir/tr-d2251wdcl4.md +++ b/docs/cameras/trassir/tr-d2251wdcl4.md @@ -1,6 +1,6 @@ # Trassir TR-D2251WDCL4 -*Also known as: 5 MP (2880 × 1632) shock-resistant (IK08) TR-D2251WDCL4 2.8 IP camera is adapted for outdoor use at any time of the year and day: protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 ° C, lightning protection - TVS 4000 V, range of the integrated backlight - 40 m., TR-D2251WDCL4, TR-D2251WDCL4 2.8* +*Also known as: TR-D2251WDCL4, TR-D2251WDCL4 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d2251wdir4w.md b/docs/cameras/trassir/tr-d2251wdir4w.md index 76c142054..6e5262865 100644 --- a/docs/cameras/trassir/tr-d2251wdir4w.md +++ b/docs/cameras/trassir/tr-d2251wdir4w.md @@ -1,6 +1,6 @@ # Trassir TR-D2251WDIR4W -*Also known as: 5 MP (2592×1920) IP camera TR-D2251WDIR4W v2 2.8 is adapted for year-round outdoor operation: body protection against moisture and dust - IP67, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission., TR-D2251WDIR4W, TR-D2251WDIR4W v2 2.8, TR-D2251WDIR4W v2 3.6* +*Also known as: TR-D2251WDIR4W, TR-D2251WDIR4W v2 2.8, TR-D2251WDIR4W v2 3.6* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d2253wdzcl7.md b/docs/cameras/trassir/tr-d2253wdzcl7.md index 2229072ea..d39f1d244 100644 --- a/docs/cameras/trassir/tr-d2253wdzcl7.md +++ b/docs/cameras/trassir/tr-d2253wdzcl7.md @@ -1,6 +1,6 @@ # Trassir TR-D2253WDZCL7 -*Also known as: 5 MP (2880×1632) shock-resistant (IK08) IP camera TR-D2253WDZCL7 2.7–13.5 is adapted for outdoor use at any time of the year and day: IP67 protection against moisture and dust, operating temperatures from –40 °C… + 60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 70 m., TR-D2253WDZCL7, TR-D2253WDZCL7 2.7-13.5* +*Also known as: TR-D2253WDZCL7, TR-D2253WDZCL7 2.7-13.5* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d2281wdir4.md b/docs/cameras/trassir/tr-d2281wdir4.md index 2b1126ac6..47ff4db1f 100644 --- a/docs/cameras/trassir/tr-d2281wdir4.md +++ b/docs/cameras/trassir/tr-d2281wdir4.md @@ -1,6 +1,6 @@ # Trassir TR-D2281WDIR4 -*Also known as: 8 MP (3840×2160) IP-camera TR-D2281WDIR4 2.8 is designed taking into account the conditions of year-round outdoor operation under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, operating temperatures from -40 °C ... +60 °C, lightning protection — 6000V., TR-D2281WDIR4, TR-D2281WDIR4 2.8* +*Also known as: TR-D2281WDIR4, TR-D2281WDIR4 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d2283wdzir7.md b/docs/cameras/trassir/tr-d2283wdzir7.md index e7103d474..a1e38af64 100644 --- a/docs/cameras/trassir/tr-d2283wdzir7.md +++ b/docs/cameras/trassir/tr-d2283wdzir7.md @@ -1,6 +1,6 @@ # Trassir TR-D2283WDZIR7 -*Also known as: 8 MP (3840×2160) IP camera TR-D2283WDZIR7 2.7–13.5 comes in a housing protected from dust and moisture according to the IP67 standard, which, coupled with operating temperatures from -40 °C ... +60 °C and TVS 6000 V lightning protection, provides stable year-round operation of the device on the street - under the direct influence of precipitation., TR-D2283WDZIR7, TR-D2283WDZIR7 2.7-13.5* +*Also known as: TR-D2283WDZIR7, TR-D2283WDZIR7 2.7-13.5* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d3151ir2.md b/docs/cameras/trassir/tr-d3151ir2.md index 5c81a9dc5..9e9c0ec54 100644 --- a/docs/cameras/trassir/tr-d3151ir2.md +++ b/docs/cameras/trassir/tr-d3151ir2.md @@ -1,6 +1,6 @@ # Trassir TR-D3151IR2 -*Also known as: 5 MP (2560 × 1920) TR-D3151IR2 v2 2.8 IP camera is adapted for outdoor use, including places of direct access, regardless of the season: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, operating temperatures from -40 °C… +60 °C, lightning protection - TVS 4000 V., TR-D3151IR2, TR-D3151IR2 v2 2.8, TR-D3151IR2 v2 3.6* +*Also known as: TR-D3151IR2, TR-D3151IR2 v2 2.8, TR-D3151IR2 v2 3.6* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d3181ir3.md b/docs/cameras/trassir/tr-d3181ir3.md index 03acdd937..6c6845226 100644 --- a/docs/cameras/trassir/tr-d3181ir3.md +++ b/docs/cameras/trassir/tr-d3181ir3.md @@ -1,6 +1,6 @@ # Trassir TR-D3181IR3 -*Also known as: 8 MP (3840×2160) TR-D3181IR3 v3 2.8 IP camera works stably outdoors in a place of direct access at a temperature of -40 °C ... +60 °C, comes in a metal case protected from moisture and dust according to the IP67 standard, mechanical impacts - IK10. For night video surveillance, it is equipped with IR illumination with a range of 30 m., TR-D3181IR3, TR-D3181IR3 v3 2.8, TR-D3181IR3 v3 3.6* +*Also known as: TR-D3181IR3, TR-D3181IR3 v3 2.8, TR-D3181IR3 v3 3.6* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d3183zir3.md b/docs/cameras/trassir/tr-d3183zir3.md index ceb4dc62e..06a0395a6 100644 --- a/docs/cameras/trassir/tr-d3183zir3.md +++ b/docs/cameras/trassir/tr-d3183zir3.md @@ -1,6 +1,6 @@ # Trassir TR-D3183ZIR3 -*Also known as: 8 MP (3840×2160) IP camera TR-D3183ZIR3 v3 2.7–13.5 is supplied in a metal case, protected from moisture and dust according to IP67 standard, from mechanical impact - according to IK10, which in combination with an operating temperature range of -40 °C … +60 °C ensures stable operation of the device outdoors in a place of direct access – regardless of the season., TR-D3183ZIR3, TR-D3183ZIR3 v3 2.7-13.5* +*Also known as: TR-D3183ZIR3, TR-D3183ZIR3 v3 2.7-13.5* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d3221wdir3w.md b/docs/cameras/trassir/tr-d3221wdir3w.md index db7ffec6a..267dc01cc 100644 --- a/docs/cameras/trassir/tr-d3221wdir3w.md +++ b/docs/cameras/trassir/tr-d3221wdir3w.md @@ -1,6 +1,6 @@ # Trassir TR-D3221WDIR3W -*Also known as: 2 MP (1920×1080) IP camera TR-D3221WDIR3W v2 2.8 is adapted for outdoor use regardless of the season and location: body protection against mechanical impacts - IK10, moisture and dust - IP66, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission., TR-D3221WDIR3W, TR-D3221WDIR3W v2 2.8* +*Also known as: TR-D3221WDIR3W, TR-D3221WDIR3W v2 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d3223wdzir3.md b/docs/cameras/trassir/tr-d3223wdzir3.md index dbf519a54..5d9621d41 100644 --- a/docs/cameras/trassir/tr-d3223wdzir3.md +++ b/docs/cameras/trassir/tr-d3223wdzir3.md @@ -1,6 +1,6 @@ # Trassir TR-D3223WDZIR3 -*Also known as: 2 MP (1920×1080) IP camera TR-D3223WDZIR3 v2 2.7–13.5 is adapted for outdoor use regardless of the season and location: the case is made of metal, protected from mechanical impacts according to IK10, from moisture and dust - IP66, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V., TR-D3223WDZIR3, TR-D3223WDZIR3 v2 2.7-13.5* +*Also known as: TR-D3223WDZIR3, TR-D3223WDZIR3 v2 2.7-13.5* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d3251wdir3w.md b/docs/cameras/trassir/tr-d3251wdir3w.md index 09cf3a683..46b550430 100644 --- a/docs/cameras/trassir/tr-d3251wdir3w.md +++ b/docs/cameras/trassir/tr-d3251wdir3w.md @@ -1,6 +1,6 @@ # Trassir TR-D3251WDIR3W -*Also known as: 5 MP (2592×1920) IP-camera TR-D3251WDIR3W v2 2.8 is adapted for year-round outdoor operation in places of direct access: the case meets the standard of protection against moisture and dust IP66, against mechanical influences - IK10, operating temperatures from -40 °C... +60 °C, lightning protection - TVS 4000 V. Equipped with a Wi-Fi module for wireless data transmission and IR illumination (30 m range) for night video surveillance., TR-D3251WDIR3W, TR-D3251WDIR3W v2 2.8* +*Also known as: TR-D3251WDIR3W, TR-D3251WDIR3W v2 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d3253wdzir3.md b/docs/cameras/trassir/tr-d3253wdzir3.md index 9e39ab567..2e12f081d 100644 --- a/docs/cameras/trassir/tr-d3253wdzir3.md +++ b/docs/cameras/trassir/tr-d3253wdzir3.md @@ -1,6 +1,6 @@ # Trassir TR-D3253WDZIR3 -*Also known as: TR-D3253WDZIR3, TR-D3253WDZIR3 v2 2.7-13.5, Vandal-resistant (IK10) 5 MP (2592×1920) IP camera TR-D3253WDZIR3 v2 2.7–13.5 comes in a housing protected from moisture and dust according to IP66 standard, which, coupled with operating temperatures from -40 °C ... +60 °C and lightning protection TVS 4000 V ensures stable operation of the device on the street, regardless of the season.* +*Also known as: TR-D3253WDZIR3, TR-D3253WDZIR3 v2 2.7-13.5* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d3281wdir4.md b/docs/cameras/trassir/tr-d3281wdir4.md index 45e0761c3..89db56091 100644 --- a/docs/cameras/trassir/tr-d3281wdir4.md +++ b/docs/cameras/trassir/tr-d3281wdir4.md @@ -1,6 +1,6 @@ # Trassir TR-D3281WDIR4 -*Also known as: 8 MP (3840×2160) TR-D3281WDIR4 2.8 IP camera is adapted for year-round outdoor operation, including places of direct access, under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, from mechanical influences — IK10, operating temperatures from – 40 °C… +60 °C, lightning protection - TVS 6000 V., TR-D3281WDIR4, TR-D3281WDIR4 2.8* +*Also known as: TR-D3281WDIR4, TR-D3281WDIR4 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d4281wdir2.md b/docs/cameras/trassir/tr-d4281wdir2.md index 2bbfeecd6..e9cad884a 100644 --- a/docs/cameras/trassir/tr-d4281wdir2.md +++ b/docs/cameras/trassir/tr-d4281wdir2.md @@ -1,6 +1,6 @@ # Trassir TR-D4281WDIR2 -*Also known as: 8 MP (3840×2160) IP-camera TR-D4281WDIR2 2.8 is adapted for year-round outdoor operation, including places of direct access, under the influence of precipitation: the case is protected from dust and moisture according to the IP67 standard, from mechanical influences — IK10, operating temperatures from – 40 °C… +60 °C, lightning protection - TVS 6000 V., TR-D4281WDIR2, TR-D4281WDIR2 2.8* +*Also known as: TR-D4281WDIR2, TR-D4281WDIR2 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d4s5.md b/docs/cameras/trassir/tr-d4s5.md index ba31e7c70..5935c5145 100644 --- a/docs/cameras/trassir/tr-d4s5.md +++ b/docs/cameras/trassir/tr-d4s5.md @@ -1,6 +1,6 @@ # Trassir TR-D4S5 -*Also known as: TR-D4S5, TR-D4S5 v3 2.8, TR-D4S5 v3 3.6, The 4 MP (2560×1440) IP camera TR-D4S5 v3 2.8 is designed for outdoor use in any weather conditions, subjected to direct exposure to precipitation. The camera's housing is protected from dust and moisture according to IP66 standards, and it has an extended operating temperature range from -40°C to +60°C. Additionally, it features TVS 4000 V surge protection and IR illumination with a range of up to 25 meters.* +*Also known as: TR-D4S5, TR-D4S5 v3 2.8, TR-D4S5 v3 3.6* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d7121ir1w.md b/docs/cameras/trassir/tr-d7121ir1w.md index c5d602ba7..42f50fe33 100644 --- a/docs/cameras/trassir/tr-d7121ir1w.md +++ b/docs/cameras/trassir/tr-d7121ir1w.md @@ -16,7 +16,7 @@ | Storage | microSD ≤ 128GB, NVR | | Protocols | onvif, rtsp | | Two-way audio | No | -| Operating temp | –10 … +50°C | +| Operating temp | -10 to 50°C | ## Streams diff --git a/docs/cameras/trassir/tr-d7221wdir2w.md b/docs/cameras/trassir/tr-d7221wdir2w.md index de9fe209d..4b33d37ef 100644 --- a/docs/cameras/trassir/tr-d7221wdir2w.md +++ b/docs/cameras/trassir/tr-d7221wdir2w.md @@ -1,6 +1,6 @@ # Trassir TR-D7221WDIR2W -*Also known as: 2 MP (1920×1080) IP-camera TR-D7221WDIR2W v2 2.8 is designed for operation in a room with controlled climatic conditions. Equipped with a Wi-Fi module for wireless data transfer. Suitable for night video surveillance - equipped with IR illumination with a range of 15 m., TR-D7221WDIR2W, TR-D7221WDIR2W v2 2.8, TR-D7221WDIR2W v2 3.6* +*Also known as: TR-D7221WDIR2W, TR-D7221WDIR2W v2 2.8, TR-D7221WDIR2W v2 3.6* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d7251wdir2w.md b/docs/cameras/trassir/tr-d7251wdir2w.md index e868a6e20..3f66105ca 100644 --- a/docs/cameras/trassir/tr-d7251wdir2w.md +++ b/docs/cameras/trassir/tr-d7251wdir2w.md @@ -1,6 +1,6 @@ # Trassir TR-D7251WDIR2W -*Also known as: 5 MP (2880 × 1632) TR-D8251WDCL3 2.8 IP camera is adapted for outdoor use at any time of the year and day - in places of direct access under the influence of precipitation: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, working temperatures - -40 °C ... +60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 30 m., TR-D7251WDIR2W, TR-D7251WDIR2W v2 2.8* +*Also known as: TR-D7251WDIR2W, TR-D7251WDIR2W v2 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d8121cl2.md b/docs/cameras/trassir/tr-d8121cl2.md index 809d81ea7..2abf228a1 100644 --- a/docs/cameras/trassir/tr-d8121cl2.md +++ b/docs/cameras/trassir/tr-d8121cl2.md @@ -1,6 +1,6 @@ # Trassir TR-D8121CL2 -*Also known as: 2 MP (1920×1080) IP camera TR-D8121CL2 (2.8 mm) is based on a highly sensitive (0.0015 lx) 1/2.8" matrix, equipped with a fast (F/1.0) lens and LED-backlight with a range of 25 m, due to which broadcasts color video around the clock.Designed taking into account the conditions of outdoor operation, regardless of the season: protection of the case against dust and moisture complies with the IP66 standard, operating temperatures from -40 °C ... +60 °C, lightning protection - TVS 4000 V., TR-D8121CL2, TR-D8121CL2 2.8, TR-D8121CL2 4.0* +*Also known as: TR-D8121CL2, TR-D8121CL2 2.8, TR-D8121CL2 4.0* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d8121ir2w.md b/docs/cameras/trassir/tr-d8121ir2w.md index 32cde0a17..3eafdf3ed 100644 --- a/docs/cameras/trassir/tr-d8121ir2w.md +++ b/docs/cameras/trassir/tr-d8121ir2w.md @@ -16,7 +16,7 @@ | Storage | microSD ≤ 128GB, NVR | | Protocols | onvif, rtsp | | Two-way audio | No | -| Operating temp | –10 … +50°C | +| Operating temp | -10 to 50°C | ## Streams diff --git a/docs/cameras/trassir/tr-d8151ir2.md b/docs/cameras/trassir/tr-d8151ir2.md index d263e3538..6c629bfe6 100644 --- a/docs/cameras/trassir/tr-d8151ir2.md +++ b/docs/cameras/trassir/tr-d8151ir2.md @@ -1,6 +1,6 @@ # Trassir TR-D8151IR2 -*Also known as: 5 MP (2560 × 1920) IP camera TR-D8151IR2 v2 2.8 is adapted for outdoor use regardless of the season and location: protection against moisture and dust - IP66, mechanical impact - IK10, operating temperatures from -40 °C … +60 °C, lightning protection – TVS 4000 V., TR-D8151IR2, TR-D8151IR2 v2 2.8, TR-D8151IR2 v2 3.6* +*Also known as: TR-D8151IR2, TR-D8151IR2 v2 2.8, TR-D8151IR2 v2 3.6* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d8181ir3.md b/docs/cameras/trassir/tr-d8181ir3.md index 18a3314a1..afde98f33 100644 --- a/docs/cameras/trassir/tr-d8181ir3.md +++ b/docs/cameras/trassir/tr-d8181ir3.md @@ -1,6 +1,6 @@ # Trassir TR-D8181IR3 -*Also known as: 8 MP (3840×2160) TR-D8181IR3 v3 3.6 IP camera works stably outdoors in the temperature range of –40 °C… +60 °C, comes in a metal housing protected from moisture and dust according to IP67 standard, suitable for night video surveillance - equipped with IR illumination with a range of 30 m., TR-D8181IR3, TR-D8181IR3 v3 3.6, TR-D8181IR3- v3 2.8* +*Also known as: TR-D8181IR3, TR-D8181IR3 v3 3.6, TR-D8181IR3- v3 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d8221wdc.md b/docs/cameras/trassir/tr-d8221wdc.md index 813a2fdf9..4250a3ce7 100644 --- a/docs/cameras/trassir/tr-d8221wdc.md +++ b/docs/cameras/trassir/tr-d8221wdc.md @@ -1,6 +1,6 @@ # Trassir TR-D8221WDC -*Also known as: 2MP (1920×1080) IP-camera TR-D8221WDC (4 mm) is designed for outdoor use in places of direct access: IP66 protection from dust and moisture, IK10 protection from mechanical influences, operating temperatures -40 °C ... +60 °C, lightning protection provided (4000 V)., TR-D8221WDC* +*Also known as: TR-D8221WDC* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d8251wdcl3.md b/docs/cameras/trassir/tr-d8251wdcl3.md index 4f25c1475..9778abc83 100644 --- a/docs/cameras/trassir/tr-d8251wdcl3.md +++ b/docs/cameras/trassir/tr-d8251wdcl3.md @@ -1,6 +1,6 @@ # Trassir TR-D8251WDCL3 -*Also known as: 5 MP (2880 × 1632) TR-D8251WDCL3 2.8 IP camera is adapted for outdoor use at any time of the year and day - in places of direct access under the influence of precipitation: protection of the case from moisture and dust - IP66, from mechanical influences - IK10, working temperatures - -40 °C ... +60 °C, lightning protection - TVS 4000 V, range of the integrated backlight - 30 m., TR-D8251WDCL3, TR-D8251WDCL3 2.8, TR-D8251WDCL3 4.0* +*Also known as: TR-D8251WDCL3, TR-D8251WDCL3 2.8, TR-D8251WDCL3 4.0* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d8281wdir4.md b/docs/cameras/trassir/tr-d8281wdir4.md index 5181a1e2b..bc401c26b 100644 --- a/docs/cameras/trassir/tr-d8281wdir4.md +++ b/docs/cameras/trassir/tr-d8281wdir4.md @@ -1,6 +1,6 @@ # Trassir TR-D8281WDIR4 -*Also known as: 8 MP (3840×2160) IP-camera TR-D8281WDIR4 2.8 is adapted for outdoor use under the direct influence of precipitation — regardless of the time of year and day: the body is protected from dust and moisture according to the IP67 standard, operating temperatures from -40 °C… +60 °C, lightning protection - TVS 6000 V, range of the integrated IR illumination - 40 m., TR-D8281WDIR4, TR-D8281WDIR4 2.8* +*Also known as: TR-D8281WDIR4, TR-D8281WDIR4 2.8* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d9151ir2.md b/docs/cameras/trassir/tr-d9151ir2.md index 6d2522cae..8ea19cba2 100644 --- a/docs/cameras/trassir/tr-d9151ir2.md +++ b/docs/cameras/trassir/tr-d9151ir2.md @@ -1,6 +1,6 @@ # Trassir TR-D9151IR2 -*Also known as: 5 MP (2560 × 1920) TR-D9151IR2 v2 1.4 IP camera is adapted for year-round outdoor operation: body protection against moisture and dust - IP65, operating temperatures from -30 °C ... +60 °C, lightning protection - TVS 4000 V., TR-D9151IR2, TR-D9151IR2 v2 1.4* +*Also known as: TR-D9151IR2, TR-D9151IR2 v2 1.4* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-d9251wdir3.md b/docs/cameras/trassir/tr-d9251wdir3.md index ae9d4945f..a5ed4b1ad 100644 --- a/docs/cameras/trassir/tr-d9251wdir3.md +++ b/docs/cameras/trassir/tr-d9251wdir3.md @@ -1,6 +1,6 @@ # Trassir TR-D9251WDIR3 -*Also known as: 5 MP (2592×1920) TR-D9251WDIR3 v2 1.4 IP camera is supplied in a metal housing protected from dust and moisture according to IP65 standard, which is combined with an operating temperature range of -30 °C ... +60 °C and lightning protection TVS 4000 V ensures stable outdoor operation at any time of the year., TR-D9251WDIR3, TR-D9251WDIR3 v2 1.4* +*Also known as: TR-D9251WDIR3, TR-D9251WDIR3 v2 1.4* | Field | Spec | |-------|------| diff --git a/docs/cameras/trassir/tr-h2l1.md b/docs/cameras/trassir/tr-h2l1.md index 5c59cdce8..1d265870a 100644 --- a/docs/cameras/trassir/tr-h2l1.md +++ b/docs/cameras/trassir/tr-h2l1.md @@ -12,7 +12,7 @@ | Sensor | 1/2.9" CMOS | | Lens | 1× 2.8mm | | Power | 12V DC | -| Operating temp | –10 … +50°C | +| Operating temp | -10 to 50°C | ## Features diff --git a/docs/cameras/trassir/tr-h2s1.md b/docs/cameras/trassir/tr-h2s1.md index 2acdcedf0..dd1e0222e 100644 --- a/docs/cameras/trassir/tr-h2s1.md +++ b/docs/cameras/trassir/tr-h2s1.md @@ -14,7 +14,7 @@ | Night vision | ir (20m) | | Power | 12V DC | | IP rating | IP67 | -| Operating temp | –10 … +60°C | +| Operating temp | -10 to 60°C | ## Features diff --git a/package.json b/package.json index 9beb58b37..de964c2aa 100644 --- a/package.json +++ b/package.json @@ -41,5 +41,5 @@ "ajv": "^8.20.0", "ajv-formats": "^3.0.1" }, - "version": "2.33.0" + "version": "2.34.0" } diff --git a/scripts/gen-netbox.js b/scripts/gen-netbox.js index d8551ca3a..0a3df6b9e 100644 --- a/scripts/gen-netbox.js +++ b/scripts/gen-netbox.js @@ -4,6 +4,7 @@ * * Usage: * node scripts/gen-netbox.js --brand Hikvision [--out netbox-out] [--limit 50] [--report] + * [--dtl ../devicetype-library] [--plan] * * Rules (mirrors the project's datasheet-only policy): * - Only cameras with power_source "poe" AND a known Ethernet link speed are emitted. @@ -17,6 +18,22 @@ * * --report lists PoE cameras that are blocked only by a missing ethernet speed, * with their datasheet URL so the field can be filled from the source. + * + * Manufacturer mapping (#429): a dataset brand can map to an existing library + * manufacturer with a model prefix (BRAND_OVERRIDE), e.g. "Cisco Meraki" MV22 → + * manufacturer Cisco, model "Meraki MV22", device-types/Cisco/Meraki-MV22.yaml, + * slug cisco-meraki-mv22 — the library already files Meraki under Cisco. + * + * --dtl points at a local clone of netbox-community/devicetype-library + * (default: ../devicetype-library next to this repo, if present). Its + * device-types/ directory names are the existing manufacturers; before writing a + * NEW manufacturer the script warns when the brand starts with or contains an + * existing manufacturer name, or when library files already use the brand as a + * model prefix. Without a clone the check is skipped with a notice. + * + * --plan prints manufacturer / model / file / slug for every selected camera + * (including ones that would be skipped for a missing ethernet speed) and + * writes nothing. */ const fs = require('fs'); const path = require('path'); @@ -27,6 +44,11 @@ const BRAND = opt('--brand', null); const OUT = opt('--out', 'netbox-out'); const LIMIT = parseInt(opt('--limit', '0'), 10); const REPORT = args.includes('--report'); +const PLAN = args.includes('--plan'); +const ROOT = path.resolve(__dirname, '..'); +const DTL = [opt('--dtl', null), path.join(ROOT, '..', 'devicetype-library')] + .find((p) => p && fs.existsSync(path.join(p, 'device-types'))) || null; +if (opt('--dtl', null) && DTL !== opt('--dtl', null)) console.error(`notice: --dtl ${opt('--dtl', null)} has no device-types/ directory`); const SPEED_TYPE = { 10: '10base-t', 100: '100base-tx', 1000: '1000base-t', 2500: '2.5gbase-t', 10000: '10gbase-t' }; @@ -34,11 +56,72 @@ const SPEED_TYPE = { 10: '10base-t', 100: '100base-tx', 1000: '1000base-t', 2500 // brand casing. Match the library's existing convention exactly or CI creates a // duplicate manufacturer (and macOS's case-insensitive FS clobbers the real dir). // lowerFile mirrors vendors whose existing files are lowercased (e.g. AXIS). +// A sub-brand the library files under its parent maps to the parent manufacturer +// with a modelPrefix (prepended to the model, joined with '-' in the filename) and +// an optional dir when the directory name differs from the manufacturer name. const BRAND_OVERRIDE = { axis: { name: 'AXIS', lowerFile: true }, + 'cisco meraki': { name: 'Cisco', modelPrefix: 'Meraki' }, }; const brandInfo = (brand) => BRAND_OVERRIDE[brand.toLowerCase()] || { name: brand }; +// Filename must equal the model or its slug (their CI checks this, case-insensitively). +// Raw model when filesystem-safe (keeps parens, matching library convention); for a +// model with a slash, drop the slash + parens so the name still resolves to the slug. +const fileModel = (m) => (/[/\\]/.test(m) ? m.replace(/[/\\]/g, '-').replace(/[()]/g, '') : m); + +// Where a camera lands in the library: manufacturer, model, directory, file, slug. +function dtlTarget(c) { + const info = brandInfo(c.brand); + const manufacturer = info.name; + const model = info.modelPrefix ? `${info.modelPrefix} ${c.model}` : c.model; + let fname = info.modelPrefix ? `${info.modelPrefix}-${fileModel(c.model)}` : fileModel(c.model); + if (info.lowerFile) fname = fname.toLowerCase(); + const dir = info.dir || manufacturer; + return { + manufacturer, model, dir, + file: path.join('device-types', dir, `${fname}.yaml`), + slug: `${slugifyManufacturer(manufacturer)}-${slugifyModel(model)}`, + }; +} + +// Warn before creating a manufacturer the library may already have under another +// name: brand starts with / contains an existing manufacturer directory name, or +// existing library files already use the brand (or its trailing words) as a model prefix. +function checkNewManufacturers(targets) { + if (!DTL) { + console.error('notice: no devicetype-library clone found (pass --dtl ); skipping the existing-manufacturer check'); + return; + } + const root = path.join(DTL, 'device-types'); + const dirs = fs.readdirSync(root).filter((d) => fs.statSync(path.join(root, d)).isDirectory()); + const norm = (s) => s.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim(); + const have = new Set(dirs.map((d) => d.toLowerCase())); + const seen = new Set(); + for (const t of targets) { + if (seen.has(t.dir) || have.has(t.dir.toLowerCase())) continue; + seen.add(t.dir); + const b = norm(t.manufacturer); + for (const d of dirs) { + const dn = norm(d); + if (dn.length < 3 || dn === b) continue; + if (` ${b} `.includes(` ${dn} `)) { // whole words: "Cisco Meraki" ⊃ "Cisco", not "Digital" ⊃ "Digi" + console.error(`WARNING: new manufacturer "${t.manufacturer}" starts with or contains existing library manufacturer "${d}" — map it in BRAND_OVERRIDE (manufacturer + modelPrefix) if it is a sub-brand`); + } + } + // Brand words as a model-file prefix elsewhere ("Meraki-MR36.yaml" under Cisco). + const words = b.split(' '); + const prefixes = words.map((_, i) => words.slice(i).join('-')).filter((p) => p.length >= 3); + for (const d of dirs) { + const hits = fs.readdirSync(path.join(root, d)) + .filter((f) => prefixes.some((p) => f.toLowerCase().startsWith(`${p}-`))); + if (hits.length) { + console.error(`WARNING: new manufacturer "${t.manufacturer}": ${hits.length} file(s) in device-types/${d}/ already use it as a model prefix (e.g. ${hits[0]})`); + } + } + } +} + // Mirror devicetype-library's exact slug rules (tests/device_types.py) — the // ordered replace chains must match theirs char-for-char, or their CI rejects // the slug (e.g. a model like "…2UY/SL" must slugify to "…2uy-sl", not "…2uysl"). @@ -120,12 +203,11 @@ function toYaml(c) { // would fabricate a nonexistent DC-terminal port on a PoE-only device. const dcV = hasDc ? dcVoltage(method) : null; const draw = c.power && c.power.consumption_w; - const mfr = brandInfo(c.brand).name; - const slug = `${slugifyManufacturer(mfr)}-${slugifyModel(c.model)}`; + const { manufacturer: mfr, model, slug } = dtlTarget(c); const L = ['---']; // devicetype-library's yamllint requires the document-start marker L.push(`manufacturer: ${yamlStr(mfr)}`); - L.push(`model: ${yamlStr(c.model)}`); + L.push(`model: ${yamlStr(model)}`); L.push(`slug: ${slug}`); L.push(`part_number: ${yamlStr(c.model)}`); L.push(`u_height: 0`); @@ -192,21 +274,23 @@ if (REPORT) { process.exit(0); } +checkNewManufacturers(cams.map(dtlTarget)); + +if (PLAN) { + for (const c of cams) { + const t = dtlTarget(c); + const note = SPEED_TYPE[c.network && c.network.ethernet_speed_mbps] ? '' : '\t(skipped: no ethernet speed)'; + console.log(`${c.id}\t${t.manufacturer}\t${t.model}\t${t.file}\t${t.slug}${note}`); + } + process.exit(0); +} + let n = 0, skipped = 0; for (const c of cams) { const r = toYaml(c); if (!r) { skipped++; continue; } - const info = brandInfo(c.brand); - const dir = path.join(OUT, 'device-types', info.name); - fs.mkdirSync(dir, { recursive: true }); - // Filename must equal the model or its slug (their CI checks this, case-insensitively). - // Raw model when filesystem-safe (keeps parens, matching library convention); for a - // model with a slash, drop the slash + parens so the name still resolves to the slug. - let fname = /[/\\]/.test(c.model) - ? c.model.replace(/[/\\]/g, '-').replace(/[()]/g, '') - : c.model; - if (info.lowerFile) fname = fname.toLowerCase(); - const file = path.join(dir, `${fname}.yaml`); + const file = path.join(OUT, dtlTarget(c).file); + fs.mkdirSync(path.dirname(file), { recursive: true }); if (fs.existsSync(file)) { console.error(`EXISTS - skip ${file}`); continue; } fs.writeFileSync(file, r.yaml); n++;