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. Blockly
  5. [gelöst] Switch in HomeKit Anzeige & Steuerung eines state

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    337

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

[gelöst] Switch in HomeKit Anzeige & Steuerung eines state

Geplant Angeheftet Gesperrt Verschoben Blockly
9 Beiträge 3 Kommentatoren 813 Aufrufe 2 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.
  • aXCellA Offline
    aXCellA Offline
    aXCell
    schrieb am zuletzt editiert von aXCell
    #1

    Re: [gelöst] Wechsel des Button Type - Shelly - Skript

    Das Skript läuft seit über einem Jahr (mehr oder weniger) einwandfrei, wenn...
    Da kommen wir zu meiner Frage.

    Dadurch, dass der entsprechende Shelly in meiner Garage über eine WLAN Brücke vom Skript gesteuert wird und diese Brücke auch ab und an (temporär) mal keine Verbindung hat (Hintergründe sind bekannt, ohne aber in einer Mietwohnung Netzwerkkabel durch mehrere Räume zu verlegen, vorerst nicht zu beseitigen), würde ich gerne einen Dummy Switch in meinem HomeKit (über YAHKA) haben, der mir den Status des "Button Type" vom Shelly optisch darstellt und zur Not auch durch Betätigung des Switches den entsprechenden State ändert.
    Da das Skript nur 2 mal täglich getriggert wird und wenn genau dann der Fehlerfall auftritt, ändert sich logischerweise der state nicht für den Rest des Tages.

    Der Shelly hat im state "Button Type" nur 2 für mich wichtige Werte, die ich über den Switch darstellen, aber auch bei einem Fehler, anpassen möchte.

    Also z.B. Switch ein = "active", Switch aus = "detached"

    Infos zum Shelly State:

    {
      "type": "state",
      "common": {
        "name": "Button Type",
        "type": "string",
        "role": "state",
        "read": true,
        "write": true,
        "states": {
          "momentary": "momentary",
          "toggle": "toggle",
          "edge": "edge",
          "detached": "detached",
          "action": "action",
          "cycle": "cycle",
          "momentary_on_release": "momentary_on_release"
        }
    

    Entscheidend sind hier nur die Werte "detached" und "action".
    Wie baut man sich so einen Switch, der die Werte sowohl anzeigt, bei Betätigung aber auch ändert?

    Ich bin gespannt auf euren Input.

    paul53P 1 Antwort Letzte Antwort
    0
    • aXCellA aXCell

      Re: [gelöst] Wechsel des Button Type - Shelly - Skript

      Das Skript läuft seit über einem Jahr (mehr oder weniger) einwandfrei, wenn...
      Da kommen wir zu meiner Frage.

      Dadurch, dass der entsprechende Shelly in meiner Garage über eine WLAN Brücke vom Skript gesteuert wird und diese Brücke auch ab und an (temporär) mal keine Verbindung hat (Hintergründe sind bekannt, ohne aber in einer Mietwohnung Netzwerkkabel durch mehrere Räume zu verlegen, vorerst nicht zu beseitigen), würde ich gerne einen Dummy Switch in meinem HomeKit (über YAHKA) haben, der mir den Status des "Button Type" vom Shelly optisch darstellt und zur Not auch durch Betätigung des Switches den entsprechenden State ändert.
      Da das Skript nur 2 mal täglich getriggert wird und wenn genau dann der Fehlerfall auftritt, ändert sich logischerweise der state nicht für den Rest des Tages.

      Der Shelly hat im state "Button Type" nur 2 für mich wichtige Werte, die ich über den Switch darstellen, aber auch bei einem Fehler, anpassen möchte.

      Also z.B. Switch ein = "active", Switch aus = "detached"

      Infos zum Shelly State:

      {
        "type": "state",
        "common": {
          "name": "Button Type",
          "type": "string",
          "role": "state",
          "read": true,
          "write": true,
          "states": {
            "momentary": "momentary",
            "toggle": "toggle",
            "edge": "edge",
            "detached": "detached",
            "action": "action",
            "cycle": "cycle",
            "momentary_on_release": "momentary_on_release"
          }
      

      Entscheidend sind hier nur die Werte "detached" und "action".
      Wie baut man sich so einen Switch, der die Werte sowohl anzeigt, bei Betätigung aber auch ändert?

      Ich bin gespannt auf euren Input.

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

      @axcell sagte: nur die Werte "detached" und "action".

      Erstelle einen Alias vom Typ "Logikwert" mit Lese- und Schreibkonvertierung:

      "read": "val == 'action'",
      "write": "val ? 'action' : 'detached'"
      

      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

      aXCellA 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @axcell sagte: nur die Werte "detached" und "action".

        Erstelle einen Alias vom Typ "Logikwert" mit Lese- und Schreibkonvertierung:

        "read": "val == 'action'",
        "write": "val ? 'action' : 'detached'"
        
        aXCellA Offline
        aXCellA Offline
        aXCell
        schrieb am zuletzt editiert von aXCell
        #3

        @paul53

        Hmmm, der Dummy Switch zeigt mir zwar jetzt gerade optisch den Status korrekt an, "action" ist aktiv, in den Alias Objekten steht aber nicht action oder detached, sondern "true" und wenn ich aber den Zustand des state entweder über den Schalter in Homekit oder über die Shelly App ändere, wird das "true" rot, der state ändert sich aber nicht am Shelly und der Schalter springt nach kurzer Zeit wieder auf die Stellung "An" quasi, also "action". Er wechselt den state nicht auf "detached"

        So sieht das Alias aus:

        {
          "common": {
            "alias": {
              "id": "shelly.0.SHSW-1#BCDDC277560B#1.Relay0.ButtonType"
            },
            "name": "Tag / Nacht",
            "role": "state",
            "type": "boolean",
            "read": "val == 'action'",
            "write": "val ? 'action' : 'detached'"
          },
          "native": {},
          "type": "state",
          "_id": "alias.0.Button Type.ButtonType",
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1690320176993
        }
        

        Ich bin mir sicher, das da sicher nur irgendwas banales verkehrt ist, mir aber das tiefere Wissen dazu fehlt, diese Banalität zu erkennen.

        // Edit:
        Ach und der Shelly Adapter meckert beim Versuch des manuellen umschaltens über den Dummy Switch:

        shelly.0
        	2023-07-25 23:28:27.245	error	[http controlFunction] Error in function state.coap.http_cmd of state SHSW-1#BCDDC277560B#1.Relay0.ButtonType for 192.168.178.47 (shelly1 / shelly1-BCDDC277560B / SHSW-1#BCDDC277560B#1): AxiosError: Request failed with status code 400
        
        paul53P T 2 Antworten Letzte Antwort
        0
        • aXCellA aXCell

          @paul53

          Hmmm, der Dummy Switch zeigt mir zwar jetzt gerade optisch den Status korrekt an, "action" ist aktiv, in den Alias Objekten steht aber nicht action oder detached, sondern "true" und wenn ich aber den Zustand des state entweder über den Schalter in Homekit oder über die Shelly App ändere, wird das "true" rot, der state ändert sich aber nicht am Shelly und der Schalter springt nach kurzer Zeit wieder auf die Stellung "An" quasi, also "action". Er wechselt den state nicht auf "detached"

          So sieht das Alias aus:

          {
            "common": {
              "alias": {
                "id": "shelly.0.SHSW-1#BCDDC277560B#1.Relay0.ButtonType"
              },
              "name": "Tag / Nacht",
              "role": "state",
              "type": "boolean",
              "read": "val == 'action'",
              "write": "val ? 'action' : 'detached'"
            },
            "native": {},
            "type": "state",
            "_id": "alias.0.Button Type.ButtonType",
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1690320176993
          }
          

          Ich bin mir sicher, das da sicher nur irgendwas banales verkehrt ist, mir aber das tiefere Wissen dazu fehlt, diese Banalität zu erkennen.

          // Edit:
          Ach und der Shelly Adapter meckert beim Versuch des manuellen umschaltens über den Dummy Switch:

          shelly.0
          	2023-07-25 23:28:27.245	error	[http controlFunction] Error in function state.coap.http_cmd of state SHSW-1#BCDDC277560B#1.Relay0.ButtonType for 192.168.178.47 (shelly1 / shelly1-BCDDC277560B / SHSW-1#BCDDC277560B#1): AxiosError: Request failed with status code 400
          
          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @aXCell sagte: So sieht das Alias aus:

          Richtig:

          {
            "common": {
              "alias": {
                "id": "shelly.0.SHSW-1#BCDDC277560B#1.Relay0.ButtonType",
                "read": "val == 'action'",
                "write": "val ? 'action' : 'detached'"
              },
              "name": "Tag / Nacht",
              "role": "switch",
              "type": "boolean",
              "read": true,
              "write": true
            },
          

          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
          • aXCellA aXCell

            @paul53

            Hmmm, der Dummy Switch zeigt mir zwar jetzt gerade optisch den Status korrekt an, "action" ist aktiv, in den Alias Objekten steht aber nicht action oder detached, sondern "true" und wenn ich aber den Zustand des state entweder über den Schalter in Homekit oder über die Shelly App ändere, wird das "true" rot, der state ändert sich aber nicht am Shelly und der Schalter springt nach kurzer Zeit wieder auf die Stellung "An" quasi, also "action". Er wechselt den state nicht auf "detached"

            So sieht das Alias aus:

            {
              "common": {
                "alias": {
                  "id": "shelly.0.SHSW-1#BCDDC277560B#1.Relay0.ButtonType"
                },
                "name": "Tag / Nacht",
                "role": "state",
                "type": "boolean",
                "read": "val == 'action'",
                "write": "val ? 'action' : 'detached'"
              },
              "native": {},
              "type": "state",
              "_id": "alias.0.Button Type.ButtonType",
              "from": "system.adapter.admin.0",
              "user": "system.user.admin",
              "ts": 1690320176993
            }
            

            Ich bin mir sicher, das da sicher nur irgendwas banales verkehrt ist, mir aber das tiefere Wissen dazu fehlt, diese Banalität zu erkennen.

            // Edit:
            Ach und der Shelly Adapter meckert beim Versuch des manuellen umschaltens über den Dummy Switch:

            shelly.0
            	2023-07-25 23:28:27.245	error	[http controlFunction] Error in function state.coap.http_cmd of state SHSW-1#BCDDC277560B#1.Relay0.ButtonType for 192.168.178.47 (shelly1 / shelly1-BCDDC277560B / SHSW-1#BCDDC277560B#1): AxiosError: Request failed with status code 400
            
            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von
            #5

            @axcell

            eine weitere möglichkeit wäre im Yahka bei dem Datenpunkt

            Bildschirmfoto 2023-07-26 um 01.51.59.png

            das von paul vorgeschlagene read write verhalten einzustellen also

            to homekit:
            return value == 'action'
            
            to iobroker:
            return value ? 'action' : 'detached'
            

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            aXCellA 1 Antwort Letzte Antwort
            1
            • T ticaki

              @axcell

              eine weitere möglichkeit wäre im Yahka bei dem Datenpunkt

              Bildschirmfoto 2023-07-26 um 01.51.59.png

              das von paul vorgeschlagene read write verhalten einzustellen also

              to homekit:
              return value == 'action'
              
              to iobroker:
              return value ? 'action' : 'detached'
              
              aXCellA Offline
              aXCellA Offline
              aXCell
              schrieb am zuletzt editiert von aXCell
              #6

              @ticaki
              Wenn ich das von dir vorgeschlagene nur in dem neu erstellten Dummy Switch eintrage, beendet YAHKA den Dienst mit folgender Meldung

              yahka.0
              	2023-07-27 21:47:05.190	error	Unexpected identifier
              yahka.0
              	2023-07-27 21:47:05.190	error	SyntaxError: Unexpected identifier at new Function (<anonymous>) at new TIoBrokerConversion_Script (/opt/iobroker/node_modules/iobroker.yahka/main.js:1666:29) at Object.functions_factory_1.conversionFactory.script (/opt/iobroker/node_modules/iobroker.yahka/main.js:1852:71) at Object.createConversionFunction (/opt/iobroker/node_modules/iobroker.yahka/main.js:1796:61) at TIOBrokerAdapter.CreateBinding (/opt/iobroker/node_modules/iobroker.yahka/main.js:3222:64) at YahkaServiceInitializer.initCharacteristic (/opt/iobroker/node_modules/iobroker.yahka/main.js:2996:57) at YahkaServiceInitializer.initService (/opt/iobroker/node_modules/iobroker.yahka/main.js:2959:18) at YahkaServiceInitializer.initServices (/opt/iobroker/node_modules/iobroker.yahka/main.js:2926:18) at THomeKitBridge.createDevice (/opt/iobroker/node_modules/iobroker.yahka/main.js:2540:33) at THomeKitBridge.init (/opt/iobroker/node_modules/iobroker.yahka/main.js:2467:40)
              yahka.0
              	2023-07-27 21:47:05.189	error	unhandled promise rejection: Unexpected identifier
              yahka.0
              	2023-07-27 21:47:05.189	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
              host.server
              	2023-07-27 21:46:34.721	error	instance system.adapter.yahka.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
              

              Irgendwas mache ich definitiv falsch... :-(

              Nachdem vorgestern auch mein ioBroker komplett abgeschmirt ist, hänge ich gerade auch schon wieder an der Hürde, vernünftig ein Alias zu erstellen.
              Scheinbar wieder alles über Nacht vergessen oder finde die Links nicht mehr :/

              T 1 Antwort Letzte Antwort
              0
              • aXCellA aXCell

                @ticaki
                Wenn ich das von dir vorgeschlagene nur in dem neu erstellten Dummy Switch eintrage, beendet YAHKA den Dienst mit folgender Meldung

                yahka.0
                	2023-07-27 21:47:05.190	error	Unexpected identifier
                yahka.0
                	2023-07-27 21:47:05.190	error	SyntaxError: Unexpected identifier at new Function (<anonymous>) at new TIoBrokerConversion_Script (/opt/iobroker/node_modules/iobroker.yahka/main.js:1666:29) at Object.functions_factory_1.conversionFactory.script (/opt/iobroker/node_modules/iobroker.yahka/main.js:1852:71) at Object.createConversionFunction (/opt/iobroker/node_modules/iobroker.yahka/main.js:1796:61) at TIOBrokerAdapter.CreateBinding (/opt/iobroker/node_modules/iobroker.yahka/main.js:3222:64) at YahkaServiceInitializer.initCharacteristic (/opt/iobroker/node_modules/iobroker.yahka/main.js:2996:57) at YahkaServiceInitializer.initService (/opt/iobroker/node_modules/iobroker.yahka/main.js:2959:18) at YahkaServiceInitializer.initServices (/opt/iobroker/node_modules/iobroker.yahka/main.js:2926:18) at THomeKitBridge.createDevice (/opt/iobroker/node_modules/iobroker.yahka/main.js:2540:33) at THomeKitBridge.init (/opt/iobroker/node_modules/iobroker.yahka/main.js:2467:40)
                yahka.0
                	2023-07-27 21:47:05.189	error	unhandled promise rejection: Unexpected identifier
                yahka.0
                	2023-07-27 21:47:05.189	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                host.server
                	2023-07-27 21:46:34.721	error	instance system.adapter.yahka.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                

                Irgendwas mache ich definitiv falsch... :-(

                Nachdem vorgestern auch mein ioBroker komplett abgeschmirt ist, hänge ich gerade auch schon wieder an der Hürde, vernünftig ein Alias zu erstellen.
                Scheinbar wieder alles über Nacht vergessen oder finde die Links nicht mehr :/

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von ticaki
                #7

                @axcell
                hast du auch iobroker.state und die richtigen Datenpunkt eingetragen? Ist nur ein Service in dem Dummyswitch?
                am besten machst du mal ein Bild davon.

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                aXCellA 1 Antwort Letzte Antwort
                1
                • T ticaki

                  @axcell
                  hast du auch iobroker.state und die richtigen Datenpunkt eingetragen? Ist nur ein Service in dem Dummyswitch?
                  am besten machst du mal ein Bild davon.

                  aXCellA Offline
                  aXCellA Offline
                  aXCell
                  schrieb am zuletzt editiert von
                  #8

                  @ticaki

                  tausend Dank, wie gesagt, ich bin dann doch wohl zu dumm oder unaufmerksam gewesen...

                  Ich habe to homekit: & to iobroker: mit kopiert und eingefügt.

                  Es klappt genauso, wie ich mir das vorgestellt habe, riesen Dankeschön!

                  T 1 Antwort Letzte Antwort
                  0
                  • aXCellA aXCell

                    @ticaki

                    tausend Dank, wie gesagt, ich bin dann doch wohl zu dumm oder unaufmerksam gewesen...

                    Ich habe to homekit: & to iobroker: mit kopiert und eingefügt.

                    Es klappt genauso, wie ich mir das vorgestellt habe, riesen Dankeschön!

                    T Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von ticaki
                    #9

                    @axcell sagte in Switch in HomeKit zur Anzeige und Steuerung eines state:

                    @ticaki

                    tausend Dank, wie gesagt, ich bin dann doch wohl zu dumm oder unaufmerksam gewesen...

                    Ich habe to homekit: & to iobroker: mit kopiert und eingefügt.

                    Es klappt genauso, wie ich mir das vorgestellt habe, riesen Dankeschön!

                    Bitte füge dem Topic ein [gelöst] hinzu.

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

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


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    722

                    Online

                    32.5k

                    Benutzer

                    81.7k

                    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