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.2k

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

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

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.
  • HomoranH Homoran

    @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?

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

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

    @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?

    sollte natürlich Javascript Adapter sein...... so ist das mit 2 kleinen Kindern neben bei

    HomoranH 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

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

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

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

      Dann schau nach...
      Und schau auch wo jetzt die per sudo reingeballerten Module liegen und hau die wieder raus.

      cd /opt/iobroker
      npm ls onoff
      npm ls i2c-bus
      

      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

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

        @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?

        sollte natürlich Javascript Adapter sein...... so ist das mit 2 kleinen Kindern neben bei

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

        @lieggie und wo müssen sie sein?

        selbst wenn durch den Eintrag im js Adapter

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

        das Vorhandensein im richtigen Verzeichnis

        vorliegt, kann durch

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

        sudo npm install onoff
        sudo npm install i2c-bus

        es zusätzlich noch einmal woanders installiert sein

        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
        • HomoranH Homoran

          @lieggie und wo müssen sie sein?

          selbst wenn durch den Eintrag im js Adapter

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

          das Vorhandensein im richtigen Verzeichnis

          vorliegt, kann durch

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

          sudo npm install onoff
          sudo npm install i2c-bus

          es zusätzlich noch einmal woanders installiert sein

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

          @homoran

          Sie lagen im home/pi habe sie nun mit
          sudo npm uninstall onoff
          wieder entfernt.

          ich sollte weiter mit blockly basteln das Script kram liegt mir nicht.

          Thomas BraunT OliverIOO 2 Antworten Letzte Antwort
          0
          • L Lieggie

            @homoran

            Sie lagen im home/pi habe sie nun mit
            sudo npm uninstall onoff
            wieder entfernt.

            ich sollte weiter mit blockly basteln das Script kram liegt mir nicht.

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

            @lieggie

            Und gewöhn dir den exzessiven Einsatz von sudo ab. Da ist im Kontext vom ioBroker eigentlich nie erforderlich und zu 99% einfach falsch.

            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

            L 1 Antwort Letzte Antwort
            0
            • Thomas BraunT Thomas Braun

              @lieggie

              Und gewöhn dir den exzessiven Einsatz von sudo ab. Da ist im Kontext vom ioBroker eigentlich nie erforderlich und zu 99% einfach falsch.

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

              Kann es vielleicht daran liegen das ich einen Rpi5 nutze mit Bookworm?
              habe gerade gelesen das einige User probleme mit den GPIO in verbindung mit bookworm haben

              Thomas BraunT paul53P 2 Antworten Letzte Antwort
              0
              • L Lieggie

                Kann es vielleicht daran liegen das ich einen Rpi5 nutze mit Bookworm?
                habe gerade gelesen das einige User probleme mit den GPIO in verbindung mit bookworm haben

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

                @lieggie

                Die GPIOs werden nun anders angesprochen und Programme müssen dahingehend umgestellt werden.

                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

                  Kann es vielleicht daran liegen das ich einen Rpi5 nutze mit Bookworm?
                  habe gerade gelesen das einige User probleme mit den GPIO in verbindung mit bookworm haben

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

                  @lieggie sagte: probleme mit den GPIO in verbindung mit bookworm haben

                  Das Python-Skript hat doch funktioniert: Einen String mit den Werten geliefert. Dann nimm das Python-Skript (ohne sudo) und zerlege den String.

                  Blockly_temp.JPG

                  Wenn du das Skript nach /opt/iobroker verschoben hast, dann ersetze "home" durch "opt".

                  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: probleme mit den GPIO in verbindung mit bookworm haben

                    Das Python-Skript hat doch funktioniert: Einen String mit den Werten geliefert. Dann nimm das Python-Skript (ohne sudo) und zerlege den String.

                    Blockly_temp.JPG

                    Wenn du das Skript nach /opt/iobroker verschoben hast, dann ersetze "home" durch "opt".

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

                    @paul53

                    es geht nur so mit sudo -Spi4.JPG
                    Es wir aber nichts zurückgegeben

                    Gebe ich nur sudo ein kommt die Meldung

                    script.js.Skript_1: 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 
                    

                    ganz ohne sudo

                    script.js.Skript_1: Traceback (most recent call last): File "/opt/iobroker/merged.py", line 50, in <module> with open(pidfile, 'w') as f: ^^^^^^^^^^^^^^^^^^ PermissionError: [Errno 13] Permission denied: '/run/X1200.pid'
                    
                    paul53P 1 Antwort Letzte Antwort
                    0
                    • L Lieggie

                      @paul53

                      es geht nur so mit sudo -Spi4.JPG
                      Es wir aber nichts zurückgegeben

                      Gebe ich nur sudo ein kommt die Meldung

                      script.js.Skript_1: 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 
                      

                      ganz ohne sudo

                      script.js.Skript_1: Traceback (most recent call last): File "/opt/iobroker/merged.py", line 50, in <module> with open(pidfile, 'w') as f: ^^^^^^^^^^^^^^^^^^ PermissionError: [Errno 13] Permission denied: '/run/X1200.pid'
                      
                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #38

                      @lieggie sagte: ganz ohne sudo

                      Das Python-Skript wird abgearbeitet bis zur Zeile 50, wo es offenbar ein Problem mit Zugriffsrechten auf das Verzeichnis /run gibt.
                      EDIT: Deshalb muss Python3 offenbar mit root-Rechten ausgeführt werden.

                      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

                        @homoran

                        Sie lagen im home/pi habe sie nun mit
                        sudo npm uninstall onoff
                        wieder entfernt.

                        ich sollte weiter mit blockly basteln das Script kram liegt mir nicht.

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

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

                        ich sollte weiter mit blockly basteln das Script kram liegt mir nicht.

                        Ok
                        Evtl hilft das Skript ja jemanden anderen weiter

                        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 Geekworm X1202 USV Variable in IObroker übernehmen:

                          ich sollte weiter mit blockly basteln das Script kram liegt mir nicht.

                          Ok
                          Evtl hilft das Skript ja jemanden anderen weiter

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

                          @oliverio

                          ich versuche grad 2 gleisig zu fahren....ich komme weder mit blockly noch mit deinem Script weiter.

                          Aus deine script bekomme ich diesen fehler

                          javascript.0	14:59:52.402	info	Start JavaScript script.js.USV (Javascript/js)
                          javascript.0	14:59:52.417	error	script.js.USV: Error: EINVAL: invalid argument, write
                          javascript.0	14:59:52.417	error	at script.js.USV:26:18
                          javascript.0	14:59:52.417	error	at script.js.USV:169:3
                          

                          komme damit auch nicht weiter

                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • L Lieggie

                            @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 Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #41

                            @lieggie sagte: wo soll ich deine Zeilen einfügen.

                            Damit es ohne sudo laufen kann, kommentiere die Zeilen 44 bis 51 und 106, 107 aus und teste es erst einmal auf der Konsole (ohne sudo).

                            python3 /opt/iobroker/merged.py
                            

                            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: wo soll ich deine Zeilen einfügen.

                              Damit es ohne sudo laufen kann, kommentiere die Zeilen 44 bis 51 und 106, 107 aus und teste es erst einmal auf der Konsole (ohne sudo).

                              python3 /opt/iobroker/merged.py
                              
                              L Offline
                              L Offline
                              Lieggie
                              schrieb am zuletzt editiert von
                              #42

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

                              python3 /opt/iobroker/merged.py

                              Ich bekomme nun den String angezeigt

                              pi5.JPG

                              nun kann ich mich an das zerlegen machen . Vielen Dank.

                              Magst du mir erklären was wir dort nun genau rausgenommen haben ?

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • L Lieggie

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

                                python3 /opt/iobroker/merged.py

                                Ich bekomme nun den String angezeigt

                                pi5.JPG

                                nun kann ich mich an das zerlegen machen . Vielen Dank.

                                Magst du mir erklären was wir dort nun genau rausgenommen haben ?

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

                                @lieggie sagte: Magst du mir erklären was wir dort nun genau rausgenommen haben ?

                                Die Prüfung über eine pid-Datei, ob das Skript schon läuft, wurde raus genommen. Das Skript wird nur jede Minute gestartet und sollte sich vorher selbst beenden mit

                                Loop = False
                                

                                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: Magst du mir erklären was wir dort nun genau rausgenommen haben ?

                                  Die Prüfung über eine pid-Datei, ob das Skript schon läuft, wurde raus genommen. Das Skript wird nur jede Minute gestartet und sollte sich vorher selbst beenden mit

                                  Loop = False
                                  
                                  L Offline
                                  L Offline
                                  Lieggie
                                  schrieb am zuletzt editiert von Lieggie
                                  #44

                                  @paul53 danke an alle die geholfen haben, nun läuft alles
                                  anbei noch mal das Blockly
                                  pi6.JPG

                                  und das merged Skript ohne die Zeilen 44 bis 51 und 106, 107

                                  co#!/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
                                  
                                  
                                  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:
                                     
                                      exit(0)de_text
                                  
                                  1 Antwort Letzte Antwort
                                  0
                                  • L Lieggie

                                    @oliverio

                                    ich versuche grad 2 gleisig zu fahren....ich komme weder mit blockly noch mit deinem Script weiter.

                                    Aus deine script bekomme ich diesen fehler

                                    javascript.0	14:59:52.402	info	Start JavaScript script.js.USV (Javascript/js)
                                    javascript.0	14:59:52.417	error	script.js.USV: Error: EINVAL: invalid argument, write
                                    javascript.0	14:59:52.417	error	at script.js.USV:26:18
                                    javascript.0	14:59:52.417	error	at script.js.USV:169:3
                                    

                                    komme damit auch nicht weiter

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

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

                                    ich versuche grad 2 gleisig zu fahren....ich komme weder mit blockly noch mit deinem Script weiter.

                                    hier mal noch was ich dir per PM geantwortet habe für alle

                                    wahrscheinlich das was thomas geschrieben hat, das seit der letzten betriebssystem version die bisherige methode zur kommunikation mit gpio nicht mehr funktioniert. man müsste dann opengpio nehmen, das berücksichtigt die neuesten änderungen. wahrscheinlich wäre es einfach, aber es kann auch ein wenig testen und rumprobieren bedeuten.
                                    da du geschrieben hast, das das mit skript nix für dich ist, verfolge erst einmal mit den anderen den python weg.
                                    wenn da wirklich gar nix geht, dann können wir mal schauen. für doppelt-entwicklung ist die zeit aktuell nicht da

                                    so wie es aussieht habt ihr ja den python weg auch hinbekommen

                                    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
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    745

                                    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