diff --git a/content/applications/general/iot.rst b/content/applications/general/iot.rst index 0380e8142..9046462b9 100644 --- a/content/applications/general/iot.rst +++ b/content/applications/general/iot.rst @@ -18,7 +18,7 @@ The following IoT systems are supported: .. note:: - :abbr:`MRP (Material Requirement Planning)` devices, including cameras and measurement tools, - are not compatible with Windows virtual IoT. + are not compatible with the Windows virtual IoT. - Multiple IoT systems can be used at the same time. - It is also possible to create a Windows Virtual Machine on a MacOS/Linux computer. However, this option is not supported by Odoo, and no troubleshooting assistance will be provided. @@ -28,12 +28,10 @@ The following IoT systems are supported: IoT box subscription ==================== -An IoT box subscription is required for production use of IoT systems. If you have issues related -to your subscription, contact the database's account manager or Odoo partner for assistance. - -.. tip:: - If the subscription is linked to an `Odoo.com `_ portal user, check the - information on the portal's subscription page. +An IoT box subscription is required for production use of IoT systems and generating the +:ref:`HTTPS certificate `. It is created automatically +when an IoT system is :doc:`connected to the database `. If you have issues related to +your subscription, contact the database's account manager or Odoo partner for assistance. .. seealso:: - `Odoo's compatible IoT devices `_ @@ -55,7 +53,7 @@ to your subscription, contact the database's account manager or Odoo partner for :target: iot/windows_iot :large: - Set up Windows virtual IoT. + Set up a Windows virtual IoT. .. card:: IoT system connection to Odoo :target: iot/connect @@ -67,11 +65,10 @@ to your subscription, contact the database's account manager or Odoo partner for Connect devices such as printers, screens, measurement tools, etc., to the IoT system. - .. card:: HTTPS certificate - :target: iot/iot_advanced/https_certificate_iot + .. card:: Troubleshooting + :target: iot/iot_advanced/troubleshooting - Verify your IoT system and database meet the eligibility requirements for HTTPS certificate - generation and address any related issues. + Diagnose and resolve common IoT system connection and configuration issues. .. card:: IoT system updates :target: iot/iot_advanced/updating_iot diff --git a/content/applications/general/iot/connect.rst b/content/applications/general/iot/connect.rst index 853821091..d3f2b9120 100644 --- a/content/applications/general/iot/connect.rst +++ b/content/applications/general/iot/connect.rst @@ -9,7 +9,7 @@ To connect the IoT system to an Odoo database, the following prerequisites must - The Internet of Things (IoT) app must be :ref:`installed `. - The IoT system must be connected to the network. -- The computer connecting to Odoo must be on the same network as the IoT system. +- The device connecting to Odoo must be on the same network as the IoT system. .. note:: It is recommended to connect the IoT system to a **production** instance, as other types of @@ -23,33 +23,44 @@ To connect the IoT system to an Odoo database, the following prerequisites must Connection ========== -The IoT system can be connected to the Odoo database using a :ref:`pairing code +To connect the IoT system to the Odoo database, open the IoT app and click :guilabel:`Connect`. + +The browser then scans the network to which the computer is connected for available IoT systems. If +an IoT system is detected, it is connected automatically. If multiple IoT systems are found, select +the appropriate one in the popup that opens, then click :guilabel:`Connect`. If no IoT system is +detected automatically, try connecting it to the database using a :ref:`pairing code ` or a :ref:`connection token `. +.. tip:: + The IoT system’s name is composed of either the :doc:`IoT box ` or the + :doc:`Windows computer `’s motherboard serial number, followed by its :ref:`pairing + code `. + .. _iot/connect/pairing-code: Connection using a pairing code ------------------------------- .. note:: - - The pairing code is displayed for up to 5 minutes after the IoT system starts. If the code is - no longer visible, reboot the IoT box or :ref:`restart the Windows virtual IoT service - ` to display the pairing code again. Alternatively, connect the IoT + - The pairing code is valid for up to 2 hours after the IoT system starts. If the code is + no longer valid, restart the IoT box or :ref:`restart the Windows virtual IoT service + ` to display another pairing code. Alternatively, connect the IoT system to the database using a :ref:`connection token `. - The pairing code is not displayed if the IoT system is already connected to a database (e.g., - a test database). + a test database). If necessary, :ref:`disconnect the IoT system from the database + `. -#. Retrieve the IoT's system pairing code: +#. Retrieve the IoT system's pairing code: .. tabs:: .. group-tab:: IoT box Connect the IoT box to an external monitor or printer. If the IoT box was already plugged - prior to this, reboot it by unplugging it for a few seconds and replugging it. + prior to this, :ref:`restart ` it. - - External monitor: The pairing code should be displayed on the screen a few minutes after - rebooting the IoT box. + - External monitor: The pairing code will be displayed on the screen after (re)starting the + IoT box. - Printer: The pairing code should be printed automatically. .. tip:: @@ -64,8 +75,8 @@ Connection using a pairing code :guilabel:`Pairing Code` section. #. In Odoo, open the IoT app and click :guilabel:`Connect`. -#. In the :guilabel:`Connect an IoT Box` popup that opens, enter the :guilabel:`Pairing code`. -#. Click :guilabel:`Pair`. +#. In the :guilabel:`Searching for an IoT Box` popup that opens, click :guilabel:`Use Pairing Code`. +#. Enter the :guilabel:`Pairing code` and click :guilabel:`Connect`. .. _iot/connect/token: @@ -73,14 +84,41 @@ Connection using a connection token ----------------------------------- #. In Odoo, open the IoT app and click :guilabel:`Connect`. -#. In the :guilabel:`Connect an IoT Box` popup that opens, copy the :guilabel:`Token`. +#. In the :guilabel:`Searching for an IoT Box` popup that opens, click :guilabel:`Offline pairing`. +#. In the :guilabel:`Pair an IoT Box offline` popup that opens, copy the :guilabel:`Token`. #. Access the :ref:`IoT box's ` or :ref:`Windows virtual IoT's ` homepage. #. In the :guilabel:`Odoo database connected` section, click :guilabel:`Configure`. #. Paste the token into the :guilabel:`Server Token` field and click :guilabel:`Connect`. .. note:: - Once the IoT box is connected to a database, its green LED remains constantly lit. + Once the IoT system is connected to a database: + + - If the :doc:`Point of Sale app ` is installed, a popup + appears to select the :doc:`POS the IoT system should be associated with + `. + - If using an :doc:`IoT box `, wait a few minutes for it to update before using the + connected :doc:`devices `. + - A request is sent to ``_, which returns an :ref:`HTTPS certificate + ` after a few minutes if the database meets the + :ref:`eligibility criteria `. Once the certificate + is received, the IoT system's homepage is updated to a new HTTPS URL ending with + `.odoo-iot.com`. + +.. seealso:: + :doc:`iot_advanced/troubleshooting` + +.. _iot/connect/disconnect: + +Disconnecting an IoT system from a database +=========================================== + +To disconnect the IoT system from a database, follow these steps: + +#. Access the :ref:`IoT box's ` or :ref:`Windows virtual IoT's + ` homepage. +#. Click :guilabel:`Configure` in the :guilabel:`Odoo database connected` section. +#. Click :guilabel:`Disconnect` in the popup that opens. .. _iot/connect/IoT-form: @@ -88,64 +126,52 @@ IoT system form =============== Once the IoT system is connected to the Odoo database, it is displayed as a card in the IoT app. -Click the IP address on the card to access the :ref:`IoT box's ` or -:ref:`Windows virtual IoT's ` homepage. Click the card to access the -list of :doc:`devices ` connected to the IoT system. +Click the card to access the IoT system's form, which allows to access the :ref:`IoT box's +` or :ref:`Windows virtual IoT's ` homepage and +view the list of :doc:`devices ` connected to the IoT system. .. tip:: - :ref:`Enable the developer mode ` to access the IoT system's - :guilabel:`Technical Information`, such as its :guilabel:`Identifier`, :guilabel:`Domain - address`, and :guilabel:`Image version`. - -.. note:: + Enable the :ref:`developer mode ` to access the IoT system's :guilabel:`Technical + Information`, such as its :guilabel:`Domain address`, :guilabel:`Image version`, and + :ref:`SSL certificate ` :guilabel:`End Date`. By default, drivers are automatically :ref:`updated ` every time the IoT system is restarted. To disable automatic updates, uncheck the :guilabel:`Automatic drivers update` option. -.. _iot/connect/troubleshooting: +.. _iot/connect/https_certificate: -Troubleshooting -=============== +HTTPS certificate +================= -The pairing code does not appear or does not work -------------------------------------------------- +:abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is the secure, encrypted version of :abbr:`HTTP +(Hypertext Transfer Protocol)`. It uses :abbr:`TLS (Transport Layer Security)` (previously +:abbr:`SSL (Secure Sockets Layer)`) certificates to authenticate the server and protect the data +exchanged between a browser and a website. Some network devices, such as payment terminals, require +a valid HTTPS certificate to communicate with the IoT system; without it, they cannot interact +properly. -The :ref:`pairing code ` might not be displayed or printed under the -following circumstances: +.. note:: + In this documentation and throughout Odoo, the term *HTTPS certificate* refers to a valid + SSL certificate that allows an HTTPS connection. -- The IoT system is not connected to the Internet. -- The IoT system is already connected to an Odoo database. -- The :ref:`pairing code ` display time has expired. Reboot the IoT box - or :ref:`restart the Windows virtual IoT service ` to display the pairing - code again. -- The IoT system's image version is too old and needs to be :ref:`updated - `. +When the IoT system is (re-)started (e.g., after it is connected to the Odoo database), a request +is sent to ``_, which returns the HTTPS certificate after a few minutes if +the database meets the following eligibility criteria: -The IoT system is connected but does not appear in the database ---------------------------------------------------------------- +.. _iot/https_certificate_iot/iot-eligibility: -The IoT system might take a few minutes to restart when it connects to a database. If it still does -not appear after a few minutes: +- The database must be a **production** instance. The database instance should not be a copy, a + duplicate, a staging, or a development environment. +- The Odoo subscription must be ongoing (:guilabel:`In Progress` status). -- Verify that the IoT system can reach the database and the server does not use a multi-database - environment. -- Reboot the IoT box or :ref:`restart the Windows virtual IoT service `. +When the certificate has been received: -The IoT box is connected to the Odoo database but cannot be reached -------------------------------------------------------------------- +- The IoT system's homepage address is updated to a new HTTPS URL ending with `.odoo-iot.com`. +- The :guilabel:`HTTPS certificate` banner displays the certificate's validity period. To view this + information, click the :icon:`fa-cogs` (:guilabel:`cogs`) button on the IoT system's homepage. -Verify that the IoT system and the computer running the Odoo database are connected to the same -network. + .. image:: connect/https-valid.png + :alt: IoT box homepage with HTTPS certificate validity date. -The Windows virtual IoT's homepage cannot be accessed from another device -------------------------------------------------------------------------- - -Check the :ref:`iot/windows-iot/firewall`. - -The IoT system is disconnected from the database after an Odoo upgrade ----------------------------------------------------------------------- - -:ref:`Update the IoT system's image ` by flashing the IoT box's card or -:ref:`uninstalling the Windows virtual IoT program ` and -:ref:`reinstalling ` the latest package for Windows **matching your -database's version**. +.. seealso:: + :ref:`iot/troubleshooting/https_certificate` diff --git a/content/applications/general/iot/connect/https-valid.png b/content/applications/general/iot/connect/https-valid.png new file mode 100644 index 000000000..a3a133193 Binary files /dev/null and b/content/applications/general/iot/connect/https-valid.png differ diff --git a/content/applications/general/iot/devices.rst b/content/applications/general/iot/devices.rst index 0a77ee547..75f619bbc 100644 --- a/content/applications/general/iot/devices.rst +++ b/content/applications/general/iot/devices.rst @@ -6,19 +6,21 @@ Devices ======= +.. toctree:: + :titlesonly: + :glob: + + devices/printer + devices/scale + devices/screen + devices/measurement_tool + devices/camera + devices/footswitch + .. seealso:: - :doc:`Connect a Worldline payment terminal <../../sales/point_of_sale/payment_methods/terminals/worldline>` - :doc:`Connect an Ingenico payment terminal <../../sales/point_of_sale/payment_methods/terminals/ingenico>` - -.. toctree:: - :titlesonly: - :glob: - - devices/screen - devices/measurement_tool - devices/camera - devices/footswitch - devices/printer - devices/scale + - :doc:`Connect a SIX payment terminal + <../../sales/point_of_sale/payment_methods/terminals/six>` diff --git a/content/applications/general/iot/devices/printer.rst b/content/applications/general/iot/devices/printer.rst index 236a45254..29e9024fd 100644 --- a/content/applications/general/iot/devices/printer.rst +++ b/content/applications/general/iot/devices/printer.rst @@ -16,14 +16,18 @@ Connection ========== IoT systems support printers connected through USB, network connection, or Bluetooth. -`Supported printers `__ are detected automatically, and +`Supported printers `_ are detected automatically, and appear in the :guilabel:`Devices` list of the IoT app. .. image:: printer/printer-detected.png :alt: The printer as it would appear in the IoT app devices list. +.. important:: + Printers connecting to the IoT system via the network must be on the **same network** as the IoT + system. + .. note:: - Printers can take up to two minutes to appear in the IoT app :guilabel:`Devices` list. + Printers can take up to two minutes to appear in the IoT app's :guilabel:`Devices` list. Link a printer ============== diff --git a/content/applications/general/iot/devices/scale.rst b/content/applications/general/iot/devices/scale.rst index 6a7d2c429..c9182803f 100644 --- a/content/applications/general/iot/devices/scale.rst +++ b/content/applications/general/iot/devices/scale.rst @@ -19,7 +19,8 @@ scale's drivers `. the Odoo IoT system `_. In such cases, a different scale must be used. -Once the scale is connected to the IoT system, :ref:`configure it in the POS settings `. +Once the scale is connected to the IoT system, :ref:`configure it in the POS settings +`. .. seealso:: :doc:`Connect an IoT system to a POS ` diff --git a/content/applications/general/iot/devices/screen.rst b/content/applications/general/iot/devices/screen.rst index 4d8a35736..f39266a15 100644 --- a/content/applications/general/iot/devices/screen.rst +++ b/content/applications/general/iot/devices/screen.rst @@ -2,109 +2,31 @@ Connect a screen ================ -In Odoo, an :abbr:`IoT (Internet of Things)` box can be connected to a screen display. After being -configured, the screen can be used to display a Point of Sale (PoS) order to a client. - -.. figure:: screen/screen-pos-client-display.png - - An example of a PoS (point of sale) order on a screen display. - -Access the customer display by going to the :abbr:`IoT (Internet of Things)` box homepage and -clicking on the :guilabel:`PoS Display` button. To get to the :abbr:`IoT (Internet of Things)` box -homepage, navigate to :menuselection:`IoT app --> IoT Boxes` and click on the :abbr:`IoT (Internet -of Things)` box homepage link. +The :doc:`IoT box <../iot_box>` can be connected to a screen, e.g. to ease the IoT box's setup +and/or serve as a :ref:`customer display ` to show customers their :doc:`Point +of Sale ` orders. Connection ========== -The way to connect the screen display to the :abbr:`IoT (Internet of Things)` box differs depending -on the model. +Connect the screen to the IoT box using a micro-HDMI cable. If the connection was successful, the +external monitor displays the :guilabel:`Status display` screen. -.. tabs:: +.. image:: screen/screen-status-display.png + :alt: Default Status Display screen - .. tab:: IoT Box model 4 +The screen also appears in the IoT box's list of devices: - Connect up to two screens with micro-HDMI cables on the side of the :abbr:`IoT (Internet of - Things)` box. If two screens are connected, they can display distinct content (see - :ref:`Screen Usage `). +- on the :ref:`IoT box's form `; +- on the :ref:`IoT box's homepage `; +- in the IoT app, under the menu :menuselection:`IoT --> Devices`. - .. tab:: IoT Box model 3 +Customer display +================ - Connect the screen with an HDMI cable on the side of the :abbr:`IoT (Internet of Things)` box. +To use the screen as a :ref:`customer display `, :ref:`configure the POS +accordingly `. -.. seealso:: - :ref:`See the Raspberry Pi Schema `. - -.. important:: - Screen(s) should be connected before the :abbr:`IoT (Internet of Things)` box is switched on. If - it is already on, connect the screen(s), and then restart the :abbr:`IoT (Internet of Things)` - box by unplugging it for ten seconds and plugging it back into its power source. - -.. warning:: - The usage of HDMI/micro-HDMI adapters may cause issues which will result in a blank, black screen - on the screen display. Using the specific cable for the display connection is recommended. - -If the connection was successful, the screen should display the :guilabel:`POS Client display` -screen. - -.. image:: screen/screen-pos-client-display-no-order.png - :align: center - :alt: The default "POS Client Display" screen that appears when a screen display is successfully - connected to an IoT box. - -The screen should also appear in the list of :guilabel:`Displays` on the :abbr:`IoT (Internet of -Things)` box homepage. Alternatively, the display can be seen by accessing :menuselection:`IoT app ---> Devices`. - -.. image:: screen/screen-screen-name-example.png - :align: center - :alt: An example of a screen display name shown on the IoT Box Home Page. - -.. note:: - If no screen is detected, a default display named :guilabel:`Distant Display` will be displayed - instead. This indicates that there is no hardware screen connected. - - .. image:: screen/screen-no-screen.png - :align: center - :alt: The "Distant Display" screen name will be used if no screen is detected. - -.. _iot/usage_screen: - -Usage -===== - -Show Point of Sale orders to customers --------------------------------------- - -To use the screen in the *Point of Sale app*, go to :menuselection:`Point of Sale --> -Configuration --> Point of Sale`, select a :abbr:`PoS (Point of Sale)`, click :guilabel:`Edit` if -necessary, and enable the :guilabel:`IoT Box` feature. - -Next, select the screen from the :guilabel:`Customer Display` drop-down menu. Then click -:guilabel:`Save`, if required. - -.. image:: screen/screen-pos-screen-config.png - :align: center - :alt: Connect the screen display to the Point of Sale app. - -The screen is now available for :abbr:`PoS (Point of Sale)` sessions. A screen icon will appear in -the menu at the top of the screen to indicate the screen's connection status. - -.. image:: screen/screen-pos-icon.png - :align: center - :alt: The "screen" icon on the Point of Sale display shows the connection status with the - screen. - -The screen will automatically show the :abbr:`PoS (Point of Sale)` orders and update when changes -are made to the order. - -.. image:: screen/screen-pos-client-display.png - :align: center - :alt: An example of a PoS order on a screen display. - -Display a website on the screen -------------------------------- - -Open the screen form view by accessing :menuselection:`IoT app --> Devices --> Customer Display`. -This allows the user to choose a particular website URL to display on the screen using the -:guilabel:`Display URL` field. +To display a specific website on the screen instead of the POS customer display, go to +:menuselection:`IoT --> Devices`, click the screen's card, then enter the desired website's URL in +the :guilabel:`Display URL` field. diff --git a/content/applications/general/iot/devices/screen/screen-no-screen.png b/content/applications/general/iot/devices/screen/screen-no-screen.png deleted file mode 100644 index 416fa35a0..000000000 Binary files a/content/applications/general/iot/devices/screen/screen-no-screen.png and /dev/null differ diff --git a/content/applications/general/iot/devices/screen/screen-pos-client-display-no-order.png b/content/applications/general/iot/devices/screen/screen-pos-client-display-no-order.png deleted file mode 100644 index f686317a9..000000000 Binary files a/content/applications/general/iot/devices/screen/screen-pos-client-display-no-order.png and /dev/null differ diff --git a/content/applications/general/iot/devices/screen/screen-pos-client-display.png b/content/applications/general/iot/devices/screen/screen-pos-client-display.png deleted file mode 100644 index 3be1efd31..000000000 Binary files a/content/applications/general/iot/devices/screen/screen-pos-client-display.png and /dev/null differ diff --git a/content/applications/general/iot/devices/screen/screen-pos-icon.png b/content/applications/general/iot/devices/screen/screen-pos-icon.png deleted file mode 100644 index 6142484c3..000000000 Binary files a/content/applications/general/iot/devices/screen/screen-pos-icon.png and /dev/null differ diff --git a/content/applications/general/iot/devices/screen/screen-pos-screen-config.png b/content/applications/general/iot/devices/screen/screen-pos-screen-config.png deleted file mode 100644 index 27613f623..000000000 Binary files a/content/applications/general/iot/devices/screen/screen-pos-screen-config.png and /dev/null differ diff --git a/content/applications/general/iot/devices/screen/screen-screen-name-example.png b/content/applications/general/iot/devices/screen/screen-screen-name-example.png deleted file mode 100644 index 9f3be2e95..000000000 Binary files a/content/applications/general/iot/devices/screen/screen-screen-name-example.png and /dev/null differ diff --git a/content/applications/general/iot/devices/screen/screen-status-display.png b/content/applications/general/iot/devices/screen/screen-status-display.png new file mode 100644 index 000000000..cf7ee1476 Binary files /dev/null and b/content/applications/general/iot/devices/screen/screen-status-display.png differ diff --git a/content/applications/general/iot/iot_advanced.rst b/content/applications/general/iot/iot_advanced.rst index df733c05c..ca0d9bd3b 100644 --- a/content/applications/general/iot/iot_advanced.rst +++ b/content/applications/general/iot/iot_advanced.rst @@ -6,6 +6,6 @@ Advanced .. toctree:: - iot_advanced/https_certificate_iot + iot_advanced/troubleshooting iot_advanced/updating_iot iot_advanced/ssh_connect diff --git a/content/applications/general/iot/iot_advanced/https_certificate_iot/https-valid.png b/content/applications/general/iot/iot_advanced/https_certificate_iot/https-valid.png deleted file mode 100644 index 352f26274..000000000 Binary files a/content/applications/general/iot/iot_advanced/https_certificate_iot/https-valid.png and /dev/null differ diff --git a/content/applications/general/iot/iot_advanced/https_certificate_iot/iot-new-domain.png b/content/applications/general/iot/iot_advanced/https_certificate_iot/iot-new-domain.png deleted file mode 100644 index 8d8332e62..000000000 Binary files a/content/applications/general/iot/iot_advanced/https_certificate_iot/iot-new-domain.png and /dev/null differ diff --git a/content/applications/general/iot/iot_advanced/ssh_connect.rst b/content/applications/general/iot/iot_advanced/ssh_connect.rst index 1608522b6..a79219e03 100644 --- a/content/applications/general/iot/iot_advanced/ssh_connect.rst +++ b/content/applications/general/iot/iot_advanced/ssh_connect.rst @@ -16,10 +16,9 @@ IoT box SSH connection To provide an :abbr:`SSH (secure shell protocol)` connection to an IoT box, you must generate a password: -#. Access the IoT box's homepage by opening the IoT app and clicking the IP address displayed - on the IoT box's card. -#. Click the :icon:`fa-cogs` (:guilabel:`cogs`) button at the top-right, then :guilabel:`Remote - Debug`. +#. Open the IoT app, click the relevant IoT box's card, and click :guilabel:`Homepage`. +#. On the IoT system's homepage, click the :icon:`fa-cogs` (:guilabel:`cogs`) button at the + top-right, then :guilabel:`Remote Debug`. #. In the :guilabel:`Remote Debugging` popup that opens, click :guilabel:`Generate` and save the password securely. Once you close the popup, the password will no longer be available. diff --git a/content/applications/general/iot/iot_advanced/https_certificate_iot.rst b/content/applications/general/iot/iot_advanced/troubleshooting.rst similarity index 62% rename from content/applications/general/iot/iot_advanced/https_certificate_iot.rst rename to content/applications/general/iot/iot_advanced/troubleshooting.rst index c4b83385d..74c6b121c 100644 --- a/content/applications/general/iot/iot_advanced/https_certificate_iot.rst +++ b/content/applications/general/iot/iot_advanced/troubleshooting.rst @@ -1,76 +1,57 @@ -.. _iot/https_certificate_iot: +:hide-page-toc: -======================= -HTTPS certificate (IoT) -======================= +=============== +Troubleshooting +=============== -*Hypertext Transfer Protocol Secure* (HTTPS) is the secure and encrypted version of *Hypertext -Transfer Protocol* (HTTP), which is the primary protocol used for data communication between a web -browser and a website. It secures communications by using an encryption protocol known as *Transport -Layer Security* (TLS), previously called *Secure Sockets Layer* (SSL). The security of -:abbr:`HTTPS (Hypertext Transfer Protocol Secure)` relies on :abbr:`TLS (Transport Layer Security)` -/:abbr:`SSL (Secure Sockets Layer)` certificates, which authenticate the provider and verify their -identity. +The pairing code does not appear or does not work +================================================= -The use of HTTPS is required to communicate with certain network devices, particularly payment -terminals. If the HTTPS certificate is not valid, some devices cannot interact with the IoT -system. +The :ref:`pairing code ` might not be displayed or printed under the +following circumstances: -.. note:: - In this documentation and throughout Odoo, the term *HTTPS certificate* refers to a valid - SSL certificate that allows an HTTPS connection. +- The IoT system is not connected to the network. +- The IoT system is already connected to an Odoo database. :ref:`Disconnect it from the database + `. +- The :ref:`pairing code ` display time has expired. Restart the :ref:`IoT + box ` or the :ref:`Windows virtual IoT service ` to + generate and display the pairing code. -.. _iot/https_certificate_iot/generation: +The IoT system does not connect to the database +=============================================== -HTTPS certificate generation -============================ +The IoT system might take a few minutes to restart when it connects to a database. If it still does +not appear after a few minutes: -The HTTPS certificate is generated automatically. When the IoT system is (re-)started (e.g., after -it is connected to the Odoo database), a request is sent to ``_, which returns -the HTTPS certificate if the IoT system and database meet the eligibility criteria: +- Verify that the IoT system can reach the database and the server does not use a multi-database + environment. +- Restart the :ref:`IoT box ` or the :ref:`Windows virtual IoT service + `. -.. _iot/https_certificate_iot/iot-eligibility: +The IoT system is connected to the Odoo database but cannot be reached +====================================================================== -- The database must be a **production** instance. The database instance should not be a copy, a - duplicate, a staging, or a development environment. -- The Odoo subscription must be ongoing (:guilabel:`In Progress` status) and have an :ref:`IoT - box subscription ` line. +Verify that the IoT system and the computer running the Odoo database are connected to the same +network. -When the certificate has been received: +The Windows virtual IoT's homepage cannot be accessed from another device +========================================================================= -- The IoT system's homepage address is updated to a new HTTPS URL ending with `.odoo-iot.com`. Click - the URL to establish a secure HTTPS connection. +- Ensure the device is connected to the same network as the Windows virtual IoT. +- Check the :ref:`iot/windows-iot/firewall`. - .. image:: https_certificate_iot/iot-new-domain.png - :alt: Odoo IoT app IoT box with .odoo-iot.com domain. +The IoT system does not work after an Odoo upgrade +================================================== -- The :guilabel:`HTTPS certificate` banner displays the certificate's validity period. To view this - information, click the :icon:`fa-cogs` (:guilabel:`cogs`) button on the IoT system's homepage. +Restart the :ref:`IoT box ` or the :ref:`Windows virtual IoT service +`. - .. image:: https_certificate_iot/https-valid.png - :alt: IoT box homepage with HTTPS certificate validity date. - -HTTPS certificate generation issues and errors -============================================== - -The HTTPS certificate does not generate ---------------------------------------- - -Potential causes include the following: - -- No :ref:`IoT box subscription ` is linked to your account. -- The :ref:`IoT box subscription ` was added *after* connecting the IoT - system to the database. In this case, refresh the IoT system's homepage or reboot/:ref:`restart - ` the IoT system to regenerate the HTTPS certificate. -- The firewall is preventing the HTTPS certificate from generating correctly. In this case, - deactivate the firewall until the certificate is successfully generated. - - .. note:: - Some devices, such as routers with a built-in firewall, can prevent the HTTPS certificate from - generating. +If the issue persists, :ref:`update its image ` by flashing the IoT +box's card or :ref:`uninstalling the Windows virtual IoT program ` and +:ref:`reinstalling the virtual IoT package `. The IoT system's homepage can be accessed using its IP address but not the `xxx.odoo-iot.com` URL -------------------------------------------------------------------------------------------------- +================================================================================================= Contact your system or network administrator to address the issue. Network-related problems are beyond the scope of Odoo support services. @@ -88,6 +69,25 @@ beyond the scope of Odoo support services. - On some browsers, an error code mentioning the DNS (such as `DNS_PROBE_FINISHED_NXDOMAIN`) is displayed. +.. _iot/troubleshooting/https_certificate: + +HTTPS certificate generation issues and errors +============================================== + +The HTTPS certificate does not generate +--------------------------------------- + +Potential causes include the following: + +- The database doesn't meet the :ref:`eligibility requirements + ` for generating an HTTPS certificate. +- The firewall is preventing the HTTPS certificate from generating correctly. In this case, + deactivate the firewall until the certificate is successfully generated. + + .. note:: + Some devices, such as routers with a built-in firewall, can prevent the HTTPS certificate from + generating. + Errors ------ @@ -102,7 +102,7 @@ generation or reception of the HTTPS certificate. `ERR_IOT_HTTPS_CHECK_NO_SERVER` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The server configuration is missing, i.e., the Odoo instance is not :doc:`connected <../connect>` to +The server configuration is missing, i.e., the database is not :doc:`connected <../connect>` to the IoT system. `ERR_IOT_HTTPS_CHECK_CERT_READ_EXCEPTION` @@ -114,11 +114,11 @@ Verify that the HTTPS certificate file is readable. `ERR_IOT_HTTPS_LOAD_NO_CREDENTIAL` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The contract and/or database :abbr:`UUID (Universal Unique Identifier)` is missing form the IoT. +The contract and/or database :abbr:`UUID (Universal Unique Identifier)` is missing from the IoT. Verify that both values are correctly configured. To update them, :ref:`access the IoT box's ` or :ref:`Windows virtual IoT's homepage `, -click the :icon:`fa-cogs` (:guilabel:`cogs`) button, then click :guilabel:`Credential`. +click the :icon:`fa-cogs` (:guilabel:`cogs`) button, then click :guilabel:`Credentials`. `ERR_IOT_HTTPS_LOAD_REQUEST_EXCEPTION` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/content/applications/general/iot/iot_advanced/updating_iot.rst b/content/applications/general/iot/iot_advanced/updating_iot.rst index ab4335371..a6cef00ec 100644 --- a/content/applications/general/iot/iot_advanced/updating_iot.rst +++ b/content/applications/general/iot/iot_advanced/updating_iot.rst @@ -39,8 +39,8 @@ Image and core code update #. `Download balenaEtcher. `_ #. Insert the IoT box's micro SD card into the computer or adapter. - #. Open balenaEtcher, click :guilabel:`Flash from URL`, and enter the following URL: - `http://nightly.odoo.com/master/iotbox/iotbox-latest.zip`. + #. | Open balenaEtcher, click :guilabel:`Flash from URL`, and enter the following URL: + | `http://nightly.odoo.com/master/iotbox/iotbox-latest.zip`. #. Click :guilabel:`Select target` and select the SD card. #. Click :guilabel:`Flash` and wait for the process to finish. @@ -52,10 +52,9 @@ Image and core code update To update the IoT box's core code, click :guilabel:`Update` under :guilabel:`IoT Box Update` in the :guilabel:`Update` popup. - .. danger:: - This process may take over 30 minutes. **Do not turn off or unplug the IoT box** during - this time, as doing so could leave the device in an inconsistent state, requiring the IoT - box to be reflashed with a new image. + .. warning:: + **Do not turn off or unplug the IoT box** during the update process, as doing so could leave + the device in an inconsistent state, requiring the IoT box to be reflashed with a new image. .. group-tab:: Windows virtual IoT diff --git a/content/applications/general/iot/iot_box.rst b/content/applications/general/iot/iot_box.rst index a61615a81..5cdc7c070 100644 --- a/content/applications/general/iot/iot_box.rst +++ b/content/applications/general/iot/iot_box.rst @@ -4,18 +4,13 @@ IoT box To start using an IoT box: -#. Make sure you have a :ref:`valid IoT box subscription ` in addition to - your Odoo subscription. #. Connect your :doc:`devices ` to the IoT box. #. :ref:`Connect the IoT box to the network `. #. :doc:`Connect the IoT box to your Odoo database `. .. seealso:: - `Video: How to Set Up and Use the Odoo IoT Box: A Beginner's Guide `_ - -.. note:: - Devices can also be connected after the IoT box is added to the network and/or connected to the - database; however, a reboot of the IoT box might be required. + - `Video: How to Set Up and Use the Odoo IoT Box: A Beginner's Guide `_ + - :doc:`iot_advanced/troubleshooting` .. _iot/iot_box/network: @@ -25,9 +20,13 @@ Network connection The IoT box can be connected to the network via :ref:`Ethernet ` or :ref:`Wi-Fi `. +.. note:: + It is recommended to connect the IoT box to the same network as the :doc:`devices ` + connecting to it. + .. important:: - **All** devices must be connected to the **same network**: the IoT box, the device(s) connected - to the IoT box, and the computer connected to Odoo. + The IoT box should only be accessible on the local network and must not be reachable from + external networks. .. _iot/iot_box/network-ethernet: @@ -53,10 +52,15 @@ Make sure no Ethernet cable is connected to the IoT box and follow these steps: .. note:: Depending on your operating system, the browser might not open and redirect to the IoT box's homepage. In this case, open your browser manually and navigate to `http://10.11.12.1` - or any url starting with **http** (e.g., `http://odoo.com`). + or any URL starting with **http** (e.g., `http://odoo.com`). #. On the IoT box's homepage, click :guilabel:`Configure` next to the :guilabel:`Internet Status` section. + + .. image:: iot_box/iot-wifi.png + :scale: 75% + :alt: IoT box's WiFi hotspot + #. Wait a few minutes for the available networks to be scanned, select the network, enter the Wi-Fi's password, and click :guilabel:`Connect`. @@ -65,6 +69,27 @@ Make sure no Ethernet cable is connected to the IoT box and follow these steps: computer should automatically reconnect to its original network. If it does not, reconnect to it manually. +.. tip:: + If the IoT box is connected to an :doc:`external monitor `, you can also scan the + first QR code displayed on the screen to connect to the network, then scan the second QR code to + access the IoT box's :ref:`homepage `. On the homepage, click + :guilabel:`Configure` in the :guilabel:`Internet Status` section, select the relevant Wi-Fi + network, enter the password, and click :guilabel:`Connect`. + +.. _iot/iot-box/led-status: + +LED status +========== + +The IoT box features two LEDs, located to the right of the SD card slot, which show its status and +help with troubleshooting when no display is connected. The LEDs can be interpreted as follows: + +- **Red LED lit**: The IoT box has no Internet connection. Ensure the Ethernet cable is properly + connected or :ref:`connect the IoT box via Wi-Fi `. +- **Green LED flashing**: The IoT box is awaiting :doc:`connection to a database `. +- **Green LED constantly lit**: The IoT box is connected to a database; no further action is + required. + .. _iot/iot-box/homepage: IoT box homepage @@ -79,30 +104,33 @@ navigate to the IoT box's IP address. The IoT box's IP address can be retrieved by: -- connecting the IoT box to an external monitor: the IP address is displayed on the screen. +- connecting the IoT box to an :doc:`external monitor `: the IP address is displayed + on the screen. - .. image:: iot_box/iot-pos-display.png + .. image:: iot_box/iot-status-display.png :scale: 75% - :alt: POS display with IoT box's IP address + :alt: Status display with IoT box's IP address - connecting the IoT box to a `supported receipt or label printer `_ with a USB cable: the IP address is automatically printed. - accessing the administrator interface of the router to which the IoT box is connected or using third-party software to scan the network. +.. tip:: + If the IoT box is connected to an external monitor or a printer, its homepage can also be + accessed by scanning the displayed or printed QR code with a device connected to the same + network as the IoT box. + Once the IoT box is :doc:`connected to the Odoo database `, its homepage can be accessed -from Odoo by opening the IoT app and clicking the URL displayed on the IoT box's card. +from the IoT app: click the relevant IoT box's card, then click :guilabel:`Homepage`. -.. _iot/iot-box/led-status: +.. _iot/iot-box/restart: -LED status -========== +IoT box restart +=============== -The IoT box features two LEDs, located to the right of the SD card slot, which show its status and -help with troubleshooting when no display is connected. The LEDs can be interpreted as follows: +To manually restart the IoT box, access its :ref:`homepage `, then click the +:icon:`fa-power-off` :guilabel:`(power off)` button in the top-right corner. -- **Red LED lit**: The IoT box has no Internet connection. Ensure the Ethernet cable is properly - connected or :ref:`connect the IoT box via Wi-Fi `. -- **Green LED flashing**: The IoT box is awaiting :doc:`connection to a database `. -- **Green LED constantly lit**: The IoT box is connected to a database; no further action is - required. +.. tip:: + You can also fully reboot the IoT box by unplugging and plugging it back in. diff --git a/content/applications/general/iot/iot_box/iot-homepage.png b/content/applications/general/iot/iot_box/iot-homepage.png index b4e91fa1e..c74b25b4d 100644 Binary files a/content/applications/general/iot/iot_box/iot-homepage.png and b/content/applications/general/iot/iot_box/iot-homepage.png differ diff --git a/content/applications/general/iot/iot_box/iot-pos-display.png b/content/applications/general/iot/iot_box/iot-pos-display.png deleted file mode 100644 index d1d87de7a..000000000 Binary files a/content/applications/general/iot/iot_box/iot-pos-display.png and /dev/null differ diff --git a/content/applications/general/iot/iot_box/iot-status-display.png b/content/applications/general/iot/iot_box/iot-status-display.png new file mode 100644 index 000000000..5de11ab7d Binary files /dev/null and b/content/applications/general/iot/iot_box/iot-status-display.png differ diff --git a/content/applications/general/iot/iot_box/iot-wifi.png b/content/applications/general/iot/iot_box/iot-wifi.png new file mode 100644 index 000000000..e850d6642 Binary files /dev/null and b/content/applications/general/iot/iot_box/iot-wifi.png differ diff --git a/content/applications/general/iot/windows_iot.rst b/content/applications/general/iot/windows_iot.rst index 75843012e..570800b11 100644 --- a/content/applications/general/iot/windows_iot.rst +++ b/content/applications/general/iot/windows_iot.rst @@ -4,29 +4,22 @@ Windows virtual IoT To start using the Windows virtual IoT: -#. Make sure all :ref:`prerequisites ` are met. -#. :ref:`Install the Windows virtual IoT ` on a Windows computer. +#. Make sure the computer runs an updated version of Windows (Windows 10 or Windows 11), whether + it's a laptop, desktop, or server. +#. :ref:`Install the Windows virtual IoT ` on the Windows computer. #. :ref:`Configure the Windows Firewall `. #. Connect your :doc:`devices ` to the Windows virtual IoT. #. :doc:`Connect the Windows virtual IoT to your Odoo database `. -.. _iot/windows-iot/prerequisites: - -Prerequisites -============= - -The following prerequisites must be met before setting up and using the Windows virtual IoT: - -- A valid :ref:`IoT box subscription `. -- An updated and recent version of Windows (i.e., Windows 10 or Windows 11) installed on a Windows - computer (laptop, desktop, or server). - .. note:: - :abbr:`MRP (Material Requirement Planning)` devices, including cameras and measurement tools, are not compatible with Windows virtual IoT. - - It is also possible to create a Windows Virtual Machine on a MacOS/Linux computer. However, + - It is also possible to create a Windows Virtual Machine on a macOS/Linux computer. However, this option is not supported by Odoo, and no troubleshooting assistance will be provided. +.. seealso:: + :doc:`iot_advanced/troubleshooting` + .. _iot/windows-iot/installation: Installation @@ -44,7 +37,7 @@ To install the Windows virtual IoT on a Windows computer: .. warning:: Do not install Odoo's Windows virtual IoT in any Windows user directory, as this can cause - issues with :ref:`iot/https_certificate_iot/generation`. + issues with :ref:`HTTPS certificate generation `. #. Set up GPL Ghostscript: Click :guilabel:`Next`, agree to the terms and conditions, click :guilabel:`Install`, then :guilabel:`Finish`. @@ -52,7 +45,6 @@ To install the Windows virtual IoT on a Windows computer: :ref:`IoT system's homepage ` automatically opens in a web browser with the URL `http://localhost:8069`. #. :ref:`Restart ` the Windows virtual IoT service. - #. Check that you can access the :ref:`IoT system's homepage ` in a web browser: @@ -60,8 +52,8 @@ To install the Windows virtual IoT on a Windows computer: - on another device **on the same network as the IoT system** by navigating to the URL `http://xxx:8069` (where `xxx` is the IoT system's IP address). - on another device **on the same network as the IoT system** by navigating to the URL - `https://xxx` (where `xxx` is the IoT system's IP address) to test for :doc:`HTTPS - ` connection. + `https://xxx` (where `xxx` is the IoT system's IP address) to test for :ref:`HTTPS + ` connection. .. tip:: If you cannot access the :ref:`IoT system's homepage ` from @@ -74,7 +66,7 @@ Windows Firewall configuration ============================== Firewalls help keep devices secure but can sometimes block legitimate connections. If the Windows -virtual IoT isn't accessible on the :abbr:`LAN (Local Area Network)`, for example from another +virtual IoT isn't accessible on the :abbr:`LAN (Local Area Network)`, for example, from another device, it could be due to a firewall blocking the connection. To prevent this issue, configure exceptions for network discovery in the :abbr:`OS (Operating System)` or firewall settings. @@ -122,8 +114,8 @@ the IoT system** and navigate to the URL `http://xxx:8069` (where `xxx` is the I address). Once the Windows virtual IoT is :doc:`connected to the Odoo database `, its homepage can -be accessed from Odoo by opening the IoT app and clicking the URL displayed on the IoT system's -card. +be accessed from Odoo by opening the IoT app, clicking the relevant IoT box's card, and +clicking :guilabel:`Homepage`. .. image:: windows_iot/iot-windows-homepage.png :scale: 75% @@ -153,8 +145,8 @@ Windows virtual IoT restart =========================== To manually restart the Windows IoT server, search the Windows start menu for `services` and -select the :guilabel:`Services` app. Scroll down to the :guilabel:`odoo-server-xxx` service (where -`xxx` is the odoo version), right-click it, and select :guilabel:`Start` or :guilabel:`Restart`. +select the :guilabel:`Services` app. Scroll down to the :guilabel:`odoo-server-xxx` service, +right-click it, and select :guilabel:`Start` or :guilabel:`Restart`. .. _iot/windows_iot/uninstall: diff --git a/content/applications/sales/point_of_sale/configuration/pos_iot.rst b/content/applications/sales/point_of_sale/configuration/pos_iot.rst index a9cf2eee2..59977f64a 100644 --- a/content/applications/sales/point_of_sale/configuration/pos_iot.rst +++ b/content/applications/sales/point_of_sale/configuration/pos_iot.rst @@ -27,23 +27,24 @@ To connect the POS with an :doc:`IoT system `: the barcode scanner to be compatible. This is most likely the barcode scanner's default configuration. * - Scale - - Connect the scale and power it on. Refer to :doc:`/applications/general/iot/devices/scale`. + - Connect the scale and power it on. Refer to :ref:`pos/hardware/scale`. * - Customer display - Connect a screen to the :abbr:`IoT (Internet of Things)` box to display the :abbr:`PoS - (Point of Sale)` order. Refer to :doc:`/applications/general/iot/devices/screen`. + (Point of Sale)` order. Refer to :ref:`pos/hardware/display`. * - Payment terminal - The connection process depends on the terminal. Refer to the :doc:`payment terminals documentation `. #. :doc:`Connect the IoT system to your Odoo database `. -#. :ref:`Access the POS settings ` and select your POS, or click the - vertical ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`. Scroll down - to the :guilabel:`Connected Devices` section, enable :guilabel:`IoT Box`, then select the devices - to be used for the POS. Click :guilabel:`Save`. +#. In the :guilabel:`Connect to a Point of Sale` popup that opens, select the :guilabel:`Associated + POS` and click :guilabel:`Continue`. The IoT system and its devices are automatically linked to + the POS. -.. tip:: - Click :guilabel:`IoT Devices` to access the list of :doc:`/applications/general/iot/devices` for - your POS and view their connection status. Click a card to access the device's form. + .. tip:: + Alternatively, :ref:`access the POS settings ` and select the POS, or + click the vertical ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`. + Scroll down to the :guilabel:`Connected Devices` section, enable :guilabel:`IoT Box`, then + select the devices to be used for the POS. Click :guilabel:`Save`. .. seealso:: - `List of supported hardware `_. diff --git a/content/applications/sales/point_of_sale/pos_hardware.rst b/content/applications/sales/point_of_sale/pos_hardware.rst index 1b1d79f6d..b94ae6c71 100644 --- a/content/applications/sales/point_of_sale/pos_hardware.rst +++ b/content/applications/sales/point_of_sale/pos_hardware.rst @@ -4,11 +4,11 @@ Hardware Odoo Point of Sale supports integration with a variety of hardware, including :doc:`payment terminals ` and cash drawers, as well as :ref:`customer displays -`, :ref:`scales `, :doc:`barcode scanners `, +`, :ref:`scales `, :doc:`barcode scanners `, :doc:`ePOS printers `, and in-store :doc:`electronic shelf labels `. -.. _pos/display: +.. _pos/hardware/display: Customer display ================ @@ -26,6 +26,8 @@ the selected :doc:`payment method `, and any change to be retur Both the customer and POS displays must have a minimum diagonal size of 6 inches. For optimal readability, larger screens are recommended. +.. _pos/hardware/display-configuration: + Configuration ------------- @@ -76,7 +78,7 @@ support, follow these steps: #. Click the :icon:`fa-desktop` (:guilabel:`Customer Display`) icon, which opens the customer display on the terminal's secondary screen. -.. _pos/scale: +.. _pos/hardware/scale: Scale ===== @@ -156,7 +158,7 @@ turns green. .. admonition:: Additional guidelines - Both the :ref:`customer ` and POS displays must have a minimum diagonal + Both the :ref:`customer ` and POS displays must have a minimum diagonal size of 6 inches. For optimal readability, larger screens are recommended. Using a scale in PoS diff --git a/redirects/19.0.txt b/redirects/19.0.txt index 027471b82..52c212368 100644 --- a/redirects/19.0.txt +++ b/redirects/19.0.txt @@ -12,4 +12,8 @@ applications/inventory_and_mrp/inventory/product_management/inventory_valuation/ # applications/finance applications/finance/payment_providers/wire_transfer.rst applications/finance/payment_providers/bank_payments.rst -applications/finance/payment_providers/sdd.rst applications/finance/payment_providers/bank_payments.rst \ No newline at end of file +applications/finance/payment_providers/sdd.rst applications/finance/payment_providers/bank_payments.rst + +#applications/general + +applications/general/iot/iot_advanced/https_certificate_iot.rst applications/general/iot/iot_advanced/troubleshooting.rst