Hier der vollständige Code. Geändert ist nur resolveItemUrl(), dazu kommt die neue Hilfsfunktion languagePrefix(). Die Sprache wird aus dem URL-Präfix der Druckseite übernommen, z. B. /es/. html
(function () { function textOf(el) { return (el && el.textContent || "").replace(/\s+/g, " ").trim(); } // Sprachpräfix der aktuellen Seite ermitteln, z. B. "/es" bei /es/druckseite?item=123 // Standardsprache (ohne Präfix) liefert "". function languagePrefix() { var m = window.location.pathname.match(/^\/([a-z]{2})(?=\/|$)/i); return m ? "/" + m[1].toLowerCase() : ""; } function resolveItemUrl() { var match = window.location.search.match(/[?&]item=(\d+)/); if (!match) { return null; } return window.location.origin + languagePrefix() + "/a-" + match[1] + "/"; } function loadAccordion() { var url = resolveItemUrl(); if (!url) { return Promise.resolve(null); } return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.onload = function () { if (xhr.status < 200 || xhr.status >= 400) { reject(new Error("item page " + xhr.status)); return; } var doc = new DOMParser().parseFromString(xhr.responseText, "text/html"); resolve(doc.querySelector(".phywe-item-accordion")); }; xhr.onerror = function () { reject(new Error("item page network error")); }; xhr.send(); }); } function parseItemBlocks(scope, withQuantity) { if (!scope) { return []; } var rows = scope.querySelectorAll(".itemslist .row.itemblocks"); var items = []; for (var i = 0; i < rows.length; i++) { var cols = rows[i].children; if (!cols.length) { continue; } var nameLink = cols[0].querySelector("a"); var numberLink = cols[1] ? cols[1].querySelector("a") : null; var item = { name: textOf(nameLink || cols[0]), mappedTo: textOf(numberLink) }; if (withQuantity && cols[2]) { var qty = parseInt(textOf(cols[2]).replace(/[^\d]/g, ""), 10); item.quantity = isNaN(qty) ? textOf(cols[2]) : String(qty); } if (item.name) { items.push(item); } } return items; } function fillTable(tableId, items, withQuantity) { var table = document.getElementById(tableId); if (!table || !items.length) { return; } var tbody = table.querySelector("tbody"); for (var i = 0; i < items.length; i++) { var tr = document.createElement("tr"); var nameTd = document.createElement("td"); nameTd.style.width = "80%"; nameTd.textContent = items[i].name; tr.appendChild(nameTd); var numberTd = document.createElement("td"); numberTd.textContent = items[i].mappedTo; tr.appendChild(numberTd); if (withQuantity) { var qtyTd = document.createElement("td"); qtyTd.textContent = items[i].quantity || ""; tr.appendChild(qtyTd); } tbody.appendChild(tr); } var wrapper = table.parentElement; while (wrapper && wrapper.className.indexOf("printtablediv") === -1) { wrapper = wrapper.parentElement; } if (wrapper) { wrapper.style.display = ""; } } function stepTitle(stepEl) { if (!stepEl) { return ""; } var titleEl = stepEl.querySelector(".card-header button div") || stepEl.querySelector(".card-header button"); return textOf(titleEl); } function setHeadline(tableId, title) { var headline = document.querySelector("#" + tableId + " .printtableheadline"); if (headline && title) { headline.textContent = title; } } function parseMedia(scope) { if (!scope) { return []; } var rows = scope.querySelectorAll(".itemslist .row.itemblocks"); var items = []; for (var i = 0; i < rows.length; i++) { var cols = rows[i].children; if (!cols.length) { continue; } var nameLink = cols[0].querySelector("a"); var fileLink = cols[1] ? cols[1].querySelector("a") : null; var item = { name: textOf(nameLink || cols[0]), mappedTo: textOf(fileLink || cols[1]), quantity: cols[2] ? textOf(cols[2]) : "" }; if (item.name) { items.push(item); } } return items; } function fillFromAccordion(accordion) { if (!accordion) { return; } var versucheStep = accordion.querySelector('[data-step="versuche"]'); var versuche = parseItemBlocks(versucheStep, false); setHeadline("print-versuche", stepTitle(versucheStep)); fillTable("print-versuche", versuche, false); var lieferumfangStep = accordion.querySelector('[data-step="lieferumfang"]'); var lieferumfang = parseItemBlocks(lieferumfangStep, true); fillTable("print-lieferumfang", lieferumfang, true); var zubehoer = accordion.querySelector('[data-step="zubehoer"]'); var sections = zubehoer ? zubehoer.querySelectorAll(".card-body") : []; var notwendig = []; var empfohlen = []; for (var i = 0; i < sections.length; i++) { var items = parseItemBlocks(sections[i], false); if (sections[i].querySelector(".text-red, .icon-warning-black")) { notwendig = items; } else if (sections[i].querySelector(".text-green, .icon-Mehrwert_black")) { empfohlen = items; } } fillTable("print-zubehoer-notwendig", notwendig, false); fillTable("print-zubehoer-empfohlen", empfohlen, false); var mediaStep = accordion.querySelector('[data-step="media"]'); var media = parseMedia(mediaStep); setHeadline("print-media", stepTitle(mediaStep)); fillTable("print-media", media, true); } function start() { var itemUrl = resolveItemUrl(); if (!itemUrl) { setTimeout(function () { window.print(); }, 2000); return; } loadAccordion() .then(function (accordion) { fillFromAccordion(accordion); }) .catch(function (err) { if (window.console && console.warn) { console.warn("Accordion konnte nicht geladen werden:", itemUrl, err); } }) .then(function () { setTimeout(function () { window.print(); }, 500); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", start); } else { start(); } })();
 

Données techniques


Kit Cobra SMARTsense Display pour salle de classe (8 pièces)

Article n° : 12955-88

Fonction et applications

Le Cobra SMARTsense Display est un afficheur universel pour capteurs destiné à l'enseignement moderne des sciences. Il a été conçu pour afficher les valeurs mesurées des capteurs Cobra SMARTsense et offre une flexibilité maximale ainsi qu'une valeur didactique ajoutée : intuitif, mobile et sans limites.

Ce set contient 8 Cobra SMARTsense Display.

Avantages

  • Des données en direct visibles par tous : que ce soit lors de démonstrations de l'enseignant, d'un apprentissage par ateliers ou de mesures comparatives, les données mesurées sont suivies directement sur l'afficheur 128 x 64 pixels, bien lisible et sans appareil supplémentaire.
  • Connexion enfantine : une simple pression de bouton suffit, et l'afficheur se connecte automatiquement au capteur le plus proche dans un rayon allant jusqu'à 30 m.
  • Un capteur, plusieurs afficheurs : plusieurs afficheurs peuvent se connecter simultanément au même capteur ; chaque groupe regarde son propre afficheur et voit le même résultat de mesure au même moment.
  • Utilisation flexible : comme appareil portatif, au poignet ou fixé magnétiquement directement à la station de mesure, toujours exactement là où vous en avez besoin.
  • Conçu pour le quotidien scolaire : jusqu'à 8 heures d'autonomie et Bluetooth 5.1 à faible consommation pour toute une journée de cours.

Caractéristiques techniques

  • Contient 8 Cobra SMARTsense Display.
  • Afficheur : 128 x 64 pixels
  • Dimensions : 51 mm x 33 mm x 16 mm
  • Batterie : 250 mAh lithium-ion, autonomie env. 8 h
  • Portée : jusqu'à 30 m
  • Connexion : Bluetooth 5.1
  • Face arrière magnétique

Capteurs Cobra SMARTsense actuellement pris en charge

  • 12938-01 Cobra SMARTsense Thermocouple (Firmware 250517FF)
  • 12942-00 Cobra SMARTsense Skin Resistance (Firmware 250517FF)
  • 12931-01 Cobra SMARTsense Relative Humidity (Firmware 250521FF)
  • 12933-01 Cobra SMARTsense Oxygen (Firmware 250517FF)
  • 12907-01 Cobra SMARTsense Acceleration (3-axis) (Firmware 250617FF)
  • 12917-01 Cobra SMARTsense Surface Temperature (Firmware 250517FF)
  • 12954-00 Cobra SMARTsense Soil Moisture (Firmware 250517FF + 250811FF)
  • 12901-01 Cobra SMARTsense Voltage (Firmware 250715FC)
  • 12901-02 Cobra SMARTsense Voltage (Firmware 250715FC)
  • 12902-01 Cobra SMARTsense Current (Firmware 250715FC)
  • 12902-02 Cobra SMARTsense Current (Firmware 250715FC)
  • 12925-00 Cobra SMARTsense High Current (Firmware 250715FC)
  • 12925-02 Cobra SMARTsense High Current (Firmware 250715FC)
  • 12925-03 Cobra SMARTsense High Current (Firmware 250715FC)
  • 12905-01 Cobra SMARTsense Pressure (Firmware 250517FF)
  • 12932-01 Cobra SMARTsense CO2 (Firmware 250517FF)
  • 12947-00 Cobra SMARTsense 3-Axis Magnetic field (Firmware 250517FF)
  • 12903-00 Cobra SMARTsense Temperature (Firmware 250731f9)
  • 12935-01 Cobra SMARTsense Heart rate (Firmware 250722FF)
  • 12906-01 Cobra SMARTsense Light (Firmware 250811FF)
  • 12943-00 Cobra SMARTsense Force & Acceleration (Firmware 250825FF)
  • 12921-00 Cobra SMARTsense pH (Firmware 250825F9)
  • 12948-00 Cobra SMARTsense Ethanol Vapor (Firmware 250905FF)
  • 12939-00 Cobra SMARTsense Sound (Firmware 251030FF)
  • 12949-00 Cobra SMARTsense Methane(Firmware 260107FF)
  • 12927-00 Cobra SMARTsense ORP(Firmware 251030f9)
  • 12910-00 Cobra SMARTsense Wide temperature(Firmware260114F9)
  • 12939-00 Cobra SMARTsense Sound (Firmware 260112FF)
  • 12908-02 Cobra SMARTsense Motion(Firmware 251106F9)
  • 12949-00 Cobra SMARTsense Methane(Firmware 260107FF)

Veuillez utiliser notre Firmware Updater App pour iOS ou Android afin de vérifier la compatibilité avec votre capteur et, le cas échéant, d'effectuer la mise à jour du firmware


PHYWE Systeme GmbH & Co. KG
Robert-Bosch-Breite 10 – 37079 Göttingen – Deutschland
www.phywe.com
Contact