@homoran ich nutze jetzt den HMIP Cloud Adapter und hatte voher den MaxCube V1.0.1...alle andere Versionen haben bei mir Probleme verursacht ...welche mir vielleicht grad einleuchtend werden woher sie hätten kommen können. Da die Steller dann das ähnliche problem hatten
NEWS
Best posts made by Lieggie
-
RE: IObrocker > Homematic Datenübertragung geht nicht...Erledigt
Latest posts made by Lieggie
-
RE: Suche Funk Dimm möglichkeit für Shelly Dimmer 2
@mickemup
ja die habe ich auch im Einsatz 4 Tasten übereinander. Wenn du da ein Blockly hättest wäre ich dir dankbar.
Ichabe sogar noch einen über. über welche schnittstelle arbeitest du ? Hue oder Deconz? -
Suche Funk Dimm möglichkeit für Shelly Dimmer 2
Hallo Zusammen
Meine Frau hat für das Esszimmer eine schöne Deckenleuchte gebaut. Darin haben wir 2 Shelly Dimmer2 untergebracht.
Funktion über App, Alexa und Vis ist gegeben. Nun suche ich nach einer/zwei Fernedinungen mit der ich ohne langes Scripten auch dimmen kann. Ich habe Hue Trädfri Dekonz und Wlan im Einsatz. (nicht fragen ist einfach so gewachsen).
Ich habe mal versucht ober eine vorhandene Trädfri zu dimmen. ja es ging , aber nicht zuverlässig. hat jemand eine Einfache Idee?
Gruß Thomas
-
RE: Geekworm X1202 USV Variable in IObroker übernehmen
@paul53 danke an alle die geholfen haben, nun läuft alles
anbei noch mal das Blockly
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
-
RE: Geekworm X1202 USV Variable in IObroker übernehmen
@paul53 said in Geekworm X1202 USV Variable in IObroker übernehmen:
python3 /opt/iobroker/merged.py
Ich bekomme nun den String angezeigt
nun kann ich mich an das zerlegen machen . Vielen Dank.
Magst du mir erklären was wir dort nun genau rausgenommen haben ?
-
RE: Geekworm X1202 USV Variable in IObroker übernehmen
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
-
RE: Geekworm X1202 USV Variable in IObroker übernehmen
es geht nur so mit sudo -S
Es wir aber nichts zurückgegebenGebe 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'
-
RE: Geekworm X1202 USV Variable in IObroker übernehmen
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 -
RE: Geekworm X1202 USV Variable in IObroker übernehmen
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.
-
RE: Geekworm X1202 USV Variable in IObroker übernehmen
@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
-
RE: Geekworm X1202 USV Variable in IObroker übernehmen
@paul53 said in Geekworm X1202 USV Variable in IObroker übernehmen:
@lieggie sagte:
sudo npm install onoff
sudo npm install i2c-busSo 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