Hollyland Solidcom H1 Wireless Intercom System firmware vComponent 2 4.0.9.13

Hollyland · Released Jun 29, 2026 · First seen Jul 11, 2026

vComponent 2 4.0.9.13 is the latest firmware for the Hollyland Solidcom H1 Wireless Intercom System, released June 29, 2026.

What's in this update

Routine software updates.

Device version information need to be matched Geo Central Station:3.1.0.17 Solidcom ANT01: 4.0.9.13 Beltpack: 4.1.2.01 Charging Dock: 4.0.3.02 Upgrade Manual Product Wireless Microphones Video Transmission Systems Intercom Systems Camera Monitors Streaming Cameras Solutions Wireless Intercom System Wireless Microphone Explore Online Activities Offline Events Hollyland Blog Creator Resources Newsroom Video Center Support Download Product Support Where to Buy Become a Reseller Reseller After-sales Entry Repair Progress Inquiry About Us Forum Who We Are Contact Us Compliance Securit​y Reporting Software Updates Subscribe Get the latest news from Hollyland Please enable JavaScript in your browser to complete this form.

Email * Subscribe SiteMap Privacy Policy Terms and Conditions Copyright© Hollyland All Rights Reserved. .back-top-btn { width: 54px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background-color: #fff; box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.08); transition: background-color 0.3s ease; border: none; padding: 0; } .back-top-btn svg { width: 20px; height: 20px; flex-shrink: 0; } .back-top-btn svg path { transition: stroke 0.3s ease; } .back-top-btn: hover { background-color: #E2211C; } .back-top-btn: hover svg path { stroke: #fff; } @media (max-width: 768px) { .back-top-btn: hover { background-color: #fff; } .back-top-btn: hover svg path { stroke: #262626; } .back-top-btn: active { background-color: #E2211C; } .back-top-btn: active svg path { stroke: #fff; } }

US

{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/understrap-child/*","/wp-content/themes/understrap/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} (function() { // 1.

Check conditions: iPhone with Safari version ≥26.0 function shouldApplyFix() { const ua = navigator.userAgent.toLowerCase(); const isiPhone = /iphone/.test(ua); // Extract Safari version number const safariVersionMatch = ua.match(/version\/(\d+\.\d+)/); const safariVersion = safariVersionMatch ? parseFloat(safariVersionMatch[1]) : 0; // Return true if both conditions are met return isiPhone && safariVersion >= 26.0; } // 2.

Create the fix element function createFixElement() { const fixDiv = document.createElement('div'); fixDiv.id = 'ios-safari-26-fix'; fixDiv.style.cssText = ` position: fixed; top: 0; left: 0; right: 0; display: none; /* Initially hidden */ width: 100vw; height: 48px; pointer-events: none; z-index: 1; `; const innerDiv = document.createElement('div'); innerDiv.style.cssText = ` background-color: #fff !important; height: 100vh; `; fixDiv.appendChild(innerDiv); document.body.appendChild(fixDiv); return fixDiv; } // 3.

Create and add CSS media query styles function addFixStyles() { const styleId = 'ios-safari-26-fix-styles'; // Remove existing styles if any (to avoid duplicates) const existingStyle = document.getElementById(styleId); if (existingStyle) { existingStyle.remove(); } // Create new style element const styleElement = document.createElement('style'); styleElement.id = styleId; styleElement.textContent = ` @media screen and (max-width: 991px) { .hl-header .navbar .btn, .hl-header .navbar > .container .navbar-toggler { position: relative; z-index: 2; } .hl-header .navbar > .container .navbar-collapse .navbar-logo { z-index: 1000; } .hl-header .navbar > .container .navbar-collapse { z-index: 1; } } `; // Add style element to head document.head.appendChild(styleElement); } // 4.

Remove CSS styles if they exist function removeFixStyles() { const styleId = 'ios-safari-26-fix-styles'; const existingStyle = document.getElementById(styleId); if (existingStyle) { existingStyle.remove(); } } // 5.

Set up observer to monitor class changes on navbarHeaderContent function setupObserver() { const targetElement = document.getElementById('navbarHeaderContent'); if (!targetElement) { console.warn('Element with ID "navbarHeaderContent" not found.

Cannot monitor class changes.'); return null; } // Get or create the fix element let fixElement = document.getElementById('ios-safari-26-fix'); if (!fixElement) { fixElement = createFixElement(); } // Create MutationObserver to monitor class changes const observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.attributeName === 'class') { const hasShowClass = targetElement.classList.contains('show'); // Only control visibility if device conditions are met if (shouldApplyFix()) { fixElement.style.display = hasShowClass ? 'block' : 'none'; } else { fixElement.style.display = 'none'; } } }); }); // Start observing observer.observe(targetElement, { attributes: true }); // Perform initial check const initialHasShowClass = targetElement.classList.contains('show'); if (shouldApplyFix() && initialHasShowClass) { fixElement.style.display = 'block'; } else { fixElement.style.display = 'none'; } return observer; } // 6.

Initialize function init() { // Only execute if device conditions are met if (shouldApplyFix()) { console.log('iPhone with Safari version ≥26.0 detected.

Applying viewport fix.'); // Add CSS styles addFixStyles(); // Setup observer for navbar setupObserver(); } else { // Remove existing fix element if conditions are not met const existingFix = document.getElementById('ios-safari-26-fix'); if (existingFix) { existingFix.remove(); } // Remove CSS styles removeFixStyles(); } } // 7.

Ensure execution after DOM is loaded if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();#hollyvox-g51{ display: none; } var IvorySearchVars = {"is_analytics_enabled":"1"}; //# sourceURL=ivory-search-scripts-js-extra {"baseUrl":"https://s.w.org/images/core/emoji/17.0​.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.hollyland.com/wp-includes/js/wp-emoji-release.min.js?ver=7.0.1"}} /*!

This file is auto-generated */ const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent), o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"), s=["flag","emoji"];function i(e){try{var t={supportTests: e, timestamp:(new Date).valueOf()};sessionStorage.setItem(o, JSON.stringify(t))}catch(e){}}function c(e, t, n){e.clearRect(0,0, e.canvas.width, e.canvas.height), e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0, e.canvas.width, e.canvas.height).data);e.clearRect(0,0, e.canvas.width, e.canvas.height), e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0, e.canvas.width, e.canvas.height).data);return t.every((e, t)=>e===a[t])}function p(e, t){e.clearRect(0,0, e.canvas.width, e.canvas.height), e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e{s[e]=t(o, e, n, a)}), s}function r(e){var t=document.createElement("script");t.src=e, t.defer=!0, document.head.appendChild(t)}a.supports={everything:!0, everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf(){i(n=e.data), r.terminate(), t(n)})}catch(e){}i(n=f(s, u, c, p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n], a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag, a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji): t.wpemoji&&t.twemoji&&(r(t.twemoji), r(t.wpemoji)))}); //# sourceURL=https://www.hollyland.com/wp-includes/js/wp-emoji-loader.min.js /*/ jQuery(document).ready(function ($) { const footer = $('.hl-footer'); if (footer.length > 0) { const footerLinkHeader = footer.find('.footer-li

updatemystuff.com never hosts firmware files — always download from the official source.

Get it from Hollyland

Watch the Solidcom H1 Wireless Intercom System for updates

Create a free account and get an email the moment Hollyland publishes new firmware.

Create account & watch

Other versions for this product

See the full firmware history for the Solidcom H1 Wireless Intercom System