| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<!-- XBRL Document Created with Wdesk from Workiva --> |
<!-- Copyright 2021 Workiva --> |
<!-- r:2f59adc1-bd38-477c-9dd4-bb3127802d3c,g:53b232d7-5c32-4e09-802f-acf72f76e292 --> |
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"> |
| <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/> |
| <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/> |
| <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/> |
| <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/> |
| <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/> |
| <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/> |
| <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/> |
| <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended"> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_9f0b69d7-f4d6-41e9-b334-3f816849dfe3_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Granted (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LinesOfCreditCurrent_8b018035-4570-4406-89d5-4ba8a0971599_terseLabel_en-US" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit line borrowings, net of loan origination fees </link:label> |
| | <link:label id="lab_us-gaap_LinesOfCreditCurrent_label_en-US" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LinesOfCreditCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LinesOfCreditCurrent" xlink:to="lab_us-gaap_LinesOfCreditCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_DocumentType_eab271f0-271d-4690-9c15-797c07f7e37a_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Type </link:label> |
| | <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Type </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentType"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_IcfrAuditorAttestationFlag_ce14709b-0174-446b-8d03-14815586d706_terseLabel_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> ICFR Auditor Attestation Flag </link:label> |
| | <link:label id="lab_dei_IcfrAuditorAttestationFlag_label_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> ICFR Auditor Attestation Flag </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_IcfrAuditorAttestationFlag"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_IcfrAuditorAttestationFlag" xlink:to="lab_dei_IcfrAuditorAttestationFlag" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_54cf0279-13ff-44e7-ba59-5d052fc24ca2_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other expenses </link:label> |
| | <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other Nonoperating Income (Expense) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_814960d6-e5f5-474b-b7b4-ca6d88542407_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other comprehensive loss: </link:label> |
| | <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_bc4cf1f2-bdfd-4a77-86fd-edf0a3451d00_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Warranty Activity </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Product Warranty Liability [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_571bec8f-9808-4810-9f46-2c9fbe4c41dd_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Settlements from exercise </link:label> |
| | <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_a6070a2c-f192-484c-bb60-568381cfc7f6_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Granted (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_d341ae5e-bc8a-4f0d-b72e-ae20816aac16_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Commitments and Contingencies </link:label> |
| | <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Commitments and Contingencies Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_ceac62e3-cbdb-4aeb-bc0f-5ac0bbcd5de9_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party [Axis] </link:label> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AmortizationOfDebtDiscountPremium_339937d3-5d21-454d-987e-8042aab955bf_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amortization of loan discounts and origination fees </link:label> |
| | <link:label id="lab_us-gaap_AmortizationOfDebtDiscountPremium_label_en-US" xlink:label="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amortization of Debt Discount (Premium) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfDebtDiscountPremium" xlink:to="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PayablesAndAccrualsAbstract_ad4dac1d-1146-43be-af93-6d54f8e03558_terseLabel_en-US" xlink:label="lab_us-gaap_PayablesAndAccrualsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payables and Accruals [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_PayablesAndAccrualsAbstract_label_en-US" xlink:label="lab_us-gaap_PayablesAndAccrualsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payables and Accruals [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract" xlink:to="lab_us-gaap_PayablesAndAccrualsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_65c49bdd-70fc-4cad-a08f-e60a4dc990f3_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] </link:label> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_46d1a90f-4a15-4821-a8f1-20bda7002762_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Vested (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_0eaf205c-2789-491b-83d5-699bc2dc7897_terseLabel_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from the issuance of common stock and warrants </link:label> |
| | <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_label_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Issuance of Common Stock and Warrants </link:label> |
| | <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_documentation_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Issuance of Common Stock and Warrants </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:href="efoi-20201231.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:to="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_e6856493-5e35-4ca9-97d3-13613485c82c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Restructuring and Related Costs [Table] </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Restructuring and Related Costs [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryWriteDown_d33a3c18-19da-41a0-8f23-910ea52214f6_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Provision for slow-moving and obsolete inventories </link:label> |
| | <link:label id="lab_us-gaap_InventoryWriteDown_label_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Write-down </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryWriteDown"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWriteDown" xlink:to="lab_us-gaap_InventoryWriteDown" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent_21dbc7e5-c113-44d1-8e5e-1553507db3bf_terseLabel_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured lease liabilities </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Operating Lease, Liability, Current </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent_documentation_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Operating Lease, Liability, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:href="efoi-20201231.xsd#efoi_RestructuredOperatingLeaseLiabilityCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:to="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredFinanceCostsGross_68c76c0b-5f9a-4c98-a4c2-149bf46e7769_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt issuance costs </link:label> |
| | <link:label id="lab_us-gaap_DeferredFinanceCostsGross_label_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Issuance Costs, Gross </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsGross"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsGross" xlink:to="lab_us-gaap_DeferredFinanceCostsGross" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_f4561e0d-616f-4d26-bb5d-d6cc83882365_terseLabel_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net proceeds from the conversion of convertible debt to preferred stock </link:label> |
| | <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_label_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net proceeds from the conversion of convertible debt to preferred stock </link:label> |
| | <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_documentation_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net proceeds from the conversion of convertible debt to preferred stock </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:href="efoi-20201231.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:to="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_468aa7ce-6f3c-44b5-964b-fcbaf89748a1_totalLabel_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured lease cost, net </link:label> |
| | <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_label_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Lease, Operating Lease, Cost, Net Of Sublease Income </link:label> |
| | <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_documentation_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Lease, Operating Lease, Cost, Net Of Sublease Income </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:to="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromWarrantExercises_6713fa27-ae52-4897-9e65-9821bfd10dc7_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromWarrantExercises" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from the exercise of warrants </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromWarrantExercises_label_en-US" xlink:label="lab_us-gaap_ProceedsFromWarrantExercises" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Warrant Exercises </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromWarrantExercises" xlink:to="lab_us-gaap_ProceedsFromWarrantExercises" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_RangeMember_28d69432-13e7-41b6-a0f6-b1acc7e2d7a6_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statistical Measurement [Domain] </link:label> |
| | <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statistical Measurement [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_738da63c-9c74-4348-b3f7-9b23fae15c0f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_df20d9ec-9119-4ca2-b271-49e857162f8c_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Cost and Reserve [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Cost and Reserve [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCostAndReserveLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:to="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DomesticSupplierMember_310ef741-38df-442a-9dbc-861e12eb8aa6_terseLabel_en-US" xlink:label="lab_efoi_DomesticSupplierMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Domestic Supplier </link:label> |
| | <link:label id="lab_efoi_DomesticSupplierMember_label_en-US" xlink:label="lab_efoi_DomesticSupplierMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Domestic Supplier [Member] </link:label> |
| | <link:label id="lab_efoi_DomesticSupplierMember_documentation_en-US" xlink:label="lab_efoi_DomesticSupplierMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Domestic Supplier </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DomesticSupplierMember" xlink:href="efoi-20201231.xsd#efoi_DomesticSupplierMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DomesticSupplierMember" xlink:to="lab_efoi_DomesticSupplierMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromIssuanceOfDebt_045887a6-73e8-4864-a027-72fe71c99f71_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from issuance </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromIssuanceOfDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Issuance of Debt </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PreferredStockMember_080ec835-3c60-49af-b273-de9d7ea176ee_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred Stock </link:label> |
| | <link:label id="lab_us-gaap_PreferredStockMember_label_en-US" xlink:label="lab_us-gaap_PreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred Stock [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockMember" xlink:to="lab_us-gaap_PreferredStockMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_SecurityExchangeName_ef02561b-c1ab-4e27-a7a4-2ba3824bad34_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Security Exchange Name </link:label> |
| | <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Security Exchange Name </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_SecurityExchangeName"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_70992c75-8909-49a6-aa7b-d11e4362a682_totalLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total adjustments </link:label> |
| | <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromConvertibleDebt_e2e9826a-0102-4525-bca2-2ca10d366de6_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromConvertibleDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from convertible notes </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromConvertibleDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromConvertibleDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Convertible Debt </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromConvertibleDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromConvertibleDebt"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromConvertibleDebt" xlink:to="lab_us-gaap_ProceedsFromConvertibleDebt" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_13d5780b-f078-4000-87ba-b5eb056cb3ce_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued warranty reserve </link:label> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_de7fae29-29b8-4774-903b-c526d8ab4256_periodStartLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Balance at the beginning of the year </link:label> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_79c1addd-4100-4083-9ccc-3fbc734985d0_periodEndLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued warranty expense </link:label> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Standard Product Warranty Accrual, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_3a2f8f32-5baa-4fb4-88a6-2c572b336a17_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance lease right-of-use asset </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Right-of-Use Asset, before Accumulated Amortization </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingIncomeLoss_844427cf-409a-4538-ad78-f3d129b13afc_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Loss from operations </link:label> |
| | <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Income (Loss) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingIncomeLoss"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredRevenueCurrent_d6c70214-21ae-4e9e-badf-81d116c26b3b_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred revenue </link:label> |
| | <link:label id="lab_us-gaap_DeferredRevenueCurrent_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Revenue, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredRevenueCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueCurrent" xlink:to="lab_us-gaap_DeferredRevenueCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityNoncurrent_c350f793-6a24-4839-b85b-f42d622df580_terseLabel_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured lease liabilities, net of current portion </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Operating Lease, Liability, Noncurrent </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityNoncurrent_documentation_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Operating Lease, Liability, Noncurrent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiabilityNoncurrent" xlink:href="efoi-20201231.xsd#efoi_RestructuredOperatingLeaseLiabilityNoncurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredOperatingLeaseLiabilityNoncurrent" xlink:to="lab_efoi_RestructuredOperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_afe11a10-d384-4adb-9aca-8f807f0c3228_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Exercise Price (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:to="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets_5cbb1944-c5d0-4d5b-8d9e-6ccd4ecf1591_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Short-term deposits </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Deposit Assets </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LiabilitiesCurrent_64b22fb8-3cfd-4845-98cd-f2c609481bf1_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total current liabilities </link:label> |
| | <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Liabilities, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_bbeb1295-60eb-4ba4-8d9f-da3229af5a2f_terseLabel_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts receivables </link:label> |
| | <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_label_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Receivable [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_IncreaseDecreaseInInventoryLevelsGross_95340c2a-68c5-414b-b2ec-43696cc15987_terseLabel_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Reduction of gross inventory levels </link:label> |
| | <link:label id="lab_efoi_IncreaseDecreaseInInventoryLevelsGross_label_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) In Inventory Levels, Gross </link:label> |
| | <link:label id="lab_efoi_IncreaseDecreaseInInventoryLevelsGross_documentation_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) In Inventory Levels, Gross </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:href="efoi-20201231.xsd#efoi_IncreaseDecreaseInInventoryLevelsGross"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:to="lab_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_c05e7959-1916-42c2-931b-3d7d9a3a6a87_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid and other current assets </link:label> |
| | <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_519f08d0-818e-416d-8285-eaed9bf359b1_totalLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total prepaid and other current assets </link:label> |
| | <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid Expense and Other Assets, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_08b79354-f8f6-476f-889c-eb698c94fe91_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Outstanding at beginning of period (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_05580854-9734-4feb-8326-3874073dfc8f_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Outstanding at end of period (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_VariableRateDomain_8dec5c8b-529f-4239-8018-3e92c403ccc2_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Variable Rate [Domain] </link:label> |
| | <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Variable Rate [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccruedProfessionalFeesCurrent_39fcaaa5-c49d-4fdc-9bf9-0908d5fc00f5_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued legal and professional fees </link:label> |
| | <link:label id="lab_us-gaap_AccruedProfessionalFeesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued Professional Fees, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedProfessionalFeesCurrent" xlink:to="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_VariableRateAxis_cc9809bf-5b94-40e1-b996-5384c2792227_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Variable Rate [Axis] </link:label> |
| | <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Variable Rate [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VariableRateAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_5cdd1b06-903f-48ed-b34f-5ff532ada6b6_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Valuation allowance </link:label> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue_5842ccad-a33d-41fd-85bf-43a2d3bef41f_totalLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total future undiscounted lease payments </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Payment, Due </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_85171f0b-4773-412a-8aae-0b45034f91d6_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common stock withheld in lieu of income tax withholding from share-based compensation </link:label> |
| | <link:label id="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Decrease for Tax Withholding Obligation </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AssetsAbstract_1cbf17e0-6231-4ca1-a866-64923ac8bd23_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> ASSETS </link:label> |
| | <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Assets [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_db866849-042b-4e05-92d3-5f4543a06eba_terseLabel_en-US" xlink:label="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Investment, Name [Axis] </link:label> |
| | <link:label id="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_label_en-US" xlink:label="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Investment, Name [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_0d5f7c65-3e01-407c-970e-bd19de06c03a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment [Table] </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_d27688c5-b878-4faf-8ddd-9afb9cc2d0f0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Vesting period </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccountingPoliciesAbstract_576cf166-6237-4b63-87c7-5cba2507aef5_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Policies [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Policies [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FurnitureAndFixturesMember_d53b02d6-a2e1-4fd0-8109-0d69a778de7b_terseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Furniture and fixtures </link:label> |
| | <link:label id="lab_us-gaap_FurnitureAndFixturesMember_label_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Furniture and Fixtures [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesMember" xlink:to="lab_us-gaap_FurnitureAndFixturesMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityAddressStateOrProvince_4e0a5a40-1d84-435f-8100-12838b1b4ef3_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, State or Province </link:label> |
| | <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, State or Province </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressStateOrProvince"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_25d79a47-f5d8-497d-a27d-0dcbc2485761_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Vested (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_583cbc41-913b-401c-9a25-0e908c8f7e3b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise price (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeasePayments_fbe7f67d-12b7-4517-8e00-fc2e5601301d_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating cash flows from operating leases </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Payments </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeasePayments"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCost_2ca07ef1-c31b-42c3-8e38-d6fdff83fee1_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lease cost </link:label> |
| | <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCost_label_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Lease, Operating Lease, Cost </link:label> |
| | <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCost_documentation_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Lease, Operating Lease, Cost </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCost" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeaseOperatingLeaseCost"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeaseOperatingLeaseCost" xlink:to="lab_efoi_RestructuredLeaseOperatingLeaseCost" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccountsPayableCurrent_3957b45a-c19b-4481-a73b-6ece49ec3e39_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts payable </link:label> |
| | <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Payable, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_7c87bf86-cbb7-4777-8f33-eb40ee43dd4f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Options Outstanding </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_f556ce80-e286-4b7b-8459-6f4098dcabe8_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amount available based on qualifying accounts </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Available Amount Based On Qualified Accounts </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Available Amount Based On Qualified Accounts </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:to="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubleaseIncome_8ed251b5-bff6-4494-9504-8e16c3152f86_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Sublease income </link:label> |
| | <link:label id="lab_us-gaap_SubleaseIncome_label_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Sublease Income </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubleaseIncome"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubleaseIncome" xlink:to="lab_us-gaap_SubleaseIncome" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_5fbf86d4-a4d3-422a-8c02-6d985991a7ef_terseLabel_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> OPTIONS EXERCISABLE </link:label> |
| | <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_label_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Exercisable [Abstract] </link:label> |
| | <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_documentation_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Exercisable [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:href="efoi-20201231.xsd#efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:to="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_ac83eed7-5c72-4d43-a960-eddd4044ffe4_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accumulated deficit </link:label> |
| | <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Retained Earnings (Accumulated Deficit) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_8fb8ebb9-e992-4529-83e9-4cdb2f6fca5b_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease, right-of-use asset </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Right-of-Use Asset </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_e1385a2d-b64e-42d1-bbf4-6d29453609f7_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued sales commissions </link:label> |
| | <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued Sales Commission, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:to="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_575d5032-1a98-4fe6-aa85-38153ab6a1b4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Loss on extinguishment of debt </link:label> |
| | <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_label_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Gain (Loss) on Extinguishment of Debt </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList_485aa5e7-6e50-4648-b925-e7564dac5e64_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible List] </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible List] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_973f8307-1643-47b6-8eaa-e715c0bf3983_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Monthly service fee </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Monthly Facility Fee, Percent </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Monthly Facility Fee, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityMonthlyFacilityFeePercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:to="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxesPaid_54ee6821-2142-40b5-8289-509294326356_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash paid in year for income taxes </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxesPaid_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Taxes Paid </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaid" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxesPaid"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaid" xlink:to="lab_us-gaap_IncomeTaxesPaid" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_acf77222-a166-4ec5-b31e-946c5e79d6ef_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Outstanding at beginning of period (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_83441384-7ddf-4364-85e8-4eda95e6e368_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Outstanding at end of period (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_CommunalMember_d878992b-234e-4e88-a585-54c7a240c7bc_terseLabel_en-US" xlink:label="lab_efoi_CommunalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Communal </link:label> |
| | <link:label id="lab_efoi_CommunalMember_label_en-US" xlink:label="lab_efoi_CommunalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Communal [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_CommunalMember" xlink:href="efoi-20201231.xsd#efoi_CommunalMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommunalMember" xlink:to="lab_efoi_CommunalMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_5e5f6c67-bf33-40e7-9661-20ef8d4fcf4d_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Unamortized stock compensation expense </link:label> |
| | <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LegalMattersAndContingenciesTextBlock_c48595e1-bd1d-42bc-92ef-2e1f8265f2d0_terseLabel_en-US" xlink:label="lab_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Legal Matters </link:label> |
| | <link:label id="lab_us-gaap_LegalMattersAndContingenciesTextBlock_label_en-US" xlink:label="lab_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Legal Matters and Contingencies [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:to="lab_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_09e4351f-8cd7-4245-9574-50c3e103d5d6_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> New Accounting Pronouncements or Change in Accounting Principle [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> New Accounting Pronouncements or Change in Accounting Principle [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_MajorCustomersAxis_9b3c9a17-464c-4dba-beaa-d07ce3fc90e4_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Customer [Axis] </link:label> |
| | <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Customer [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MajorCustomersAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_344826d5-5a02-481d-9a5c-d9028f7d91f2_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> State </link:label> |
| | <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Current State and Local Tax Expense (Benefit) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharesOutstanding_05992dfc-c047-40d0-948e-bd5c5890d52f_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Beginning balance (in shares) </link:label> |
| | <link:label id="lab_us-gaap_SharesOutstanding_deac6bcd-6c8a-40b4-824b-dcffad1c35a9_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ending balance (in shares) </link:label> |
| | <link:label id="lab_us-gaap_SharesOutstanding_label_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Shares, Outstanding </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesOutstanding"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesOutstanding" xlink:to="lab_us-gaap_SharesOutstanding" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PreferredStockValue_e96ee5f8-9029-44d4-8c07-4c83897019f7_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred stock, par value $0.0001 per share: Authorized: 2,000,000 shares in 2019 and 2018 Issued and outstanding: no shares in 2016 and 2015 </link:label> |
| | <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred Stock, Value, Issued </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_b036b842-9ad0-43df-bdd3-88ffe8564253_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Range of Exercise Prices, lower limit (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_12698f93-3648-47f7-a05b-1eebec9825bb_terseLabel_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amount paid for placement agent commissions </link:label> |
| | <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_label_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments For Placement Agent Commissions </link:label> |
| | <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_documentation_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments For Placement Agent Commissions </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions" xlink:href="efoi-20201231.xsd#efoi_PaymentsForPlacementAgentCommissions"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsForPlacementAgentCommissions" xlink:to="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_16e9af75-e884-4b4a-b7e8-46becbaec5d0_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income taxes </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LeaseCost_4925b2ff-5182-4fd3-a859-2438bdc87694_totalLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total lease cost, net </link:label> |
| | <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lease, Cost </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCost"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingExpenses_e17939af-14bc-4313-9754-a922aee37f0a_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total operating expenses </link:label> |
| | <link:label id="lab_us-gaap_OperatingExpenses_label_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Expenses </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpenses"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_b8d44b90-71cf-4c6e-957b-247032d67eef_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercisable (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_81b03e1e-4f4c-40fe-b642-cd195904e1af_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common stock, par value (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common Stock, Par or Stated Value Per Share </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts_a00b5c7a-5c8c-4723-842c-ba3f12da656b_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payment amount </link:label> |
| | <link:label id="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payment for Debt Extinguishment or Debt Prepayment Cost </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfDebtExtinguishmentCosts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:to="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_6e76f0e5-be6d-4160-80fa-e39f0bff46f1_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2023 </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Three </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PaymentsOfFinancingCosts_c5dd22d6-39b9-461a-aa99-59f8a38c1d6e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfFinancingCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments for deferred financing costs & termination fees </link:label> |
| | <link:label id="lab_us-gaap_PaymentsOfFinancingCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments of Financing Costs </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfFinancingCosts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfFinancingCosts" xlink:to="lab_us-gaap_PaymentsOfFinancingCosts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_9e2ee229-0a7b-4d06-a614-614012dee7ef_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other liabilities </link:label> |
| | <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other Liabilities, Noncurrent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ExercisePriceRangeOneMember_b9baf267-6c0c-4096-8d9d-703d8e75e392_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise price, range one </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeOneMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range One [Member] </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeOneMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> The first exercise price range. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeOneMember" xlink:href="efoi-20201231.xsd#efoi_ExercisePriceRangeOneMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeOneMember" xlink:to="lab_efoi_ExercisePriceRangeOneMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_InventoryValuationReservesWriteOffs_12788645-8f91-444d-b707-8bfe9e9abff7_terseLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesWriteOffs" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Write-off for disposed inventory </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesWriteOffs_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesWriteOffs" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves, Write-Offs </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesWriteOffs_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesWriteOffs" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves, Write-Offs </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesWriteOffs" xlink:href="efoi-20201231.xsd#efoi_InventoryValuationReservesWriteOffs"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesWriteOffs" xlink:to="lab_efoi_InventoryValuationReservesWriteOffs" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_8d75bba9-65c2-49ef-8178-adb3e76c0179_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments to existing warranties </link:label> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_d17b7b5c-cfde-40b5-be37-6a652a50e9a5_terseLabel_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred tax assets, operating loss carryforwards, portion available after application of IRC Section 382 limitations </link:label> |
| | <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_label_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations </link:label> |
| | <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_documentation_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:href="efoi-20201231.xsd#efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:to="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_ccb531d6-ac42-4286-962e-9692345143ee_terseLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrual </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves, Provision (Accrual) </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves, Provision (Accrual) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesProvisionAccrual" xlink:href="efoi-20201231.xsd#efoi_InventoryValuationReservesProvisionAccrual"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesProvisionAccrual" xlink:to="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_515c5ab4-8c8c-4a3f-b082-c61083510586_negatedLabel_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Principal payments under finance lease obligations </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_10815d86-c306-48a3-9d23-f86105837775_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Financing cash flows from finance leases </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_label_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Principal Payments </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:to="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_214de38c-0d63-4c40-ac56-a13ce724e838_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock-based compensation </link:label> |
| | <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> APIC, Share-based Payment Arrangement, Increase for Cost Recognition </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_080f471f-898f-459d-8188-79543daf8dae_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Valuation allowance for deferred tax assets </link:label> |
| | <link:label id="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_label_en-US" xlink:label="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:to="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_eddf6122-b6cc-4b48-b11d-65b2e711638a_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Effect of exchange rate changes on cash </link:label> |
| | <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction_92e39f9d-3b59-4579-815f-a60cfee6b204_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amount invested </link:label> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transaction, Amounts of Transaction </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:to="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ExercisePriceRangeFiveMember_d925b1fb-a9a3-4700-a307-105c1dc8d609_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeFiveMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise price, range five </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeFiveMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeFiveMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range Five [Member] </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeFiveMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeFiveMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range Five </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeFiveMember" xlink:href="efoi-20201231.xsd#efoi_ExercisePriceRangeFiveMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeFiveMember" xlink:to="lab_efoi_ExercisePriceRangeFiveMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_13bd8799-622f-4979-a9bc-34f7738a06a5_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Expired (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryNet_d411bfe3-5c07-467b-abda-2c05df0cef24_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventories, net </link:label> |
| | <link:label id="lab_us-gaap_InventoryNet_d2bfd565-8593-4a83-af81-880b40255f69_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventories, net </link:label> |
| | <link:label id="lab_us-gaap_InventoryNet_label_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory, Net </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryNet"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdvertisingExpense_a56816d2-b660-4317-940b-10ad85e0af63_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Advertising expense </link:label> |
| | <link:label id="lab_us-gaap_AdvertisingExpense_label_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Advertising Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingExpense" xlink:to="lab_us-gaap_AdvertisingExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_6630b651-000a-48de-9170-f97aa9ad47d8_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_label_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Operating Lease Liabilities, Payments, Due, Rolling Maturity [Abstract] </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Operating Lease Liabilities, Payments, Due, Rolling Maturity [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:to="lab_efoi_RestructuredLeasesOperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharePrice_fd547525-6417-42f6-9549-4b29a2f88d9a_terseLabel_en-US" xlink:label="lab_us-gaap_SharePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock price (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_SharePrice_label_en-US" xlink:label="lab_us-gaap_SharePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharePrice" xlink:to="lab_us-gaap_SharePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_4a82a549-a5a0-4d9e-8884-5d037b1cdf76_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:to="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_f445ef61-7efc-4fd7-8088-86fd6db4db65_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration risk </link:label> |
| | <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk, Percentage </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskPercentage1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskPercentage1" xlink:to="lab_us-gaap_ConcentrationRiskPercentage1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_6c28fe5b-0e5b-4a28-99ee-65bf66e23981_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2022 </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_label_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due In Rolling Year Two </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Two </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:to="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_SegmentGeographicalDomain_d396190a-61bb-4d92-bfdb-726e40569e5b_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Geographical [Domain] </link:label> |
| | <link:label id="lab_srt_SegmentGeographicalDomain_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Geographical [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_SegmentGeographicalDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_99a2b573-5634-4976-996f-e67e710df726_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Vesting periods </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_9ba8e087-2e15-4d15-ae84-0161938b2bd2_verboseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_IncreaseDecreaseInInventoryReserves_df87eee0-c647-45f2-b844-c697a29c1c35_negatedTerseLabel_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryReserves" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Provision for slow-moving and obsolete inventories </link:label> |
| | <link:label id="lab_efoi_IncreaseDecreaseInInventoryReserves_label_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) In Inventory Reserves </link:label> |
| | <link:label id="lab_efoi_IncreaseDecreaseInInventoryReserves_documentation_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryReserves" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) In Inventory Reserves </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInInventoryReserves" xlink:href="efoi-20201231.xsd#efoi_IncreaseDecreaseInInventoryReserves"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_IncreaseDecreaseInInventoryReserves" xlink:to="lab_efoi_IncreaseDecreaseInInventoryReserves" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DeferredTaxAssetsLeasingArrangements_6a5bb236-a445-4eac-ace5-015678760a57_terseLabel_en-US" xlink:label="lab_efoi_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lease liabilities </link:label> |
| | <link:label id="lab_efoi_DeferredTaxAssetsLeasingArrangements_label_en-US" xlink:label="lab_efoi_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Leasing Arrangements </link:label> |
| | <link:label id="lab_efoi_DeferredTaxAssetsLeasingArrangements_documentation_en-US" xlink:label="lab_efoi_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Leasing Arrangements </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsLeasingArrangements" xlink:href="efoi-20201231.xsd#efoi_DeferredTaxAssetsLeasingArrangements"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DeferredTaxAssetsLeasingArrangements" xlink:to="lab_efoi_DeferredTaxAssetsLeasingArrangements" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LongTermPurchaseCommitmentAmount_7b30aa7c-e51b-4a09-b5ce-4add70f1dd70_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Purchase commitment </link:label> |
| | <link:label id="lab_us-gaap_LongTermPurchaseCommitmentAmount_label_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-term Purchase Commitment, Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems_c6a2a6f3-6a8f-4554-9dcd-7f230d066f3d_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items] </link:label> |
| | <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StatementLineItems_fffe3e66-5a29-406f-93de-77a7f2119ea2_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ScenarioForecastMember_3696ac8b-15b5-43df-9aa3-5f3930b0aa2d_terseLabel_en-US" xlink:label="lab_srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Scenario, forecast </link:label> |
| | <link:label id="lab_srt_ScenarioForecastMember_label_en-US" xlink:label="lab_srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Forecast [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ScenarioForecastMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioForecastMember" xlink:to="lab_srt_ScenarioForecastMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ClassOfStockDomain_e956d740-1839-4068-a9f4-bf8cd24fb0bd_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class of Stock [Domain] </link:label> |
| | <link:label id="lab_us-gaap_ClassOfStockDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class of Stock [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_0a636f80-f0fa-47f3-ab75-a09a4e784d09_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Denominator: </link:label> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Earnings Per Share, Basic and Diluted [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityVoluntaryFilers_742c307e-09ff-4ae2-9fff-7def9e9476c7_terseLabel_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Voluntary Filers </link:label> |
| | <link:label id="lab_dei_EntityVoluntaryFilers_label_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Voluntary Filers </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityVoluntaryFilers"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers" xlink:to="lab_dei_EntityVoluntaryFilers" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StatementTable_8808d506-89f4-4802-bc20-acdd35d245ef_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement [Table] </link:label> |
| | <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredFinanceCostsCurrentNet_22fb8725-c8c6-49c1-98a8-c403d1c279e0_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsCurrentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other </link:label> |
| | <link:label id="lab_us-gaap_DeferredFinanceCostsCurrentNet_label_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsCurrentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Issuance Costs, Current, Net </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsCurrentNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFinanceCostsCurrentNet"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsCurrentNet" xlink:to="lab_us-gaap_DeferredFinanceCostsCurrentNet" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_1f02b8b8-11d1-487d-9a5e-eea1a63cad84_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Impairment Effects on Earnings Per Share [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_label_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Impairment Effects on Earnings Per Share [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyPolicy_083ee4d9-d9f3-42c8-baae-3af509414a54_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product warranties </link:label> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyPolicy_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Standard Product Warranty, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyPolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StandardProductWarrantyPolicy"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyPolicy" xlink:to="lab_us-gaap_StandardProductWarrantyPolicy" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_TypeOfRestructuringDomain_bae50ba8-5a47-44a7-b7cc-479669080e70_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Type of Restructuring [Domain] </link:label> |
| | <link:label id="lab_us-gaap_TypeOfRestructuringDomain_label_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Type of Restructuring [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfRestructuringDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfRestructuringDomain" xlink:to="lab_us-gaap_TypeOfRestructuringDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_RangeAxis_8212e834-876f-483a-be1a-0385615473bf_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statistical Measurement [Axis] </link:label> |
| | <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statistical Measurement [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_RangeAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CreditFacilityAxis_2e29bbcb-38ea-4310-9aad-5b9183322726_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit Facility [Axis] </link:label> |
| | <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit Facility [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_df87cc33-7360-4841-a08f-3c767bbc191f_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Leases </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, Payment, Due, Rolling Maturity [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:to="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PreferredStockSharesIssued_e72fe425-a5f6-4a3e-8d01-a2c47db0c942_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred stock, shares issued </link:label> |
| | <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred Stock, Shares Issued </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesIssued"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeasePayments_4995c9e4-6df8-43ec-95bb-9bb4da3bc5ef_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating cash flows from restructured leases </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeasePayments_label_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Operating Lease, Payments </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeasePayments_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Operating Lease, Payments </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesOperatingLeasePayments" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesOperatingLeasePayments"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesOperatingLeasePayments" xlink:to="lab_efoi_RestructuredLeasesOperatingLeasePayments" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_1627a1c9-69d9-49c4-bc42-2feb0b08ea98_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total future undiscounted lease payments </link:label> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Payments to be Received </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceived"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm_a4959b33-6e77-477d-925c-16e89782a9c8_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured lease, weighted average remaining lease term </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm_label_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Operating Lease, Weighted Average Remaining Lease Term </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Operating Lease, Weighted Average Remaining Lease Term </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm" xlink:to="lab_efoi_RestructuredLeasesOperatingLeaseWeightedAverageRemainingLeaseTerm" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromLoanOriginations1_b7cc3656-5297-4977-8454-491c6c0b5157_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLoanOriginations1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from loan origination </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromLoanOriginations1_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLoanOriginations1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Loan Originations </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLoanOriginations1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromLoanOriginations1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLoanOriginations1" xlink:to="lab_us-gaap_ProceedsFromLoanOriginations1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_BrilliantStartEnterpriseInc.Member_05be4f68-266e-466b-9887-65b5403ae092_terseLabel_en-US" xlink:label="lab_efoi_BrilliantStartEnterpriseInc.Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Brilliant Start Enterprise, Inc. </link:label> |
| | <link:label id="lab_efoi_BrilliantStartEnterpriseInc.Member_label_en-US" xlink:label="lab_efoi_BrilliantStartEnterpriseInc.Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Brilliant Start Enterprise, Inc. [Member] </link:label> |
| | <link:label id="lab_efoi_BrilliantStartEnterpriseInc.Member_documentation_en-US" xlink:label="lab_efoi_BrilliantStartEnterpriseInc.Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Brilliant Start Enterprise, Inc. [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_BrilliantStartEnterpriseInc.Member" xlink:href="efoi-20201231.xsd#efoi_BrilliantStartEnterpriseInc.Member"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_BrilliantStartEnterpriseInc.Member" xlink:to="lab_efoi_BrilliantStartEnterpriseInc.Member" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_acf7deb6-f0e4-4218-9aad-44fb852330ea_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise price of warrants (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class of Warrant or Right, Exercise Price of Warrants or Rights </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:to="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive_1e2a9aee-a81b-4ae5-966d-11e22248a393_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2025 </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Payments, Due in Rolling Year Five </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract_ca4fa286-fdc4-4bc2-8810-8417a66e097c_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring and Related Activities [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring and Related Activities [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_b0619f34-feac-49f0-8b6b-5bd6594a4d5d_terseLabel_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Standard Product Warranty, Number of Years </link:label> |
| | <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_label_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Standard Product Warranty, Number of Years </link:label> |
| | <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_documentation_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Standard Product Warranty, Number of Years </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_StandardProductWarrantyNumberofYears" xlink:href="efoi-20201231.xsd#efoi_StandardProductWarrantyNumberofYears"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_StandardProductWarrantyNumberofYears" xlink:to="lab_efoi_StandardProductWarrantyNumberofYears" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasicAndDiluted_ed2f2cf2-9bd2-4cd6-bd0d-0304b465a8f7_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDiluted" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net loss </link:label> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasicAndDiluted_f801e7c2-f6a9-4585-a4a4-10c1b0a91779_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net loss per share (basic and diluted) (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasicAndDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Earnings Per Share, Basic and Diluted </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDiluted" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDiluted"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDiluted" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDiluted" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntitySmallBusiness_c47a0334-5e11-4551-ab69-daf6182a9275_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Small Business </link:label> |
| | <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Small Business </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntitySmallBusiness"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_3f9f89f3-483a-4094-b4bb-2ae3d15c23d9_totalLabel_en-US" xlink:label="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease right-of-use assets, total </link:label> |
| | <link:label id="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_label_en-US" xlink:label="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Right-of-Use Asset, Including Restructured Leases </link:label> |
| | <link:label id="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Right-of-Use Asset, Including Restructured Leases </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:href="efoi-20201231.xsd#efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:to="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_31988a5e-d1d5-4ef5-9ba2-2d0f08eb79e9_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Stockholders' Equity [Roll Forward] </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Stockholders' Equity [Roll Forward] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_UnamortizedDebtIssuanceExpense_f82c3cce-4b94-422a-8e6f-c89ea76aafb1_terseLabel_en-US" xlink:label="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Unamortized net issuance costs </link:label> |
| | <link:label id="lab_us-gaap_UnamortizedDebtIssuanceExpense_label_en-US" xlink:label="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Unamortized Debt Issuance Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnamortizedDebtIssuanceExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnamortizedDebtIssuanceExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnamortizedDebtIssuanceExpense" xlink:to="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtDisclosureTextBlock_85843cde-9526-4b47-988c-6938dbd276fa_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt </link:label> |
| | <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_6cb9cd91-797e-4c96-9584-4b777789caaa_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Remaining Contractual Life (in years) </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_49f4917b-e6ad-47ec-bbd1-673b6d5d64a2_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Selling, general, and administrative </link:label> |
| | <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Selling, General and Administrative Expenses [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_AmendmentFlag_796aa802-dc73-4860-8f73-b595844dcbd9_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amendment Flag </link:label> |
| | <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amendment Flag </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_AmendmentFlag"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_50d3ebe0-69f0-4d0d-817d-9c5da74ef6f2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Earnings Per Share, Basic and Diluted </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PrepaidRent_379e56f1-3feb-4453-9a9b-23134ba7b3c9_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidRent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid rent </link:label> |
| | <link:label id="lab_us-gaap_PrepaidRent_label_en-US" xlink:label="lab_us-gaap_PrepaidRent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid Rent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidRent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidRent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidRent" xlink:to="lab_us-gaap_PrepaidRent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_c4bce043-9dc1-4a01-8d7a-a5dec8fc347c_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued interest and penalties related to uncertain tax positions </link:label> |
| | <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_84daf57d-71c6-4c1c-8d3d-daaf050c9c8f_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Business Acquisition, Contingent Consideration [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Business Acquisition, Contingent Consideration [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BusinessAcquisitionContingentConsiderationLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_d0a873b2-3a40-43fa-84b3-af41ef617389_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Number of shares authorized (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_bdb193b1-1b34-4ac4-b1f5-416fb1cf37d9_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Leases </link:label> |
| | <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Finance Leases [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:to="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ResearchAndDevelopmentExpensePolicy_0eebaf03-c713-4645-bfc2-1841f7fd6c60_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product development </link:label> |
| | <link:label id="lab_us-gaap_ResearchAndDevelopmentExpensePolicy_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Research and Development Expense, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_595e3bda-2274-49bc-b3f6-85b83a979cfc_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amount available under facility based on qualified accounts receivable </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Amount Available Based On Qualified Accounts </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Amount Available Based On Qualified Accounts </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:to="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_InventoryFacilityMember_92fa1df8-f81c-49c0-a59b-284debca9585_terseLabel_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Facility </link:label> |
| | <link:label id="lab_efoi_InventoryFacilityMember_label_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Facility [Member] </link:label> |
| | <link:label id="lab_efoi_InventoryFacilityMember_documentation_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Facility </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryFacilityMember" xlink:href="efoi-20201231.xsd#efoi_InventoryFacilityMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryFacilityMember" xlink:to="lab_efoi_InventoryFacilityMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_e9fcc68b-387b-44cb-8d97-d64a1a172206_terseLabel_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Purchase price (in dollars per share) </link:label> |
| | <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_label_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class Of Warrant Or Right, Warrants Issued, Price Per Share </link:label> |
| | <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_documentation_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class Of Warrant Or Right, Warrants Issued, Price Per Share </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:href="efoi-20201231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:to="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_ac08fada-1973-4989-892b-cf9e0a4403e9_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Number of shares available for grant (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConvertibleNotesPayableCurrent_f3393da3-e3f9-42e6-a21b-47237ce4c37a_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertibleNotesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Convertible notes </link:label> |
| | <link:label id="lab_us-gaap_ConvertibleNotesPayableCurrent_label_en-US" xlink:label="lab_us-gaap_ConvertibleNotesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Convertible Notes Payable, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleNotesPayableCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleNotesPayableCurrent" xlink:to="lab_us-gaap_ConvertibleNotesPayableCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_6f23d03a-59fa-4777-a87d-ff66d9e1c943_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued liabilities </link:label> |
| | <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other Accrued Liabilities, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProductWarrantyLiabilityLineItems_8fd781ec-960b-4195-b72a-5afcba109a87_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product Warranty Liability [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_ProductWarrantyLiabilityLineItems_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product Warranty Liability [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RepaymentsOfDebt_38232e13-00d3-4518-9a64-7d2b4c4bb6bd_terseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Repayments of debt </link:label> |
| | <link:label id="lab_us-gaap_RepaymentsOfDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Repayments of Debt </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfDebt"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfDebt" xlink:to="lab_us-gaap_RepaymentsOfDebt" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_6c662b56-78fd-4c2e-83c4-6b9a2ee2d54d_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Financial Instruments </link:label> |
| | <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fair Value Measurement, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_cd88f543-02f5-446d-b39c-6dd4dab1e158_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net cash used in operating activities </link:label> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_4eb7bfd6-c93c-4db1-9f04-54717ea09278_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net cash used in operating activities </link:label> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net Cash Provided by (Used in) Operating Activities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityCentralIndexKey_1b4a202d-c20c-4008-819d-81a0d51239b3_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Central Index Key </link:label> |
| | <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Central Index Key </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCentralIndexKey"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RelatedPartyDomain_1dfd0e62-e4c8-4d64-86d9-206435aceadb_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party [Domain] </link:label> |
| | <link:label id="lab_us-gaap_RelatedPartyDomain_label_en-US" xlink:label="lab_us-gaap_RelatedPartyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyDomain" xlink:to="lab_us-gaap_RelatedPartyDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_f141d50d-dc3a-469d-a898-696f9d55360a_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring </link:label> |
| | <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring and Related Activities Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:to="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionLineItems_af9c0756-1171-418e-8c94-405b558e1c23_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transaction [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionLineItems_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transaction [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems" xlink:to="lab_us-gaap_RelatedPartyTransactionLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_StatementGeographicalAxis_90b04f3c-10c7-43cc-8afc-9dd8ec7a6ede_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Geographical [Axis] </link:label> |
| | <link:label id="lab_srt_StatementGeographicalAxis_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Geographical [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementGeographicalAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubsequentEventsTextBlock_84382ba1-5f26-4ab7-b5a5-ec07c891dba1_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Events </link:label> |
| | <link:label id="lab_us-gaap_SubsequentEventsTextBlock_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Events [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventsTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock" xlink:to="lab_us-gaap_SubsequentEventsTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_78658ca8-6dcd-44aa-ad85-e152e19cf32e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Shares issued in the period (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_01a5a0c1-6636-4727-a95c-d26006bd243d_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Payment, Due, Rolling Maturity [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:to="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FairValueAdjustmentOfWarrants_32706d5b-f199-47f9-b48b-613bca8151bd_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAdjustmentOfWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Loss from change in fair value of warrants </link:label> |
| | <link:label id="lab_us-gaap_FairValueAdjustmentOfWarrants_937d347a-237f-4036-a7ad-0e44c96fcb69_verboseLabel_en-US" xlink:label="lab_us-gaap_FairValueAdjustmentOfWarrants" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Change in fair value of warrant liabilities </link:label> |
| | <link:label id="lab_us-gaap_FairValueAdjustmentOfWarrants_label_en-US" xlink:label="lab_us-gaap_FairValueAdjustmentOfWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fair Value Adjustment of Warrants </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAdjustmentOfWarrants" xlink:to="lab_us-gaap_FairValueAdjustmentOfWarrants" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_c2c125f2-52d1-43fb-9511-3371658e7368_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement of Cash Flows [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement of Cash Flows [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_63534425-914b-432a-9db3-cb2c1fc67e22_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment, Type [Axis] </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-Lived Tangible Asset [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_9839c946-f90a-44d3-83e1-7e47f3d5c57d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Summary of Restricted Stock Activity </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_ffc91e12-6124-436a-a3bf-6db447205ee9_periodStartLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Beginning Balance </link:label> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_a456509f-7738-49ad-8802-78ce992a70a5_periodEndLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ending Balance </link:label> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_adba974c-c226-42f1-9dbf-b7a2e1973652_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Breakdown of Product Net Sales </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revenue from External Customers by Products and Services [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeStatementLocationAxis_c86a7328-1e5d-4887-92ce-2cf4e4fa3e3d_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Statement Location [Axis] </link:label> |
| | <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Statement Location [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_67b7263d-c9a1-4b5c-95f8-b4f7b7a95fa2_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Trade accounts receivable, allowances </link:label> |
| | <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Receivable, Allowance for Credit Loss, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DepositsAssetsCurrent_7e944ae3-be57-403c-833b-f481652c65da_terseLabel_en-US" xlink:label="lab_us-gaap_DepositsAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Short-term deposits </link:label> |
| | <link:label id="lab_us-gaap_DepositsAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_DepositsAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deposits Assets, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepositsAssetsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DepositsAssetsCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepositsAssetsCurrent" xlink:to="lab_us-gaap_DepositsAssetsCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_dd1e9775-2185-4c5f-830b-6aee4d217f1d_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Remaining Contractual Life (in years) </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Remaining Contractual Term </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityCommonStockSharesOutstanding_cb298eb3-a90e-494b-97fd-f91653a9194a_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Common Stock, Shares Outstanding </link:label> |
| | <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Common Stock, Shares Outstanding </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCommonStockSharesOutstanding"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeStatementLocationDomain_21f9ffcf-5f75-483b-bbe1-efe054845e4f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Statement Location [Domain] </link:label> |
| | <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Statement Location [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DSeriesLampsMember_27110193-3ce4-4131-b719-3fcd3e2e44bc_terseLabel_en-US" xlink:label="lab_efoi_DSeriesLampsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> D-Series Lamps </link:label> |
| | <link:label id="lab_efoi_DSeriesLampsMember_label_en-US" xlink:label="lab_efoi_DSeriesLampsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> D-Series Lamps [Member] </link:label> |
| | <link:label id="lab_efoi_DSeriesLampsMember_documentation_en-US" xlink:label="lab_efoi_DSeriesLampsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> D-Series Lamps </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DSeriesLampsMember" xlink:href="efoi-20201231.xsd#efoi_DSeriesLampsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DSeriesLampsMember" xlink:to="lab_efoi_DSeriesLampsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_920528ee-56f3-4a11-b48d-3512e91fd8b8_terseLabel_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> State and Local </link:label> |
| | <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_label_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> State and Local Jurisdiction [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:to="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_74efe99f-9205-4616-8836-531273d222c1_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash flows from financing activities: </link:label> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net Cash Provided by (Used in) Financing Activities [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_8d977dec-6c35-4fc6-a0a2-9d1625edee08_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Selling, general, and administrative </link:label> |
| | <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Selling, General and Administrative Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_ec9b6b5b-4bad-4f0c-b5ef-76a2628ad08c_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Prepaid and Other Current Assets </link:label> |
| | <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockholdersEquityNoteAbstract_64fbb49e-2ea5-4788-b156-7dedc24d03ff_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stockholders' Equity Note [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_StockholdersEquityNoteAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stockholders' Equity Note [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteAbstract" xlink:to="lab_us-gaap_StockholdersEquityNoteAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_296cd756-f2f2-4074-998f-ca743206dc2c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Geographic Summary of Net Sales </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LeaseCostTableTextBlock_6209aabb-a07e-48fe-a14b-4d907146982d_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Components of Lease Cost and Supplemental Cash Flow Information </link:label> |
| | <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lease, Cost [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OtherAssetsNoncurrent_be000a59-73c0-4147-bbe7-edb47c7dd110_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other assets </link:label> |
| | <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other Assets, Noncurrent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherAssetsNoncurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PlanNameAxis_eb6ab433-b9c2-4623-8fb8-3378ec89a236_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Plan Name [Axis] </link:label> |
| | <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Plan Name [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_996b97e2-5039-4faa-a77b-8af13b1c58da_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product and Geographic Information </link:label> |
| | <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Segment Reporting Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues_afe046be-1639-4e6f-a1c4-df12d1682878_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Issuance of common stock and warrants </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock Issued During Period, Value, New Issues </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConcentrationRiskTable_0e6edb0f-ec55-43a8-8656-ced8b2511af1_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk [Table] </link:label> |
| | <link:label id="lab_us-gaap_ConcentrationRiskTable_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTable" xlink:to="lab_us-gaap_ConcentrationRiskTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_Assets_2e3d5eb2-6244-4e9d-8fa2-cb5b6c393724_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total assets </link:label> |
| | <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Assets </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Assets"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_cd3dccb4-deec-41dc-a41b-a1e5e874c88e_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transactions </link:label> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transactions Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_StatementScenarioAxis_b110ae25-25fd-4f0a-a0e2-79e76323d4af_terseLabel_en-US" xlink:label="lab_srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Scenario [Axis] </link:label> |
| | <link:label id="lab_srt_StatementScenarioAxis_label_en-US" xlink:label="lab_srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Scenario [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_StatementScenarioAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementScenarioAxis" xlink:to="lab_srt_StatementScenarioAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_3e5e4580-6ad2-4911-b90b-dccf7a7c50ad_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Issuance of warrants, January 2020 </link:label> |
| | <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_9445101a-c5d6-4b26-9cfc-3efd10217d7b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range [Domain] </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_EmployeeStockPurchasePlan2013Member_39dba3c0-a3b9-4fad-81c7-32fa0c51cb0d_terseLabel_en-US" xlink:label="lab_efoi_EmployeeStockPurchasePlan2013Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2013 Plan </link:label> |
| | <link:label id="lab_efoi_EmployeeStockPurchasePlan2013Member_label_en-US" xlink:label="lab_efoi_EmployeeStockPurchasePlan2013Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Employee Stock Purchase Plan 2013 [Member] </link:label> |
| | <link:label id="lab_efoi_EmployeeStockPurchasePlan2013Member_documentation_en-US" xlink:label="lab_efoi_EmployeeStockPurchasePlan2013Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Information related to the employee stock purchase plan approved in 2013. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployeeStockPurchasePlan2013Member" xlink:href="efoi-20201231.xsd#efoi_EmployeeStockPurchasePlan2013Member"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_EmployeeStockPurchasePlan2013Member" xlink:to="lab_efoi_EmployeeStockPurchasePlan2013Member" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_Security12bTitle_00bf2027-8dde-4104-a0f1-fedab4ead9ea_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Title of 12(b) Security </link:label> |
| | <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Title of 12(b) Security </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_Security12bTitle"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_bf981ba7-98af-406e-b305-fbbcb07df100_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Accrued Current Liabilities </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Accrued Liabilities [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_f3158c1c-0aa2-493d-bd4d-a6481508f25c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fair value of options issued (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_InstitutionalInvestorMember_19aa8e09-1c63-445d-bea7-32c877d8c04c_terseLabel_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Institutional Investor </link:label> |
| | <link:label id="lab_efoi_InstitutionalInvestorMember_label_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Institutional Investor [Member] </link:label> |
| | <link:label id="lab_efoi_InstitutionalInvestorMember_documentation_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Institutional Investor </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember" xlink:href="efoi-20201231.xsd#efoi_InstitutionalInvestorMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InstitutionalInvestorMember" xlink:to="lab_efoi_InstitutionalInvestorMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubsequentEventTypeAxis_86c7c5ac-5a1e-4f7a-8849-463a022573fb_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event Type [Axis] </link:label> |
| | <link:label id="lab_us-gaap_SubsequentEventTypeAxis_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event Type [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis" xlink:to="lab_us-gaap_SubsequentEventTypeAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CostOfSalesMember_b381453c-7e9e-4399-b5f1-e49f1bc6c7fd_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cost of sales </link:label> |
| | <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cost of Sales [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfSalesMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_ecec08c1-1720-49ad-b4ba-0a6e93b3db7e_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Certain risks and concentrations </link:label> |
| | <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk, Credit Risk, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:to="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_4ec95bd0-85ad-4dfb-bce6-043f41e89b5f_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Future Maturities of Finance Lease Liabilities </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Fiscal Year Maturity [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InterestExpense_d30ea89c-278a-482e-a3c6-295cae0844ec_terseLabel_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Interest expense </link:label> |
| | <link:label id="lab_us-gaap_InterestExpense_label_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Interest Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpense" xlink:to="lab_us-gaap_InterestExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_PoolAndCommercialProductsMember_8b231bfa-a907-4043-802e-e8bb340f0bf6_verboseLabel_en-US" xlink:label="lab_efoi_PoolAndCommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Commercial products </link:label> |
| | <link:label id="lab_efoi_PoolAndCommercialProductsMember_label_en-US" xlink:label="lab_efoi_PoolAndCommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Pool And Commercial Products [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_PoolAndCommercialProductsMember" xlink:href="efoi-20201231.xsd#efoi_PoolAndCommercialProductsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PoolAndCommercialProductsMember" xlink:to="lab_efoi_PoolAndCommercialProductsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_72dc3cec-331b-4e50-8e50-6873b6b41f65_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Exercise Price (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:to="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_8634f028-a2ae-4b78-b6ab-2ebc27e49223_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Components of Benefits from Income Taxes </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ProductOrServiceAxis_da421ead-06a5-4e9f-9b9d-29042a7d308f_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product and Service [Axis] </link:label> |
| | <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product and Service [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductOrServiceAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_Liabilities_c4342065-6b60-42ab-8495-5967e3f85094_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total liabilities </link:label> |
| | <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Liabilities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Liabilities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_c7ce929a-6be0-498e-84be-16b5a13277b3_terseLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Reduction due to sold inventory </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves, Sales Of Inventory </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves, Sales Of Inventory </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesSalesOfInventory" xlink:href="efoi-20201231.xsd#efoi_InventoryValuationReservesSalesOfInventory"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesSalesOfInventory" xlink:to="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_InternationalMember_bc97740a-e724-4609-863d-c9464e49addb_terseLabel_en-US" xlink:label="lab_efoi_InternationalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> International </link:label> |
| | <link:label id="lab_efoi_InternationalMember_label_en-US" xlink:label="lab_efoi_InternationalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> International [Member] </link:label> |
| | <link:label id="lab_efoi_InternationalMember_documentation_en-US" xlink:label="lab_efoi_InternationalMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> International </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_InternationalMember" xlink:href="efoi-20201231.xsd#efoi_InternationalMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InternationalMember" xlink:to="lab_efoi_InternationalMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_9aa05f03-8668-4fcc-83fb-dc10d2468716_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Remaining weighted average life </link:label> |
| | <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_28c75203-55ee-4560-83fd-410b397d9900_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Expected volatility </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_a25ca24b-e22b-4a5e-9f1e-65ffe24814e7_negatedLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Less imputed interest </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, Undiscounted Excess Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_248cca58-f262-46a1-9834-5e6d28c30d8d_totalLabel_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease cost, net </link:label> |
| | <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_label_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Cost, Net Of Sublease Income </link:label> |
| | <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Cost, Net Of Sublease Income </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:href="efoi-20201231.xsd#efoi_OperatingLeaseCostNetOfSubleaseIncome"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:to="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_33799f63-3f76-41ed-820b-355ac896118f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Related Party Transactions, by Related Party [Table] </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Related Party Transactions, by Related Party [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_PaycheckProtectionProgramCARESActMember_99e305e0-b920-405e-b849-53a88f1d8632_terseLabel_en-US" xlink:label="lab_efoi_PaycheckProtectionProgramCARESActMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Paycheck Protection Program CARES Act </link:label> |
| | <link:label id="lab_efoi_PaycheckProtectionProgramCARESActMember_label_en-US" xlink:label="lab_efoi_PaycheckProtectionProgramCARESActMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Paycheck Protection Program CARES Act [Member] </link:label> |
| | <link:label id="lab_efoi_PaycheckProtectionProgramCARESActMember_documentation_en-US" xlink:label="lab_efoi_PaycheckProtectionProgramCARESActMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Paycheck Protection Program CARES Act </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_PaycheckProtectionProgramCARESActMember" xlink:href="efoi-20201231.xsd#efoi_PaycheckProtectionProgramCARESActMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaycheckProtectionProgramCARESActMember" xlink:to="lab_efoi_PaycheckProtectionProgramCARESActMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount_23049796-8f1f-4cfb-aa6b-5031fce1d123_verboseLabel_en-US" xlink:label="lab_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Less imputed interest </link:label> |
| | <link:label id="lab_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Liability, Undiscounted Excess Amount </link:label> |
| | <link:label id="lab_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount_documentation_en-US" xlink:label="lab_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Liability, Undiscounted Excess Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="efoi-20201231.xsd#efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_efoi_LessorOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_d7d6e8b6-e4eb-48c5-bbcf-28c002202134_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Commitments and Contingencies Disclosure [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Commitments and Contingencies Disclosure [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue_91aecc61-d18e-42ab-9ba5-651ecf9a59b2_totalLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total future undiscounted lease payments </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_ca913694-511f-444a-973e-9a335f1d96af_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventories </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Inventories </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_a37efbd7-f0ab-4907-ae6c-5b840185f4d5_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts payable </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Accounts Payable </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_b9e9f686-d184-40f9-a3db-ebbff6c0849d_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2025 </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_label_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due In Rolling Year Five </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due In Rolling Year Five </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:to="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset_2a3f5ba6-000d-4be3-8116-050b2e4c180f_terseLabel_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured lease, right-of-use asset </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Operating Lease, Right-Of-Use Asset </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset_documentation_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Operating Lease, Right-Of-Use Asset </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:href="efoi-20201231.xsd#efoi_RestructuredOperatingLeaseRightOfUseAsset"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:to="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentAxis_bd041510-a80b-4d87-a373-5b07f18d66f2_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument [Axis] </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_6c83ec49-eb56-4ae7-a099-fa5ca797ba89_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Additional Paid-in Capital </link:label> |
| | <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Additional Paid-in Capital [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember_9a251828-7f61-4c2f-9fc7-1f3166e39f37_terseLabel_en-US" xlink:label="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 5 Elements Energy Efficiencies (BVI) Ltd. </link:label> |
| | <link:label id="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember_label_en-US" xlink:label="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 5 Elements Energy Efficiencies (BVI) Ltd. [Member] </link:label> |
| | <link:label id="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember_documentation_en-US" xlink:label="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 5 Elements Energy Efficiencies (BVI) Ltd. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:href="efoi-20201231.xsd#efoi_A5ElementsEnergyEfficienciesBVILtdMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:to="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_bdebe870-fe45-4861-9622-294c3084b427_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Quarterly Financial Data </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Quarterly Financial Information [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ClassOfStockLineItems_050744ba-4030-4f2d-af8f-38ca5640cd28_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class of Stock [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_ClassOfStockLineItems_label_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class of Stock [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ClassOfStockLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockLineItems" xlink:to="lab_us-gaap_ClassOfStockLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_0ba77167-a4fe-4b6a-a62b-dce8ef2e822d_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued and other liabilities </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Accrued Liabilities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee_3bb5ae3a-e064-40d7-9fa3-231de53da36d_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Minimum monthly fee </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Monthly Facility Fee </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Monthly Facility Fee </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityMonthlyFacilityFee"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:to="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_8694b1a5-7648-4f12-8620-1554d65dba97_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments to reconcile net loss to net cash used in operating activities: </link:label> |
| | <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember_ef4ae58d-ff6a-4e85-a4e0-be6fbd6a0739_terseLabel_en-US" xlink:label="lab_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> LEDFL Tubular LED Lamps (Excluding Red Caps) </link:label> |
| | <link:label id="lab_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember_label_en-US" xlink:label="lab_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> LEDFL Tubular LED Lamps (Excluding Red Caps) [Member] </link:label> |
| | <link:label id="lab_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember_documentation_en-US" xlink:label="lab_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> LEDFL Tubular LED Lamps (Excluding Red Caps) [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember" xlink:href="efoi-20201231.xsd#efoi_LEDFLTubularLEDLampsExcludingRedCapsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember" xlink:to="lab_efoi_LEDFLTubularLEDLampsExcludingRedCapsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseInterestExpense_a426aa80-ca83-4feb-a01f-eadac6eb5eab_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseInterestExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Interest on lease liabilities </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseInterestExpense_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseInterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Interest Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseInterestExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseInterestExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseInterestExpense" xlink:to="lab_us-gaap_FinanceLeaseInterestExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_b80ef79b-79a4-4210-8228-dd02a0a9642e_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued expenses and other reserves </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Other </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount_0dd5e5d9-6aca-42bd-8e79-9ed1589428e1_negatedTerseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Less imputed interest </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Undiscounted Excess Amount </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Undiscounted Excess Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CommonStockSharesOutstanding_241fe240-4672-4066-b61a-c15fdfaa1f71_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common stock, number of shares outstanding </link:label> |
| | <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common Stock, Shares, Outstanding </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_d7165c95-dd6d-4860-89b6-1a74b6c9a1d1_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Disclosure [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Disclosure [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_b07c277f-454d-422f-a210-e470d45df831_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revolving Credit Facility </link:label> |
| | <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revolving Credit Facility [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OtherCurrentAssetsTextBlock_73592f95-0899-4857-a989-755241ce75ff_terseLabel_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid and Other Current Assets </link:label> |
| | <link:label id="lab_us-gaap_OtherCurrentAssetsTextBlock_label_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other Current Assets [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherCurrentAssetsTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherCurrentAssetsTextBlock" xlink:to="lab_us-gaap_OtherCurrentAssetsTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_721a8e16-b416-44d7-8139-cf994ef325a3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Number of Shares Exercisable (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_b6389ffa-b3bc-4a2d-80c9-507bc6871ddf_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Loss from operations before income taxes </link:label> |
| | <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_80c545e4-3b64-4026-80d7-5d263506dcf6_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product development </link:label> |
| | <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Research and Development Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants_70b034b8-f854-4acc-996c-f086525c4cb8_terseLabel_en-US" xlink:label="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Issuance of common stock upon the exercise of warrants </link:label> |
| | <link:label id="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants_label_en-US" xlink:label="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock and Warrants Issued During Period, Value, Preferred Stock and Warrants </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:to="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_87fdbec8-2be1-4903-bdaf-f2215153c91b_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other </link:label> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Effective Income Tax Rate Reconciliation, Other Adjustments, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubsequentEventMember_4ad45342-86ed-4cf1-8880-e7474ed3f73e_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event </link:label> |
| | <link:label id="lab_us-gaap_SubsequentEventMember_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember" xlink:to="lab_us-gaap_SubsequentEventMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_bdc65c21-eae2-4c70-b821-4e50261e48ae_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Outstanding at beginning of period (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_e29c2378-04d1-4016-bd4c-b3f3641cfa1a_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Outstanding at end of period (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DomesticCountryMember_f647d1d2-0562-45dc-9e41-25214f760e55_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> U.S. Federal </link:label> |
| | <link:label id="lab_us-gaap_DomesticCountryMember_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Domestic Tax Authority [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DomesticCountryMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CommonStockSharesAuthorized_0e39a931-4e19-4ce4-8184-bfc17555d824_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common stock, number of shares authorized </link:label> |
| | <link:label id="lab_us-gaap_CommonStockSharesAuthorized_045a4814-8380-48b0-b6f6-93414d0b0f00_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common Stock, Shares Authorized </link:label> |
| | <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common Stock, Shares Authorized </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_a14edd66-5e79-4faf-b462-de9df2b24826_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk Type [Axis] </link:label> |
| | <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk Type [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:to="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_13309c53-258d-4678-bb0b-64c6e21aaa23_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property and equipment at cost </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment, Gross </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_8dd19bbf-edaf-4f5a-b196-238d874fa406_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from exercise of stock options and purchases through employee stock purchase plan </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Stock Options Exercised </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_34c2e7e6-a3fb-42b5-8f7c-f73630548387_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> U.S. Federal </link:label> |
| | <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Federal Income Tax Expense (Benefit) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringPlanDomain_28a4424b-6484-4ddd-a9f1-eafbb0ac8f8a_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringPlanDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Plan [Domain] </link:label> |
| | <link:label id="lab_us-gaap_RestructuringPlanDomain_label_en-US" xlink:label="lab_us-gaap_RestructuringPlanDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Plan [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringPlanDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringPlanDomain" xlink:to="lab_us-gaap_RestructuringPlanDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ExercisePriceRangeFourMember_c9af7692-ad67-4648-85d4-bf5edebe1b04_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeFourMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise price, range four </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeFourMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeFourMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range Four [Member] </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeFourMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeFourMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> The third exercise price range. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeFourMember" xlink:href="efoi-20201231.xsd#efoi_ExercisePriceRangeFourMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeFourMember" xlink:to="lab_efoi_ExercisePriceRangeFourMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_719d359b-3b04-42fc-a2b9-2d917c6c0106_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] </link:label> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LonglivedAssetsLocatedinUSPercent_f1c37df0-b6d1-4fb9-8667-318846859434_terseLabel_en-US" xlink:label="lab_efoi_LonglivedAssetsLocatedinUSPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-lived assets located in US, percent </link:label> |
| | <link:label id="lab_efoi_LonglivedAssetsLocatedinUSPercent_label_en-US" xlink:label="lab_efoi_LonglivedAssetsLocatedinUSPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-lived Assets Located in US, Percent </link:label> |
| | <link:label id="lab_efoi_LonglivedAssetsLocatedinUSPercent_documentation_en-US" xlink:label="lab_efoi_LonglivedAssetsLocatedinUSPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-lived Assets Located in US, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LonglivedAssetsLocatedinUSPercent" xlink:href="efoi-20201231.xsd#efoi_LonglivedAssetsLocatedinUSPercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LonglivedAssetsLocatedinUSPercent" xlink:to="lab_efoi_LonglivedAssetsLocatedinUSPercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiability_fc406700-de02-4c69-adf5-3ab2c1065f26_terseLabel_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured lease liabilities </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiability_8fed63e8-cd7f-4e2f-aefb-ffe831319ad5_verboseLabel_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total lease obligations </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiability_label_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Operating Lease, Liability </link:label> |
| | <link:label id="lab_efoi_RestructuredOperatingLeaseLiability_documentation_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Operating Lease, Liability </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiability" xlink:href="efoi-20201231.xsd#efoi_RestructuredOperatingLeaseLiability"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredOperatingLeaseLiability" xlink:to="lab_efoi_RestructuredOperatingLeaseLiability" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeStatementAbstract_81e842a3-5c31-4309-8a96-e15ce1e6c2c4_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Statement [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Statement [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeStatementAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_06e4b403-f215-4e56-a39c-11316dc625f2_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accumulated Other Comprehensive Loss </link:label> |
| | <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> AOCI Attributable to Parent [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_28038925-7adf-499c-b939-8088d2ef22c4_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease liabilities, net of current portion </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Liability, Noncurrent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_9c96835e-aaf0-4e0f-bac6-2f6845fd1980_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid and other assets </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Prepaid Expense and Other Assets </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_9df9afef-7453-48dd-bdec-f144d382aa2b_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accruals for warranties issued </link:label> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Standard Product Warranty Accrual, Increase for Warranties Issued </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StandardProductWarrantyAccrualWarrantiesIssued"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_GovernmentProductsMember_0ed6b78c-32d1-41fb-a425-4c4cd08388f2_terseLabel_en-US" xlink:label="lab_efoi_GovernmentProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> MMM products </link:label> |
| | <link:label id="lab_efoi_GovernmentProductsMember_label_en-US" xlink:label="lab_efoi_GovernmentProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Government Products [Member] </link:label> |
| | <link:label id="lab_efoi_GovernmentProductsMember_documentation_en-US" xlink:label="lab_efoi_GovernmentProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Government Products segment. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_GovernmentProductsMember" xlink:href="efoi-20201231.xsd#efoi_GovernmentProductsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_GovernmentProductsMember" xlink:to="lab_efoi_GovernmentProductsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_71dfcf8b-f6ea-4971-a212-aef3e44a31a0_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Unamortized discount (premium) and issuance costs </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_UseOfEstimates_271c1192-da7e-4cdd-ba11-1b734b465812_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Use of estimates </link:label> |
| | <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Use of Estimates, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_UseOfEstimates"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_7376e784-873f-48d3-aaaf-998dabba4a4f_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from issuance of subordinated convertible promissory notes </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Issuance of Subordinated Long-term Debt </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AssetsCurrentAbstract_0d47f9ee-a723-410e-8889-033f81275ce1_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Current assets: </link:label> |
| | <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Assets, Current [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrentAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_c3bc5c70-2fda-44df-a2e3-758aac4cc347_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Authority [Domain] </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Authority [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_76a8c12d-974b-4ef5-8cca-8deeb09261bf_terseLabel_en-US" xlink:label="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Computer software </link:label> |
| | <link:label id="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_label_en-US" xlink:label="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Software and Software Development Costs [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:to="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuringReserveAccretion_e68dc821-aa2f-4a88-b276-5ef919bd335e_terseLabel_en-US" xlink:label="lab_efoi_RestructuringReserveAccretion" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accretion of lease obligations </link:label> |
| | <link:label id="lab_efoi_RestructuringReserveAccretion_label_en-US" xlink:label="lab_efoi_RestructuringReserveAccretion" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Reserve, Accretion </link:label> |
| | <link:label id="lab_efoi_RestructuringReserveAccretion_documentation_en-US" xlink:label="lab_efoi_RestructuringReserveAccretion" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Reserve, Accretion </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuringReserveAccretion" xlink:href="efoi-20201231.xsd#efoi_RestructuringReserveAccretion"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuringReserveAccretion" xlink:to="lab_efoi_RestructuringReserveAccretion" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_59b7fb2b-c564-46ec-80b3-01b25f0924d5_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Comprehensive loss </link:label> |
| | <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Comprehensive Income (Loss), Net of Tax, Attributable to Parent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_cde94206-fe75-4966-84b7-d148a7077f28_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Dividend yield </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_b2feb165-28f7-443b-af88-a4aff11ac874_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred stock, par value (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred Stock, Par or Stated Value Per Share </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_461373de-9e15-4f3e-a569-f7018a4f617d_terseLabel_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Number of warrants issued (in shares) </link:label> |
| | <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_label_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class Of Warrant Or Right, Warrants Issued </link:label> |
| | <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_documentation_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class Of Warrant Or Right, Warrants Issued </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:href="efoi-20201231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:to="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_388edfa0-7bbe-4cfc-a4f4-2fceb5b28c7c_terseLabel_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Documents Incorporated by Reference </link:label> |
| | <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_label_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Documents Incorporated by Reference [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_b6754a90-6d58-4b03-bdf0-152bde524c91_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Effective Income Tax Rate Reconciliation </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_685ec150-36aa-492c-9b88-2c72907bd1da_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stated interest rate on collateral management fee </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_label_en-US" xlink:label="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Interest Rate, Stated Percentage, Collateral Management Fee </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Interest Rate, Stated Percentage, Collateral Management Fee </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:href="efoi-20201231.xsd#efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:to="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringReserveRollForward_e9c92484-cd16-482e-b649-c7eef6e419e6_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Reserve [Roll Forward] </link:label> |
| | <link:label id="lab_us-gaap_RestructuringReserveRollForward_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Reserve [Roll Forward] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveRollForward" xlink:to="lab_us-gaap_RestructuringReserveRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_f126f7d8-b30d-4f95-b5c9-0c6f81477904_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deductions </link:label> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodDomain_3d2933d7-2589-463f-89cf-7784ce11cfa7_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Period [Domain] </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodDomain_label_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Period [Domain] </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodDomain_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> [Domain] for Debt Instrument, Period [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPeriodDomain" xlink:href="efoi-20201231.xsd#efoi_DebtInstrumentPeriodDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentPeriodDomain" xlink:to="lab_efoi_DebtInstrumentPeriodDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ScenarioUnspecifiedDomain_4a231a34-bbc2-4816-8ba6-ba0ce44e1829_terseLabel_en-US" xlink:label="lab_srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Scenario [Domain] </link:label> |
| | <link:label id="lab_srt_ScenarioUnspecifiedDomain_label_en-US" xlink:label="lab_srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Scenario [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ScenarioUnspecifiedDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioUnspecifiedDomain" xlink:to="lab_srt_ScenarioUnspecifiedDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_LegalEntityAxis_f63827af-863c-4870-a5fc-98946d002cca_terseLabel_en-US" xlink:label="lab_dei_LegalEntityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Legal Entity [Axis] </link:label> |
| | <link:label id="lab_dei_LegalEntityAxis_label_en-US" xlink:label="lab_dei_LegalEntityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Legal Entity [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LegalEntityAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LegalEntityAxis" xlink:to="lab_dei_LegalEntityAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_318e5a00-48ef-4514-bed5-88aecaf5316b_terseLabel_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payment terms </link:label> |
| | <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_label_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Contract With Customer, Payment Terms </link:label> |
| | <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_documentation_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Contract With Customer, Payment Terms </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ContractWithCustomerPaymentTerms" xlink:href="efoi-20201231.xsd#efoi_ContractWithCustomerPaymentTerms"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ContractWithCustomerPaymentTerms" xlink:to="lab_efoi_ContractWithCustomerPaymentTerms" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3bca075a-445e-4975-9b34-6a8bf170e30c_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Acquisitions of property and equipment </link:label> |
| | <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments to Acquire Property, Plant, and Equipment </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_CityAreaCode_13f9a9a0-0f8b-4d57-a941-83744af68268_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> City Area Code </link:label> |
| | <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> City Area Code </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CityAreaCode"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextRollingTwelveMonths_e900dffc-dbec-48c4-aca5-630e398e074d_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2021 </link:label> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextRollingTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Payments to be Received, Next Rolling Twelve Months </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextRollingTwelveMonths" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextRollingTwelveMonths"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextRollingTwelveMonths" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextRollingTwelveMonths" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_4449b0b4-e729-4189-ae87-3d59cffaf2e0_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Authority [Axis] </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Authority [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_DocumentPeriodEndDate_4bd109a7-023b-4aa6-99f3-fe104ecf694d_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Period End Date </link:label> |
| | <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Period End Date </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentPeriodEndDate"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_A5ElementsGlobalAdvisorsMember_6d83f897-b4f7-4f02-92c2-7e8019e06401_terseLabel_en-US" xlink:label="lab_efoi_A5ElementsGlobalAdvisorsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 5 Elements Global Advisors </link:label> |
| | <link:label id="lab_efoi_A5ElementsGlobalAdvisorsMember_label_en-US" xlink:label="lab_efoi_A5ElementsGlobalAdvisorsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 5 Elements Global Advisors [Member] </link:label> |
| | <link:label id="lab_efoi_A5ElementsGlobalAdvisorsMember_documentation_en-US" xlink:label="lab_efoi_A5ElementsGlobalAdvisorsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 5 Elements Global Advisors [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_A5ElementsGlobalAdvisorsMember" xlink:href="efoi-20201231.xsd#efoi_A5ElementsGlobalAdvisorsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A5ElementsGlobalAdvisorsMember" xlink:to="lab_efoi_A5ElementsGlobalAdvisorsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_9f5b1184-0dfe-4f50-b956-1a8da37eabd8_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFive_c0ac8f29-083e-4052-b1a1-3cbe3ab6d0f3_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFive" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2025 </link:label> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFive_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Payments to be Received, Rolling Year Five </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFive"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFive" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFive" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_b0a6fc17-d0aa-44b3-8582-439069a3f4da_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Movement in Standard Product Warranty Accrual [Roll Forward] </link:label> |
| | <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Movement in Standard Product Warranty Accrual [Roll Forward] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodAxis_d9443635-1107-4921-bebe-ef234fa39517_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Period [Axis] </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodAxis_label_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Period [Axis] </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodAxis_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Period [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPeriodAxis" xlink:href="efoi-20201231.xsd#efoi_DebtInstrumentPeriodAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentPeriodAxis" xlink:to="lab_efoi_DebtInstrumentPeriodAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_A13DGroupMember_be69ae89-1b9f-4b9b-a9d9-c95c766846df_terseLabel_en-US" xlink:label="lab_efoi_A13DGroupMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 13D Group </link:label> |
| | <link:label id="lab_efoi_A13DGroupMember_label_en-US" xlink:label="lab_efoi_A13DGroupMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 13D Group [Member] </link:label> |
| | <link:label id="lab_efoi_A13DGroupMember_documentation_en-US" xlink:label="lab_efoi_A13DGroupMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 13D Group [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_A13DGroupMember" xlink:href="efoi-20201231.xsd#efoi_A13DGroupMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A13DGroupMember" xlink:to="lab_efoi_A13DGroupMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_282ad3bd-c288-466b-a2e1-a62828c0ead4_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Loss Carryforwards [Table] </link:label> |
| | <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Loss Carryforwards [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:to="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_268be829-7448-4986-ae05-577b00d14bbe_terseLabel_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property and equipment </link:label> |
| | <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_label_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Right-Of-Use Asset, Gross </link:label> |
| | <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_documentation_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Right-Of-Use Asset, Gross </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetGross" xlink:href="efoi-20201231.xsd#efoi_FinanceLeaseRightOfUseAssetGross"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FinanceLeaseRightOfUseAssetGross" xlink:to="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_8acf79f0-9a2f-4796-a9d9-0007a55f94a4_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2025 </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Five </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeaseImpairmentLoss_4c2c4e25-8da0-4dea-9228-669e090ac59b_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease, impairment loss </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Impairment Loss </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseImpairmentLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseImpairmentLoss"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseImpairmentLoss" xlink:to="lab_us-gaap_OperatingLeaseImpairmentLoss" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_cb72f596-04b8-4320-9642-f24de8526713_terseLabel_en-US" xlink:label="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Quarterly Financial Information Disclosure [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Quarterly Financial Information Disclosure [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_7b513b56-400e-42bb-b30d-145a7cc2cf73_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Inventory </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Inventory, Current [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LongtermDebtTypeDomain_709e7507-9c80-408a-8d78-da5b37eabb60_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-term Debt, Type [Domain] </link:label> |
| | <link:label id="lab_us-gaap_LongtermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-term Debt, Type [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensation_76ade08e-f17f-4c76-871d-5dbaa37533d6_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock-based compensation </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Noncash Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensation"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccountsPayableMember_9dc1351d-a741-48b1-9dd3-811437de3d20_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Payable </link:label> |
| | <link:label id="lab_us-gaap_AccountsPayableMember_label_en-US" xlink:label="lab_us-gaap_AccountsPayableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Payable [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableMember" xlink:to="lab_us-gaap_AccountsPayableMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityDomain_03d98691-537a-42cd-ac6c-702388781793_terseLabel_en-US" xlink:label="lab_dei_EntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity [Domain] </link:label> |
| | <link:label id="lab_dei_EntityDomain_label_en-US" xlink:label="lab_dei_EntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityDomain" xlink:to="lab_dei_EntityDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringReserveNoncurrent_7c4bf7fd-62be-4035-8cba-4a8af93226ce_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-term restructuring liability, included in other liabilities </link:label> |
| | <link:label id="lab_us-gaap_RestructuringReserveNoncurrent_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Reserve, Noncurrent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveNoncurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveNoncurrent" xlink:to="lab_us-gaap_RestructuringReserveNoncurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_0d742a93-9088-4e05-8c69-13cc07924b9c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common stock withheld in lieu of income tax withholding on vesting of restricted stock units </link:label> |
| | <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payment, Tax Withholding, Share-based Payment Arrangement </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cover [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CoverAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_QuarterlyFinancialInformationTextBlock_f19fa79d-29e0-4006-b9b5-6cb20518cc1d_terseLabel_en-US" xlink:label="lab_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Supplementary Financial Information to Item 8. </link:label> |
| | <link:label id="lab_us-gaap_QuarterlyFinancialInformationTextBlock_label_en-US" xlink:label="lab_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Quarterly Financial Information [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="lab_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_12d69eb1-d681-40b6-91c1-7a3a9f914683_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] </link:label> |
| | <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:to="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringReserveAccrualAdjustment1_91f16b8b-41e8-449b-91d4-bbf19fec4cf8_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveAccrualAdjustment1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustment of lease obligations </link:label> |
| | <link:label id="lab_us-gaap_RestructuringReserveAccrualAdjustment1_1a0e5460-83fc-481e-8036-8774a698f8d6_verboseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveAccrualAdjustment1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Reclassification upon adoption of Topic 842 </link:label> |
| | <link:label id="lab_us-gaap_RestructuringReserveAccrualAdjustment1_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveAccrualAdjustment1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Reserve, Accrual Adjustment </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveAccrualAdjustment1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveAccrualAdjustment1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveAccrualAdjustment1" xlink:to="lab_us-gaap_RestructuringReserveAccrualAdjustment1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ProceedsFromPaycheckProtectionProgram_7bddce11-7637-4245-85d9-8e6bdd5c75b2_terseLabel_en-US" xlink:label="lab_efoi_ProceedsFromPaycheckProtectionProgram" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from PPP loan </link:label> |
| | <link:label id="lab_efoi_ProceedsFromPaycheckProtectionProgram_label_en-US" xlink:label="lab_efoi_ProceedsFromPaycheckProtectionProgram" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds From Paycheck Protection Program </link:label> |
| | <link:label id="lab_efoi_ProceedsFromPaycheckProtectionProgram_documentation_en-US" xlink:label="lab_efoi_ProceedsFromPaycheckProtectionProgram" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds From Paycheck Protection Program </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromPaycheckProtectionProgram" xlink:href="efoi-20201231.xsd#efoi_ProceedsFromPaycheckProtectionProgram"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ProceedsFromPaycheckProtectionProgram" xlink:to="lab_efoi_ProceedsFromPaycheckProtectionProgram" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_5eb5ef08-7cfe-43e1-befa-44a49c916217_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property and equipment, useful life </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment, Useful Life </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_041a980c-301b-4a47-8d1c-e313c68d5528_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Lease, Description [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Lease, Description [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_1c087e02-6784-48fc-af34-a361c2beb0af_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Leases </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Leases [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearThree_42dd3830-2455-4f03-ac2e-39ebc6f0b134_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearThree" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2023 </link:label> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearThree_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Payments to be Received, Rolling Year Three </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearThree" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearThree"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearThree" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearThree" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_PaymentProtectionProgramNoncurrent_aaf3dd2f-7073-4701-836d-a263fcdbe89d_terseLabel_en-US" xlink:label="lab_efoi_PaymentProtectionProgramNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> PPP loan, net of current maturities </link:label> |
| | <link:label id="lab_efoi_PaymentProtectionProgramNoncurrent_label_en-US" xlink:label="lab_efoi_PaymentProtectionProgramNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payment Protection Program, Noncurrent </link:label> |
| | <link:label id="lab_efoi_PaymentProtectionProgramNoncurrent_documentation_en-US" xlink:label="lab_efoi_PaymentProtectionProgramNoncurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payment Protection Program, Noncurrent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramNoncurrent" xlink:href="efoi-20201231.xsd#efoi_PaymentProtectionProgramNoncurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentProtectionProgramNoncurrent" xlink:to="lab_efoi_PaymentProtectionProgramNoncurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_0d33eac6-bdab-4344-aebe-9f748d7fb0be_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Percent proceeds to be paid to Lender </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_label_en-US" xlink:label="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Proceeds To Be Paid To Lender, Percent </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Proceeds To Be Paid To Lender, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:href="efoi-20201231.xsd#efoi_DebtInstrumentProceedsToBePaidToLenderPercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:to="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_7dad9e6d-ff30-41bc-b346-cabcaa546aab_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred revenue </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Deferred Revenue </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_e5a68cf1-8c88-4aa6-9777-1dcae32ea926_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range [Table] </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalents_23ce3ca2-e67c-4c69-bc74-e7184c84c9b4_verboseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted cash held in other assets </link:label> |
| | <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalents_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted Cash and Cash Equivalents </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalents" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryValuationReserveMember_0e72f478-92aa-4fb4-9034-a90114f7c027_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserveMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Reserve for excess, obsolete, and slow moving inventories </link:label> |
| | <link:label id="lab_us-gaap_InventoryValuationReserveMember_label_en-US" xlink:label="lab_us-gaap_InventoryValuationReserveMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Reserve, Inventory [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserveMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryValuationReserveMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryValuationReserveMember" xlink:to="lab_us-gaap_InventoryValuationReserveMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_d8f2b5bc-8c7a-4c11-a5ce-07fb8c52671d_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net deferred tax assets </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Net </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_805e5f18-4e61-4edd-a4dd-8e3ddb1ea177_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk Benchmark [Axis] </link:label> |
| | <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk Benchmark [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_c752ec37-5ee5-4358-ba67-c3c8543f7aa1_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cost of sales </link:label> |
| | <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cost of Goods and Services Sold </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_d8335c61-23d3-45c0-8905-2673d49ad0e9_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_f205987d-66ce-42ca-89fc-472b4f513078_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Percent of net realizable value of eligible inventory </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Available Inventory, Net Realizable Value </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Available Inventory, Net Realizable Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:to="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_a93048bc-a285-413d-9877-3d4caf67ca6c_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Gross proceeds from equity issuance </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Issuance or Sale of Equity </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:to="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StatementEquityComponentsAxis_1c900e4e-c0d9-48c8-8f8a-2b0a9024b120_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Equity Components [Axis] </link:label> |
| | <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Equity Components [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ExercisePriceRangeTwoMember_3f264cd0-b8c1-44a8-bbe7-941cf308a161_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise price, range two </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeTwoMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range Two [Member] </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeTwoMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeTwoMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> The second exercise price range. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeTwoMember" xlink:href="efoi-20201231.xsd#efoi_ExercisePriceRangeTwoMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeTwoMember" xlink:to="lab_efoi_ExercisePriceRangeTwoMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestrictedStockMember_1ffc6e7f-7dff-40b2-8f86-25a78cbc3486_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted stock </link:label> |
| | <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted Stock [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_340fa5e9-cfa9-4664-b591-5e6d559677d4_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net proceeds from (payment on) credit line borrowings </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from (Repayments of) Lines of Credit </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:to="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentNameDomain_539001f9-77ab-4454-b391-2de89dbfbc1c_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Name [Domain] </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Name [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_MinimumMember_3f2545d3-1221-42b0-afde-4054452a018d_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Minimum </link:label> |
| | <link:label id="lab_srt_MinimumMember_4a4b2374-61dc-48da-acac-4263ab8e7668_verboseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Minimum [Member] </link:label> |
| | <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Minimum [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MinimumMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo_f3f1d0d6-1a6a-468c-85d9-343ce0622756_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2022 </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Payments, Due in Rolling Year Two </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_b944b6f3-616a-4f5e-b3ff-8bd9840f2864_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property and equipment, net </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_16889c32-b97e-49e1-b926-3b7d0a59f2dc_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property and equipment, net </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RepaymentsOfNotesPayable_35079849-5387-4754-93b1-2d15850cd494_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfNotesPayable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments on the Iliad Note </link:label> |
| | <link:label id="lab_us-gaap_RepaymentsOfNotesPayable_345c14e2-bea6-4b91-9a85-5255cd4d7bf7_terseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfNotesPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments on the Iliad Note </link:label> |
| | <link:label id="lab_us-gaap_RepaymentsOfNotesPayable_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfNotesPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Repayments of Notes Payable </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfNotesPayable" xlink:to="lab_us-gaap_RepaymentsOfNotesPayable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_11880f44-1aae-4b2e-a776-b866a6e09bfb_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease liabilities </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Liability, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_90d86ee5-8ae2-4e19-ab85-ad07b09c7626_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Beginning balance (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_0c7abccb-2389-4dc1-ac82-4905bb000f98_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ending balance (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DebtInstrumentPrepaymentPremiumPercent_5f50e6b0-5463-48bc-b181-ec3f631b6f97_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepayment premium </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentPrepaymentPremiumPercent_label_en-US" xlink:label="lab_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Prepayment Premium, Percent </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentPrepaymentPremiumPercent_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Prepayment Premium, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:href="efoi-20201231.xsd#efoi_DebtInstrumentPrepaymentPremiumPercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:to="lab_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_ce778efc-1f56-4d59-96ac-d3e4cf4f451e_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2022 </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Two </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_472cfc91-b596-4907-a36b-630367e08d92_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Canceled (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_0d6692fb-f9b4-4ddf-ba2c-9d8bfb00e31d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityInteractiveDataCurrent_0872e715-529b-4c9d-b558-8f622271d724_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Interactive Data Current </link:label> |
| | <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Interactive Data Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityInteractiveDataCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_country_US_2b86ab23-bc79-4db6-a6b5-0b12195ae672_terseLabel_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> United States </link:label> |
| | <link:label id="lab_country_US_label_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> UNITED STATES </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_country_US" xlink:href="https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd#country_US"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US" xlink:to="lab_country_US" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_1ced4565-5b44-4f6b-ae7b-6e423d46881f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercised (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_0b7ae69e-dce2-4dd6-b65c-14a96e53bd04_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash flows from operating activities: </link:label> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net Cash Provided by (Used in) Operating Activities [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_897c102c-69fb-446c-9b2f-fb204934c4be_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stockholders' Equity </link:label> |
| | <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stockholders' Equity Note Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_d68e4b4b-d441-4c36-a006-05cee0a49c48_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Employee Stock Ownership Plan (ESOP), Plan [Domain] </link:label> |
| | <link:label id="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Employee Stock Ownership Plan (ESOP), Plan [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:to="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_440a504c-11bb-43be-8c11-d9b69be45ab6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Summary of Option Activity </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Activity [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PurchaseObligation_1867238a-5e70-478c-b427-cc666f8e8077_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Outstanding purchase commitment </link:label> |
| | <link:label id="lab_us-gaap_PurchaseObligation_label_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Purchase Obligation </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PurchaseObligation"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligation" xlink:to="lab_us-gaap_PurchaseObligation" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccountsReceivableMember_79092fd9-0067-4da8-a1a7-4d4b29bbf22a_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts receivable </link:label> |
| | <link:label id="lab_us-gaap_AccountsReceivableMember_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Receivable [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableMember" xlink:to="lab_us-gaap_AccountsReceivableMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee2321ab-58b0-4fcd-bfcd-33454273f36b_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:to="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_866908f4-3c6e-4b82-a022-321c363c3e50_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock-based compensation </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_393fcbce-137c-4389-90cf-a6cc6462e52b_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward] </link:label> |
| | <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_NameOfMajorCustomerDomain_d792276d-55fb-410a-83c6-1303522a0d43_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Customer [Domain] </link:label> |
| | <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Customer [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_NameOfMajorCustomerDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_2dd07f27-f87a-487a-bbd5-aad33507c5b3_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cumulative Effect, Period of Adoption, Adjustment </link:label> |
| | <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cumulative Effect, Period of Adoption, Adjustment [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_075d6b1b-4770-4880-9e43-d4c90ca1e5de_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Additional paid-in capital </link:label> |
| | <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Additional Paid in Capital, Common Stock </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityRegistrantName_0e71d0d7-9a08-4485-bc9b-4ddfa02be3bc_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Registrant Name </link:label> |
| | <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Registrant Name </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityRegistrantName"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubsequentEventTypeDomain_3d82d9ac-a91c-4a5c-81f6-8822aa83d790_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event Type [Domain] </link:label> |
| | <link:label id="lab_us-gaap_SubsequentEventTypeDomain_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event Type [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTypeDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain" xlink:to="lab_us-gaap_SubsequentEventTypeDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_8f8c213e-e431-42cd-a9b2-5c4c1591e16f_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement of Stockholders' Equity [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement of Stockholders' Equity [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConcentrationRiskLineItems_82cfeeac-1e79-4467-9222-030bfa01d591_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_ConcentrationRiskLineItems_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskLineItems" xlink:to="lab_us-gaap_ConcentrationRiskLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccruedEmployeeBenefitsCurrent_f1f3ee3a-9b01-4afa-b6a4-15d88da812f1_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued payroll and related benefits </link:label> |
| | <link:label id="lab_us-gaap_AccruedEmployeeBenefitsCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued Employee Benefits, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentFeeAmount_d2bd531b-6e85-4094-99bb-143510f18a60_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFeeAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fee amount </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentFeeAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFeeAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Fee Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFeeAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFeeAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFeeAmount" xlink:to="lab_us-gaap_DebtInstrumentFeeAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxExaminationLineItems_12a66c6c-1ded-4881-a2ab-4ec32e94c16d_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Examination [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxExaminationLineItems_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Examination [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExaminationLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExaminationLineItems" xlink:to="lab_us-gaap_IncomeTaxExaminationLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AssetImpairmentCharges_3cb1aa6f-88fc-45c1-b903-135a37e283ea_terseLabel_en-US" xlink:label="lab_us-gaap_AssetImpairmentCharges" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Loss on impairment </link:label> |
| | <link:label id="lab_us-gaap_AssetImpairmentCharges_label_en-US" xlink:label="lab_us-gaap_AssetImpairmentCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Asset Impairment Charges </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetImpairmentCharges" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetImpairmentCharges"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetImpairmentCharges" xlink:to="lab_us-gaap_AssetImpairmentCharges" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_fa259784-abd6-4a1b-9c7a-37c09511465c_negatedTerseLabel_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Allowances for depreciation </link:label> |
| | <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_label_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Right-Of-Use Asset, Accumulated Depreciation </link:label> |
| | <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_documentation_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Right-Of-Use Asset, Accumulated Depreciation </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:href="efoi-20201231.xsd#efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:to="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_22b74da4-cdbc-443e-bb7e-091a39f17256_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Advertising expenses </link:label> |
| | <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Advertising Cost [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromIssuanceOfWarrants_92510804-013d-47ee-be6c-5c5d090724f8_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from warrants </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromIssuanceOfWarrants_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Issuance of Warrants </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfWarrants" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromIssuanceOfWarrants"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfWarrants" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfWarrants" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_a71bc92f-874c-4469-bae3-524a758ad15f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted Stock Outstanding </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeaseSubleaseIncome_4b5b7983-099e-431d-98ee-32aaf29191a7_negatedTerseLabel_en-US" xlink:label="lab_efoi_RestructuredLeaseSubleaseIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Sublease income </link:label> |
| | <link:label id="lab_efoi_RestructuredLeaseSubleaseIncome_label_en-US" xlink:label="lab_efoi_RestructuredLeaseSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Lease, Sublease Income </link:label> |
| | <link:label id="lab_efoi_RestructuredLeaseSubleaseIncome_documentation_en-US" xlink:label="lab_efoi_RestructuredLeaseSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Lease, Sublease Income </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseSubleaseIncome" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeaseSubleaseIncome"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeaseSubleaseIncome" xlink:to="lab_efoi_RestructuredLeaseSubleaseIncome" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_be88fc19-e1b6-4cdb-9fb5-7d50216df7a9_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Exercise Price Per Share </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_2cc382b7-1ad8-45fa-b3cf-e6590ea9eafa_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range [Axis] </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_8f741e49-e102-4ba9-af50-e1ebd249c150_negatedLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Less imputed interest </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Undiscounted Excess Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_21c0c24d-7d31-497e-bab1-926d6dc6e84f_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Charges to Revenue/ Expense </link:label> |
| | <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_VehiclesMember_66724f85-eacd-4a94-9d77-a91b0ff617d1_terseLabel_en-US" xlink:label="lab_us-gaap_VehiclesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Vehicles </link:label> |
| | <link:label id="lab_us-gaap_VehiclesMember_label_en-US" xlink:label="lab_us-gaap_VehiclesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Vehicles [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VehiclesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_VehiclesMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VehiclesMember" xlink:to="lab_us-gaap_VehiclesMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_14c59d00-26b2-4502-8e53-865504408295_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product development </link:label> |
| | <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Research and Development Expense [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_9c500c81-a46c-4959-8f75-8ade3549043b_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Conversion of notes to preferred stock </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock Issued During Period, Value, Conversion of Convertible Securities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodTwoMember_d448cdf0-a24d-4884-a9bd-7cb47b2234cb_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Year Two </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodTwoMember_label_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Period Two [Member] </link:label> |
| | <link:label id="lab_efoi_DebtInstrumentPeriodTwoMember_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentPeriodTwoMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Period Two [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPeriodTwoMember" xlink:href="efoi-20201231.xsd#efoi_DebtInstrumentPeriodTwoMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentPeriodTwoMember" xlink:to="lab_efoi_DebtInstrumentPeriodTwoMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityIncorporationStateCountryCode_88c1e23f-88df-43ed-80e7-cb09129a5605_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Incorporation, State or Country Code </link:label> |
| | <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Incorporation, State or Country Code </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityIncorporationStateCountryCode"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_b0570f01-f6d3-4030-8ed5-17cae8db0fb0_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Trade accounts receivable, less allowances of $8 and $28, respectively </link:label> |
| | <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Receivable, after Allowance for Credit Loss, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryFinishedGoods_b825bb51-78d5-4e52-a2f4-b103b469eb40_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finished goods </link:label> |
| | <link:label id="lab_us-gaap_InventoryFinishedGoods_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory, Finished Goods, Gross </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryFinishedGoods"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoods" xlink:to="lab_us-gaap_InventoryFinishedGoods" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_fdb654f9-56f0-4f2e-8de9-1af16b79da0c_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total future undiscounted lease payments </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, to be Paid </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromSalesOfAssetsInvestingActivities_0736ab6b-fcd1-4fa6-b5ff-45d5bc32b81e_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSalesOfAssetsInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from the sale of property and equipment </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromSalesOfAssetsInvestingActivities_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSalesOfAssetsInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Sales of Assets, Investing Activities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSalesOfAssetsInvestingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromSalesOfAssetsInvestingActivities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSalesOfAssetsInvestingActivities" xlink:to="lab_us-gaap_ProceedsFromSalesOfAssetsInvestingActivities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringReserve_0edbc0c6-9cfe-47a6-8625-54d5c2fa2883_periodStartLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Beginning balance </link:label> |
| | <link:label id="lab_us-gaap_RestructuringReserve_70868de2-3d9c-42eb-8173-d1b59717c2f8_periodEndLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ending balance </link:label> |
| | <link:label id="lab_us-gaap_RestructuringReserve_label_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Reserve </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserve"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserve" xlink:to="lab_us-gaap_RestructuringReserve" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_872b7786-2021-4648-8ce9-830d704efb1c_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments for New Accounting Pronouncements [Axis] </link:label> |
| | <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_label_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Standards Update [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_33a2064e-0420-4733-b4ad-adbd7a98b908_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Foreign currency translation </link:label> |
| | <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Foreign Currency Transactions and Translations Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_ca3b1527-8fbe-4c0c-bf48-ba415d70b285_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Loss Carryforwards [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Loss Carryforwards [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccountingStandardsUpdate201602Member_4ec794b1-2241-4d1b-94dd-44a207d453b1_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201602Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Standards Update 2016-02 </link:label> |
| | <link:label id="lab_us-gaap_AccountingStandardsUpdate201602Member_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201602Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Standards Update 2016-02 [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdate201602Member" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdate201602Member"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdate201602Member" xlink:to="lab_us-gaap_AccountingStandardsUpdate201602Member" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubsidiarySaleOfStockAxis_265a697a-8ca2-4bcc-9586-ad4aa408f850_terseLabel_en-US" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Sale of Stock [Axis] </link:label> |
| | <link:label id="lab_us-gaap_SubsidiarySaleOfStockAxis_label_en-US" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Sale of Stock [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:to="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityAddressPostalZipCode_7920ce9f-4885-4cf5-885c-fb0cc50ef214_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, Postal Zip Code </link:label> |
| | <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, Postal Zip Code </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressPostalZipCode"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_145c7a41-73fa-4d86-bf47-59944f69e29d_periodStartLabel_en-US" xlink:label="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Balance January 1, 2020 </link:label> |
| | <link:label id="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_845a5abd-86b3-4dbe-b4e1-6e68a5a4c14b_periodEndLabel_en-US" xlink:label="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Balance September 30, 2020 </link:label> |
| | <link:label id="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other Deferred Compensation Arrangements, Liability, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:to="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted_37b0ec60-101f-49c9-97aa-e20dc096cd31_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Basic and diluted (in shares) </link:label> |
| | <link:label id="lab_us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Number of Shares Outstanding, Basic and Diluted </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:to="lab_us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringCosts_632a0912-cf74-4334-9070-969d36554dc3_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring </link:label> |
| | <link:label id="lab_us-gaap_RestructuringCosts_label_en-US" xlink:label="lab_us-gaap_RestructuringCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Costs </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCosts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCosts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCosts" xlink:to="lab_us-gaap_RestructuringCosts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsRollingMaturityAbstract_2a521214-ed63-4480-9582-b8e5daaf5796_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases Sublease Payments </link:label> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsRollingMaturityAbstract_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Payments, Rolling Maturity [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsRollingMaturityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsRollingMaturityAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsRollingMaturityAbstract" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsRollingMaturityAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_2615cd18-1931-43bd-a918-81c47bb494d7_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Purchase price of common stock, percent </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CustomerDepositsCurrent_27969eab-07be-46a1-90a4-c92f91f97427_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerDepositsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Short-term deposits </link:label> |
| | <link:label id="lab_us-gaap_CustomerDepositsCurrent_label_en-US" xlink:label="lab_us-gaap_CustomerDepositsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Customer Deposits, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerDepositsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerDepositsCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerDepositsCurrent" xlink:to="lab_us-gaap_CustomerDepositsCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OtherPrepaidExpenseCurrent_5930fe15-662a-4a76-b9e5-46e67a2f4874_terseLabel_en-US" xlink:label="lab_us-gaap_OtherPrepaidExpenseCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid expenses </link:label> |
| | <link:label id="lab_us-gaap_OtherPrepaidExpenseCurrent_label_en-US" xlink:label="lab_us-gaap_OtherPrepaidExpenseCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other Prepaid Expense, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherPrepaidExpenseCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherPrepaidExpenseCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherPrepaidExpenseCurrent" xlink:to="lab_us-gaap_OtherPrepaidExpenseCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_8e0054ea-9b48-4f43-898f-b3179f1e59ba_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Type [Axis] </link:label> |
| | <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Type [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis" xlink:to="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_1cd670a7-2116-4a93-b727-b84493b90139_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Foreign currency translation adjustments </link:label> |
| | <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_14e384a1-d5d9-4279-89ac-021e70312e03_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Foreign currency translation adjustment </link:label> |
| | <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_fa793967-320d-49f6-8f22-2e869686446a_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued Liabilities </link:label> |
| | <link:label id="lab_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_label_en-US" xlink:label="lab_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:to="lab_us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PaymentsForRestructuring_0810767f-cc59-434f-a116-abf4119a7272_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments </link:label> |
| | <link:label id="lab_us-gaap_PaymentsForRestructuring_label_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments for Restructuring </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsForRestructuring"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRestructuring" xlink:to="lab_us-gaap_PaymentsForRestructuring" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_DocumentTransitionReport_e6b5bc3a-8cc4-430c-97a1-0185fda847a6_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Transition Report </link:label> |
| | <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Transition Report </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentTransitionReport"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_JamesTuThroughFusionParkLLCMember_2a7434df-6c8a-4a5a-9676-fc39ed822bbd_terseLabel_en-US" xlink:label="lab_efoi_JamesTuThroughFusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> James Tu Through Fusion Park LLC </link:label> |
| | <link:label id="lab_efoi_JamesTuThroughFusionParkLLCMember_label_en-US" xlink:label="lab_efoi_JamesTuThroughFusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> James Tu Through Fusion Park LLC [Member] </link:label> |
| | <link:label id="lab_efoi_JamesTuThroughFusionParkLLCMember_documentation_en-US" xlink:label="lab_efoi_JamesTuThroughFusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> James Tu Through Fusion Park LLC [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_JamesTuThroughFusionParkLLCMember" xlink:href="efoi-20201231.xsd#efoi_JamesTuThroughFusionParkLLCMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_JamesTuThroughFusionParkLLCMember" xlink:to="lab_efoi_JamesTuThroughFusionParkLLCMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_ccc0e8e2-6aa0-4989-beec-1fdef7bd11c1_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred: </link:label> |
| | <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxExaminationTable_f0423ce5-2561-41f4-8fd6-10532bf9d18f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Examination [Table] </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxExaminationTable_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Examination [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExaminationTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExaminationTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExaminationTable" xlink:to="lab_us-gaap_IncomeTaxExaminationTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_f6a58829-d5c5-4e28-bc86-b0afed6a2eff_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_WarrantMember_fae44aa4-085b-4915-ac4f-dc3ffa00fc6d_terseLabel_en-US" xlink:label="lab_us-gaap_WarrantMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Warrant </link:label> |
| | <link:label id="lab_us-gaap_WarrantMember_label_en-US" xlink:label="lab_us-gaap_WarrantMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Warrant [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WarrantMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WarrantMember" xlink:to="lab_us-gaap_WarrantMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_b179ca43-d904-474e-af13-6b00bb8aefcd_terseLabel_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Provision for warranties </link:label> |
| | <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_label_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) In Provision For Warranties </link:label> |
| | <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_documentation_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) In Provision For Warranties </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:href="efoi-20201231.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:to="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_3b08acae-558b-43a6-9592-2e04911b1096_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net operating loss </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_89588e04-a9ec-49b6-8288-c9bab47baf1f_verboseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred tax assets, operating loss carry-forwards </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Operating Loss Carryforwards </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_7734c1c1-45a9-4a76-9e0a-b6e732f17537_terseLabel_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other expenses: </link:label> |
| | <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Nonoperating Income (Expense) [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RevenuePercentChange_220c0301-7351-41ff-b145-b9e31ee00659_terseLabel_en-US" xlink:label="lab_efoi_RevenuePercentChange" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Change in revenue, percent </link:label> |
| | <link:label id="lab_efoi_RevenuePercentChange_label_en-US" xlink:label="lab_efoi_RevenuePercentChange" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revenue, Percent Change </link:label> |
| | <link:label id="lab_efoi_RevenuePercentChange_documentation_en-US" xlink:label="lab_efoi_RevenuePercentChange" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revenue, Percent Change </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RevenuePercentChange" xlink:href="efoi-20201231.xsd#efoi_RevenuePercentChange"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RevenuePercentChange" xlink:to="lab_efoi_RevenuePercentChange" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_3cdc2220-56dd-459a-afc9-c4ae48b4465c_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Principal amount </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Face Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentFaceAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFaceAmount" xlink:to="lab_us-gaap_DebtInstrumentFaceAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_cc6254f4-bcf3-48e0-8f0d-91754e2df8e7_terseLabel_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Percentage of number of votes that each share of preferred stock holders are entitled to </link:label> |
| | <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_label_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Percentage of Series A Preferred Stock Eligible to Vote </link:label> |
| | <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_documentation_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Percentage of Series A Preferred Stock Eligible to Vote </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:href="efoi-20201231.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:to="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_747a8695-01f9-41f6-9d72-e93165e3ec9f_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Current: </link:label> |
| | <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Current Income Tax Expense (Benefit), Continuing Operations [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_7c7acfac-3ffc-4b96-83ec-8ffb2ea24632_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Canceled (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_93e6780b-a633-41f3-92cb-098ee36de524_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Impairment Effects on Earnings Per Share [Table] </link:label> |
| | <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_label_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Impairment Effects on Earnings Per Share [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:to="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_1678c787-797f-4508-9858-f38e74c7b93e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Offering costs on issuance of common stock and warrants </link:label> |
| | <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_InventoryReserveRollForward_8ef49bbb-e56a-4235-befc-be8f178964d8_terseLabel_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory, Reserve [Roll Forward] </link:label> |
| | <link:label id="lab_efoi_InventoryReserveRollForward_label_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory, Reserve [Roll Forward] </link:label> |
| | <link:label id="lab_efoi_InventoryReserveRollForward_documentation_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory, Reserve </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryReserveRollForward" xlink:href="efoi-20201231.xsd#efoi_InventoryReserveRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryReserveRollForward" xlink:to="lab_efoi_InventoryReserveRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubsequentEventLineItems_f54d1801-19f2-4aaf-9598-fc1a0548a802_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_SubsequentEventLineItems_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems" xlink:to="lab_us-gaap_SubsequentEventLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccountingStandardsUpdateExtensibleList_0e0c9137-d116-4704-82ee-3fe7a980c641_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Standards Update [Extensible List] </link:label> |
| | <link:label id="lab_us-gaap_AccountingStandardsUpdateExtensibleList_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Standards Update [Extensible List] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccountingStandardsUpdateExtensibleList"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:to="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_110f37c7-3bc1-4d0c-84c0-0ec75321d6af_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Granted (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityOverdraftFeePercent_1ce1eb36-ca72-46e6-9d23-6825fe43d920_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Overdraft fee </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityOverdraftFeePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Overdraft Fee, Percent </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityOverdraftFeePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Overdraft Fee, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityOverdraftFeePercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:to="lab_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAxis_f717bcfa-cb46-4d94-879f-cc4c28c11501_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cumulative Effect, Period of Adoption [Axis] </link:label> |
| | <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAxis_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cumulative Effect, Period of Adoption [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_ea636cab-ade1-4c84-bfbd-47cd556f4a78_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Customer concentration risk </link:label> |
| | <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Customer Concentration Risk [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CustomerConcentrationRiskMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerConcentrationRiskMember" xlink:to="lab_us-gaap_CustomerConcentrationRiskMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_b837cb72-a493-43cf-b8fc-d9521a953702_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Vested and expected to vest (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CreditFacilityDomain_0398834f-4d59-45a3-a363-69ddfa866222_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit Facility [Domain] </link:label> |
| | <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit Facility [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CreditFacilityDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_e3e3cdaf-fd70-4dec-af7e-30726d67d96d_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Diluted (in shares) </link:label> |
| | <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Number of Shares Outstanding, Diluted </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1_5ec82b0c-5df5-4a91-a5a4-ec99b6ac9ae0_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Conversion price (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Convertible, Conversion Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasic_fa15b490-e5e6-40ee-ab21-7aadd83626de_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net loss per share, basic (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Earnings Per Share, Basic </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasic"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_23d74b23-3f54-4489-8b1b-1f35a1f48fa9_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Expected life of option (in years) </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityFileNumber_f443d7d8-d5af-4dbc-bafe-56a39a238ed2_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity File Number </link:label> |
| | <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity File Number </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFileNumber"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_113b6188-e77c-4a8a-a11b-9053087b1296_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Canceled (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtDisclosureAbstract_94b48e3d-9a84-4b55-a69c-18ecabfed0d4_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Disclosure [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Disclosure [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtDisclosureAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_302d986f-9c54-4e4f-b3dc-84c965874c92_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease, weighted average remaining lease term </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Weighted Average Remaining Lease Term </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringPlanAxis_335cc8f6-f959-40b2-9894-ae1590b47863_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringPlanAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Plan [Axis] </link:label> |
| | <link:label id="lab_us-gaap_RestructuringPlanAxis_label_en-US" xlink:label="lab_us-gaap_RestructuringPlanAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Plan [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringPlanAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringPlanAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringPlanAxis" xlink:to="lab_us-gaap_RestructuringPlanAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_956b8729-4964-4e74-9ef7-67c4ddc70767_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_34fd1bd6-af65-4a6c-9924-c49dc728aa11_totalLabel_en-US" xlink:label="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease liabilities, total </link:label> |
| | <link:label id="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_label_en-US" xlink:label="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Liability, Including Restructured Leases </link:label> |
| | <link:label id="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Liability, Including Restructured Leases </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:href="efoi-20201231.xsd#efoi_OperatingLeaseLiabilityIncludingRestructuredLeases"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:to="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_b72c04c1-e26a-4178-8b6d-a412ea77bdef_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net cash provided by financing activities </link:label> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net Cash Provided by (Used in) Financing Activities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_705a67fb-d417-413e-89c7-5a883f813816_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2021 </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, Payments, Due Next Rolling Twelve Months </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued_dd025b3e-1307-4c82-a7b5-cf05d450b638_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Warrant liability - issuance </link:label> |
| | <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments to Additional Paid in Capital, Warrant Issued </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryValuationReserves_33f1e5b0-1144-4d69-b2b3-098843f42842_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Reserve for excess, obsolete, and slow-moving inventories </link:label> |
| | <link:label id="lab_us-gaap_InventoryValuationReserves_label_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryValuationReserves"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryValuationReserves" xlink:to="lab_us-gaap_InventoryValuationReserves" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_9af94232-c93b-4f85-9f4a-282802e73871_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total stock-based compensation </link:label> |
| | <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Expense </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventory_04d79782-87b8-42e4-bf10-2f15a26c4994_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Eligible inventory </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventory_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Available Inventory </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventory_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventory" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Available Inventory </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableInventory" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityAvailableInventory"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAvailableInventory" xlink:to="lab_efoi_LineOfCreditFacilityAvailableInventory" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_0abe9725-a1dd-4018-8a89-3d43e7c4b422_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Issuance of common stock under employee stock option and stock purchase plans </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock Issued During Period, Value, Employee Stock Purchase Plan </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_c0c8c920-6f89-4c08-b3e1-f281365db583_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted average shares of common shares outstanding: </link:label> |
| | <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Earnings Per Share, Basic and Diluted, Other Disclosures [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CommonStockValue_7f4df4c2-7b97-49f5-9ce1-6ae3d35f70e5_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common stock, par value $0.0001 per share: Authorized: 30,000,000 shares in 2019 and 2018 Issued and outstanding: 11,710,549 at December 31, 2016 and 11.648,978 at December 31, 2015 </link:label> |
| | <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common Stock, Value, Issued </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_DocumentFiscalYearFocus_4a6f0a8c-5268-44ee-acd6-2163ad9a6c93_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Fiscal Year Focus </link:label> |
| | <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Fiscal Year Focus </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalYearFocus"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_DocumentAnnualReport_5123951f-c7fc-406c-a5c5-6892985ce6d3_terseLabel_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Annual Report </link:label> |
| | <link:label id="lab_dei_DocumentAnnualReport_label_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Annual Report </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentAnnualReport"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentAnnualReport" xlink:to="lab_dei_DocumentAnnualReport" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_ebe74f51-d46e-43ec-b13e-eb5094b4a62f_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Intrinsic value of options exercisable </link:label> |
| | <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ValuationAndQualifyingAccountsAbstract_acb42eb6-f310-425a-84de-23af83025d4d_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract] </link:label> |
| | <link:label id="lab_srt_ValuationAndQualifyingAccountsAbstract_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsAbstract" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ValuationAndQualifyingAccountsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsAbstract" xlink:to="lab_srt_ValuationAndQualifyingAccountsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_1d848912-0d23-4467-a3b6-c82166d2f86a_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2023 </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_label_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due In Rolling Year Three </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due In Rolling Year Three </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:to="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityCurrentReportingStatus_0dd01428-8fab-46ff-9cba-52be03f8726b_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Current Reporting Status </link:label> |
| | <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Current Reporting Status </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityCurrentReportingStatus"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_75bb7302-79bb-4d12-af2d-01f51118a5a5_terseLabel_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Warrant liability - modification </link:label> |
| | <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_138abcce-3ea6-4975-bc47-b10a4cdc4059_verboseLabel_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Warrant liability reclassified into equity </link:label> |
| | <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_d3ad92f5-a924-4ccd-b15c-95b0bab5b948_negatedTerseLabel_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Warrant liability - modification </link:label> |
| | <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_label_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments to Additional Paid in Capital, Warrant Reclassified </link:label> |
| | <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_documentation_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Adjustments to Additional Paid in Capital, Warrant Reclassified </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:href="efoi-20201231.xsd#efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:to="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour_d3d32840-eec2-42b4-9897-b88b791f8bb5_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2024 </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Payments, Due in Rolling Year Four </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProceedsFromOtherDebt_739f294d-e3a2-4912-ae99-6517101b315b_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromOtherDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from the Iliad Note </link:label> |
| | <link:label id="lab_us-gaap_ProceedsFromOtherDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromOtherDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from Other Debt </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromOtherDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProceedsFromOtherDebt"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromOtherDebt" xlink:to="lab_us-gaap_ProceedsFromOtherDebt" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_b2ce2080-1c8b-411f-9714-6c69f6f37768_terseLabel_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> OPTIONS OUTSTANDING </link:label> |
| | <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_label_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Outstanding [Abstract] </link:label> |
| | <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_documentation_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Outstanding [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:href="efoi-20201231.xsd#efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:to="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_MediumtermNotesCurrent_05c2bc53-751c-4d0e-87c3-f559f4fbcfd1_terseLabel_en-US" xlink:label="lab_us-gaap_MediumtermNotesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Iliad note, net of discount and loan origination fees </link:label> |
| | <link:label id="lab_us-gaap_MediumtermNotesCurrent_label_en-US" xlink:label="lab_us-gaap_MediumtermNotesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Medium-term Notes, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumtermNotesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MediumtermNotesCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MediumtermNotesCurrent" xlink:to="lab_us-gaap_MediumtermNotesCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubsequentEventTable_b1e91671-26e8-451f-88d8-5e077e4fdb89_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event [Table] </link:label> |
| | <link:label id="lab_us-gaap_SubsequentEventTable_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Event [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable" xlink:to="lab_us-gaap_SubsequentEventTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_d7060a0f-5ba4-4305-9bfa-3786a9e5ea30_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net income (loss) per share </link:label> |
| | <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Earnings Per Share, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentTable_df3f8af3-46f6-4983-a4cd-622e062bfb09_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Long-term Debt Instruments [Table] </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Long-term Debt Instruments [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_ebc3faa7-abcc-4920-aa56-562dc29d192a_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Face value of accounts receivable </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c7fffeb7-f819-424e-8800-c6b72a02575c_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Granted (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryDisclosureAbstract_4681ddf1-f55a-41f3-8a19-6634430af380_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Disclosure [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_InventoryDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Disclosure [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryDisclosureAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_81bf761d-d279-418d-9cd9-162ae40a7a3c_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash flows from investing activities: </link:label> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net Cash Provided by (Used in) Investing Activities [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CommonStockSharesIssued_169f63c4-6f45-4053-ad43-e93106ed8be2_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common stock, number of shares issued </link:label> |
| | <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common Stock, Shares, Issued </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockSharesIssued"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_bf876592-74f4-4982-a071-a77483e431f0_verboseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash </link:label> |
| | <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash and Cash Equivalents, at Carrying Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_ed47b4c2-c758-4ff9-b43f-e28bd0e7b2f9_terseLabel_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amount paid related to expenses for registered direct offering and concurrent private placement </link:label> |
| | <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_label_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement </link:label> |
| | <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_documentation_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:href="efoi-20201231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:to="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_d9becd45-3240-490e-955f-762451435950_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Number of Shares Outstanding (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiability_fb68fb6b-004c-4925-93f3-93a62cc5587c_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease liabilities </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiability_d5b4975d-3d91-46ad-a0a5-169ee91d95c4_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total lease obligations </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Liability </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseLiability"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredTaxLiabilities_83c8d15f-a260-4b84-b5bb-b11ebc7ffe60_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net deferred tax liabilities </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Liabilities, Net </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="lab_us-gaap_DeferredTaxLiabilities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearTwo_7759ca29-6bbd-47fb-8c33-d760f716ffa3_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearTwo" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2022 </link:label> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearTwo_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Payments to be Received, Rolling Year Two </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearTwo" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearTwo"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearTwo" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearTwo" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SegmentReportingAbstract_b8957f78-be65-44a5-8e3d-11e845565abc_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Segment Reporting [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Segment Reporting [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SegmentReportingAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_76a128d2-34ec-4d1f-aabe-8f71353d184e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts receivable </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Accounts Receivable </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentLineItems_3dc781de-9658-4939-8f16-79735ebf5ab6_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_61db7976-4c07-40ee-a1ef-8039b25cc043_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement of Comprehensive Income [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement of Comprehensive Income [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockholdersEquity_5821f95d-1b20-46bd-8a74-a39d38705b2e_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total stockholders' equity </link:label> |
| | <link:label id="lab_us-gaap_StockholdersEquity_6819ca45-2e1e-426f-a643-1fc4b10ff21d_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Beginning balance </link:label> |
| | <link:label id="lab_us-gaap_StockholdersEquity_c37814c1-661d-464f-9611-959c513e6bb0_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ending balance </link:label> |
| | <link:label id="lab_us-gaap_StockholdersEquity_59bcab3d-8502-4b81-9f43-f9fdd7d41a74_verboseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stockholders' equity </link:label> |
| | <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stockholders' Equity Attributable to Parent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquity"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ToolingMember_d2078955-44ef-49ba-bb5f-54431dcf42c3_terseLabel_en-US" xlink:label="lab_efoi_ToolingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Tooling </link:label> |
| | <link:label id="lab_efoi_ToolingMember_label_en-US" xlink:label="lab_efoi_ToolingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Tooling [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ToolingMember" xlink:href="efoi-20201231.xsd#efoi_ToolingMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ToolingMember" xlink:to="lab_efoi_ToolingMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NatureOfOperations_5f130145-1409-49c8-94f9-e251a494b855_terseLabel_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Nature of Operations </link:label> |
| | <link:label id="lab_us-gaap_NatureOfOperations_label_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Nature of Operations [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NatureOfOperations"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PaymentsOfStockIssuanceCosts_8a7ed2f2-6dcf-4800-9d45-5ec342e13f5f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Offering costs paid on the issuance of common stock and warrants </link:label> |
| | <link:label id="lab_us-gaap_PaymentsOfStockIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments of Stock Issuance Costs </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_eeb8abf3-3f5b-4ed9-92c6-aea9ef782ec8_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk Type [Domain] </link:label> |
| | <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk Type [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:to="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminated_b20e6493-0e82-4516-b288-29b96f3d9e41_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminated" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Number of positions eliminated </link:label> |
| | <link:label id="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminated_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminated" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring and Related Cost, Number of Positions Eliminated </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminated" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminated"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminated" xlink:to="lab_us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminated" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_CommunalInternationalLtdMember_9d0910ef-078c-462e-b2b6-b96a42bc3c5f_terseLabel_en-US" xlink:label="lab_efoi_CommunalInternationalLtdMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Communal International Ltd. </link:label> |
| | <link:label id="lab_efoi_CommunalInternationalLtdMember_label_en-US" xlink:label="lab_efoi_CommunalInternationalLtdMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Communal International Ltd. [Member] </link:label> |
| | <link:label id="lab_efoi_CommunalInternationalLtdMember_documentation_en-US" xlink:label="lab_efoi_CommunalInternationalLtdMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Communal International Ltd. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_CommunalInternationalLtdMember" xlink:href="efoi-20201231.xsd#efoi_CommunalInternationalLtdMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommunalInternationalLtdMember" xlink:to="lab_efoi_CommunalInternationalLtdMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_d8917d7a-3587-4f3e-9164-727bf8ff42fa_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total liabilities and stockholders' equity </link:label> |
| | <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Liabilities and Equity </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_edc9d2be-aa38-4a17-b8d2-487de204fee4_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accumulated other comprehensive loss </link:label> |
| | <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accumulated Other Comprehensive Income (Loss), Net of Tax </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_b2ffa566-cb34-43e5-90d7-8a8d567af174_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Taxes </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryRawMaterials_1365063e-10b4-42b8-a459-e4c1c1f8d455_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Raw materials </link:label> |
| | <link:label id="lab_us-gaap_InventoryRawMaterials_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory, Raw Materials, Gross </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryRawMaterials"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterials" xlink:to="lab_us-gaap_InventoryRawMaterials" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityAddressCityOrTown_57820866-f850-4544-aad4-40b5bc91d8eb_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, City or Town </link:label> |
| | <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, City or Town </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressCityOrTown"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_f96aee99-f12f-498a-a7a8-34e9fa5e404f_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted Stock Units (RSUs) </link:label> |
| | <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted Stock Units (RSUs) [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLeaseCost_da467d59-90c8-4ce4-bed5-78236699e0a9_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease cost </link:label> |
| | <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Cost </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLeaseCost"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_2fbf8e7a-6d15-4395-99ce-422955912b00_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2024 </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_label_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due In Rolling Year Four </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due In Rolling Year Four </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:to="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths_203e349e-2e70-4ae1-a0d5-ab1ddc3b4091_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2021 </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Payments, Due in Next Rolling Twelve Months </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_TypeOfAdoptionMember_966ac198-f537-4dde-985e-4e66f9716fca_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Type of Adoption [Domain] </link:label> |
| | <link:label id="lab_us-gaap_TypeOfAdoptionMember_label_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Standards Update [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfAdoptionMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_TypeOfAdoptionMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfAdoptionMember" xlink:to="lab_us-gaap_TypeOfAdoptionMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_1410642e-5fee-45ba-ba0a-e06f22a318be_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table] </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ShipbuilderForUSNavyMember_dd8634b5-6e55-4d62-a65e-2e89adffd91d_terseLabel_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Shipbuilder For U.S. Navy </link:label> |
| | <link:label id="lab_efoi_ShipbuilderForUSNavyMember_label_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Shipbuilder For U.S. Navy [Member] </link:label> |
| | <link:label id="lab_efoi_ShipbuilderForUSNavyMember_documentation_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Shipbuilder For U.S. Navy </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ShipbuilderForUSNavyMember" xlink:href="efoi-20201231.xsd#efoi_ShipbuilderForUSNavyMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ShipbuilderForUSNavyMember" xlink:to="lab_efoi_ShipbuilderForUSNavyMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3ddcbfa9-044b-41d9-ac35-efb8c0904029_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Antidilutive securities excluded from computation of earnings per share (number of shares) </link:label> |
| | <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_529c6d25-58dd-4c79-8f3e-7ea6e55576cf_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance lease, weighted average remaining lease term </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Weighted Average Remaining Lease Term </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAnnualFeePercent_bfbb8b3c-6de5-48ef-9126-668532ed864b_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Annual fee </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAnnualFeePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Annual Fee, Percent </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAnnualFeePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Annual Fee, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityAnnualFeePercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:to="lab_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_5bdc80fc-749e-4076-a409-5e6c7bad6e35_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Loss on dispositions of property and equipment </link:label> |
| | <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Gain (Loss) on Disposition of Property Plant Equipment </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EquityComponentDomain_fe7fd190-df13-4215-9a12-d6e01ec4ee1b_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Equity Component [Domain] </link:label> |
| | <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Equity Component [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquityComponentDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent_8caf1f18-64d3-49b2-afbe-1f06b989024c_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Collateral management fee </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Collateral Management Fee, Percent </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Collateral Management Fee, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityCollateralManagementFeePercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:to="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_MediumtermNotesNoncurrent_06180138-bf06-4672-ae15-63ae4e918bd5_terseLabel_en-US" xlink:label="lab_us-gaap_MediumtermNotesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Iliad note, net of current maturities </link:label> |
| | <link:label id="lab_us-gaap_MediumtermNotesNoncurrent_label_en-US" xlink:label="lab_us-gaap_MediumtermNotesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Medium-term Notes, Noncurrent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumtermNotesNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_MediumtermNotesNoncurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MediumtermNotesNoncurrent" xlink:to="lab_us-gaap_MediumtermNotesNoncurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_f453a5ce-00b9-42ce-b723-19b635d4c009_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Valuation allowance </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Valuation Allowance </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_0d38fa06-e862-4aee-b900-a3c0a7cb39d9_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Right-of-use-asset </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Liabilities, Leasing Arrangements </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_OperatingLeaseReceivable_98bbeb28-5d6d-4cb1-99ba-cc1a5d58ece1_negatedTerseLabel_en-US" xlink:label="lab_efoi_OperatingLeaseReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total lease obligations </link:label> |
| | <link:label id="lab_efoi_OperatingLeaseReceivable_label_en-US" xlink:label="lab_efoi_OperatingLeaseReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Receivable </link:label> |
| | <link:label id="lab_efoi_OperatingLeaseReceivable_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseReceivable" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Lease, Receivable </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseReceivable" xlink:href="efoi-20201231.xsd#efoi_OperatingLeaseReceivable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseReceivable" xlink:to="lab_efoi_OperatingLeaseReceivable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LiabilitiesAbstract_48110ac5-45ae-4b89-a21a-8729899e323b_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> LIABILITIES </link:label> |
| | <link:label id="lab_us-gaap_LiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Liabilities [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAbstract" xlink:to="lab_us-gaap_LiabilitiesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_GrossProfit_c7ab0e4a-4e00-4350-974d-0785b5f5c0b6_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Gross profit </link:label> |
| | <link:label id="lab_us-gaap_GrossProfit_f439ddb4-a576-4ee8-a6a6-ddaf4108d4e4_terseLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Gross profit </link:label> |
| | <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Gross Profit </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_GrossProfit"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConstructionInProgressMember_cf055e57-1d04-46ad-980a-2fc5193118be_terseLabel_en-US" xlink:label="lab_us-gaap_ConstructionInProgressMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Construction in progress </link:label> |
| | <link:label id="lab_us-gaap_ConstructionInProgressMember_label_en-US" xlink:label="lab_us-gaap_ConstructionInProgressMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Construction in Progress [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConstructionInProgressMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConstructionInProgressMember" xlink:to="lab_us-gaap_ConstructionInProgressMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_A2017RestructuringPlanMember_5b7ec076-e819-4848-8dc4-2fcd0296c160_terseLabel_en-US" xlink:label="lab_efoi_A2017RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2017 Restructuring Plan </link:label> |
| | <link:label id="lab_efoi_A2017RestructuringPlanMember_label_en-US" xlink:label="lab_efoi_A2017RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2017 Restructuring Plan [Member] </link:label> |
| | <link:label id="lab_efoi_A2017RestructuringPlanMember_documentation_en-US" xlink:label="lab_efoi_A2017RestructuringPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2017 Restructuring Plan [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_A2017RestructuringPlanMember" xlink:href="efoi-20201231.xsd#efoi_A2017RestructuringPlanMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A2017RestructuringPlanMember" xlink:to="lab_efoi_A2017RestructuringPlanMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityTaxIdentificationNumber_82ec7034-e1ff-4d75-aac7-c1b853241d3a_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Tax Identification Number </link:label> |
| | <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Tax Identification Number </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityTaxIdentificationNumber"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PrepaidInsurance_2b6d0867-c609-4ea8-aef1-f075b927c04d_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidInsurance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid insurance </link:label> |
| | <link:label id="lab_us-gaap_PrepaidInsurance_label_en-US" xlink:label="lab_us-gaap_PrepaidInsurance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prepaid Insurance </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidInsurance" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrepaidInsurance"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidInsurance" xlink:to="lab_us-gaap_PrepaidInsurance" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_7cefc055-f72d-4d22-8cf4-156a67dc362e_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revenue recognition </link:label> |
| | <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revenue from Contract with Customer [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_18293a9a-c3ff-4c3f-93ba-858828b20d54_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Lease, Description [Table] </link:label> |
| | <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Lease, Description [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:to="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ReceivablesFacilityMember_1c741f4b-77ad-4d1a-aa1b-982d1a81b3d8_terseLabel_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Receivables Facility </link:label> |
| | <link:label id="lab_efoi_ReceivablesFacilityMember_label_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Receivables Facility [Member] </link:label> |
| | <link:label id="lab_efoi_ReceivablesFacilityMember_documentation_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Receivables Facility </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivablesFacilityMember" xlink:href="efoi-20201231.xsd#efoi_ReceivablesFacilityMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ReceivablesFacilityMember" xlink:to="lab_efoi_ReceivablesFacilityMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NetIncomeLoss_889d8979-4e2e-4370-9a65-8ab5df7e556c_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net loss </link:label> |
| | <link:label id="lab_us-gaap_NetIncomeLoss_b7645bd0-bd51-4c73-9a78-da9e2e6715da_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net loss </link:label> |
| | <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net Income (Loss) Attributable to Parent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetIncomeLoss"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityNoncurrent_6f3501b2-3f52-4ab7-a191-c4c0c08267d0_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance lease liabilities, net of current portion </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Noncurrent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c9d1d732-e88c-4254-84c4-8faea6aa5618_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Change in operating assets and liabilities: </link:label> |
| | <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Increase (Decrease) in Operating Capital [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_EquityMethodInvesteeNameDomain_b7ad0695-ecb9-490f-85ba-fc2317803de7_terseLabel_en-US" xlink:label="lab_srt_EquityMethodInvesteeNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Investment, Name [Domain] </link:label> |
| | <link:label id="lab_srt_EquityMethodInvesteeNameDomain_label_en-US" xlink:label="lab_srt_EquityMethodInvesteeNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Investment, Name [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_EquityMethodInvesteeNameDomain" xlink:to="lab_srt_EquityMethodInvesteeNameDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_ce9c988f-d30e-4cef-acf2-74a5c93d9bf1_terseLabel_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> London Interbank Offered Rate (LIBOR) </link:label> |
| | <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_label_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> London Interbank Offered Rate (LIBOR) [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_1087ec56-ffac-4173-9d29-94a7ff50db7f_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventories </link:label> |
| | <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentUnamortizedPremium_3dada42f-9185-40bc-8af3-e71b03004234_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedPremium" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Original issue discount </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentUnamortizedPremium_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedPremium" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Unamortized Premium </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedPremium" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentUnamortizedPremium"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedPremium" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedPremium" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_7efa9845-82d0-459a-b467-67da1aba9acc_negatedPeriodStartLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Beginning balance </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_3c4eae9b-e172-42c8-abac-215935006820_negatedPeriodEndLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Reserves for excess, obsolete, and slow-moving inventories </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves, Raw Materials </link:label> |
| | <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory Valuation Reserves, Raw Materials </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesRawMaterials" xlink:href="efoi-20201231.xsd#efoi_InventoryValuationReservesRawMaterials"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesRawMaterials" xlink:to="lab_efoi_InventoryValuationReservesRawMaterials" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LeasesAbstract_9ca59550-3d98-4db4-926a-7395b3446b57_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Leases [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Leases [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeasesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LongtermDebtTypeAxis_9d5f518b-ff14-4b19-b85b-d66f79132fa4_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-term Debt, Type [Axis] </link:label> |
| | <link:label id="lab_us-gaap_LongtermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-term Debt, Type [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AssetsCurrent_eae54859-7617-4788-a1d1-8125026c87b8_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total current assets </link:label> |
| | <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Assets, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AssetsCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_CurrentFiscalYearEndDate_274ac798-e6cd-4821-a532-a04e812d2392_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Current Fiscal Year End Date </link:label> |
| | <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Current Fiscal Year End Date </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_CurrentFiscalYearEndDate"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingExpensesAbstract_cbe45a34-acd8-4ff7-844c-c40a5f7ac7b7_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating expenses: </link:label> |
| | <link:label id="lab_us-gaap_OperatingExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Expenses [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingExpensesAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpensesAbstract" xlink:to="lab_us-gaap_OperatingExpensesAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EarningsPerShareAbstract_d2c1b06e-deed-42f0-976d-b5c16466f959_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Numerator: </link:label> |
| | <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Earnings Per Share [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OperatingLossCarryforwards_b7eceb3d-8388-4a0d-af37-4b0d16b99127_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating loss carry-forwards </link:label> |
| | <link:label id="lab_us-gaap_OperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating Loss Carryforwards </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OperatingLossCarryforwards"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_8dda8861-afd2-431d-978e-48f2f5837375_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Deferred Tax Assets </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Deferred Tax Assets and Liabilities [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiability_f5c36edd-4154-433d-ad4d-884e9916e54e_verboseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance lease liabilities </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiability_084b1212-6a17-4b6a-941d-59a01b5bd126_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total lease obligations </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiability_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiability"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiability" xlink:to="lab_us-gaap_FinanceLeaseLiability" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_74d9c161-538d-4e71-a75b-909db3127091_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property and equipment at cost </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_eae7eeb1-b7f8-4d9d-950c-c9ae54316efb_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> State taxes (net of federal tax benefit) </link:label> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockholdersEquityAbstract_4150eeae-7b01-4fb4-922a-7777684227a8_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> STOCKHOLDERS’ EQUITY </link:label> |
| | <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stockholders' Equity Attributable to Parent [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockholdersEquityAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember_f64b7427-e445-4d2d-94da-522c5115217b_terseLabel_en-US" xlink:label="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Regional Commercial Lighting Retrofit Company </link:label> |
| | <link:label id="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember_label_en-US" xlink:label="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Regional Commercial Lighting Retrofit Company [Member] </link:label> |
| | <link:label id="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember_documentation_en-US" xlink:label="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Regional Commercial Lighting Retrofit Company </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:href="efoi-20201231.xsd#efoi_RegionalCommercialLightingRetrofitCompanyMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:to="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_49277c5f-f5f8-4fa4-9cf1-405c5b3efcdc_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Classification of cash and restricted cash: </link:label> |
| | <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash and Cash Equivalents [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract" xlink:to="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_AustinCreditFacilityMember_c36f693c-5517-433e-a1f4-caf448eebc9e_terseLabel_en-US" xlink:label="lab_efoi_AustinCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Austin Credit Facility </link:label> |
| | <link:label id="lab_efoi_AustinCreditFacilityMember_label_en-US" xlink:label="lab_efoi_AustinCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Austin Credit Facility [Member] </link:label> |
| | <link:label id="lab_efoi_AustinCreditFacilityMember_documentation_en-US" xlink:label="lab_efoi_AustinCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Austin Credit Facility </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinCreditFacilityMember" xlink:href="efoi-20201231.xsd#efoi_AustinCreditFacilityMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AustinCreditFacilityMember" xlink:to="lab_efoi_AustinCreditFacilityMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_bda89f55-bd7d-4c61-a5ca-74db9d8cbe71_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Number of Options </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_DocumentFiscalPeriodFocus_f8f76678-c1ea-4a3f-9aa5-e2e97e3fa37c_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Fiscal Period Focus </link:label> |
| | <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Document Fiscal Period Focus </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_DocumentFiscalPeriodFocus"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_OtherLEDProductsMember_1bf72ce3-146d-472f-af4a-e3c3c6de1e8a_terseLabel_en-US" xlink:label="lab_efoi_OtherLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other LED Products </link:label> |
| | <link:label id="lab_efoi_OtherLEDProductsMember_label_en-US" xlink:label="lab_efoi_OtherLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other LED Products [Member] </link:label> |
| | <link:label id="lab_efoi_OtherLEDProductsMember_documentation_en-US" xlink:label="lab_efoi_OtherLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Other LED Products [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_OtherLEDProductsMember" xlink:href="efoi-20201231.xsd#efoi_OtherLEDProductsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OtherLEDProductsMember" xlink:to="lab_efoi_OtherLEDProductsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_PaymentsForClearingFees_83874674-288e-4ee4-8751-3795178914a3_terseLabel_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Amount paid for clearing fees </link:label> |
| | <link:label id="lab_efoi_PaymentsForClearingFees_label_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments For Clearing Fees </link:label> |
| | <link:label id="lab_efoi_PaymentsForClearingFees_documentation_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payments For Clearing Fees </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees" xlink:href="efoi-20201231.xsd#efoi_PaymentsForClearingFees"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsForClearingFees" xlink:to="lab_efoi_PaymentsForClearingFees" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_AccumulatedInterestOnSubordinatedDebt_642f4366-bbcf-4ff0-ae77-d81cb8004c30_terseLabel_en-US" xlink:label="lab_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accumulated interest </link:label> |
| | <link:label id="lab_efoi_AccumulatedInterestOnSubordinatedDebt_label_en-US" xlink:label="lab_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accumulated Interest on Subordinated Debt </link:label> |
| | <link:label id="lab_efoi_AccumulatedInterestOnSubordinatedDebt_documentation_en-US" xlink:label="lab_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accumulated Interest on Subordinated Debt </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:href="efoi-20201231.xsd#efoi_AccumulatedInterestOnSubordinatedDebt"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:to="lab_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt_24a05d47-1514-4de2-9863-53057025d9d3_terseLabel_en-US" xlink:label="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Interest rate on convertible notes </link:label> |
| | <link:label id="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt_label_en-US" xlink:label="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Conversion, Original Debt, Interest Rate of Debt </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtConversionOriginalDebtInterestRateOfDebt"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:to="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_55288fa6-e96d-49dc-b69a-c7558ae3336b_terseLabel_en-US" xlink:label="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Distributor To U.S. Navy Combined With Sales To Shipbuilders </link:label> |
| | <link:label id="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_label_en-US" xlink:label="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Distributor To U.S. Navy Combined With Sales To Shipbuilders [Member] </link:label> |
| | <link:label id="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_documentation_en-US" xlink:label="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Distributor To U.S. Navy Combined With Sales To Shipbuilders </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:href="efoi-20201231.xsd#efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:to="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_59b83565-13a2-43fd-b6ce-620256a1a0d4_negatedLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Less: accumulated depreciation </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree_d78fac34-f043-4141-bebe-4bfd678a7553_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2023 </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Payments, Due in Rolling Year Three </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureTable_82afcc97-8cfd-4251-a794-4e7277d332ac_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table] </link:label> |
| | <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureTable_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock_43c6b1b3-95e4-4d2a-a757-da48adb646b5_terseLabel_en-US" xlink:label="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-lived assets </link:label> |
| | <link:label id="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long Lived Assets Policy [Policy Text Block] </link:label> |
| | <link:label id="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock_documentation_en-US" xlink:label="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Disclosure of accounting policy for property, plant and equipment as well as goodwill and intangible assets, which may include the basis of such assets, depreciation methods used and estimated useful lives, the entity's capitalization policy, including its accounting treatment for costs incurred for repairs and maintenance activities, whether such asset balances include capitalized interest and the method by which such is calculated, how disposals of such assets are accounted for and how impairment of such assets is assessed and recognized. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:href="efoi-20201231.xsd#efoi_LongLivedAssetsPolicyPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:to="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_938df7c5-aeeb-49c4-8193-8f96bea6f7b8_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2021 </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_label_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due Next Rolling Twelve Months </link:label> |
| | <link:label id="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructured Leases, Lessee, Operating Lease, Liability, Payments, Due Next Rolling Twelve Months </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:href="efoi-20201231.xsd#efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:to="lab_efoi_RestructuredLeasesLesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_3965370c-d3a2-4d7c-96d9-9c5f1fad4dfa_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Supplemental information: </link:label> |
| | <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_label_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Supplemental Cash Flow Information [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest_feab84fa-1f64-4048-9d55-460e12387f80_terseLabel_en-US" xlink:label="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ownership interest </link:label> |
| | <link:label id="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest_label_en-US" xlink:label="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Limited Liability Company (LLC) or Limited Partnership (LP), Managing Member or General Partner, Ownership Interest </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:to="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_PaymentProtectionProgramCurrent_17db4553-9125-4390-8b16-078984d6daa8_terseLabel_en-US" xlink:label="lab_efoi_PaymentProtectionProgramCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> PPP loan </link:label> |
| | <link:label id="lab_efoi_PaymentProtectionProgramCurrent_label_en-US" xlink:label="lab_efoi_PaymentProtectionProgramCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payment Protection Program, Current </link:label> |
| | <link:label id="lab_efoi_PaymentProtectionProgramCurrent_documentation_en-US" xlink:label="lab_efoi_PaymentProtectionProgramCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Payment Protection Program, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramCurrent" xlink:href="efoi-20201231.xsd#efoi_PaymentProtectionProgramCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentProtectionProgramCurrent" xlink:to="lab_efoi_PaymentProtectionProgramCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_b6b48678-0806-400c-939e-495b516a25b3_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Issuance of common stock under employee stock option and stock purchase plans (in shares) </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock Issued During Period, Shares, Employee Stock Purchase Plans </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityFilerCategory_74a18d28-1b12-41ed-84aa-9768a899a3e1_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Filer Category </link:label> |
| | <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Filer Category </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityFilerCategory"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_a5b9db3e-ff8f-4ea3-9fdc-3cb9b38ce179_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Summary of Impact of Results of Stock-Based Compensation </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CommonStockMember_7ee064aa-8966-4c2c-aa0b-8f4ea485f0b3_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common Stock </link:label> |
| | <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common Stock [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CommonStockMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ProductsAndServicesDomain_868c9be7-5fa4-440b-b974-5c6401e09d87_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product and Service [Domain] </link:label> |
| | <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product and Service [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ProductsAndServicesDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_1c92dd94-39fc-490b-9261-2bff8e917e07_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment [Line Items] </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment [Line Items] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_3d064f8b-a8e9-46d6-9a6e-b3b67e297776_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment, Type [Domain] </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-Lived Tangible Asset [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseDiscountRate_c8dd0ab3-cd4f-45bc-818e-4ab0c1c0d1bb_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating lease, discount rate </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseDiscountRate_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Discount Rate </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseDiscountRate"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:to="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_7b592148-f6be-4963-8112-ac193eadfda8_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk Benchmark [Domain] </link:label> |
| | <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Concentration Risk Benchmark [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AllowanceForCreditLossMember_b51a832a-5f94-4cac-94d5-377aa9313478_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForCreditLossMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Allowance for doubtful accounts and returns </link:label> |
| | <link:label id="lab_us-gaap_AllowanceForCreditLossMember_label_en-US" xlink:label="lab_us-gaap_AllowanceForCreditLossMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Allowance, Credit Loss [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AllowanceForCreditLossMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForCreditLossMember" xlink:to="lab_us-gaap_AllowanceForCreditLossMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFour_66ca2b91-01f4-4b08-bb49-62a10ad559a3_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFour" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2024 </link:label> |
| | <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFour_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessor, Operating Lease, Payments to be Received, Rolling Year Four </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFour" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFour"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFour" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRollingYearFour" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConvertibleDebtMember_a12bbe8d-6854-480e-8676-5756ff074497_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertibleDebtMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Convertible Debt </link:label> |
| | <link:label id="lab_us-gaap_ConvertibleDebtMember_label_en-US" xlink:label="lab_us-gaap_ConvertibleDebtMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Convertible Debt [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertibleDebtMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleDebtMember" xlink:to="lab_us-gaap_ConvertibleDebtMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_0254a580-3375-4916-8647-082eed8e8b63_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Property and Equipment </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_808459e1-544d-4ff7-9edf-55b5b629eddb_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Shares issued (in shares) </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock Issued During Period, Shares, New Issues </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMinimumRequirement_26d12f0e-f97f-42ad-ae8a-883c723019e2_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Minimum borrowing requirement </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMinimumRequirement_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Minimum Requirement </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityMinimumRequirement_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Minimum Requirement </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMinimumRequirement" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityMinimumRequirement"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityMinimumRequirement" xlink:to="lab_efoi_LineOfCreditFacilityMinimumRequirement" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LeaseholdImprovementsMember_b2f37e88-27f7-4fdf-b21b-d293aa299db9_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Leasehold improvements </link:label> |
| | <link:label id="lab_us-gaap_LeaseholdImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Leasehold Improvements [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SalesRevenueNetMember_b2a31afb-5fe4-415b-849e-e4c29e96cad3_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net sales </link:label> |
| | <link:label id="lab_us-gaap_SalesRevenueNetMember_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revenue Benchmark [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SalesRevenueNetMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNetMember" xlink:to="lab_us-gaap_SalesRevenueNetMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_OffshoreSupplierMember_5d0fb5a7-c4a6-4b81-aecd-d03bc070a66f_terseLabel_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Offshore Supplier </link:label> |
| | <link:label id="lab_efoi_OffshoreSupplierMember_label_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Offshore Supplier [Member] </link:label> |
| | <link:label id="lab_efoi_OffshoreSupplierMember_documentation_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Offshore Supplier </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_OffshoreSupplierMember" xlink:href="efoi-20201231.xsd#efoi_OffshoreSupplierMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OffshoreSupplierMember" xlink:to="lab_efoi_OffshoreSupplierMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_230ea4bc-ce3d-477a-b15f-9546e1ce98e0_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stated interest rate </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Interest Rate, Stated Percentage </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_9fce2d5b-328b-464a-b095-9c1bcc1b99e8_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Conversion of convertible securities </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock Issued During Period, Shares, Conversion of Convertible Securities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_54b9703a-356c-4a7f-b6f3-7b4630683a0c_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2024 </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Four </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_8026f393-507b-4104-816f-416f713a51aa_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Provision for doubtful accounts receivable </link:label> |
| | <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_label_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounts Receivable, Credit Loss Expense (Reversal) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost_fdf17043-083f-4b31-9d5a-4d9a0fc7b28a_terseLabel_en-US" xlink:label="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Write off of remaining related debt and acquisition cost </link:label> |
| | <link:label id="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost_label_en-US" xlink:label="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Write off of Deferred Debt Issuance Cost </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:to="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ProductWarrantyLiabilityTable_1aa76862-4a5c-4804-96eb-f8b0c2ab4983_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product Warranty Liability [Table] </link:label> |
| | <link:label id="lab_us-gaap_ProductWarrantyLiabilityTable_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Product Warranty Liability [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable" xlink:to="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_7ff2a25b-ac77-493d-b25b-78961e64146a_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercised (in shares) </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_050a39d2-e45f-4616-822a-5ac3c9723299_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercised (in shares) </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_f8ce1c5e-67b9-4da8-b38b-a94c142119b0_terseLabel_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Supplemental Cash Flow Information Related To Leases </link:label> |
| | <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_label_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Supplemental Cash Flow Information Related To Leases [Table Text Block] </link:label> |
| | <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_documentation_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> [Table Text Block] for Supplemental Cash Flow Information Related To Leases [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:href="efoi-20201231.xsd#efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:to="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionsAbstract_58322f5e-8de5-4740-be14-182769e3e806_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transactions [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_RelatedPartyTransactionsAbstract_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transactions [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsAbstract" xlink:to="lab_us-gaap_RelatedPartyTransactionsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_f0605e96-2bfb-4d2d-ab54-ce2e4b605f8e_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net increase (decrease) in cash and restricted cash </link:label> |
| | <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAsset_e56947f3-736e-4c46-9d5a-21141150b4b3_totalLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance lease assets, net </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Right-of-Use Asset, after Accumulated Amortization </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAsset" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAsset"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_c5a3ae30-f6c2-4e9c-9b17-19e14270a28a_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Future Maturities of Operating Lease Liabilities </link:label> |
| | <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lessee, Operating Lease, Liability, Maturity [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EmployeeStockOptionMember_f7b8cd36-f985-4bd8-a2ca-a13377de10ac_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Employee stock option </link:label> |
| | <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOptionMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_ba30d188-d443-4df9-b93b-bc026c716ffd_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Basis of presentation </link:label> |
| | <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Basis of Accounting, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_f2bc333a-afaf-463a-bc4f-8b54760af866_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Annual facility period </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Annual Facility Fee, Period </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line Of Credit Facility, Annual Facility Fee, Period </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityAnnualFacilityFeePeriod"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:to="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_cb46bb4f-fde7-4669-9778-d61c4eb3e710_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Basic (in shares) </link:label> |
| | <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Number of Shares Outstanding, Basic </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_Plan2020Member_26d012f5-84aa-44f6-b807-4ab5d00e56ec_terseLabel_en-US" xlink:label="lab_efoi_Plan2020Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2020 Plan </link:label> |
| | <link:label id="lab_efoi_Plan2020Member_label_en-US" xlink:label="lab_efoi_Plan2020Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Plan 2020 [Member] </link:label> |
| | <link:label id="lab_efoi_Plan2020Member_documentation_en-US" xlink:label="lab_efoi_Plan2020Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Plan 2020 </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2020Member" xlink:href="efoi-20201231.xsd#efoi_Plan2020Member"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_Plan2020Member" xlink:to="lab_efoi_Plan2020Member" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_0389dd89-8273-4efe-86d9-c9798bc0a663_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Risk-free interest rate </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SubsequentEventsAbstract_2e5491b0-5105-436c-9357-c239e0e21e79_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Events [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_SubsequentEventsAbstract_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Subsequent Events [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SubsequentEventsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract" xlink:to="lab_us-gaap_SubsequentEventsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_OwnershipAxis_9ec7c599-f210-46d5-ad49-fb331060520b_terseLabel_en-US" xlink:label="lab_srt_OwnershipAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ownership [Axis] </link:label> |
| | <link:label id="lab_srt_OwnershipAxis_label_en-US" xlink:label="lab_srt_OwnershipAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ownership [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipAxis" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_OwnershipAxis" xlink:to="lab_srt_OwnershipAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_849a514e-d05d-42b5-8310-f9d6dc6d80d8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Canceled (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestructuringReserveCurrent_be48b8d9-3f84-40ce-8615-bc6dcb36d7d5_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued restructuring </link:label> |
| | <link:label id="lab_us-gaap_RestructuringReserveCurrent_9a7aed19-c5f5-4e65-bef8-0d0f718757ba_verboseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Less, short-term restructuring liability </link:label> |
| | <link:label id="lab_us-gaap_RestructuringReserveCurrent_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Reserve, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestructuringReserveCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveCurrent" xlink:to="lab_us-gaap_RestructuringReserveCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_NotePurchaseAgreementMember_d7b3197f-2763-4cc2-8e24-d368ea24ede9_terseLabel_en-US" xlink:label="lab_efoi_NotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Note Purchase Agreement </link:label> |
| | <link:label id="lab_efoi_NotePurchaseAgreementMember_label_en-US" xlink:label="lab_efoi_NotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Note Purchase Agreement [Member] </link:label> |
| | <link:label id="lab_efoi_NotePurchaseAgreementMember_documentation_en-US" xlink:label="lab_efoi_NotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Note Purchase Agreement [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_NotePurchaseAgreementMember" xlink:href="efoi-20201231.xsd#efoi_NotePurchaseAgreementMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_NotePurchaseAgreementMember" xlink:to="lab_efoi_NotePurchaseAgreementMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SaleOfStockNameOfTransactionDomain_f10209e2-0f95-41e1-9786-dcf2c0cc055d_terseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Sale of Stock [Domain] </link:label> |
| | <link:label id="lab_us-gaap_SaleOfStockNameOfTransactionDomain_label_en-US" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Sale of Stock [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_OwnershipDomain_f59914f7-0120-4265-ae6e-93d0fff1204e_terseLabel_en-US" xlink:label="lab_srt_OwnershipDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ownership [Domain] </link:label> |
| | <link:label id="lab_srt_OwnershipDomain_label_en-US" xlink:label="lab_srt_OwnershipDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ownership [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_OwnershipDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_OwnershipDomain" xlink:to="lab_srt_OwnershipDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PlanNameDomain_4dac37da-fa4f-4b09-a7a0-fa8271464488_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Plan Name [Domain] </link:label> |
| | <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Plan Name [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PlanNameDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_f303d8a8-2d48-41f5-9d45-137a9415ed85_terseLabel_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Well-known Seasoned Issuer </link:label> |
| | <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_label_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Well-known Seasoned Issuer </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityWellKnownSeasonedIssuer"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InterestPaidNet_e7bbae49-5250-4c8b-89c9-31d8ea166534_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash paid in year for interest </link:label> |
| | <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Interest Paid, Excluding Capitalized Interest, Operating Activities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InterestPaidNet"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_YehMeiChengMember_d75f9267-c357-4643-aa74-65909432cb27_terseLabel_en-US" xlink:label="lab_efoi_YehMeiChengMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Yeh-Mei Cheng </link:label> |
| | <link:label id="lab_efoi_YehMeiChengMember_label_en-US" xlink:label="lab_efoi_YehMeiChengMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Yeh Mei Cheng [Member] </link:label> |
| | <link:label id="lab_efoi_YehMeiChengMember_documentation_en-US" xlink:label="lab_efoi_YehMeiChengMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Yeh-Mei Cheng </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_YehMeiChengMember" xlink:href="efoi-20201231.xsd#efoi_YehMeiChengMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_YehMeiChengMember" xlink:to="lab_efoi_YehMeiChengMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_2f6715df-f2b9-43df-9d21-fd4ae6149a37_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory costs </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockOptionMember_6d7054d1-3131-4656-9e44-bc2ec131b4ee_terseLabel_en-US" xlink:label="lab_us-gaap_StockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Equity Option </link:label> |
| | <link:label id="lab_us-gaap_StockOptionMember_label_en-US" xlink:label="lab_us-gaap_StockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Equity Option [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockOptionMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockOptionMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockOptionMember" xlink:to="lab_us-gaap_StockOptionMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_ec2a0402-828d-46da-9743-c19ca7957f5f_terseLabel_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Supplemental Balance Sheet Information </link:label> |
| | <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_label_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lease, Supplemental Balance Sheet Information [Table Text Block] </link:label> |
| | <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_documentation_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Lease, Supplemental Balance Sheet Information [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:href="efoi-20201231.xsd#efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:to="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_325df545-2687-4d90-a34e-ee9905a6580e_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash and restricted cash </link:label> |
| | <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash and Cash Equivalents, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_Revenues_275b3555-e463-4416-bf6e-468d2dbe70e8_terseLabel_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net sales </link:label> |
| | <link:label id="lab_us-gaap_Revenues_daba228f-1ea1-4e5f-81a8-0a6db7dbb6a6_verboseLabel_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net sales </link:label> |
| | <link:label id="lab_us-gaap_Revenues_label_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Revenues </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Revenues"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Revenues" xlink:to="lab_us-gaap_Revenues" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StatementClassOfStockAxis_3fd3fee2-ecbf-466d-a896-1132a3e32910_terseLabel_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class of Stock [Axis] </link:label> |
| | <link:label id="lab_us-gaap_StatementClassOfStockAxis_label_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Class of Stock [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementClassOfStockAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_3b6244c4-382e-41b7-90ab-2174aa55f19e_terseLabel_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net proceeds from sale of common stock </link:label> |
| | <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_label_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs </link:label> |
| | <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_documentation_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:href="efoi-20201231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:to="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_InventoryPolicyTextBlock_79c0702e-c696-46d0-b988-fbfec8f4a1d3_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventories </link:label> |
| | <link:label id="lab_us-gaap_InventoryPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_InventoryPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryPolicyTextBlock" xlink:to="lab_us-gaap_InventoryPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_178fc07a-c6ac-4a16-9bc5-713a467c6b0b_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> (Benefit from) provision for income taxes </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_e664da32-f5b6-406e-8826-922c420dc2a1_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> (Benefit from) provision for income taxes </link:label> |
| | <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Income Tax Expense (Benefit) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_95346840-bffe-4a41-b646-4301f9e05969_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash and restricted cash, beginning of year </link:label> |
| | <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_255cc5a2-9a44-4a20-96d7-12cb56b605bf_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash and restricted cash, end of year </link:label> |
| | <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_a7065c1f-a8ca-4879-8f87-0ae1132d2145_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash and restricted cash </link:label> |
| | <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_ad5b89db-29b0-481d-bfcc-7228edf6ffd7_terseLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash and cash equivalents </link:label> |
| | <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_4d0b4853-fae0-410a-8bd9-182855cce382_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Standards Update and Change in Accounting Principle [Table] </link:label> |
| | <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accounting Standards Update and Change in Accounting Principle [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_4b9a2c9d-7759-4abf-95b3-c0dfcfbf9f37_totalLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total accrued liabilities </link:label> |
| | <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accrued Liabilities, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EarningsPerShareDiluted_d94b0265-1e65-4342-8ca3-e12f4ecb9f7c_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net loss per share, diluted (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Earnings Per Share, Diluted </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EarningsPerShareDiluted"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityCurrent_b4c2da24-e271-416b-a60b-c8dac455b9da_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance lease liabilities </link:label> |
| | <link:label id="lab_us-gaap_FinanceLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Finance Lease, Liability, Current </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FinanceLeaseLiabilityCurrent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_af94e5f8-163c-4872-a823-fcfc828ca94f_terseLabel_en-US" xlink:label="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Ownership in reporting entity by related party </link:label> |
| | <link:label id="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_label_en-US" xlink:label="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transactions, Ownership in Reporting Entity by Related Party </link:label> |
| | <link:label id="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_documentation_en-US" xlink:label="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Related Party Transactions, Ownership in Reporting Entity by Related Party </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:href="efoi-20201231.xsd#efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:to="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_LocalPhoneNumber_bf528912-ce2a-4930-9e21-dfa5013f7d64_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Local Phone Number </link:label> |
| | <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Local Phone Number </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_LocalPhoneNumber"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_CreditFacilitiesMember_4587022f-e2d1-494b-842d-2f8c4c3fee12_terseLabel_en-US" xlink:label="lab_efoi_CreditFacilitiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit Facilities </link:label> |
| | <link:label id="lab_efoi_CreditFacilitiesMember_label_en-US" xlink:label="lab_efoi_CreditFacilitiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit Facilities [Member] </link:label> |
| | <link:label id="lab_efoi_CreditFacilitiesMember_documentation_en-US" xlink:label="lab_efoi_CreditFacilitiesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit Facilities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_CreditFacilitiesMember" xlink:href="efoi-20201231.xsd#efoi_CreditFacilitiesMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CreditFacilitiesMember" xlink:to="lab_efoi_CreditFacilitiesMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_59531d12-bb78-4a97-860d-d1eca7039c97_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Operating loss, subject to expiration </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionDomain_c25c3ca9-1931-45e8-8163-94e28fd0acf6_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cumulative Effect, Period of Adoption [Domain] </link:label> |
| | <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionDomain_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Cumulative Effect, Period of Adoption [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_AustinFacilityMember_f1880ecb-01dd-4b6f-af28-779ed3898e58_terseLabel_en-US" xlink:label="lab_efoi_AustinFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Austin Facility </link:label> |
| | <link:label id="lab_efoi_AustinFacilityMember_label_en-US" xlink:label="lab_efoi_AustinFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Austin Facility [Member] </link:label> |
| | <link:label id="lab_efoi_AustinFacilityMember_documentation_en-US" xlink:label="lab_efoi_AustinFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Austin Facility </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinFacilityMember" xlink:href="efoi-20201231.xsd#efoi_AustinFacilityMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AustinFacilityMember" xlink:to="lab_efoi_AustinFacilityMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_86a85fe2-96e3-4ec1-9594-cae51e2072ec_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Stock by Class [Table] </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Stock by Class [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable" xlink:to="lab_us-gaap_ScheduleOfStockByClassTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_e5314d3c-c10c-4fc6-9694-87e2d422368f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Options exercised, intrinsic value </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_7c93ee52-b035-4e70-b049-34f76e71a8ba_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Level 3 Fair Value Reconciliation </link:label> |
| | <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_a0806801-9326-41e3-9b3e-08753060015b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Range of Exercise Prices, upper limit (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_cf48acda-e717-43a1-9c4d-e05f36eca5ee_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Roll Forward] </link:label> |
| | <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_86471293-5658-4047-ab92-5998b964c376_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Total liability </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Long-term Debt, Gross </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:to="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_bcd2f7ab-c9d8-4aae-bc5b-6e4463ea03d7_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Employee Stock Ownership Plan (ESOP) Name [Axis] </link:label> |
| | <link:label id="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Employee Stock Ownership Plan (ESOP) Name [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:to="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_Depreciation_9cab1467-0042-400c-949f-b0bf672e6751_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Depreciation </link:label> |
| | <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Depreciation </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_Depreciation"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityAddressAddressLine1_df308618-74bb-4435-b787-edd3031177e5_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, Address Line One </link:label> |
| | <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, Address Line One </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressAddressLine1"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityAddressAddressLine2_caeaa1f1-ae32-4f95-a6d9-ef4281de91fe_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, Address Line Two </link:label> |
| | <link:label id="lab_dei_EntityAddressAddressLine2_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Address, Address Line Two </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityAddressAddressLine2"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine2" xlink:to="lab_dei_EntityAddressAddressLine2" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PrimeRateMember_02c222db-fc0b-434e-8767-b055d9dcdef7_terseLabel_en-US" xlink:label="lab_us-gaap_PrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prime Rate </link:label> |
| | <link:label id="lab_us-gaap_PrimeRateMember_label_en-US" xlink:label="lab_us-gaap_PrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Prime Rate [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrimeRateMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrimeRateMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrimeRateMember" xlink:to="lab_us-gaap_PrimeRateMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityEmergingGrowthCompany_8e1d725e-61a6-42bb-852d-c52ef3f6791a_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Emerging Growth Company </link:label> |
| | <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Emerging Growth Company </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityEmergingGrowthCompany"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_7b351202-dc16-4571-9718-4ef038abfa91_terseLabel_en-US" xlink:label="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule II - Schedule of Valuation and Qualifying Accounts </link:label> |
| | <link:label id="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_label_en-US" xlink:label="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:to="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ConvertiblePreferredStockMember_de85d333-47ff-4a62-a6a5-43ba9e3d0a67_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertiblePreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Convertible Preferred Stock </link:label> |
| | <link:label id="lab_us-gaap_ConvertiblePreferredStockMember_label_en-US" xlink:label="lab_us-gaap_ConvertiblePreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Convertible Preferred Stock [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertiblePreferredStockMember" xlink:to="lab_us-gaap_ConvertiblePreferredStockMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3c414a33-8b65-4dd9-8aea-a358e36710b4_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Credit facility, maximum borrowing capacity </link:label> |
| | <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Maximum Borrowing Capacity </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_edbb399a-6c28-48f2-9e1c-d1a8b69b656a_terseLabel_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Distributor To The U.S. Navy </link:label> |
| | <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_label_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Distributor To The U.S. Navy [Member] </link:label> |
| | <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_documentation_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Distributor To The U.S. Navy [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheU.S.NavyMember" xlink:href="efoi-20201231.xsd#efoi_DistributorToTheU.S.NavyMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DistributorToTheU.S.NavyMember" xlink:to="lab_efoi_DistributorToTheU.S.NavyMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_89b7fa7b-7285-4f9b-980a-942a416e903a_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Inventory, net orderly liquidation value </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent </link:label> |
| | <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:href="efoi-20201231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_AwardTypeAxis_b9df22a3-0238-41b1-b46e-5dc6cdc01bbe_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Award Type [Axis] </link:label> |
| | <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Award Type [Axis] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_AwardTypeAxis"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_41f12008-9cb4-4610-9258-6a78ece80d0c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Weighted Average Grant Date Fair Value </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_3c61f2a0-21a5-460a-a25d-e647c2377d51_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Issuance of common stock upon the exercise of warrants </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_7ce64a73-fd27-43d8-b921-66dfa57e389c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Warrants exercised (in shares) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Exercised </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="arc" order="1"/> |
| | <link:label id="lab_srt_MaximumMember_2c65c4a1-fd39-4c17-ba92-1cb18f7663bb_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Maximum </link:label> |
| | <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Maximum [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd#srt_MaximumMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_589623bf-96fc-4a72-a033-684aee990eda_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred stock, shares authorized (in shares) </link:label> |
| | <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred Stock, Shares Authorized </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RestrictedCash_722f00fe-fa50-4a64-898b-3cf989d28557_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted cash </link:label> |
| | <link:label id="lab_us-gaap_RestrictedCash_label_en-US" xlink:label="lab_us-gaap_RestrictedCash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restricted Cash </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RestrictedCash"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCash" xlink:to="lab_us-gaap_RestrictedCash" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_RetainedEarningsMember_68df64c5-d1ad-4e6e-b73c-bf6b47b8c8e0_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Accumulated Deficit </link:label> |
| | <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Retained Earnings [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_RetainedEarningsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_3de8f055-272a-4842-915c-12e708736faa_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred stock, shares outstanding </link:label> |
| | <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Preferred Stock, Shares Outstanding </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_5f8ab8dc-630c-49a5-a7c7-dc789c9ac38f_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Effective income tax rate reconciliation </link:label> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Effective Income Tax Rate Reconciliation, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_12eaefa1-e74a-4885-91ca-eb03bffa9a9e_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Summary of Significant Accounting Policies </link:label> |
| | <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Significant Accounting Policies [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_a1917178-f8e4-4038-9c06-20e3367fa4ea_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net cash used in investing activities </link:label> |
| | <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Net Cash Provided by (Used in) Investing Activities </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6382dd53-2c89-479f-9789-7403cb22ca26_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_370ee0bc-a3cb-4790-afa7-b80cab231b0a_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Award Type [Domain] </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Award Type [Domain] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_e678d28d-08a7-4f4b-ab02-d569263b98e7_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Restructuring Reserve by Type of Cost </link:label> |
| | <link:label id="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Schedule of Restructuring Reserve by Type of Cost [Table Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:to="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_TradingSymbol_0980258f-5d07-4df2-9f83-921d99c379a8_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Trading Symbol </link:label> |
| | <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Trading Symbol </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_TradingSymbol"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_5526b1b5-fb42-43d7-8361-e2ce30cdabe6_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Tax credits, deferred R&D, and other </link:label> |
| | <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Deferred Tax Assets, in Process Research and Development </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_323ac783-48bc-4468-99a5-a44234481ab2_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercisable (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_ExercisePriceRangeThreeMember_58725fd5-39cb-4312-9392-771508498a1a_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeThreeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise price, range three </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeThreeMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeThreeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Exercise Price Range Three [Member] </link:label> |
| | <link:label id="lab_efoi_ExercisePriceRangeThreeMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeThreeMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> The third exercise price range. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeThreeMember" xlink:href="efoi-20201231.xsd#efoi_ExercisePriceRangeThreeMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeThreeMember" xlink:to="lab_efoi_ExercisePriceRangeThreeMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_71f313db-ac3e-4100-ba6d-457e36399f59_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property and Equipment </link:label> |
| | <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Property, Plant and Equipment Disclosure [Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPayments_b4f8149f-bc79-4d87-9e4d-cb57532bd073_negatedLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Settlements made during the year (in kind) </link:label> |
| | <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPayments_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Standard Product Warranty Accrual, Decrease for Payments </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPayments"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember_d2016acc-08af-4649-b218-c8f903ce4334_terseLabel_en-US" xlink:label="lab_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Commercial LEDFL Tubular LED Lamps (Excluding Battery Backup TLED), Troffer Luminaires, And Certain Globe Lights </link:label> |
| | <link:label id="lab_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember_label_en-US" xlink:label="lab_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Commercial LEDFL Tubular LED Lamps (Excluding Battery Backup TLED), Troffer Luminaires, And Certain Globe Lights [Member] </link:label> |
| | <link:label id="lab_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember_documentation_en-US" xlink:label="lab_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Commercial LEDFL Tubular LED Lamps (Excluding Battery Backup TLED), Troffer Luminaires, And Certain Globe Lights [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember" xlink:href="efoi-20201231.xsd#efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember" xlink:to="lab_efoi_CommercialLEDFLTubularLEDLampsExcludingBatteryBackupTLEDTrofferLuminairesAndCertainGlobeLightsMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_PrivatePlacementMember_0fee4d0b-b9e4-4142-8c0e-4a75b64c38fc_terseLabel_en-US" xlink:label="lab_us-gaap_PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Private Placement </link:label> |
| | <link:label id="lab_us-gaap_PrivatePlacementMember_label_en-US" xlink:label="lab_us-gaap_PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Private Placement [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrivatePlacementMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_PrivatePlacementMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrivatePlacementMember" xlink:to="lab_us-gaap_PrivatePlacementMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_FacilityClosingMember_2270b951-cde3-4409-9376-2f31bdf36ec0_terseLabel_en-US" xlink:label="lab_us-gaap_FacilityClosingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Restructuring Liability </link:label> |
| | <link:label id="lab_us-gaap_FacilityClosingMember_label_en-US" xlink:label="lab_us-gaap_FacilityClosingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Facility Closing [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FacilityClosingMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_FacilityClosingMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FacilityClosingMember" xlink:to="lab_us-gaap_FacilityClosingMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_DebtInstrumentRepurchaseAmount_09b95cca-b76b-4b2a-9b74-bab55a8cfed3_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRepurchaseAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Redemption amount </link:label> |
| | <link:label id="lab_us-gaap_DebtInstrumentRepurchaseAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRepurchaseAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Debt Instrument, Repurchase Amount </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRepurchaseAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_DebtInstrumentRepurchaseAmount"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRepurchaseAmount" xlink:to="lab_us-gaap_DebtInstrumentRepurchaseAmount" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_31961bcb-8823-472c-b35a-213626d4655f_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Organization, Consolidation and Presentation of Financial Statements [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Organization, Consolidation and Presentation of Financial Statements [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EquipmentMember_88703385-dd52-446c-9731-4a47935afd10_terseLabel_en-US" xlink:label="lab_us-gaap_EquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Equipment </link:label> |
| | <link:label id="lab_us-gaap_EquipmentMember_label_en-US" xlink:label="lab_us-gaap_EquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Equipment [Member] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EquipmentMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquipmentMember" xlink:to="lab_us-gaap_EquipmentMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_5282922e-bcab-44b3-ae0b-8e2a49268af0_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Current liabilities: </link:label> |
| | <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Liabilities, Current [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_a2ab2ecf-9226-4fa1-837a-f14cce939dfa_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> U.S. statutory rate </link:label> |
| | <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_Plan2014Member_d7dddb59-3c90-406c-b671-68c86297d5ea_terseLabel_en-US" xlink:label="lab_efoi_Plan2014Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 2014 Plan </link:label> |
| | <link:label id="lab_efoi_Plan2014Member_label_en-US" xlink:label="lab_efoi_Plan2014Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Plan 2014 [Member] </link:label> |
| | <link:label id="lab_efoi_Plan2014Member_documentation_en-US" xlink:label="lab_efoi_Plan2014Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock incentive plan approved in 2014. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2014Member" xlink:href="efoi-20201231.xsd#efoi_Plan2014Member"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_Plan2014Member" xlink:to="lab_efoi_Plan2014Member" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityShellCompany_17e6ea1e-672b-43af-bc0e-49ee5185d56a_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Shell Company </link:label> |
| | <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Shell Company </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityShellCompany"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease_f3a9dad0-0f61-47fe-865b-c0d7a46d2fc0_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Issuance of common stock and warrants (in shares) </link:label> |
| | <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Stock Issued During Period, Shares, Period Increase (Decrease) </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_716b4d6f-cdc4-4773-a9ce-ab5b2cb663e1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Common stock withheld in lieu of income tax withholding from share-based compensation (in shares) </link:label> |
| | <link:label id="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_5a3d25d9-f316-4523-a21d-941aeba6402b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Vested and expected to vest (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_efoi_FiveElementsEfficientiesBVILtdMember_c711c6cd-3e52-40dd-a7e1-40841796c975_terseLabel_en-US" xlink:label="lab_efoi_FiveElementsEfficientiesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 5 Elements Efficiencies (BVI) Ltd. </link:label> |
| | <link:label id="lab_efoi_FiveElementsEfficientiesBVILtdMember_label_en-US" xlink:label="lab_efoi_FiveElementsEfficientiesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Five Elements Efficienties BVI Ltd [Member] </link:label> |
| | <link:label id="lab_efoi_FiveElementsEfficientiesBVILtdMember_documentation_en-US" xlink:label="lab_efoi_FiveElementsEfficientiesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> 5 Elements Efficienties (BVI) Ltd. </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_efoi_FiveElementsEfficientiesBVILtdMember" xlink:href="efoi-20201231.xsd#efoi_FiveElementsEfficientiesBVILtdMember"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FiveElementsEfficientiesBVILtdMember" xlink:to="lab_efoi_FiveElementsEfficientiesBVILtdMember" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_8ee17796-e560-4ff0-8045-3ac3e38ada9d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Expired (in dollars per share) </link:label> |
| | <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_db2e574b-4767-49ef-b038-cf3b876c152c_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Recent accounting standards and pronouncements </link:label> |
| | <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> New Accounting Pronouncements, Policy [Policy Text Block] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/> |
| | <link:label id="lab_dei_EntityPublicFloat_cea0f80a-a5b7-4ed0-94b4-d06fb3bed9ba_terseLabel_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Public Float </link:label> |
| | <link:label id="lab_dei_EntityPublicFloat_label_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Entity Public Float </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat" xlink:href="https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd#dei_EntityPublicFloat"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat" xlink:to="lab_dei_EntityPublicFloat" xlink:type="arc" order="1"/> |
| | <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_eacc05a0-a6cc-405c-abed-04ce06bcec37_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement of Financial Position [Abstract] </link:label> |
| | <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US"> Statement of Financial Position [Abstract] </link:label> |
| | <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/> |
| | <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/> |
| | </link:labelLink> |
| </link:linkbase> |