{"id":30014,"date":"2026-06-11T12:14:06","date_gmt":"2026-06-11T11:14:06","guid":{"rendered":"https:\/\/monta.com\/en\/?page_id=30014"},"modified":"2026-06-23T07:37:51","modified_gmt":"2026-06-23T06:37:51","slug":"ocpp-emulator","status":"publish","type":"page","link":"https:\/\/monta.com\/en\/ocpp-emulator\/","title":{"rendered":"OCPP emulator"},"content":{"rendered":"<section  data-acf-inline-fields-uid=\"block_db1b1c820e574e9aa79f59b6850c2986backgroundtext_sidetext_widthmedia_typeimage_placement_mobile\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;background&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Background&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;},{&quot;fieldName&quot;:&quot;text_side&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Text side&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;},{&quot;fieldName&quot;:&quot;text_width&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Text width&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;},{&quot;fieldName&quot;:&quot;media_type&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Media type&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;},{&quot;fieldName&quot;:&quot;image_placement_mobile&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Media placement mobile&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\" aria-label=\"OCPP emulator: test your OCPP backend without hardware\" class=\"bg-black text-white  rounded-section\" >\n    <div class=\"grid grid-cols-1 md:grid-cols-12 gap-12 items-center\">\n                <div class=\"md:col-span-5\">\n                                    <div class=\"pill-label mb-8 text-white border-white\" data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"pill_label\" data-acf-placeholder=\"Type to edit...\" >\n                Open Source            <\/div>\n                                                    <h1 data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"title\" data-acf-placeholder=\"Type to edit...\"  class=\"h1 mb-10 \">\n                    OCPP emulator: test your OCPP backend without hardware                <\/h1>\n                                                <div class=\"md:hidden block mb-10 \">\n                                    <img decoding=\"async\" title=\"Monta Technology: Analyzing OCPP Logs in a Dutch Context\" alt=\"A person\u2019s hand rests on a laptop displaying a dark screen with OCPP logs, beside a coffee cup featuring the Monta logo.\" src=\"https:\/\/monta.com\/app\/uploads\/sites\/12\/2025\/12\/Mask-group.png\" \/>\n                                                            <\/div>\n                        <div class=\"rich-text \" data-acf-inline-fields-uid=\"block_db1b1c820e574e9aa79f59b6850c2986description\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;description&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Description&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\">\n                <p>Simulate a charge point on your own machine across OCPP 1.6 and 2.0.1, and validate your charging backend before you touch physical hardware. Free, open-source, and built by Monta.<\/p>\n\n            <\/div>\n                                    <a href=\"https:\/\/ocpp-emulator.monta.com\/\" class=\"btn-primary-blue mt-8\">\n                <span data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"button_label\" data-acf-placeholder=\"Type to edit...\" >Download the emulator<\/span>\n            <\/a>\n                                        <a href=\"https:\/\/github.com\/monta-app\/ocpp-emulator\" class=\"btn-outline-white mt-4 ml-0 md:ml-4\" target=\"_blank\" rel=\"noopener\">\n                    View on GitHub\n                <\/a>\n                                <\/div>\n                <div class=\"md:col-span-6 md:col-start-7 justify-items-end hidden md:block\">\n                            <img decoding=\"async\" data-acf-inline-fields-uid=\"block_db1b1c820e574e9aa79f59b6850c2986imagemedia_type\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;image&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Image&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;},{&quot;fieldName&quot;:&quot;media_type&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Media type&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\" title=\"Monta Technology: Analyzing OCPP Logs in a Dutch Context\" class=\"mx-auto max-h-144\" alt=\"A person\u2019s hand rests on a laptop displaying a dark screen with OCPP logs, beside a coffee cup featuring the Monta logo.\"\n                    src=\"https:\/\/monta.com\/app\/uploads\/sites\/12\/2025\/12\/Mask-group.png\" \/>\n                                            <\/div>\n            <\/div>\n<\/section>\n\n\n\n<section data-acf-inline-fields-uid=\"block_a152b0b0c1e04c1785f645227dcc71bfbackground_color\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;background_color&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Background color&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\"  aria-labelledby=\"numberslider-heading-block_a152b0b0c1e04c1785f645227dcc71bf\"  class=\"bg-grey text-black  rounded-section number-slider !pr-0 md:!pr-10\">\n    <div class=\"\">\n                    <div class=\"grid grid-cols-1 md:grid-cols-12 md:mb-31 mb-10\">\n                 <h2  id=\"numberslider-heading-block_a152b0b0c1e04c1785f645227dcc71bf\" data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"title\" data-acf-placeholder=\"Type to edit...\"  class=\"h2 md:col-span-6 mb-7 md:mb-0\">Built for real OCPP development  <\/h2>                 <div class=\"rich-text intro md:col-start-8 md:col-span-5\" data-acf-inline-fields-uid=\"block_a152b0b0c1e04c1785f645227dcc71bfdescription\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;description&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Description&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;600px&quot;}]\" role=\"button\" tabindex=\"0\">\n                    <p>An open-source charge point emulator that covers the protocol versions you actually ship on, on whatever machine you work from.<\/p>\n\n                <\/div>\n            <\/div>\n                        <number-slider data-acf-inline-fields-uid=\"block_a152b0b0c1e04c1785f645227dcc71bfnumber_blocks\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;number_blocks&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Number blocks&quot;,&quot;useExpandedEditor&quot;:true,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\" data-slides='[{\"illustration\":false,\"number\":\"2\",\"number_label\":\"OCPP versions\",\"number_description\":\"OCPP 1.6 and 2.0.1 in one tool\"},{\"illustration\":false,\"number\":\"3\",\"number_label\":\"Ways to run\",\"number_description\":\"Windows, Linux or macOS\"},{\"illustration\":false,\"number\":\"100%\",\"number_label\":\"Open source\",\"number_description\":\"Free to use, inspect, and extend\"},{\"illustration\":false,\"number\":\"167\",\"number_label\":\"GitHub stars\",\"number_description\":\"Backed by Monta and the community\"}]' bg=\"grey\">\n        \n        <\/number-slider>\n    <\/div>\n<\/section>\n\n<section data-acf-inline-fields-uid=\"block_407323539db4c17cefd9d19eb3f1ff6bbackgrounddisable_list_scroll\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;background&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Background&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;},{&quot;fieldName&quot;:&quot;disable_list_scroll&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Disable list scroll&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\"  aria-label=\"Everything you need to exercise your OCPP backend\"  class=\"bg-black text-white  rounded-section\">\n    <div class=\"\">\n                    <div class=\"pill-label text-light-blue border-light-blue mb-10\" data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"pill_label\" data-acf-placeholder=\"Type to edit...\" >Capabilities<\/div>\n        \n        <div class=\"grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-22 h-full\">\n            <div class=\"flex flex-col  md:sticky md:top-25 md:self-start \">\n                <div>\n                     <h2  data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"title\" data-acf-placeholder=\"Type to edit...\"  class=\"h2 mb-6 md:mb-10 col-end-2\">Everything you need to exercise your OCPP backend  <\/h2>                                         <div class=\"rich-text intro md:mb-10 mb-5\" data-acf-inline-fields-uid=\"block_407323539db4c17cefd9d19eb3f1ff6bdescription\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;description&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Description&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;600px&quot;}]\" role=\"button\" tabindex=\"0\">\n                        <p>Drive real OCPP message flows from a charge point you control, and see exactly how your backend responds.<\/p>\n\n                    <\/div>\n                                                            <a href=\"https:\/\/ocpp-emulator.monta.com\/\" class=\"btn-primary-blue mb-8 hidden md:inline-block\">\n                        <span data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"button_text\" data-acf-placeholder=\"Type to edit...\" >Launch the emulator<\/span>\n                    <\/a>\n                                    <\/div>\n                \n            <\/div>\n            \n            \n            <div class=\"h-auto md:pr-6\" data-acf-inline-fields-uid=\"block_407323539db4c17cefd9d19eb3f1ff6blist_items\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;list_items&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;List items&quot;,&quot;useExpandedEditor&quot;:true,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\">\n                                                                                                <div class=\" pb-6 md:pb-8  md:pl-6 md:pr-16 w-full flex flex-row gap-6 md:gap-10 items-start\" style=\" border-bottom: 1px solid; border-image: linear-gradient(to right, rgba(163, 163, 163, 0), rgb(163, 163, 163), rgba(163, 163, 163, 0)) 1; \">\n                                        <div class=\"hidden md:block flex-shrink-0 w-10 h-10\"><\/div>\n                                        <div class=\"flex-1\">\n                                                <h4 class=\"h4  mb-4\">Test your CSMS without physical hardware<\/h4>\n\n                                                <div class=\"rich-text paragraph \">\n                            <p>Spin up a virtual charge point in seconds and point it at your Charge Point Management System (CSMS). No lab, no hardware, no waiting for a spare unit to free up.<\/p>\n\n                        <\/div>\n                                                                    <\/div>\n                <\/div>\n                                                <div class=\" py-6 md:py-8  md:pl-6 md:pr-16 w-full flex flex-row gap-6 md:gap-10 items-start\" style=\" border-bottom: 1px solid; border-image: linear-gradient(to right, rgba(163, 163, 163, 0), rgb(163, 163, 163), rgba(163, 163, 163, 0)) 1; \">\n                                        <div class=\"hidden md:block flex-shrink-0 w-10 h-10\"><\/div>\n                                        <div class=\"flex-1\">\n                                                <h4 class=\"h4  mb-4\">Reproduce buggy charge point behaviour on demand<\/h4>\n\n                                                <div class=\"rich-text paragraph \">\n                            <p>Message interception gives fine-grained control over which OCPP messages are sent and received, so you can replicate non-conformant firmware and reproduce specific edge cases.<\/p>\n\n                        <\/div>\n                                                                    <\/div>\n                <\/div>\n                                                <div class=\" py-6 md:py-8  md:pl-6 md:pr-16 w-full flex flex-row gap-6 md:gap-10 items-start\" style=\"\">\n                                        <div class=\"hidden md:block flex-shrink-0 w-10 h-10\"><\/div>\n                                        <div class=\"flex-1\">\n                                                <h4 class=\"h4  mb-4\">Cover OCPP 1.6 and 2.0.1<\/h4>\n\n                                                <div class=\"rich-text paragraph  mb-10 \">\n                            <p>Switch between protocol versions to match what your hardware estate runs today and what it moves to next, all from the same tool.<\/p>\n\n                        <\/div>\n                                                                            <a href=\"https:\/\/monta.com\/en\/blog\/ocpp\/\" class=\"inline-block btn-tertiary-white\">Read the OCPP guide <svg class=\"inline-block w-4 h-4 ml-1\" viewBox=\"0 0 19 18\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n    <path d=\"M9.03253 17.467C3.50578 17.467 0 13.4869 0 8.7232C0 3.95947 3.48516 0 9.03253 0C14.6005 0 18.0857 3.95947 18.0857 8.7232C18.0857 13.4869 14.5799 17.467 9.03253 17.467ZM1.64978 8.74382C1.64978 12.7858 4.2688 16.0028 9.03253 16.0028C13.8169 16.0028 16.4359 12.7858 16.4359 8.74382C16.4359 4.70187 13.8169 1.46418 9.03253 1.46418C4.2688 1.46418 1.64978 4.70187 1.64978 8.74382ZM4.57813 9.54809V7.93956H11.0741L8.33138 5.23804L9.40373 4.16569L13.9819 8.74382L9.40373 13.322L8.352 12.2702L11.0741 9.54809H4.57813Z\"\/>\n<\/svg><\/a>\n                                            <\/div>\n                <\/div>\n                \n            <\/div>\n                        <a href=\"https:\/\/ocpp-emulator.monta.com\/\" class=\"btn-primary-blue md:hidden block\">\n                <span data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"button_text\" data-acf-placeholder=\"Type to edit...\" >Launch the emulator<\/span>\n            <\/a>\n                    <\/div>\n    <\/div>\n\n<\/section>\n\n<section data-acf-inline-fields-uid=\"block_51962842f066febe72558a00a267ff91backgroundtext_sidetext_width\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;background&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Background&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;},{&quot;fieldName&quot;:&quot;text_side&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Text side&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;},{&quot;fieldName&quot;:&quot;text_width&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Text width&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\" aria-label=\"Up and running in seconds\" class=\"bg-grey text-black  rounded-section\">\n    <div class=\"grid grid-cols-1 md:grid-cols-12 gap-12\">\n                    <div class=\"md:col-span-6 hidden md:block\">\n                        <div\n            data-wp-interactive=\"monta\/textcode\"\n            data-wp-context='{&quot;activeIndex&quot;:0,&quot;copied&quot;:false}'\n            class=\"textcode-card relative bg-black text-white rounded-2xl overflow-hidden shadow-xl\"\n        >\n            <div class=\"flex items-center justify-between gap-4 px-6 pt-5 pb-3 border-b border-white\/10\">\n                <div role=\"tablist\" class=\"flex items-center gap-6 overflow-x-auto min-w-0 flex-1\">\n                                            <button\n                            type=\"button\"\n                            role=\"tab\"\n                            data-wp-context='{&quot;tabIndex&quot;:0}'\n                            data-wp-on--click=\"actions.selectTab\"\n                            data-wp-bind--aria-selected=\"state.isActive\"\n                            data-wp-bind--data-active=\"state.isActive\"\n                            class=\"textcode-tab whitespace-nowrap text-sm font-repro-medium pb-1 border-b-2 border-transparent text-white\/60 hover:text-white transition-colors cursor-pointer data-[active=true]:text-white data-[active=true]:border-primary-blue\"\n                        >\n                            OCPP 1.6                        <\/button>\n                                            <button\n                            type=\"button\"\n                            role=\"tab\"\n                            data-wp-context='{&quot;tabIndex&quot;:1}'\n                            data-wp-on--click=\"actions.selectTab\"\n                            data-wp-bind--aria-selected=\"state.isActive\"\n                            data-wp-bind--data-active=\"state.isActive\"\n                            class=\"textcode-tab whitespace-nowrap text-sm font-repro-medium pb-1 border-b-2 border-transparent text-white\/60 hover:text-white transition-colors cursor-pointer data-[active=true]:text-white data-[active=true]:border-primary-blue\"\n                        >\n                            OCPP 2.0.1                        <\/button>\n                                            <button\n                            type=\"button\"\n                            role=\"tab\"\n                            data-wp-context='{&quot;tabIndex&quot;:2}'\n                            data-wp-on--click=\"actions.selectTab\"\n                            data-wp-bind--aria-selected=\"state.isActive\"\n                            data-wp-bind--data-active=\"state.isActive\"\n                            class=\"textcode-tab whitespace-nowrap text-sm font-repro-medium pb-1 border-b-2 border-transparent text-white\/60 hover:text-white transition-colors cursor-pointer data-[active=true]:text-white data-[active=true]:border-primary-blue\"\n                        >\n                            macOS app                        <\/button>\n                                    <\/div>\n                <button\n                    type=\"button\"\n                    data-wp-on--click=\"actions.copyCode\"\n                    data-wp-bind--aria-label=\"state.copyAriaLabel\"\n                    class=\"textcode-copy shrink-0 inline-flex items-center justify-center px-3 py-1.5 text-xs font-repro-medium rounded-md border border-primary-blue\/60 text-white hover:bg-primary-blue\/20 transition-colors cursor-pointer\"\n                >\n                    <span data-wp-text=\"state.copyLabel\">Copy<\/span>\n                <\/button>\n            <\/div>\n            <div class=\"textcode-body\">\n                                                        <pre\n                        data-wp-context='{&quot;tabIndex&quot;:0}'\n                        data-wp-bind--hidden=\"state.isHidden\"\n                        data-tab-index=\"0\"\n                        class=\"textcode-pane language-bash m-0 overflow-x-auto\"\n                    ><code class=\"language-bash\"># Run the OCPP 1.6 emulator from source\r\n.\/gradlew run v16:run<\/code><\/pre>\n                                                        <pre\n                        data-wp-context='{&quot;tabIndex&quot;:1}'\n                        data-wp-bind--hidden=\"state.isHidden\"\n                        data-tab-index=\"1\"\n                        class=\"textcode-pane language-bash m-0 overflow-x-auto\"\n                    ><code class=\"language-bash\"># Run the OCPP 2.0.1 emulator from source\r\n.\/gradlew run v201:run<\/code><\/pre>\n                                                        <pre\n                        data-wp-context='{&quot;tabIndex&quot;:2}'\n                        data-wp-bind--hidden=\"state.isHidden\"\n                        data-tab-index=\"2\"\n                        class=\"textcode-pane language-bash m-0 overflow-x-auto\"\n                    ><code class=\"language-bash\"># After installing the .dmg, clear the quarantine \r\nflagnxattr -d com.apple.quarantine \/Applications\/OcppEmulator.app<\/code><\/pre>\n                            <\/div>\n                            <div class=\"px-6 py-3 text-xs text-white\/40 border-t border-white\/10\">\n                    github.com\/monta-app\/ocpp-emulator                <\/div>\n                    <\/div>\n                    <\/div>\n        \n        <div class=\"md:col-span-5 md:col-start-8\">\n                            <div class=\"pill-label mb-8 \" data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"pill_label\" data-acf-placeholder=\"Type to edit...\" >\n                    Quickstart                <\/div>\n            \n                                                <h2 data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"title\" data-acf-placeholder=\"Type to edit...\"  class=\"h2 mb-10\">Up and running in seconds<\/h2>\n                            \n            <div class=\"rich-text\" data-acf-inline-fields-uid=\"block_51962842f066febe72558a00a267ff91description\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;description&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Description&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;600px&quot;}]\" role=\"button\" tabindex=\"0\">\n                <p>Grab a prebuilt app from the releases page, or run the emulator from source. Pick the OCPP version you want and connect it to your backend.<\/p>\n\n            <\/div>\n\n            <div class=\"md:hidden block mt-10\" data-acf-inline-fields-uid=\"block_51962842f066febe72558a00a267ff91code_tabs\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;code_tabs&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Code tabs&quot;,&quot;useExpandedEditor&quot;:true,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\">\n                        <div\n            data-wp-interactive=\"monta\/textcode\"\n            data-wp-context='{&quot;activeIndex&quot;:0,&quot;copied&quot;:false}'\n            class=\"textcode-card relative bg-black text-white rounded-2xl overflow-hidden shadow-xl\"\n        >\n            <div class=\"flex items-center justify-between gap-4 px-6 pt-5 pb-3 border-b border-white\/10\">\n                <div role=\"tablist\" class=\"flex items-center gap-6 overflow-x-auto min-w-0 flex-1\">\n                                            <button\n                            type=\"button\"\n                            role=\"tab\"\n                            data-wp-context='{&quot;tabIndex&quot;:0}'\n                            data-wp-on--click=\"actions.selectTab\"\n                            data-wp-bind--aria-selected=\"state.isActive\"\n                            data-wp-bind--data-active=\"state.isActive\"\n                            class=\"textcode-tab whitespace-nowrap text-sm font-repro-medium pb-1 border-b-2 border-transparent text-white\/60 hover:text-white transition-colors cursor-pointer data-[active=true]:text-white data-[active=true]:border-primary-blue\"\n                        >\n                            OCPP 1.6                        <\/button>\n                                            <button\n                            type=\"button\"\n                            role=\"tab\"\n                            data-wp-context='{&quot;tabIndex&quot;:1}'\n                            data-wp-on--click=\"actions.selectTab\"\n                            data-wp-bind--aria-selected=\"state.isActive\"\n                            data-wp-bind--data-active=\"state.isActive\"\n                            class=\"textcode-tab whitespace-nowrap text-sm font-repro-medium pb-1 border-b-2 border-transparent text-white\/60 hover:text-white transition-colors cursor-pointer data-[active=true]:text-white data-[active=true]:border-primary-blue\"\n                        >\n                            OCPP 2.0.1                        <\/button>\n                                            <button\n                            type=\"button\"\n                            role=\"tab\"\n                            data-wp-context='{&quot;tabIndex&quot;:2}'\n                            data-wp-on--click=\"actions.selectTab\"\n                            data-wp-bind--aria-selected=\"state.isActive\"\n                            data-wp-bind--data-active=\"state.isActive\"\n                            class=\"textcode-tab whitespace-nowrap text-sm font-repro-medium pb-1 border-b-2 border-transparent text-white\/60 hover:text-white transition-colors cursor-pointer data-[active=true]:text-white data-[active=true]:border-primary-blue\"\n                        >\n                            macOS app                        <\/button>\n                                    <\/div>\n                <button\n                    type=\"button\"\n                    data-wp-on--click=\"actions.copyCode\"\n                    data-wp-bind--aria-label=\"state.copyAriaLabel\"\n                    class=\"textcode-copy shrink-0 inline-flex items-center justify-center px-3 py-1.5 text-xs font-repro-medium rounded-md border border-primary-blue\/60 text-white hover:bg-primary-blue\/20 transition-colors cursor-pointer\"\n                >\n                    <span data-wp-text=\"state.copyLabel\">Copy<\/span>\n                <\/button>\n            <\/div>\n            <div class=\"textcode-body\">\n                                                        <pre\n                        data-wp-context='{&quot;tabIndex&quot;:0}'\n                        data-wp-bind--hidden=\"state.isHidden\"\n                        data-tab-index=\"0\"\n                        class=\"textcode-pane language-bash m-0 overflow-x-auto\"\n                    ><code class=\"language-bash\"># Run the OCPP 1.6 emulator from source\r\n.\/gradlew run v16:run<\/code><\/pre>\n                                                        <pre\n                        data-wp-context='{&quot;tabIndex&quot;:1}'\n                        data-wp-bind--hidden=\"state.isHidden\"\n                        data-tab-index=\"1\"\n                        class=\"textcode-pane language-bash m-0 overflow-x-auto\"\n                    ><code class=\"language-bash\"># Run the OCPP 2.0.1 emulator from source\r\n.\/gradlew run v201:run<\/code><\/pre>\n                                                        <pre\n                        data-wp-context='{&quot;tabIndex&quot;:2}'\n                        data-wp-bind--hidden=\"state.isHidden\"\n                        data-tab-index=\"2\"\n                        class=\"textcode-pane language-bash m-0 overflow-x-auto\"\n                    ><code class=\"language-bash\"># After installing the .dmg, clear the quarantine \r\nflagnxattr -d com.apple.quarantine \/Applications\/OcppEmulator.app<\/code><\/pre>\n                            <\/div>\n                            <div class=\"px-6 py-3 text-xs text-white\/40 border-t border-white\/10\">\n                    github.com\/monta-app\/ocpp-emulator                <\/div>\n                    <\/div>\n                    <\/div>\n\n                                            <a href=\"https:\/\/ocpp-emulator.monta.com\/\" target=\"_blank\" rel=\"noopener\" class=\"btn-primary-blue mt-8\">\n                    <span data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"button_label\" data-acf-placeholder=\"Type to edit...\" >Download the emulator<\/span>\n                <\/a>\n            \n                                            <a href=\"https:\/\/github.com\/monta-app\/ocpp-emulator\/releases\" target=\"_blank\" rel=\"noopener\" class=\"btn-outline-black mt-4 ml-0 md:ml-4\">\n                    See releases\n                <\/a>\n                    <\/div>\n\n            <\/div>\n<\/section>\n\n\n<section data-acf-inline-fields-uid=\"block_8f1d991feb043a45636bb8fb79e7f23ebackground\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;background&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;Background&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\"  aria-label=\"FAQs\"  class=\"md:px-42 bg-transparent rounded-section \">\n<div class=\"grid grid-cols-1 md:grid-cols-12 md:mb-31 mb-10\">\n     <h2  data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"title\" data-acf-placeholder=\"Type to edit...\"  class=\"h2  mb-7 md:mb-0  col-span-12 mx-auto \" >FAQs <\/h2>     <\/div>\n<div class=\"w-full md:w-3\/4 mx-auto\" data-acf-inline-fields-uid=\"block_8f1d991feb043a45636bb8fb79e7f23efaqs\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;faqs&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;FAQs&quot;,&quot;useExpandedEditor&quot;:true,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\">\n    <div class=\"faq-wrapper border-faded-grey-horizontal border-b-0 border-t-1 mt-11\">\n          <div\n      data-wp-interactive=\"monta\/faq\"\n      data-wp-context='{\"isOpen\": false}'\n      data-wp-bind--data-state=\"state.dataState\"\n      data-state=\"closed\"\n      class=\"group\/faq border-faded-grey-horizontal border-b-1 border-t-0 py-10 md:p-11\"\n    >\n      <button\n        type=\"button\"\n        data-wp-on--click=\"actions.toggle\"\n        data-wp-bind--aria-expanded=\"context.isOpen\"\n        aria-controls=\"faq-1\"\n        class=\"quote w-full text-left flex items-center gap-8 justify-between cursor-pointer\"\n      >\n        <span>Which OCPP versions does the emulator support?<\/span>\n        <div class=\"relative w-6 h-6 flex-shrink-0\">\n          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-0 opacity-100\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.3782C6.008 27.3782 0.664 21.2662 0.664 14.0022C0.664 6.73816 5.976 0.658155 14.456 0.658155C22.904 0.658155 28.248 6.73816 28.248 14.0022C28.248 21.2662 22.872 27.3782 14.456 27.3782ZM2.744 14.0342C2.744 20.4342 6.968 25.4902 14.456 25.4902C21.944 25.4902 26.168 20.4342 26.168 14.0342C26.168 7.63416 21.944 2.54616 14.456 2.54616C6.968 2.54616 2.744 7.63416 2.744 14.0342ZM9.336 14.9942V13.3622H13.4V9.65016H15.288V13.3622H19.48V14.9942H15.288V18.7062H13.4V14.9942H9.336Z\"\/>\n<\/svg>          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-100 opacity-0\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.4706C6.008 27.4706 0.664 21.3586 0.664 14.0946C0.664 6.83062 5.976 0.750624 14.456 0.750624C22.904 0.750624 28.248 6.83062 28.248 14.0946C28.248 21.3586 22.872 27.4706 14.456 27.4706ZM2.744 14.1266C2.744 20.5266 6.968 25.5826 14.456 25.5826C21.944 25.5826 26.168 20.5266 26.168 14.1266C26.168 7.72662 21.944 2.63862 14.456 2.63862C6.968 2.63862 2.744 7.72662 2.744 14.1266ZM11.896 15.0546V13.3586H17.048V15.0546H11.896Z\"\/>\n<\/svg>        <\/div>\n      <\/button>\n      <div\n        id=\"faq-1\"\n        data-wp-bind--inert=\"state.isClosed\"\n        class=\"paragraph rich-text overflow-hidden transition-all duration-300 ease-in-out max-h-0 opacity-0 mt-0 group-data-[state=open]\/faq:max-h-300 group-data-[state=open]\/faq:opacity-100 group-data-[state=open]\/faq:mt-10\"\n      >\n        <p>OCPP 1.6 is fully supported, including Core, Firmware Management, Local Authorization List, and Remote Trigger. Smart Charging is partially supported and Reservation is not yet implemented. OCPP 2.0.1 support is in active development.<\/p>\n\n      <\/div>\n    <\/div>\n          <div\n      data-wp-interactive=\"monta\/faq\"\n      data-wp-context='{\"isOpen\": false}'\n      data-wp-bind--data-state=\"state.dataState\"\n      data-state=\"closed\"\n      class=\"group\/faq border-faded-grey-horizontal border-b-1 border-t-0 py-10 md:p-11\"\n    >\n      <button\n        type=\"button\"\n        data-wp-on--click=\"actions.toggle\"\n        data-wp-bind--aria-expanded=\"context.isOpen\"\n        aria-controls=\"faq-2\"\n        class=\"quote w-full text-left flex items-center gap-8 justify-between cursor-pointer\"\n      >\n        <span>Is the OCPP emulator free?<\/span>\n        <div class=\"relative w-6 h-6 flex-shrink-0\">\n          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-0 opacity-100\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.3782C6.008 27.3782 0.664 21.2662 0.664 14.0022C0.664 6.73816 5.976 0.658155 14.456 0.658155C22.904 0.658155 28.248 6.73816 28.248 14.0022C28.248 21.2662 22.872 27.3782 14.456 27.3782ZM2.744 14.0342C2.744 20.4342 6.968 25.4902 14.456 25.4902C21.944 25.4902 26.168 20.4342 26.168 14.0342C26.168 7.63416 21.944 2.54616 14.456 2.54616C6.968 2.54616 2.744 7.63416 2.744 14.0342ZM9.336 14.9942V13.3622H13.4V9.65016H15.288V13.3622H19.48V14.9942H15.288V18.7062H13.4V14.9942H9.336Z\"\/>\n<\/svg>          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-100 opacity-0\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.4706C6.008 27.4706 0.664 21.3586 0.664 14.0946C0.664 6.83062 5.976 0.750624 14.456 0.750624C22.904 0.750624 28.248 6.83062 28.248 14.0946C28.248 21.3586 22.872 27.4706 14.456 27.4706ZM2.744 14.1266C2.744 20.5266 6.968 25.5826 14.456 25.5826C21.944 25.5826 26.168 20.5266 26.168 14.1266C26.168 7.72662 21.944 2.63862 14.456 2.63862C6.968 2.63862 2.744 7.72662 2.744 14.1266ZM11.896 15.0546V13.3586H17.048V15.0546H11.896Z\"\/>\n<\/svg>        <\/div>\n      <\/button>\n      <div\n        id=\"faq-2\"\n        data-wp-bind--inert=\"state.isClosed\"\n        class=\"paragraph rich-text overflow-hidden transition-all duration-300 ease-in-out max-h-0 opacity-0 mt-0 group-data-[state=open]\/faq:max-h-300 group-data-[state=open]\/faq:opacity-100 group-data-[state=open]\/faq:mt-10\"\n      >\n        <p>Yes. The emulator is open-source and free to use. You can download it, run it, read the code, and extend it for your own testing on GitHub.<\/p>\n\n      <\/div>\n    <\/div>\n          <div\n      data-wp-interactive=\"monta\/faq\"\n      data-wp-context='{\"isOpen\": false}'\n      data-wp-bind--data-state=\"state.dataState\"\n      data-state=\"closed\"\n      class=\"group\/faq border-faded-grey-horizontal border-b-1 border-t-0 py-10 md:p-11\"\n    >\n      <button\n        type=\"button\"\n        data-wp-on--click=\"actions.toggle\"\n        data-wp-bind--aria-expanded=\"context.isOpen\"\n        aria-controls=\"faq-3\"\n        class=\"quote w-full text-left flex items-center gap-8 justify-between cursor-pointer\"\n      >\n        <span>Do I need physical hardware to use it?<\/span>\n        <div class=\"relative w-6 h-6 flex-shrink-0\">\n          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-0 opacity-100\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.3782C6.008 27.3782 0.664 21.2662 0.664 14.0022C0.664 6.73816 5.976 0.658155 14.456 0.658155C22.904 0.658155 28.248 6.73816 28.248 14.0022C28.248 21.2662 22.872 27.3782 14.456 27.3782ZM2.744 14.0342C2.744 20.4342 6.968 25.4902 14.456 25.4902C21.944 25.4902 26.168 20.4342 26.168 14.0342C26.168 7.63416 21.944 2.54616 14.456 2.54616C6.968 2.54616 2.744 7.63416 2.744 14.0342ZM9.336 14.9942V13.3622H13.4V9.65016H15.288V13.3622H19.48V14.9942H15.288V18.7062H13.4V14.9942H9.336Z\"\/>\n<\/svg>          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-100 opacity-0\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.4706C6.008 27.4706 0.664 21.3586 0.664 14.0946C0.664 6.83062 5.976 0.750624 14.456 0.750624C22.904 0.750624 28.248 6.83062 28.248 14.0946C28.248 21.3586 22.872 27.4706 14.456 27.4706ZM2.744 14.1266C2.744 20.5266 6.968 25.5826 14.456 25.5826C21.944 25.5826 26.168 20.5266 26.168 14.1266C26.168 7.72662 21.944 2.63862 14.456 2.63862C6.968 2.63862 2.744 7.72662 2.744 14.1266ZM11.896 15.0546V13.3586H17.048V15.0546H11.896Z\"\/>\n<\/svg>        <\/div>\n      <\/button>\n      <div\n        id=\"faq-3\"\n        data-wp-bind--inert=\"state.isClosed\"\n        class=\"paragraph rich-text overflow-hidden transition-all duration-300 ease-in-out max-h-0 opacity-0 mt-0 group-data-[state=open]\/faq:max-h-300 group-data-[state=open]\/faq:opacity-100 group-data-[state=open]\/faq:mt-10\"\n      >\n        <p>No. The emulator simulates a charge point in software, so you can test your backend without a physical unit. Run it on your machine or straight from the browser.<\/p>\n\n      <\/div>\n    <\/div>\n          <div\n      data-wp-interactive=\"monta\/faq\"\n      data-wp-context='{\"isOpen\": false}'\n      data-wp-bind--data-state=\"state.dataState\"\n      data-state=\"closed\"\n      class=\"group\/faq border-faded-grey-horizontal border-b-1 border-t-0 py-10 md:p-11\"\n    >\n      <button\n        type=\"button\"\n        data-wp-on--click=\"actions.toggle\"\n        data-wp-bind--aria-expanded=\"context.isOpen\"\n        aria-controls=\"faq-4\"\n        class=\"quote w-full text-left flex items-center gap-8 justify-between cursor-pointer\"\n      >\n        <span>What is message interception?<\/span>\n        <div class=\"relative w-6 h-6 flex-shrink-0\">\n          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-0 opacity-100\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.3782C6.008 27.3782 0.664 21.2662 0.664 14.0022C0.664 6.73816 5.976 0.658155 14.456 0.658155C22.904 0.658155 28.248 6.73816 28.248 14.0022C28.248 21.2662 22.872 27.3782 14.456 27.3782ZM2.744 14.0342C2.744 20.4342 6.968 25.4902 14.456 25.4902C21.944 25.4902 26.168 20.4342 26.168 14.0342C26.168 7.63416 21.944 2.54616 14.456 2.54616C6.968 2.54616 2.744 7.63416 2.744 14.0342ZM9.336 14.9942V13.3622H13.4V9.65016H15.288V13.3622H19.48V14.9942H15.288V18.7062H13.4V14.9942H9.336Z\"\/>\n<\/svg>          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-100 opacity-0\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.4706C6.008 27.4706 0.664 21.3586 0.664 14.0946C0.664 6.83062 5.976 0.750624 14.456 0.750624C22.904 0.750624 28.248 6.83062 28.248 14.0946C28.248 21.3586 22.872 27.4706 14.456 27.4706ZM2.744 14.1266C2.744 20.5266 6.968 25.5826 14.456 25.5826C21.944 25.5826 26.168 20.5266 26.168 14.1266C26.168 7.72662 21.944 2.63862 14.456 2.63862C6.968 2.63862 2.744 7.72662 2.744 14.1266ZM11.896 15.0546V13.3586H17.048V15.0546H11.896Z\"\/>\n<\/svg>        <\/div>\n      <\/button>\n      <div\n        id=\"faq-4\"\n        data-wp-bind--inert=\"state.isClosed\"\n        class=\"paragraph rich-text overflow-hidden transition-all duration-300 ease-in-out max-h-0 opacity-0 mt-0 group-data-[state=open]\/faq:max-h-300 group-data-[state=open]\/faq:opacity-100 group-data-[state=open]\/faq:mt-10\"\n      >\n        <p>Message interception lets you control exactly which OCPP messages the emulated charge point sends and receives. It is how you replicate custom or non-conformant behaviour and reproduce edge cases. Intercepted messages do not change the emulator&#8217;s internal state.<\/p>\n\n      <\/div>\n    <\/div>\n          <div\n      data-wp-interactive=\"monta\/faq\"\n      data-wp-context='{\"isOpen\": false}'\n      data-wp-bind--data-state=\"state.dataState\"\n      data-state=\"closed\"\n      class=\"group\/faq border-faded-grey-horizontal border-b-1 border-t-0 py-10 md:p-11\"\n    >\n      <button\n        type=\"button\"\n        data-wp-on--click=\"actions.toggle\"\n        data-wp-bind--aria-expanded=\"context.isOpen\"\n        aria-controls=\"faq-5\"\n        class=\"quote w-full text-left flex items-center gap-8 justify-between cursor-pointer\"\n      >\n        <span>Which platforms can I run it on?<\/span>\n        <div class=\"relative w-6 h-6 flex-shrink-0\">\n          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-0 opacity-100\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.3782C6.008 27.3782 0.664 21.2662 0.664 14.0022C0.664 6.73816 5.976 0.658155 14.456 0.658155C22.904 0.658155 28.248 6.73816 28.248 14.0022C28.248 21.2662 22.872 27.3782 14.456 27.3782ZM2.744 14.0342C2.744 20.4342 6.968 25.4902 14.456 25.4902C21.944 25.4902 26.168 20.4342 26.168 14.0342C26.168 7.63416 21.944 2.54616 14.456 2.54616C6.968 2.54616 2.744 7.63416 2.744 14.0342ZM9.336 14.9942V13.3622H13.4V9.65016H15.288V13.3622H19.48V14.9942H15.288V18.7062H13.4V14.9942H9.336Z\"\/>\n<\/svg>          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-100 opacity-0\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.4706C6.008 27.4706 0.664 21.3586 0.664 14.0946C0.664 6.83062 5.976 0.750624 14.456 0.750624C22.904 0.750624 28.248 6.83062 28.248 14.0946C28.248 21.3586 22.872 27.4706 14.456 27.4706ZM2.744 14.1266C2.744 20.5266 6.968 25.5826 14.456 25.5826C21.944 25.5826 26.168 20.5266 26.168 14.1266C26.168 7.72662 21.944 2.63862 14.456 2.63862C6.968 2.63862 2.744 7.72662 2.744 14.1266ZM11.896 15.0546V13.3586H17.048V15.0546H11.896Z\"\/>\n<\/svg>        <\/div>\n      <\/button>\n      <div\n        id=\"faq-5\"\n        data-wp-bind--inert=\"state.isClosed\"\n        class=\"paragraph rich-text overflow-hidden transition-all duration-300 ease-in-out max-h-0 opacity-0 mt-0 group-data-[state=open]\/faq:max-h-300 group-data-[state=open]\/faq:opacity-100 group-data-[state=open]\/faq:mt-10\"\n      >\n        <p>Prebuilt apps are available for Windows, Linux, and macOS, and there is a hosted web version in the browser. On macOS you may need to clear the quarantine flag after installing the .dmg.<\/p>\n\n      <\/div>\n    <\/div>\n          <div\n      data-wp-interactive=\"monta\/faq\"\n      data-wp-context='{\"isOpen\": false}'\n      data-wp-bind--data-state=\"state.dataState\"\n      data-state=\"closed\"\n      class=\"group\/faq border-faded-grey-horizontal border-b-1 border-t-0 py-10 md:p-11\"\n    >\n      <button\n        type=\"button\"\n        data-wp-on--click=\"actions.toggle\"\n        data-wp-bind--aria-expanded=\"context.isOpen\"\n        aria-controls=\"faq-6\"\n        class=\"quote w-full text-left flex items-center gap-8 justify-between cursor-pointer\"\n      >\n        <span>Does it work with any CSMS?<\/span>\n        <div class=\"relative w-6 h-6 flex-shrink-0\">\n          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-0 opacity-100\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.3782C6.008 27.3782 0.664 21.2662 0.664 14.0022C0.664 6.73816 5.976 0.658155 14.456 0.658155C22.904 0.658155 28.248 6.73816 28.248 14.0022C28.248 21.2662 22.872 27.3782 14.456 27.3782ZM2.744 14.0342C2.744 20.4342 6.968 25.4902 14.456 25.4902C21.944 25.4902 26.168 20.4342 26.168 14.0342C26.168 7.63416 21.944 2.54616 14.456 2.54616C6.968 2.54616 2.744 7.63416 2.744 14.0342ZM9.336 14.9942V13.3622H13.4V9.65016H15.288V13.3622H19.48V14.9942H15.288V18.7062H13.4V14.9942H9.336Z\"\/>\n<\/svg>          <svg class=\"absolute inset-0 w-6 h-6 transition-opacity duration-300 group-data-[state=open]\/faq:opacity-100 opacity-0\" width=\"29\" height=\"28\" viewBox=\"0 0 29 28\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M14.456 27.4706C6.008 27.4706 0.664 21.3586 0.664 14.0946C0.664 6.83062 5.976 0.750624 14.456 0.750624C22.904 0.750624 28.248 6.83062 28.248 14.0946C28.248 21.3586 22.872 27.4706 14.456 27.4706ZM2.744 14.1266C2.744 20.5266 6.968 25.5826 14.456 25.5826C21.944 25.5826 26.168 20.5266 26.168 14.1266C26.168 7.72662 21.944 2.63862 14.456 2.63862C6.968 2.63862 2.744 7.72662 2.744 14.1266ZM11.896 15.0546V13.3586H17.048V15.0546H11.896Z\"\/>\n<\/svg>        <\/div>\n      <\/button>\n      <div\n        id=\"faq-6\"\n        data-wp-bind--inert=\"state.isClosed\"\n        class=\"paragraph rich-text overflow-hidden transition-all duration-300 ease-in-out max-h-0 opacity-0 mt-0 group-data-[state=open]\/faq:max-h-300 group-data-[state=open]\/faq:opacity-100 group-data-[state=open]\/faq:mt-10\"\n      >\n        <p>The emulator speaks standard OCPP over WebSocket, so it connects to any OCPP-compliant Charge Point Management System, including your own backend or Monta.<\/p>\n\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n<\/section>\n\n<section data-acf-inline-fields-uid=\"block_43adc04d01e5de76be244fa696732d05cta_type\" data-acf-inline-fields=\"[{&quot;fieldName&quot;:&quot;cta_type&quot;,&quot;fieldIcon&quot;:null,&quot;fieldLabel&quot;:&quot;CTA type&quot;,&quot;useExpandedEditor&quot;:false,&quot;popoverMinWidth&quot;:&quot;300px&quot;}]\" role=\"button\" tabindex=\"0\" aria-label=\"Start testing your OCPP backend today\" class=\" md:mx-15 md:px-26 py-10 rounded-section bg-primary-blue md:flex md:items-center md:justify-between\">\n    <h3 data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"text\" data-acf-placeholder=\"Type to edit...\"  class=\" text-white mb-5 md:mb-0 mr-0 md:mr-20\">Start testing your OCPP backend today<\/h3>\n            <div class=\"flex flex-col md:flex-row gap-4 items-stretch\">\n        <a href=\"https:\/\/ocpp-emulator.monta.com\/\" target=\"_blank\" rel=\"noopener\" class=\"btn-primary-black whitespace-nowrap flex items-center gap-2 justify-center\">\n            <span data-acf-inline-contenteditable=\"1\" data-acf-inline-contenteditable-field-slug=\"button_text\" data-acf-placeholder=\"Type to edit...\" >Download the emulator<\/span>\n            <div\n    class=\"size-5.5 border-white rounded-full border-2 place-content-center grid\" \n    >\n    <span href=\"#\" class=\"text-sm text-white ml-auto\">\u2192<\/span>\n<\/div>        <\/a>\n                    <a href=\"https:\/\/monta.com\/en\/contact-sales\/\" class=\"btn-outline-white-black whitespace-nowrap flex items-center justify-center\">\n                Book a demo\n            <\/a>\n            <\/div>\n        <\/section>","protected":false},"excerpt":{"rendered":"","protected":false},"author":62,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"tags":[],"class_list":["post-30014","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/pages\/30014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/users\/62"}],"replies":[{"embeddable":true,"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/comments?post=30014"}],"version-history":[{"count":2,"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/pages\/30014\/revisions"}],"predecessor-version":[{"id":31149,"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/pages\/30014\/revisions\/31149"}],"wp:attachment":[{"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/media?parent=30014"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monta.com\/en\/wp-json\/wp\/v2\/tags?post=30014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}