Hop til indhold
  • 0

To spørgsmål: Homekit niveau 100 - tryk der ændrer IKEA outlet


krede21
 Share

Spørgsmål

Hej. Jeg har nu fået et lille IHC setup til at køre med Openhab2 og Homebridge openhab2-complete plugin. Jeg har dog to problemer

1) I Homekit gået lyset (dimmer) til 0, når jeg kører skyderen op på 100 i iOS 'Hjem' appen. Derudover fungerer setuppet udemærket.

2) Jeg kan ikke linke et IKEA trådfri outlet til en IHC kontakt ved at bruge 'channel' trigger short_press funktionen, men kun ved at bruge rules item rules, som er ret langsomme. Jeg har et håb om at channel trigger er hurtigere.

Problem 1)

.items fil

Switch Stue_switch  "Stue Kontakt"    { channel="ihc:controller:86367c6d:output25694" }
Dimmer Entre_dimmer  "Entre dimmer"    { channel="ihc:controller:86367c6d:output46941" }
Dimmer Stue_dimmer  "Stue dimmer"    { channel="ihc:controller:86367c6d:output42589" }
Dimmer Toilet_dimmer  "Toilet dimmer"    { channel="ihc:controller:86367c6d:output51293" }
Switch IKEAoutlet2  "IKEA 2"    { channel="tradfri:0010:gw449160316d03:65539:power" }
Switch IKEAoutlet3  "IKEA 3"    { channel="tradfri:0010:gw449160316d03:65540:power" }
Switch IKEAoutlet4  "IKEA 4"    { channel="tradfri:0010:gw449160316d03:65541:power" }

.sitemap

sitemap default label="Default sitemap"
{
    Dimmer item=Entre_dimmer label="Entre dimmer"
    Dimmer item=Stue_dimmer label="Stue dimmer"
    Dimmer item=Toilet_dimmer label="Toilet dimmer"
    Switch item=Stue_switch label="Stue kontakt"
    Switch item=IKEAoutlet2  label="IKEA 2"
    Switch item=IKEAoutlet3  label="IKEA 3"
    Switch item=IKEAoutlet4  label="IKEA 4"
}

 

Homebridge config.json fil

{
  "bridge": {
    "name": "openHAB2",
    "username": "CC:23:3D:E3:CE:30",
    "port": 51825,
    "pin": "031-45-154"
  },
  "accessories": [],
  "platforms": [
    {
      "platform": "openHAB2-Complete",
      "host": "192.168.0.29",
      "port": "8080",
      "accessories": [
        {
          "name": "Entre dimmer",
          "type": "light",
          "item": "Entre_dimmer"
        },
        {
          "name": "Stue Kontakt",
          "type": "light",
          "item": "Stue_switch"
        },
        {
          "name": "Stue Dimmer",
          "type": "light",
          "item": "Stue_dimmer"
        },
        {
          "name": "Toilet Dimmer",
          "type": "light",
          "item": "Toilet_dimmer"
        }
      ]
    }
  ]
}

 

Problem 2)

Den øverste regel fungerer (er dog kommenterer ud pt.), men er langsom (1-2 sek. forsinkelse) de to nederste fungerer ikke

 

//rule "Stue kontakt"
//when
    //Item Stue_switch changed
//then
    //if(Stue_switch.state == ON){IKEAoutlet2.sendCommand(ON)}{IKEAoutlet3.sendCommand(ON)} else {IKEAoutlet2.sendCommand(OFF)}{IKEAoutlet3.sendCommand(OFF)}
//end

rule "Stue taend"
when
  Channel 'ihc:controller:86367c6d:input41052' triggered SHORT_PRESS
then
  IKEAoutlet2.sendCommand(ON)
end

rule "Stue sluk"
when
  Channel 'ihc:controller:86367c6d:input41308' triggered SHORT_PRESS
then
  IKEAoutlet2.sendCommand(OFF)
end

 

 

 

 

