{"id":5949,"date":"2026-07-28T07:06:49","date_gmt":"2026-07-28T06:06:49","guid":{"rendered":"https:\/\/www.darc-celle.de\/?p=5949"},"modified":"2026-07-28T07:06:49","modified_gmt":"2026-07-28T06:06:49","slug":"meshcom-goes-smart","status":"publish","type":"post","link":"https:\/\/www.darc-celle.de\/?p=5949","title":{"rendered":"Meshcom goes smart"},"content":{"rendered":"<p>Meshcom kann auch smart&#8230;.ohne Internet&#8230;<\/p>\n<p>Die Idee:<\/p>\n<p>Mit Meshcom einen smarten Verbraucher im Haus aus der Ferne schalten (Lampe, Steckdose etc.) und auch automatisieren mittels Javascript oder Blockly \u00fcber eine Hausautomatision wie IoBroker oder HA.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5953\" src=\"https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/Broker.png\" alt=\"\" width=\"475\" height=\"106\" srcset=\"https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/Broker.png 475w, https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/Broker-300x67.png 300w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/p>\n<p>Beispiel; Textnachricht &#8222;Licht an&#8220; schaltet ein Licht, oder &#8222;falls Temp unter 4 Grad, dann schalte Heizung ein&#8220;<\/p>\n<p>Testumgebung: ein Tbeam und ein Tlora Modul mit Meshcom 4.35p geflasht und ein laufendes Smarthome, in meinem Fall einen IoBroker.<\/p>\n<h5>Installation:<\/h5>\n<p>Das Tlora mittels USB Datenkabel direkt an den IoBroker-Rechner (bei mir Raspberry mit PI OS) anschliessen.<\/p>\n<p>Wir schauen \u00fcber die Konsole nach ob das Lora modul gefunden wird.<\/p>\n<p>ls \/dev\/ttyUSB*<\/p>\n<p>Das Modul sollte gefunden werden. Das nutzen wir dann im Script.<\/p>\n<p>Das Modul schreibt bei Nachrichtenerhalt neue Daten in einen Datenpunkt den das Script abfragt<\/p>\n<p>Nachricht empfangen<\/p>\n<p>\u2193<\/p>\n<p>Text durchsuchen<\/p>\n<p>\u2193<\/p>\n<p>wenn &#8222;#LICHT EIN&#8220;<\/p>\n<p>\u2193<\/p>\n<p>Zigbee Lampe einschalten<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5957\" src=\"https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/zigbee-logo-0-1024x1024.png\" alt=\"\" width=\"139\" height=\"139\" srcset=\"https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/zigbee-logo-0-1024x1024.png 1024w, https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/zigbee-logo-0-300x300.png 300w, https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/zigbee-logo-0-150x150.png 150w, https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/zigbee-logo-0-768x768.png 768w, https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/zigbee-logo-0-1536x1536.png 1536w, https:\/\/www.darc-celle.de\/wp-content\/uploads\/2026\/07\/zigbee-logo-0-2048x2048.png 2048w\" sizes=\"auto, (max-width: 139px) 100vw, 139px\" \/><\/p>\n<p>Ein kleines Script reicht schon aus , wie z.B.<\/p>\n<p>&nbsp;<\/p>\n<p>\/*******************************************************<br \/>\n* MeshCom -&gt; ioBroker Beispiel<br \/>\n*<br \/>\n* Schaltet:<br \/>\n* &#8222;Licht an&#8220; -&gt; Zigbee Lampe EIN<br \/>\n* &#8222;Licht aus&#8220; -&gt; Zigbee Lampe AUS<br \/>\n*<br \/>\n* Zus\u00e4tzlich:<br \/>\n* Klimaanlage EIN wenn Raumtemperatur &gt; 25\u00b0C<br \/>\n* Klimaanlage AUS wenn Raumtemperatur &lt; 24\u00b0C<br \/>\n*******************************************************\/<\/p>\n<p>\/\/ ======== Einstellungen =========<\/p>\n<p>\/\/ Datenpunkt deiner Zigbee-Lampe<br \/>\nconst LAMP = &#8222;zigbee.0.00158d000123456.state&#8220;;<\/p>\n<p>\/\/ Datenpunkt der Klimaanlage<br \/>\nconst AC = &#8222;broadlink2.0.Klimaanlage.power&#8220;;<\/p>\n<p>\/\/ Raumtemperatur<br \/>\nconst TEMP = &#8222;mqtt.0.Sensoren.Wohnzimmer.Temperatur&#8220;;<\/p>\n<p>\/\/ Einschalttemperatur<br \/>\nconst AC_ON = 25;<\/p>\n<p>\/\/ Ausschalttemperatur (Hysterese)<br \/>\nconst AC_OFF = 24;<\/p>\n<p>\/\/======================================================<br \/>\n\/\/ Diese Funktion wird sp\u00e4ter vom USB-Parser aufgerufen<br \/>\n\/\/======================================================<\/p>\n<p>function processMeshMessage(text) {<\/p>\n<p>log(&#8222;MeshCom: &#8220; + text);<\/p>\n<p>text = text.toLowerCase();<\/p>\n<p>if (text.includes(&#8222;licht an&#8220;)) {<\/p>\n<p>setState(LAMP, true);<\/p>\n<p>log(&#8222;Lampe eingeschaltet&#8220;);<br \/>\n}<\/p>\n<p>if (text.includes(&#8222;licht aus&#8220;)) {<\/p>\n<p>setState(LAMP, false);<\/p>\n<p>log(&#8222;Lampe ausgeschaltet&#8220;);<br \/>\n}<br \/>\n}<\/p>\n<p>\/\/======================================================<br \/>\n\/\/ Temperatur \u00fcberwachen<br \/>\n\/\/======================================================<\/p>\n<p>on({id: TEMP, change: &#8222;ne&#8220;}, function(obj) {<\/p>\n<p>let t = obj.state.val;<\/p>\n<p>log(&#8222;Temperatur: &#8220; + t + &#8220; \u00b0C&#8220;);<\/p>\n<p>if (t &gt;= AC_ON) {<\/p>\n<p>setState(AC, true);<\/p>\n<p>log(&#8222;Klimaanlage EIN&#8220;);<br \/>\n}<\/p>\n<p>if (t &lt;= AC_OFF) {<\/p>\n<p>setState(AC, false);<\/p>\n<p>log(&#8222;Klimaanlage AUS&#8220;);<br \/>\n}<\/p>\n<p>});<\/p>\n<p>\/\/======================================================<br \/>\n\/\/ Test<br \/>\n\/\/======================================================<\/p>\n<p>\/\/ Diese Zeilen sp\u00e4ter entfernen.<br \/>\n\/\/ Damit kannst du testen.<\/p>\n<p>processMeshMessage(&#8222;Hallo&#8220;);<\/p>\n<p>processMeshMessage(&#8222;Licht an&#8220;);<\/p>\n<p>processMeshMessage(&#8222;Licht aus&#8220;);<\/p>\n<p>&nbsp;<\/p>\n<h2 class=\"PDq2pG_selectionAnchorContainer\" data-section-id=\"1vc1hv4\" data-start=\"2263\" data-end=\"2298\">Wie der USB-Teil sp\u00e4ter aussieht<\/h2>\n<p data-start=\"2300\" data-end=\"2385\">Sobald wir den seriellen Datenstrom deines TTGO kennen, wird nur dieser Teil erg\u00e4nzt<\/p>\n<p>const { SerialPort } = require(&#8217;serialport&#8216;);<\/p>\n<p>const port = new SerialPort({<br \/>\npath: &#8218;\/dev\/ttyUSB0&#8216;,<br \/>\nbaudRate: 115200<br \/>\n});<\/p>\n<p>port.on(&#8218;data&#8216;, function(data){<\/p>\n<p>processMeshMessage(data.toString());<\/p>\n<p>});<\/p>\n<p>&nbsp;<\/p>\n<p>Als Sicherheit frage ich auch noch das Call ab, damit niemand sonst schalten kann (falls &#8222;DO8AIL-12 : Licht an, dann schalte&#8230;&#8220;<\/p>\n<h5>In meinem Fall habe ich ein Blockyscript erstellt und schalte nun Licht, Klima, Hofbeleuchtung, Gartenpumpe und Alarmanlage damit.<\/h5>\n<p>73 euer Infofrog <img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-409 \" src=\"https:\/\/www.darc-celle.de\/wp-content\/uploads\/2019\/01\/frog-150x150.jpg\" alt=\"\" width=\"56\" height=\"56\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Meshcom kann auch smart&#8230;.ohne Internet&#8230; Die Idee: Mit Meshcom einen smarten Verbraucher im Haus aus der Ferne schalten (Lampe, Steckdose etc.) und auch automatisieren mittels Javascript oder Blockly \u00fcber eine Hausautomatision wie IoBroker oder HA. Beispiel; Textnachricht &#8222;Licht an&#8220; schaltet ein Licht, oder &#8222;falls Temp unter 4 Grad, dann schalte Heizung ein&#8220; Testumgebung: ein Tbeam [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5951,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[1],"tags":[],"class_list":["post-5949","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=\/wp\/v2\/posts\/5949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5949"}],"version-history":[{"count":7,"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=\/wp\/v2\/posts\/5949\/revisions"}],"predecessor-version":[{"id":5960,"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=\/wp\/v2\/posts\/5949\/revisions\/5960"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=\/wp\/v2\/media\/5951"}],"wp:attachment":[{"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.darc-celle.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}