Weiter zum Inhalt

Entwicklung

1.3k Themen 31.8k Beiträge

Diskussionen und Hilfe für die Entwicklung von ioBroker und Adaptern.

NEWS

  • Auswahl eines States in den Adapter-Enstellungen

    3
    0 Stimmen
    3 Beiträge
    362 Aufrufe
    S
    @kbrausew Top, genau, das was ich gesucht habe. Danke!
  • Problem mit dev-server - Failed to lock DB file

    2
    0 Stimmen
    2 Beiträge
    265 Aufrufe
    mcm1957M
    Möchte nur kurz Feedback geben. Die Ursache des Problems konnte nicht wirklich ermittelt werden. Ich habe Folgendes gemacht: Ich bin vond er Verwendung der iobroker shell (die unter Admin läuft) auf eine normale Eingabeaufforderung umgestiegen. Da dort node etc. nicht bekannt war (path setup etc) habe ich node neu installiert (msi file, 64bit) und auf 14.19.1 aktualisisert. Weiters habe ich dann (von der normalen shell aus) dev-server via node nochmals installiert, das .dev-server Verzeichnis gelöscht und setup nochmals augeführt. Seither läßt sich der dev-server zu zumindest 90% starten. Fehlermeldung komtm noch immer ab und zu - aber akzeptabel selten. McM
  • [Anfänger] Konfig für mehrere Geräte mit Tabellendaten

    6
    0 Stimmen
    6 Beiträge
    263 Aufrufe
    mcm1957M
    Da dieses Topic nur einen Teilaspekt der Weiterentwicklung des SNMP Adapters darstellt und ich zwischenzeitlich ein passendes Sammeltopic für den snmp Adapter erstellt habe, bitte ich darum die Diskussion HIER zu beenden und weiteren Input direkt hier https://forum.iobroker.net/topic/53632/snmp-adapter-weiterentwicklung abzulegen. Danke
  • Sporadisch aktive Datenpunkte -> Wie?

    13
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    GrizzelbeeG
    @oliverio sagte in Sporadisch aktive Datenpunkte -> Wie?: wenn ich aus dem verlauf richtig entnommen habe, bietest du einem nuter die objektbaum-Ansicht an? Nein, da hast Du den Verlauf falsch interpretiert. Ich biete Nutzern außer dem reinen Adapter gar nichts an. Aber Adapter sind eben die Brücke zwischen den Geräten und den Visus (egal ob Admin, VIS, lovelace oder welche auch immer) und wissen über die Geräte bescheid (zumindest mehr als die GUI). Und im vorliegenden Fall geht es bei den Steuerungsfunktionen um mehr als nur an/aus. Es geht um Haushaltsgeräte. Manche Funktionen stehen nur unter gewissen Nebenbedingungen zur Verfügung. Da die Buttons aber dauerhaft vorhanden sind und jederzeit (unabhängig von den Nebenbedingungen) gedrückt werden können - lösen sie halt Fehler aus, wenn die Nebenbedingungen nicht erfüllt sind. "Normale" GUIs unter Windows, Linux, MacOs lösen das Problem dadurch das sie Buttons, die gerade nicht funktionieren abschalten (ausgrauen). Meine Frage war also im Kern, ob es einen vergleichbaren Mechanismus auch im Broker gibt um den Adapter zu härten und den Nutzern Fehlerbehandlung in der GUI zu ersparen.
  • (gelöste) npm publish: Fehler E404

    npm publish
    33
    0 Stimmen
    33 Beiträge
    2k Aufrufe
    kBrausewK
    @apollon77 nee nee, will nicht drängeln ;) wollte nur den Prozess abklären
  • [Anfänger] SNMP Adapter - Fragen Veröffentlichung v Updates

    beginner git snmp
    31
    0 Stimmen
    31 Beiträge
    2k Aufrufe
    apollon77A
    @mcm57 Jooo ... no stress ... alles gut.
  • [Adapteranfrage] - Helialux Smart Control

    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    M
    @sneaker75 Hi, ich nutze derzeit das pyHelialux - welches ich per Alexa und Javascript starte. Nicht schön aber es ließe sich daraus sicher mehr bauen. Mir fehlen aber leider auch die Kenntnisse das Python sauber in einen iobroker Adapter zu gießen. Am Ende ist hier alles enthalten für die HTTP Kommunikation: """Pyton library to control (and get information from) Juwel's Helialux Smart Controller.""" import requests import logging import re _LOGGER = logging.getLogger(__name__) STATUS_VARS_REGEX = re.compile(r"(?P<name>[a-zA-Z0-9]+)=((?P<number>\d+)|'(?P<string>[^']+)'|\[(?P<digit_list>(\d+,?)+)\]|\[(?P<string_list>(\"([^\"]+)\",?)+)\]);") def parse_status_vars(status_vars): """Extract the variables and their values from a minimal javascript file.""" output = {} for match in STATUS_VARS_REGEX.finditer(status_vars): if match['number'] is not None: value = int(match['number']) elif match['string'] is not None: value = match['string'] elif match['digit_list'] is not None: value = [int(x) for x in match['digit_list'].split(",")] elif match['string_list'] is not None: value = [x[1:-1] for x in match['string_list'].split(",")] # strip the quotes else: assert(False) output[match['name']] = value return output def normalize_brightness(val): if val < 0: return 0 elif val > 100: return 100 else: return val def nr_mins_to_formatted(duration): """Take a duration in minutes, and return an HH:MM formatted string.""" hours = int(duration / 60) minutes = duration % 60 return "%02d:%02d" % (hours, minutes) class Controller: """Base Representation of a HeliaLux SmartController""" def __init__(self, url): self._url = url def _statusvars(self): _LOGGER.debug("Fetching state from controller") response = requests.get(self._url + "/statusvars.js") return parse_status_vars(response.content.decode("utf-8")) def get_status(self): """Fetch the current status from the controller.""" statusvars = self._statusvars() return { "currentProfile": statusvars["profile"], "currentWhite": statusvars["brightness"][0], "currentBlue": statusvars["brightness"][1], "currentGreen": statusvars["brightness"][2], "currentRed": statusvars["brightness"][3], "manualColorSimulationEnabled": statusvars["csimact"] == 1, "manualDaytimeSimulationEnabled": statusvars["tsimact"] == 1, "deviceTime": nr_mins_to_formatted(statusvars["tsimtime"]), } def start_manual_color_simulation(self, duration=60): requests.post(self._url + "/stat",{"action": 14, "cswi": "true", "ctime": nr_mins_to_formatted(duration)}) def set_manual_color(self, white,blue,green,red): params = {"action": 10} if white is not None: params["ch1"] = normalize_brightness(white) if blue is not None: params["ch2"] = normalize_brightness(blue) if green is not None: params["ch3"] = normalize_brightness(green) if red is not None: params["ch4"] = normalize_brightness(red) requests.post(self._url + "/stat", params) def stop_manual_color_simulation(self): requests.post(self._url + "/stat", {"action": 14, "cswi": "false"}) requests.post(self._url + "/stat", {"action": 10})
  • Adapter für SATEL Alarmanlagen

    3
    0 Stimmen
    3 Beiträge
    354 Aufrufe
    L
    Hallo, hat sich da jemals was getan mit einem Adapter für eine SATEL? Ich habe auch eine SATEL Alarmanlage und wäre auch sehr interessiert sie in den ioBroker integrieren zu können. Grüße
  • "values2table: Wie Radiobutton verwenden"

    adapter entwicklung
    18
    1
    0 Stimmen
    18 Beiträge
    2k Aufrufe
    PeoplesP
    @kbrausew Habe es schon mit Checkboxen umgesetzt
  • Was ist eine Custom Config (jsonCustom.json)?

    3
    0 Stimmen
    3 Beiträge
    214 Aufrufe
    mcm1957M
    @alcalzone Nein hab ich nicht. Aber jetzt weiß ich wo ich das anschauen kann und ggF dort nachgraben kann. DANKE für die Starthilfe McM
  • Hinzufügen "Shelly Pro4PM"

    8
    1
    0 Stimmen
    8 Beiträge
    964 Aufrufe
    haus-automatisierungH
    @hogy So soll es sein 😎 Falls doch noch was auffällt, am besten auf github melden.
  • [Frage] Erstes eigenes Widget - Bitte um Feedback

    7
    0 Stimmen
    7 Beiträge
    761 Aufrufe
    B
    @stefanp-1 sagte in [Frage] Erstes eigenes Widget - Bitte um Feedback: @buchi Ah, ich habe die Version vom Github. Anscheinend hast du den Namen geändert. Das neue Repo ist jetzt https://github.com/gerbuchner/ioBroker.vis-owl ? Ja, richtig :) Ich ändere mal den Link oben....
  • String aus Maria DB in Grafana untereinander darstellen

    mariadb grafana help
    2
    2
    0 Stimmen
    2 Beiträge
    215 Aufrufe
    Marv KaM
    @marv-ka said in String aus Maria DB in Grafana untereinander darstellen: Hallo liebe Community ich, Marvin würde gerne meine erste APP bauen und mir ist es wichtig folgendes umzusetzen aber ich bräuchte bitte euer Fachwissen. Mir wäre es wichtig, dass die Informationen aus Bestellung_Varianten untereinander geschrieben werden in Grafana. Ich habe eine View gebaut die alle Informationen herausarbeitet aus einer Maria DB Datenbank. Die Bestellung_Varianten Daten werden zwar in der Pre-View untereinander dargestellt nicht aber als Ergebnis. Hier werden die Informationen in einer Zeile dargestellt. [image: 1645879931845-d93cfb88-d01a-4b8e-b9b2-9e4d3d692a9c-image.png] Dies wird leider dann auch als eine Zeile (Bestellung_Varianten) an Grafana übergeben :( [image: 1645879980908-ab1b7b79-847d-4c93-9a1b-e272580f64d6-image.png] Ich hoffe ihr könnt mir helfen und wünsch euch ein tolles Wochenende!!! Viele Grüße, Marvin
  • [Frage] Bereitstellen Widgets in npm bzw Repro

    6
    0 Stimmen
    6 Beiträge
    615 Aufrufe
    crycodeC
    @foxriver76 Genau, die Meldung [W400] Cannot find "pvforecast" in latest repository verschwindet, sobald dein Adapter in das Latest Repository aufgenommen wurde und kann bis dahin ignoriert werden. Mit dem Adapter Creator Version 2.0.0 wurde die Empfehlung vom Blacklisting per .npmignore auf Whitelisting über die package.json umgestellt. Details dazu hier. Auch immer gut zum Prüfen deines Adapters: https://adapter-check.iobroker.in/
  • Bitte Adapter-Testing auf 2.5.4+ aktualisieren!

    2
    2 Stimmen
    2 Beiträge
    977 Aufrufe
    apollon77A
    Hi All, die Änderung ist ab sofort wirksam. Tests ohne die genannte Testing Version 2.5.4+ oder dem akzeptierten PR beim Legacy Testing werden ab jetzt Failen! Ingo
  • [gelöst] Passwortverschl. mit encryptedNative in io-Package

    3
    0 Stimmen
    3 Beiträge
    373 Aufrufe
    GrizzelbeeG
    @apollon77 Hmmm. Okay. Das ist doof. Aber danke für die Antwort. In "meinem" Fall (Array von Objekten) dürfte das gar nicht mal so schwierig sein. Da hat man ja wieder Feldnamen, die man nutzen und vergleichen kann. "Reine" Arrays sind doof. Wobei man da eine "Metaschreibweise" nutzen könnte: ArrayIndex-n mit n=1, 2, 3, ... Aber: ja - das kann natürlich beliebig komplex werden. In solchen Situationen bin ich Pragmat: Ich löse erstmal die einfachen Fälle und warte ob überhaupt einer der komplexen auftritt. ;)
  • [gelöst] Speichern-Button inaktiv im Admin

    2
    1
    0 Stimmen
    2 Beiträge
    371 Aufrufe
    Q
    du könntest vielleicht mal beim fb-checkpresence adapter schauen. da kann man familienmitglieder eienr liste hinzufügen, bearbeiten und löschen. sieht aber etwas anders aus als bei dir.
  • Travis-CI nicht mehr kostenlos?

    4
    0 Stimmen
    4 Beiträge
    571 Aufrufe
    PLCHome 0P
    @fogg ich habe grade an Travis geschrieben, weil es bei mir nicht mehr läuft. Die Antwort war man mus einen Free Account "kaufen". Dieses scheint nur zu funktionieren, wenn man seine Kreditkarteninfo hinterlegt. Das finde ich unseriös, entweder biete ich etwas Free an oder ich will die Kreditkarte. Für mich ist der Laden gestorben.
  • (gelöst) Aufzählung der Netzwerk Interfaces - Konfig

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    531 Aufrufe
    kBrausewK
    @jey-cee fillSelectIPs() tut was es soll ... Perfekt
  • [gelöst] Keine Instanz nach Adapterinstallation

    7
    0 Stimmen
    7 Beiträge
    629 Aufrufe
    P
    @peter_n said in [gelöst] Keine Instanz nach Adapterinstallation: @thomas-braun OK Danke!

595

Online

32.9k

Benutzer

83.0k

Themen

1.3m

Beiträge