Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Ralf 6

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    R
    • Profile
    • Following 2
    • Followers 0
    • Topics 5
    • Posts 55
    • Best 3
    • Groups 1

    Ralf 6

    @Ralf 6

    Starter

    3
    Reputation
    5
    Profile views
    55
    Posts
    0
    Followers
    2
    Following
    Joined Last Online

    Ralf 6 Follow
    Starter

    Best posts made by Ralf 6

    • RE: [gelöst] Senden von Schaltzuständen auf ein Relaisboard

      @dieterb :
      Wenn ich Befehle mit MQQT Explorer absende, setze ich noch den Befehl dazu. z.B. "0" , "1", "TRUE" oder was auch immer benötigt wird.
      Der Pfad ist schon an der richtigen Stelle. Den Befehl setze ich das Feld unter "raw, xml, json"

      posted in Einsteigerfragen
      R
      Ralf 6
    • RE: Umzug von Raspi auf Proxmox

      @guitardoc sagte in Umzug von Raspi auf Proxmox:

      Ich hatte ihn hier gekauft

      Danke

      posted in ioBroker Allgemein
      R
      Ralf 6
    • RE: [gelöst] Senden von Schaltzuständen auf ein Relaisboard

      @dieterb :

      Auf der Konfigurationsoberfläche meines ESPs der mit ESPEasy geflasht ist, habe ich folgende Einstellungen, abgekupfert aus einer Anleitung, gemacht:

      f755ec94-485e-438c-bba9-b31400a95492-grafik.png

      Dabei die beiden Pfade für "Controller Subscribe:" und "Controller Publish:" angepasst.
      Aufbauend darauf nach den bereits geschriebenen Anleitung weiter gemacht.
      Vermutlich gibt es etwas vergleichbares unter Tasmota. Und so wie es aussieht kennt Marc Berg sich damit aus.

      Für Tasmota kenn ich die Befehle nicht. Ich besitze nur einen Tasmota der mir den Stromzähler ausließt und dort habe ich nichts zu schalten.

      posted in Einsteigerfragen
      R
      Ralf 6

    Latest posts made by Ralf 6

    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @arteck , @MartinP , @paul53 , @Thomas-Braun

      Ich möchte mich recht herzlich bei Euch allen für die Inspiration und Eure Bemühungen danken.
      Auch wenn ich den Unterschied zwischen dem Javascript und dem Blockly nicht verstehe und warum das eine läuft und das andere nicht. Ich freue mich.
      Nochmals vielen Dank und eine gute Zeit.

      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @paul53
      Danke !

      Daran hätte ich lange geknobelt. Sowas von elegant.

      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @thomas-braun , @paul53 , @arteck

      Mit Blockly funktioniert es:

      2824d68a-9a2c-40c5-9b20-f06c2888cc3f-grafik.png

      Ergebnis:

      30.10.2024, 11:18:24.701	[info ]: javascript.1 (749) Start JavaScript script.js.common.zum_Testen.EXEC_Test02 (Blockly)
      30.10.2024, 11:18:24.738	[info ]: javascript.1 (749) script.js.common.zum_Testen.EXEC_Test02: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      30.10.2024, 11:18:24.744	[info ]: javascript.1 (749) script.js.common.zum_Testen.EXEC_Test02: Open /dev/i2c-1
      Ok, now try access the device..
      Received data: 3.81
      
      30.10.2024, 11:18:27.322	[info ]: javascript.1 (749) Stopping script script.js.common.zum_Testen.EXEC_Test02
      
      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="/16EE+_K=*X$-8wk05*~">result</variable>
        </variables>
        <block type="exec" id="6`{0RBpdd?)W9va2;7q}" x="138" y="88">
          <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
          <field name="WITH_STATEMENT">TRUE</field>
          <field name="LOG"></field>
          <value name="COMMAND">
            <shadow type="text" id="J/jhzY*{+Z.!#]OZ%bWF">
              <field name="TEXT">drtr06</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="debug" id="Ij0^mEEka!S?SVzrLy?g">
              <field name="Severity">info</field>
              <value name="TEXT">
                <shadow type="text" id="@%w3)(Q`J;;p;ZqV+`pI">
                  <field name="TEXT">test</field>
                </shadow>
                <block type="variables_get" id="2k::W.@Vsr7nXn!6Uaql">
                  <field name="VAR" id="/16EE+_K=*X$-8wk05*~">result</field>
                </block>
              </value>
            </block>
          </statement>
        </block>
      </xml>
      

      Da ich sowieso lieber mit Blockly arbeite, denke ich, wir lasssen das so.
      Oder spricht etwas dagegen?

      Jetzt muss ich nur noch schauen, wie ich den Wert extraiert bekomme. Habt Ihr dazu einen Vorschlag?

      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @thomas-braun
      Ok, dann zurück auf Anfang:

      const abfrage         = 'drtr06';
      exec(abfrage, function(err, stdout, stderr) {
              if (err) {
                  log(err,"error");
                  return;
              }
              console.warn('dein sensorwert ' + stdout);
       
      });
      

      Ergebnis:

      30.10.2024, 10:47:38.670	[info ]: javascript.1 (749) Start JavaScript script.js.common.zum_Testen.DRTR05 (Javascript/js)
      30.10.2024, 10:47:38.710	[info ]: javascript.1 (749) script.js.common.zum_Testen.DRTR05: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      30.10.2024, 10:47:38.719	[error]: javascript.1 (749) script.js.common.zum_Testen.DRTR05: Error: Command failed: drtr06
      
          at genericNodeError (node:internal/errors:984:15)
          at wrappedFn (node:internal/errors:538:14)
          at ChildProcess.exithandler (node:child_process:422:12)
          at ChildProcess.emit (node:events:519:28)
          at ChildProcess.emit (node:domain:488:12)
          at maybeClose (node:internal/child_process:1105:16)
          at Socket.<anonymous> (node:internal/child_process:457:11)
          at Socket.emit (node:events:519:28)
          at Socket.emit (node:domain:488:12)
          at Pipe.<anonymous> (node:net:339:12) {
        code: 120,
        killed: false,
        signal: null,
        cmd: 'drtr06'
      }
      30.10.2024, 10:47:43.088	[info ]: javascript.1 (749) Stopping script script.js.common.zum_Testen.DRTR05
      
      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @thomas-braun

      Ok, ohne sudo:

      
      const abfrage         = '-S drtr06';
      exec(abfrage, function(err, stdout, stderr) {
              if (err) {
                  log(err,"error");
                  return;
              }
              console.warn('dein sensorwert ' + stdout);
       
      });
      
      

      Ergebnis:

      30.10.2024, 10:36:34.019	[info ]: javascript.1 (749) Start JavaScript script.js.common.zum_Testen.drtr06_01 (Javascript/js)
      30.10.2024, 10:36:34.055	[info ]: javascript.1 (749) script.js.common.zum_Testen.drtr06_01: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      30.10.2024, 10:36:34.068	[error]: javascript.1 (749) script.js.common.zum_Testen.drtr06_01: Error: Command failed: -S drtr06
      /bin/sh: 0: Illegal option -S
      
          at genericNodeError (node:internal/errors:984:15)
          at wrappedFn (node:internal/errors:538:14)
          at ChildProcess.exithandler (node:child_process:422:12)
          at ChildProcess.emit (node:events:519:28)
          at ChildProcess.emit (node:domain:488:12)
          at maybeClose (node:internal/child_process:1105:16)
          at Socket.<anonymous> (node:internal/child_process:457:11)
          at Socket.emit (node:events:519:28)
          at Socket.emit (node:domain:488:12)
          at Pipe.<anonymous> (node:net:339:12) {
        code: 2,
        killed: false,
        signal: null,
        cmd: '-S drtr06'
      }
      30.10.2024, 10:36:38.977	[info ]: javascript.1 (749) Stopping script script.js.common.zum_Testen.drtr06_01
      

      .

      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @arteck , @paul53 , @Thomas-Braun

      Hallo darf ich nochmals um Eure Unterstützung bitten.
      Die letzten Hinweise von @Thomas-Braun habe ich ausgeführt und eine Rückmeldung gegeben. Wenn ich den Befehl in mein Skript einbaue, bekomme ich folgende Fehlermeldung:

      30.10.2024, 10:06:28.698	[info ]: javascript.1 (749) Start JavaScript script.js.common.zum_Testen.drtr06_01 (Javascript/js)
      30.10.2024, 10:06:28.736	[info ]: javascript.1 (749) script.js.common.zum_Testen.drtr06_01: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      30.10.2024, 10:06:28.786	[error]: javascript.1 (749) script.js.common.zum_Testen.drtr06_01: Error: Command failed: sudo -H -u iobroker /usr/local/bin/drtr06
      
          at genericNodeError (node:internal/errors:984:15)
          at wrappedFn (node:internal/errors:538:14)
          at ChildProcess.exithandler (node:child_process:422:12)
          at ChildProcess.emit (node:events:519:28)
          at ChildProcess.emit (node:domain:488:12)
          at maybeClose (node:internal/child_process:1105:16)
          at Socket.<anonymous> (node:internal/child_process:457:11)
          at Socket.emit (node:events:519:28)
          at Socket.emit (node:domain:488:12)
          at Pipe.<anonymous> (node:net:339:12) {
        code: 120,
        killed: false,
        signal: null,
        cmd: 'sudo -H -u iobroker /usr/local/bin/drtr06'
      }
      

      Dann habe ich folgendes ausprobiert:

      
      const abfrage         = 'sudo drtr06';
      exec(abfrage, function(err, stdout, stderr) {
              if (err) {
                  log(err,"error");
                  return;
              }
              console.warn('dein sensorwert ' + stdout);
       
      });
      
      

      Mit folgender Fehlermeldung:

      30.10.2024, 10:12:42.428	[info ]: javascript.1 (749) Start JavaScript script.js.common.zum_Testen.drtr06_01 (Javascript/js)
      30.10.2024, 10:12:42.467	[info ]: javascript.1 (749) script.js.common.zum_Testen.drtr06_01: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      30.10.2024, 10:12:42.503	[error]: javascript.1 (749) script.js.common.zum_Testen.drtr06_01: Error: Command failed: sudo drtr06
      sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
      sudo: a password is required
      
          at genericNodeError (node:internal/errors:984:15)
          at wrappedFn (node:internal/errors:538:14)
          at ChildProcess.exithandler (node:child_process:422:12)
          at ChildProcess.emit (node:events:519:28)
          at ChildProcess.emit (node:domain:488:12)
          at maybeClose (node:internal/child_process:1105:16)
          at Socket.<anonymous> (node:internal/child_process:457:11)
          at Socket.emit (node:events:519:28)
          at Socket.emit (node:domain:488:12)
          at Pipe.<anonymous> (node:net:339:12) {
        code: 1,
        killed: false,
        signal: null,
        cmd: 'sudo drtr06'
      }
      

      Da ich etwas von " -S " gelesen habe. Ohne zu verstehen was dieses Bedeutet. Habe ich danach den Code wie folgt geändert:

      
      const abfrage         = 'sudo -S drtr06';
      exec(abfrage, function(err, stdout, stderr) {
              if (err) {
                  log(err,"error");
                  return;
              }
              console.warn('dein sensorwert ' + stdout);
       
      });
      
      

      Jetzt kam keine Fehlermeldung mehr:

      30.10.2024, 10:17:01.757	[info ]: javascript.1 (749) Start JavaScript script.js.common.zum_Testen.drtr06_01 (Javascript/js)
      30.10.2024, 10:17:01.798	[info ]: javascript.1 (749) script.js.common.zum_Testen.drtr06_01: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      30.10.2024, 10:17:05.376	[info ]: javascript.1 (749) Stopping script script.js.common.zum_Testen.drtr06_01
      

      Was ich jetzt noch nicht sehe, ist eine Rückmeldung mit dem Sensorwert.
      Könnt Ihr mir bitte nochmals unter die Arme greifen.

      Danke für die Bemühungen

      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @thomas-braun
      Funktioniert auch

      ralf@raspberrypi13:~ $ sudo -H -u iobroker /usr/local/bin/drtr06
      Open /dev/i2c-1
      Ok, now try access the device..
      Received data: 4.58
      
      
      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @thomas-braun
      Mit folgendem Ergebnis:

      • die erste Variante liefert das gewünschte Ergebnis, die zweite Variante bringt einen Fehler
      ralf@raspberrypi13:~ $ sudo -H -u iobroker drtr06
      Open /dev/i2c-1
      Ok, now try access the device..
      Received data: 4.58
      ralf@raspberrypi13:~ $ sudo -H -u /usr/local/bin/drtr06
      sudo: unknown user /usr/local/bin/drtr06
      sudo: error initializing audit plugin sudoers_audit
      
      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @thomas-braun
      Mir ist der Sensor gerade ausgestiegen und ich muss diesen neu Starten - das Dauert einen Moment. Ich werde es auf jeden Fall Testen und mich Melden
      Danke

      posted in Skripten / Logik
      R
      Ralf 6
    • RE: (gelöst )C-Programm auf Slave mit Rückgabewert ausführen

      @martinp
      Na ja, ich habe keine bis wenig Kenntnisse in Programmiersprachen. Das Python Skript ruft das C-Programm auf. Das wurde mir schon so eingerichtet. Und welche Optionen ich habe, um es in den IoBroker einzubinden, weiß ich nicht. Was ich schon hinbekommen habe, ich kann seit kurzem über das erweiterte Python Skript den Wert über MQTT in den IoBroker senden. Ist natürlich ein umständlicher Weg und ob es auf Dauer Stabil läuft muss ich erst Testen. Der Sensor ist ein Sensibelchen.

      posted in Skripten / Logik
      R
      Ralf 6
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo