DEKCO DC9L
The solar-powered, IP65-rated design delivers wire-free installation with True 2K resolution and a 360-degree pan–tilt to eliminate blind spots. Full-color night vision with integrated spotlights, auto motion tracking, and a built-in siren provide active deterrence when triggered. Best for homeowners who want a self-sustaining outdoor camera that monitors wide areas and deters intruders with both light and sound.
Про цей Camera
Product description .aplus-v2 .aplus-content-wrapper { position: relative; overflow: hidden; } .aplus-v2 .container-with-background-image { width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; } function logShoppableMetrics(moduleName, showsAddToCart) { if (window.ue && window.ue.count) { window.ue.count("aplus:shoppable:" + moduleName + ":addToCart", showsAddToCart ? 1 : 0); } } .aplus-v2 .premium-aplus-module-13 .aplus-carousel-container { position: relative; } .aplus-v2 .premium-aplus-module-13 .aplus-carousel-element { position: relative; width: 100%; } .aplus-v2 .premium-aplus-module-13 .aplus-card-link-button { text-align: center; padding-top: 20px; } .aplus-v2 .premium-aplus-module-13 .aplus-text-background, .aplus-v2 .premium-aplus-module-13 .aplus-text-background h1, .aplus-v2 .premium-aplus-module-13 .aplus-text-background h5, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ol .a-list-item, .aplus-v2 .premium-aplus-module-13 .aplus-text-background ul .a-list-item { color: #fff; } /** * Premium-module 11: FAQs - Common Styles (All Devices) */ .aplus-v2 .premium-aplus-module-11 { background: #fff; position: relative; } .aplus-v2 .premium-aplus-module-11.aplus-secondary-color { background: #000; } .aplus-v2 .premium-aplus-module-11 .aplus-question, .aplus-v2 .premium-aplus-module-11 .aplus-answer { display: block; width: 100%; margin: 0; } .aplus-v2 .premium-aplus-module-11 .aplus-answer { visibility: hidden; opacity: 0; height: 0; transition: display 0.1s linear, opacity 0.1s linear, height 0.1s linear; transition-behavior: allow-discrete; } .aplus-v2 .premium-aplus-module-11 .aplus-active .aplus-answer { visibility: visible; opacity: 1; height: auto; height: calc-size(auto); min-height: 40px; } .aplus-v2 .premium-aplus-module-11 .faq-list { margin: 0; } .aplus-v2 .premium-aplus-module-11 .faq-block { position: relative; list-style-type: none; cursor: pointer; border: 2px solid #E6E6E6; background: #fff; border-radius: 3px; margin-bottom: 10px; } .aplus-v2 .premium-aplus-module-11.aplus-secondary-color .faq-block { border: none; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before, .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { text-align: center; border-radius: 3px; display: inline-block; font-weight: 500; position: absolute; color: #fff; top: 10px; left: 10px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .aplus-question::before, html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { right: 10px; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before { content: "Q"; background: #505050; transition: background 0.1s linear; z-index: 2; } .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { content: "A"; background: #DF7600; color: #000000; z-index: 1; transform: translateY(0px); transition: transform 0.1s linear; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active .aplus-question::before { background: #404040; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active .aplus-answer::before { transform: translateY(40px); } .aplus-v2 .premium-aplus-module-11 .faq-arrow { position: absolute; top: 25px; border: 10px solid transparent; border-top-color: #505050; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-arrow { right: auto; } .aplus-v2 .premium-aplus-module-11 .aplus-active .faq-arrow { top: 15px; border-top-color: transparent; border-bottom-color: #404040; } .aplus-v2 .premium-aplus-module-2 .premium-background-wrapper { position: relative; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper { position: absolute; width: 50%; height: 100%; top: 0; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right { left: 50%; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right { left: auto; right: 50%; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.secondary-color { color: #fff; } .aplus-v2 .premium-aplus-module-2 .premium-intro-background { padding: 20px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-topic { padding-bottom: 10px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-heading { padding-bottom: 20px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-description { line-height: 1.5em; } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.white-background { background: rgba(255,255,255,0.5); } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background { background: rgba(0,0,0,0.5); } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h1, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h5, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol .a-list-item, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul .a-list-item { color: #fff; } .aplus-v2 .premium-aplus-module-2 .premium-intro-content-container { display: table; height: 100%; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container { padding-left: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container { padding-left: 0px; padding-right: 40px; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container { padding-right: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container { padding-right: 0px; padding-left: 40px; } .aplus-v2 .premium-aplus-module-2 .premium-intro-content-column { display: table-cell; vertical-align: middle; } /** * Common event handler for click and keydown events. * @param {Event} event - The event object. * @param {Function} handleClickOrEnter - Function to handle click or Enter key events. * @param {Function} handleEsc - Function to handle Esc key events. */ // [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const SPACE_KEY_CODE = 32; const isClick = event.type === 'click'; const isKeydown = event.type === 'keydown'; const isEnter = isKeydown && event.keyCode === ENTER_KEY_CODE; const isSpace = isKeydown && event.keyCode === SPACE_KEY_CODE; const isEsc = isKeydown && event.keyCode === ESCAPE_KEY_CODE; if (isClick || isEnter || isSpace) { handleClickOrEnterOrSpace(); } else if (isEsc) { handleEsc(event); } } /** * Function to handle esc key event. * @param {Event} event - The event object. */ function handleEsc(event) { event.target.blur() // force remove focus } /** * Premium modules global styles */ .aplus-v2.desktop { max-width: 1464px; min-width: 800px; margin-left: auto; margin-right: auto; word-wrap: break-word; overflow-wrap: break-word; word-break: break-word; } /* Undo this for tech-specs because it breaks table layout */ .aplus-v2.desktop .premium-aplus .aplus-tech-spec-table { word-break: initial; } .aplus-v2 .premium-aplus, .aplus-v2 .premium-aplus .aplus-h1, .aplus-v2 .premium-aplus .aplus-h2, .aplus-v2 .premium-aplus .aplus-p1, .aplus-v2 .premium-aplus .aplus-p2, .aplus-v2 .premium-aplus .aplus-p3, .aplus-v2 .premium-aplus .aplus-accent1, .aplus-v2 .premium-aplus .aplus-accent2 { font-family: Arial, sans-serif; } .aplus-v2 .premium-aplus, .aplus-v2 .premium-aplus .aplus-h1, .aplus-v2 .premium-aplus .aplus-h2, .aplus-v2 .premium-aplus .aplus-p1, .aplus-v2 .premium-aplus .aplus-p2, .aplus-v2 .premium-aplus .aplus-p3, .aplus-v2 .premium-aplus .aplus-accent1, .aplus-v2 .premium-aplus .aplus-accent2 { font-family: inherit; } /* type */ .aplus-v2 .premium-aplus .aplus-h1 { font-size: 32px; line-height: 1.2em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-h2 { font-size: 26px; line-height: 1.25em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-h3 { font-size: 18px; line-height: 1.25em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-p1 { font-size: 20px; line-height: 1.3em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-p2 { font-size: 16px; line-height: 1.4em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-p3 { font-size: 14px; line-height: 1.4em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-accent1 { font-size: 16px; line-height: 1.4em; font-weight: 600; } .aplus-v2 .premium-aplus .aplus-accent2 { font-size: 14px; line-height: 1.4em; font-weight: 600; } /* spacing */ .aplus-v2 .aplus-container-1 { padding: 40px; } .aplus-v2 .aplus-container-1-2 { padding: 40px 80px; } .aplus-v2 .aplus-container-2 { padding: 80px; } .aplus-v2 .aplus-container-3 { padding: 40px 0; } /* Display */ .aplus-v2 .premium-aplus .aplus-display-table { display: table; } .aplus-v2 .premium-aplus .aplus-display-table-cell { display: table-cell; } .aplus-v2 .premium-aplus .aplus-display-inline-block { display: inline-block; } /* Aplus display table with min-width 1000px and fill remaining space inside parent */ .aplus-v2.desktop .premium-aplus .aplus-display-table-width { min-width: 1000px; width: 100% } /** * Padding and margin for element should be 10, 20, 40, or 80 px. Considering mini 10, small 20, medium 40, large 80. */ /** * Premium-module 11: FAQs */ .aplus-v2 .premium-aplus-module-11 .aplus-question { line-height: 25px; padding-bottom: 10px; } .aplus-v2 .premium-aplus-module-11 .faq-block { padding: 10px 80px 15px 100px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-block { padding-left: 80px; padding-right: 100px; } .aplus-v2 .premium-aplus-module-11 .faq-block.aplus-active { padding-bottom: 35px; } .aplus-v2 .premium-aplus-module-11 .aplus-question::before, .aplus-v2 .premium-aplus-module-11 .aplus-answer::before { width: 80px; line-height: 40px; font-size: 25px; } .aplus-v2 .premium-aplus-module-11 .faq-arrow { right: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-11 .faq-arrow { left: 40px; } (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.now('premium-module-11-faq').execute(function(init) { if (init) { return; } P.register('premium-module-11-faq', function() { return function() { P.when('A', 'jQuery', 'ready').execute(function(A, $){ function initFaq(module) { const MODULE_CLASS_NAME = 'premium-aplus-module-11'; const FAQ_CONTAINER_CLASS_NAME = 'faqs-container'; const FAQ_BLOCK_CLASS_NAME = 'faq-block'; const moduleId = $(module).data('faq-block'); const $faqBlocks = $('.aplus-v2 .' + MODULE_CLASS_NAME + ' .' + FAQ_CONTAINER_CLASS_NAME + '.' + moduleId + ' .' + FAQ_BLOCK_CLASS_NAME); /** * Function to handle click or Enter or Space key events. * @param {Element} element - The this object from which the event is dispatched * @param {faqBlocks} faqBlocks - List of all the Question and Answer blocks. */ function handleClickOrEnterOrSpace(element, faqBlocks) { const $element = $(element); const isActive = $element.hasClass('aplus-active'); faqBlocks.removeClass('aplus-active'); faqBlocks.find('[data-faq-question]').attr('aria-expanded', 'false'); if (!isActive) { $element.addClass('aplus-active'); $element.find('[data-faq-question]').attr('aria-expanded', 'true'); } } /* Using jQuery event namespace for preventing duplicate binding on twister refresh */ $faqBlocks.unbind('click keydown.premiumAplusModule11ClickHandler').bind('click keydown.premiumAplusModule11ClickHandler', function(event) { handleClickAndKeyEvents(event, () => handleClickOrEnterOrSpace(this, $faqBlocks)); }); } $(".aplus-v2 .premium-aplus-module-11 .faqs-container").each(function(index, module) { initFaq(module); }); }); }; }); }); })); /** * Premium-module 12: Nav Carousel */ .aplus-v2 .premium-aplus-module-12 .aplus-carousel-card { position: relative; width: 100%; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-container { position: relative; } .aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container { /* Match the aspect ratio of the desktop image uploaded via the editor (1464px x 600px) */ padding-top: calc(600 / 1464 * 100%); /* ~40.983% */ height: 0; } .aplus-v2 .premium-aplus-module-12 .aplus-image-carousel-container > div { position: absolute; width: 100%; height: 100%; top: 0; left: 0; } /* Override AUI styles. It poorly attempts to measure the slide heights before waiting until images load. */ .aplus-v2 .premium-aplus-module-12 .a-carousel-viewport { height: 100% !important; } .aplus-v2 .premium-aplus-module-12 .aplus-card-image img { width: 100%; height: auto; } .aplus-v2 .premium-aplus-module-12 .aplus-card-details-wrapper { position: absolute; top: 0; width: 50%; height: 100%; } .aplus-v2 .premium-aplus-module-12 .aplus-card-detail { display: table; width: 100%; height: 100% } .aplus-v2 .premium-aplus-module-12 .card-description { text-align: left; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .card-description { text-align: right; } .aplus-v2 .premium-aplus-module-12 .aplus-table-cell { display: table-cell; vertical-align: middle; } .aplus-v2 .premium-aplus-module-12 .aplus-text-background { padding: 20px; } .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color { background: rgba(0, 0, 0, 0.5); } .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h1, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h5, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol .a-list-item, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul .a-list-item { color: #fff; } .aplus-v2 .premium-aplus-module-12 .description { margin-top: 20px; } /* nav */ .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions { position: absolute; top: 20px; width: 100%; text-align: center; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn { display: inline-block; margin: 7px 10px; cursor: pointer; border-radius: 30px; border: 2px solid #000; line-height: 2.5em; min-width: 200px; background-color: #fff; white-space: nowrap; color: #000; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-index { display: none; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.aplus-active { border-color: #fff; background-color: #000; color: #fff; } /** * Regimen template specific css */ html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen { text-align: right; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen { text-align: right; top: 50%; width: 250px; right: 75px; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen { text-align: left; top: 50%; left: 75px; right: auto; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen { display: inline-block; margin: 10px 10px; cursor: pointer; border-radius: 30px; border: 2px solid #000; width: 220px; background-color: #fff; padding: 2px 0 2px; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active { border-color: #fff; background-color: #000; color: #fff; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-index { color: inherit; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-label { color: inherit; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index { display: inline-block; width: 12px; color: #000; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-label { color: #000; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index { margin-left: 0px; margin-right: 6px; } .aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen { position: absolute; top: 0; left: 0; width: 100%; background-color: #000; opacity: 0.5; text-align: center; } .aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen .aplus-headline { color: #fff; line-height: 2em; } /** * Navigation template specific css */ .aplus-v2 .premium-aplus-module-12--top-nav .aplus-carousel-actions { background-color: rgba(0, 0, 0, 0.8); top: 0px; } .aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn { padding: 8px; color: #fff; background-color: transparent; border: none; } .aplus-v2 .premium-aplus-module-12--top-nav .aplus-goto-btn.aplus-active { text-decoration: underline; text-underline-offset: 0.8em; text-decoration-thickness: 3px; background-color: transparent; border: none; } /** * Premium-module 13: Carousel */ .aplus-v2 .premium-aplus-module-13 .aplus-card-description-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .aplus-v2 .premium-aplus-module-13 .aplus-card-description { display: table; width: 50%; height: 100%; color: #fff; } .aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell { display: table-cell; vertical-align: middle; text-align: left; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-13 .aplus-card-table-cell { text-align: right; } .aplus-v2 .premium-aplus-module-13 .aplus-text-background { background: rgba(0, 0, 0, 0.6); } .aplus-v2 .premium-aplus-module-13 .aplus-card-body { padding: 20px 40px 0 0; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-13 .aplus-card-body { padding: 20px 0 0 40px; } .aplus-v2 .premium-aplus-module-13 .aplus-pagination-wrapper { position: absolute; top: 92%; width: 100%; } (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.now('premium-module-12-nav-carousel').execute(function(init) { if (init) { return; } P.register('premium-module-12-nav-carousel', function(){ return function() { P.when('A', 'jQuery', 'a-carousel-framework', 'ready').execute(function (A, $, framework) { function initiateCarousel(module) { var MODULE_ID = $(module).data('module-id'); /** * Carousel button element classname * @const */ var GOTO_BTN_CLASS_NAME = "aplus-goto-btn-" + MODULE_ID; /** * Carousel button element active classname * @const */ var GOTO_BTN_ACTIVE_CLASS_NAME = "aplus-active"; /** * AUI name for aui carousel * @const */ var CAROUSEL_NAME = "premium-aplus-12-carousel-" + MODULE_ID; /** * Module class name * @const */ var MODULE_CLASS_NAME = ".aplus-v2 .premium-aplus-module-12"; /** * Carousel text container class name * @const */ var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + " .aplus-carousel-text-container-" + MODULE_ID; /** * Carousel text hidden class name * @const */ var TEXT_CONTAINER_HIDDEN = "aplus-hidden"; /** * Carousel horizontal scroll container class name * @const */ var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + " .aplus-horizontal-scroll-container-" + MODULE_ID; function showCarouselText(oldIndex, newIndex) { var oldClass = TEXT_CONTAINER_CLASS_NAME + "-" + oldIndex; var newClass= TEXT_CONTAINER_CLASS_NAME + "-" + newIndex; $(oldClass).addClass(TEXT_CONTAINER_HIDDEN); $(newClass).removeClass(TEXT_CONTAINER_HIDDEN); } function scrollToCarouselButton(scrollLeft) { if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) { $(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}, 200); } } /** * Creates a CarouselButton class for provided carousel instance * @param {object} carousel - AUI Carousel instance * @returns {Class} - CarouselButton Class */ function CarouselButtonTemplate(carousel) { /** * Button for controlling the active slide * @constructor * @param {number} index - slide index * @param {DOMElement} [elem] - optional DOM element to use as this objects DOM representation */ function CarouselButton(index, elem) { var self = this; this.index = index; this.carousel = carousel; /* create the button element */ this.elem = this.getElem(elem); this.$elem = $(this.elem); /* store jquery version */ this.elem.addEventListener('click', self.handleClick.bind(self)); this.elem.setAttribute('role', 'tab'); /* add this object to the object manager */ CarouselButton.objects.byId[index] = this; CarouselButton.objects.all.push(this); } /** * Describe behavior for click events on this.elem * @memberOf CarouselButton */ CarouselButton.prototype.handleClick = function(e) { e.preventDefault(); this.carousel.gotoPage(this.index); }; /** * Enter active state * @memberOf CarouselButton */ CarouselButton.prototype.activate = function() { this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'true'); }; /** * Enter inactive state * @memberOf CarouselButton */ CarouselButton.prototype.deactivate = function() { this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'false'); }; /** * Returns an existing or creates a new bound element for this object * @memberOf CarouselButton * @param {DOMElement} [elem] - optionally provide an existing element in the DOM to use * @returns {DOMElement} - this objects DOM representation */ CarouselButton.prototype.getElem = function(elem) { if (this.elem) return this.elem; if (elem) return elem; var createdElem = document.createElement('span'); createdElem.className = GOTO_BTN_CLASS_NAME; return createdElem; }; /** @const Object manager */ CarouselButton.objects = { byId: {}, all: [], }; return CarouselButton; } framework.onInit(CAROUSEL_NAME, function(carousel) { /** @const {Class} */ var CarouselButton = CarouselButtonTemplate(carousel); /* create carousel controls */ var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME)); var btns = $carouselBtns.map(function(i, btnElem) { return new CarouselButton(i + 1, btnElem); }); /* activate first one */ CarouselButton.objects.byId[1].activate(); /* Listen to slide changes */ A.on("a:carousel:" + CAROUSEL_NAME + ":change:pageNumber", function (data) { var newCarouselButton = CarouselButton.objects.byId[data.newValue]; var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue('margin-left')); var positionLeft = newCarouselButton.elem.offsetLeft - marginLeft; newCarouselButton.activate(); CarouselButton.objects.byId[data.oldValue].deactivate(); scrollToCarouselButton(positionLeft); showCarouselText(data.oldValue, data.newValue); }); }); /** * @returns {string} - css classname prefixed with module selector */ function safeClassSelector(className) { return '.' + MODULE_CLASS_NAME + ' .' + className; } } $('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index, module) { initiateCarousel(module); }); framework.createAll(); framework.initializeAll(); }); } }) }); })); <img alt="solar security cameras wireless outdoor" src="https://m.media-amazon.com/images/S/aplus-media-library-service-media/d33cc575-0a34-44f0-87ec-e7dc99885326.__CR0,0,1464,600_PT0_SX1464_V1___.jpg"/> Previous page Next page 1 360° Full Coverage 2 Motion Tracking 3 Real 2K Resolution 4 Enhanced Night Vision 5 Light & Siren Alarm (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-12-nav-carousel').execute(function(init){ init(); }); })); Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-2").execute(function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-2", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "2"; var carouselName = "premium-aplus-13-carousel-2"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-2").execute(function(init){init();}); })); Previous page Next page 1 2-Way Talk 2 Instant Alerts 3 Voice Commands 4 Share Camera 5 Smart Playback (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-12-nav-carousel').execute(function(init){ init(); }); })); Previous page Next page .aplus-mantle.aplus-module .aplus-pagination-dots { margin: 0; } .aplus-mantle.aplus-module .aplus-pagination-dot { display: inline-block; list-style: none; } .aplus-mantle.aplus-module .aplus-carousel-nav { text-align:center; } .aplus-mantle.aplus-module .carousel-slider-circle { display: inline-block; cursor: pointer; height: 15px; width: 15px; border: 1px solid #000; border-radius: 20px; background-color: #fff; margin-left: 5px; } .aplus-mantle.aplus-module .carousel-slider-circle.aplus-carousel-active { background-color: #DE7921; } .aplus-mantle.aplus-module .aplus-pagination-dot--display-none { display: none; } P.now("premium-aplus-13-carousel-4").execute(function(init) { if (init) { return; } P.register("premium-aplus-13-carousel-4", function() { return function() { P.when("A", "jQuery", "a-carousel-framework", "ready").execute("paginate-carousel", function (A, $, framework) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const LEFT_ARROW_KEY = 37; const RIGHT_ARROW_KEY = 39; const HOME_KEY = 36; const END_KEY = 35; var moduleId = "4"; var carouselName = "premium-aplus-13-carousel-4"; var paginationAction = "aplus-pagination-dot-action-" + moduleId + "-" + carouselName; var paginationGroup = "#aplus-pagination-group-" + moduleId + "-" + carouselName; /* If the carousel goes to a new page */ A.on("a:carousel:"+carouselName+":change:pageNumber", function (data) { A.$(paginationGroup+" .carousel-slider-circle").removeClass("aplus-carousel-active").attr('aria-selected', 'false').attr('tabindex', -1) .eq(data.newValue - 1).addClass("aplus-carousel-active").attr('aria-selected', 'true').attr('tabindex', 0); }); function syncPaginationDotsWithCarouselPages(numPages) { const parentElement = document.querySelector(paginationGroup); if (parentElement && parentElement.children) { const children = parentElement.children; for (let i = 0; i < children.length; i++) { if (i >= numPages) { // If number of dots > num of pages, we should hide other dots children[i].classList.add('aplus-pagination-dot--display-none'); } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) { // Reset display of dots if it was hidden before children[i].classList.remove('aplus-pagination-dot--display-none'); } } } } framework.onInit(carouselName, function (carousel) { try { var totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); /* Resize event handler to re-calculate the pagination dots count based on orientation */ window.addEventListener('resize', function() { carousel.resize(); totalPages = carousel.getAttr('totalPages'); syncPaginationDotsWithCarouselPages(totalPages); }); A.declarative(paginationAction, 'click keydown', function(event){ var isClick = event.type === 'click'; var isKeydown = event.type === 'keydown'; var isEnter = isKeydown && event.$event.keyCode === ENTER_KEY_CODE; var isEsc = isKeydown && event.$event.keyCode === ESCAPE_KEY_CODE; var isLeftArrow = isKeydown && event.$event.keyCode === LEFT_ARROW_KEY; var isRightArrow = isKeydown && event.$event.keyCode === RIGHT_ARROW_KEY; var isHome = isKeydown && event.$event.keyCode === HOME_KEY; var isEnd = isKeydown && event.$event.keyCode === END_KEY; if (isClick || isEnter) { var data = event.data; carousel.gotoPage(data.page); } else if (isEsc) { event.$target.blur(); } else if (isLeftArrow || isRightArrow || isHome || isEnd) { event.$event.preventDefault(); const dots = A.$(paginationGroup + " .carousel-slider-circle"); const currentIndex = dots.index(event.$target); let nextIndex; if (isLeftArrow) { nextIndex = currentIndex > 0 ? currentIndex - 1 : dots.length - 1; } else if (isRightArrow) { nextIndex = currentIndex < dots.length - 1 ? currentIndex + 1 : 0; } else if (isHome) { nextIndex = 0; } else if (isEnd) { nextIndex = dots.length - 1; } dots.eq(nextIndex).focus(); carousel.gotoPage(nextIndex + 1); } }); } catch (e) { P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources'); } }); }); } }); }); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when("premium-aplus-13-carousel-4").execute(function(init){init();}); })); Which App does it use? Where to download it? App is "Dekco", and you can download it on App Store or Google Play. Does it 24/7 continuously recording? This security camera records event only after movement is detected. Does it support 2.4G/5Ghz dual band Wi-Fi? Only 2.4Ghz. When you are setting up the security camera, it will scan out the 2.4Ghz WiFi with the help of the bluetooth from your phone, and the camera will be paired quickly with just one tap. Does it has any fees for recording and any other features? No fees for using any features. You just need a micro SD card for local storage. Does it automatically track if any movement is detected? Yes. Human motion auto tracking is turned off by default, you can turn it on manually according to the installation environment. (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-11-faq').execute(function(init){ init(); }); }));
- 360 Degree Coverage - Say goodbye to blind spots with Enhanced Panorama PTZ. With just a tap on the panorama, and the solar security camera will rotate to the corresponding position.
- Auto Motion Tracking - Follow the person to record more detailed video. Enjoy peace of mind knowing that your property is under great surveillance.
- True 2K QHD Vision - Features in upgraded true 2K resolution to capture crystal-clear faces and license plates so you know exactly who is coming and going.
- Full Color Night Vision - The spotlights leaves no detail unseen and ensures vibrant and clear night vision. Ideal for nighttime security and enhancing object recognition precision.
- Integrated Smart Alarm - This outdoor security camera features smart spotlights and powerful siren to deter unwelcome visitors and provide an extra layer of security.
- Wireless Flexibility & Solar Powered - Eliminate the hassle of wired installation and install wherever you need. With just a few hours of direct sunlight and built-in battery, you will get all-day and all-night power.
- Designed for Extremes - IP65 weatherproof. Rain, snow, or shine, DEKCO camera are made for the outdoors.
- 2-Way Talk - Speak in real-time through the camera to stay in touch at any moment. The integrated voice-changing feature easily disguises your voice for an added level of security.
- Real-Time Notification Quickview - Get instant snapshot notifications with DEKCO App so you can quickly assess and address the situation.
- Connected Family Security - Keep your home and family safe by easily sharing access with those who matter most. Never miss a thing and stay protected together.
The 30-Second Version
With an APS-H sensor ranking in the 95th percentile for its class, the DEKCO DC9L is an oddball solar security camera that stumbled into our action cam tests. It's fantastic for wireless outdoor monitoring with crisp 2K video, but its harsh vlogging score of 19.9 and janky autofocus make it a non-starter for creative work. For $130, the panoramic PTZ and solar convenience outweigh the connectivity hiccups, as long as you accept its true calling as a porch guardian.
Overview
The DEKCO DC9L sits at a bizarre intersection: a solar-powered outdoor security camera that somehow landed in our action camera database with an APS-H sensor, a chip that lands in the absolute best right now territory for its class. It's a spec sheet you'd see on a professional DSLR, not a $130 porch watcher. Weighing in at a tanky 2041g and boasting IP65 weather sealing, the build quality scores in the 87th percentile, which makes sense once you realize this thing is built to be bolted outside year-round. But looking past the security-focused features, this camera's photography chops are... not its strong suit. Our database shows a vlogging score of just 19.9 out of 100, so if you're hoping to mount this on a gimbal and walk the streets, please reconsider.
Performance
The APS-H sensor is the star of the show, sitting in the 95th percentile for action cameras. That's an enormous imaging area for a device that doesn't even have a proper photography app or manual controls. In theory, the dynamic range and low-light gathering potential are way ahead of any GoPro, but the entire image pipeline is tuned for surveillance, not art. The 2K video (that's 4MP, not cinema 4K) falls into a solid middle-of-the-pack position at the 45th percentile. The autofocus and stabilization scores sink to 34th and 32nd percentiles respectively, which is disappointing for a camera with such a nice sensor. Our burst rate measurement scraped the bottom at the 29th percentile, and the fixed display, scoring in the 26th percentile, is basically a tiny non-touch screen meant for initial setup, not composition. Where this device does shine is connectivity (57th percentile, about average) and the solar-powered battery, which matches the median for action cams but won't be covering full-day intensive recording sessions.
Pros & Cons
Pros
- That APS-H sensor is a top-shelf 95th percentile beast, even if criminally underused 95th
- Build quality and weather sealing score in the 87th percentile, rock-solid for years outside 87th
- Recurring user praise for clear 2K video and easy wireless setup 73th
- Solar-powered design effectively eliminates wiring, confirmed by many owners
- Two-way talk, color night vision, and auto motion tracking work well for security
Cons
- Vlogging score of 19.9 — no stabilization, clunky AF, and a fixed display 26th
- Mechanical pan failures reported after months, even with good customer support 28th
- Wi-Fi disconnects during idle periods, a common gripe among verified buyers 29th
- Weight of 2041g and form factor make it unusable as a portable camera 32th
- No SD card included, plus slow read speeds for locally stored events
The Word on the Street
Specifications
Full Specifications
Sensor
| Size | APS-H |
Video
| Max Resolution | 4K |
Build
| Weather Sealed | Yes |
| Weight | 2.0 kg / 4.5 lbs |
Connectivity
| Wi-Fi | Yes |
| Bluetooth | Yes |
Value & Pricing
At $130 to $153 across vendors, you're buying a solar PTZ security cam that just happens to carry a monstrous APS-H sensor. For actual camera duties, you'd get slaughtered by any used mirrorless body at that price. But if your goal is a weather-sealed, wire-free surveillance setup with auto tracking and two-way audio, the DEKCO delivers a feature set that's tough to beat for the money. User feedback is largely positive, especially about the customer support stepping in when hardware fails. Just don't expect to use it as a photo tool — 44.8 for product photography is well below average.
vs Competition
If we look at our database's nearest competitors, the Pentax K-3 Mark III boasts a similar APS-C sensor size and infinitely better camera controls, but runs you ten times the cost and won't monitor your driveway. The Fujifilm X-T50 and Panasonic G85 are far superior for travel and photography, scoring in the 80s for those use cases, while the DEKCO sits at 38.7 for travel. Even the Sony Alpha 6100, a budget mirrorless champ, wipes the floor with the DC9L in autofocus and burst shooting. The trade-off is simple: the DEKCO is a security system disguised as a camera, while the others are cameras that can't watch your packages.
| Spec | DEKCO DC9L | Canon EOS R EOS R6 Mark III | Pentax K-3 K-3 Mark III | Fujifilm X-T50 X-T50 | Panasonic LUMIX G85 DMC-G85MK | Sony Alpha 6100 |
|---|---|---|---|---|---|---|
| Type | action | mirrorless | DSLR | mirrorless | mirrorless | Mirrorless |
| Sensor | - | 32.5MP full-frame | 25.7MP aps-c | 40.2MP aps-c | 16MP micro-four-thirds | 25MP APS-C |
| AF Points | - | 1053 | 101 | 117 | 49 | 425 |
| Burst FPS | - | 40 | 12 | 13 | 10 | 11 |
| Video | 4K | 6K @120fps | 4K @30fps | 6K @60fps | 4K @30fps | 4K @30fps |
| IBIS | false | true | true | true | true | false |
| Weather Sealed | true | true | true | false | true | false |
| Weight (g) | 2041 | 609 | 712 | 389 | 408 | 397 |
| Compare | Compare | Compare | Compare | Compare |
| Product | Af | Evf | Build | Burst | Video | Sensor | Battery | Display | User Sentiment | Connectivity | Social Proof | Stabilization |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DEKCO DC9L | 33.7 | 36.1 | 87 | 29.1 | 45.8 | 95.2 | 44.9 | 26 | 27.5 | 57.4 | 73.4 | 32.4 |
| Canon EOS R EOS R6 Mark III Compare | 98.4 | 88 | 94.9 | 93.1 | 89.6 | 58.8 | 96.6 | 99.2 | 92.9 | 93.3 | 94.6 | 99.5 |
| Pentax K-3 K-3 Mark III Compare | 74.9 | 76.1 | 97.3 | 72 | 58.7 | 90.1 | 98.8 | 56.5 | 0 | 93.3 | 94.6 | 84.7 |
| Fujifilm X-T50 X-T50 Compare | 77.7 | 74.9 | 16.8 | 79.9 | 92.2 | 97.1 | 44.9 | 84.3 | 42.3 | 93.3 | 94.6 | 93.5 |
| Panasonic LUMIX G85 DMC-G85MK Compare | 65.1 | 77.1 | 90.8 | 81.1 | 66.3 | 9.6 | 98.8 | 84.3 | 0 | 76.3 | 94.6 | 84.7 |
| Sony Alpha 6100 Compare | 88.1 | 75.6 | 17.2 | 74.8 | 58.7 | 89.9 | 90.7 | 61.1 | 0 | 77.3 | 94.6 | 32.4 |
Common Questions
Q: Does the DEKCO DC9L work on 5GHz Wi-Fi networks?
All signs point to 2.4GHz only. The connectivity ranking sits at the 57th percentile, average for this class, and user comments frequently mention ensuring a solid 2.4GHz signal to avoid those idle disconnection issues.
Q: Can I record continuously, or is it motion-triggered only?
This camera is built around motion events. While the 2K video falls at the 45th percentile for action cams, owners confirm it activates and records clips when it detects movement, helping conserve battery and storage.
Q: How good is the night vision in total darkness?
It uses integrated spotlights for full-color night vision, unlike basic infrared-only cams. The video quality at night gets positive marks from buyers, though with a mid-pack video sensor and no stabilization, expect usable but not cinematic footage.
Who Should Skip This
If you're looking for a vlogging tool, a travel action cam, or anything that requires decent autofocus and image stabilization, move along. The paltry 19.9 vlogging score and bottom-30% burst and display rankings scream "not for you." Even for basic photography, a score of 39.6 means your smartphone will embarrass it. And if persistent Wi-Fi hiccups are a dealbreaker, the connectivity woes reported by a slice of users might be too frustrating.
Verdict
Based on our data, the DEKCO DC9L is a compelling but deeply confusing product. For the security-conscious buyer, the numbers tell a positive story: strong build, top-tier sensor for its weird category, and overwhelmingly positive user reviews on the actual cameras' tracking and video clarity. However, the low user sentiment score of 28th percentile reflects the pesky Wi-Fi and longevity issues that sour the experience for a fraction of owners. If you're after a dedicated camera for photography or vlogging, walk away. If you need a solar outdoor camera with pan-tilt and don't mind occasional babysitting, it's an easy recommendation at this price.