Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Geekworm X1202 USV Variable in IObroker übernehmen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

Geekworm X1202 USV Variable in IObroker übernehmen

Geplant Angeheftet Gesperrt Verschoben Hardware
45 Beiträge 5 Kommentatoren 3.8k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • L Lieggie

    Hallo Zusammen,
    Ich habe mir zum Raspi 5 eine USV Platine gegönnt.
    zu der Platine gibt es das eine oder andere Pyton script. die Scripte lassen sich über die SSH Konsole ausführen. Es gibt dann Rückmeldungen über die Akkuspannung und die aktuelle Kappazität. Das sieht dann so aus.

    piJPG.JPG

    Nun möchte ich die Spannung und die Kapazität aus dem Script in eine Variable im IObroker übernehmen um damit den Ladevorgang zu starten bzw zu stoppen. Das Starten und Stoppen funtioniert schon aus dem IObrocker herraus.

    da ich bisher eigenlich nie etwas in diese richtung gemacht, fehlt jegliche Fantasie wie ich aus dem Pyton Script den Spannungswert in eine User-Variable im IObrocker bekomme.

    Kann mir da jemand unter die Arme greifen und mir Starthilfe geben .

    Vielen Dank

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von
    #9

    @lieggie

    zu überlegen wäre es natürlich phyton zu umgehen und einfach direkt mit der raspi schnittstelle aus dem iobroker heraus zu sprechen.

    das würde wahrscheinlich einige probleme lösen

    wo ist das python skript zu finden?
    gibt es einen artikel dazu?

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    paul53P 1 Antwort Letzte Antwort
    0
    • OliverIOO OliverIO

      @lieggie

      zu überlegen wäre es natürlich phyton zu umgehen und einfach direkt mit der raspi schnittstelle aus dem iobroker heraus zu sprechen.

      das würde wahrscheinlich einige probleme lösen

      wo ist das python skript zu finden?
      gibt es einen artikel dazu?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #10

      @oliverio sagte: wo ist das python skript zu finden?

      Hier

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • L Lieggie

        @paul53 pi2.JPG

        Habe ich... mag er nicht.

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #11

        @lieggie sagte: Habe ich... mag er nicht.

        Verschiebe das Python-Skript aus dem Verzeichnis "/home/pi/x120x" nach /home/iobroker

        sudo mv merged.py /home/iobroker/merged.py
        

        Dann sollte es so funktionieren:

        Blockly_temp.JPG

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • L Lieggie

          Hallo Zusammen,
          Ich habe mir zum Raspi 5 eine USV Platine gegönnt.
          zu der Platine gibt es das eine oder andere Pyton script. die Scripte lassen sich über die SSH Konsole ausführen. Es gibt dann Rückmeldungen über die Akkuspannung und die aktuelle Kappazität. Das sieht dann so aus.

          piJPG.JPG

          Nun möchte ich die Spannung und die Kapazität aus dem Script in eine Variable im IObroker übernehmen um damit den Ladevorgang zu starten bzw zu stoppen. Das Starten und Stoppen funtioniert schon aus dem IObrocker herraus.

          da ich bisher eigenlich nie etwas in diese richtung gemacht, fehlt jegliche Fantasie wie ich aus dem Pyton Script den Spannungswert in eine User-Variable im IObrocker bekomme.

          Kann mir da jemand unter die Arme greifen und mir Starthilfe geben .

          Vielen Dank

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #12

          @lieggie

          ok, code gefunden, allerdings aktuell noch nicht direkt nutzbar, da es ein plugin für ein anderes system ist, aber den code kann man rausnehmen und für iobroker anpassen

          da steht zwar das es für ein anderes geekwork (nicht der griechische wurm) ist,
          aber die adressierung ist die selbe wie im python

          voltage auf i2s adresse 2
          capacity auf i2c adresse 4
          abfrage ob rapsi auf strom oder batterie läuft auf gpio pin 6

          https://github.com/tmcolby/signalk-geekworm-x728/blob/master/index.js

          ich schau mal, muss es halt blind machen und kann nicht testen, falls du einverstanden bist.
          wie gesagt, dann würde das direkt als javascript-adapter skript laufen, ohne das da noch python über exec angesprochen wird und der text noch analysiert wird. das skript würde dann direkt in 3 datenpunkte schreiben

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          1 Antwort Letzte Antwort
          0
          • L Lieggie

            Hallo Zusammen,
            Ich habe mir zum Raspi 5 eine USV Platine gegönnt.
            zu der Platine gibt es das eine oder andere Pyton script. die Scripte lassen sich über die SSH Konsole ausführen. Es gibt dann Rückmeldungen über die Akkuspannung und die aktuelle Kappazität. Das sieht dann so aus.

            piJPG.JPG

            Nun möchte ich die Spannung und die Kapazität aus dem Script in eine Variable im IObroker übernehmen um damit den Ladevorgang zu starten bzw zu stoppen. Das Starten und Stoppen funtioniert schon aus dem IObrocker herraus.

            da ich bisher eigenlich nie etwas in diese richtung gemacht, fehlt jegliche Fantasie wie ich aus dem Pyton Script den Spannungswert in eine User-Variable im IObrocker bekomme.

            Kann mir da jemand unter die Arme greifen und mir Starthilfe geben .

            Vielen Dank

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von OliverIO
            #13

            @lieggie

            hier zum testen
            die beiden npm bibliotheken

            • i2c-bus
            • onoff

            müssen zuvor in den einstellungen des javascript adapters hinzugefügt werden

            const I2c = require('i2c-bus')
            const Gpio = require('onoff').Gpio;
            
            const dp_voltage ="0_userdata.usv.voltage"; //number
            const dp_voltagestate ="0_userdata.usv.voltagestate"; //number
            const dp_capacity ="0_userdata.usv.capacity"; //number
            const dp_powerstate ="0_userdata.usv.powerstate"; //string
            
            const X728_ADDR = 0x36
            const VOLTAGE_REG = 0x2
            const CAPACITY_REG = 0x4
            
            const extPower = new Gpio(6, 'in', 'both', {
                debounceTimeout: 300
            });
            
            extPower.read((err, externalPowerLoss) => {
                if (err) {
                    log(err,"error");
                } else {
                    setPowerstate(externalPowerLoss);
                }
            });
            
            // notification actions on gpio change
            extPower.watch((err, externalPowerLoss) => {
                if (err) {
                    if (err) log(err,"error");
                } else {
                    setPowerstate(externalPowerLoss);
                }
            });
            
            function readGeekworm() {
                // open the i2c bus
                let i2c = I2c.open(1, (err) => {
                    if (err) log(err,"error");
                });
            
                // read and publish battery voltage
                i2c.readWord(X728_ADDR, VOLTAGE_REG, (err, rawData) => {
                    if (err) log(err,"error");
                    rawData = (rawData >> 8) + ((rawData & 0xff) << 8);
                    let voltage = rawData * 1.25 / 1000 / 16;
                    console.debug(`battery voltage: ${voltage} VDC`);
                    setState(dp_voltage,voltage);
                    getVoltageState(voltage);
                });
            
                // read and publish battery charge capacity
                i2c.readWord(X728_ADDR, CAPACITY_REG, (err, rawData) => {
                    if (err) log(err,"error");
                    rawData = (rawData >> 8) + ((rawData & 0xff) << 8);
                    let capacity = rawData / 256; //100% at 4.2VDC
                    if (capacity > 1.0) capacity = 1.0; //cap at 1.0 if small rounding eror 
                    console.debug(`battery capacity: ${capacity} %`);
                    setState(dp_capacity,capacity);
                });
            
                // close the i2c bus
                i2c.close((err) => {
                    if (err) log(err,"error");
                });
            }
            
            function getVoltageState(voltage) {
                let state="unknown";
                if (voltage<=3.87 && voltage <=4.2) state="Full";
                if (voltage<=3.7  && voltage <3.87) state="High";
                if (voltage<=3.55 && voltage <3.7)  state="Medium";
                if (voltage<=3.4  && voltage <3.55) state="Low";
                if (voltage<3.4) state="Critical";
                setState(dp_voltagestate,state);
            }
            function setPowerstate(externalPowerLoss) {
                if (externalPowerLoss) {
                    setState(dp_powerstate,"battery");
                } else {
                    setState(dp_powerstate,"power");
                }
            }
            schedule('* * * * *',readGeekworm); //every minute
            

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            paul53P 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @lieggie

              hier zum testen
              die beiden npm bibliotheken

              • i2c-bus
              • onoff

              müssen zuvor in den einstellungen des javascript adapters hinzugefügt werden

              const I2c = require('i2c-bus')
              const Gpio = require('onoff').Gpio;
              
              const dp_voltage ="0_userdata.usv.voltage"; //number
              const dp_voltagestate ="0_userdata.usv.voltagestate"; //number
              const dp_capacity ="0_userdata.usv.capacity"; //number
              const dp_powerstate ="0_userdata.usv.powerstate"; //string
              
              const X728_ADDR = 0x36
              const VOLTAGE_REG = 0x2
              const CAPACITY_REG = 0x4
              
              const extPower = new Gpio(6, 'in', 'both', {
                  debounceTimeout: 300
              });
              
              extPower.read((err, externalPowerLoss) => {
                  if (err) {
                      log(err,"error");
                  } else {
                      setPowerstate(externalPowerLoss);
                  }
              });
              
              // notification actions on gpio change
              extPower.watch((err, externalPowerLoss) => {
                  if (err) {
                      if (err) log(err,"error");
                  } else {
                      setPowerstate(externalPowerLoss);
                  }
              });
              
              function readGeekworm() {
                  // open the i2c bus
                  let i2c = I2c.open(1, (err) => {
                      if (err) log(err,"error");
                  });
              
                  // read and publish battery voltage
                  i2c.readWord(X728_ADDR, VOLTAGE_REG, (err, rawData) => {
                      if (err) log(err,"error");
                      rawData = (rawData >> 8) + ((rawData & 0xff) << 8);
                      let voltage = rawData * 1.25 / 1000 / 16;
                      console.debug(`battery voltage: ${voltage} VDC`);
                      setState(dp_voltage,voltage);
                      getVoltageState(voltage);
                  });
              
                  // read and publish battery charge capacity
                  i2c.readWord(X728_ADDR, CAPACITY_REG, (err, rawData) => {
                      if (err) log(err,"error");
                      rawData = (rawData >> 8) + ((rawData & 0xff) << 8);
                      let capacity = rawData / 256; //100% at 4.2VDC
                      if (capacity > 1.0) capacity = 1.0; //cap at 1.0 if small rounding eror 
                      console.debug(`battery capacity: ${capacity} %`);
                      setState(dp_capacity,capacity);
                  });
              
                  // close the i2c bus
                  i2c.close((err) => {
                      if (err) log(err,"error");
                  });
              }
              
              function getVoltageState(voltage) {
                  let state="unknown";
                  if (voltage<=3.87 && voltage <=4.2) state="Full";
                  if (voltage<=3.7  && voltage <3.87) state="High";
                  if (voltage<=3.55 && voltage <3.7)  state="Medium";
                  if (voltage<=3.4  && voltage <3.55) state="Low";
                  if (voltage<3.4) state="Critical";
                  setState(dp_voltagestate,state);
              }
              function setPowerstate(externalPowerLoss) {
                  if (externalPowerLoss) {
                      setState(dp_powerstate,"battery");
                  } else {
                      setState(dp_powerstate,"power");
                  }
              }
              schedule('* * * * *',readGeekworm); //every minute
              
              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #14

              @oliverio sagte: "0_userdata.usv.voltagestate"; //number

              ... sollte vom Typ "string" sein.
              Das Schreiben der eigenen Datenpunkte sollte mit Bestätigung erfolgen.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              L 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @oliverio sagte: "0_userdata.usv.voltagestate"; //number

                ... sollte vom Typ "string" sein.
                Das Schreiben der eigenen Datenpunkte sollte mit Bestätigung erfolgen.

                L Offline
                L Offline
                Lieggie
                schrieb am zuletzt editiert von Lieggie
                #15

                Hallo Ihr 2.....ich komme grad vom Einkaufen und sehe wie ihr 2 euch gedanken macht erstenmal vielen dank dafür.
                Ich habe in die Richtung noch nie was gemacht und war in den ersten IOB instalationsrutinen immer froh mit copy & Paste klar zukommen.
                Ich habe das Script nun in /opt/Iobroker verschoben, jetzt fragt er nicht mehr nach einem Passwort.

                Es ist für mich nun der erste Versuch Daten aus anderen Scripten zu holen.
                Aber ganz ehrlich das mit dem i2c ist mir zu viel da muss ich mich noch einarbeiten.
                @OliverIO wenn du magst kann ich dir den pi5 zur verfügung stellen ...aber dann lern ich nicht dabei.Er ist noch nicht im Betrieb
                Und ja du hast recht und der Überschrift ist ein R zuviel.
                Vielen dank für eure Hilfe

                OliverIOO HomoranH 2 Antworten Letzte Antwort
                0
                • L Lieggie

                  Hallo Ihr 2.....ich komme grad vom Einkaufen und sehe wie ihr 2 euch gedanken macht erstenmal vielen dank dafür.
                  Ich habe in die Richtung noch nie was gemacht und war in den ersten IOB instalationsrutinen immer froh mit copy & Paste klar zukommen.
                  Ich habe das Script nun in /opt/Iobroker verschoben, jetzt fragt er nicht mehr nach einem Passwort.

                  Es ist für mich nun der erste Versuch Daten aus anderen Scripten zu holen.
                  Aber ganz ehrlich das mit dem i2c ist mir zu viel da muss ich mich noch einarbeiten.
                  @OliverIO wenn du magst kann ich dir den pi5 zur verfügung stellen ...aber dann lern ich nicht dabei.Er ist noch nicht im Betrieb
                  Und ja du hast recht und der Überschrift ist ein R zuviel.
                  Vielen dank für eure Hilfe

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #16

                  @lieggie sagte in Greekworm X1202 USV Variable in IObroker übernehmen:

                  Aber ganz ehrlich das mit dem i2c ist mir zu viel da muss ich mich noch einarbeiten.

                  dein python script nutzt das genau so.
                  du sollst das skript einfach nur mal laufen lassen. i2c musst du dich nicht einarbeiten

                  also datenpunkte einrichten, entweder nach meinen vorschlägen oder
                  eigene benennen, anlegen und im skript eintragen.

                  dann die bibliotheken in den js adapter einstellungen eintragen, fertig.

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  L 1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @lieggie sagte in Greekworm X1202 USV Variable in IObroker übernehmen:

                    Aber ganz ehrlich das mit dem i2c ist mir zu viel da muss ich mich noch einarbeiten.

                    dein python script nutzt das genau so.
                    du sollst das skript einfach nur mal laufen lassen. i2c musst du dich nicht einarbeiten

                    also datenpunkte einrichten, entweder nach meinen vorschlägen oder
                    eigene benennen, anlegen und im skript eintragen.

                    dann die bibliotheken in den js adapter einstellungen eintragen, fertig.

                    L Offline
                    L Offline
                    Lieggie
                    schrieb am zuletzt editiert von
                    #17

                    @oliverio
                    ich stehe auf dem schlauch ... gemacht habe ich nun 11.JPG

                    Variable erstellt
                    12.JPG

                    Minutliche ausführung
                    13.JPG

                    nu komme ich nicht weiter weil mein merged.py so aussieht.
                    wo soll ich deine Zeilen einfügen.

                    #!/usr/bin/python3
                    
                    import os
                    import struct
                    import smbus
                    import time
                    import logging
                    import subprocess
                    import gpiod
                    from subprocess import call
                    
                    # User-configurable variables
                    SHUTDOWN_THRESHOLD = 3  # Number of consecutive failures required for shutdown
                    SLEEP_TIME = 60  # Time in seconds to wait between failure checks
                    Loop =  False
                    
                    def readVoltage(bus):
                        read = bus.read_word_data(address, 2)
                        swapped = struct.unpack("<H", struct.pack(">H", read))[0]
                        voltage = swapped * 1.25 / 1000 / 16
                        return voltage
                    
                    def readCapacity(bus):
                        read = bus.read_word_data(address, 4)
                        swapped = struct.unpack("<H", struct.pack(">H", read))[0]
                        capacity = swapped / 256
                        return capacity
                    
                    def get_battery_status(voltage):
                        if 3.87 <= voltage <= 4.2:
                            return "Full"
                        elif 3.7 <= voltage < 3.87:
                            return "High"
                        elif 3.55 <= voltage < 3.7:
                            return "Medium"
                        elif 3.4 <= voltage < 3.55:
                            return "Low"
                        elif voltage < 3.4:
                            return "Critical"
                        else:
                            return "Unknown"
                    
                    # Ensure only one instance of the script is running
                    pid = str(os.getpid())
                    pidfile = "/run/X1200.pid"
                    if os.path.isfile(pidfile):
                        print("Script already running")
                        exit(1)
                    else:
                        with open(pidfile, 'w') as f:
                            f.write(pid)
                    
                    try:
                        bus = smbus.SMBus(1)
                        address = 0x36
                        PLD_PIN = 6
                        chip = gpiod.Chip('gpiochip4')
                        pld_line = chip.get_line(PLD_PIN)
                        pld_line.request(consumer="PLD", type=gpiod.LINE_REQ_DIR_IN)
                    
                        while True:
                            failure_counter = 0
                    
                            for _ in range(SHUTDOWN_THRESHOLD):
                                ac_power_state = pld_line.get_value()
                                voltage = readVoltage(bus)
                                battery_status = get_battery_status(voltage)
                                capacity = readCapacity(bus)
                                print(f"Capacity: {capacity:.2f}% ({battery_status}), AC Power State: {'Plugged in' if ac_power_state == 1 else 'Unplugged'}, Voltage: {voltage:.2f}V")
                                if capacity < 20:
                                    print("Battery level critical.")
                                    failure_counter += 1
                                elif voltage < 3.20:
                                    print("Battery voltage critical.")
                                    failure_counter += 1
                                elif ac_power_state == 0:
                                    print("UPS is unplugged or AC power loss detected.")
                                    failure_counter += 1
                                else:
                                    failure_counter = 0
                                    break
                    
                                if failure_counter < SHUTDOWN_THRESHOLD:
                                    time.sleep(SLEEP_TIME) 
                    
                            if failure_counter >= SHUTDOWN_THRESHOLD:
                                shutdown_reason = ""
                                if capacity < 20:
                                    shutdown_reason = "due to critical battery level."
                                elif voltage < 3.20:
                                    shutdown_reason = "due to critical battery voltage."
                                elif ac_power_state == 0:
                                    shutdown_reason = "due to AC power loss or UPS unplugged."
                    
                                shutdown_message = f"Critical condition met {shutdown_reason} Initiating shutdown."
                                print(shutdown_message)
                                call("sudo nohup shutdown -h now", shell=True)
                            else:
                                #print("System operating within normal parameters. No action required.")
                                if Loop:
                                    time.sleep(SLEEP_TIME)
                                else:
                                    exit(0)
                    
                    finally:
                        if os.path.isfile(pidfile):
                            os.unlink(pidfile)
                        exit(0)
                    
                    
                    
                    paul53P 1 Antwort Letzte Antwort
                    0
                    • OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #18

                      @lieggie

                      nix blockly.

                      du legst im javascript adapter ein neues skript an und wählst anstatt blockly
                      den javascript knopf (auch nicht typescript und auch nicht rules)

                      du gibts deinem skript einen namen.
                      dann hast du ein textfenster.
                      dort kopierst du das skript rein
                      dann die namen der datenpunkte in den ersten paar zeilen des skripts anpassen
                      und drückst oben auf den play button
                      im unterne bereich des skripts ist ein log bereich.
                      da mal reinschauen was da so kommt.
                      wenn keine fehler erscheinen kannst du die datenpunkte überprüfen ob da die daten reingeschrieben wurden.

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      L 1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @lieggie

                        nix blockly.

                        du legst im javascript adapter ein neues skript an und wählst anstatt blockly
                        den javascript knopf (auch nicht typescript und auch nicht rules)

                        du gibts deinem skript einen namen.
                        dann hast du ein textfenster.
                        dort kopierst du das skript rein
                        dann die namen der datenpunkte in den ersten paar zeilen des skripts anpassen
                        und drückst oben auf den play button
                        im unterne bereich des skripts ist ein log bereich.
                        da mal reinschauen was da so kommt.
                        wenn keine fehler erscheinen kannst du die datenpunkte überprüfen ob da die daten reingeschrieben wurden.

                        L Offline
                        L Offline
                        Lieggie
                        schrieb am zuletzt editiert von Lieggie
                        #19

                        @oliverio
                        Guten Morgen , sorry das ich mich erst jetzt Melde .Ich war gestern verhindert.
                        ich habe wie du gesagt hast nun das Script rin kopiert. bekomme aber nun diesen fehler

                        javascript.0	10:12:51.180	info	Stopping script script.js.USV
                        javascript.0	10:12:53.042	info	Start JavaScript script.js.USV (Javascript/js)
                        javascript.0	10:12:53.058	error	script.js.USV: Error: EINVAL: invalid argument, write
                        javascript.0	10:12:53.059	error	at script.js.USV:26:18
                        javascript.0	10:12:53.060	error	at script.js.USV:169:3
                        

                        ich glaub hier ist noch was faul
                        pi3.JPG

                        paul53P L 2 Antworten Letzte Antwort
                        0
                        • L Lieggie

                          Hallo Ihr 2.....ich komme grad vom Einkaufen und sehe wie ihr 2 euch gedanken macht erstenmal vielen dank dafür.
                          Ich habe in die Richtung noch nie was gemacht und war in den ersten IOB instalationsrutinen immer froh mit copy & Paste klar zukommen.
                          Ich habe das Script nun in /opt/Iobroker verschoben, jetzt fragt er nicht mehr nach einem Passwort.

                          Es ist für mich nun der erste Versuch Daten aus anderen Scripten zu holen.
                          Aber ganz ehrlich das mit dem i2c ist mir zu viel da muss ich mich noch einarbeiten.
                          @OliverIO wenn du magst kann ich dir den pi5 zur verfügung stellen ...aber dann lern ich nicht dabei.Er ist noch nicht im Betrieb
                          Und ja du hast recht und der Überschrift ist ein R zuviel.
                          Vielen dank für eure Hilfe

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von Homoran
                          #20

                          @lieggie sagte in Greekworm X1202 USV Variable in IObroker übernehmen:

                          Und ja du hast recht und der Überschrift ist ein R zuviel.

                          jetzt nicht mehr!
                          Ich hab's für dich rausgenommen

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          1 Antwort Letzte Antwort
                          0
                          • L Lieggie

                            @oliverio
                            Guten Morgen , sorry das ich mich erst jetzt Melde .Ich war gestern verhindert.
                            ich habe wie du gesagt hast nun das Script rin kopiert. bekomme aber nun diesen fehler

                            javascript.0	10:12:51.180	info	Stopping script script.js.USV
                            javascript.0	10:12:53.042	info	Start JavaScript script.js.USV (Javascript/js)
                            javascript.0	10:12:53.058	error	script.js.USV: Error: EINVAL: invalid argument, write
                            javascript.0	10:12:53.059	error	at script.js.USV:26:18
                            javascript.0	10:12:53.060	error	at script.js.USV:169:3
                            

                            ich glaub hier ist noch was faul
                            pi3.JPG

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #21

                            @lieggie sagte: hier ist noch was faul

                            Die roten Wellenlinien des Javascript-Editors kann man ignorieren, wenn die beiden NPM-Module in der Konfiguration der Javascript-Instanz eingetragen sind und es bei der Installation der Module keine Fehlermeldungen gab.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            L 1 Antwort Letzte Antwort
                            0
                            • L Lieggie

                              @oliverio
                              Guten Morgen , sorry das ich mich erst jetzt Melde .Ich war gestern verhindert.
                              ich habe wie du gesagt hast nun das Script rin kopiert. bekomme aber nun diesen fehler

                              javascript.0	10:12:51.180	info	Stopping script script.js.USV
                              javascript.0	10:12:53.042	info	Start JavaScript script.js.USV (Javascript/js)
                              javascript.0	10:12:53.058	error	script.js.USV: Error: EINVAL: invalid argument, write
                              javascript.0	10:12:53.059	error	at script.js.USV:26:18
                              javascript.0	10:12:53.060	error	at script.js.USV:169:3
                              

                              ich glaub hier ist noch was faul
                              pi3.JPG

                              L Offline
                              L Offline
                              Lieggie
                              schrieb am zuletzt editiert von
                              #22

                              @lieggie said in Geekworm X1202 USV Variable in IObroker übernehmen:

                              @oliverio
                              Guten Morgen , sorry das ich mich erst jetzt Melde .Ich war gestern verhindert.
                              ich habe wie du gesagt hast nun das Script rin kopiert. bekomme aber nun diesen fehler

                              javascript.0	10:12:51.180	info	Stopping script script.js.USV
                              javascript.0	10:12:53.042	info	Start JavaScript script.js.USV (Javascript/js)
                              javascript.0	10:12:53.058	error	script.js.USV: Error: EINVAL: invalid argument, write
                              javascript.0	10:12:53.059	error	at script.js.USV:26:18
                              javascript.0	10:12:53.060	error	at script.js.USV:169:3
                              

                              ich glaub hier ist noch was faul
                              pi3.JPG

                              avascript.0
                              	2024-09-15 10:34:58.719	error	at Script.runInContext (node:vm:148:12)
                              javascript.0
                              	2024-09-15 10:34:58.719	error	at script.js.USV:169:3
                              javascript.0
                              	2024-09-15 10:34:58.719	error	at script.js.USV:26:18
                              javascript.0
                              	2024-09-15 10:34:58.719	error	at new Gpio (/opt/iobroker/node_modules/@iobroker-javascript.0/onoff/onoff.js:172:36)
                              javascript.0
                              	2024-09-15 10:34:58.718	error	at exportGpio (/opt/iobroker/node_modules/@iobroker-javascript.0/onoff/onoff.js:18:8)
                              javascript.0
                              	2024-09-15 10:34:58.718	error	at Object.writeFileSync (node:fs:2368:20)
                              javascript.0
                              	2024-09-15 10:34:58.718	error	script.js.USV: Error: EINVAL: invalid argument, write
                              
                              1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @lieggie sagte: hier ist noch was faul

                                Die roten Wellenlinien des Javascript-Editors kann man ignorieren, wenn die beiden NPM-Module in der Konfiguration der Javascript-Instanz eingetragen sind und es bei der Installation der Module keine Fehlermeldungen gab.

                                L Offline
                                L Offline
                                Lieggie
                                schrieb am zuletzt editiert von
                                #23

                                @paul53 said in Geekworm X1202 USV Variable in IObroker übernehmen:

                                @lieggie sagte: hier ist noch was faul

                                Die roten Wellenlinien des Javascript-Editors kann man ignorieren, wenn die beiden NPM-Module in der Konfiguration der Javascript-Instanz eingetragen sind und es bei der Installation der Module keine Fehlermeldungen gab.

                                ich habe die beiden instanzen instaliert da bei gab es keinen Fehler
                                sudo npm install onoff
                                sudo npm install i2c-bus

                                was mir nur aufgefallen ist das onoff nur bis Node 16 unterstützt wird. ich habe aber 20 am laufen

                                Thomas BraunT paul53P 2 Antworten Letzte Antwort
                                0
                                • L Lieggie

                                  @paul53 said in Geekworm X1202 USV Variable in IObroker übernehmen:

                                  @lieggie sagte: hier ist noch was faul

                                  Die roten Wellenlinien des Javascript-Editors kann man ignorieren, wenn die beiden NPM-Module in der Konfiguration der Javascript-Instanz eingetragen sind und es bei der Installation der Module keine Fehlermeldungen gab.

                                  ich habe die beiden instanzen instaliert da bei gab es keinen Fehler
                                  sudo npm install onoff
                                  sudo npm install i2c-bus

                                  was mir nur aufgefallen ist das onoff nur bis Node 16 unterstützt wird. ich habe aber 20 am laufen

                                  Thomas BraunT Online
                                  Thomas BraunT Online
                                  Thomas Braun
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #24

                                  @lieggie

                                  Knall dir BITTE KEINE npm-Module per root in das System!!!!

                                  Linux-Werkzeugkasten:
                                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                  NodeJS Fixer Skript:
                                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                  1 Antwort Letzte Antwort
                                  0
                                  • L Lieggie

                                    @paul53 said in Geekworm X1202 USV Variable in IObroker übernehmen:

                                    @lieggie sagte: hier ist noch was faul

                                    Die roten Wellenlinien des Javascript-Editors kann man ignorieren, wenn die beiden NPM-Module in der Konfiguration der Javascript-Instanz eingetragen sind und es bei der Installation der Module keine Fehlermeldungen gab.

                                    ich habe die beiden instanzen instaliert da bei gab es keinen Fehler
                                    sudo npm install onoff
                                    sudo npm install i2c-bus

                                    was mir nur aufgefallen ist das onoff nur bis Node 16 unterstützt wird. ich habe aber 20 am laufen

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #25

                                    @lieggie sagte:

                                    sudo npm install onoff
                                    sudo npm install i2c-bus

                                    So ist es falsch! Der Javascript-Adapter installiert sie selbst in das richtige Verzeichnis, nachdem sie in der Konfiguration unter "Zusätzliche NPM-Module" eingetragen wurden.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @lieggie sagte:

                                      sudo npm install onoff
                                      sudo npm install i2c-bus

                                      So ist es falsch! Der Javascript-Adapter installiert sie selbst in das richtige Verzeichnis, nachdem sie in der Konfiguration unter "Zusätzliche NPM-Module" eingetragen wurden.

                                      L Offline
                                      L Offline
                                      Lieggie
                                      schrieb am zuletzt editiert von Lieggie
                                      #26

                                      @paul53 said in Geekworm X1202 USV Variable in IObroker übernehmen:

                                      @lieggie sagte:

                                      sudo npm install onoff
                                      sudo npm install i2c-bus

                                      So ist es falsch! Der Javascript-Adapter installiert sie selbst in das richtige Verzeichnis, nachdem sie in der Konfiguration unter "Zusätzliche NPM-Module" eingetragen wurden.

                                      dann müssen sie ja da sein weil eingetragen im Javascript Adapter sind sie ja

                                      HomoranH paul53P Thomas BraunT 3 Antworten Letzte Antwort
                                      0
                                      • L Lieggie

                                        @paul53 said in Geekworm X1202 USV Variable in IObroker übernehmen:

                                        @lieggie sagte:

                                        sudo npm install onoff
                                        sudo npm install i2c-bus

                                        So ist es falsch! Der Javascript-Adapter installiert sie selbst in das richtige Verzeichnis, nachdem sie in der Konfiguration unter "Zusätzliche NPM-Module" eingetragen wurden.

                                        dann müssen sie ja da sein weil eingetragen im Javascript Adapter sind sie ja

                                        HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #27

                                        @lieggie sagte in Geekworm X1202 USV Variable in IObroker übernehmen:

                                        dann müssen sie ja da sein weil eingetragen im om adapter sind sie ja

                                        Was willst du damit sagen?
                                        Wo müssen sie sein?

                                        Was ist der om Adapter?

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • L Lieggie

                                          @paul53 said in Geekworm X1202 USV Variable in IObroker übernehmen:

                                          @lieggie sagte:

                                          sudo npm install onoff
                                          sudo npm install i2c-bus

                                          So ist es falsch! Der Javascript-Adapter installiert sie selbst in das richtige Verzeichnis, nachdem sie in der Konfiguration unter "Zusätzliche NPM-Module" eingetragen wurden.

                                          dann müssen sie ja da sein weil eingetragen im Javascript Adapter sind sie ja

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #28

                                          @lieggie sagte: dann müssen sie ja da sein weil eingetragen im om adapter sind sie ja

                                          Ja, denn die Fehlermeldung

                                          	2024-09-15 10:34:58.718	error	at exportGpio (/opt/iobroker/node_modules/@iobroker-javascript.0/onoff/onoff.js:18:8)
                                          

                                          zeigt das Vorhandensein im richtigen Verzeichnis.

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          751

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe