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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. (Gelöst) JS in Device (Alias) 2 Werte schreiben

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    250

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

(Gelöst) JS in Device (Alias) 2 Werte schreiben

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 99 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.
  • T Offline
    T Offline
    TomTL
    schrieb am zuletzt editiert von TomTL
    #1

    Hallo Zusammen,

    ich betreibe über TCP Modbus insgesamt 64 Kanäle. (Relay Treiber)

    740166b7-f279-4381-aeee-d245c8126f2e-image.png

    Um die Kanäle zu schalten ist es nötig ins Holding register des Objektes die HEX. Werte 0100 für Ein und 0200 für Aus zu schreiben.

    Im IOB Modubus Adapter funktioniert zwar nur DEC. aber auch gut

    Schreibe Wert (TX) 256 -> Relay Ein -> Rückmeldung (RX) = 1
    Schreibe Wert (TX) 512 - >Relay Aus -> Rückmeldung (TX) = 0

    d37ebe70-b8f7-4332-8165-9557b84f0430-image.png

    Meine Idee ist es sich für die Kanäle je einen Alias (Device Adapter) an zu legen. Was soweit auch alles reibungslos klappt.

    965748e8-6c2d-474d-ad77-aa47e24f27f4-image.png

    Beim editieren des Alias - Set wertes auf " val + 255 " oder auch nur " 256 " schaltet die Karte.
    Aber leider nur ein (logisch) -

    irgendwie bin ich zu blöd eine vernünftige IF Abfrage hin zu bekommen welche ich an stelle von "val + 255 " in den set wert schreibe, die in etwa so aussehen sollte.

    if ((obj.state ? obj.state.val : "") == 1)
    {(256);}
    else
    {(512);}

    geht das überhaupt das man dort eine IF Abfrage setzt ?

    Hat jemand eine Idee ?

    Schöne Grüße,
    Tom

    paul53P 1 Antwort Letzte Antwort
    0
    • T TomTL

      Hallo Zusammen,

      ich betreibe über TCP Modbus insgesamt 64 Kanäle. (Relay Treiber)

      740166b7-f279-4381-aeee-d245c8126f2e-image.png

      Um die Kanäle zu schalten ist es nötig ins Holding register des Objektes die HEX. Werte 0100 für Ein und 0200 für Aus zu schreiben.

      Im IOB Modubus Adapter funktioniert zwar nur DEC. aber auch gut

      Schreibe Wert (TX) 256 -> Relay Ein -> Rückmeldung (RX) = 1
      Schreibe Wert (TX) 512 - >Relay Aus -> Rückmeldung (TX) = 0

      d37ebe70-b8f7-4332-8165-9557b84f0430-image.png

      Meine Idee ist es sich für die Kanäle je einen Alias (Device Adapter) an zu legen. Was soweit auch alles reibungslos klappt.

      965748e8-6c2d-474d-ad77-aa47e24f27f4-image.png

      Beim editieren des Alias - Set wertes auf " val + 255 " oder auch nur " 256 " schaltet die Karte.
      Aber leider nur ein (logisch) -

      irgendwie bin ich zu blöd eine vernünftige IF Abfrage hin zu bekommen welche ich an stelle von "val + 255 " in den set wert schreibe, die in etwa so aussehen sollte.

      if ((obj.state ? obj.state.val : "") == 1)
      {(256);}
      else
      {(512);}

      geht das überhaupt das man dort eine IF Abfrage setzt ?

      Hat jemand eine Idee ?

      Schöne Grüße,
      Tom

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

      @tomtl

      Alias als "boolean":

      write: "val ? 256 : 512"
      

      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

      T 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @tomtl

        Alias als "boolean":

        write: "val ? 256 : 512"
        
        T Offline
        T Offline
        TomTL
        schrieb am zuletzt editiert von TomTL
        #3

        @paul53

        Perfekt es funktioniert
        Das ist ja der Hammer, ich hab seid 2 Tagen versucht das irgendwie sauber hin zu bekommen, von Datenpunkten setzen, skripts etc. Nix half.
        Ich war echt total demotiviert nach dem ich zig Tage investiert habe, um alleine die ganze Modbus Architektur zu verstehen, auf zu setzen, RS 485 <-> Ethernet <-> Io Broker... und dann an dem aller letzten Punkt zu verzweifeln.

        1000 DANK !!!!

        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

        473

        Online

        32.7k

        Benutzer

        82.5k

        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