Link til kommentar
Del på andre sites

5 svar på dette spørgsmål

Recommended Posts

  • 0

Måske @Pauli Anttila kan uddybe short_press

Men generelt lægger jeg så meget logik som muligt i IHC, og i dette tilfælde kort og langt tryk. Disse 2 kan genere status, som du kan tage ind i din Things definition. Især kort langt tryk er bedst at have tættest på controlleren for bedst stabilitet.

Link til kommentar
Del på andre sites

  • 0

Jeg kan ikke hjælpe så meget med problem 1, da jeg aner nada om homekit.

Mht problem 2 så har jeg aldrig prøvet det, så derfor er det nok bedst som Ejvind siger, at Pauli kan kommenterer det. Men måske det skyldes du ikke har brugt de rigtige " " i din trigger.. Se fx denne: (en xiaomi regel jeg tester med).
 

rule "Tænd lyset kontor"
when
    Channel "mihome:sensor_switch:158d0002016481:button" triggered SHORT_PRESSED
then
  kontor.sendCommand(ON)
end

rule "Doorbell"
when
   Channel "mihome:sensor_switch:158d0002016481:button" triggered DOUBLE_PRESSED
then
   sendCommand(SmartHomeGateway_SoundVolume, 3)
   sendCommand(SmartHomeGateway_SoundSelector, 10)
   Thread::sleep(5000) /* wait for 5 seconds */
   sendCommand(SmartHomeGateway_SoundSelector, 10000)
   sendCommand(SmartHomeGateway_SoundVolume, 0)
end

Bemærk " " i trigger linjen. 
I dine linjer ser det forkert ud.

Hvad angår den første regel i problem 2. Så forstår jeg ikke umiddelbart hvorfor den skulle være langsom. Mit bedste bud er, at det er fordi tradfri er langsom, hvis du sender to commands på samme tid til to forskellige enheder. Det er svært at gøre noget ved, hvis det er årsagen. 

Link til kommentar
Del på andre sites

  • 0

Tak, begge @EjvindHald og @Kandersen

 

@EjvindHald, kan du forklare mig hvordan du ville gøre det? Har lavet tæt på 0 logik med IHC. 

@Kandersen Brugen af ‘ ‘ er noget jeg har stjålet fra et eksempel Pauli postede herinde, så det burde være ok, men tester det lige. Ift. hastighed, så reagerer Trådfri instantant når man bruger PaperUI controller, derfor jeg mistænker at rule-flowet kunne være synderen. Uden at vide så meget om OpenHAB, vil jeg gætte på at Things opdaterer status hurtigere end Items, da de lægger tættere på hardwaren i hierakiet, men det kan selvfølgelig også være noget helt andet. 

Link til kommentar
Del på andre sites

  • 0

Brug funktionsblok 4.1.15 Kort-Lang tryk. Fra denne fb har du 2 udgange for hhv. kort og langt tryk, som du kan lade openHAB læse ind og du kan lave en rule hertil. Kort-lang er antal sekunder, du holder den inde og med ip trafik til din openHAB boks er netop denne funktion ikke stabil. Der kan midlertidig være andet på netværket eller din openHAB boks kan midlertidig være travlt med noget andet. Jeg anbefaler, at det laves i IHC controlleren i Visual.

Link til kommentar
Del på andre sites

  • 0

To be able to receive PRESSED, RELEASED, SHORT_PRESS, LONG_PRESS triggers, you need to introduce push-button-trigger channel. Channels can be added via PaperUI or via thing files.

 

Thing files example:

Type push-button-trigger   : my_test_trigger "My Test Trigger"         [ resourceId=3988827, longPressTime=1000 ]

Rule example:

rule "My test trigger test rule"
when
    Channel 'ihc:controller:elko:my_test_trigger' triggered SHORT_PRESS 
then
    logInfo("Test","Short press detected")
end

See more details from binding documentation and examples.

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette spørgsmål

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok